/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/ |
H A D | sdio_txrx.c | 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() 107 sdio_release_host(sdio->func); in mt76s_rx_run_queue() [all …]
|
H A D | sdio.c | 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 465 struct mt76_dev *dev = container_of(sdio, struct mt76_dev, sdio); in mt76s_status_worker() [all …]
|
H A D | Makefile | 4 obj-$(CONFIG_MT76_SDIO) += mt76-sdio.o 19 mt76-sdio-y := sdio.o sdio_txrx.o
|
/linux/drivers/net/wireless/mediatek/mt76/mt7921/ |
H A D | sdio_mac.c | 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() 35 struct mt76_sdio *sdio = &dev->mt76.sdio; in mt7921s_wfsys_reset() local [all …]
|
H A D | sdio.c | 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() 158 mdev->sdio.intr_data = devm_kmalloc(mdev->dev, in mt7921s_probe() [all …]
|
H A D | sdio_mcu.c | 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()
|
H A D | debugfs.c | 254 struct mt76_sdio *sdio = &dev->mt76.sdio; in mt7921s_sched_quota_read() local 256 seq_printf(s, "pse_data_quota\t%d\n", sdio->sched.pse_data_quota); in mt7921s_sched_quota_read() 257 seq_printf(s, "ple_data_quota\t%d\n", sdio->sched.ple_data_quota); in mt7921s_sched_quota_read() 258 seq_printf(s, "pse_mcu_quota\t%d\n", sdio->sched.pse_mcu_quota); in mt7921s_sched_quota_read() 259 seq_printf(s, "sched_deficit\t%d\n", sdio->sched.deficit); in mt7921s_sched_quota_read()
|
/linux/drivers/net/wireless/broadcom/b43/ |
H A D | sdio.c | 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() 89 sdio->irq_handler = NULL; in b43_sdio_free_irq() 95 struct b43_sdio *sdio; in b43_sdio_probe() local [all …]
|
/linux/drivers/net/wireless/mediatek/mt76/mt7615/ |
H A D | sdio.c | 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() 136 mdev->sdio.intr_data = devm_kmalloc(mdev->dev, in mt7663s_probe() [all …]
|
H A D | sdio_mcu.c | 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()
|
H A D | Makefile | 5 obj-$(CONFIG_MT7663_USB_SDIO_COMMON) += mt7663-usb-sdio-common.o 18 mt7663-usb-sdio-common-y := usb_sdio.o 20 mt7663s-y := sdio.o sdio_mcu.o
|
/linux/Documentation/devicetree/bindings/arm/marvell/ |
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 …]
|
H A D | cp110-system-controller.txt | 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),… 134 mpp43 43 gpio, sdio(card_detect), synce1(clk), au(i2sextclk), mss_uart(rxd), spi0(csn0), uart1(rts)… 140 mpp49 49 gpio, ge1(txclkout), mii(crs), spi1(miso), uart1(rxd), ge(mdio), pcie0(clkreq), sdio(v18_e… [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 …]
|
/linux/arch/arm/boot/dts/marvell/ |
H A D | kirkwood-6192.dtsi | 61 pmx_sdio: pmx-sdio { 64 marvell,function = "sdio"; 86 sdio: mvsdio@90000 { label 87 compatible = "marvell,orion-sdio"; 92 cap-sdio-irq;
|
H A D | kirkwood-6281.dtsi | 61 pmx_sdio: pmx-sdio { 64 marvell,function = "sdio"; 86 sdio: mvsdio@90000 { label 87 compatible = "marvell,orion-sdio"; 94 cap-sdio-irq;
|
H A D | kirkwood-6282.dtsi | 103 pmx_sdio: pmx-sdio { 106 marvell,function = "sdio"; 147 sdio: mvsdio@90000 { label 148 compatible = "marvell,orion-sdio"; 155 cap-sdio-irq;
|
/linux/Documentation/devicetree/bindings/mmc/ |
H A D | amlogic,meson-mx-sdio.txt | 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/arch/loongarch/boot/dts/ |
H A D | loongson-2k1000-ref.dts | 123 sdio_pins_default: sdio-pins { 124 sdio-pinmux { 125 groups = "sdio"; 126 function = "sdio"; 128 sdio-det-pinmux {
|
/linux/drivers/net/wireless/microchip/wilc1000/ |
H A D | Makefile | 7 obj-$(CONFIG_WILC1000_SDIO) += wilc1000-sdio.o 8 wilc1000-sdio-objs += sdio.o
|
/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/arch/riscv/boot/dts/sophgo/ |
H A D | cv1812h-huashan-pi.dts | 54 no-sdio; 63 no-sdio; 70 cap-sdio-irq;
|
/linux/arch/arm64/boot/dts/rockchip/ |
H A D | px30-firefly-jd4-core-mb.dts | 19 mmc1 = &sdio; 74 sdio_pwrseq: sdio-pwrseq { 119 sdio-pwrseq { 141 &sdio {
|
H A D | rk3566-radxa-zero-3w.dts | 17 sdio_pwrseq: sdio-pwrseq { 61 no-sdio; 73 cap-sdio-irq;
|