mac80211: Update to version 5.4-rc2
[openwrt/openwrt.git] / package / network / utils / iw / patches / 001-nl80211_h_sync.patch
index bd2cb59b723020ca22a42ecb92b63f954a76993e..97cf82793d9b17f4e90e837d7ed7f52f191e405b 100644 (file)
@@ -1,46 +1,96 @@
 --- a/nl80211.h
 +++ b/nl80211.h
-@@ -657,9 +657,7 @@
-  *    is used during CSA period.
-  * @NL80211_CMD_FRAME_WAIT_CANCEL: When an off-channel TX was requested, this
-  *    command may be used with the corresponding cookie to cancel the wait
-- *    time if it is known that it is no longer necessary.  This command is
-- *    also sent as an event whenever the driver has completed the off-channel
-- *    wait time.
-+ *    time if it is known that it is no longer necessary.
-  * @NL80211_CMD_ACTION: Alias for @NL80211_CMD_FRAME for backward compatibility.
-  * @NL80211_CMD_FRAME_TX_STATUS: Report TX status of a management frame
-  *    transmitted with %NL80211_CMD_FRAME. %NL80211_ATTR_COOKIE identifies
-@@ -2358,8 +2356,8 @@ enum nl80211_commands {
+@@ -52,6 +52,11 @@
+ #define NL80211_MULTICAST_GROUP_NAN           "nan"
+ #define NL80211_MULTICAST_GROUP_TESTMODE      "testmode"
++#define NL80211_EDMG_BW_CONFIG_MIN    4
++#define NL80211_EDMG_BW_CONFIG_MAX    15
++#define NL80211_EDMG_CHANNELS_MIN     1
++#define NL80211_EDMG_CHANNELS_MAX     0x3c /* 0b00111100 */
++
+ /**
+  * DOC: Station handling
   *
-  * @NL80211_ATTR_TWT_RESPONDER: Enable target wait time responder support.
+@@ -2361,6 +2366,16 @@ enum nl80211_commands {
+  * @NL80211_ATTR_HE_OBSS_PD: nested attribute for OBSS Packet Detection
+  *    functionality.
   *
-- * @NL80211_ATTR_HE_OBSS_PD: nested attribute for OBSS Packet Detection
-- *    functionality.
++ * @NL80211_ATTR_WIPHY_EDMG_CHANNELS: bitmap that indicates the 2.16 GHz
++ *    channel(s) that are allowed to be used for EDMG transmissions.
++ *    Defined by IEEE P802.11ay/D4.0 section 9.4.2.251. (u8 attribute)
++ * @NL80211_ATTR_WIPHY_EDMG_BW_CONFIG: Channel BW Configuration subfield encodes
++ *    the allowed channel bandwidth configurations. (u8 attribute)
++ *    Defined by IEEE P802.11ay/D4.0 section 9.4.2.251, Table 13.
++ *
 + * @NL80211_ATTR_WIPHY_ANTENNA_GAIN: Configured antenna gain. Used to reduce
 + *    transmit power to stay within regulatory limits. u32, dBi.
-  *
++ *
   * @NUM_NL80211_ATTR: total number of nl80211_attrs available
   * @NL80211_ATTR_MAX: highest attribute number currently defined
-@@ -2818,7 +2816,7 @@ enum nl80211_attrs {
+  * @__NL80211_ATTR_AFTER_LAST: internal use
+@@ -2820,6 +2835,11 @@ enum nl80211_attrs {
  
-       NL80211_ATTR_TWT_RESPONDER,
+       NL80211_ATTR_HE_OBSS_PD,
  
--      NL80211_ATTR_HE_OBSS_PD,
++      NL80211_ATTR_WIPHY_EDMG_CHANNELS,
++      NL80211_ATTR_WIPHY_EDMG_BW_CONFIG,
++
 +      NL80211_ATTR_WIPHY_ANTENNA_GAIN,
++
        /* add attributes here, update the policy in nl80211.c */
  
-@@ -3843,6 +3841,8 @@ enum nl80211_user_reg_hint_type {
+       __NL80211_ATTR_AFTER_LAST,
+@@ -3201,6 +3221,8 @@ enum nl80211_sta_bss_param {
+  *    sent to the station (u64, usec)
+  * @NL80211_STA_INFO_AIRTIME_WEIGHT: current airtime weight for station (u16)
+  * @NL80211_STA_INFO_AIRTIME_LINK_METRIC: airtime link metric for mesh station
++ * @NL80211_STA_INFO_ASSOC_AT_BOOTTIME: Timestamp (CLOCK_BOOTTIME, nanoseconds)
++ *    of STA's association
+  * @__NL80211_STA_INFO_AFTER_LAST: internal
+  * @NL80211_STA_INFO_MAX: highest possible station info attribute
+  */
+@@ -3247,6 +3269,7 @@ enum nl80211_sta_info {
+       NL80211_STA_INFO_TX_DURATION,
+       NL80211_STA_INFO_AIRTIME_WEIGHT,
+       NL80211_STA_INFO_AIRTIME_LINK_METRIC,
++      NL80211_STA_INFO_ASSOC_AT_BOOTTIME,
+       /* keep last */
+       __NL80211_STA_INFO_AFTER_LAST,
+@@ -3428,6 +3451,12 @@ enum nl80211_band_iftype_attr {
+  * @NL80211_BAND_ATTR_VHT_CAPA: VHT capabilities, as in the HT information IE
+  * @NL80211_BAND_ATTR_IFTYPE_DATA: nested array attribute, with each entry using
+  *    attributes from &enum nl80211_band_iftype_attr
++ * @NL80211_BAND_ATTR_EDMG_CHANNELS: bitmap that indicates the 2.16 GHz
++ *    channel(s) that are allowed to be used for EDMG transmissions.
++ *    Defined by IEEE P802.11ay/D4.0 section 9.4.2.251.
++ * @NL80211_BAND_ATTR_EDMG_BW_CONFIG: Channel BW Configuration subfield encodes
++ *    the allowed channel bandwidth configurations.
++ *    Defined by IEEE P802.11ay/D4.0 section 9.4.2.251, Table 13.
+  * @NL80211_BAND_ATTR_MAX: highest band attribute currently defined
+  * @__NL80211_BAND_ATTR_AFTER_LAST: internal use
+  */
+@@ -3445,6 +3474,9 @@ enum nl80211_band_attr {
+       NL80211_BAND_ATTR_VHT_CAPA,
+       NL80211_BAND_ATTR_IFTYPE_DATA,
++      NL80211_BAND_ATTR_EDMG_CHANNELS,
++      NL80211_BAND_ATTR_EDMG_BW_CONFIG,
++
+       /* keep last */
+       __NL80211_BAND_ATTR_AFTER_LAST,
+       NL80211_BAND_ATTR_MAX = __NL80211_BAND_ATTR_AFTER_LAST - 1
+@@ -3843,6 +3875,8 @@ enum nl80211_user_reg_hint_type {
   * @NL80211_SURVEY_INFO_TIME_SCAN: time the radio spent for scan
   *    (on this channel or globally)
   * @NL80211_SURVEY_INFO_PAD: attribute used for padding for 64-bit alignment
 + * @NL80211_SURVEY_INFO_TIME_BSS_RX: amount of time the radio spent
-+ *    receiving local BSS data
++ *    receiving frames destined to the local BSS
   * @NL80211_SURVEY_INFO_MAX: highest survey info attribute number
   *    currently defined
   * @__NL80211_SURVEY_INFO_AFTER_LAST: internal use
-@@ -3859,6 +3859,7 @@ enum nl80211_survey_info {
+@@ -3859,6 +3893,7 @@ enum nl80211_survey_info {
        NL80211_SURVEY_INFO_TIME_TX,
        NL80211_SURVEY_INFO_TIME_SCAN,
        NL80211_SURVEY_INFO_PAD,
  
        /* keep last */
        __NL80211_SURVEY_INFO_AFTER_LAST,
-@@ -6495,26 +6496,4 @@ enum nl80211_peer_measurement_ftm_resp {
-       NL80211_PMSR_FTM_RESP_ATTR_MAX = NUM_NL80211_PMSR_FTM_RESP_ATTR - 1
- };
+@@ -4543,6 +4578,7 @@ enum nl80211_txrate_gi {
+  * @NL80211_BAND_2GHZ: 2.4 GHz ISM band
+  * @NL80211_BAND_5GHZ: around 5 GHz band (4.9 - 5.7 GHz)
+  * @NL80211_BAND_60GHZ: around 60 GHz band (58.32 - 69.12 GHz)
++ * @NL80211_BAND_6GHZ: around 6 GHz band (5.9 - 7.2 GHz)
+  * @NUM_NL80211_BANDS: number of bands, avoid using this in userspace
+  *    since newer kernel versions may support more bands
+  */
+@@ -4550,6 +4586,7 @@ enum nl80211_band {
+       NL80211_BAND_2GHZ,
+       NL80211_BAND_5GHZ,
+       NL80211_BAND_60GHZ,
++      NL80211_BAND_6GHZ,
  
--/**
-- * enum nl80211_obss_pd_attributes - OBSS packet detection attributes
-- * @__NL80211_HE_OBSS_PD_ATTR_INVALID: Invalid
-- *
-- * @NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET: the OBSS PD minimum tx power offset.
-- * @NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET: the OBSS PD maximum tx power offset.
-- *
-- * @__NL80211_HE_OBSS_PD_ATTR_LAST: Internal
-- * @NL80211_HE_OBSS_PD_ATTR_MAX: highest OBSS PD attribute.
-- */
--enum nl80211_obss_pd_attributes {
--      __NL80211_HE_OBSS_PD_ATTR_INVALID,
--
--      NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET,
--      NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET,
--
--      /* keep last */
--      __NL80211_HE_OBSS_PD_ATTR_LAST,
--      NL80211_HE_OBSS_PD_ATTR_MAX = __NL80211_HE_OBSS_PD_ATTR_LAST - 1,
--};
--
--
- #endif /* __LINUX_NL80211_H */
+       NUM_NL80211_BANDS,
+ };