mt76: connac: move mt76_connac_mcu_bss_ext_tlv in connac module
authorLorenzo Bianconi <lorenzo@kernel.org>
Thu, 23 Dec 2021 12:07:31 +0000 (13:07 +0100)
committerFelix Fietkau <nbd@nbd.name>
Thu, 3 Feb 2022 12:57:57 +0000 (13:57 +0100)
Move mt7915_mcu_bss_ext_tlv/mt7615_mcu_bss_ext_tlv in connac module
since it is shared between mt7615 and mt7915 drivers.

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c

index 7c48bce..40b8cdc 100644 (file)
@@ -836,26 +836,6 @@ mt7615_mcu_bss_basic_tlv(struct sk_buff *skb, struct ieee80211_vif *vif,
        return 0;
 }
 
-/* SIFS 20us + 512 byte beacon tranmitted by 1Mbps (3906us) */
-#define BCN_TX_ESTIMATE_TIME (4096 + 20)
-static void
-mt7615_mcu_bss_ext_tlv(struct sk_buff *skb, struct mt7615_vif *mvif)
-{
-       struct bss_info_ext_bss *ext;
-       int ext_bss_idx, tsf_offset;
-       struct tlv *tlv;
-
-       ext_bss_idx = mvif->mt76.omac_idx - EXT_BSSID_START;
-       if (ext_bss_idx < 0)
-               return;
-
-       tlv = mt76_connac_mcu_add_tlv(skb, BSS_INFO_EXT_BSS, sizeof(*ext));
-
-       ext = (struct bss_info_ext_bss *)tlv;
-       tsf_offset = ext_bss_idx * BCN_TX_ESTIMATE_TIME;
-       ext->mbss_tsf_offset = cpu_to_le32(tsf_offset);
-}
-
 static int
 mt7615_mcu_add_bss(struct mt7615_phy *phy, struct ieee80211_vif *vif,
                   struct ieee80211_sta *sta, bool enable)
@@ -878,7 +858,7 @@ mt7615_mcu_add_bss(struct mt7615_phy *phy, struct ieee80211_vif *vif,
 
        if (enable && mvif->mt76.omac_idx >= EXT_BSSID_START &&
            mvif->mt76.omac_idx < REPEATER_BSSID_START)
-               mt7615_mcu_bss_ext_tlv(skb, mvif);
+               mt76_connac_mcu_bss_ext_tlv(skb, &mvif->mt76);
 
        return mt76_mcu_skb_send_msg(&dev->mt76, skb,
                                     MCU_EXT_CMD(BSS_INFO_UPDATE), true);
index 44be4e6..93c5e4d 100644 (file)
@@ -2612,5 +2612,25 @@ int mt76_connac_mcu_add_key(struct mt76_dev *dev, struct ieee80211_vif *vif,
 }
 EXPORT_SYMBOL_GPL(mt76_connac_mcu_add_key);
 
+/* SIFS 20us + 512 byte beacon tranmitted by 1Mbps (3906us) */
+#define BCN_TX_ESTIMATE_TIME (4096 + 20)
+void mt76_connac_mcu_bss_ext_tlv(struct sk_buff *skb, struct mt76_vif *mvif)
+{
+       struct bss_info_ext_bss *ext;
+       int ext_bss_idx, tsf_offset;
+       struct tlv *tlv;
+
+       ext_bss_idx = mvif->omac_idx - EXT_BSSID_START;
+       if (ext_bss_idx < 0)
+               return;
+
+       tlv = mt76_connac_mcu_add_tlv(skb, BSS_INFO_EXT_BSS, sizeof(*ext));
+
+       ext = (struct bss_info_ext_bss *)tlv;
+       tsf_offset = ext_bss_idx * BCN_TX_ESTIMATE_TIME;
+       ext->mbss_tsf_offset = cpu_to_le32(tsf_offset);
+}
+EXPORT_SYMBOL_GPL(mt76_connac_mcu_bss_ext_tlv);
+
 MODULE_AUTHOR("Lorenzo Bianconi <lorenzo@kernel.org>");
 MODULE_LICENSE("Dual BSD/GPL");
index ec37225..84ab91d 100644 (file)
@@ -1593,6 +1593,7 @@ int mt76_connac_mcu_add_key(struct mt76_dev *dev, struct ieee80211_vif *vif,
                            struct ieee80211_key_conf *key, int mcu_cmd,
                            struct mt76_wcid *wcid, enum set_key_cmd cmd);
 
+void mt76_connac_mcu_bss_ext_tlv(struct sk_buff *skb, struct mt76_vif *mvif);
 void mt76_connac_mcu_bss_omac_tlv(struct sk_buff *skb,
                                  struct ieee80211_vif *vif);
 #endif /* __MT76_CONNAC_MCU_H */
index 20dc4de..32a4611 100644 (file)
@@ -705,26 +705,6 @@ mt7915_mcu_bss_hw_amsdu_tlv(struct sk_buff *skb)
 }
 
 static void
-mt7915_mcu_bss_ext_tlv(struct sk_buff *skb, struct mt7915_vif *mvif)
-{
-/* SIFS 20us + 512 byte beacon tranmitted by 1Mbps (3906us) */
-#define BCN_TX_ESTIMATE_TIME   (4096 + 20)
-       struct bss_info_ext_bss *ext;
-       int ext_bss_idx, tsf_offset;
-       struct tlv *tlv;
-
-       ext_bss_idx = mvif->mt76.omac_idx - EXT_BSSID_START;
-       if (ext_bss_idx < 0)
-               return;
-
-       tlv = mt76_connac_mcu_add_tlv(skb, BSS_INFO_EXT_BSS, sizeof(*ext));
-
-       ext = (struct bss_info_ext_bss *)tlv;
-       tsf_offset = ext_bss_idx * BCN_TX_ESTIMATE_TIME;
-       ext->mbss_tsf_offset = cpu_to_le32(tsf_offset);
-}
-
-static void
 mt7915_mcu_bss_bmc_tlv(struct sk_buff *skb, struct mt7915_phy *phy)
 {
        struct bss_info_bmc_rate *bmc;
@@ -818,7 +798,7 @@ int mt7915_mcu_add_bss_info(struct mt7915_phy *phy,
 
                if (mvif->mt76.omac_idx >= EXT_BSSID_START &&
                    mvif->mt76.omac_idx < REPEATER_BSSID_START)
-                       mt7915_mcu_bss_ext_tlv(skb, mvif);
+                       mt76_connac_mcu_bss_ext_tlv(skb, &mvif->mt76);
        }
 out:
        return mt76_mcu_skb_send_msg(&dev->mt76, skb,