Lines Matching refs:mdev
28 struct mt76_dev *mdev = container_of(sdio, struct mt76_dev, sdio); in mt7921s_txrx_worker() local
29 struct mt7921_dev *dev = container_of(mdev, struct mt7921_dev, mt76); in mt7921s_txrx_worker()
32 queue_work(mdev->wq, &dev->pm.wake_work); in mt7921s_txrx_worker()
116 struct mt76_dev *mdev; in mt7921s_probe() local
119 mdev = mt76_alloc_device(&func->dev, sizeof(*dev), &mt7921_ops, in mt7921s_probe()
121 if (!mdev) in mt7921s_probe()
124 dev = container_of(mdev, struct mt7921_dev, mt76); in mt7921s_probe()
129 ret = mt76s_init(mdev, func, &mt7921s_ops); in mt7921s_probe()
133 ret = mt76s_hw_init(mdev, func, MT76_CONNAC2_SDIO); in mt7921s_probe()
137 mdev->rev = (mt76_rr(dev, MT_HW_CHIPID) << 16) | in mt7921s_probe()
139 dev_dbg(mdev->dev, "ASIC revision: %04x\n", mdev->rev); in mt7921s_probe()
141 mdev->sdio.parse_irq = mt7921s_parse_intr; in mt7921s_probe()
142 mdev->sdio.intr_data = devm_kmalloc(mdev->dev, in mt7921s_probe()
145 if (!mdev->sdio.intr_data) { in mt7921s_probe()
150 for (i = 0; i < ARRAY_SIZE(mdev->sdio.xmit_buf); i++) { in mt7921s_probe()
151 mdev->sdio.xmit_buf[i] = devm_kmalloc(mdev->dev, in mt7921s_probe()
154 if (!mdev->sdio.xmit_buf[i]) { in mt7921s_probe()
160 ret = mt76s_alloc_rx_queue(mdev, MT_RXQ_MAIN); in mt7921s_probe()
164 ret = mt76s_alloc_rx_queue(mdev, MT_RXQ_MCU); in mt7921s_probe()
168 ret = mt76s_alloc_tx(mdev); in mt7921s_probe()
172 ret = mt76_worker_setup(mt76_hw(dev), &mdev->sdio.txrx_worker, in mt7921s_probe()
177 sched_set_fifo_low(mdev->sdio.txrx_worker.task); in mt7921s_probe()
205 struct mt76_dev *mdev = &dev->mt76; in mt7921s_suspend() local
219 err = mt76_connac_mcu_set_hif_suspend(mdev, true); in mt7921s_suspend()
227 mt76_connac_mcu_set_deep_sleep(mdev, true); in mt7921s_suspend()
230 mt76_worker_disable(&mdev->tx_worker); in mt7921s_suspend()
231 mt76_worker_disable(&mdev->sdio.txrx_worker); in mt7921s_suspend()
232 mt76_worker_disable(&mdev->sdio.status_worker); in mt7921s_suspend()
233 mt76_worker_disable(&mdev->sdio.net_worker); in mt7921s_suspend()
234 cancel_work_sync(&mdev->sdio.stat_work); in mt7921s_suspend()
237 mt76_tx_status_check(mdev, true); in mt7921s_suspend()
248 mt76_worker_enable(&mdev->tx_worker); in mt7921s_suspend()
249 mt76_worker_enable(&mdev->sdio.txrx_worker); in mt7921s_suspend()
250 mt76_worker_enable(&mdev->sdio.status_worker); in mt7921s_suspend()
251 mt76_worker_enable(&mdev->sdio.net_worker); in mt7921s_suspend()
254 mt76_connac_mcu_set_deep_sleep(mdev, false); in mt7921s_suspend()
257 mt76_connac_mcu_set_hif_suspend(mdev, false); in mt7921s_suspend()
270 struct mt76_dev *mdev = &dev->mt76; in mt7921s_resume() local
279 mt76_worker_enable(&mdev->tx_worker); in mt7921s_resume()
280 mt76_worker_enable(&mdev->sdio.txrx_worker); in mt7921s_resume()
281 mt76_worker_enable(&mdev->sdio.status_worker); in mt7921s_resume()
282 mt76_worker_enable(&mdev->sdio.net_worker); in mt7921s_resume()
286 mt76_connac_mcu_set_deep_sleep(mdev, false); in mt7921s_resume()
289 err = mt76_connac_mcu_set_hif_suspend(mdev, false); in mt7921s_resume()