History

nl80211: add support for setting fixed HE rate/gi/ltf

This patch adds the nl80211 structs, definitions, policies and parsing code required to pass fixed HE rate, GI and LTF settings.

Miles Hu committed 6 years ago

Commit eb89a6a1 parent 493a0eb3 files · +160 −8Browse files

Showing the changes to include/uapi (1 of 3 files). Show all

Unified · Split

include/uapi/linux/nl80211.h+28−0
@@ -3180,6 +3180,18 @@ enum nl80211_he_gi { · 3179 unmodified lines
31803180 NL80211_RATE_INFO_HE_GI_3_2,
31813181 };
31823182
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+
31833195 /**
31843196 * enum nl80211_he_ru_alloc - HE RU allocation values
31853197 * @NL80211_RATE_INFO_HE_RU_ALLOC_26: 26-tone RU allocation
@@ -4735,6 +4747,10 @@ enum nl80211_key_attributes { · 1549 unmodified lines
47354747 * @NL80211_TXRATE_VHT: VHT rates allowed for TX rate selection,
47364748 * see &struct nl80211_txrate_vht
47374749 * @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.
47384754 * @__NL80211_TXRATE_AFTER_LAST: internal
47394755 * @NL80211_TXRATE_MAX: highest TX rate attribute
47404756 */
@@ -4744,6 +4760,9 @@ enum nl80211_tx_rate_attributes { · 3 unmodified lines
47444760 NL80211_TXRATE_HT,
47454761 NL80211_TXRATE_VHT,
47464762 NL80211_TXRATE_GI,
4763+ NL80211_TXRATE_HE,
4764+ NL80211_TXRATE_HE_GI,
4765+ NL80211_TXRATE_HE_LTF,
47474766
47484767 /* keep last */
47494768 __NL80211_TXRATE_AFTER_LAST,
@@ -4761,6 +4780,15 @@ struct nl80211_txrate_vht { · 11 unmodified lines
47614780 __u16 mcs[NL80211_VHT_NSS_MAX];
47624781 };
47634782
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+
47644792 enum nl80211_txrate_gi {
47654793 NL80211_TXRATE_DEFAULT_GI,
47664794 NL80211_TXRATE_FORCE_SGI,