]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
wifi: rtw89: pass rtwvif to RFK scan
authorZong-Zhe Yang <kevin_yang@realtek.com>
Sat, 27 Jul 2024 08:06:48 +0000 (16:06 +0800)
committerPing-Ke Shih <pkshih@realtek.com>
Fri, 2 Aug 2024 01:37:04 +0000 (09:37 +0800)
For chips supporting multiple channels, they need to get target info
from rtwvif, e.g. PHY index and Chanctx index.

So, change rfk_scan prototype and pass rtwvif ahead.

Signed-off-by: Zong-Zhe Yang <kevin_yang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20240727080650.12195-6-pkshih@realtek.com
drivers/net/wireless/realtek/rtw89/core.c
drivers/net/wireless/realtek/rtw89/core.h
drivers/net/wireless/realtek/rtw89/rtw8851b.c
drivers/net/wireless/realtek/rtw89/rtw8852a.c
drivers/net/wireless/realtek/rtw89/rtw8852b.c
drivers/net/wireless/realtek/rtw89/rtw8852bt.c
drivers/net/wireless/realtek/rtw89/rtw8852c.c
drivers/net/wireless/realtek/rtw89/rtw8922a.c

index b502bacd429bf1f2b2c313832383f711e27f1f16..894b03d77a05c314db650de01e3b54fc67d0ba5b 100644 (file)
@@ -4372,7 +4372,7 @@ void rtw89_core_scan_start(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif,
 
        ether_addr_copy(rtwvif->mac_addr, mac_addr);
        rtw89_btc_ntfy_scan_start(rtwdev, RTW89_PHY_0, chan->band_type);
-       rtw89_chip_rfk_scan(rtwdev, true);
+       rtw89_chip_rfk_scan(rtwdev, rtwvif, true);
        rtw89_hci_recalc_int_mit(rtwdev);
        rtw89_phy_config_edcca(rtwdev, true);
 
@@ -4390,7 +4390,7 @@ void rtw89_core_scan_complete(struct rtw89_dev *rtwdev,
        ether_addr_copy(rtwvif->mac_addr, vif->addr);
        rtw89_fw_h2c_cam(rtwdev, rtwvif, NULL, NULL);
 
-       rtw89_chip_rfk_scan(rtwdev, false);
+       rtw89_chip_rfk_scan(rtwdev, rtwvif, false);
        rtw89_btc_ntfy_scan_finish(rtwdev, RTW89_PHY_0);
        rtw89_phy_config_edcca(rtwdev, false);
 
index 9fe3762951a836aa15c93b79e50bcdcb2ddea1bd..fc31655d9e7cc8c8b88d7c24ef2574cbb4d78a6b 100644 (file)
@@ -3543,7 +3543,8 @@ struct rtw89_chip_ops {
        void (*rfk_channel)(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif);
        void (*rfk_band_changed)(struct rtw89_dev *rtwdev,
                                 enum rtw89_phy_idx phy_idx);
-       void (*rfk_scan)(struct rtw89_dev *rtwdev, bool start);
+       void (*rfk_scan)(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif,
+                        bool start);
        void (*rfk_track)(struct rtw89_dev *rtwdev);
        void (*power_trim)(struct rtw89_dev *rtwdev);
        void (*set_txpwr)(struct rtw89_dev *rtwdev,
@@ -6169,12 +6170,13 @@ static inline void rtw89_chip_rfk_band_changed(struct rtw89_dev *rtwdev,
                chip->ops->rfk_band_changed(rtwdev, phy_idx);
 }
 
-static inline void rtw89_chip_rfk_scan(struct rtw89_dev *rtwdev, bool start)
+static inline void rtw89_chip_rfk_scan(struct rtw89_dev *rtwdev,
+                                      struct rtw89_vif *rtwvif, bool start)
 {
        const struct rtw89_chip_info *chip = rtwdev->chip;
 
        if (chip->ops->rfk_scan)
-               chip->ops->rfk_scan(rtwdev, start);
+               chip->ops->rfk_scan(rtwdev, rtwvif, start);
 }
 
 static inline void rtw89_chip_rfk_track(struct rtw89_dev *rtwdev)
index 8cbbe10cb095a44bf2d84570c27f50999d2c3218..cfaea0193d35f08fda2ce9c5a07f55adf4c62e5d 100644 (file)
@@ -1606,9 +1606,10 @@ static void rtw8851b_rfk_band_changed(struct rtw89_dev *rtwdev,
        rtw8851b_tssi_scan(rtwdev, phy_idx);
 }
 
-static void rtw8851b_rfk_scan(struct rtw89_dev *rtwdev, bool start)
+static void rtw8851b_rfk_scan(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif,
+                             bool start)
 {
-       rtw8851b_wifi_scan_notify(rtwdev, start, RTW89_PHY_0);
+       rtw8851b_wifi_scan_notify(rtwdev, start, rtwvif->phy_idx);
 }
 
 static void rtw8851b_rfk_track(struct rtw89_dev *rtwdev)
index 5405a883d74a9ec780ec990bcec2eb5eb2b87b32..ec9f7bc5c6d2b98b7ee6bd64283d5db5fb2b17ce 100644 (file)
@@ -1361,9 +1361,10 @@ static void rtw8852a_rfk_band_changed(struct rtw89_dev *rtwdev,
        rtw8852a_tssi_scan(rtwdev, phy_idx);
 }
 
-static void rtw8852a_rfk_scan(struct rtw89_dev *rtwdev, bool start)
+static void rtw8852a_rfk_scan(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif,
+                             bool start)
 {
-       rtw8852a_wifi_scan_notify(rtwdev, start, RTW89_PHY_0);
+       rtw8852a_wifi_scan_notify(rtwdev, start, rtwvif->phy_idx);
 }
 
 static void rtw8852a_rfk_track(struct rtw89_dev *rtwdev)
index ec74afad32dae38f197ee9024d9e77671fc70cc3..71c166202560e43611d887c72d96e8d9db376a43 100644 (file)
@@ -578,9 +578,10 @@ static void rtw8852b_rfk_band_changed(struct rtw89_dev *rtwdev,
        rtw8852b_tssi_scan(rtwdev, phy_idx);
 }
 
-static void rtw8852b_rfk_scan(struct rtw89_dev *rtwdev, bool start)
+static void rtw8852b_rfk_scan(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif,
+                             bool start)
 {
-       rtw8852b_wifi_scan_notify(rtwdev, start, RTW89_PHY_0);
+       rtw8852b_wifi_scan_notify(rtwdev, start, rtwvif->phy_idx);
 }
 
 static void rtw8852b_rfk_track(struct rtw89_dev *rtwdev)
index 733876d4bb59d512dad0e992da663b77551a748e..9aa2106a64b762163e66b7353bd84cefd26dbb7f 100644 (file)
@@ -551,9 +551,10 @@ static void rtw8852bt_rfk_band_changed(struct rtw89_dev *rtwdev,
        rtw8852bt_tssi_scan(rtwdev, phy_idx);
 }
 
-static void rtw8852bt_rfk_scan(struct rtw89_dev *rtwdev, bool start)
+static void rtw8852bt_rfk_scan(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif,
+                              bool start)
 {
-       rtw8852bt_wifi_scan_notify(rtwdev, start, RTW89_PHY_0);
+       rtw8852bt_wifi_scan_notify(rtwdev, start, rtwvif->phy_idx);
 }
 
 static void rtw8852bt_rfk_track(struct rtw89_dev *rtwdev)
index f14e320feac024c24694a8cbdadac23c8ee83913..e0c1cf8811a2fb4b8753dcfbff2e533986dfa8fb 100644 (file)
@@ -1864,9 +1864,10 @@ static void rtw8852c_rfk_band_changed(struct rtw89_dev *rtwdev,
        rtw8852c_tssi_scan(rtwdev, phy_idx);
 }
 
-static void rtw8852c_rfk_scan(struct rtw89_dev *rtwdev, bool start)
+static void rtw8852c_rfk_scan(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif,
+                             bool start)
 {
-       rtw8852c_wifi_scan_notify(rtwdev, start, RTW89_PHY_0);
+       rtw8852c_wifi_scan_notify(rtwdev, start, rtwvif->phy_idx);
 }
 
 static void rtw8852c_rfk_track(struct rtw89_dev *rtwdev)
index 9b9a1dd11d4f20961ea5187913ba97a08f48c4a3..6aa706d8a420af845cd7584ed83a1d2427b256c0 100644 (file)
@@ -1989,7 +1989,8 @@ static void rtw8922a_rfk_band_changed(struct rtw89_dev *rtwdev,
        rtw89_phy_rfk_tssi_and_wait(rtwdev, phy_idx, RTW89_TSSI_SCAN, 6);
 }
 
-static void rtw8922a_rfk_scan(struct rtw89_dev *rtwdev, bool start)
+static void rtw8922a_rfk_scan(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif,
+                             bool start)
 {
 }