]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
wifi: ath12k: refactor ath12k_mac_op_update_vif_offload()
authorKarthikeyan Periyasamy <quic_periyasa@quicinc.com>
Sun, 14 Jan 2024 15:02:40 +0000 (17:02 +0200)
committerKalle Valo <quic_kvalo@quicinc.com>
Tue, 16 Jan 2024 12:21:36 +0000 (14:21 +0200)
To support single wiphy abstraction, introduce link/radio specific helper
function in the mac80211 callback update_vif_offload(). This way, the
callback can be extended to handle multiple link/radio in the future.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1
Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0-03427-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.15378.4

Signed-off-by: Karthikeyan Periyasamy <quic_periyasa@quicinc.com>
Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://msgid.link/20240103063731.3356060-7-quic_periyasa@quicinc.com
drivers/net/wireless/ath/ath12k/mac.c

index b6ee5527f350206dc057b63b4bcd4d92223af977..bc6746abebf0b4189e4c4239cc16f6c8d8f3b840 100644 (file)
@@ -5434,12 +5434,11 @@ static int ath12k_set_he_mu_sounding_mode(struct ath12k *ar,
        return ret;
 }
 
-static void ath12k_mac_op_update_vif_offload(struct ieee80211_hw *hw,
-                                            struct ieee80211_vif *vif)
+static void ath12k_mac_update_vif_offload(struct ath12k_vif *arvif)
 {
-       struct ath12k *ar = hw->priv;
+       struct ieee80211_vif *vif = arvif->vif;
+       struct ath12k *ar = arvif->ar;
        struct ath12k_base *ab = ar->ab;
-       struct ath12k_vif *arvif = ath12k_vif_to_arvif(vif);
        u32 param_id, param_value;
        int ret;
 
@@ -5481,6 +5480,14 @@ static void ath12k_mac_op_update_vif_offload(struct ieee80211_hw *hw,
        }
 }
 
+static void ath12k_mac_op_update_vif_offload(struct ieee80211_hw *hw,
+                                            struct ieee80211_vif *vif)
+{
+       struct ath12k_vif *arvif = ath12k_vif_to_arvif(vif);
+
+       ath12k_mac_update_vif_offload(arvif);
+}
+
 static int ath12k_mac_op_add_interface(struct ieee80211_hw *hw,
                                       struct ieee80211_vif *vif)
 {
@@ -5584,7 +5591,7 @@ static int ath12k_mac_op_add_interface(struct ieee80211_hw *hw,
        list_add(&arvif->list, &ar->arvifs);
        spin_unlock_bh(&ar->data_lock);
 
-       ath12k_mac_op_update_vif_offload(hw, vif);
+       ath12k_mac_update_vif_offload(arvif);
 
        nss = hweight32(ar->cfg_tx_chainmask) ? : 1;
        ret = ath12k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id,