Message ID | 20220711010816.45927-9-kieran.frewen@morsemicro.com |
---|---|
State | Superseded |
Headers | show |
Series | Additional support for 802.11ah (S1G) | expand |
On 7/10/2022 6:08 PM, Kieran Frewen wrote: > Increase the size of S1G rate_info flags to support S1G. Add flags for new > S1G bandwidths and S1G MCS. > > Signed-off-by: Kieran Frewen <kieran.frewen@morsemicro.com> > Signed-off-by: Bassem Dawood <bassem@morsemicro.com> > --- > include/net/cfg80211.h | 14 +++++++++++++- > 1 file changed, 13 insertions(+), 1 deletion(-) > > diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h > index 7859b8b11968..47f71fb5d07a 100644 > --- a/include/net/cfg80211.h > +++ b/include/net/cfg80211.h > @@ -1608,6 +1608,7 @@ int cfg80211_check_station_change(struct wiphy *wiphy, > * @RATE_INFO_FLAGS_EDMG: 60GHz MCS in EDMG mode > * @RATE_INFO_FLAGS_EXTENDED_SC_DMG: 60GHz extended SC MCS > * @RATE_INFO_FLAGS_EHT_MCS: EHT MCS information > + * @RATE_INFO_FLAGS_S1G_MCS: mcs field filled with S1G MCS nit: s/mcs/MCS/ > */ > enum rate_info_flags { > RATE_INFO_FLAGS_MCS = BIT(0), > @@ -1618,6 +1619,7 @@ enum rate_info_flags { > RATE_INFO_FLAGS_EDMG = BIT(5), > RATE_INFO_FLAGS_EXTENDED_SC_DMG = BIT(6), > RATE_INFO_FLAGS_EHT_MCS = BIT(7), > + RATE_INFO_FLAGS_S1G_MCS = BIT(8), > }; > > /** > @@ -1634,6 +1636,11 @@ enum rate_info_flags { > * @RATE_INFO_BW_HE_RU: bandwidth determined by HE RU allocation > * @RATE_INFO_BW_320: 320 MHz bandwidth > * @RATE_INFO_BW_EHT_RU: bandwidth determined by EHT RU allocation > + * @RATE_INFO_BW_1: 1 MHz bandwidth > + * @RATE_INFO_BW_2: 2 MHz bandwidth > + * @RATE_INFO_BW_4: 4 MHz bandwidth > + * @RATE_INFO_BW_8: 8 MHz bandwidth > + * @RATE_INFO_BW_16: 16 MHz bandwidth > */ > enum rate_info_bw { > RATE_INFO_BW_20 = 0, > @@ -1645,6 +1652,11 @@ enum rate_info_bw { > RATE_INFO_BW_HE_RU, > RATE_INFO_BW_320, > RATE_INFO_BW_EHT_RU, > + RATE_INFO_BW_1, > + RATE_INFO_BW_2, > + RATE_INFO_BW_4, > + RATE_INFO_BW_8, > + RATE_INFO_BW_16, > }; > > /** > @@ -1667,7 +1679,7 @@ enum rate_info_bw { > * only valid if bw is %RATE_INFO_BW_EHT_RU) > */ > struct rate_info { > - u8 flags; > + u16 flags; > u8 mcs; > u16 legacy; > u8 nss; should we group legacy with flags so that the two u16s are adjacent? note unfortunately we can't avoid padding
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index 7859b8b11968..47f71fb5d07a 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h @@ -1608,6 +1608,7 @@ int cfg80211_check_station_change(struct wiphy *wiphy, * @RATE_INFO_FLAGS_EDMG: 60GHz MCS in EDMG mode * @RATE_INFO_FLAGS_EXTENDED_SC_DMG: 60GHz extended SC MCS * @RATE_INFO_FLAGS_EHT_MCS: EHT MCS information + * @RATE_INFO_FLAGS_S1G_MCS: mcs field filled with S1G MCS */ enum rate_info_flags { RATE_INFO_FLAGS_MCS = BIT(0), @@ -1618,6 +1619,7 @@ enum rate_info_flags { RATE_INFO_FLAGS_EDMG = BIT(5), RATE_INFO_FLAGS_EXTENDED_SC_DMG = BIT(6), RATE_INFO_FLAGS_EHT_MCS = BIT(7), + RATE_INFO_FLAGS_S1G_MCS = BIT(8), }; /** @@ -1634,6 +1636,11 @@ enum rate_info_flags { * @RATE_INFO_BW_HE_RU: bandwidth determined by HE RU allocation * @RATE_INFO_BW_320: 320 MHz bandwidth * @RATE_INFO_BW_EHT_RU: bandwidth determined by EHT RU allocation + * @RATE_INFO_BW_1: 1 MHz bandwidth + * @RATE_INFO_BW_2: 2 MHz bandwidth + * @RATE_INFO_BW_4: 4 MHz bandwidth + * @RATE_INFO_BW_8: 8 MHz bandwidth + * @RATE_INFO_BW_16: 16 MHz bandwidth */ enum rate_info_bw { RATE_INFO_BW_20 = 0, @@ -1645,6 +1652,11 @@ enum rate_info_bw { RATE_INFO_BW_HE_RU, RATE_INFO_BW_320, RATE_INFO_BW_EHT_RU, + RATE_INFO_BW_1, + RATE_INFO_BW_2, + RATE_INFO_BW_4, + RATE_INFO_BW_8, + RATE_INFO_BW_16, }; /** @@ -1667,7 +1679,7 @@ enum rate_info_bw { * only valid if bw is %RATE_INFO_BW_EHT_RU) */ struct rate_info { - u8 flags; + u16 flags; u8 mcs; u16 legacy; u8 nss;