wifi: mt76: mt7925: extend mt7925_mcu_sta_he_tlv for per-link STA
authorSean Wang <sean.wang@mediatek.com>
Thu, 13 Jun 2024 03:02:23 +0000 (20:02 -0700)
committerFelix Fietkau <nbd@nbd.name>
Tue, 9 Jul 2024 21:01:55 +0000 (23:01 +0200)
Extend mt7925_mcu_sta_he_tlv with the per-link STA configuration.

The patch we created is a prerequisite to enable the MLO function in the
driver. It is purely a refactoring patch so the functionality should
remain unchanged.

Co-developed-by: Ming Yen Hsieh <mingyen.hsieh@mediatek.com>
Signed-off-by: Ming Yen Hsieh <mingyen.hsieh@mediatek.com>
Co-developed-by: Deren Wu <deren.wu@mediatek.com>
Signed-off-by: Deren Wu <deren.wu@mediatek.com>
Signed-off-by: Sean Wang <sean.wang@mediatek.com>
Link: https://patch.msgid.link/20240613030241.5771-30-sean.wang@kernel.org
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c

index e1dc8452468c9ef83c7749d4faff31a54abb5365..a57620aed63bec748b397e55a7b75a0260b7a93d 100644 (file)
@@ -1380,12 +1380,12 @@ mt7925_mcu_set_bss_pm(struct mt792x_dev *dev,
 }
 
 static void
-mt7925_mcu_sta_he_tlv(struct sk_buff *skb, struct ieee80211_sta *sta)
+mt7925_mcu_sta_he_tlv(struct sk_buff *skb, struct ieee80211_link_sta *link_sta)
 {
-       if (!sta->deflink.he_cap.has_he)
+       if (!link_sta->he_cap.has_he)
                return;
 
-       mt76_connac_mcu_sta_he_tlv_v2(skb, sta);
+       mt76_connac_mcu_sta_he_tlv_v2(skb, link_sta->sta);
 }
 
 static void
@@ -1640,7 +1640,7 @@ mt7925_mcu_sta_cmd(struct mt76_phy *phy,
                mt7925_mcu_sta_vht_tlv(skb, info->link_sta->sta);
                mt76_connac_mcu_sta_uapsd(skb, info->vif, info->link_sta->sta);
                mt7925_mcu_sta_amsdu_tlv(skb, info->vif, info->link_sta->sta);
-               mt7925_mcu_sta_he_tlv(skb, info->link_sta->sta);
+               mt7925_mcu_sta_he_tlv(skb, info->link_sta);
                mt7925_mcu_sta_he_6g_tlv(skb, info->link_sta);
                mt7925_mcu_sta_eht_tlv(skb, info->link_sta);
                mt7925_mcu_sta_rate_ctrl_tlv(skb, info->vif,