diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/net/cfg80211.h | 24 | ||||
| -rw-r--r-- | include/uapi/linux/nl80211.h | 12 | 
2 files changed, 28 insertions, 8 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index 977da58fb7ea..e78db2cf3d1b 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h @@ -662,16 +662,24 @@ enum station_info_flags {   * Used by the driver to indicate the specific rate transmission   * type for 802.11n transmissions.   * - * @RATE_INFO_FLAGS_MCS: @tx_bitrate_mcs filled - * @RATE_INFO_FLAGS_40_MHZ_WIDTH: 40 Mhz width transmission + * @RATE_INFO_FLAGS_MCS: mcs field filled with HT MCS + * @RATE_INFO_FLAGS_VHT_MCS: mcs field filled with VHT MCS + * @RATE_INFO_FLAGS_40_MHZ_WIDTH: 40 MHz width transmission + * @RATE_INFO_FLAGS_80_MHZ_WIDTH: 80 MHz width transmission + * @RATE_INFO_FLAGS_80P80_MHZ_WIDTH: 80+80 MHz width transmission + * @RATE_INFO_FLAGS_160_MHZ_WIDTH: 160 MHz width transmission   * @RATE_INFO_FLAGS_SHORT_GI: 400ns guard interval - * @RATE_INFO_FLAGS_60G: 60gHz MCS + * @RATE_INFO_FLAGS_60G: 60GHz MCS   */  enum rate_info_flags { -	RATE_INFO_FLAGS_MCS		= 1<<0, -	RATE_INFO_FLAGS_40_MHZ_WIDTH	= 1<<1, -	RATE_INFO_FLAGS_SHORT_GI	= 1<<2, -	RATE_INFO_FLAGS_60G		= 1<<3, +	RATE_INFO_FLAGS_MCS			= BIT(0), +	RATE_INFO_FLAGS_VHT_MCS			= BIT(1), +	RATE_INFO_FLAGS_40_MHZ_WIDTH		= BIT(2), +	RATE_INFO_FLAGS_80_MHZ_WIDTH		= BIT(3), +	RATE_INFO_FLAGS_80P80_MHZ_WIDTH		= BIT(4), +	RATE_INFO_FLAGS_160_MHZ_WIDTH		= BIT(5), +	RATE_INFO_FLAGS_SHORT_GI		= BIT(6), +	RATE_INFO_FLAGS_60G			= BIT(7),  };  /** @@ -682,11 +690,13 @@ enum rate_info_flags {   * @flags: bitflag of flags from &enum rate_info_flags   * @mcs: mcs index if struct describes a 802.11n bitrate   * @legacy: bitrate in 100kbit/s for 802.11abg + * @nss: number of streams (VHT only)   */  struct rate_info {  	u8 flags;  	u8 mcs;  	u16 legacy; +	u8 nss;  };  /** diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h index 84f9c7d84c69..33a417481ad8 100644 --- a/include/uapi/linux/nl80211.h +++ b/include/uapi/linux/nl80211.h @@ -1734,10 +1734,15 @@ struct nl80211_sta_flag_update {   * @__NL80211_RATE_INFO_INVALID: attribute number 0 is reserved   * @NL80211_RATE_INFO_BITRATE: total bitrate (u16, 100kbit/s)   * @NL80211_RATE_INFO_MCS: mcs index for 802.11n (u8) - * @NL80211_RATE_INFO_40_MHZ_WIDTH: 40 Mhz dualchannel bitrate + * @NL80211_RATE_INFO_40_MHZ_WIDTH: 40 MHz dualchannel bitrate   * @NL80211_RATE_INFO_SHORT_GI: 400ns guard interval   * @NL80211_RATE_INFO_BITRATE32: total bitrate (u32, 100kbit/s)   * @NL80211_RATE_INFO_MAX: highest rate_info number currently defined + * @NL80211_RATE_INFO_VHT_MCS: MCS index for VHT (u8) + * @NL80211_RATE_INFO_VHT_NSS: number of streams in VHT (u8) + * @NL80211_RATE_INFO_80_MHZ_WIDTH: 80 MHz VHT rate + * @NL80211_RATE_INFO_80P80_MHZ_WIDTH: 80+80 MHz VHT rate + * @NL80211_RATE_INFO_160_MHZ_WIDTH: 160 MHz VHT rate   * @__NL80211_RATE_INFO_AFTER_LAST: internal use   */  enum nl80211_rate_info { @@ -1747,6 +1752,11 @@ enum nl80211_rate_info {  	NL80211_RATE_INFO_40_MHZ_WIDTH,  	NL80211_RATE_INFO_SHORT_GI,  	NL80211_RATE_INFO_BITRATE32, +	NL80211_RATE_INFO_VHT_MCS, +	NL80211_RATE_INFO_VHT_NSS, +	NL80211_RATE_INFO_80_MHZ_WIDTH, +	NL80211_RATE_INFO_80P80_MHZ_WIDTH, +	NL80211_RATE_INFO_160_MHZ_WIDTH,  	/* keep last */  	__NL80211_RATE_INFO_AFTER_LAST,  |