mt76: mt7915: update mt7915_chan_mib_offs for mt7916
authorBo Jiao <Bo.Jiao@mediatek.com>
Mon, 20 Dec 2021 02:18:02 +0000 (10:18 +0800)
committerFelix Fietkau <nbd@nbd.name>
Thu, 3 Feb 2022 12:57:56 +0000 (13:57 +0100)
Update v2 offset. This is an intermediate patch to add mt7916 support.

Co-developed-by: Sujuan Chen <sujuan.chen@mediatek.com>
Signed-off-by: Sujuan Chen <sujuan.chen@mediatek.com>
Co-developed-by: Ryder Lee <ryder.lee@mediatek.com>
Signed-off-by: Ryder Lee <ryder.lee@mediatek.com>
Signed-off-by: Bo Jiao <Bo.Jiao@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
drivers/net/wireless/mediatek/mt76/mt7915/mcu.h

index 1c99b01cdb50996569afa53c19f55e24cbb10295..25058a5233e0d4f43629aa6b6a1839b239c05811 100644 (file)
@@ -3817,19 +3817,24 @@ int mt7915_mcu_apply_tx_dpd(struct mt7915_phy *phy)
 int mt7915_mcu_get_chan_mib_info(struct mt7915_phy *phy, bool chan_switch)
 {
        /* strict order */
-       static const enum mt7915_chan_mib_offs offs[] = {
-               MIB_BUSY_TIME, MIB_TX_TIME, MIB_RX_TIME, MIB_OBSS_AIRTIME
+       static const u32 offs[] = {
+               MIB_BUSY_TIME, MIB_TX_TIME, MIB_RX_TIME, MIB_OBSS_AIRTIME,
+               MIB_BUSY_TIME_V2, MIB_TX_TIME_V2, MIB_RX_TIME_V2,
+               MIB_OBSS_AIRTIME_V2
        };
        struct mt76_channel_state *state = phy->mt76->chan_state;
        struct mt76_channel_state *state_ts = &phy->state_ts;
        struct mt7915_dev *dev = phy->dev;
        struct mt7915_mcu_mib *res, req[4];
        struct sk_buff *skb;
-       int i, ret;
+       int i, ret, start = 0;
+
+       if (!is_mt7915(&dev->mt76))
+               start = 4;
 
        for (i = 0; i < 4; i++) {
                req[i].band = cpu_to_le32(phy != &dev->phy);
-               req[i].offs = cpu_to_le32(offs[i]);
+               req[i].offs = cpu_to_le32(offs[i + start]);
        }
 
        ret = mt76_mcu_send_and_get_msg(&dev->mt76, MCU_EXT_CMD(GET_MIB_INFO),
index 92268e6969310705d80417b57db0092d510bd278..c0cc592bda1c13e35190d296f74b07840d56a8ce 100644 (file)
@@ -161,10 +161,16 @@ struct mt7915_mcu_mib {
 } __packed;
 
 enum mt7915_chan_mib_offs {
+       /* mt7915 */
        MIB_BUSY_TIME = 14,
        MIB_TX_TIME = 81,
        MIB_RX_TIME,
-       MIB_OBSS_AIRTIME = 86
+       MIB_OBSS_AIRTIME = 86,
+       /* mt7916 */
+       MIB_BUSY_TIME_V2 = 0,
+       MIB_TX_TIME_V2 = 6,
+       MIB_RX_TIME_V2 = 8,
+       MIB_OBSS_AIRTIME_V2 = 490
 };
 
 struct edca {