|
@@ -7222,6 +7222,15 @@ enum EHT_PER_BW_TXRX_MCS_NSS_MAP_IDX {
|
|
|
EHTCAP_MAC_MAX_MPDU_LEN_IDX, \
|
|
|
EHTCAP_MAC_MAX_MPDU_LEN_BITS, value)
|
|
|
|
|
|
+#define EHTCAP_MAC_MAX_A_MPDU_LEN_EXPONENT_EXT_GET_FROM_IE(__eht_cap_mac) \
|
|
|
+ ehtcap_ie_get(__eht_cap_mac[EHTCAP_MACBYTE_IDX0], \
|
|
|
+ EHTCAP_MAC_MAX_A_MPDU_LEN_IDX, \
|
|
|
+ EHTCAP_MAC_MAX_A_MPDU_LEN_BITS)
|
|
|
+#define EHTCAP_MAC_MAX_A_MPDU_LEN_EXPONENT_EXT_SET_TO_IE(__eht_cap_mac, value) \
|
|
|
+ ehtcap_ie_set(&__eht_cap_mac[EHTCAP_MACBYTE_IDX0], \
|
|
|
+ EHTCAP_MAC_MAX_A_MPDU_LEN_IDX, \
|
|
|
+ EHTCAP_MAC_MAX_A_MPDU_LEN_BITS, value)
|
|
|
+
|
|
|
/* byte 0 */
|
|
|
#define EHTCAP_PHY_320MHZIN6GHZ_GET_FROM_IE(__eht_cap_phy) \
|
|
|
ehtcap_ie_get(__eht_cap_phy[EHTCAP_PHYBYTE_IDX0], \
|
|
@@ -7664,6 +7673,10 @@ QDF_STATUS lim_ieee80211_unpack_ehtcap(const uint8_t *eht_cap_ie,
|
|
|
dot11f_eht_cap->max_mpdu_len =
|
|
|
EHTCAP_MAC_MAX_MPDU_LEN_GET_FROM_IE(ehtcap->eht_mac_cap);
|
|
|
|
|
|
+ dot11f_eht_cap->max_a_mpdu_len_exponent_ext =
|
|
|
+ EHTCAP_MAC_MAX_A_MPDU_LEN_EXPONENT_EXT_GET_FROM_IE(
|
|
|
+ ehtcap->eht_mac_cap);
|
|
|
+
|
|
|
dot11f_eht_cap->support_320mhz_6ghz =
|
|
|
EHTCAP_PHY_320MHZIN6GHZ_GET_FROM_IE(
|
|
|
ehtcap->eht_phy_cap.phy_cap_bytes);
|
|
@@ -8073,6 +8086,10 @@ void lim_ieee80211_pack_ehtcap(uint8_t *ie, tDot11fIEeht_cap dot11f_eht_cap,
|
|
|
val = dot11f_eht_cap.max_mpdu_len;
|
|
|
EHTCAP_MAC_MAX_MPDU_LEN_SET_TO_IE(ehtcap->eht_mac_cap, val);
|
|
|
|
|
|
+ val = dot11f_eht_cap.max_a_mpdu_len_exponent_ext;
|
|
|
+ EHTCAP_MAC_MAX_A_MPDU_LEN_EXPONENT_EXT_SET_TO_IE(ehtcap->eht_mac_cap,
|
|
|
+ val);
|
|
|
+
|
|
|
chwidth_320 = dot11f_eht_cap.support_320mhz_6ghz;
|
|
|
EHTCAP_PHY_320MHZIN6GHZ_SET_TO_IE(ehtcap->eht_phy_cap.phy_cap_bytes,
|
|
|
chwidth_320);
|