qcacmn: Update EHT op/caps as per draft 1.5

Update EHT Operation and Capabilities as per 11be draft 1.5
specification.

Change-Id: I6feb644c09db2c7f0578665733c29957be049408
CRs-Fixed: 3197384
This commit is contained in:
Deeksha Gupta
2022-05-30 23:34:30 +05:30
committed by Madan Koyyalamudi
parent 817418566e
commit f666bb4d71
2 changed files with 181 additions and 164 deletions

View File

@@ -1630,6 +1630,8 @@ struct subelem_header {
#define EHTCAP_MAC_SCS_TRAFFIC_DESC_BITS 1 #define EHTCAP_MAC_SCS_TRAFFIC_DESC_BITS 1
#define EHTCAP_MAC_MAX_MPDU_LEN_IDX 6 #define EHTCAP_MAC_MAX_MPDU_LEN_IDX 6
#define EHTCAP_MAC_MAX_MPDU_LEN_BITS 2 #define EHTCAP_MAC_MAX_MPDU_LEN_BITS 2
#define EHTCAP_MAC_MAX_A_MPDU_LEN_IDX 8
#define EHTCAP_MAC_MAX_A_MPDU_LEN_BITS 1
#define EHTCAP_PHY_320MHZIN6GHZ_IDX 1 #define EHTCAP_PHY_320MHZIN6GHZ_IDX 1
#define EHTCAP_PHY_320MHZIN6GHZ_BITS 1 #define EHTCAP_PHY_320MHZIN6GHZ_BITS 1
@@ -1787,8 +1789,8 @@ struct wlan_ie_ehtcaps {
* @control: Control field in EHT Operation Information * @control: Control field in EHT Operation Information
* @ccfs0: EHT Channel Centre Frequency Segment0 information * @ccfs0: EHT Channel Centre Frequency Segment0 information
* @ccfs1: EHT Channel Centre Frequency Segment1 information * @ccfs1: EHT Channel Centre Frequency Segment1 information
* @disable_sub_chan_bitmap: Bitmap to indicate 20MHz subchannel is punctured * @disabled_sub_chan_bitmap: Bitmap to indicate 20MHz subchannel is punctured
* or not * or not
*/ */
struct wlan_ie_ehtops { struct wlan_ie_ehtops {
uint8_t elem_id; uint8_t elem_id;
@@ -1798,7 +1800,7 @@ struct wlan_ie_ehtops {
uint8_t control; uint8_t control;
uint8_t ccfs0; uint8_t ccfs0;
uint8_t ccfs1; uint8_t ccfs1;
uint8_t disable_sub_chan_bitmap[2]; uint8_t disabled_sub_chan_bitmap[2];
} qdf_packed; } qdf_packed;
#ifdef WLAN_FEATURE_11BE_MLO #ifdef WLAN_FEATURE_11BE_MLO
@@ -2573,106 +2575,112 @@ struct wlan_ext_cap_ie {
/** /**
* struct wlan_eht_cap_info - struct for eht capabilities information * struct wlan_eht_cap_info - struct for eht capabilities information
* EPCS_pri_access: EPCS priority access support * @EPCS_pri_access: EPCS priority access support
* eht_om_ctl: EHT OM control support * @eht_om_ctl: EHT OM control support
* triggered_txop_sharing_mode1: Triggered TXOP sharing support mode 1 support * @triggered_txop_sharing_mode1: Triggered TXOP sharing support mode 1 support
* triggered_txop_sharing_mode2: Triggered TXOP sharing mode 2 support * @triggered_txop_sharing_mode2: Triggered TXOP sharing mode 2 support
* restricted_twt: Restricted TWT support * @restricted_twt: Restricted TWT support
* scs_traffic_desc: SCS traffic description support * @scs_traffic_desc: SCS traffic description support
* max_mpdu_len: Maximum MPDU length * @max_mpdu_len: Maximum MPDU length
* reserved3: reserved bits * @max_a_mpdu_len_exponent_ext: Maximum A-MPDU Length Exponent Extension
* reserved2: reserved bits * @reserved3: reserved bits
* support_320mhz_6ghz: support 320mhz in 6gz * @reserved2: reserved bits
* ru_242tone_wt_20mhz: Support For 242-tone RU In BW Wider Than 20 MHz * @support_320mhz_6ghz: support 320mhz in 6gz
* ndp_4x_eht_ltf_3dot2_us_gi: NDP With 4 EHT-LTF And 3.2 μs GI * @ru_242tone_wt_20mhz: Support For 242-tone RU In BW Wider Than 20 MHz
* partial_bw_mu_mimo: Partial Bandwidth UL MU-MIMO * @ndp_4x_eht_ltf_3dot2_us_gi: NDP With 4 EHT-LTF And 3.2 μs GI
* su_beamformer: SU Beamformer * @partial_bw_mu_mimo: Partial Bandwidth UL MU-MIMO
* su_beamformee: SU Beamformer * @su_beamformer: SU Beamformer
* bfee_ss_le_80mhz: Beamformee SS (≤ 80 MHz) * @su_beamformee: SU Beamformer
* bfee_ss_160mhz: Beamformee SS (= 160 MHz) * @bfee_ss_le_80mhz: Beamformee SS (≤ 80 MHz)
* bfee_ss_320mhz: Beamformee SS (= 320 MHz) * @bfee_ss_160mhz: Beamformee SS (= 160 MHz)
* num_sounding_dim_le_80mhz: Number Of Sounding Dimensions (≤ 80 MHz) * @bfee_ss_320mhz: Beamformee SS (= 320 MHz)
* num_sounding_dim_160mhz: Number Of Sounding Dimensions (= 160 MHz) * @num_sounding_dim_le_80mhz: Number Of Sounding Dimensions (≤ 80 MHz)
* num_sounding_dim_320mhz: Number Of Sounding Dimensions (= 320 MHz) * @num_sounding_dim_160mhz: Number Of Sounding Dimensions (= 160 MHz)
* ng_16_su_feedback: Ng = 16 SU Feedback * @num_sounding_dim_320mhz: Number Of Sounding Dimensions (= 320 MHz)
* ng_16_mu_feedback: Ng = 16 MU Feedback * @ng_16_su_feedback: Ng = 16 SU Feedback
* cb_sz_4_2_su_feedback: Codebook Size SU Feedback * @ng_16_mu_feedback: Ng = 16 MU Feedback
* cb_sz_7_5_su_feedback: Codebook Size SU Feedback * @cb_sz_4_2_su_feedback: Codebook Size SU Feedback
* trig_su_bforming_feedback: Triggered SU Beamforming Feedback * @cb_sz_7_5_su_feedback: Codebook Size SU Feedback
* trig_mu_bforming_partial_bw_feedback: Triggered MU Partial * @trig_su_bforming_feedback: Triggered SU Beamforming Feedback
* @trig_mu_bforming_partial_bw_feedback: Triggered MU Partial
Beamforming Feedback Beamforming Feedback
* triggered_cqi_feedback: Triggered SU Beamforming Feedback * @triggered_cqi_feedback: Triggered SU Beamforming Feedback
* partial_bw_dl_mu_mimo: Partial Bandwidth DL MU-MIMO * @partial_bw_dl_mu_mimo: Partial Bandwidth DL MU-MIMO
* psr_based_sr: PSR-based SR Support * @psr_based_sr: PSR-based SR Support
* power_boost_factor: Power Boost Factor Support * @power_boost_factor: Power Boost Factor Support
* eht_mu_ppdu_4x_ltf_0_8_us_gi: EHT MU PPDU With 4 EHT-LTF And 0.8 μs GI * @eht_mu_ppdu_4x_ltf_0_8_us_gi: EHT MU PPDU With 4 EHT-LTF And 0.8 μs GI
* max_nc: Max Nc * @max_nc: Max Nc
* non_trig_cqi_feedback: Non-Triggered CQI Feedback * @non_trig_cqi_feedback: Non-Triggered CQI Feedback
* tx_1024_4096_qam_lt_242_tone_ru: Tx 1024-QAM And 4096-QAM < 242-tone * @tx_1024_4096_qam_lt_242_tone_ru: Tx 1024-QAM And 4096-QAM < 242-tone
RU Support RU Support
* rx_1024_4096_qam_lt_242_tone_ru: Rx 1024-QAM And 4096-QAM < 242-tone * @rx_1024_4096_qam_lt_242_tone_ru: Rx 1024-QAM And 4096-QAM < 242-tone
RU Support RU Support
* ppet_present: PPE Thresholds Present * @ppet_present: PPE Thresholds Present
* common_nominal_pkt_padding: Common Nominal Packet Padding * @common_nominal_pkt_padding: Common Nominal Packet Padding
* max_num_eht_ltf: Maximum Number Of Supported EHT-LTFs * @max_num_eht_ltf: Maximum Number Of Supported EHT-LTFs
* mcs_15: Support Of MCS 15 * @mcs_15: Support Of MCS 15
* eht_dup_6ghz: Support Of EHT DUP In 6 GHz * @eht_dup_6ghz: Support Of EHT DUP In 6 GHz
* op_sta_rx_ndp_wider_bw_20mhz: Support For 20 MHz Operating STA * @op_sta_rx_ndp_wider_bw_20mhz: Support For 20 MHz Operating STA
Receiving NDP With Wider Bandwidth Receiving NDP With Wider Bandwidth
* non_ofdma_ul_mu_mimo_le_80mhz: Non-OFDMA UL MU-MIMO (BW ≤ 80 MHz) * @non_ofdma_ul_mu_mimo_le_80mhz: Non-OFDMA UL MU-MIMO (BW ≤ 80 MHz)
* non_ofdma_ul_mu_mimo_160mhz: Non-OFDMA UL MU-MIMO (BW ≤ 160 MHz) * @non_ofdma_ul_mu_mimo_160mhz: Non-OFDMA UL MU-MIMO (BW ≤ 160 MHz)
* non_ofdma_ul_mu_mimo_320mhz: Non-OFDMA UL MU-MIMO (BW ≤ 320 MHz) * @non_ofdma_ul_mu_mimo_320mhz: Non-OFDMA UL MU-MIMO (BW ≤ 320 MHz)
* mu_bformer_le_80mhz: MU Beamformer (BW ≤ 80 MHz) * @mu_bformer_le_80mhz: MU Beamformer (BW ≤ 80 MHz)
* mu_bformer_160mhz: MU Beamformer (BW ≤ 160 MHz) * @mu_bformer_160mhz: MU Beamformer (BW ≤ 160 MHz)
* mu_bformer_320mhz: MU Beamformer (BW ≤ 320 MHz) * @mu_bformer_320mhz: MU Beamformer (BW ≤ 320 MHz)
* tb_sounding_feedback_rl: TB sounding feedback rate limit * @tb_sounding_feedback_rl: TB sounding feedback rate limit
* rx_1k_qam_in_wider_bw_dl_ofdma: Rx 1024-QAM in wider bandwidth DL * @rx_1k_qam_in_wider_bw_dl_ofdma: Rx 1024-QAM in wider bandwidth DL
* OFDMA support * OFDMA support
* rx_4k_qam_in_wider_bw_dl_ofdma: Rx 4096-QAM in wider bandwidth DL * @rx_4k_qam_in_wider_bw_dl_ofdma: Rx 4096-QAM in wider bandwidth DL
* OFDMA support * OFDMA support
* reserved3: reserved bits * @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_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) * @bw_20_tx_max_nss_for_mcs_0_to_7: Max Tx NSS for MCS 0 to 7 (BW = 20MHz)
* bw_20_rx_max_nss_for_mcs_8_and_9: Max Rx NSS for MCS 8 and 9 (BW = 20MHz) * @bw_20_rx_max_nss_for_mcs_8_and_9: Max Rx NSS for MCS 8 and 9 (BW = 20MHz)
* bw_20_tx_max_nss_for_mcs_8_and_9: Max Tx NSS for MCS 8 and 9 (BW = 20MHz) * @bw_20_tx_max_nss_for_mcs_8_and_9: Max Tx NSS for MCS 8 and 9 (BW = 20MHz)
* bw_20_rx_max_nss_for_mcs_10_and_11: Max Rx NSS for MCS 10 and 11 (BW = 20MHz) * @bw_20_rx_max_nss_for_mcs_10_and_11: Max Rx NSS for MCS 10 and 11
* bw_20_tx_max_nss_for_mcs_10_and_11: Max Tx NSS for MCS 10 and 11 (BW = 20MHz) * (BW = 20MHz)
* bw_20_rx_max_nss_for_mcs_12_and_13: Max Rx NSS for MCS 12 and 13 (BW = 20MHz) * @bw_20_tx_max_nss_for_mcs_10_and_11: Max Tx NSS for MCS 10 and 11
* bw_20_tx_max_nss_for_mcs_12_and_13: Max Tx NSS for MCS 12 and 13 (BW = 20MHz) * (BW = 20MHz)
* bw_le_80_rx_max_nss_for_mcs_0_to_9: Max Rx NSS for MCS 0 to 9 (BW <= 80MHz) * @bw_20_rx_max_nss_for_mcs_12_and_13: Max Rx NSS for MCS 12 and 13
* bw_le_80_tx_max_nss_for_mcs_0_to_9: Max Tx NSS for MCS 0 to 9 (BW <= 80MHz) * (BW = 20MHz)
* bw_le_80_rx_max_nss_for_mcs_10_and_11: Max Rx NSS for MCS 10 and 11 * @bw_20_tx_max_nss_for_mcs_12_and_13: Max Tx NSS for MCS 12 and 13
* (BW = 20MHz)
* @bw_le_80_rx_max_nss_for_mcs_0_to_9: Max Rx NSS for MCS 0 to 9 (BW <= 80MHz)
* @bw_le_80_tx_max_nss_for_mcs_0_to_9: Max Tx NSS for MCS 0 to 9 (BW <= 80MHz)
* @bw_le_80_rx_max_nss_for_mcs_10_and_11: Max Rx NSS for MCS 10 and 11
* (BW <= 80MHz) * (BW <= 80MHz)
* bw_le_80_tx_max_nss_for_mcs_10_and_11: Max Tx NSS for MCS 10 and 11 * @bw_le_80_tx_max_nss_for_mcs_10_and_11: Max Tx NSS for MCS 10 and 11
* (BW <= 80MHz) * (BW <= 80MHz)
* bw_le_80_rx_max_nss_for_mcs_12_and_13: Max Rx NSS for MCS 12 and 13 * @bw_le_80_rx_max_nss_for_mcs_12_and_13: Max Rx NSS for MCS 12 and 13
* (BW <= 80MHz) * (BW <= 80MHz)
* bw_le_80_tx_max_nss_for_mcs_12_and_13: Max Tx NSS for MCS 12 and 13 * @bw_le_80_tx_max_nss_for_mcs_12_and_13: Max Tx NSS for MCS 12 and 13
* (BW <= 80MHz) * (BW <= 80MHz)
* bw_160_rx_max_nss_for_mcs_0_to_9: Max Rx NSS for MCS 0 to 9 (BW = 160MHz) * @bw_160_rx_max_nss_for_mcs_0_to_9: Max Rx NSS for MCS 0 to 9 (BW = 160MHz)
* bw_160_tx_max_nss_for_mcs_0_to_9: Max Tx NSS for MCS 0 to 9 (BW = 160MHz) * @bw_160_tx_max_nss_for_mcs_0_to_9: Max Tx NSS for MCS 0 to 9 (BW = 160MHz)
* bw_160_rx_max_nss_for_mcs_10_and_11: Max Rx NSS for MCS 10 and 11 * @bw_160_rx_max_nss_for_mcs_10_and_11: Max Rx NSS for MCS 10 and 11
* (BW = 160MHz) * (BW = 160MHz)
* bw_160_tx_max_nss_for_mcs_10_and_11: Max Tx NSS for MCS 10 and 11 * @bw_160_tx_max_nss_for_mcs_10_and_11: Max Tx NSS for MCS 10 and 11
* (BW = 160MHz) * (BW = 160MHz)
* bw_160_rx_max_nss_for_mcs_12_and_13: Max Rx NSS for MCS 12 and 13 * @bw_160_rx_max_nss_for_mcs_12_and_13: Max Rx NSS for MCS 12 and 13
* (BW = 160MHz) * (BW = 160MHz)
* bw_160_tx_max_nss_for_mcs_12_and_13: Max Tx NSS for MCS 12 and 13 * @bw_160_tx_max_nss_for_mcs_12_and_13: Max Tx NSS for MCS 12 and 13
* (BW = 160MHz) * (BW = 160MHz)
* bw_320_rx_max_nss_for_mcs_0_to_9: Max Rx NSS for MCS 0 to 9 (BW = 320MHz) * @bw_320_rx_max_nss_for_mcs_0_to_9: Max Rx NSS for MCS 0 to 9 (BW = 320MHz)
* bw_320_tx_max_nss_for_mcs_0_to_9: Max Tx NSS for MCS 0 to 9 (BW = 320MHz) * @bw_320_tx_max_nss_for_mcs_0_to_9: Max Tx NSS for MCS 0 to 9 (BW = 320MHz)
* bw_320_rx_max_nss_for_mcs_10_and_11: Max Rx NSS for MCS 10 and 11 * @bw_320_rx_max_nss_for_mcs_10_and_11: Max Rx NSS for MCS 10 and 11
* (BW = 320MHz) * (BW = 320MHz)
* bw_320_tx_max_nss_for_mcs_10_and_11: Max Tx NSS for MCS 10 and 11 * @bw_320_tx_max_nss_for_mcs_10_and_11: Max Tx NSS for MCS 10 and 11
* (BW = 320MHz) * (BW = 320MHz)
* bw_320_rx_max_nss_for_mcs_12_and_13: Max Rx NSS for MCS 12 and 13 * @bw_320_rx_max_nss_for_mcs_12_and_13: Max Rx NSS for MCS 12 and 13
* (BW = 320MHz) * (BW = 320MHz)
* bw_320_tx_max_nss_for_mcs_12_and_13: Max Tx NSS for MCS 12 and 13 * @bw_320_tx_max_nss_for_mcs_12_and_13: Max Tx NSS for MCS 12 and 13
* (BW = 320MHz) * (BW = 320MHz)
*/ */
struct wlan_eht_cap_info { struct wlan_eht_cap_info {
#ifndef ANI_LITTLE_BIT_ENDIAN #ifndef ANI_LITTLE_BIT_ENDIAN
uint16_t reserved:8; uint16_t reserved:7;
uint16_t max_a_mpdu_len_exponent_ext:1;
uint16_t max_mpdu_len:2; uint16_t max_mpdu_len:2;
uint16_t scs_traffic_desc:1; uint16_t scs_traffic_desc:1;
uint16_t restricted_twt:1; uint16_t restricted_twt:1;
@@ -2766,7 +2774,8 @@ struct wlan_eht_cap_info {
uint16_t restricted_twt:1; uint16_t restricted_twt:1;
uint16_t scs_traffic_desc:1; uint16_t scs_traffic_desc:1;
uint16_t max_mpdu_len:2; uint16_t max_mpdu_len:2;
uint16_t reserved:8; uint16_t max_a_mpdu_len_exponent_ext:1;
uint16_t reserved:7;
uint32_t reserved2:1; uint32_t reserved2:1;
uint32_t support_320mhz_6ghz:1; uint32_t support_320mhz_6ghz:1;
@@ -2849,101 +2858,106 @@ struct wlan_eht_cap_info {
/** /**
* wlan_eht_cap_info_network_endian - struct for eht capabilities information * wlan_eht_cap_info_network_endian - struct for eht capabilities information
* epcs_pri_access: EPCS priority access support * @epcs_pri_access: EPCS priority access support
* eht_om_ctl: EHT OM control support * @eht_om_ctl: EHT OM control support
* triggered_txop_sharing_mode1: Triggered TXOP sharing mode 1 support * @triggered_txop_sharing_mode1: Triggered TXOP sharing mode 1 support
* triggered_txop_sharing_mode2: Triggered TXOP sharing mode 2 support * @triggered_txop_sharing_mode2: Triggered TXOP sharing mode 2 support
* restricted_twt: Restricted TWT support * @restricted_twt: Restricted TWT support
* scs_traffic_desc: SCS traffic description support * @scs_traffic_desc: SCS traffic description support
* max_mpdu_len: Maximum MPDU length * @max_mpdu_len: Maximum MPDU length
* reserved3: reserved bits * @max_a_mpdu_len_exponent_ext: Maximum A-MPDU Length Exponent Extension
* reserved2: reserved bits * @reserved3: reserved bits
* support_320mhz_6ghz: support 320mhz in 6gz * @reserved2: reserved bits
* ru_242tone_wt_20mhz: Support For 242-tone RU In BW Wider Than 20 MHz * @support_320mhz_6ghz: support 320mhz in 6gz
* ndp_4x_eht_ltf_3dot2_us_gi: NDP With 4 EHT-LTF And 3.2 μs GI * @ru_242tone_wt_20mhz: Support For 242-tone RU In BW Wider Than 20 MHz
* partial_bw_mu_mimo: Partial Bandwidth UL MU-MIMO * @ndp_4x_eht_ltf_3dot2_us_gi: NDP With 4 EHT-LTF And 3.2 μs GI
* su_beamformer: SU Beamformer * @partial_bw_mu_mimo: Partial Bandwidth UL MU-MIMO
* su_beamformee: SU Beamformer * @su_beamformer: SU Beamformer
* bfee_ss_le_80mhz: Beamformee SS (≤ 80 MHz) * @su_beamformee: SU Beamformer
* bfee_ss_160mhz: Beamformee SS (= 160 MHz) * @bfee_ss_le_80mhz: Beamformee SS (≤ 80 MHz)
* bfee_ss_320mhz: Beamformee SS (= 320 MHz) * @bfee_ss_160mhz: Beamformee SS (= 160 MHz)
* num_sounding_dim_le_80mhz: Number Of Sounding Dimensions (≤ 80 MHz) * @bfee_ss_320mhz: Beamformee SS (= 320 MHz)
* num_sounding_dim_160mhz: Number Of Sounding Dimensions (= 160 MHz) * @num_sounding_dim_le_80mhz: Number Of Sounding Dimensions (≤ 80 MHz)
* num_sounding_dim_320mhz: Number Of Sounding Dimensions (= 320 MHz) * @num_sounding_dim_160mhz: Number Of Sounding Dimensions (= 160 MHz)
* ng_16_su_feedback: Ng = 16 SU Feedback * @num_sounding_dim_320mhz: Number Of Sounding Dimensions (= 320 MHz)
* ng_16_mu_feedback: Ng = 16 MU Feedback * @ng_16_su_feedback: Ng = 16 SU Feedback
* cb_sz_4_2_su_feedback: Codebook Size SU Feedback * @ng_16_mu_feedback: Ng = 16 MU Feedback
* cb_sz_7_5_su_feedback: Codebook Size SU Feedback * @cb_sz_4_2_su_feedback: Codebook Size SU Feedback
* trig_su_bforming_feedback: Triggered SU Beamforming Feedback * @cb_sz_7_5_su_feedback: Codebook Size SU Feedback
* trig_mu_bforming_partial_bw_feedback: Triggered MU Partial * @trig_su_bforming_feedback: Triggered SU Beamforming Feedback
* @trig_mu_bforming_partial_bw_feedback: Triggered MU Partial
Beamforming Feedback Beamforming Feedback
* triggered_cqi_feedback: Triggered SU Beamforming Feedback * @triggered_cqi_feedback: Triggered SU Beamforming Feedback
* partial_bw_dl_mu_mimo: Partial Bandwidth DL MU-MIMO * @partial_bw_dl_mu_mimo: Partial Bandwidth DL MU-MIMO
* psr_based_sr: PSR-based SR Support * @psr_based_sr: PSR-based SR Support
* power_boost_factor: Power Boost Factor Support * @power_boost_factor: Power Boost Factor Support
* eht_mu_ppdu_4x_ltf_0_8_us_gi: EHT MU PPDU With 4 EHT-LTF And 0.8 μs GI * @eht_mu_ppdu_4x_ltf_0_8_us_gi: EHT MU PPDU With 4 EHT-LTF And 0.8 μs GI
* max_nc: Max Nc * @max_nc: Max Nc
* non_trig_cqi_feedback: Non-Triggered CQI Feedback * @non_trig_cqi_feedback: Non-Triggered CQI Feedback
* tx_1024_4096_qam_lt_242_tone_ru: Tx 1024-QAM And 4096-QAM < 242-tone * @tx_1024_4096_qam_lt_242_tone_ru: Tx 1024-QAM And 4096-QAM < 242-tone
RU Support RU Support
* rx_1024_4096_qam_lt_242_tone_ru: Rx 1024-QAM And 4096-QAM < 242-tone * @rx_1024_4096_qam_lt_242_tone_ru: Rx 1024-QAM And 4096-QAM < 242-tone
RU Support RU Support
* ppet_present: PPE Thresholds Present * @ppet_present: PPE Thresholds Present
* common_nominal_pkt_padding: Common Nominal Packet Padding * @common_nominal_pkt_padding: Common Nominal Packet Padding
* max_num_eht_ltf: Maximum Number Of Supported EHT-LTFs * @max_num_eht_ltf: Maximum Number Of Supported EHT-LTFs
* mcs_15: Support Of MCS 15 * @mcs_15: Support Of MCS 15
* eht_dup_6ghz: Support Of EHT DUP In 6 GHz * @eht_dup_6ghz: Support Of EHT DUP In 6 GHz
* op_sta_rx_ndp_wider_bw_20mhz: Support For 20 MHz Operating STA * @op_sta_rx_ndp_wider_bw_20mhz: Support For 20 MHz Operating STA
Receiving NDP With Wider Bandwidth Receiving NDP With Wider Bandwidth
* non_ofdma_ul_mu_mimo_le_80mhz: Non-OFDMA UL MU-MIMO (BW ≤ 80 MHz) * @non_ofdma_ul_mu_mimo_le_80mhz: Non-OFDMA UL MU-MIMO (BW ≤ 80 MHz)
* non_ofdma_ul_mu_mimo_160mhz: Non-OFDMA UL MU-MIMO (BW ≤ 160 MHz) * @non_ofdma_ul_mu_mimo_160mhz: Non-OFDMA UL MU-MIMO (BW ≤ 160 MHz)
* non_ofdma_ul_mu_mimo_320mhz: Non-OFDMA UL MU-MIMO (BW ≤ 320 MHz) * @non_ofdma_ul_mu_mimo_320mhz: Non-OFDMA UL MU-MIMO (BW ≤ 320 MHz)
* mu_bformer_le_80mhz: MU Beamformer (BW ≤ 80 MHz) * @mu_bformer_le_80mhz: MU Beamformer (BW ≤ 80 MHz)
* mu_bformer_160mhz: MU Beamformer (BW ≤ 160 MHz) * @mu_bformer_160mhz: MU Beamformer (BW ≤ 160 MHz)
* mu_bformer_320mhz: MU Beamformer (BW ≤ 320 MHz) * @mu_bformer_320mhz: MU Beamformer (BW ≤ 320 MHz)
* tb_sounding_feedback_rl: TB sounding feedback rate limit * @tb_sounding_feedback_rl: TB sounding feedback rate limit
* rx_1k_qam_in_wider_bw_dl_ofdma: Rx 1024-QAM in wider bandwidth DL * @rx_1k_qam_in_wider_bw_dl_ofdma: Rx 1024-QAM in wider bandwidth DL
* OFDMA support * OFDMA support
* rx_4k_qam_in_wider_bw_dl_ofdma: Rx 4096-QAM in wider bandwidth DL * @rx_4k_qam_in_wider_bw_dl_ofdma: Rx 4096-QAM in wider bandwidth DL
* OFDMA support * OFDMA support
* reserved3: reserved bits * @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_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) * @bw_20_tx_max_nss_for_mcs_0_to_7: Max Tx NSS for MCS 0 to 7 (BW = 20MHz)
* bw_20_rx_max_nss_for_mcs_8_and_9: Max Rx NSS for MCS 8 and 9 (BW = 20MHz) * @bw_20_rx_max_nss_for_mcs_8_and_9: Max Rx NSS for MCS 8 and 9 (BW = 20MHz)
* bw_20_tx_max_nss_for_mcs_8_and_9: Max Tx NSS for MCS 8 and 9 (BW = 20MHz * @bw_20_tx_max_nss_for_mcs_8_and_9: Max Tx NSS for MCS 8 and 9 (BW = 20MHz
* bw_20_rx_max_nss_for_mcs_10_and_11: Max Rx NSS for MCS 10 and 11 (BW = 20MHz) * @bw_20_rx_max_nss_for_mcs_10_and_11: Max Rx NSS for MCS 10 and 11
* bw_20_tx_max_nss_for_mcs_10_and_11: Max Tx NSS for MCS 10 and 11 (BW = 20MHz) * (BW = 20MHz)
* bw_20_rx_max_nss_for_mcs_12_and_13: Max Rx NSS for MCS 12 and 13 (BW = 20MHz) * @bw_20_tx_max_nss_for_mcs_10_and_11: Max Tx NSS for MCS 10 and 11
* bw_20_tx_max_nss_for_mcs_12_and_13: Max Tx NSS for MCS 12 and 13 (BW = 20MHz) * (BW = 20MHz)
* bw_le_80_rx_max_nss_for_mcs_0_to_9: Max Rx NSS for MCS 0 to 9 (BW <= 80MHz) * @bw_20_rx_max_nss_for_mcs_12_and_13: Max Rx NSS for MCS 12 and 13
* bw_le_80_tx_max_nss_for_mcs_0_to_9: Max Tx NSS for MCS 0 to 9 (BW <= 80MHz) * (BW = 20MHz)
* bw_le_80_rx_max_nss_for_mcs_10_and_11: Max Rx NSS for MCS 10 and 11 * @bw_20_tx_max_nss_for_mcs_12_and_13: Max Tx NSS for MCS 12 and 13
* (BW = 20MHz)
* @bw_le_80_rx_max_nss_for_mcs_0_to_9: Max Rx NSS for MCS 0 to 9 (BW <= 80MHz)
* @bw_le_80_tx_max_nss_for_mcs_0_to_9: Max Tx NSS for MCS 0 to 9 (BW <= 80MHz)
* @bw_le_80_rx_max_nss_for_mcs_10_and_11: Max Rx NSS for MCS 10 and 11
* (BW <= 80MHz) * (BW <= 80MHz)
* bw_le_80_tx_max_nss_for_mcs_10_and_11: Max Tx NSS for MCS 10 and 11 * @bw_le_80_tx_max_nss_for_mcs_10_and_11: Max Tx NSS for MCS 10 and 11
* (BW <= 80MHz) * (BW <= 80MHz)
* bw_le_80_rx_max_nss_for_mcs_12_and_13: Max Rx NSS for MCS 12 and 13 * @bw_le_80_rx_max_nss_for_mcs_12_and_13: Max Rx NSS for MCS 12 and 13
* (BW <= 80MHz) * (BW <= 80MHz)
* bw_le_80_tx_max_nss_for_mcs_12_and_13: Max Tx NSS for MCS 12 and 13 * @bw_le_80_tx_max_nss_for_mcs_12_and_13: Max Tx NSS for MCS 12 and 13
* (BW <= 80MHz) * (BW <= 80MHz)
* bw_160_rx_max_nss_for_mcs_0_to_9: Max Rx NSS for MCS 0 to 9 (BW = 160MHz) * @bw_160_rx_max_nss_for_mcs_0_to_9: Max Rx NSS for MCS 0 to 9 (BW = 160MHz)
* bw_160_tx_max_nss_for_mcs_0_to_9: Max Tx NSS for MCS 0 to 9 (BW = 160MHz) * @bw_160_tx_max_nss_for_mcs_0_to_9: Max Tx NSS for MCS 0 to 9 (BW = 160MHz)
* bw_160_rx_max_nss_for_mcs_10_and_11: Max Rx NSS for MCS 10 and 11 * @bw_160_rx_max_nss_for_mcs_10_and_11: Max Rx NSS for MCS 10 and 11
* (BW = 160MHz) * (BW = 160MHz)
* bw_160_tx_max_nss_for_mcs_10_and_11: Max Tx NSS for MCS 10 and 11 * @bw_160_tx_max_nss_for_mcs_10_and_11: Max Tx NSS for MCS 10 and 11
* (BW = 160MHz) * (BW = 160MHz)
* bw_160_rx_max_nss_for_mcs_12_and_13: Max Rx NSS for MCS 12 and 13 * @bw_160_rx_max_nss_for_mcs_12_and_13: Max Rx NSS for MCS 12 and 13
* (BW = 160MHz) * (BW = 160MHz)
* bw_160_tx_max_nss_for_mcs_12_and_13: Max Tx NSS for MCS 12 and 13 * @bw_160_tx_max_nss_for_mcs_12_and_13: Max Tx NSS for MCS 12 and 13
* (BW = 160MHz) * (BW = 160MHz)
* bw_320_rx_max_nss_for_mcs_0_to_9: Max Rx NSS for MCS 0 to 9 (BW = 320MHz) * @bw_320_rx_max_nss_for_mcs_0_to_9: Max Rx NSS for MCS 0 to 9 (BW = 320MHz)
* bw_320_tx_max_nss_for_mcs_0_to_9: Max Tx NSS for MCS 0 to 9 (BW = 320MHz) * @bw_320_tx_max_nss_for_mcs_0_to_9: Max Tx NSS for MCS 0 to 9 (BW = 320MHz)
* bw_320_rx_max_nss_for_mcs_10_and_11: Max Rx NSS for MCS 10 and 11 * @bw_320_rx_max_nss_for_mcs_10_and_11: Max Rx NSS for MCS 10 and 11
* (BW = 320MHz) * (BW = 320MHz)
* bw_320_tx_max_nss_for_mcs_10_and_11: Max Tx NSS for MCS 10 and 11 * @bw_320_tx_max_nss_for_mcs_10_and_11: Max Tx NSS for MCS 10 and 11
* (BW = 320MHz) * (BW = 320MHz)
* bw_320_rx_max_nss_for_mcs_12_and_13: Max Rx NSS for MCS 12 and 13 * @bw_320_rx_max_nss_for_mcs_12_and_13: Max Rx NSS for MCS 12 and 13
* (BW = 320MHz) * (BW = 320MHz)
* bw_320_tx_max_nss_for_mcs_12_and_13: Max Tx NSS for MCS 12 and 13 * @bw_320_tx_max_nss_for_mcs_12_and_13: Max Tx NSS for MCS 12 and 13
* (BW = 320MHz) * (BW = 320MHz)
*/ */
struct wlan_eht_cap_info_network_endian { struct wlan_eht_cap_info_network_endian {
@@ -2954,7 +2968,8 @@ struct wlan_eht_cap_info_network_endian {
uint16_t restricted_twt:1; uint16_t restricted_twt:1;
uint16_t scs_traffic_desc:1; uint16_t scs_traffic_desc:1;
uint16_t max_mpdu_len:2; uint16_t max_mpdu_len:2;
uint16_t reserved:8; uint16_t max_a_mpdu_len_exponent_ext:1;
uint16_t reserved:7;
uint32_t reserved2:1; uint32_t reserved2:1;
uint32_t support_320mhz_6ghz:1; uint32_t support_320mhz_6ghz:1;

View File

@@ -264,9 +264,11 @@ util_scan_get_phymode_11be(struct wlan_objmgr_pdev *pdev,
EHTOP_PARAM_DISABLED_SC_BITMAP_PRESENT_IDX, EHTOP_PARAM_DISABLED_SC_BITMAP_PRESENT_IDX,
EHTOP_PARAM_DISABLED_SC_BITMAP_PRESENT_BITS)) { EHTOP_PARAM_DISABLED_SC_BITMAP_PRESENT_BITS)) {
scan_params->channel.puncture_bitmap = scan_params->channel.puncture_bitmap =
QDF_GET_BITS(eht_ops->disable_sub_chan_bitmap[0], 0, 8); QDF_GET_BITS(eht_ops->disabled_sub_chan_bitmap[0],
0, 8);
scan_params->channel.puncture_bitmap |= scan_params->channel.puncture_bitmap |=
QDF_GET_BITS(eht_ops->disable_sub_chan_bitmap[1], 0, 8) << 8; QDF_GET_BITS(eht_ops->disabled_sub_chan_bitmap[1],
0, 8) << 8;
} else { } else {
scan_params->channel.puncture_bitmap = 0; scan_params->channel.puncture_bitmap = 0;
} }