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 mdev->rev = (mt76_rr(dev, MT_HW_CHIPID) << 16) | in mt7921s_probe()
155 dev_dbg(mdev->dev, "ASIC revision: %04x\n", mdev->rev); in mt7921s_probe()
157 mdev->sdio.parse_irq = mt7921s_parse_intr; in mt7921s_probe()
158 mdev->sdio.intr_data = devm_kmalloc(mdev->dev, in mt7921s_probe()
161 if (!mdev->sdio.intr_data) { in mt7921s_probe()
166 ret = mt76s_alloc_rx_queue(mdev, MT_RXQ_MAIN); in mt7921s_probe()
170 ret = mt76s_alloc_rx_queue(mdev, MT_RXQ_MCU); in mt7921s_probe()
174 ret = mt76s_alloc_tx(mdev); in mt7921s_probe()
178 ret = mt76_worker_setup(mt76_hw(dev), &mdev->sdio.txrx_worker, in mt7921s_probe()
183 sched_set_fifo_low(mdev->sdio.txrx_worker.task); in mt7921s_probe()
210 struct mt76_dev *mdev = &dev->mt76; in mt7921s_suspend() local
214 set_bit(MT76_STATE_SUSPEND, &mdev->phy.state); in mt7921s_suspend()
229 mt76_connac_mcu_set_deep_sleep(mdev, true); in mt7921s_suspend()
232 mt76_worker_disable(&mdev->tx_worker); in mt7921s_suspend()
233 mt76_worker_disable(&mdev->sdio.status_worker); in mt7921s_suspend()
234 mt76_worker_disable(&mdev->sdio.stat_worker); in mt7921s_suspend()
236 mt76_tx_status_check(mdev, true); in mt7921s_suspend()
238 mt76_worker_schedule(&mdev->sdio.txrx_worker); in mt7921s_suspend()
243 err = mt76_connac_mcu_set_hif_suspend(mdev, true); in mt7921s_suspend()
247 mt76_worker_disable(&mdev->sdio.txrx_worker); in mt7921s_suspend()
248 mt76_worker_disable(&mdev->sdio.net_worker); in mt7921s_suspend()
259 mt76_worker_enable(&mdev->sdio.net_worker); in mt7921s_suspend()
260 mt76_worker_enable(&mdev->sdio.txrx_worker); in mt7921s_suspend()
261 mt76_connac_mcu_set_hif_suspend(mdev, false); in mt7921s_suspend()
264 mt76_worker_enable(&mdev->tx_worker); in mt7921s_suspend()
265 mt76_worker_enable(&mdev->sdio.status_worker); in mt7921s_suspend()
266 mt76_worker_enable(&mdev->sdio.stat_worker); in mt7921s_suspend()
269 mt76_connac_mcu_set_deep_sleep(mdev, false); in mt7921s_suspend()
272 clear_bit(MT76_STATE_SUSPEND, &mdev->phy.state); in mt7921s_suspend()
286 struct mt76_dev *mdev = &dev->mt76; in mt7921s_resume() local
289 clear_bit(MT76_STATE_SUSPEND, &mdev->phy.state); in mt7921s_resume()
295 mt76_worker_enable(&mdev->tx_worker); in mt7921s_resume()
296 mt76_worker_enable(&mdev->sdio.txrx_worker); in mt7921s_resume()
297 mt76_worker_enable(&mdev->sdio.status_worker); in mt7921s_resume()
298 mt76_worker_enable(&mdev->sdio.net_worker); in mt7921s_resume()
299 mt76_worker_enable(&mdev->sdio.stat_worker); in mt7921s_resume()
303 mt76_connac_mcu_set_deep_sleep(mdev, false); in mt7921s_resume()
305 err = mt76_connac_mcu_set_hif_suspend(mdev, false); in mt7921s_resume()