Prechádzať zdrojové kódy

qcacmn: Add 11be Draft 3.0 support

Add EHT capability and EHT Operation changes to
support 11be Draft 3.0.

Change-Id: I099416f985af1f4e6f2f69fc3d55ef158d6fb2ca
CRs-Fixed: 3453366
Aasir Rasheed 2 rokov pred
rodič
commit
9de835aa83

+ 43 - 6
umac/cmn_services/cmn_defs/inc/wlan_cmn_ieee80211.h

@@ -1746,6 +1746,10 @@ struct subelem_header {
 #define EHTCAP_MAC_TRS_SUPPORT_BITS                     1
 #define EHTCAP_MAC_TXOP_RET_SUPPP_IN_SHARING_MODE2_IDX  10
 #define EHTCAP_MAC_TXOP_RET_SUPPP_IN_SHARING_MODE2_BITS 1
+#define EHTCAP_MAC_TWO_BQRS_SUPP_IDX                    11
+#define EHTCAP_MAC_TWO_BQRS_SUPP_BITS                   1
+#define EHTCAP_MAC_EHT_LINK_ADAPTATION_SUPP_IDX         12
+#define EHTCAP_MAC_EHT_LINK_ADAPTATION_SUPP_BITS        2
 
 #define EHTCAP_PHY_320MHZIN6GHZ_IDX                     1
 #define EHTCAP_PHY_320MHZIN6GHZ_BITS                    1
@@ -1832,6 +1836,12 @@ struct subelem_header {
 #define EHTCAP_PHY_RX_1K_QAM_IN_WIDER_BW_DL_OFDMA_BITS  1
 #define EHTCAP_PHY_RX_4K_QAM_IN_WIDER_BW_DL_OFDMA_IDX   65
 #define EHTCAP_PHY_RX_4K_QAM_IN_WIDER_BW_DL_OFDMA_BITS  1
+#define EHTCAP_PHY_20MHZ_ONLY_CAPS_IDX                  66
+#define EHTCAP_PHY_20MHZ_ONLY_CAPS_BITS                 1
+#define EHTCAP_PHY_20MHZ_ONLY_TRIGGER_MUBF_FL_BW_FB_DLMUMIMO_IDX  67
+#define EHTCAP_PHY_20MHZ_ONLY_TRIGGER_MUBF_FL_BW_FB_DLMUMIMO_BITS 1
+#define EHTCAP_PHY_20MHZ_ONLY_MRU_SUPP_IDX              68
+#define EHTCAP_PHY_20MHZ_ONLY_MRU_SUPP_BITS             1
 
 #define EHTCAP_RX_MCS_NSS_MAP_IDX                       0
 #define EHTCAP_RX_MCS_NSS_MAP_BITS                      4
@@ -3026,6 +3036,8 @@ struct wlan_ext_cap_ie {
  * @max_a_mpdu_len_exponent_ext: Maximum A-MPDU Length Exponent Extension
  * @eht_trs_support: EHT TRS SUPPORT
  * @txop_return_support_txop_share_m2: TXOP Return Support in TXOP Share Mode 2
+ * @two_bqrs_support: Two BQRs Support
+ * @eht_link_adaptation_support: EHT Link Adaptation Support
  * @reserved: reserved bits
  * @reserved2: reserved bits
  * @support_320mhz_6ghz: support 320mhz in 6gz
@@ -3076,6 +3088,10 @@ struct wlan_ext_cap_ie {
  *                                 OFDMA support
  * @rx_4k_qam_in_wider_bw_dl_ofdma: Rx 4096-QAM in wider bandwidth DL
  *                                 OFDMA support
+ * @limited_cap_support_20mhz: 20 MHz-Only Limited Capabilities Support
+ * @triggered_mu_bf_full_bw_fb_and_dl_mumimo: 20 MHz-Only Triggered MU Beam-
+ *                                   forming Full BW Feedback And DL MU-MIMO
+ * @mru_support_20mhz: 20 MHz-Only M-RU Support
  * @reserved3: reserved bits
  * @bw_20_rx_max_nss_for_mcs_0_to_7: Max Rx NSS for MCS 0 to 7 (BW = 20MHz)
  * @bw_20_tx_max_nss_for_mcs_0_to_7: Max Tx NSS for MCS 0 to 7 (BW = 20MHz)
@@ -3122,7 +3138,9 @@ struct wlan_ext_cap_ie {
  */
 struct wlan_eht_cap_info {
 #ifndef ANI_LITTLE_BIT_ENDIAN
-	uint16_t reserved:5;
+	uint16_t reserved:2;
+	uint16_t eht_link_adaptation_support:2;
+	uint16_t two_bqrs_support:1;
 	uint16_t txop_return_support_txop_share_m2:1;
 	uint16_t eht_trs_support:1;
 	uint16_t max_a_mpdu_len_exponent_ext:1;
@@ -3177,7 +3195,10 @@ struct wlan_eht_cap_info {
 	uint32_t psr_based_sr:1;
 	uint32_t partial_bw_dl_mu_mimo:1;
 
-	uint8_t reserved3:6;
+	uint8_t reserved3:3;
+	uint8_t mru_support_20mhz:1;
+	uint8_t triggered_mu_bf_full_bw_fb_and_dl_mumimo:1;
+	uint8_t limited_cap_support_20mhz:1;
 	uint8_t rx_4k_qam_in_wider_bw_dl_ofdma:1;
 	uint8_t rx_1k_qam_in_wider_bw_dl_ofdma:1;
 
@@ -3222,7 +3243,9 @@ struct wlan_eht_cap_info {
 	uint16_t max_a_mpdu_len_exponent_ext:1;
 	uint16_t eht_trs_support:1;
 	uint16_t txop_return_support_txop_share_m2:1;
-	uint16_t reserved:5;
+	uint16_t two_bqrs_support:1;
+	uint16_t eht_link_adaptation_support:2;
+	uint16_t reserved:2;
 
 	uint32_t reserved2:1;
 	uint32_t support_320mhz_6ghz:1;
@@ -3267,9 +3290,12 @@ struct wlan_eht_cap_info {
 	uint32_t mu_bformer_320mhz:1;
 	uint32_t tb_sounding_feedback_rl:1;
 
+	uint8_t limited_cap_support_20mhz:1;
+	uint8_t triggered_mu_bf_full_bw_fb_and_dl_mumimo:1;
+	uint8_t mru_support_20mhz:1;
 	uint8_t rx_1k_qam_in_wider_bw_dl_ofdma:1;
 	uint8_t rx_4k_qam_in_wider_bw_dl_ofdma:1;
-	uint8_t reserved3:6;
+	uint8_t reserved3:3;
 
 	uint32_t bw_20_rx_max_nss_for_mcs_0_to_7:4;
 	uint32_t bw_20_tx_max_nss_for_mcs_0_to_7:4;
@@ -3316,6 +3342,8 @@ struct wlan_eht_cap_info {
  * @max_a_mpdu_len_exponent_ext: Maximum A-MPDU Length Exponent Extension
  * @eht_trs_support: EHT TRS SUPPORT
  * @txop_return_support_txop_share_m2: TXOP Return Support in TXOP Share Mode 2
+ * @two_bqrs_support: Two BQRs Support
+ * @eht_link_adaptation_support: EHT Link Adaptation Support
  * @reserved: reserved bits
  * @reserved2: reserved bits
  * @support_320mhz_6ghz: support 320mhz in 6gz
@@ -3366,6 +3394,10 @@ struct wlan_eht_cap_info {
  *                                 OFDMA support
  * @rx_4k_qam_in_wider_bw_dl_ofdma: Rx 4096-QAM in wider bandwidth DL
  *                                 OFDMA support
+ * @limited_cap_support_20mhz: 20 MHz-Only Limited Capabilities Support
+ * @triggered_mu_bf_full_bw_fb_and_dl_mumimo: 20 MHz-Only Triggered MU Beam-
+ *                                   forming Full BW Feedback And DL MU-MIMO
+ * @mru_support_20mhz: 20 MHz-Only M-RU Support
  * @reserved3: reserved bits
  * @bw_20_rx_max_nss_for_mcs_0_to_7: Max Rx NSS for MCS 0 to 7 (BW = 20MHz)
  * @bw_20_tx_max_nss_for_mcs_0_to_7: Max Tx NSS for MCS 0 to 7 (BW = 20MHz)
@@ -3421,7 +3453,9 @@ struct wlan_eht_cap_info_network_endian {
 	uint16_t max_a_mpdu_len_exponent_ext:1;
 	uint16_t eht_trs_support:1;
 	uint16_t txop_return_support_txop_share_m2:1;
-	uint16_t reserved:5;
+	uint16_t two_bqrs_support:1;
+	uint16_t eht_link_adaptation_support:2;
+	uint16_t reserved:2;
 
 	uint32_t reserved2:1;
 	uint32_t support_320mhz_6ghz:1;
@@ -3468,7 +3502,10 @@ struct wlan_eht_cap_info_network_endian {
 
 	uint8_t rx_1k_qam_in_wider_bw_dl_ofdma:1;
 	uint8_t rx_4k_qam_in_wider_bw_dl_ofdma:1;
-	uint8_t reserved3:6;
+	uint8_t mru_support_20mhz:1;
+	uint8_t triggered_mu_bf_full_bw_fb_and_dl_mumimo:1;
+	uint8_t limited_cap_support_20mhz:1;
+	uint8_t reserved3:3;
 
 	uint32_t bw_20_rx_max_nss_for_mcs_0_to_7:4;
 	uint32_t bw_20_tx_max_nss_for_mcs_0_to_7:4;