Lines Matching refs:dev

10 static void mt7921s_enable_irq(struct mt76_dev *dev)  in mt7921s_enable_irq()  argument
12 struct mt76_sdio *sdio = &dev->sdio; in mt7921s_enable_irq()
19 static void mt7921s_disable_irq(struct mt76_dev *dev) in mt7921s_disable_irq() argument
21 struct mt76_sdio *sdio = &dev->sdio; in mt7921s_disable_irq()
28 static u32 mt7921s_read_whcr(struct mt76_dev *dev) in mt7921s_read_whcr() argument
30 return sdio_readl(dev->sdio.func, MCR_WHCR, NULL); in mt7921s_read_whcr()
33 int mt7921s_wfsys_reset(struct mt792x_dev *dev) in mt7921s_wfsys_reset() argument
35 struct mt76_sdio *sdio = &dev->mt76.sdio; in mt7921s_wfsys_reset()
38 mt7921s_mcu_drv_pmctrl(dev); in mt7921s_wfsys_reset()
58 readx_poll_timeout(mt7921s_read_whcr, &dev->mt76, status, in mt7921s_wfsys_reset()
63 clear_bit(MT76_STATE_MCU_RUNNING, &dev->mphy.state); in mt7921s_wfsys_reset()
66 mt7921s_mcu_drv_pmctrl(dev); in mt7921s_wfsys_reset()
67 mt76_clear(dev, MT_CONN_STATUS, MT_WIFI_PATCH_DL_STATE); in mt7921s_wfsys_reset()
68 mt7921s_mcu_fw_pmctrl(dev); in mt7921s_wfsys_reset()
69 mt7921s_mcu_drv_pmctrl(dev); in mt7921s_wfsys_reset()
74 int mt7921s_init_reset(struct mt792x_dev *dev) in mt7921s_init_reset() argument
76 set_bit(MT76_MCU_RESET, &dev->mphy.state); in mt7921s_init_reset()
78 wake_up(&dev->mt76.mcu.wait); in mt7921s_init_reset()
79 skb_queue_purge(&dev->mt76.mcu.res_q); in mt7921s_init_reset()
80 wait_event_timeout(dev->mt76.sdio.wait, in mt7921s_init_reset()
81 mt76s_txqs_empty(&dev->mt76), 5 * HZ); in mt7921s_init_reset()
82 mt76_worker_disable(&dev->mt76.sdio.txrx_worker); in mt7921s_init_reset()
84 mt7921s_disable_irq(&dev->mt76); in mt7921s_init_reset()
85 mt7921s_wfsys_reset(dev); in mt7921s_init_reset()
87 mt76_worker_enable(&dev->mt76.sdio.txrx_worker); in mt7921s_init_reset()
88 clear_bit(MT76_MCU_RESET, &dev->mphy.state); in mt7921s_init_reset()
89 mt7921s_enable_irq(&dev->mt76); in mt7921s_init_reset()
94 int mt7921s_mac_reset(struct mt792x_dev *dev) in mt7921s_mac_reset() argument
98 mt76_connac_free_pending_tx_skbs(&dev->pm, NULL); in mt7921s_mac_reset()
99 mt76_txq_schedule_all(&dev->mphy); in mt7921s_mac_reset()
100 mt76_worker_disable(&dev->mt76.tx_worker); in mt7921s_mac_reset()
101 set_bit(MT76_MCU_RESET, &dev->mphy.state); in mt7921s_mac_reset()
102 wake_up(&dev->mt76.mcu.wait); in mt7921s_mac_reset()
103 skb_queue_purge(&dev->mt76.mcu.res_q); in mt7921s_mac_reset()
104 wait_event_timeout(dev->mt76.sdio.wait, in mt7921s_mac_reset()
105 mt76s_txqs_empty(&dev->mt76), 5 * HZ); in mt7921s_mac_reset()
106 mt76_worker_disable(&dev->mt76.sdio.txrx_worker); in mt7921s_mac_reset()
107 mt76_worker_disable(&dev->mt76.sdio.status_worker); in mt7921s_mac_reset()
108 mt76_worker_disable(&dev->mt76.sdio.net_worker); in mt7921s_mac_reset()
109 mt76_worker_disable(&dev->mt76.sdio.stat_worker); in mt7921s_mac_reset()
111 mt7921s_disable_irq(&dev->mt76); in mt7921s_mac_reset()
112 mt7921s_wfsys_reset(dev); in mt7921s_mac_reset()
114 mt76_worker_enable(&dev->mt76.sdio.txrx_worker); in mt7921s_mac_reset()
115 mt76_worker_enable(&dev->mt76.sdio.status_worker); in mt7921s_mac_reset()
116 mt76_worker_enable(&dev->mt76.sdio.net_worker); in mt7921s_mac_reset()
117 mt76_worker_enable(&dev->mt76.sdio.stat_worker); in mt7921s_mac_reset()
119 dev->fw_assert = false; in mt7921s_mac_reset()
120 clear_bit(MT76_MCU_RESET, &dev->mphy.state); in mt7921s_mac_reset()
121 mt7921s_enable_irq(&dev->mt76); in mt7921s_mac_reset()
123 err = mt7921_run_firmware(dev); in mt7921s_mac_reset()
127 err = mt7921_mcu_set_eeprom(dev); in mt7921s_mac_reset()
131 err = mt7921_mac_init(dev); in mt7921s_mac_reset()
135 err = __mt7921_start(&dev->phy); in mt7921s_mac_reset()
138 mt76_worker_enable(&dev->mt76.tx_worker); in mt7921s_mac_reset()