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 | 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 | 3196 | * enum nl80211_he_ru_alloc - HE RU allocation values |
| 3185 | 3197 | * @NL80211_RATE_INFO_HE_RU_ALLOC_26: 26-tone RU allocation |
| @@ -4735,6 +4747,10 @@ enum nl80211_key_attributes { · 1549 unmodified lines | ||
| 4735 | 4747 | * @NL80211_TXRATE_VHT: VHT rates allowed for TX rate selection, |
| 4736 | 4748 | * see &struct nl80211_txrate_vht |
| 4737 | 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 | 4754 | * @__NL80211_TXRATE_AFTER_LAST: internal |
| 4739 | 4755 | * @NL80211_TXRATE_MAX: highest TX rate attribute |
| 4740 | 4756 | */ |
| @@ -4744,6 +4760,9 @@ enum nl80211_tx_rate_attributes { · 3 unmodified lines | ||
| 4744 | 4760 | NL80211_TXRATE_HT, |
| 4745 | 4761 | NL80211_TXRATE_VHT, |
| 4746 | 4762 | NL80211_TXRATE_GI, |
| 4763 | + NL80211_TXRATE_HE, | |
| 4764 | + NL80211_TXRATE_HE_GI, | |
| 4765 | + NL80211_TXRATE_HE_LTF, | |
| 4747 | 4766 | |
| 4748 | 4767 | /* keep last */ |
| 4749 | 4768 | __NL80211_TXRATE_AFTER_LAST, |
| @@ -4761,6 +4780,15 @@ struct nl80211_txrate_vht { · 11 unmodified lines | ||
| 4761 | 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 | 4792 | enum nl80211_txrate_gi { |
| 4765 | 4793 | NL80211_TXRATE_DEFAULT_GI, |
| 4766 | 4794 | NL80211_TXRATE_FORCE_SGI, |