mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-18 22:14:16 +00:00
wifi: rtw89: pass rtwvif to RFK scan
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
This commit is contained in:
parent
75d853d4ae
commit
ed5f66a281
8 changed files with 24 additions and 16 deletions
|
@ -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);
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue