]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
wifi: rtw89: pass chan to rfk_band_changed()
authorZong-Zhe Yang <kevin_yang@realtek.com>
Mon, 19 Aug 2024 09:17:17 +0000 (17:17 +0800)
committerPing-Ke Shih <pkshih@realtek.com>
Tue, 27 Aug 2024 02:50:29 +0000 (10:50 +0800)
Originally, all chips have implemented rfk_band_changed() and access chan
with hard-code RTW89_CHANCTX_0 in it. But, it's problematic when the chip
supports multiple channels.

So, change the prototype of rfk_band_changed() and pass chan ahead. And,
we will refine the implementation of each chip in the following.

Signed-off-by: Zong-Zhe Yang <kevin_yang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20240819091724.33730-2-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 885c759e694a0803abab1fb4bd13b5bbce314520..87e649272b2e2b5c2eda20956efa525d198500b5 100644 (file)
@@ -429,7 +429,7 @@ int rtw89_set_channel(struct rtw89_dev *rtwdev)
 
        if (!entity_active || chan_rcd->band_changed) {
                rtw89_btc_ntfy_switch_band(rtwdev, phy_idx, chan->band_type);
-               rtw89_chip_rfk_band_changed(rtwdev, phy_idx);
+               rtw89_chip_rfk_band_changed(rtwdev, phy_idx, chan);
        }
 
        rtw89_set_entity_state(rtwdev, true);
index 0410f6d4bb65254a566c9b0795e106520dcdb60f..1e83c44e05feb5e038e80d9deec2a5075e6e2856 100644 (file)
@@ -3595,7 +3595,8 @@ struct rtw89_chip_ops {
        void (*rfk_init_late)(struct rtw89_dev *rtwdev);
        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);
+                                enum rtw89_phy_idx phy_idx,
+                                const struct rtw89_chan *chan);
        void (*rfk_scan)(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif,
                         bool start);
        void (*rfk_track)(struct rtw89_dev *rtwdev);
@@ -6227,12 +6228,13 @@ static inline void rtw89_chip_rfk_channel(struct rtw89_dev *rtwdev,
 }
 
 static inline void rtw89_chip_rfk_band_changed(struct rtw89_dev *rtwdev,
-                                              enum rtw89_phy_idx phy_idx)
+                                              enum rtw89_phy_idx phy_idx,
+                                              const struct rtw89_chan *chan)
 {
        const struct rtw89_chip_info *chip = rtwdev->chip;
 
        if (chip->ops->rfk_band_changed)
-               chip->ops->rfk_band_changed(rtwdev, phy_idx);
+               chip->ops->rfk_band_changed(rtwdev, phy_idx, chan);
 }
 
 static inline void rtw89_chip_rfk_scan(struct rtw89_dev *rtwdev,
index d1358b9a73f913cbfe522c283ce6efeaf012ceda..d5e42b2ad9ace2b4f5c645e2e497457bb167f28f 100644 (file)
@@ -1601,7 +1601,8 @@ static void rtw8851b_rfk_channel(struct rtw89_dev *rtwdev, struct rtw89_vif *rtw
 }
 
 static void rtw8851b_rfk_band_changed(struct rtw89_dev *rtwdev,
-                                     enum rtw89_phy_idx phy_idx)
+                                     enum rtw89_phy_idx phy_idx,
+                                     const struct rtw89_chan *chan)
 {
        rtw8851b_tssi_scan(rtwdev, phy_idx);
 }
index 1cbea8d665a26784dd83a062dbcb85a686f5e1ba..365f074108d4645b769ff76f276a17d4dc8593f6 100644 (file)
@@ -1361,7 +1361,8 @@ static void rtw8852a_rfk_channel(struct rtw89_dev *rtwdev, struct rtw89_vif *rtw
 }
 
 static void rtw8852a_rfk_band_changed(struct rtw89_dev *rtwdev,
-                                     enum rtw89_phy_idx phy_idx)
+                                     enum rtw89_phy_idx phy_idx,
+                                     const struct rtw89_chan *chan)
 {
        rtw8852a_tssi_scan(rtwdev, phy_idx);
 }
index 36a81c3323f8d9d3871c28bccd9cf6593cdbe8dc..d055847d2de4d6e38bb08202728818259bfd6670 100644 (file)
@@ -573,7 +573,8 @@ static void rtw8852b_rfk_channel(struct rtw89_dev *rtwdev, struct rtw89_vif *rtw
 }
 
 static void rtw8852b_rfk_band_changed(struct rtw89_dev *rtwdev,
-                                     enum rtw89_phy_idx phy_idx)
+                                     enum rtw89_phy_idx phy_idx,
+                                     const struct rtw89_chan *chan)
 {
        rtw8852b_tssi_scan(rtwdev, phy_idx);
 }
index 647bc98bcc5d4905105452312450106c8bb564ab..5eb38370aba4845210cc8cac532d1c6e43df0c29 100644 (file)
@@ -546,7 +546,8 @@ static void rtw8852bt_rfk_channel(struct rtw89_dev *rtwdev, struct rtw89_vif *rt
 }
 
 static void rtw8852bt_rfk_band_changed(struct rtw89_dev *rtwdev,
-                                      enum rtw89_phy_idx phy_idx)
+                                      enum rtw89_phy_idx phy_idx,
+                                      const struct rtw89_chan *chan)
 {
        rtw8852bt_tssi_scan(rtwdev, phy_idx);
 }
index 65e61a2ede27fb4e20621c6487227b5676be858d..1fde8a07f73c5b4dc60d27ae54c4e2aa7e4f19bf 100644 (file)
@@ -1859,7 +1859,8 @@ static void rtw8852c_rfk_channel(struct rtw89_dev *rtwdev, struct rtw89_vif *rtw
 }
 
 static void rtw8852c_rfk_band_changed(struct rtw89_dev *rtwdev,
-                                     enum rtw89_phy_idx phy_idx)
+                                     enum rtw89_phy_idx phy_idx,
+                                     const struct rtw89_chan *chan)
 {
        rtw8852c_tssi_scan(rtwdev, phy_idx);
 }
index 7f4ac8b63e4872ed812ae02ed0de8617b67c4d6a..d67bbbffb94eb245c499d4a5a2c4de08bdfd2d82 100644 (file)
@@ -2040,7 +2040,8 @@ static void rtw8922a_rfk_channel(struct rtw89_dev *rtwdev, struct rtw89_vif *rtw
 }
 
 static void rtw8922a_rfk_band_changed(struct rtw89_dev *rtwdev,
-                                     enum rtw89_phy_idx phy_idx)
+                                     enum rtw89_phy_idx phy_idx,
+                                     const struct rtw89_chan *chan)
 {
        rtw89_phy_rfk_tssi_and_wait(rtwdev, phy_idx, RTW89_TSSI_SCAN, 6);
 }