Bläddra i källkod

qcacld-3.0: Update EHT CAP's IE as per draft 2.0

Update EHT CAP's IE as per draft 2.0.

Change-Id: I002cfc8fa1e37ec340ea9e257ee293d1c09c9a3f
CRs-Fixed: 3221504
Paul Zhang 2 år sedan
förälder
incheckning
d3e27dca30

+ 3 - 0
core/mac/src/pe/lim/lim_utils.c

@@ -8630,6 +8630,9 @@ void lim_set_eht_caps(struct mac_context *mac, struct pe_session *session,
 			dot11_cap.max_mpdu_len;
 		eht_cap->max_a_mpdu_len_exponent_ext =
 			dot11_cap.max_a_mpdu_len_exponent_ext;
+		eht_cap->eht_trs_support = dot11_cap.eht_trs_support;
+		eht_cap->txop_return_support_txop_share_m2 =
+			dot11_cap.txop_return_support_txop_share_m2;
 		eht_cap->support_320mhz_6ghz = dot11_cap.support_320mhz_6ghz;
 		eht_cap->ru_242tone_wt_20mhz = dot11_cap.ru_242tone_wt_20mhz;
 		eht_cap->ndp_4x_eht_ltf_3dot2_us_gi =

+ 32 - 0
core/mac/src/sys/legacy/src/utils/src/parser_api.c

@@ -7416,6 +7416,24 @@ enum EHT_PER_BW_TXRX_MCS_NSS_MAP_IDX {
 				      EHTCAP_MAC_MAX_A_MPDU_LEN_IDX, \
 				      EHTCAP_MAC_MAX_A_MPDU_LEN_BITS, value)
 
+#define EHTCAP_MAC_EHT_TRS_SUPPORT_GET_FROM_IE(__eht_cap_mac) \
+			ehtcap_ie_get(__eht_cap_mac[EHTCAP_MACBYTE_IDX0], \
+				      EHTCAP_MAC_TRS_SUPPORT_IDX, \
+				      EHTCAP_MAC_TRS_SUPPORT_BITS)
+#define EHTCAP_MAC_EHT_TRS_SUPPORT_SET_TO_IE(__eht_cap_mac, value) \
+			ehtcap_ie_set(&__eht_cap_mac[EHTCAP_MACBYTE_IDX0], \
+				      EHTCAP_MAC_TRS_SUPPORT_IDX, \
+				      EHTCAP_MAC_TRS_SUPPORT_BITS, value)
+
+#define EHTCAP_MAC_TXOP_RETURN_SUPPORT_SHARE_M2_GET_FROM_IE(__eht_cap_mac) \
+			ehtcap_ie_get(__eht_cap_mac[EHTCAP_MACBYTE_IDX0], \
+				      EHTCAP_MAC_TXOP_RET_SUPPP_IN_SHARING_MODE2_IDX, \
+				      EHTCAP_MAC_TXOP_RET_SUPPP_IN_SHARING_MODE2_BITS)
+#define EHTCAP_MAC_TXOP_RETURN_SUPPORT_SHARE_M2_SET_FROM_IE(__eht_cap_mac, value) \
+			ehtcap_ie_set(&__eht_cap_mac[EHTCAP_MACBYTE_IDX0], \
+				      EHTCAP_MAC_TXOP_RET_SUPPP_IN_SHARING_MODE2_IDX, \
+				      EHTCAP_MAC_TXOP_RET_SUPPP_IN_SHARING_MODE2_BITS, \
+				      value)
 /* byte 0 */
 #define EHTCAP_PHY_320MHZIN6GHZ_GET_FROM_IE(__eht_cap_phy) \
 			ehtcap_ie_get(__eht_cap_phy[EHTCAP_PHYBYTE_IDX0], \
@@ -7954,6 +7972,13 @@ QDF_STATUS lim_ieee80211_unpack_ehtcap(const uint8_t *eht_cap_ie,
 		  EHTCAP_MAC_MAX_A_MPDU_LEN_EXPONENT_EXT_GET_FROM_IE(
 				ehtcap->eht_mac_cap);
 
+	dot11f_eht_cap->eht_trs_support =
+		EHTCAP_MAC_EHT_TRS_SUPPORT_GET_FROM_IE(ehtcap->eht_mac_cap);
+
+	dot11f_eht_cap->txop_return_support_txop_share_m2 =
+		EHTCAP_MAC_TXOP_RETURN_SUPPORT_SHARE_M2_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);
@@ -8369,6 +8394,13 @@ void lim_ieee80211_pack_ehtcap(uint8_t *ie, tDot11fIEeht_cap dot11f_eht_cap,
 	EHTCAP_MAC_MAX_A_MPDU_LEN_EXPONENT_EXT_SET_TO_IE(ehtcap->eht_mac_cap,
 							 val);
 
+	val = dot11f_eht_cap.eht_trs_support;
+	EHTCAP_MAC_EHT_TRS_SUPPORT_SET_TO_IE(ehtcap->eht_mac_cap, val);
+
+	val = dot11f_eht_cap.txop_return_support_txop_share_m2;
+	EHTCAP_MAC_TXOP_RETURN_SUPPORT_SHARE_M2_SET_FROM_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);

+ 4 - 0
core/wma/src/wma_eht.c

@@ -490,6 +490,10 @@ void wma_print_eht_cap(tDot11fIEeht_cap *eht_cap)
 		       eht_cap->max_mpdu_len);
 	wma_nofl_debug("\tMaximum A-MPDU Length Exponent Extension: 0x%01x",
 		       eht_cap->max_a_mpdu_len_exponent_ext);
+	wma_nofl_debug("\tEHT TRS SUPPORT: 0x%01x",
+		       eht_cap->eht_trs_support);
+	wma_nofl_debug("\tTXOP Return Support in TXOP Sharing Mode 2: 0x%01x",
+		       eht_cap->txop_return_support_txop_share_m2);
 
 	/* EHT PHY Capabilities */
 	wma_nofl_debug("\t320 MHz In 6 GHz: 0x%01x",