From: Lorenzo Bianconi <lore...@kernel.org>

[ Upstream commit 886a862d3677ac0d3b57d19ffcf5b2d48b9c5267 ]

Fix PHYMUX_5 register definition for mt7663 in
mt7615_mac_cca_stats_reset routine

Fixes: f40ac0f3d3c0 ("mt76: mt7615: introduce mt7663e support")
Signed-off-by: Lorenzo Bianconi <lore...@kernel.org>
Signed-off-by: Felix Fietkau <n...@nbd.name>
Signed-off-by: Sasha Levin <sas...@kernel.org>
---
 drivers/net/wireless/mediatek/mt76/mt7615/mac.c  | 8 +++++++-
 drivers/net/wireless/mediatek/mt76/mt7615/regs.h | 1 +
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/mediatek/mt76/mt7615/mac.c 
b/drivers/net/wireless/mediatek/mt76/mt7615/mac.c
index a27a6d164009..656231786d55 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7615/mac.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7615/mac.c
@@ -1574,8 +1574,14 @@ void mt7615_mac_cca_stats_reset(struct mt7615_phy *phy)
 {
        struct mt7615_dev *dev = phy->dev;
        bool ext_phy = phy != &dev->phy;
-       u32 reg = MT_WF_PHY_R0_PHYMUX_5(ext_phy);
+       u32 reg;
 
+       if (is_mt7663(&dev->mt76))
+               reg = MT7663_WF_PHY_R0_PHYMUX_5;
+       else
+               reg = MT_WF_PHY_R0_PHYMUX_5(ext_phy);
+
+       /* reset PD and MDRDY counters */
        mt76_clear(dev, reg, GENMASK(22, 20));
        mt76_set(dev, reg, BIT(22) | BIT(20));
 }
diff --git a/drivers/net/wireless/mediatek/mt76/mt7615/regs.h 
b/drivers/net/wireless/mediatek/mt76/mt7615/regs.h
index 1e0d95b917e1..f7c2a633841c 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7615/regs.h
+++ b/drivers/net/wireless/mediatek/mt76/mt7615/regs.h
@@ -151,6 +151,7 @@ enum mt7615_reg_base {
 #define MT_WF_PHY_WF2_RFCTRL0_LPBCN_EN BIT(9)
 
 #define MT_WF_PHY_R0_PHYMUX_5(_phy)    MT_WF_PHY(0x0614 + ((_phy) << 9))
+#define MT7663_WF_PHY_R0_PHYMUX_5      MT_WF_PHY(0x0414)
 
 #define MT_WF_PHY_R0_PHYCTRL_STS0(_phy)        MT_WF_PHY(0x020c + ((_phy) << 
9))
 #define MT_WF_PHYCTRL_STAT_PD_OFDM     GENMASK(31, 16)
-- 
2.25.1

Reply via email to