mirror of
https://github.com/outbackdingo/mt76.git
synced 2026-10-24 13:26:48 +00:00
wifi: mt76: mt7915: enable full system reset support
Add mt7915_reset() and refactor mt7915_mac_reset_work() to support full system recovery. Co-developed-by: Ryder Lee <[email protected]> Signed-off-by: Ryder Lee <[email protected]> Signed-off-by: Bo Jiao <[email protected]> Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
+14
-1
@@ -307,7 +307,13 @@ struct mt7915_dev {
|
||||
struct work_struct rc_work;
|
||||
struct work_struct reset_work;
|
||||
wait_queue_head_t reset_wait;
|
||||
u32 reset_state;
|
||||
|
||||
struct {
|
||||
u32 state;
|
||||
bool hw_full_reset:1;
|
||||
bool hw_init_done:1;
|
||||
bool restart:1;
|
||||
} recovery;
|
||||
|
||||
struct list_head sta_rc_list;
|
||||
struct list_head sta_poll_list;
|
||||
@@ -448,7 +454,13 @@ int mt7915_dma_init(struct mt7915_dev *dev, struct mt7915_phy *phy2);
|
||||
void mt7915_dma_prefetch(struct mt7915_dev *dev);
|
||||
void mt7915_dma_cleanup(struct mt7915_dev *dev);
|
||||
int mt7915_dma_reset(struct mt7915_dev *dev, bool force);
|
||||
int mt7915_txbf_init(struct mt7915_dev *dev);
|
||||
void mt7915_init_txpower(struct mt7915_dev *dev,
|
||||
struct ieee80211_supported_band *sband);
|
||||
void mt7915_reset(struct mt7915_dev *dev);
|
||||
int mt7915_run(struct ieee80211_hw *hw);
|
||||
int mt7915_mcu_init(struct mt7915_dev *dev);
|
||||
int mt7915_mcu_init_firmware(struct mt7915_dev *dev);
|
||||
int mt7915_mcu_twt_agrt_update(struct mt7915_dev *dev,
|
||||
struct mt7915_vif *mvif,
|
||||
struct mt7915_twt_flow *flow,
|
||||
@@ -548,6 +560,7 @@ static inline void mt7915_irq_disable(struct mt7915_dev *dev, u32 mask)
|
||||
mt76_set_irq_mask(&dev->mt76, MT_INT_MASK_CSR, mask, 0);
|
||||
}
|
||||
|
||||
void mt7915_mac_init(struct mt7915_dev *dev);
|
||||
u32 mt7915_mac_wtbl_lmac_addr(struct mt7915_dev *dev, u16 wcid, u8 dw);
|
||||
bool mt7915_mac_wtbl_update(struct mt7915_dev *dev, int idx, u32 mask);
|
||||
void mt7915_mac_reset_counters(struct mt7915_phy *phy);
|
||||
|
||||
Reference in New Issue
Block a user