Home
last modified time | relevance | path

Searched full:sdio (Results 1 – 25 of 859) sorted by relevance

12345678910>>...35

/linux-6.12.1/fs/
Ddirect-io.c158 static inline unsigned dio_pages_present(struct dio_submit *sdio) in dio_pages_present() argument
160 return sdio->tail - sdio->head; in dio_pages_present()
166 static inline int dio_refill_pages(struct dio *dio, struct dio_submit *sdio) in dio_refill_pages() argument
172 ret = iov_iter_extract_pages(sdio->iter, &pages, LONG_MAX, in dio_refill_pages()
173 DIO_PAGES, 0, &sdio->from); in dio_refill_pages()
175 if (ret < 0 && sdio->blocks_available && dio_op == REQ_OP_WRITE) { in dio_refill_pages()
184 sdio->head = 0; in dio_refill_pages()
185 sdio->tail = 1; in dio_refill_pages()
186 sdio->from = 0; in dio_refill_pages()
187 sdio->to = PAGE_SIZE; in dio_refill_pages()
[all …]
/linux-6.12.1/drivers/net/wireless/mediatek/mt76/
Dsdio_txrx.c18 #include "sdio.h"
37 struct mt76_sdio *sdio = &dev->sdio; in mt76s_refill_sched_quota() local
48 sdio->sched.pse_mcu_quota += pse_mcu_quota; in mt76s_refill_sched_quota()
49 sdio->sched.pse_data_quota += pse_data_quota; in mt76s_refill_sched_quota()
50 sdio->sched.ple_data_quota += ple_data_quota; in mt76s_refill_sched_quota()
85 struct mt76_sdio *sdio = &dev->sdio; in mt76s_rx_run_queue() local
96 if (len > sdio->func->cur_blksize) in mt76s_rx_run_queue()
97 len = roundup(len, sdio->func->cur_blksize); in mt76s_rx_run_queue()
105 sdio_claim_host(sdio->func); in mt76s_rx_run_queue()
106 err = sdio_readsb(sdio->func, buf, MCR_WRDR(qid), len); in mt76s_rx_run_queue()
[all …]
Dsdio.c21 #include "sdio.h"
25 return sdio_readl(dev->sdio.func, MCR_WHISR, NULL); in mt76s_read_whisr()
30 struct mt76_sdio *sdio = &dev->sdio; in mt76s_read_pcr() local
32 return sdio_readl(sdio->func, MCR_WHLPCR, NULL); in mt76s_read_pcr()
38 struct sdio_func *func = dev->sdio.func; in mt76s_read_mailbox()
93 struct sdio_func *func = dev->sdio.func; in mt76s_write_mailbox()
231 dev->sdio.hw_ver = hw_ver; in mt76s_hw_init()
410 struct mt76_sdio *sdio = container_of(w, struct mt76_sdio, in mt76s_net_worker() local
412 struct mt76_dev *dev = container_of(sdio, struct mt76_dev, sdio); in mt76s_net_worker()
463 struct mt76_sdio *sdio = container_of(w, struct mt76_sdio, in mt76s_status_worker() local
[all …]
/linux-6.12.1/drivers/net/wireless/mediatek/mt76/mt7921/
Dsdio_mac.c8 #include "../sdio.h"
12 struct mt76_sdio *sdio = &dev->sdio; in mt7921s_enable_irq() local
14 sdio_claim_host(sdio->func); in mt7921s_enable_irq()
15 sdio_writel(sdio->func, WHLPCR_INT_EN_SET, MCR_WHLPCR, NULL); in mt7921s_enable_irq()
16 sdio_release_host(sdio->func); in mt7921s_enable_irq()
21 struct mt76_sdio *sdio = &dev->sdio; in mt7921s_disable_irq() local
23 sdio_claim_host(sdio->func); in mt7921s_disable_irq()
24 sdio_writel(sdio->func, WHLPCR_INT_EN_CLR, MCR_WHLPCR, NULL); in mt7921s_disable_irq()
25 sdio_release_host(sdio->func); in mt7921s_disable_irq()
30 return sdio_readl(dev->sdio.func, MCR_WHCR, NULL); in mt7921s_read_whcr()
[all …]
Dsdio.c15 #include "../sdio.h"
27 struct mt76_sdio *sdio = container_of(w, struct mt76_sdio, in mt7921s_txrx_worker() local
29 struct mt76_dev *mdev = container_of(sdio, struct mt76_dev, sdio); in mt7921s_txrx_worker()
37 mt76s_txrx_worker(sdio); in mt7921s_txrx_worker()
59 struct mt76_sdio *sdio = &dev->sdio; in mt7921s_parse_intr() local
60 struct mt7921_sdio_intr *irq_data = sdio->intr_data; in mt7921s_parse_intr()
63 sdio_claim_host(sdio->func); in mt7921s_parse_intr()
64 err = sdio_readsb(sdio->func, irq_data, MCR_WHISR, sizeof(*irq_data)); in mt7921s_parse_intr()
65 sdio_release_host(sdio->func); in mt7921s_parse_intr()
157 mdev->sdio.parse_irq = mt7921s_parse_intr; in mt7921s_probe()
[all …]
Dsdio_mcu.c10 #include "../sdio.h"
26 * blocked by mt792x_mac_work that is excuting register access via sdio in mt7921s_mcu_send_message()
56 struct mt76_sdio *sdio = &dev->mt76.sdio; in mt7921s_read_rm3r() local
58 return sdio_readl(sdio->func, MCR_D2HRM3R, NULL); in mt7921s_read_rm3r()
63 struct mt76_sdio *sdio = &dev->mt76.sdio; in mt7921s_clear_rm3r_drv_own() local
66 val = sdio_readl(sdio->func, MCR_D2HRM3R, NULL); in mt7921s_clear_rm3r_drv_own()
68 sdio_writel(sdio->func, H2D_SW_INT_CLEAR_MAILBOX_ACK, in mt7921s_clear_rm3r_drv_own()
102 struct sdio_func *func = dev->mt76.sdio.func; in mt7921s_mcu_drv_pmctrl()
138 struct sdio_func *func = dev->mt76.sdio.func; in mt7921s_mcu_fw_pmctrl()
/linux-6.12.1/drivers/mmc/core/
Dsdio_io.c12 #include <linux/mmc/sdio.h>
21 * sdio_claim_host - exclusively claim a bus for a certain SDIO function
22 * @func: SDIO function that will be accessed
24 * Claim a bus for a set of operations. The SDIO function given
37 * sdio_release_host - release a bus for a certain SDIO function
38 * @func: SDIO function that was accessed
53 * sdio_enable_func - enables a SDIO function for usage
54 * @func: SDIO function to enable
56 * Powers up and activates a SDIO function so that register
68 pr_debug("SDIO: Enabling device %s...\n", sdio_func_id(func)); in sdio_enable_func()
[all …]
Dsdio_irq.c23 #include <linux/mmc/sdio.h>
66 /* Don't process SDIO IRQs if the card is suspended. */ in process_sdio_pending_irqs()
148 * We want to allow for SDIO cards to work even on non SDIO in sdio_irq_thread()
149 * aware hosts. One thing that non SDIO host cannot do is in sdio_irq_thread()
150 * asynchronous notification of pending SDIO card interrupts in sdio_irq_thread()
169 * Just like traditional hard IRQ handlers, we expect SDIO in sdio_irq_thread()
290 * sdio_claim_irq - claim the IRQ for a SDIO function
291 * @func: SDIO function
294 * Claim and activate the IRQ for the given SDIO function. The provided
307 pr_debug("SDIO: Enabling IRQ for %s...\n", sdio_func_id(func)); in sdio_claim_irq()
[all …]
/linux-6.12.1/drivers/mmc/host/
Dtoshsd.h37 #define SD_CMD 0x00 /* also for SDIO */
38 #define SD_ARG0 0x04 /* also for SDIO */
39 #define SD_ARG1 0x06 /* also for SDIO */
41 #define SD_BLOCKCOUNT 0x0a /* also for SDIO */
42 #define SD_RESPONSE0 0x0c /* also for SDIO */
43 #define SD_RESPONSE1 0x0e /* also for SDIO */
44 #define SD_RESPONSE2 0x10 /* also for SDIO */
45 #define SD_RESPONSE3 0x12 /* also for SDIO */
46 #define SD_RESPONSE4 0x14 /* also for SDIO */
47 #define SD_RESPONSE5 0x16 /* also for SDIO */
[all …]
DKconfig6 comment "MMC/SD/SDIO Host Controller Drivers"
261 The controller supports SD/MMC/SDIO devices.
268 tristate "SDHCI support for the Cadence SD/SDIO/eMMC controller"
273 This selects the Cadence SD/SDIO/eMMC driver.
414 Needed by some Fujitsu SoC for MMC / SD / SDIO support.
425 Needed by Milbeaut SoC for MMC / SD / SDIO support.
460 MMC 5.1 compliant and supports SD, eMMC and SDIO interfaces.
472 The controller supports the SD/SDIO Spec 3.x and eMMC Spec 4.5x
579 SD/MMC/SDIO devices.
621 tristate "Marvell MMC/SD/SDIO host driver"
[all …]
/linux-6.12.1/drivers/net/wireless/broadcom/b43/
Dsdio.c5 * SDIO over Sonics Silicon Backplane bus glue for b43.
18 #include "sdio.h"
51 struct b43_sdio *sdio = sdio_get_drvdata(func); in b43_sdio_interrupt_dispatcher() local
52 struct b43_wldev *dev = sdio->irq_handler_opaque; in b43_sdio_interrupt_dispatcher()
58 sdio->irq_handler(dev); in b43_sdio_interrupt_dispatcher()
67 struct b43_sdio *sdio = sdio_get_drvdata(func); in b43_sdio_request_irq() local
70 sdio->irq_handler_opaque = dev; in b43_sdio_request_irq()
71 sdio->irq_handler = handler; in b43_sdio_request_irq()
83 struct b43_sdio *sdio = sdio_get_drvdata(func); in b43_sdio_free_irq() local
88 sdio->irq_handler_opaque = NULL; in b43_sdio_free_irq()
[all …]
/linux-6.12.1/drivers/net/wireless/mediatek/mt76/mt7615/
Dsdio.c17 #include "../sdio.h"
29 struct mt76_sdio *sdio = container_of(w, struct mt76_sdio, in mt7663s_txrx_worker() local
31 struct mt76_dev *mdev = container_of(sdio, struct mt76_dev, sdio); in mt7663s_txrx_worker()
38 mt76s_txrx_worker(sdio); in mt7663s_txrx_worker()
55 struct mt76_sdio *sdio = &dev->sdio; in mt7663s_parse_intr() local
56 struct mt7663s_intr *irq_data = sdio->intr_data; in mt7663s_parse_intr()
59 sdio_claim_host(sdio->func); in mt7663s_parse_intr()
60 err = sdio_readsb(sdio->func, irq_data, MCR_WHISR, sizeof(*irq_data)); in mt7663s_parse_intr()
61 sdio_release_host(sdio->func); in mt7663s_parse_intr()
135 mdev->sdio.parse_irq = mt7663s_parse_intr; in mt7663s_probe()
[all …]
Dsdio_mcu.c13 #include "../sdio.h"
21 struct mt76_sdio *sdio = &dev->mt76.sdio; in mt7663s_mcu_init_sched() local
24 sdio->sched.pse_data_quota = mt76_get_field(dev, MT_PSE_PG_HIF0_GROUP, in mt7663s_mcu_init_sched()
26 sdio->sched.pse_mcu_quota = mt76_get_field(dev, MT_PSE_PG_HIF1_GROUP, in mt7663s_mcu_init_sched()
28 sdio->sched.ple_data_quota = mt76_get_field(dev, MT_PLE_PG_HIF0_GROUP, in mt7663s_mcu_init_sched()
30 sdio->sched.pse_page_size = MT_PSE_PAGE_SZ; in mt7663s_mcu_init_sched()
33 sdio->sched.deficit = txdwcnt << 2; in mt7663s_mcu_init_sched()
57 struct sdio_func *func = dev->mt76.sdio.func; in __mt7663s_mcu_drv_pmctrl()
100 struct sdio_func *func = dev->mt76.sdio.func; in mt7663s_mcu_fw_pmctrl()
/linux-6.12.1/drivers/pinctrl/mvebu/
Dpinctrl-armada-ap806.c23 MPP_FUNCTION(1, "sdio", "clk"),
27 MPP_FUNCTION(1, "sdio", "cmd"),
31 MPP_FUNCTION(1, "sdio", "d0"),
35 MPP_FUNCTION(1, "sdio", "d1"),
39 MPP_FUNCTION(1, "sdio", "d2"),
43 MPP_FUNCTION(1, "sdio", "d3"),
47 MPP_FUNCTION(1, "sdio", "ds")),
50 MPP_FUNCTION(1, "sdio", "d4"),
54 MPP_FUNCTION(1, "sdio", "d5"),
58 MPP_FUNCTION(1, "sdio", "d6"),
[all …]
/linux-6.12.1/drivers/net/wireless/microchip/wilc1000/
DKconfig6 This provides Wi-FI over an SDIO or SPI interface, and
12 tristate "Atmel WILC1000 SDIO (WiFi only)"
16 This module adds support for the SDIO interface of adapters using
17 WILC1000 chipset. The Atmel WILC1000 SDIO is a full speed interface.
18 It meets SDIO card specification version 2.0. The interface supports
23 this if your platform is using the SDIO bus.
46 mechanism for SDIO host controllers that don't support SDIO interrupt.
47 Select this option If the SDIO host controller in your platform
48 doesn't support SDIO time division interrupt.
/linux-6.12.1/drivers/net/wireless/broadcom/brcm80211/brcmfmac/
Dbcmsdh.c5 /* ****************** SDIO CARD Interface Functions **************************/
15 #include <linux/mmc/sdio.h>
36 #include "sdio.h"
65 struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv.sdio; in brcmf_sdiod_oob_irqhandler()
85 struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv.sdio; in brcmf_sdiod_ib_irqhandler()
92 /* dummy handler for SDIO function 2 interrupt */
104 pdata = &sdiodev->settings->bus.sdio; in brcmf_sdiod_intr_register()
106 brcmf_dbg(SDIO, "Enter, register OOB IRQ %d\n", in brcmf_sdiod_intr_register()
130 /* assign GPIO to SDIO core */ in brcmf_sdiod_intr_register()
157 brcmf_dbg(SDIO, "Entering\n"); in brcmf_sdiod_intr_register()
[all …]
/linux-6.12.1/drivers/net/wireless/realtek/rtw88/
DKconfig58 tristate "Realtek 8822BS SDIO wireless network adapter"
66 802.11ac SDIO wireless network adapter
91 tristate "Realtek 8822CS SDIO wireless network adapter"
99 802.11ac SDIO wireless network adapter
124 tristate "Realtek 8723DS SDIO wireless network adapter"
132 802.11n SDIO wireless network adapter
135 tristate "Realtek 8723CS SDIO wireless network adapter"
143 This module adds support for the 8723CS 802.11n SDIO
171 tristate "Realtek 8821CS SDIO wireless network adapter"
179 802.11ac SDIO wireless network adapter
Dsdio.h23 /* SDIO Tx Control */
26 /*SDIO status timeout*/
29 /* SDIO Host Interrupt Mask */
51 /* the following two are RTL8188 SDIO Specific */
55 /* SDIO Host Interrupt Service Routine */
77 /* the following two are RTL8188 SDIO Specific */
106 /* SDIO HCI Suspend Control */
110 /* SDIO Host Extension Interrupt Mask Always */
112 /* SDIO Host Extension Interrupt Status Always */
123 /* Sdio Address for SDIO Local Reg, TRX FIFO, MAC Reg */
/linux-6.12.1/Documentation/devicetree/bindings/arm/marvell/
Dcp110-system-controller.txt40 - 0 5 SDIO core
46 - 1 4 SDIO
123 … mii(txerr), mss_spi(miso), tdm(drx), au(i2sextclk), au(i2sdi), ge(mdio), sdio(v18_en), pcie1(clkr…
124 mpp33 33 gpio, mii(txclk), sdio(pwr10), mss_spi(csn), tdm(fsync), au(i2smclk), sdio(bus_pwr), xg(md…
125 mpp34 34 gpio, mii(rxerr), sdio(pwr11), mss_spi(mosi), tdm(dtx), au(i2slrclk), sdio(wr_protect), ge…
126 mpp35 35 gpio, sata1(present_act), i2c1(sda), mss_spi(clk), tdm(pclk), au(i2sdo_spdifo), sdio(card_…
130 mpp39 39 gpio, sdio(wr_protect), au(i2sbclk), ptp(clk), spi0(csn1), sata1(present_act), mss_gpio0
131 mpp40 40 gpio, sdio(pwr11), synce1(clk), mss_i2c(sda), au(i2sdo_spdifo), ptp(pclk_out), spi0(clk), …
132 mpp41 41 gpio, sdio(pwr10), sdio(bus_pwr), mss_i2c(sck), au(i2slrclk), ptp(pulse), spi0(mosi), uart…
133 mpp42 42 gpio, sdio(v18_en), sdio(wr_protect), synce2(clk), au(i2smclk), mss_uart(txd), spi0(miso),…
[all …]
Dap80x-system-controller.txt51 mpp0 0 gpio, sdio(clk), spi0(clk)
52 mpp1 1 gpio, sdio(cmd), spi0(miso)
53 mpp2 2 gpio, sdio(d0), spi0(mosi)
54 mpp3 3 gpio, sdio(d1), spi0(cs0n)
55 mpp4 4 gpio, sdio(d2), i2c0(sda)
56 mpp5 5 gpio, sdio(d3), i2c0(sdk)
57 mpp6 6 gpio, sdio(ds)
58 mpp7 7 gpio, sdio(d4), uart1(rxd)
59 mpp8 8 gpio, sdio(d5), uart1(txd)
60 mpp9 9 gpio, sdio(d6), spi0(cs1n)
[all …]
/linux-6.12.1/Documentation/devicetree/bindings/pinctrl/
Dmarvell,kirkwood-pinctrl.txt39 mpp12 12 gpo, sdio(clk)
40 mpp13 13 gpio, sdio(cmd), uart1(txd)
41 mpp14 14 gpio, sdio(d0), uart1(rxd), mii(col)
42 mpp15 15 gpio, sdio(d1), uart0(rts), uart1(txd)
43 mpp16 16 gpio, sdio(d2), uart0(cts), uart1(rxd), mii(crs)
44 mpp17 17 gpio, sdio(d3)
77 mpp12 12 gpo, sdio(clk)
78 mpp13 13 gpio, sdio(cmd), uart1(txd)
79 mpp14 14 gpio, sdio(d0), uart1(rxd), mii(col)
80 mpp15 15 gpio, sdio(d1), uart0(rts), uart1(txd), sata0(act)
[all …]
Dloongson,ls2k-pinctrl.yaml42 enum: [gpio, sdio, can1, can0, pwm3, pwm2, pwm1, pwm0, i2c1, i2c0,
47 enum: [gpio, sdio, can1, can0, pwm3, pwm2, pwm1, pwm0, i2c1, i2c0,
65 sdio_pins_default: sdio-pins {
66 sdio-pinmux {
67 groups = "sdio";
68 function = "sdio";
71 sdio-det-pinmux {
/linux-6.12.1/include/linux/platform_data/
Dbrcmfmac.h48 * enum brcmf_bus_type - Bus type identifier. Currently SDIO, USB and PCIE are
59 * struct brcmfmac_sdio_pd - SDIO Device specific platform data.
61 * @txglomsz: SDIO txglom size. Use 0 if default of driver is to be
63 * @drive_strength: is the preferred drive_strength to be used for the SDIO
68 * @oob_irq_supported: does the board have support for OOB interrupts. SDIO
77 * @broken_sg_support: flag for broken sg list support of SDIO host controller.
78 * Set this to true if the SDIO host controller has higher
85 * case of SDIO type devices. It is possible to reset a
86 * dongle via sdio data interface, but it requires that
135 * @id: ID of the device for which this data is. In case of SDIO
[all …]
/linux-6.12.1/Documentation/devicetree/bindings/mmc/
Damlogic,meson-mx-sdio.txt1 * Amlogic Meson6, Meson8 and Meson8b SDIO/MMC controller
4 for MMC, SD, SDIO and SDHC types of memory cards.
14 - "amlogic,meson8-sdio"
15 - "amlogic,meson8b-sdio"
16 along with the generic "amlogic,meson-mx-sdio"
40 compatible = "amlogic,meson8-sdio", "amlogic,meson-mx-sdio";
/linux-6.12.1/Documentation/devicetree/bindings/clock/
Dmvebu-gated-clock.txt21 17 sdio SDHCI Host
40 17 sdio SDHCI Host
72 17 sdio SDIO
91 17 sdio SDIO
111 17 sdio SDHCI Host
128 17 sdio SDHCI Host
161 4 sdio SDIO Cntrl
201 sdio0: sdio@92000 {

12345678910>>...35