/Linux-v6.1/drivers/net/wireless/mediatek/mt76/ |
D | sdio_txrx.c | 18 #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 …]
|
D | sdio.c | 21 #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-v6.1/drivers/net/wireless/mediatek/mt76/mt7921/ |
D | sdio_mac.c | 8 #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 …]
|
D | sdio.c | 15 #include "../sdio.h" 26 struct mt76_sdio *sdio = container_of(w, struct mt76_sdio, in mt7921s_txrx_worker() local 28 struct mt76_dev *mdev = container_of(sdio, struct mt76_dev, sdio); in mt7921s_txrx_worker() 36 mt76s_txrx_worker(sdio); in mt7921s_txrx_worker() 58 struct mt76_sdio *sdio = &dev->sdio; in mt7921s_parse_intr() local 59 struct mt7921_sdio_intr *irq_data = sdio->intr_data; in mt7921s_parse_intr() 62 sdio_claim_host(sdio->func); in mt7921s_parse_intr() 63 err = sdio_readsb(sdio->func, irq_data, MCR_WHISR, sizeof(*irq_data)); in mt7921s_parse_intr() 64 sdio_release_host(sdio->func); in mt7921s_parse_intr() 150 mdev->sdio.parse_irq = mt7921s_parse_intr; in mt7921s_probe() [all …]
|
D | sdio_mcu.c | 10 #include "../sdio.h" 26 * blocked by mt7921_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-v6.1/fs/ |
D | direct-io.c | 159 static inline unsigned dio_pages_present(struct dio_submit *sdio) in dio_pages_present() argument 161 return sdio->tail - sdio->head; in dio_pages_present() 167 static inline int dio_refill_pages(struct dio *dio, struct dio_submit *sdio) in dio_refill_pages() argument 172 ret = iov_iter_get_pages2(sdio->iter, dio->pages, LONG_MAX, DIO_PAGES, in dio_refill_pages() 173 &sdio->from); in dio_refill_pages() 175 if (ret < 0 && sdio->blocks_available && dio_op == REQ_OP_WRITE) { in dio_refill_pages() 186 sdio->head = 0; in dio_refill_pages() 187 sdio->tail = 1; in dio_refill_pages() 188 sdio->from = 0; in dio_refill_pages() 189 sdio->to = PAGE_SIZE; in dio_refill_pages() [all …]
|
/Linux-v6.1/drivers/mmc/core/ |
D | sdio_io.c | 12 #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 …]
|
D | sdio_irq.c | 23 #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-v6.1/drivers/mmc/host/ |
D | toshsd.h | 37 #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 …]
|
D | Kconfig | 6 comment "MMC/SD/SDIO Host Controller Drivers" 246 tristate "SDHCI support for the Cadence SD/SDIO/eMMC controller" 250 This selects the Cadence SD/SDIO/eMMC driver. 402 Needed by some Fujitsu SoC for MMC / SD / SDIO support. 413 Needed by Milbeaut SoC for MMC / SD / SDIO support. 440 MMC 5.1 compliant and supports SD, eMMC and SDIO interfaces. 452 The controller supports the SD/SDIO Spec 3.x and eMMC Spec 4.5x 559 SD/MMC/SDIO devices. 601 tristate "Marvell MMC/SD/SDIO host driver" 605 This selects the Marvell SDIO host driver. [all …]
|
/Linux-v6.1/drivers/net/wireless/broadcom/b43/ |
D | sdio.c | 5 * 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-v6.1/drivers/net/wireless/mediatek/mt76/mt7615/ |
D | sdio.c | 17 #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 …]
|
D | sdio_mcu.c | 13 #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-v6.1/drivers/net/wireless/broadcom/brcm80211/brcmfmac/ |
D | bcmsdh.c | 5 /* ****************** 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-v6.1/drivers/net/wireless/microchip/wilc1000/ |
D | Kconfig | 6 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-v6.1/drivers/pinctrl/mvebu/ |
D | pinctrl-armada-ap806.c | 24 MPP_FUNCTION(1, "sdio", "clk"), 28 MPP_FUNCTION(1, "sdio", "cmd"), 32 MPP_FUNCTION(1, "sdio", "d0"), 36 MPP_FUNCTION(1, "sdio", "d1"), 40 MPP_FUNCTION(1, "sdio", "d2"), 44 MPP_FUNCTION(1, "sdio", "d3"), 48 MPP_FUNCTION(1, "sdio", "ds")), 51 MPP_FUNCTION(1, "sdio", "d4"), 55 MPP_FUNCTION(1, "sdio", "d5"), 59 MPP_FUNCTION(1, "sdio", "d6"), [all …]
|
/Linux-v6.1/Documentation/devicetree/bindings/arm/marvell/ |
D | cp110-system-controller.txt | 40 - 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 …]
|
D | ap80x-system-controller.txt | 51 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-v6.1/Documentation/devicetree/bindings/pinctrl/ |
D | marvell,kirkwood-pinctrl.txt | 39 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 …]
|
/Linux-v6.1/include/linux/platform_data/ |
D | brcmfmac.h | 48 * 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-v6.1/Documentation/devicetree/bindings/mmc/ |
D | amlogic,meson-mx-sdio.txt | 1 * 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";
|
D | sdhci-sprd.txt | 4 for MMC, SD and SDIO types of cards. 15 "sdio" - SDIO source clock (required) 20 - assigned-clocks: the same with "sdio" clock 21 - assigned-clock-parents: the default parent of "sdio" clock 45 sdio0: sdio@20600000 { 50 clock-names = "sdio", "enable"; 63 no-sdio;
|
D | mmc-controller.yaml | 94 - for SD/SDIO cards the SDR104 mode has a max supported 112 line. Not used in combination with eMMC or SDIO. 175 cap-sdio-irq: 178 enable SDIO IRQ signalling on this interface 243 no-sdio: 246 Controller is limited to send SDIO commands during 294 SDIO only. Preserves card power during a suspend/resume cycle. 296 # Deprecated: enable-sdio-wakeup 300 SDIO only. Enables wake up of host system on SDIO IRQ assertion. 317 sequence. To successfully detect an (e)MMC/SD/SDIO card, that [all …]
|
/Linux-v6.1/Documentation/devicetree/bindings/clock/ |
D | mvebu-gated-clock.txt | 21 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 {
|
/Linux-v6.1/drivers/net/wireless/marvell/mwifiex/ |
D | sdio.h | 3 * NXP Wireless LAN device driver: SDIO specific definitions 13 #include <linux/mmc/sdio.h> 93 /* SDIO Tx aggregation in progress ? */ 96 /* SDIO Tx aggregation buffer room for next packet ? */ 100 /* Copy current packet (SDIO Tx aggregation buffer) to SDIO buffer */ 116 /* SDIO Tx aggregation limit ? */ 120 /* Reset SDIO Tx aggregation buffer parameters */ 128 /* SDIO Rx aggregation limit ? */ 132 /* SDIO Rx aggregation in progress ? */ 135 /* SDIO Rx aggregation buffer room for next packet ? */ [all …]
|