cfg80211: change bandwidth reporting to explicit field
For some reason, we made the bandwidth separate flags, which
is rather confusing - a single rate cannot have different
bandwidths at the same time.
Change this to no longer be flags but use a separate field
for the bandwidth ('bw') instead.
While at it, add support for 5 and 10 MHz rates - these are
reported as regular legacy rates with their real bitrate,
but tagged as 5/10 now to make it easier to distinguish them.
In the nl80211 API, the flags are preserved, but the code
now can also clearly only set a single one of the flags.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
97d910d0aa
commit
b51f3beecf
8 changed files with 125 additions and 50 deletions
|
|
@ -2281,6 +2281,12 @@ struct nl80211_sta_flag_update {
|
|||
* @NL80211_RATE_INFO_80P80_MHZ_WIDTH: unused - 80+80 is treated the
|
||||
* same as 160 for purposes of the bitrates
|
||||
* @NL80211_RATE_INFO_160_MHZ_WIDTH: 160 MHz VHT rate
|
||||
* @NL80211_RATE_INFO_10_MHZ_WIDTH: 10 MHz width - note that this is
|
||||
* a legacy rate and will be reported as the actual bitrate, i.e.
|
||||
* half the base (20 MHz) rate
|
||||
* @NL80211_RATE_INFO_5_MHZ_WIDTH: 5 MHz width - note that this is
|
||||
* a legacy rate and will be reported as the actual bitrate, i.e.
|
||||
* a quarter of the base (20 MHz) rate
|
||||
* @__NL80211_RATE_INFO_AFTER_LAST: internal use
|
||||
*/
|
||||
enum nl80211_rate_info {
|
||||
|
|
@ -2295,6 +2301,8 @@ enum nl80211_rate_info {
|
|||
NL80211_RATE_INFO_80_MHZ_WIDTH,
|
||||
NL80211_RATE_INFO_80P80_MHZ_WIDTH,
|
||||
NL80211_RATE_INFO_160_MHZ_WIDTH,
|
||||
NL80211_RATE_INFO_10_MHZ_WIDTH,
|
||||
NL80211_RATE_INFO_5_MHZ_WIDTH,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_RATE_INFO_AFTER_LAST,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue