mt76: mt7921: fix survey-dump reporting
authorLorenzo Bianconi <lorenzo@kernel.org>
Wed, 23 Jun 2021 13:19:19 +0000 (15:19 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 18 Nov 2021 18:16:36 +0000 (19:16 +0100)
[ Upstream commit 64ed76d118c656907ec1155f2cdd24de778470a2 ]

Fix MIB tx-rx MIB counters for survey-dump reporting.

Fixes: 163f4d22c118d ("mt76: mt7921: add MAC support")
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/mediatek/mt76/mt7921/init.c
drivers/net/wireless/mediatek/mt76/mt7921/regs.h

index a9ce10b9882731315d5954c094de7fb9ac489f33..52d40385fab6cdac854528b2dbd531cd56632cb4 100644 (file)
@@ -106,6 +106,10 @@ mt7921_mac_init_band(struct mt7921_dev *dev, u8 band)
        mt76_set(dev, MT_WF_RMAC_MIB_TIME0(band), MT_WF_RMAC_MIB_RXTIME_EN);
        mt76_set(dev, MT_WF_RMAC_MIB_AIRTIME0(band), MT_WF_RMAC_MIB_RXTIME_EN);
 
+       /* enable MIB tx-rx time reporting */
+       mt76_set(dev, MT_MIB_SCR1(band), MT_MIB_TXDUR_EN);
+       mt76_set(dev, MT_MIB_SCR1(band), MT_MIB_RXDUR_EN);
+
        mt76_rmw_field(dev, MT_DMA_DCR0(band), MT_DMA_DCR0_MAX_RX_LEN, 1536);
        /* disable rx rate report by default due to hw issues */
        mt76_clear(dev, MT_DMA_DCR0(band), MT_DMA_DCR0_RXD_G5_EN);
index b6944c867a57343842af81caa3ca46b2d020bd18..26fb118237626146714ff423225cafb8cf49ea86 100644 (file)
 #define MT_WF_MIB_BASE(_band)          ((_band) ? 0xa4800 : 0x24800)
 #define MT_WF_MIB(_band, ofs)          (MT_WF_MIB_BASE(_band) + (ofs))
 
+#define MT_MIB_SCR1(_band)             MT_WF_MIB(_band, 0x004)
+#define MT_MIB_TXDUR_EN                        BIT(8)
+#define MT_MIB_RXDUR_EN                        BIT(9)
+
 #define MT_MIB_SDR3(_band)             MT_WF_MIB(_band, 0x698)
 #define MT_MIB_SDR3_FCS_ERR_MASK       GENMASK(31, 16)
 
 #define MT_MIB_SDR34(_band)            MT_WF_MIB(_band, 0x090)
 #define MT_MIB_MU_BF_TX_CNT            GENMASK(15, 0)
 
-#define MT_MIB_SDR36(_band)            MT_WF_MIB(_band, 0x098)
+#define MT_MIB_SDR36(_band)            MT_WF_MIB(_band, 0x054)
 #define MT_MIB_SDR36_TXTIME_MASK       GENMASK(23, 0)
-#define MT_MIB_SDR37(_band)            MT_WF_MIB(_band, 0x09c)
+#define MT_MIB_SDR37(_band)            MT_WF_MIB(_band, 0x058)
 #define MT_MIB_SDR37_RXTIME_MASK       GENMASK(23, 0)
 
 #define MT_MIB_DR8(_band)              MT_WF_MIB(_band, 0x0c0)