mirror of
https://github.com/torvalds/linux.git
synced 2026-05-31 10:33:41 +02:00
wifi: rtw89: fw: change WITH_RFK_PRE_NOTIFY to be a FW feature group
Actually, WITH_RFK_PRE_NOTIFY means supporting one of RFK_PRE_NOTIFY_Vx. So, change it to be a FW feature group which contains RFK_PRE_NOTIFY_Vx. Then, because WITH_RFK_PRE_NOTIFY is abandoned after some FW versions by chip, disable WITH_RFK_PRE_NOTIFY correspondingly in FW feature table. Signed-off-by: Zong-Zhe Yang <kevin_yang@realtek.com> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Link: https://patch.msgid.link/20251231090647.56407-9-pkshih@realtek.com
This commit is contained in:
parent
449a579119
commit
6a6b0aac28
|
|
@ -478,7 +478,7 @@ void rtw89_chip_rfk_channel(struct rtw89_dev *rtwdev,
|
|||
bool prehdl_link = false;
|
||||
|
||||
if (chip->chip_gen != RTW89_CHIP_AX &&
|
||||
!RTW89_CHK_FW_FEATURE(WITH_RFK_PRE_NOTIFY, &rtwdev->fw) &&
|
||||
!RTW89_CHK_FW_FEATURE_GROUP(WITH_RFK_PRE_NOTIFY, &rtwdev->fw) &&
|
||||
!mon && !rtw89_entity_check_hw(rtwdev, rtwvif_link->phy_idx))
|
||||
prehdl_link = true;
|
||||
|
||||
|
|
@ -6244,7 +6244,7 @@ int rtw89_core_mlsr_switch(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif,
|
|||
goto wake_queue;
|
||||
}
|
||||
|
||||
if (RTW89_CHK_FW_FEATURE(WITH_RFK_PRE_NOTIFY, &rtwdev->fw))
|
||||
if (RTW89_CHK_FW_FEATURE_GROUP(WITH_RFK_PRE_NOTIFY, &rtwdev->fw))
|
||||
rtw89_chip_rfk_channel(rtwdev, target);
|
||||
|
||||
rtwvif->mlo_mode = RTW89_MLO_MODE_MLSR;
|
||||
|
|
|
|||
|
|
@ -4682,10 +4682,12 @@ enum rtw89_fw_feature {
|
|||
RTW89_FW_FEATURE_MACID_PAUSE_SLEEP,
|
||||
RTW89_FW_FEATURE_SCAN_OFFLOAD_BE_V0,
|
||||
RTW89_FW_FEATURE_WOW_REASON_V1,
|
||||
RTW89_FW_FEATURE_RFK_PRE_NOTIFY_V0,
|
||||
RTW89_FW_FEATURE_RFK_PRE_NOTIFY_V1,
|
||||
RTW89_FW_FEATURE_RFK_PRE_NOTIFY_V2,
|
||||
RTW89_FW_FEATURE_WITH_RFK_PRE_NOTIFY,
|
||||
RTW89_FW_FEATURE_GROUP(WITH_RFK_PRE_NOTIFY,
|
||||
RTW89_FW_FEATURE_RFK_PRE_NOTIFY_V0,
|
||||
RTW89_FW_FEATURE_RFK_PRE_NOTIFY_V1,
|
||||
RTW89_FW_FEATURE_RFK_PRE_NOTIFY_V2,
|
||||
RTW89_FW_FEATURE_RFK_PRE_NOTIFY_V3,
|
||||
),
|
||||
RTW89_FW_FEATURE_RFK_RXDCK_V0,
|
||||
RTW89_FW_FEATURE_RFK_IQK_V0,
|
||||
RTW89_FW_FEATURE_NO_WOW_CPU_IO_RX,
|
||||
|
|
|
|||
|
|
@ -918,7 +918,7 @@ static const struct __fw_feat_cfg fw_feat_tbl[] = {
|
|||
__CFG_FW_FEAT(RTL8922A, ge, 0, 35, 76, 0, LPS_DACK_BY_C2H_REG),
|
||||
__CFG_FW_FEAT(RTL8922A, ge, 0, 35, 79, 0, CRASH_TRIGGER_TYPE_1),
|
||||
__CFG_FW_FEAT(RTL8922A, ge, 0, 35, 80, 0, BEACON_TRACKING),
|
||||
__CFG_FW_FEAT(RTL8922A, le, 0, 35, 80, 0, WITH_RFK_PRE_NOTIFY),
|
||||
__DIS_FW_FEAT(RTL8922A, ge, 0, 35, 84, 0, WITH_RFK_PRE_NOTIFY, G),
|
||||
__CFG_FW_FEAT(RTL8922A, lt, 0, 35, 84, 0, ADDR_CAM_V0),
|
||||
};
|
||||
|
||||
|
|
@ -6414,7 +6414,8 @@ int rtw89_fw_h2c_rf_pre_ntfy(struct rtw89_dev *rtwdev,
|
|||
u32 val32;
|
||||
int ret;
|
||||
|
||||
if (RTW89_CHK_FW_FEATURE(RFK_PRE_NOTIFY_V2, &rtwdev->fw)) {
|
||||
if (RTW89_CHK_FW_FEATURE(RFK_PRE_NOTIFY_V3, &rtwdev->fw)) {
|
||||
} else if (RTW89_CHK_FW_FEATURE(RFK_PRE_NOTIFY_V2, &rtwdev->fw)) {
|
||||
len = sizeof(*h2c_v2);
|
||||
ver = 2;
|
||||
} else if (RTW89_CHK_FW_FEATURE(RFK_PRE_NOTIFY_V1, &rtwdev->fw)) {
|
||||
|
|
|
|||
|
|
@ -720,7 +720,7 @@ static void rtw89_ops_vif_cfg_changed(struct ieee80211_hw *hw,
|
|||
if (changed & BSS_CHANGED_MLD_VALID_LINKS) {
|
||||
struct rtw89_vif_link *cur = rtw89_get_designated_link(rtwvif);
|
||||
|
||||
if (RTW89_CHK_FW_FEATURE(WITH_RFK_PRE_NOTIFY, &rtwdev->fw))
|
||||
if (RTW89_CHK_FW_FEATURE_GROUP(WITH_RFK_PRE_NOTIFY, &rtwdev->fw))
|
||||
rtw89_chip_rfk_channel(rtwdev, cur);
|
||||
|
||||
if (hweight16(vif->active_links) == 1)
|
||||
|
|
|
|||
|
|
@ -3808,7 +3808,7 @@ int rtw89_phy_rfk_pre_ntfy_and_wait(struct rtw89_dev *rtwdev,
|
|||
{
|
||||
int ret;
|
||||
|
||||
if (RTW89_CHK_FW_FEATURE(WITH_RFK_PRE_NOTIFY, &rtwdev->fw))
|
||||
if (RTW89_CHK_FW_FEATURE_GROUP(WITH_RFK_PRE_NOTIFY, &rtwdev->fw))
|
||||
goto pre_ntfy;
|
||||
|
||||
return rtw89_fw_h2c_rf_pre_ntfy_mcc(rtwdev, phy_idx);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user