wifi: cfg80211: S1G rate information and calculations

Increase the size of S1G rate_info flags to support S1G and add
flags for new S1G MCS and the supported bandwidths. Also, include
S1G rate information to netlink STA rate message. Lastly, add
rate calculation function for S1G MCS.

Signed-off-by: Gilad Itzkovitch <gilad.itzkovitch@morsemicro.com>
Link: https://lore.kernel.org/r/20230518000723.991912-1-gilad.itzkovitch@morsemicro.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Gilad Itzkovitch 2023-05-18 12:07:23 +12:00 committed by Johannes Berg
parent 91ccdbb94f
commit 2ad66fcb2f
4 changed files with 162 additions and 3 deletions

View file

@ -3667,6 +3667,13 @@ enum nl80211_eht_ru_alloc {
* (u8, see &enum nl80211_eht_gi)
* @NL80211_RATE_INFO_EHT_RU_ALLOC: EHT RU allocation, if not present then
* non-OFDMA was used (u8, see &enum nl80211_eht_ru_alloc)
* @NL80211_RATE_INFO_S1G_MCS: S1G MCS index (u8, 0-10)
* @NL80211_RATE_INFO_S1G_NSS: S1G NSS value (u8, 1-4)
* @NL80211_RATE_INFO_1_MHZ_WIDTH: 1 MHz S1G rate
* @NL80211_RATE_INFO_2_MHZ_WIDTH: 2 MHz S1G rate
* @NL80211_RATE_INFO_4_MHZ_WIDTH: 4 MHz S1G rate
* @NL80211_RATE_INFO_8_MHZ_WIDTH: 8 MHz S1G rate
* @NL80211_RATE_INFO_16_MHZ_WIDTH: 16 MHz S1G rate
* @__NL80211_RATE_INFO_AFTER_LAST: internal use
*/
enum nl80211_rate_info {
@ -3693,6 +3700,13 @@ enum nl80211_rate_info {
NL80211_RATE_INFO_EHT_NSS,
NL80211_RATE_INFO_EHT_GI,
NL80211_RATE_INFO_EHT_RU_ALLOC,
NL80211_RATE_INFO_S1G_MCS,
NL80211_RATE_INFO_S1G_NSS,
NL80211_RATE_INFO_1_MHZ_WIDTH,
NL80211_RATE_INFO_2_MHZ_WIDTH,
NL80211_RATE_INFO_4_MHZ_WIDTH,
NL80211_RATE_INFO_8_MHZ_WIDTH,
NL80211_RATE_INFO_16_MHZ_WIDTH,
/* keep last */
__NL80211_RATE_INFO_AFTER_LAST,