Lines Matching full:sdio
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()
151 mdev->sdio.intr_data = devm_kmalloc(mdev->dev, in mt7921s_probe()
154 if (!mdev->sdio.intr_data) { in mt7921s_probe()
171 ret = mt76_worker_setup(mt76_hw(dev), &mdev->sdio.txrx_worker, in mt7921s_probe()
172 mt7921s_txrx_worker, "sdio-txrx"); in mt7921s_probe()
176 sched_set_fifo_low(mdev->sdio.txrx_worker.task); in mt7921s_probe()
224 mt76_worker_disable(&mdev->sdio.status_worker); in mt7921s_suspend()
225 cancel_work_sync(&mdev->sdio.stat_work); in mt7921s_suspend()
229 mt76_worker_schedule(&mdev->sdio.txrx_worker); in mt7921s_suspend()
230 wait_event_timeout(dev->mt76.sdio.wait, in mt7921s_suspend()
233 /* It is supposed that SDIO bus is idle at the point */ in mt7921s_suspend()
238 mt76_worker_disable(&mdev->sdio.txrx_worker); in mt7921s_suspend()
239 mt76_worker_disable(&mdev->sdio.net_worker); in mt7921s_suspend()
250 mt76_worker_enable(&mdev->sdio.net_worker); in mt7921s_suspend()
251 mt76_worker_enable(&mdev->sdio.txrx_worker); in mt7921s_suspend()
256 mt76_worker_enable(&mdev->sdio.status_worker); in mt7921s_suspend()
286 mt76_worker_enable(&mdev->sdio.txrx_worker); in mt7921s_resume()
287 mt76_worker_enable(&mdev->sdio.status_worker); in mt7921s_resume()
288 mt76_worker_enable(&mdev->sdio.net_worker); in mt7921s_resume()
304 MODULE_DEVICE_TABLE(sdio, mt7921s_table);