Lines Matching refs:mdev
29 struct mt76_dev *mdev = container_of(sdio, struct mt76_dev, sdio); in mt7921s_txrx_worker() local
30 struct mt792x_dev *dev = container_of(mdev, struct mt792x_dev, mt76); in mt7921s_txrx_worker()
33 queue_work(mdev->wq, &dev->pm.wake_work); in mt7921s_txrx_worker()
127 struct mt76_dev *mdev; in mt7921s_probe() local
136 mdev = mt76_alloc_device(&func->dev, sizeof(*dev), ops, &drv_ops); in mt7921s_probe()
137 if (!mdev) in mt7921s_probe()
140 dev = container_of(mdev, struct mt792x_dev, mt76); in mt7921s_probe()
145 ret = mt76s_init(mdev, func, &mt7921s_ops); in mt7921s_probe()
149 ret = mt76s_hw_init(mdev, func, MT76_CONNAC2_SDIO); in mt7921s_probe()
153 atomic_set(&mdev->bus_hung, false); in mt7921s_probe()
155 mdev->rev = (mt76_rr(dev, MT_HW_CHIPID) << 16) | in mt7921s_probe()
157 dev_dbg(mdev->dev, "ASIC revision: %04x\n", mdev->rev); in mt7921s_probe()
159 mdev->sdio.parse_irq = mt7921s_parse_intr; in mt7921s_probe()
160 mdev->sdio.intr_data = devm_kmalloc(mdev->dev, in mt7921s_probe()
163 if (!mdev->sdio.intr_data) { in mt7921s_probe()
168 ret = mt76s_alloc_rx_queue(mdev, MT_RXQ_MAIN); in mt7921s_probe()
172 ret = mt76s_alloc_rx_queue(mdev, MT_RXQ_MCU); in mt7921s_probe()
176 ret = mt76s_alloc_tx(mdev); in mt7921s_probe()
180 ret = mt76_worker_setup(mt76_hw(dev), &mdev->sdio.txrx_worker, in mt7921s_probe()
185 sched_set_fifo_low(mdev->sdio.txrx_worker.task); in mt7921s_probe()
212 struct mt76_dev *mdev = &dev->mt76; in mt7921s_suspend() local
216 set_bit(MT76_STATE_SUSPEND, &mdev->phy.state); in mt7921s_suspend()
231 mt76_connac_mcu_set_deep_sleep(mdev, true); in mt7921s_suspend()
234 mt76_worker_disable(&mdev->tx_worker); in mt7921s_suspend()
235 mt76_worker_disable(&mdev->sdio.status_worker); in mt7921s_suspend()
236 mt76_worker_disable(&mdev->sdio.stat_worker); in mt7921s_suspend()
238 mt76_tx_status_check(mdev, true); in mt7921s_suspend()
240 mt76_worker_schedule(&mdev->sdio.txrx_worker); in mt7921s_suspend()
245 err = mt76_connac_mcu_set_hif_suspend(mdev, true, true); in mt7921s_suspend()
249 mt76_worker_disable(&mdev->sdio.txrx_worker); in mt7921s_suspend()
250 mt76_worker_disable(&mdev->sdio.net_worker); in mt7921s_suspend()
261 mt76_worker_enable(&mdev->sdio.net_worker); in mt7921s_suspend()
262 mt76_worker_enable(&mdev->sdio.txrx_worker); in mt7921s_suspend()
263 mt76_connac_mcu_set_hif_suspend(mdev, false, true); in mt7921s_suspend()
266 mt76_worker_enable(&mdev->tx_worker); in mt7921s_suspend()
267 mt76_worker_enable(&mdev->sdio.status_worker); in mt7921s_suspend()
268 mt76_worker_enable(&mdev->sdio.stat_worker); in mt7921s_suspend()
271 mt76_connac_mcu_set_deep_sleep(mdev, false); in mt7921s_suspend()
274 clear_bit(MT76_STATE_SUSPEND, &mdev->phy.state); in mt7921s_suspend()
288 struct mt76_dev *mdev = &dev->mt76; in mt7921s_resume() local
291 clear_bit(MT76_STATE_SUSPEND, &mdev->phy.state); in mt7921s_resume()
297 mt76_worker_enable(&mdev->tx_worker); in mt7921s_resume()
298 mt76_worker_enable(&mdev->sdio.txrx_worker); in mt7921s_resume()
299 mt76_worker_enable(&mdev->sdio.status_worker); in mt7921s_resume()
300 mt76_worker_enable(&mdev->sdio.net_worker); in mt7921s_resume()
301 mt76_worker_enable(&mdev->sdio.stat_worker); in mt7921s_resume()
305 mt76_connac_mcu_set_deep_sleep(mdev, false); in mt7921s_resume()
307 err = mt76_connac_mcu_set_hif_suspend(mdev, false, true); in mt7921s_resume()