diff options
author | Ryder Lee <ryder.lee@mediatek.com> | 2022-05-05 15:08:35 +0800 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2022-05-13 09:39:35 +0200 |
commit | b4c268ca4df8a86e80dbbd64589983bfb005467d (patch) | |
tree | 0acc02f37cc46dca7abcbc1e1ef61fd3f639d4c1 /drivers/net/wireless/mediatek/mt76/mt7915/regs.h | |
parent | mt76: mt7915: rework SER debugfs knob (diff) | |
download | linux-dev-b4c268ca4df8a86e80dbbd64589983bfb005467d.tar.xz linux-dev-b4c268ca4df8a86e80dbbd64589983bfb005467d.zip |
mt76: mt7915: introduce mt7915_mac_severe_check()
In rare cases, TRB pointers might be out of sync leads to RMAC stopping
Rx that requires minimal recovery, so add this helper to periodically
check TRB status.
Tested-by: Chad Monroe <chad.monroe@smartrg.com>
Signed-off-by: Ryder Lee <ryder.lee@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to '')
-rw-r--r-- | drivers/net/wireless/mediatek/mt76/mt7915/regs.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/mt7915/regs.h b/drivers/net/wireless/mediatek/mt76/mt7915/regs.h index e3eb62a4929b..66c60e60e921 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7915/regs.h +++ b/drivers/net/wireless/mediatek/mt76/mt7915/regs.h @@ -176,6 +176,14 @@ enum offs_rev { #define MT_MDP_TO_HIF 0 #define MT_MDP_TO_WM 1 +/* TRB: band 0(0x820e1000), band 1(0x820f1000) */ +#define MT_WF_TRB_BASE(_band) ((_band) ? 0x820f1000 : 0x820e1000) +#define MT_WF_TRB(_band, ofs) (MT_WF_TRB_BASE(_band) + (ofs)) + +#define MT_TRB_RXPSR0(_band) MT_WF_TRB(_band, 0x03c) +#define MT_TRB_RXPSR0_RX_WTBL_PTR GENMASK(25, 16) +#define MT_TRB_RXPSR0_RX_RMAC_PTR GENMASK(9, 0) + /* TMAC: band 0(0x820e4000), band 1(0x820f4000) */ #define MT_WF_TMAC_BASE(_band) ((_band) ? 0x820f4000 : 0x820e4000) #define MT_WF_TMAC(_band, ofs) (MT_WF_TMAC_BASE(_band) + (ofs)) |