/linux/fs/ |
H A D | direct-io.c | 158 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/drivers/net/wireless/mediatek/mt76/mt7921/ |
H A 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 …]
|
H A D | sdio_mcu.c | 10 #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/drivers/mmc/core/ |
H A 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 …]
|
H A 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/drivers/mmc/host/ |
H A 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 …]
|
H A D | Kconfig | 6 comment "MMC/SD/SDIO Host Controller Drivers" 271 The controller supports SD/MMC/SDIO devices. 278 tristate "SDHCI support for the Cadence SD/SDIO/eMMC controller" 283 This selects the Cadence SD/SDIO/eMMC driver. 424 Needed by some Fujitsu SoC for MMC / SD / SDIO support. 435 Needed by Milbeaut SoC for MMC / SD / SDIO support. 470 MMC 5.1 compliant and supports SD, eMMC and SDIO interfaces. 482 The controller supports the SD/SDIO Spec 3.x and eMMC Spec 4.5x 589 SD/MMC/SDIO devices. 631 tristate "Marvell MMC/SD/SDIO host driver" [all …]
|
/linux/drivers/net/wireless/broadcom/b43/ |
H A 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/drivers/net/wireless/mediatek/mt76/ |
H A 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/drivers/pinctrl/mvebu/ |
H A D | pinctrl-armada-ap806.c | 23 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 …]
|
H A D | pinctrl-armada-cp110.c | 311 MPP_FUNCTION(8, "sdio", "v18_en"), 317 MPP_FUNCTION(2, "sdio", "pwr10"), 321 MPP_FUNCTION(6, "sdio", "bus_pwr"), 328 MPP_FUNCTION(2, "sdio", "pwr11"), 332 MPP_FUNCTION(6, "sdio", "wr_protect"), 343 MPP_FUNCTION(6, "sdio", "card_detect"), 388 MPP_FUNCTION(1, "sdio", "wr_protect"), 396 MPP_FUNCTION(1, "sdio", "pwr11"), 408 MPP_FUNCTION(1, "sdio", "pwr10"), 409 MPP_FUNCTION(2, "sdio", "bus_pwr"), [all …]
|
H A D | pinctrl-ac5.c | 22 MPP_FUNCTION(1, "sdio", "d0"), 26 MPP_FUNCTION(1, "sdio", "d1"), 30 MPP_FUNCTION(1, "sdio", "d2"), 34 MPP_FUNCTION(1, "sdio", "d3"), 38 MPP_FUNCTION(1, "sdio", "d4"), 44 MPP_FUNCTION(1, "sdio", "d5"), 50 MPP_FUNCTION(1, "sdio", "d6"), 55 MPP_FUNCTION(1, "sdio", "d7"), 60 MPP_FUNCTION(1, "sdio", "clk"), 64 MPP_FUNCTION(1, "sdio", "cmd"), [all …]
|
/linux/drivers/net/wireless/broadcom/brcm80211/brcmfmac/ |
H A 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/drivers/net/wireless/microchip/wilc1000/ |
H A 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/Documentation/devicetree/bindings/arm/marvell/ |
H A 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 …]
|
H A 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/Documentation/devicetree/bindings/pinctrl/ |
H A 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 …]
|
H A D | loongson,ls2k-pinctrl.yaml | 42 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/drivers/net/wireless/realtek/rtw88/ |
H A D | sdio.h | 23 /* 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/include/linux/platform_data/ |
H A 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/drivers/net/wireless/marvell/mwifiex/ |
H A D | sdio.h | 3 * NXP Wireless LAN device driver: SDIO specific definitions 13 #include <linux/mmc/sdio.h> 94 /* SDIO Tx aggregation in progress ? */ 97 /* SDIO Tx aggregation buffer room for next packet ? */ 101 /* Copy current packet (SDIO Tx aggregation buffer) to SDIO buffer */ 117 /* SDIO Tx aggregation limit ? */ 121 /* Reset SDIO Tx aggregation buffer parameters */ 129 /* SDIO Rx aggregation limit ? */ 133 /* SDIO Rx aggregation in progress ? */ 136 /* SDIO Rx aggregation buffer room for next packet ? */ [all …]
|
/linux/Documentation/devicetree/bindings/clock/ |
H A 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/Documentation/devicetree/bindings/net/wireless/ |
H A D | silabs,wfx.yaml | 18 The WF200 can be connected via SPI or via SDIO. 20 For SDIO: 23 sufficient for the SDIO devices). 25 It is recommended to declare a mmc-pwrseq on SDIO host above WFx. Without 43 When used on SDIO bus, <reg> must be set to 1. When used on SPI bus, it is 50 used, this property is required. When SDIO is used, the "in-band" 51 interrupt provided by the SDIO bus is used unless an interrupt is defined 60 For SDIO, the reset gpio should declared using a mmc-pwrseq.
|
/linux/Documentation/devicetree/bindings/net/ |
H A D | marvell-bt-8xxx.txt | 1 Marvell 8897/8997 (sd8897/sd8997) bluetooth devices (SDIO or USB based) 3 The 8997 devices supports multiple interfaces. When used on SDIO interfaces, 10 * "marvell,sd8897-bt" (for SDIO) 11 * "marvell,sd8997-bt" (for SDIO) 18 This is only applicable to SDIO devices. 26 - interrupts : specifies the interrupt pin number to the cpu. For SDIO, the 42 Example for SDIO device follows (calibration data is also available in
|
/linux/include/linux/mmc/ |
H A D | sdio_func.h | 22 * SDIO function CIS tuple (unknown to the core) 32 * SDIO function devices 73 * SDIO function device driver 86 * SDIO_DEVICE - macro used to describe a specific SDIO device 98 * SDIO_DEVICE_CLASS - macro used to describe a specific SDIO device class 102 * specific standard SDIO function type. The vendor and device fields will 116 * module_sdio_driver() - Helper macro for registering a SDIO driver 119 * Helper macro for SDIO drivers which do not do anything special in module 128 * SDIO I/O operations
|