This patch adds the nl80211 structs, definitions, policies and parsing code required to pass fixed HE rate, GI and LTF settings.
Showing the changes to include/uapi (1 of 3 files). Show all
Unified · Split
| @@ -3180,6 +3180,18 @@ enum nl80211_he_gi { · 3179 unmodified lines | |||
| 3180 | NL80211_RATE_INFO_HE_GI_3_2, | 3180 | NL80211_RATE_INFO_HE_GI_3_2, |
| 3181 | }; | 3181 | }; |
| 3182 | 3182 | ||
| 3183 | /** | ||
| 3184 | * enum nl80211_he_ltf - HE long training field | ||
| 3185 | * @NL80211_RATE_INFO_HE_1xLTF: 3.2 usec | ||
| 3186 | * @NL80211_RATE_INFO_HE_2xLTF: 6.4 usec | ||
| 3187 | * @NL80211_RATE_INFO_HE_4xLTF: 12.8 usec | ||
| 3188 | */ | ||
| 3189 | enum nl80211_he_ltf { | ||
| 3190 | NL80211_RATE_INFO_HE_1XLTF, | ||
| 3191 | NL80211_RATE_INFO_HE_2XLTF, | ||
| 3192 | NL80211_RATE_INFO_HE_4XLTF, | ||
| 3193 | }; | ||
| 3194 | |||
| 3183 | /** | 3195 | /** |
| 3184 | * enum nl80211_he_ru_alloc - HE RU allocation values | 3196 | * enum nl80211_he_ru_alloc - HE RU allocation values |
| 3185 | * @NL80211_RATE_INFO_HE_RU_ALLOC_26: 26-tone RU allocation | 3197 | * @NL80211_RATE_INFO_HE_RU_ALLOC_26: 26-tone RU allocation |
| @@ -4735,6 +4747,10 @@ enum nl80211_key_attributes { · 1549 unmodified lines | |||
| 4735 | * @NL80211_TXRATE_VHT: VHT rates allowed for TX rate selection, | 4747 | * @NL80211_TXRATE_VHT: VHT rates allowed for TX rate selection, |
| 4736 | * see &struct nl80211_txrate_vht | 4748 | * see &struct nl80211_txrate_vht |
| 4737 | * @NL80211_TXRATE_GI: configure GI, see &enum nl80211_txrate_gi | 4749 | * @NL80211_TXRATE_GI: configure GI, see &enum nl80211_txrate_gi |
| 4750 | * @NL80211_TXRATE_HE: HE rates allowed for TX rate selection, | ||
| 4751 | * see &struct nl80211_txrate_he | ||
| 4752 | * @NL80211_TXRATE_HE_GI: configure HE GI, 0.8us, 1.6us and 3.2us. | ||
| 4753 | * @NL80211_TXRATE_HE_LTF: configure HE LTF, 1XLTF, 2XLTF and 4XLTF. | ||
| 4738 | * @__NL80211_TXRATE_AFTER_LAST: internal | 4754 | * @__NL80211_TXRATE_AFTER_LAST: internal |
| 4739 | * @NL80211_TXRATE_MAX: highest TX rate attribute | 4755 | * @NL80211_TXRATE_MAX: highest TX rate attribute |
| 4740 | */ | 4756 | */ |
| @@ -4744,6 +4760,9 @@ enum nl80211_tx_rate_attributes { · 3 unmodified lines | |||
| 4744 | NL80211_TXRATE_HT, | 4760 | NL80211_TXRATE_HT, |
| 4745 | NL80211_TXRATE_VHT, | 4761 | NL80211_TXRATE_VHT, |
| 4746 | NL80211_TXRATE_GI, | 4762 | NL80211_TXRATE_GI, |
| 4763 | NL80211_TXRATE_HE, | ||
| 4764 | NL80211_TXRATE_HE_GI, | ||
| 4765 | NL80211_TXRATE_HE_LTF, | ||
| 4747 | 4766 | ||
| 4748 | /* keep last */ | 4767 | /* keep last */ |
| 4749 | __NL80211_TXRATE_AFTER_LAST, | 4768 | __NL80211_TXRATE_AFTER_LAST, |
| @@ -4761,6 +4780,15 @@ struct nl80211_txrate_vht { · 11 unmodified lines | |||
| 4761 | __u16 mcs[NL80211_VHT_NSS_MAX]; | 4780 | __u16 mcs[NL80211_VHT_NSS_MAX]; |
| 4762 | }; | 4781 | }; |
| 4763 | 4782 | ||
| 4783 | #define NL80211_HE_NSS_MAX 8 | ||
| 4784 | /** | ||
| 4785 | * struct nl80211_txrate_he - HE MCS/NSS txrate bitmap | ||
| 4786 | * @mcs: MCS bitmap table for each NSS (array index 0 for 1 stream, etc.) | ||
| 4787 | */ | ||
| 4788 | struct nl80211_txrate_he { | ||
| 4789 | __u16 mcs[NL80211_HE_NSS_MAX]; | ||
| 4790 | }; | ||
| 4791 | |||
| 4764 | enum nl80211_txrate_gi { | 4792 | enum nl80211_txrate_gi { |
| 4765 | NL80211_TXRATE_DEFAULT_GI, | 4793 | NL80211_TXRATE_DEFAULT_GI, |
| 4766 | NL80211_TXRATE_FORCE_SGI, | 4794 | NL80211_TXRATE_FORCE_SGI, |