Home
last modified time | relevance | path

Searched full:pio (Results 1 – 25 of 1881) sorted by relevance

12345678910>>...76

/kernel/linux/linux-6.6/drivers/i3c/master/mipi-i3c-hci/
Dpio.c20 * PIO Access Area
141 struct hci_pio_data *pio; in hci_pio_init() local
144 pio = kzalloc(sizeof(*pio), GFP_KERNEL); in hci_pio_init()
145 if (!pio) in hci_pio_init()
148 hci->io_data = pio; in hci_pio_init()
149 spin_lock_init(&pio->lock); in hci_pio_init()
174 pio->rx_thresh_size = 2 << rx_thresh; in hci_pio_init()
175 pio->tx_thresh_size = 2 << tx_thresh; in hci_pio_init()
178 pio->rx_thresh_size = 1 << rx_thresh; in hci_pio_init()
179 pio->tx_thresh_size = 1 << tx_thresh; in hci_pio_init()
[all …]
/kernel/linux/linux-6.6/drivers/pinctrl/sunxi/
DKconfig15 bool "Support for the Allwinner A10, A20 and R40 PIO"
20 bool "Support for the Allwinner A10s, A13, R8 and NextThing GR8 PIO"
25 bool "Support for the Allwinner A31 PIO"
30 bool "Support for the Allwinner A31 R-PIO"
35 bool "Support for the Allwinner A23 PIO"
40 bool "Support for the Allwinner A33 PIO"
45 bool "Support for the Allwinner A83T PIO"
50 bool "Support for the Allwinner A83T R-PIO"
55 bool "Support for the Allwinner A23 and A33 R-PIO"
60 bool "Support for the Allwinner H3 PIO"
[all …]
/kernel/linux/linux-5.10/drivers/pinctrl/
Dpinctrl-at91.c38 int pioc_hwirq; /* PIO bank interrupt identifier on AIC */
39 int pioc_virq; /* PIO bank Linux virtual interrupt */
40 int pioc_idx; /* PIO bank index */
41 void __iomem *regbase; /* PIO bank virtual address */
171 enum at91_mux (*get_periph)(void __iomem *pio, unsigned mask);
172 void (*mux_A_periph)(void __iomem *pio, unsigned mask);
173 void (*mux_B_periph)(void __iomem *pio, unsigned mask);
174 void (*mux_C_periph)(void __iomem *pio, unsigned mask);
175 void (*mux_D_periph)(void __iomem *pio, unsigned mask);
176 bool (*get_deglitch)(void __iomem *pio, unsigned pin);
[all …]
Dpinctrl-u300.c248 PINCTRL_PIN(59, "PIO RF DATA1"),
249 PINCTRL_PIN(60, "PIO RF DATA0"),
257 PINCTRL_PIN(68, "PIO RF CTRL DATA"),
287 PINCTRL_PIN(98, "PIO DC ON"),
288 PINCTRL_PIN(99, "PIO ACC APP I2C DATA"),
289 PINCTRL_PIN(100, "PIO ACC APP I2C CLK"),
295 PINCTRL_PIN(105, "PIO APP I2C1 DATA"),
296 PINCTRL_PIN(106, "PIO APP I2C1 CLK"),
312 PINCTRL_PIN(122, "PIO APP PCM I2S1 DATA B"),
313 PINCTRL_PIN(123, "PIO APP PCM I2S1 DATA A"),
[all …]
/kernel/linux/linux-6.6/drivers/pinctrl/
Dpinctrl-at91.c42 * @pioc_hwirq: PIO bank interrupt identifier on AIC
43 * @pioc_virq: PIO bank Linux virtual interrupt
44 * @regbase: PIO bank virtual address
190 enum at91_mux (*get_periph)(void __iomem *pio, unsigned mask);
191 void (*mux_A_periph)(void __iomem *pio, unsigned mask);
192 void (*mux_B_periph)(void __iomem *pio, unsigned mask);
193 void (*mux_C_periph)(void __iomem *pio, unsigned mask);
194 void (*mux_D_periph)(void __iomem *pio, unsigned mask);
195 bool (*get_deglitch)(void __iomem *pio, unsigned pin);
196 void (*set_deglitch)(void __iomem *pio, unsigned mask, bool is_on);
[all …]
/kernel/linux/linux-5.10/drivers/pinctrl/sunxi/
DKconfig15 bool "Support for the Allwinner A10, A20 and R40 PIO"
20 bool "Support for the Allwinner A10s, A13, R8 and NextThing GR8 PIO"
25 bool "Support for the Allwinner A31 PIO"
30 bool "Support for the Allwinner A31 R-PIO"
36 bool "Support for the Allwinner A23 PIO"
41 bool "Support for the Allwinner A33 PIO"
46 bool "Support for the Allwinner A83T PIO"
51 bool "Support for the Allwinner A83T R-PIO"
56 bool "Support for the Allwinner A23 and A33 R-PIO"
62 bool "Support for the Allwinner H3 PIO"
[all …]
/kernel/linux/linux-6.6/drivers/net/wireless/broadcom/b43legacy/
Dpio.c6 PIO Transmission
14 #include "pio.h"
109 /* We use the upper 4 bits for the PIO in generate_cookie()
140 struct b43legacy_pio *pio = &dev->pio; in parse_cookie() local
146 queue = pio->queue0; in parse_cookie()
149 queue = pio->queue1; in parse_cookie()
152 queue = pio->queue2; in parse_cookie()
155 queue = pio->queue3; in parse_cookie()
226 b43legacywarn(queue->dev->wl, "PIO queue too small. " in pio_tx_packet()
343 b43legacyerr(dev->wl, "This card does not support PIO " in b43legacy_setup_pioqueue()
[all …]
DKconfig75 bool "DMA + PIO"
79 Include both, Direct Memory Access (DMA) and Programmed I/O (PIO)
81 the module parameter "pio". With pio=0 as a module parameter, the
82 default DMA is used, otherwise PIO is used.
91 This reduces the size of the driver module, by omitting the PIO code.
94 bool "PIO (Programmed I/O) only"
97 Only include Programmed I/O (PIO).
99 Please note that PIO transfers are slow (compared to DMA).
101 Also note that not all devices of the b43legacy series support PIO.
103 You should use PIO only if DMA does not work for you.
/kernel/linux/linux-5.10/drivers/net/wireless/broadcom/b43legacy/
Dpio.c6 PIO Transmission
14 #include "pio.h"
109 /* We use the upper 4 bits for the PIO in generate_cookie()
140 struct b43legacy_pio *pio = &dev->pio; in parse_cookie() local
146 queue = pio->queue0; in parse_cookie()
149 queue = pio->queue1; in parse_cookie()
152 queue = pio->queue2; in parse_cookie()
155 queue = pio->queue3; in parse_cookie()
226 b43legacywarn(queue->dev->wl, "PIO queue too small. " in pio_tx_packet()
343 b43legacyerr(dev->wl, "This card does not support PIO " in b43legacy_setup_pioqueue()
[all …]
DKconfig75 bool "DMA + PIO"
79 Include both, Direct Memory Access (DMA) and Programmed I/O (PIO)
81 the module parameter "pio". With pio=0 as a module parameter, the
82 default DMA is used, otherwise PIO is used.
91 This reduces the size of the driver module, by omitting the PIO code.
94 bool "PIO (Programmed I/O) only"
97 Only include Programmed I/O (PIO).
99 Please note that PIO transfers are slow (compared to DMA).
101 Also note that not all devices of the b43legacy series support PIO.
103 You should use PIO only if DMA does not work for you.
/kernel/linux/linux-5.10/drivers/net/wireless/broadcom/b43/
Dpio.c6 PIO data transfer
14 #include "pio.h"
30 * PIO controller ID and store the packet index number in generate_cookie()
48 struct b43_pio *pio = &dev->pio; in parse_cookie() local
54 q = pio->tx_queue_AC_BK; in parse_cookie()
57 q = pio->tx_queue_AC_BE; in parse_cookie()
60 q = pio->tx_queue_AC_VI; in parse_cookie()
63 q = pio->tx_queue_AC_VO; in parse_cookie()
66 q = pio->tx_queue_mcast; in parse_cookie()
172 /* Enable Direct FIFO RX (PIO) on the engine. */ in b43_setup_pioqueue_rx()
[all …]
/kernel/linux/linux-6.6/drivers/net/wireless/broadcom/b43/
Dpio.c6 PIO data transfer
14 #include "pio.h"
30 * PIO controller ID and store the packet index number in generate_cookie()
48 struct b43_pio *pio = &dev->pio; in parse_cookie() local
54 q = pio->tx_queue_AC_BK; in parse_cookie()
57 q = pio->tx_queue_AC_BE; in parse_cookie()
60 q = pio->tx_queue_AC_VI; in parse_cookie()
63 q = pio->tx_queue_AC_VO; in parse_cookie()
66 q = pio->tx_queue_mcast; in parse_cookie()
172 /* Enable Direct FIFO RX (PIO) on the engine. */ in b43_setup_pioqueue_rx()
[all …]
/kernel/linux/linux-6.6/drivers/ata/
Dpata_artop.c86 * artop6210_load_piomode - Load a set of PATA PIO timings
89 * @pio: PIO mode
91 * Set PIO mode for device, in host controller PCI config space. This
92 * is used both to set PIO timings in PIO mode and also to set the
93 * matching PIO clocking for UDMA, as well as the MWDMA timings.
99 static void artop6210_load_piomode(struct ata_port *ap, struct ata_device *adev, unsigned int pio) in artop6210_load_piomode() argument
108 /* Load the PIO timing active/recovery bits */ in artop6210_load_piomode()
109 pci_write_config_word(pdev, 0x40 + 2 * dn, timing[clock][pio]); in artop6210_load_piomode()
113 * artop6210_set_piomode - Initialize host controller PATA PIO timings
117 * Set PIO mode for device, in host controller PCI config space. For
[all …]
Dpata_cs5520.c8 * PIO mode and smarter silicon.
11 * drive for the right PIO mode. We must also ignore all the blacklists
13 * further we can do DMA on PIO only drives.
52 * cs5520_set_timings - program PIO timings
55 * @pio: PIO ID
57 * Program the PIO mode timings for the controller according to the pio
61 static void cs5520_set_timings(struct ata_port *ap, struct ata_device *adev, int pio) in cs5520_set_timings() argument
66 pio -= XFER_PIO_0; in cs5520_set_timings()
70 (cs5520_pio_clocks[pio].recovery << 4) | in cs5520_set_timings()
71 (cs5520_pio_clocks[pio].assert)); in cs5520_set_timings()
[all …]
Dpata_efar.c74 * efar_set_piomode - Initialize host controller PATA PIO timings
78 * Set PIO mode for device, in host controller PCI config space.
86 unsigned int pio = adev->pio_mode - XFER_PIO_0; in efar_set_piomode() local
106 if (pio > 1) in efar_set_piomode()
108 if (ata_pio_need_iordy(adev)) /* PIO 3/4 require IORDY */ in efar_set_piomode()
122 master_data |= (timings[pio][0] << 12) | in efar_set_piomode()
123 (timings[pio][1] << 8); in efar_set_piomode()
134 slave_data |= ((timings[pio][0] << 2) | timings[pio][1]) << shift; in efar_set_piomode()
193 * MWDMA is driven by the PIO timings. We must also enable in efar_set_dmamode()
195 * been set when the PIO timing was set. in efar_set_dmamode()
[all …]
/kernel/linux/linux-5.10/drivers/ata/
Dpata_artop.c86 * artop6210_load_piomode - Load a set of PATA PIO timings
89 * @pio: PIO mode
91 * Set PIO mode for device, in host controller PCI config space. This
92 * is used both to set PIO timings in PIO mode and also to set the
93 * matching PIO clocking for UDMA, as well as the MWDMA timings.
99 static void artop6210_load_piomode(struct ata_port *ap, struct ata_device *adev, unsigned int pio) in artop6210_load_piomode() argument
108 /* Load the PIO timing active/recovery bits */ in artop6210_load_piomode()
109 pci_write_config_word(pdev, 0x40 + 2 * dn, timing[clock][pio]); in artop6210_load_piomode()
113 * artop6210_set_piomode - Initialize host controller PATA PIO timings
117 * Set PIO mode for device, in host controller PCI config space. For
[all …]
Dpata_efar.c74 * efar_set_piomode - Initialize host controller PATA PIO timings
78 * Set PIO mode for device, in host controller PCI config space.
86 unsigned int pio = adev->pio_mode - XFER_PIO_0; in efar_set_piomode() local
106 if (pio > 1) in efar_set_piomode()
108 if (ata_pio_need_iordy(adev)) /* PIO 3/4 require IORDY */ in efar_set_piomode()
122 master_data |= (timings[pio][0] << 12) | in efar_set_piomode()
123 (timings[pio][1] << 8); in efar_set_piomode()
134 slave_data |= ((timings[pio][0] << 2) | timings[pio][1]) << shift; in efar_set_piomode()
193 * MWDMA is driven by the PIO timings. We must also enable in efar_set_dmamode()
195 * been set when the PIO timing was set. in efar_set_dmamode()
[all …]
Dpata_it8213.c65 * it8213_set_piomode - Initialize host controller PATA PIO timings
69 * Set PIO mode for device, in host controller PCI config space.
77 unsigned int pio = adev->pio_mode - XFER_PIO_0; in it8213_set_piomode() local
95 if (pio > 1) in it8213_set_piomode()
97 if (ata_pio_need_iordy(adev)) /* PIO 3/4 require IORDY */ in it8213_set_piomode()
109 master_data |= (timings[pio][0] << 12) | in it8213_set_piomode()
110 (timings[pio][1] << 8); in it8213_set_piomode()
120 slave_data |= (timings[pio][0] << 2) | timings[pio][1]; in it8213_set_piomode()
188 * MWDMA is driven by the PIO timings. We must also enable in it8213_set_dmamode()
190 * been set when the PIO timing was set. in it8213_set_dmamode()
[all …]
/kernel/linux/linux-6.6/arch/arm/boot/dts/allwinner/
Dsun4i-a10-inet9f-rev03.dts71 gpios = <&pio 0 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA6 */
79 gpios = <&pio 0 5 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA5 */
87 gpios = <&pio 0 8 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA8 */
95 gpios = <&pio 0 9 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA9 */
103 gpios = <&pio 0 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA1 */
111 gpios = <&pio 0 0 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA0 */
119 gpios = <&pio 0 3 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA3 */
127 gpios = <&pio 0 4 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA4 */
135 gpios = <&pio 7 23 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PH23 */
143 gpios = <&pio 7 24 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PH24 */
[all …]
/kernel/linux/linux-5.10/arch/arm/boot/dts/
Dsun4i-a10-inet9f-rev03.dts71 gpios = <&pio 0 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA6 */
79 gpios = <&pio 0 5 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA5 */
87 gpios = <&pio 0 8 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA8 */
95 gpios = <&pio 0 9 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA9 */
103 gpios = <&pio 0 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA1 */
111 gpios = <&pio 0 0 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA0 */
119 gpios = <&pio 0 3 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA3 */
127 gpios = <&pio 0 4 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA4 */
135 gpios = <&pio 7 23 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PH23 */
143 gpios = <&pio 7 24 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PH24 */
[all …]
/kernel/linux/linux-5.10/arch/mips/sgi-ip27/
Dip27-hubio.c6 * Support functions for the HUB ASIC - mostly PIO mapping related.
22 * hub_pio_map - establish a HUB PIO mapping
24 * @hub: hub to perform PIO mapping on
25 * @widget: widget ID to perform PIO mapping for
27 * @size: size of the PIO mapping
40 printk(KERN_WARNING "PIO mapping at hub %d widget %d addr 0x%lx" in hub_pio_map()
52 * The code below does a PIO write to setup an ITTE entry. in hub_pio_map()
57 * attempt a PIO prematurely. in hub_pio_map()
60 * received by the hub and can be used by future PIO reads/ in hub_pio_map()
63 * For these two reasons, we PIO read back the ITTE entry in hub_pio_map()
[all …]
/kernel/linux/linux-6.6/arch/mips/sgi-ip27/
Dip27-hubio.c6 * Support functions for the HUB ASIC - mostly PIO mapping related.
22 * hub_pio_map - establish a HUB PIO mapping
24 * @hub: hub to perform PIO mapping on
25 * @widget: widget ID to perform PIO mapping for
27 * @size: size of the PIO mapping
40 printk(KERN_WARNING "PIO mapping at hub %d widget %d addr 0x%lx" in hub_pio_map()
52 * The code below does a PIO write to setup an ITTE entry. in hub_pio_map()
57 * attempt a PIO prematurely. in hub_pio_map()
60 * received by the hub and can be used by future PIO reads/ in hub_pio_map()
63 * For these two reasons, we PIO read back the ITTE entry in hub_pio_map()
[all …]
/kernel/linux/linux-5.10/lib/
Dlogic_pio.c9 #define pr_fmt(fmt) "LOGIC PIO: " fmt
27 * logic_pio_register_range - register logical PIO range for a host
107 * logic_pio_unregister_range - unregister a logical PIO range for a host
121 * find_io_range_by_fwnode - find logical PIO range for given FW node
122 * @fwnode: FW node handle associated with logical PIO range
144 /* Return a registered range given an input PIO token */
145 static struct logic_pio_hwaddr *find_io_range(unsigned long pio) in find_io_range() argument
151 if (in_range(pio, range->io_start, range->size)) { in find_io_range()
159 pr_err("PIO entry token 0x%lx invalid\n", pio); in find_io_range()
165 * logic_pio_to_hwaddr - translate logical PIO to HW address
[all …]
/kernel/linux/linux-6.6/lib/
Dlogic_pio.c9 #define pr_fmt(fmt) "LOGIC PIO: " fmt
24 * logic_pio_register_range - register logical PIO range for a host
104 * logic_pio_unregister_range - unregister a logical PIO range for a host
118 * find_io_range_by_fwnode - find logical PIO range for given FW node
119 * @fwnode: FW node handle associated with logical PIO range
141 /* Return a registered range given an input PIO token */
142 static struct logic_pio_hwaddr *find_io_range(unsigned long pio) in find_io_range() argument
148 if (in_range(pio, range->io_start, range->size)) { in find_io_range()
156 pr_err("PIO entry token 0x%lx invalid\n", pio); in find_io_range()
162 * logic_pio_to_hwaddr - translate logical PIO to HW address
[all …]
/kernel/linux/linux-5.10/drivers/ide/
Dide-xfer-mode.c42 s = "PIO SLOW"; in ide_xfer_verbose()
51 * ide_get_best_pio_mode - get PIO mode from drive
56 * This routine returns the recommended PIO settings for a given drive,
59 * Drive PIO mode is auto-selected if 255 is passed as mode_wanted.
75 printk(KERN_INFO "%s: is on PIO blacklist\n", drive->name); in ide_get_best_pio_mode()
111 int ide_pio_need_iordy(ide_drive_t *drive, const u8 pio) in ide_pio_need_iordy() argument
117 if (pio == 0 && (drive->hwif->port_flags & IDE_PFLAG_PROBING)) in ide_pio_need_iordy()
119 return ata_id_pio_need_iordy(drive->id, pio); in ide_pio_need_iordy()
187 u8 host_pio, pio; in ide_set_pio() local
197 pio = ide_get_best_pio_mode(drive, req_pio, host_pio); in ide_set_pio()
[all …]

12345678910>>...76