mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-12-30 22:01:10 +00:00
wifi: rtw89: parse TX EHT rate selected by firmware from RA C2H report
RA (rate adaptive) C2H report is to reflect current TX rate firmware is using. Parse C2H event encoded in EHT mode, and then user space and debugfs can use the information to know TX rate. Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Signed-off-by: Kalle Valo <kvalo@kernel.org> Link: https://lore.kernel.org/r/20231011115256.6121-5-pkshih@realtek.com
This commit is contained in:
parent
1f3cd090b4
commit
f456701201
@ -2742,6 +2742,7 @@ enum rtw89_ra_report_mode {
|
||||
RTW89_RA_RPT_MODE_HT,
|
||||
RTW89_RA_RPT_MODE_VHT,
|
||||
RTW89_RA_RPT_MODE_HE,
|
||||
RTW89_RA_RPT_MODE_EHT,
|
||||
};
|
||||
|
||||
enum rtw89_dig_noisy_level {
|
||||
|
||||
@ -2399,6 +2399,18 @@ static void rtw89_phy_c2h_ra_rpt_iter(void *data, struct ieee80211_sta *sta)
|
||||
ra_report->txrate.he_gi = NL80211_RATE_INFO_HE_GI_3_2;
|
||||
mcs = ra_report->txrate.mcs;
|
||||
break;
|
||||
case RTW89_RA_RPT_MODE_EHT:
|
||||
ra_report->txrate.flags |= RATE_INFO_FLAGS_EHT_MCS;
|
||||
ra_report->txrate.mcs = u8_get_bits(rate, RTW89_RA_RATE_MASK_MCS_V1);
|
||||
ra_report->txrate.nss = u8_get_bits(rate, RTW89_RA_RATE_MASK_NSS_V1) + 1;
|
||||
if (giltf == RTW89_GILTF_2XHE08 || giltf == RTW89_GILTF_1XHE08)
|
||||
ra_report->txrate.eht_gi = NL80211_RATE_INFO_EHT_GI_0_8;
|
||||
else if (giltf == RTW89_GILTF_2XHE16 || giltf == RTW89_GILTF_1XHE16)
|
||||
ra_report->txrate.eht_gi = NL80211_RATE_INFO_EHT_GI_1_6;
|
||||
else
|
||||
ra_report->txrate.eht_gi = NL80211_RATE_INFO_EHT_GI_3_2;
|
||||
mcs = ra_report->txrate.mcs;
|
||||
break;
|
||||
}
|
||||
|
||||
ra_report->txrate.bw = rtw89_hw_to_rate_info_bw(bw);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user