/* * Copyright (c) 2016-2019, 2021 The Linux Foundation. All rights reserved. * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the * above copyright notice and this permission notice appear in all * copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #include #include "dp_ratetable.h" #include "qdf_module.h" #include "cdp_txrx_mon_struct.h" enum { MODE_11A = 0, /* 11a Mode */ MODE_11G = 1, /* 11b/g Mode */ MODE_11B = 2, /* 11b Mode */ MODE_11GONLY = 3, /* 11g only Mode */ MODE_11NA_HT20 = 4, /* 11a HT20 mode */ MODE_11NG_HT20 = 5, /* 11g HT20 mode */ MODE_11NA_HT40 = 6, /* 11a HT40 mode */ MODE_11NG_HT40 = 7, /* 11g HT40 mode */ MODE_11AC_VHT20 = 8, MODE_11AC_VHT40 = 9, MODE_11AC_VHT80 = 10, MODE_11AC_VHT20_2G = 11, MODE_11AC_VHT40_2G = 12, MODE_11AC_VHT80_2G = 13, MODE_11AC_VHT80_80 = 14, MODE_11AC_VHT160 = 15, MODE_11AX_HE20 = 16, MODE_11AX_HE40 = 17, MODE_11AX_HE80 = 18, MODE_11AX_HE80_80 = 19, MODE_11AX_HE160 = 20, MODE_11AX_HE20_2G = 21, MODE_11AX_HE40_2G = 22, MODE_11AX_HE80_2G = 23, #ifdef WLAN_FEATURE_11BE MODE_11BE_EHT20 = 24, MODE_11BE_EHT40 = 25, MODE_11BE_EHT80 = 26, MODE_11BE_EHT80_80 = 27, MODE_11BE_EHT160 = 28, MODE_11BE_EHT160_160 = 29, MODE_11BE_EHT320 = 30, MODE_11BE_EHT20_2G = 31, MODE_11BE_EHT40_2G = 32, #endif /* MODE_UNKNOWN should not be used within the host / target interface. * Thus, it is permissible for ODE_UNKNOWN to be conditionally-defined, * taking different values when compiling for different targets. */ MODE_UNKNOWN, MODE_UNKNOWN_NO_160MHZ_SUPPORT = 14, /* not needed? */ MODE_UNKNOWN_160MHZ_SUPPORT = MODE_UNKNOWN, /* not needed? */ } DP_PHY_MODE; /* The following would span more than one octet * when 160MHz BW defined for VHT * Also it's important to maintain the ordering of this enum * else it would break other rate adaptation functions */ enum DP_CMN_RATECODE_PREAM_TYPE { DP_CMN_RATECODE_PREAM_OFDM, DP_CMN_RATECODE_PREAM_CCK, DP_CMN_RATECODE_PREAM_HT, DP_CMN_RATECODE_PREAM_VHT, DP_CMN_RATECODE_PREAM_HE, #ifdef WLAN_FEATURE_11BE DP_CMN_RATECODE_PREAM_EHT, #endif DP_CMN_RATECODE_PREAM_COUNT, }; /* * @validmodemask : bit mask where 1 indicates the rate is valid for that mode * @DP_CMN_MODULATION : modulation CCK/OFDM/MCS * @propmask : bit mask of rate property. NSS/STBC/TXBF/LDPC * @ratekbps : Rate in Kbits per second * @ratebpdsgi : Rate in kbits per second if HT SGI is enabled * @ratekbpsdgi : Rate in kbits per second if 1.6us GI is enabled * @ratekbpsqgi : Rate in kbits per second if 3.2us GI is enabled * @ratekbpsdcm : Rate in kbits per second if DCM is applied * @userratekabps : User rate in KBits per second * @dot11rate : Value that goes into supported rates info element of MLME * @ratecode : rate that goes into hw descriptors */ const struct DP_CMN_RATE_TABLE { struct { #ifdef WLAN_FEATURE_11BE uint64_t validmodemask; #else uint32_t validmodemask; #endif enum DP_CMN_MODULATION_TYPE phy; uint32_t ratekbps; uint32_t ratekbpssgi; uint32_t ratekbpsdgi; uint32_t ratekbpsqgi; uint32_t ratekbpsdcm; uint32_t userratekbps; uint16_t ratecode; } info[DP_RATE_TABLE_SIZE]; } DP_CMN_RATE_TABLE; /*Use the highest bit to indicate the invalid bcc rates accorss *different PHYMODE */ #ifdef WLAN_FEATURE_11BE #define ONE_UL ((uint64_t)1) #define INVALID_BCC_RATE ONE_UL << MODE_UNKNOWN #else #define INVALID_BCC_RATE BIT(MODE_UNKNOWN) #endif #define CCK_MODE_VALID_MASK ((1 << MODE_11G) | (1 << MODE_11B) | \ (1 << MODE_11NG_HT20) | (1 << MODE_11NG_HT40) | \ (1 << MODE_11AC_VHT40_2G) | (1 << MODE_11AC_VHT20_2G) |\ (1 << MODE_11AC_VHT80_2G)) #define OFDM_MODE_VALID_MASK ((1 << MODE_11A) | (1 << MODE_11G) | \ (1 << MODE_11GONLY) | (1 << MODE_11NA_HT20) | \ (1 << MODE_11NG_HT20) \ | (1 << MODE_11NA_HT40) | (1 << MODE_11NG_HT40) \ | (1 << MODE_11AC_VHT40) | (1 << MODE_11AC_VHT20) | \ (1 << MODE_11AC_VHT80) \ | (1 << MODE_11AC_VHT40_2G) | (1 << MODE_11AC_VHT20_2G) | \ (1 << MODE_11AC_VHT80_2G) \ | (1 << MODE_11AC_VHT160) | (1 << MODE_11AC_VHT80_80)) #define HT20_MODE_VALID_MASK ((1 << MODE_11NA_HT20) | \ (1 << MODE_11NG_HT20) \ | (1 << MODE_11NA_HT40) | (1 << MODE_11NG_HT40) \ | (1 << MODE_11AC_VHT40) | (1 << MODE_11AC_VHT20) | \ (1 << MODE_11AC_VHT80) \ | (1 << MODE_11AC_VHT40_2G) | (1 << MODE_11AC_VHT20_2G) | \ (1 << MODE_11AC_VHT80_2G) \ | (1 << MODE_11AC_VHT160) | (1 << MODE_11AC_VHT80_80)) #define HT40_MODE_VALID_MASK ((1 << MODE_11NA_HT40) | \ (1 << MODE_11NG_HT40) \ | (1 << MODE_11AC_VHT40) | (1 << MODE_11AC_VHT80) \ | (1 << MODE_11AC_VHT40_2G) | (1 << MODE_11AC_VHT80_2G) \ | (1 << MODE_11AC_VHT160) | (1 << MODE_11AC_VHT80_80)) #define VHT20_MODE_VALID_MASK ((1 << MODE_11AC_VHT20) | \ (1 << MODE_11AC_VHT40) | (1 << MODE_11AC_VHT80) | \ (1 << MODE_11AC_VHT40_2G) | (1 << MODE_11AC_VHT20_2G) | \ (1 << MODE_11AC_VHT80_2G) | \ (1 << MODE_11AC_VHT160) | (1 << MODE_11AC_VHT80_80)) #define VHT40_MODE_VALID_MASK ((1 << MODE_11AC_VHT40) | \ (1 << MODE_11AC_VHT80) | \ (1 << MODE_11AC_VHT40_2G) | (1 << MODE_11AC_VHT80_2G) | \ (1 << MODE_11AC_VHT160) | (1 << MODE_11AC_VHT80_80)) #define VHT80_MODE_VALID_MASK ((1 << MODE_11AC_VHT80) | \ (1 << MODE_11AC_VHT80_2G) | \ (1 << MODE_11AC_VHT160) | (1 << MODE_11AC_VHT80_80)) #define VHT160_MODE_VALID_MASK ((1 << MODE_11AC_VHT160) | \ (1 << MODE_11AC_VHT80_80)) #define VHT20_LDPC_ONLY_MASKS (VHT20_MODE_VALID_MASK | INVALID_BCC_RATE) #define VHT40_LDPC_ONLY_MASKS (VHT40_MODE_VALID_MASK | INVALID_BCC_RATE) #define VHT80_LDPC_ONLY_MASKS (VHT80_MODE_VALID_MASK | INVALID_BCC_RATE) #define VHT160_LDPC_ONLY_MASKS (VHT160_MODE_VALID_MASK | INVALID_BCC_RATE) #define VHT_INVALID_MCS (0xFF) #define VHT_INVALID_RATES_MASK 0 #define HE20_MODE_VALID_MASK ((1 << MODE_11AX_HE20) |\ (1 << MODE_11AX_HE40) | \ (1 << MODE_11AX_HE80) | (1 << MODE_11AX_HE20_2G) | \ (1 << MODE_11AX_HE40_2G) | \ (1 << MODE_11AX_HE80_2G) | (1 << MODE_11AX_HE80_80) | \ (1 << MODE_11AX_HE160)) #define HE40_MODE_VALID_MASK ((1 << MODE_11AX_HE40) | \ (1 << MODE_11AX_HE80) | (1 << MODE_11AX_HE40_2G) | \ (1 << MODE_11AX_HE80_2G) | (1 << MODE_11AX_HE80_80) | \ (1 << MODE_11AX_HE160)) #define HE80_MODE_VALID_MASK ((1 << MODE_11AX_HE80) | \ (1 << MODE_11AX_HE80_2G) | \ (1 << MODE_11AX_HE80_80) | (1 << MODE_11AX_HE160)) #define HE160_MODE_VALID_MASK ((1 << MODE_11AX_HE80_80) | \ (1 << MODE_11AX_HE160)) #define HE20_LDPC_ONLY_MASKS (HE20_MODE_VALID_MASK | INVALID_BCC_RATE) #define HE40_LDPC_ONLY_MASKS (HE40_MODE_VALID_MASK | INVALID_BCC_RATE) #define HE80_LDPC_ONLY_MASKS (HE80_MODE_VALID_MASK | INVALID_BCC_RATE) #define HE160_LDPC_ONLY_MASKS (HE160_MODE_VALID_MASK | INVALID_BCC_RATE) #define HE_INVALID_RATES_MASK 0 #ifdef WLAN_FEATURE_11BE #define MODE_11BE_EHT240 0 #define EHT20_MODE_VALID_MASK ((ONE_UL << MODE_11BE_EHT20) | \ (ONE_UL << MODE_11BE_EHT40) | \ (ONE_UL << MODE_11BE_EHT80) | \ (ONE_UL << MODE_11BE_EHT80_80) | \ (ONE_UL << MODE_11BE_EHT160) | \ (ONE_UL << MODE_11BE_EHT240) | \ (ONE_UL << MODE_11BE_EHT160_160) | \ (ONE_UL << MODE_11BE_EHT320) | \ (ONE_UL << MODE_11BE_EHT20_2G) | \ (ONE_UL << MODE_11BE_EHT40_2G)) #define EHT40_MODE_VALID_MASK ((ONE_UL << MODE_11BE_EHT40) | \ (ONE_UL << MODE_11BE_EHT80) | \ (ONE_UL << MODE_11BE_EHT80_80) | \ (ONE_UL << MODE_11BE_EHT160) | \ (ONE_UL << MODE_11BE_EHT240) | \ (ONE_UL << MODE_11BE_EHT160_160) | \ (ONE_UL << MODE_11BE_EHT320) | \ (ONE_UL << MODE_11BE_EHT40_2G)) #define EHT80_MODE_VALID_MASK ((ONE_UL << MODE_11BE_EHT80) | \ (ONE_UL << MODE_11BE_EHT80_80) | \ (ONE_UL << MODE_11BE_EHT160) | \ (ONE_UL << MODE_11BE_EHT240) | \ (ONE_UL << MODE_11BE_EHT160_160) | \ (ONE_UL << MODE_11BE_EHT320)) #define EHT160_MODE_VALID_MASK ((ONE_UL << MODE_11BE_EHT80_80) | \ (ONE_UL << MODE_11BE_EHT160) | \ (ONE_UL << MODE_11BE_EHT240) | \ (ONE_UL << MODE_11BE_EHT160_160) | \ (ONE_UL << MODE_11BE_EHT320)) #define EHT320_MODE_VALID_MASK ((ONE_UL << MODE_11BE_EHT160_160) | \ (ONE_UL << MODE_11BE_EHT320)) /* LDPC mask definition */ #define EHT20_LDPC_ONLY_MASKS (EHT20_MODE_VALID_MASK | INVALID_BCC_RATE) #define EHT40_LDPC_ONLY_MASKS (EHT40_MODE_VALID_MASK | INVALID_BCC_RATE) #define EHT80_LDPC_ONLY_MASKS (EHT80_MODE_VALID_MASK | INVALID_BCC_RATE) #define EHT160_LDPC_ONLY_MASKS (EHT160_MODE_VALID_MASK | INVALID_BCC_RATE) #define EHT320_LDPC_ONLY_MASKS (EHT320_MODE_VALID_MASK | INVALID_BCC_RATE) #define EHT_INVALID_RATES_MASK 0 #endif /* WLAN_FEATURE_11BE */ static const struct DP_CMN_RATE_TABLE dp_11abgnratetable = { { /* When number of spatial streams > 4 or 11AX support is enabled */ /* 0 11 Mb */ { CCK_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_CCK, 11000, 11000, 0, 0, 0, 11000, 0x100 }, /* 1 5.5 Mb */ { CCK_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_CCK, 5500, 5500, 0, 0, 0, 5500, 0x101 }, /* 2 2 Mb */ { CCK_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_CCK, 2000, 2000, 0, 0, 0, 2000, 0x102 }, /* 3 1 Mb */ { CCK_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_CCK, 1000, 1000, 0, 0, 0, 1000, 0x103 }, /* 4 48 Mb */ { OFDM_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_OFDM, 48000, 48000, 0, 0, 0, 48000, 0x000 }, /* 5 24 Mb */ { OFDM_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_OFDM, 24000, 24000, 0, 0, 0, 24000, 0x001 }, /* 6 12 Mb */ { OFDM_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_OFDM, 12000, 12000, 0, 0, 0, 12000, 0x002 }, /* 7 6 Mb */ { OFDM_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_OFDM, 6000, 6000, 0, 0, 0, 6000, 0x003 }, /* 8 54 Mb */ { OFDM_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_OFDM, 54000, 54000, 0, 0, 0, 54000, 0x004 }, /* 9 36 Mb */ { OFDM_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_OFDM, 36000, 36000, 0, 0, 0, 36000, 0x005 }, /* 10 18 Mb */ { OFDM_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_OFDM, 18000, 18000, 0, 0, 0, 18000, 0x006 }, /* 11 9 Mb */ { OFDM_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_OFDM, 9000, 9000, 0, 0, 0, 9000, 0x007}, /* 12 MCS-00 */ { HT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_20, 6500, 7200, 0, 0, 0, 6500, 0x200 }, /* 13 MCS-01 */ { HT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_20, 13000, 14400, 0, 0, 0, 13000, 0x201 }, /* 14 MCS-02 */ { HT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_20, 19500, 21700, 0, 0, 0, 19500, 0x202 }, /* 15 MCS-03 */ { HT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_20, 26000, 28900, 0, 0, 0, 26000, 0x203 }, /* 16 MCS-04 */ { HT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_20, 39000, 43300, 0, 0, 0, 39000, 0x204 }, /* 17 MCS-05 */ { HT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_20, 52000, 57800, 0, 0, 0, 52000, 0x205 }, /* 18 MCS-06 */ { HT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_20, 58500, 65000, 0, 0, 0, 58500, 0x206 }, /* 19 MCS-07 */ { HT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_20, 65000, 72200, 0, 0, 0, 65000, 0x207 }, /* When number of spatial streams > 1 */ /* 20 MCS-00 */ { HT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_20, 13000, 14400, 0, 0, 0, 13000, 0x220 }, /* 21 MCS-01 */ { HT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_20, 26000, 28900, 0, 0, 0, 26000, 0x221 }, /* 22 MCS-02 */ { HT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_20, 39000, 43300, 0, 0, 0, 39000, 0x222 }, /* 23 MCS-03 */ { HT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_20, 52000, 57800, 0, 0, 0, 52000, 0x223 }, /* 24 MCS-04 */ { HT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_20, 78000, 86700, 0, 0, 0, 78000, 0x224 }, /* 25 MCS-05 */ { HT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_20, 104000, 115600, 0, 0, 0, 104000, 0x225 }, /* 26 MCS-06 */ { HT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_20, 117000, 130000, 0, 0, 0, 117000, 0x226 }, /* 27 MCS-07 */ { HT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_20, 130000, 144000, 0, 0, 0, 130000, 0x227 }, /* When number of spatial streams > 2 */ /* 28 MCS-00 */ { HT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_20, 19500, 21700, 0, 0, 0, 19500, 0x240 }, /* 29 MCS-01 */ { HT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_20, 39000, 43300, 0, 0, 0, 39000, 0x241 }, /* 30 MCS-02 */ { HT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_20, 58500, 65000, 0, 0, 0, 58500, 0x242 }, /* 31 MCS-03 */ { HT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_20, 78000, 86700, 0, 0, 0, 78000, 0x243 }, /* 32 MCS-04 */ { HT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_20, 117000, 130000, 0, 0, 0, 117000, 0x244 }, /* 33 MCS-05 */ { HT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_20, 156000, 173300, 0, 0, 0, 156000, 0x245 }, /* 34 MCS-06 */ { HT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_20, 175500, 195000, 0, 0, 0, 175500, 0x246 }, /* 35 MCS-07 */ { HT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_20, 195000, 216700, 0, 0, 0, 195000, 0x247 }, /* When number of spatial streams > 3 */ /* 36 MCS-00 */ { HT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_20, 26000, 28900, 0, 0, 0, 26000, 0x260 }, /* 37 MCS-01 */ { HT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_20, 52000, 57800, 0, 0, 0, 52000, 0x261 }, /* 38 MCS-02 */ { HT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_20, 78000, 86700, 0, 0, 0, 78000, 0x262 }, /* 39 MCS-03 */ { HT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_20, 104000, 115600, 0, 0, 0, 104000, 0x263 }, /* 40 MCS-04 */ { HT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_20, 156000, 173300, 0, 0, 0, 156000, 0x264 }, /* 41 MCS-05 */ { HT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_20, 208000, 231100, 0, 0, 0, 208000, 0x265 }, /* 42 MCS-06 */ { HT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_20, 234000, 260000, 0, 0, 0, 234000, 0x266 }, /* 43 MCS-07 */ { HT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_20, 260000, 288900, 0, 0, 0, 260000, 0x267 }, /* 11n HT40 rates */ /* 44 MCS-00 */ { HT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_40, 13500, 15000, 0, 0, 0, 13500, 0x200 }, /* 45 MCS-01 */ { HT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_40, 27000, 30000, 0, 0, 0, 27000, 0x201 }, /* 46 MCS-02 */ { HT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_40, 40500, 45000, 0, 0, 0, 40500, 0x202 }, /* 47 MCS-03 */ { HT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_40, 54000, 60000, 0, 0, 0, 54000, 0x203 }, /* 48 MCS-04 */ { HT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_40, 81500, 90000, 0, 0, 0, 81500, 0x204 }, /* 49 MCS-05 */ { HT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_40, 108000, 120000, 0, 0, 0, 108000, 0x205 }, /* 50 MCS-06 */ { HT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_40, 121500, 135000, 0, 0, 0, 121500, 0x206 }, /* 51 MCS-07 */ { HT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_40, 135000, 150000, 0, 0, 0, 135000, 0x207 }, /* When number of spatial streams > 1 */ /* 52 MCS-00 */ { HT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_40, 27000, 30000, 0, 0, 0, 27000, 0x220 }, /* 53 MCS-01 */ { HT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_40, 54000, 60000, 0, 0, 0, 54000, 0x221 }, /* 54 MCS-02 */ { HT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_40, 81000, 90000, 0, 0, 0, 81000, 0x222 }, /* 55 MCS-03 */ { HT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_40, 108000, 120000, 0, 0, 0, 108000, 0x223 }, /* 56 MCS-04 */ { HT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_40, 162000, 180000, 0, 0, 0, 162000, 0x224 }, /* 57 MCS-05 */ { HT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_40, 216000, 240000, 0, 0, 0, 216000, 0x225 }, /* 58 MCS-06 */ { HT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_40, 243000, 270000, 0, 0, 0, 243000, 0x226 }, /* 59 MCS-07 */ { HT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_40, 270000, 300000, 0, 0, 0, 270000, 0x227 }, /* When number of spatial streams > 2 */ /* 60 MCS-00 */ { HT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_40, 40500, 45000, 0, 0, 0, 40500, 0x240 }, /* 61 MCS-01 */ { HT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_40, 81000, 90000, 0, 0, 0, 81000, 0x241 }, /* 62 MCS-02 */ { HT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_40, 121500, 135000, 0, 0, 0, 121500, 0x242 }, /* 63 MCS-03 */ { HT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_40, 162000, 180000, 0, 0, 0, 162000, 0x243 }, /* 64 MCS-04 */ { HT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_40, 243000, 270000, 0, 0, 0, 243000, 0x244 }, /* 65 MCS-05 */ { HT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_40, 324000, 360000, 0, 0, 0, 324000, 0x245 }, /* 66 MCS-06 */ { HT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_40, 364500, 405000, 0, 0, 0, 364500, 0x246 }, /* 67 MCS-07 */ { HT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_40, 405000, 450000, 0, 0, 0, 405000, 0x247 }, /* When number of spatial streams > 3 */ /* 68 MCS-00 */ { HT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_40, 54000, 60000, 0, 0, 0, 54000, 0x260 }, /* 69 MCS-01 */ { HT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_40, 108000, 120000, 0, 0, 0, 108000, 0x261 }, /* 70 MCS-02 */ { HT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_40, 162000, 180000, 0, 0, 0, 162000, 0x262 }, /* 71 MCS-03 */ { HT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_40, 216000, 240000, 0, 0, 0, 216000, 0x263 }, /* 72 MCS-04 */ { HT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_40, 324000, 360000, 0, 0, 0, 324000, 0x264 }, /* 73 MCS-05 */ { HT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_40, 432000, 480000, 0, 0, 0, 432000, 0x265 }, /* 74 MCS-06 */ { HT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_40, 486000, 540000, 0, 0, 0, 486000, 0x266 }, /* 75 MCS-07 */ { HT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HT_40, 540000, 600000, 0, 0, 0, 540000, 0x267 }, /* 11ac VHT20 rates */ /* 76 MCS-00 */ { VHT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_20, 6500, 7200, 0, 0, 0, 6500, 0x300 }, /* 77 MCS-01 */ { VHT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_20, 13000, 14400, 0, 0, 0, 13000, 0x301 }, /* 78 MCS-02 */ { VHT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_20, 19500, 21700, 0, 0, 0, 19500, 0x302 }, /* 79 MCS-03 */ { VHT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_20, 26000, 28900, 0, 0, 0, 26000, 0x303 }, /* 80 MCS-04 */ { VHT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_20, 39000, 43300, 0, 0, 0, 39000, 0x304 }, /* 81 MCS-05 */ { VHT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_20, 52000, 57800, 0, 0, 0, 52000, 0x305 }, /* 82 MCS-06 */ { VHT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_20, 58500, 65000, 0, 0, 0, 58500, 0x306 }, /* 83 MCS-07 */ { VHT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_20, 65000, 72200, 0, 0, 0, 65000, 0x307 }, /* 84 MCS-08 */ { VHT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_20, 78000, 86700, 0, 0, 0, 78000, 0x308 }, /* 85 MCS-09 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 86500, 96000, 0, 0, 0, 86500, 0x309 }, /* When we support very high throughput MCS */ /* 86 MCS-10 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 97500, 108300, 0, 0, 0, 97500, 0x30a}, /* 87 MCS-11 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 108300, 120400, 0, 0, 0, 108300, 0x30b}, /* When number of spatial streams > 1 */ /* 88 MCS-00 */ { VHT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_20, 13000, 14400, 0, 0, 0, 13000, 0x320 }, /* 89 MCS-01 */ { VHT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_20, 26000, 28900, 0, 0, 0, 26000, 0x321 }, /* 90 MCS-02 */ { VHT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_20, 39000, 43300, 0, 0, 0, 39000, 0x322 }, /* 91 MCS-03 */ { VHT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_20, 52000, 57800, 0, 0, 0, 52000, 0x323 }, /* 92 MCS-04 */ { VHT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_20, 78000, 86700, 0, 0, 0, 78000, 0x324 }, /* 93 MCS-05 */ { VHT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_20, 104000, 115600, 0, 0, 0, 104000, 0x325 }, /* 94 MCS-06 */ { VHT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_20, 117000, 130000, 0, 0, 0, 117000, 0x326 }, /* 95 MCS-07 */ { VHT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_20, 130000, 144400, 0, 0, 0, 130000, 0x327 }, /* 96 MCS-08 */ { VHT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_20, 156000, 173300, 0, 0, 0, 156000, 0x328 }, /* 97 MCS-09 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 173000, 192000, 0, 0, 0, 173000, 0x329 }, /* 98 MCS-10 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 195000, 216700, 0, 0, 0, 195000, 0x32a }, /* 99 MCS-11 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 216700, 240700, 0, 0, 0, 216700, 0x32b }, /* when number of spatial streams > 2 */ /* 100 MCS-00 */ { VHT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_20, 19500, 21700, 0, 0, 0, 19500, 0x340 }, /* 101 MCS-01 */ { VHT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_20, 39000, 43300, 0, 0, 0, 39000, 0x341 }, /* 102 MCS-02 */ { VHT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_20, 58500, 65000, 0, 0, 0, 58500, 0x342 }, /* 103 MCS-03 */ { VHT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_20, 78000, 86700, 0, 0, 0, 78000, 0x343 }, /* 104 MCS-04 */ { VHT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_20, 117000, 130000, 0, 0, 0, 117000, 0x344 }, /* 105 MCS-05 */ { VHT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_20, 156000, 173300, 0, 0, 0, 156000, 0x345 }, /* 106 MCS-06 */ { VHT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_20, 175500, 195000, 0, 0, 0, 175500, 0x346 }, /* 107 MCS-07 */ { VHT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_20, 195000, 216700, 0, 0, 0, 195000, 0x347 }, /* 108 MCS-08 */ { VHT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_20, 234000, 260000, 0, 0, 0, 234000, 0x348 }, /* 109 MCS-09 */ { VHT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_20, 260000, 288900, 0, 0, 0, 260000, 0x349 }, /* 110 MCS-10 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 292500, 325000, 0, 0, 0, 292500, 0x34a}, /* 111 MCS-11 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 325000, 361100, 0, 0, 0, 325000, 0x34b}, /* when number of spatial streams > 3 */ /* 112 MCS-00 */ { VHT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_20, 26000, 28900, 0, 0, 0, 26000, 0x360 }, /* 113 MCS-01 */ { VHT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_20, 52000, 57800, 0, 0, 0, 52000, 0x361 }, /* 114 MCS-02 */ { VHT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_20, 78000, 86700, 0, 0, 0, 78000, 0x362 }, /* 115 MCS-03 */ { VHT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_20, 104000, 115600, 0, 0, 0, 104000, 0x363 }, /* 116 MCS-04 */ { VHT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_20, 156000, 173300, 0, 0, 0, 156000, 0x364 }, /* 117 MCS-05 */ { VHT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_20, 208000, 231100, 0, 0, 0, 208000, 0x365 }, /* 118 MCS-06 */ { VHT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_20, 234000, 260000, 0, 0, 0, 234000, 0x366 }, /* 119 MCS-07 */ { VHT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_20, 260000, 288900, 0, 0, 0, 260000, 0x367 }, /* 120 MCS-08 */ { VHT20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_20, 312000, 346700, 0, 0, 0, 312000, 0x368 }, /* 121 MCS-09 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 344000, 378400, 0, 0, 0, 344000, 0x369 }, /* 122 MCS-10 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 390000, 433300, 0, 0, 0, 390000, 0x36a}, /* 123 MCS-11 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 433300, 481500, 0, 0, 0, 433300, 0x36b}, /* when number of spatial streams > 4 */ /* 124 MCS-00 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 32500, 36100, 0, 0, 0, 32500, 0x380 }, /* 125 MCS-01 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 65000, 72200, 0, 0, 0, 65000, 0x381 }, /* 126 MCS-02 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 97500, 108300, 0, 0, 0, 97500, 0x382 }, /* 127 MCS-03 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 130000, 144400, 0, 0, 0, 130000, 0x383 }, /* 128 MCS-04 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 195000, 216700, 0, 0, 0, 195000, 0x384 }, /* 129 MCS-05 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 260000, 288900, 0, 0, 0, 260000, 0x385 }, /* 130 MCS-06 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 292500, 325000, 0, 0, 0, 292500, 0x386 }, /* 131 MCS-07 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 325000, 361100, 0, 0, 0, 325000, 0x387 }, /* 132 MCS-08 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 390000, 433300, 0, 0, 0, 390000, 0x388 }, /* 133 MCS-09 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 433300, 481500, 0, 0, 0, 433300, 0x389 }, /* 134 MCS-10 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 487500, 541700, 0, 0, 0, 487500, 0x38a }, /* 135 MCS-11 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 541700, 601900, 0, 0, 0, 541700, 0x38b }, /* When number of spatial streams > 5 */ /* 136 MCS-00 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 39000, 43300, 0, 0, 0, 39000, 0x3a0 }, /* 137 MCS-01 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 78000, 86700, 0, 0, 0, 78000, 0x3a1 }, /* 138 MCS-02 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 117000, 130000, 0, 0, 0, 117000, 0x3a2 }, /* 139 MCS-03 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 156000, 173300, 0, 0, 0, 156000, 0x3a3 }, /* 140 MCS-04 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 234000, 260000, 0, 0, 0, 234000, 0x3a4 }, /* 141 MCS-05 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 312000, 346700, 0, 0, 0, 312000, 0x3a5 }, /* 142 MCS-06 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 351000, 390000, 0, 0, 0, 351000, 0x3a6 }, /* 143 MCS-07 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 390000, 433300, 0, 0, 0, 390000, 0x3a7 }, /* 144 MCS-08 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 468000, 520000, 0, 0, 0, 468000, 0x3a8 }, /* 145 MCS-09 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 520000, 577800, 0, 0, 0, 520000, 0x3a9 }, /* 146 MCS-10 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 585000, 650000, 0, 0, 0, 585000, 0x3aa }, /* 147 MCS-11 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 650000, 722200, 0, 0, 0, 650000, 0x3ab }, /* when number of spatial streams > 6 */ /* 148 MCS-00 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 45500, 50600, 0, 0, 0, 45500, 0x3c0 }, /* 149 MCS-01 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 91000, 101100, 0, 0, 0, 91000, 0x3c1 }, /* 150 MCS-02 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 136500, 151700, 0, 0, 0, 136500, 0x3c2 }, /* 151 MCS-03 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 182000, 202200, 0, 0, 0, 182000, 0x3c3 }, /* 152 MCS-04 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 273000, 303300, 0, 0, 0, 273000, 0x3c4 }, /* 153 MCS-05 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 364000, 404400, 0, 0, 0, 364000, 0x3c5 }, /* 154 MCS-06 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 409500, 455000, 0, 0, 0, 409500, 0x3c6 }, /* 155 MCS-07 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 455000, 505600, 0, 0, 0, 455000, 0x3c7 }, /* 156 MCS-08 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 546000, 606700, 0, 0, 0, 546000, 0x3c8 }, /* 157 MCS-09 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 606700, 674100, 0, 0, 0, 606700, 0x3c9 }, /* 158 MCS-10 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 682500, 758300, 0, 0, 0, 682500, 0x3ca }, /* 159 MCS-11 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 758300, 842600, 0, 0, 0, 758300, 0x3cb }, /* when number of spatial streams > 7 */ /* 160 MCS-00 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 52000, 57800, 0, 0, 0, 52000, 0x3e0 }, /* 161 MCS-01 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 104000, 115600, 0, 0, 0, 104000, 0x3e1 }, /* 162 MCS-02 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 156000, 173300, 0, 0, 0, 156000, 0x3e2 }, /* 163 MCS-03 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 208000, 231100, 0, 0, 0, 208000, 0x3e3 }, /* 164 MCS-04 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 312000, 346700, 0, 0, 0, 312000, 0x3e4 }, /* 165 MCS-05 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 416000, 462200, 0, 0, 0, 416000, 0x3e5 }, /* 166 MCS-06 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 468000, 520000, 0, 0, 0, 468000, 0x3e6 }, /* 167 MCS-07 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 520000, 577800, 0, 0, 0, 520000, 0x3e7 }, /* 168 MCS-08 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 624000, 693300, 0, 0, 0, 624000, 0x3e8 }, /* 169 MCS-09 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 693300, 770400, 0, 0, 0, 693300, 0x3e9 }, /* 170 MCS-10 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 780000, 866700, 0, 0, 0, 780000, 0x3ea }, /* 171 MCS-11 */ { VHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_20, 866700, 963000, 0, 0, 0, 866700, 0x3eb }, /* 11ac VHT40 rates */ /* 172 MCS-00 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 13500, 15000, 0, 0, 0, 13500, 0x300 }, /* 173 MCS-01 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 27000, 30000, 0, 0, 0, 27000, 0x301 }, /* 174 MCS-02 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 40500, 45000, 0, 0, 0, 40500, 0x302 }, /* 175 MCS-03 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 54000, 60000, 0, 0, 0, 54000, 0x303 }, /* 176 MCS-04 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 81000, 90000, 0, 0, 0, 81000, 0x304 }, /* 177 MCS-05 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 108000, 120000, 0, 0, 0, 108000, 0x305 }, /* 178 MCS-06 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 121500, 135000, 0, 0, 0, 121500, 0x306 }, /* 179 MCS-07 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 135000, 150000, 0, 0, 0, 135000, 0x307 }, /* 180 MCS-08 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 162000, 180000, 0, 0, 0, 162000, 0x308 }, /* 181 MCS-09 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 180000, 200000, 0, 0, 0, 180000, 0x309 }, /* 182 MCS-10 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 202500, 225000, 0, 0, 0, 202500, 0x30a }, /* 183 MCS-11 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 225000, 250000, 0, 0, 0, 225000, 0x30b }, /* when number of spatial streams > 1 */ /* 184 MCS-00 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 27000, 30000, 0, 0, 0, 27000, 0x320 }, /* 185 MCS-01 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 54000, 60000, 0, 0, 0, 54000, 0x321 }, /* 186 MCS-02 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 81000, 90000, 0, 0, 0, 81000, 0x322 }, /* 187 MCS-03 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 108000, 120000, 0, 0, 0, 108000, 0x323 }, /* 188 MCS-04 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 162000, 180000, 0, 0, 0, 162000, 0x324 }, /* 189 MCS-05 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 216000, 240000, 0, 0, 0, 216000, 0x325 }, /* 190 MCS-06 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 243000, 270000, 0, 0, 0, 243000, 0x326 }, /* 191 MCS-07 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 270000, 300000, 0, 0, 0, 270000, 0x327 }, /* 192 MCS-08 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 324000, 360000, 0, 0, 0, 324000, 0x328 }, /* 193 MCS-09 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 360000, 400000, 0, 0, 0, 360000, 0x329 }, /* 194 MCS-10 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 405000, 450000, 0, 0, 0, 405000, 0x32a }, /* 195 MCS-11 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 450000, 500000, 0, 0, 0, 450000, 0x32b }, /* When number of spatial streams > 2 use below rate*/ /* 196 MCS-00 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 40500, 45000, 0, 0, 0, 40500, 0x340 }, /* 197 MCS-01 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 81000, 90000, 0, 0, 0, 81000, 0x341 }, /* 198 MCS-02 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 121500, 135000, 0, 0, 0, 121500, 0x342 }, /* 199 MCS-03 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 162000, 180000, 0, 0, 0, 162000, 0x343 }, /* 200 MCS-04 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 243000, 270000, 0, 0, 0, 243000, 0x344 }, /* 201 MCS-05 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 324000, 360000, 0, 0, 0, 324000, 0x345 }, /* 202 MCS-06 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 364500, 405000, 0, 0, 0, 364500, 0x346 }, /* 203 MCS-07 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 405000, 450000, 0, 0, 0, 405000, 0x347 }, /* 204 MCS-08 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 486000, 540000, 0, 0, 0, 486000, 0x348 }, /* 205 MCS-09 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 540000, 600000, 0, 0, 0, 540000, 0x349 }, /* 206 MCS-10 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 607500, 675000, 0, 0, 0, 607500, 0x34a}, /* 207 MCS-11 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 675000, 750000, 0, 0, 0, 675000, 0x34b}, /* When number of spatial streams > 3 use below rates */ /* 208 MCS-00 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 54000, 60000, 0, 0, 0, 54000, 0x360}, /* 209 MCS-01 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 108000, 120000, 0, 0, 0, 108000, 0x361}, /* 210 MCS-02 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 162000, 180000, 0, 0, 0, 162000, 0x362}, /* 211 MCS-03 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 216000, 240000, 0, 0, 0, 216000, 0x363}, /* 212 MCS-04 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 324000, 260000, 0, 0, 0, 324000, 0x364}, /* 213 MCS-05 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 432000, 480000, 0, 0, 0, 432000, 0x365}, /* 214 MCS-06 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 486000, 540000, 0, 0, 0, 486000, 0x366}, /* 215 MCS-07 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 540000, 600000, 0, 0, 0, 540000, 0x367}, /* 216 MCS-08 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 648000, 720000, 0, 0, 0, 648000, 0x368}, /* 217 MCS-09 */ { VHT40_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_40, 720000, 800000, 0, 0, 0, 720000, 0x369}, /* 218 MCS-10 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 810000, 900000, 0, 0, 0, 810000, 0x36a }, /* 219 MCS-11 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 900000, 1000000, 0, 0, 0, 900000, 0x36b }, /* when number of spatial streams > 4 use below rates */ /* 220 MCS-00 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 67500, 75000, 0, 0, 0, 67500, 0x380 }, /* 221 MCS-01 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 135000, 150000, 0, 0, 0, 135000, 0x381 }, /* 222 MCS-02 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 202500, 225000, 0, 0, 0, 202500, 0x382 }, /* 223 MCS-03 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 270000, 300000, 0, 0, 0, 270000, 0x383 }, /* 224 MCS-04 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 405000, 450000, 0, 0, 0, 405000, 0x384 }, /* 225 MCS-05 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 540000, 600000, 0, 0, 0, 540000, 0x385 }, /* 226 MCS-06 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 607500, 675000, 0, 0, 0, 607500, 0x386 }, /* 227 MCS-07 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 675000, 750000, 0, 0, 0, 675000, 0x387 }, /* 228 MCS-08 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 810000, 900000, 0, 0, 0, 810000, 0x388 }, /* 229 MCS-09 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 900000, 1000000, 0, 0, 0, 900000, 0x389 }, /* 230 MCS-10 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 1012500, 1125000, 0, 0, 0, 1012500, 0x38a }, /* 231 MCS-11 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 1125000, 1250000, 0, 0, 0, 1125000, 0x38b }, /* when number of spatial streams > 5 use below rates*/ /* 232 MCS-00 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 81000, 90000, 0, 0, 0, 81000, 0x3a0 }, /* 233 MCS-01 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 162000, 180000, 0, 0, 0, 162000, 0x3a1 }, /* 234 MCS-02 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 243000, 270000, 0, 0, 0, 243000, 0x3a2 }, /* 235 MCS-03 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 324000, 360000, 0, 0, 0, 324000, 0x3a3 }, /* 236 MCS-04 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 486000, 540000, 0, 0, 0, 486000, 0x3a4 }, /* 237 MCS-05 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 648000, 720000, 0, 0, 0, 648000, 0x3a5 }, /* 238 MCS-06 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 729000, 815000, 0, 0, 0, 729000, 0x3a6 }, /* 239 MCS-07 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 810000, 900000, 0, 0, 0, 810000, 0x3a7 }, /* 240 MCS-08 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 972000, 1080000, 0, 0, 0, 972000, 0x3a8 }, /* 241 MCS-09 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 1080000, 1200000, 0, 0, 0, 1080000, 0x3a9 }, /* 242 MCS-10 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 1215000, 1350000, 0, 0, 0, 1215000, 0x3aa }, /* 243 MCS-11 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 1350000, 1500000, 0, 0, 0, 1350000, 0x3ab }, /* when number of spatial streams > 6 use below rates */ /* 244 MCS-00 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 94500, 105000, 0, 0, 0, 94500, 0x3c0 }, /* 245 MCS-01 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 189000, 210000, 0, 0, 0, 189000, 0x3c1 }, /* 246 MCS-02 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 283500, 315000, 0, 0, 0, 283500, 0x3c2 }, /* 247 MCS-03 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 378000, 420000, 0, 0, 0, 378000, 0x3c3 }, /* 248 MCS-04 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 567000, 630000, 0, 0, 0, 567000, 0x3c4 }, /* 249 MCS-05 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 756000, 840000, 0, 0, 0, 756000, 0x3c5 }, /* 250 MCS-06 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 850500, 945000, 0, 0, 0, 850500, 0x3c6 }, /* 251 MCS-07 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 945000, 1050000, 0, 0, 0, 945000, 0x3c7 }, /* 252 MCS-08 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 1134000, 1260000, 0, 0, 0, 1134000, 0x3c8 }, /* 253 MCS-09 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 1260000, 1400000, 0, 0, 0, 1260000, 0x3c9 }, /* 254 MCS-10 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 1417500, 1575000, 0, 0, 0, 1417500, 0x3ca }, /* 255 MCS-11 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 1575000, 1750000, 0, 0, 0, 1575000, 0x3cb }, /* when number of spatial streams > 7 use below rates */ /* 256 MCS-00 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 108000, 120000, 0, 0, 0, 108000, 0x3e0 }, /* 257 MCS-01 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 216000, 240000, 0, 0, 0, 216000, 0x3e1 }, /* 258 MCS-02 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 324000, 360000, 0, 0, 0, 324000, 0x3e2 }, /* 259 MCS-03 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 432000, 480000, 0, 0, 0, 432000, 0x3e3 }, /* 260 MCS-04 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 648000, 720000, 0, 0, 0, 648000, 0x3e4 }, /* 261 MCS-05 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 864000, 960000, 0, 0, 0, 864000, 0x3e5 }, /* 262 MCS-06 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 972000, 1080000, 0, 0, 0, 972000, 0x3e6 }, /* 263 MCS-07 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 1080000, 1200000, 0, 0, 0, 1080000, 0x3e7 }, /* 264 MCS-08 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 1296000, 1440000, 0, 0, 0, 1296000, 0x3e8 }, /* 265 MCS-09 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 1440000, 1600000, 0, 0, 0, 1440000, 0x3e9 }, /* 266 MCS-10 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 1620000, 1800000, 0, 0, 0, 1620000, 0x3ea }, /* 267 MCS-11 */ { VHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_40, 1800000, 2000000, 0, 0, 0, 1800000, 0x3eb }, /* 11ac VHT80 rates */ /* 268 MCS-00 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 29300, 32500, 0, 0, 0, 29300, 0x300}, /* 269 MCS-01 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 58500, 65000, 0, 0, 0, 58500, 0x301}, /* 270 MCS-02 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 87800, 97500, 0, 0, 0, 87800, 0x302}, /* 271 MCS-03 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 117000, 130000, 0, 0, 0, 117000, 0x303}, /* 272 MCS-04 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 175500, 195000, 0, 0, 0, 175500, 0x304}, /* 273 MCS-05 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 234000, 260000, 0, 0, 0, 234000, 0x305}, /* 274 MCS-06 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 263300, 292500, 0, 0, 0, 263300, 0x306}, /* 275 MCS-07 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 292500, 325000, 0, 0, 0, 292500, 0x307}, /* 276 MCS-08 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 351000, 390000, 0, 0, 0, 351000, 0x308}, /* 277 MCS-09 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 390000, 433300, 0, 0, 0, 390000, 0x309}, /* 278 MCS-10 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 438800, 487500, 0, 0, 0, 438800, 0x30a}, /* 279 MCS-11 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 487500, 541700, 0, 0, 0, 487500, 0x30b}, /* When number of spatial streams > 1 use below rates*/ /* 280 MCS-00 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 58500, 65000, 0, 0, 0, 58500, 0x320}, /* 281 MCS-01 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 117000, 130000, 0, 0, 0, 117000, 0x321}, /* 282 MCS-02 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 175500, 195000, 0, 0, 0, 175500, 0x322}, /* 283 MCS-03 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 234000, 260000, 0, 0, 0, 234000, 0x323}, /* 284 MCS-04 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 351000, 390000, 0, 0, 0, 351000, 0x324}, /* 285 MCS-05 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 468000, 520000, 0, 0, 0, 468000, 0x325}, /* 286 MCS-06 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 526500, 585000, 0, 0, 0, 526500, 0x326}, /* 287 MCS-07 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 585000, 650000, 0, 0, 0, 585000, 0x327}, /* 288 MCS-08 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 702000, 780000, 0, 0, 0, 702000, 0x328}, /* 289 MCS-09 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 780000, 866700, 0, 0, 0, 780000, 0x329}, /* 290 MCS-10 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 877500, 975000, 0, 0, 0, 877500, 0x32a}, /* 291 MCS-11 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 975000, 1083300, 0, 0, 0, 975000, 0x32b}, /* When number of spatial streams > 2 use below rates */ /* 292 MCS-00 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 87800, 97500, 0, 0, 0, 87800, 0x340 }, /* 293 MCS-01 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 175500, 195000, 0, 0, 0, 175500, 0x341 }, /* 294 MCS-02 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 263300, 292500, 0, 0, 0, 263300, 0x342 }, /* 295 MCS-03 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 351000, 390000, 0, 0, 0, 351000, 0x343 }, /* 296 MCS-04 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 526500, 585000, 0, 0, 0, 526500, 0x344 }, /* 297 MCS-05 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 702000, 780000, 0, 0, 0, 702000, 0x345 }, /* 298 MCS-06 */ { VHT_INVALID_RATES_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 789800, 877500, 0, 0, 0, 789800, 0x346 }, /* 299 MCS-07 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 877500, 975000, 0, 0, 0, 877500, 0x347 }, /* 300 MCS-08 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 1053000, 1170000, 0, 0, 0, 1053000, 0x348 }, /* 301 MCS-09 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 1170000, 1300000, 0, 0, 0, 1170000, 0x349 }, /* 302 MCS-10 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 1316300, 1462500, 0, 0, 0, 1316300, 0x34a }, /* 303 MCS-11 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 1462500, 1625000, 0, 0, 0, 1462500, 0x34b }, /* When number of spatial streams > 3 use below rates */ /* 304 MCS-00 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 117000, 130000, 0, 0, 0, 117000, 0x360 }, /* 305 MCS-01 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 234000, 260000, 0, 0, 0, 234000, 0x361 }, /* 306 MCS-02 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 351000, 390000, 0, 0, 0, 351000, 0x362 }, /* 307 MCS-03 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 468000, 520000, 0, 0, 0, 468000, 0x363 }, /* 308 MCS-04 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 702000, 780000, 0, 0, 0, 702000, 0x364 }, /* 309 MCS-05 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 936000, 1040000, 0, 0, 0, 936000, 0x365 }, /* 310 MCS-06 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 1053000, 1170000, 0, 0, 0, 1053000, 0x366 }, /* 311 MCS-07 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 1170000, 1300000, 0, 0, 0, 1170000, 0x367 }, /* 312 MCS-08 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 1404000, 1560000, 0, 0, 0, 1404000, 0x368 }, /* 313 MCS-09 */ { VHT80_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_80, 1560000, 1733000, 0, 0, 0, 1560000, 0x369 }, /* 314 MCS-08 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 1755000, 1950000, 0, 0, 0, 1755000, 0x36a }, /* 315 MCS-09 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 1950000, 2166700, 0, 0, 0, 1950000, 0x36b }, /* When number of spatial streams > 4 use below rates */ /* 316 MCS-00 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 146300, 162500, 0, 0, 0, 146300, 0x380 }, /* 317 MCS-01 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 292500, 325000, 0, 0, 0, 292500, 0x381 }, /* 318 MCS-02 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 438800, 487500, 0, 0, 0, 438800, 0x382 }, /* 319 MCS-03 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 585000, 650000, 0, 0, 0, 585000, 0x383 }, /* 320 MCS-04 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 877500, 975000, 0, 0, 0, 877500, 0x384 }, /* 321 MCS-05 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 1170000, 1300000, 0, 0, 0, 1170000, 0x385 }, /* 322 MCS-06 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 1316300, 1462500, 0, 0, 0, 1316300, 0x386 }, /* 323 MCS-07 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 1462500, 1625000, 0, 0, 0, 1462500, 0x387 }, /* 324 MCS-08 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 1755000, 1950000, 0, 0, 0, 1755000, 0x388 }, /* 325 MCS-09 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 1950000, 2166700, 0, 0, 0, 1950000, 0x389 }, /* 326 MCS-10 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 2193800, 2437500, 0, 0, 0, 2193800, 0x38a }, /* 327 MCS-11 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 2437500, 2708300, 0, 0, 0, 2437500, 0x38b }, /* When number of spatial streams > 5 use below rates */ /* 328 MCS-00 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 175500, 195000, 0, 0, 0, 175500, 0x3a0 }, /* 329 MCS-01 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 351000, 390000, 0, 0, 0, 351000, 0x3a1 }, /* 330 MCS-02 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 526500, 585500, 0, 0, 0, 526500, 0x3a2 }, /* 331 MCS-03 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 702000, 780000, 0, 0, 0, 702000, 0x3a3 }, /* 332 MCS-04 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 1053000, 1170000, 0, 0, 0, 1053000, 0x3a4 }, /* 333 MCS-05 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 1404000, 1560000, 0, 0, 0, 1404000, 0x3a5 }, /* 334 MCS-06 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 1579500, 1755000, 0, 0, 0, 1579500, 0x3a6 }, /* 335 MCS-07 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 1755000, 1950000, 0, 0, 0, 1755000, 0x3a7 }, /* 336 MCS-08 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 2106000, 2340000, 0, 0, 0, 2106000, 0x3a8 }, /* 337 MCS-09 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 2340000, 2600000, 0, 0, 0, 2340000, 0x3a9 }, /* 338 MCS-10 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 2632500, 2925000, 0, 0, 0, 2632500, 0x3aa }, /* 339 MCS-11 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 2925000, 3250000, 0, 0, 0, 2925000, 0x3ab }, /* When number of spatial streams > 6 use below rates*/ /* 340 MCS-00 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 204800, 227500, 0, 0, 0, 204800, 0x3c0 }, /* 341 MCS-01 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 409500, 455000, 0, 0, 0, 409500, 0x3c1 }, /* 342 MCS-02 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 614300, 682500, 0, 0, 0, 614300, 0x3c2 }, /* 343 MCS-03 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 819000, 910000, 0, 0, 0, 819000, 0x3c3 }, /* 344 MCS-04 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 1288500, 1365000, 0, 0, 0, 1288500, 0x3c4 }, /* 345 MCS-05 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 1638000, 1820000, 0, 0, 0, 1638000, 0x3c5 }, /* 346 MCS-06 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 1842800, 2047500, 0, 0, 0, 1842800, 0x3c6 }, /* 347 MCS-07 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 2047500, 2275000, 0, 0, 0, 2047500, 0x3c7 }, /* 348 MCS-08 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 2457000, 2730000, 0, 0, 0, 2457000, 0x3c8 }, /* 349 MCS-09 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 2730000, 3033300, 0, 0, 0, 2730000, 0x3c9 }, /* 350 MCS-10 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 3071300, 3412500, 0, 0, 0, 3071300, 0x3ca }, /* 351 MCS-11 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 3412500, 3791700, 0, 0, 0, 3412500, 0x3cb }, /* When number of spatial streams > 7 use below rates*/ /* 352 MCS-00 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 234000, 260000, 0, 0, 0, 234000, 0x3e0 }, /* 353 MCS-01 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 468000, 520000, 0, 0, 0, 468000, 0x3e1}, /* 354 MCS-02 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 702000, 780000, 0, 0, 0, 702000, 0x3e2}, /* 355 MCS-03 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 936000, 1040000, 0, 0, 0, 936000, 0x3e3}, /* 356 MCS-04 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 1404000, 1560000, 0, 0, 0, 1404000, 0x3e4}, /* 357 MCS-05 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 1872000, 2080000, 0, 0, 0, 1872000, 0x3e5}, /* 358 MCS-06 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 2106000, 2340000, 0, 0, 0, 2106000, 0x3e6}, /* 359 MCS-07 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 2340000, 2600000, 0, 0, 0, 2340000, 0x3e7}, /* 360 MCS-08 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 2808000, 3120000, 0, 0, 0, 2808000, 0x3e8}, /* 361 MCS-09 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 3120000, 3466700, 0, 0, 0, 3120000, 0x3e9}, /* 362 MCS-10 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 3510000, 3900000, 0, 0, 0, 3510000, 0x3ea}, /* 363 MCS-11 */ { VHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_80, 3900000, 4333300, 0, 0, 0, 3900000, 0x3eb}, /* 11ac VHT160 rates */ /* 364 MCS-00 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 58500, 65000, 0, 0, 0, 58500, 0x300}, /* 365 MCS-01 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 117000, 130000, 0, 0, 0, 117000, 0x301}, /* 366 MCS-02 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 175500, 195000, 0, 0, 0, 175500, 0x302}, /* 367 MCS-03 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 234000, 260000, 0, 0, 0, 234000, 0x303}, /* 368 MCS-04 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 351000, 390000, 0, 0, 0, 351000, 0x304}, /* 369 MCS-05 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 468000, 520000, 0, 0, 0, 468000, 0x305}, /* 370 MCS-06 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 526500, 585000, 0, 0, 0, 526500, 0x306}, /* 371 MCS-07 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 585000, 650000, 0, 0, 0, 585000, 0x307}, /* 372 MCS-08 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 702000, 780000, 0, 0, 0, 702000, 0x308}, /* 373 MCS-09 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 780000, 866700, 0, 0, 0, 780000, 0x309}, /* 374 MCS-10 */ { VHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_160, 877500, 975000, 0, 0, 0, 877500, 0x30a }, /* 375 MCS-11 */ { VHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_160, 975000, 1083300, 0, 0, 0, 975000, 0x30b }, /* If maximum number of spatial streams supported * at 160MHZ > 1 use below rates */ /* 376 MCS-00 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 117000, 130000, 0, 0, 0, 117000, 0x320}, /* 377 MCS-01 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 234000, 260000, 0, 0, 0, 234000, 0x321}, /* 378 MCS-02 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 351000, 390000, 0, 0, 0, 351000, 0x322}, /* 379 MCS-03 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 468000, 520000, 0, 0, 0, 468000, 0x323}, /* 380 MCS-04 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 702000, 780000, 0, 0, 0, 702000, 0x324}, /* 381 MCS-05 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 936000, 1040000, 0, 0, 0, 936000, 0x325}, /* 382 MCS-06 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 1053000, 1170000, 0, 0, 0, 1053000, 0x326}, /* 383 MCS-07 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 1170000, 1300000, 0, 0, 0, 1170000, 0x327}, /* 384 MCS-08 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 1404000, 1560000, 0, 0, 0, 1404000, 0x328}, /* 385 MCS-09 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 1560000, 1733300, 0, 0, 0, 1560000, 0x329}, /* 386 MCS-10 */ { VHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_160, 1755000, 1950000, 0, 0, 0, 1755000, 0x32a}, /* 387 MCS-11 */ { VHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_160, 1950000, 2166700, 0, 0, 0, 1950000, 0x32b}, /* If maximum number of spatial streams supported * at 160MHZ > 2 use below rates */ /* 388 MCS-00 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 175500, 195000, 0, 0, 0, 175500, 0x340 }, /* 389 MCS-01 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 351000, 390000, 0, 0, 0, 351000, 0x341 }, /* 390 MCS-02 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 526500, 585000, 0, 0, 0, 526500, 0x342 }, /* 391 MCS-03 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 702000, 780000, 0, 0, 0, 702000, 0x343 }, /* 392 MCS-04 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 1053000, 1170000, 0, 0, 0, 1053000, 0x344 }, /* 393 MCS-05 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 1404000, 1560000, 0, 0, 0, 1404000, 0x345 }, /* 394 MCS-06 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 1579500, 1755000, 0, 0, 0, 1579500, 0x346 }, /* 395 MCS-07 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 1755000, 1755000, 0, 0, 0, 1755000, 0x347 }, /* 396 MCS-08 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 2106000, 2340000, 0, 0, 0, 2106000, 0x348 }, /* 397 MCS-09 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 2340000, 2600000, 0, 0, 0, 2340000, 0x349 }, /* 398 MCS-10 */ { VHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_160, 2632500, 2925000, 0, 0, 0, 2632500, 0x34a }, /* 399 MCS-11 */ { VHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_160, 2925000, 3250000, 0, 0, 0, 2925000, 0x34b }, /* If maximum number of spatial streams supported * at 160MHZ > 3 use below rates */ /* 400 MCS-00 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 234000, 260000, 0, 0, 0, 234000, 0x360 }, /* 401 MCS-01 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 468000, 520000, 0, 0, 0, 468000, 0x361 }, /* 402 MCS-02 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 702000, 780000, 0, 0, 0, 702000, 0x362 }, /* 403 MCS-03 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 936000, 1040000, 0, 0, 0, 936000, 0x363 }, /* 404 MCS-04 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 1404000, 1560000, 0, 0, 0, 1404000, 0x364 }, /* 405 MCS-05 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 1872000, 2080000, 0, 0, 0, 1872000, 0x365 }, /* 406 MCS-06 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 2106000, 2340000, 0, 0, 0, 2106000, 0x366 }, /* 407 MCS-07 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 2340000, 2600000, 0, 0, 0, 2340000, 0x367 }, /* 408 MCS-08 */ { VHT160_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_VHT_160, 2808000, 3120000, 0, 0, 0, 2808000, 0x368 }, /* 409 MCS-09 */ { VHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_160, 3120000, 3466700, 0, 0, 0, 3120000, 0x369 }, /* 410 MCS-10 */ { VHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_160, 3510000, 3900000, 0, 0, 0, 3510000, 0x36a }, /* 411 MCS-11 */ { VHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_VHT_160, 3900000, 4333300, 0, 0, 0, 3900000, 0x36b }, /* 11ax RU242 rates */ /* 412 MCS-00 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 8600, 8900, 8100, 7300, 4300, 8600, 0x400}, /* 413 MCS-01 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 17200, 17700, 16300, 14600, 8600, 17200, 0x401}, /* 414 MCS-02 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 25800, 26600, 24400, 21900, 0, 25800, 0x402}, /* 415 MCS-03 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 34400, 35500, 32500, 29300, 17700, 34400, 0x403}, /* 416 MCS-04 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 51600, 53200, 48800, 43900, 25800, 51600, 0x404}, /* 417 MCS-05 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 68800, 70900, 65000, 58500, 0, 68800, 0x405}, /* 418 MCS-06 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 77400, 79800, 73100, 65800, 0, 77400, 0x406}, /* 419 MCS-07 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 86000, 88600, 81300, 73100, 0, 86000, 0x407}, /* 420 MCS-08 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 103200, 106400, 97500, 87800, 0, 103200, 0x408}, /* 421 MCS-09 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 114700, 118200, 108300, 97500, 0, 114700, 0x409}, /* 422 MCS-10 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 129000, 133000, 121900, 109700, 0, 129000, 0x40a}, /* 423 MCS-11 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 143400, 147700, 135400, 121900, 0, 143400, 0x40b}, /* 424 MCS-12 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 154900, 159500, 146300, 131600, 0, 154900, 0x40c}, /* 425 MCS-13 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 172100, 177300, 162500, 146300, 0, 172100, 0x40d}, /* When number spatial streams > 1 use below rates */ /* 426 MCS-00 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 17200, 17700, 16300, 14600, 8600, 17200, 0x420}, /* 427 MCS-01 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 34400, 35500, 32500, 29300, 17700, 34400, 0x421}, /* 428 MCS-02 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 51600, 53200, 48800, 43900, 0, 51600, 0x422}, /* 429 MCS-03 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 68800, 70900, 65000, 58500, 34400, 68800, 0x423}, /* 430 MCS-04 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 103200, 106400, 97500, 87800, 51600, 103200, 0x424}, /* 431 MCS-05 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 137600, 141800, 130000, 117000, 0, 137600, 0x425}, /* 432 MCS-06 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 154900, 159500, 146300, 131600, 0, 154900, 0x426}, /* 433 MCS-07 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 172100, 177300, 162500, 146300, 0, 172100, 0x427}, /* 434 MCS-08 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 206500, 212700, 195000, 175500, 0, 206500, 0x428}, /* 435 MCS-09 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 229400, 236400, 216700, 195000, 0, 229400, 0x429}, /* 436 MCS-10 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 258100, 265900, 243800, 219400, 0, 258100, 0x42a}, /* 437 MCS-11 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 286800, 295500, 270800, 243800, 0, 286800, 0x42b}, /* 438 MCS-12 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 309700, 319100, 292500, 263300, 0, 309700, 0x42c}, /* 439 MCS-13 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 344100, 354500, 325000, 292500, 0, 344100, 0x42d}, /* When number of spatial streams > 2 * use below rates */ /* 440 MCS-00 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 25800, 26600, 24400, 21900, 12900, 25800, 0x440}, /* 441 MCS-01 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 51600, 53200, 48800, 43900, 25800, 51600, 0x441}, /* 442 MCS-02 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 77400, 79800, 73100, 65800, 0, 77400, 0x442}, /* 443 MCS-03 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 103200, 106400, 97500, 87800, 51600, 103200, 0x443}, /* 444 MCS-04 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 154900, 159500, 146300, 131600, 77400, 154900, 0x444}, /* 445 MCS-05 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 206500, 212700, 195000, 175500, 0, 206500, 0x445}, /* 446 MCS-06 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 232300, 239300, 219400, 197400, 0, 232300, 0x446}, /* 447 MCS-07 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 258100, 265900, 243800, 219400, 0, 258100, 0x447}, /* 448 MCS-08 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 309700, 319100, 292500, 263300, 0, 309700, 0x448}, /* 449 MCS-09 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 344100, 354500, 325000, 292500, 0, 344100, 0x449}, /* 450 MCS-10 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 387100, 398900, 365600, 329100, 0, 387100, 0x44a}, /* 451 MCS-11 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 430100, 443200, 406300, 365600, 0, 430100, 0x44b}, /* 452 MCS-12 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 464600, 478600, 438800, 394900, 0, 464600, 0x44c}, /* 453 MCS-13 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 516200, 531800, 487500, 438800, 0, 516200, 0x44d}, /* When number of spatial streams > 3 * use below rates */ /* 454 MCS-00 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 34400, 35500, 32500, 29300, 17700, 34400, 0x460}, /* 455 MCS-01 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 68800, 70900, 65000, 58500, 34400, 68800, 0x461}, /* 456 MCS-02 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 103200, 106400, 97500, 87800, 0, 103200, 0x462}, /* 457 MCS-03 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 137600, 141800, 130000, 117000, 68800, 137600, 0x463}, /* 458 MCS-04 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 206500, 212700, 195000, 175500, 103200, 206500, 0x464}, /* 459 MCS-05 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 275300, 283600, 260000, 234000, 0, 275300, 0x465}, /* 460 MCS-06 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 309700, 319100, 292500, 263300, 0, 309700, 0x466}, /* 461 MCS-07 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 344100, 354500, 325000, 292500, 0, 344100, 0x467}, /* 462 MCS-08 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 412900, 425500, 390000, 351000, 0, 412900, 0x468}, /* 463 MCS-09 */ { HE20_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_HE_20, 455800, 472700, 433300, 390000, 0, 455800, 0x469}, /* 464 MCS-10 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 516200, 531800, 487500, 438800, 0, 516200, 0x46a}, /* 465 MCS-11 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 573500, 590900, 541700, 487500, 0, 573500, 0x46b}, /* 466 MCS-12 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 619400, 638200, 585000, 526500, 0, 619400, 0x46c}, /* 467 MCS-13 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 688200, 709100, 650000, 585000, 0, 688200, 0x46d}, /* When number of spatial streams > 4 * use below rates */ /* 468 MCS-00 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 43000, 43300, 40600, 36600, 21500, 43000, 0x480}, /* 469 MCS-01 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 86000, 88600, 81300, 73100, 43000, 86000, 0x481}, /* 470 MCS-02 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 129000, 133000, 121900, 109700, 0, 129000, 0x482}, /* 471 MCS-03 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 172100, 177300, 162500, 146300, 86000, 172100, 0x483}, /* 472 MCS-04 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 258100, 265900, 243800, 219400, 129000, 258100, 0x484}, /* 473 MCS-05 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 344100, 354500, 325000, 292500, 0, 344100, 0x485}, /* 474 MCS-06 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 387100, 398900, 365600, 329100, 0, 387100, 0x486}, /* 475 MCS-07 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 430100, 443200, 406300, 365600, 0, 430100, 0x487}, /* 476 MCS-08 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 516200, 531800, 487500, 438800, 0, 516200, 0x488}, /* 477 MCS-09 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 573500, 590900, 541700, 487500, 0, 573500, 0x489}, /* 478 MCS-10 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 645200, 664800, 609400, 548400, 0, 645200, 0x48a}, /* 479 MCS-11 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 716900, 738600, 677100, 609400, 0, 716900, 0x48b}, /* 480 MCS-12 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 774300, 797700, 731300, 658100, 0, 774300, 0x48c}, /* 481 MCS-13 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 860300, 886400, 812500, 731300, 0, 860300, 0x48d}, /* When number of spatial streams > 5 * use below rates */ /* 482 MCS-00 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 51600, 53200, 48800, 43900, 25800, 51600, 0x4a0}, /* 483 MCS-01 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 103200, 106400, 97500, 87800, 51600, 103200, 0x4a1}, /* 484 MCS-02 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 154900, 159500, 146300, 131600, 0, 154900, 0x4a2}, /* 485 MCS-03 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 206500, 212700, 195000, 175500, 103200, 206500, 0x4a3}, /* 486 MCS-04 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 309700, 319100, 292500, 263300, 154900, 309700, 0x4a4}, /* 487 MCS-05 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 412900, 425500, 390000, 351000, 0, 412900, 0x4a5}, /* 488 MCS-06 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 464600, 478600, 438000, 394900, 0, 464600, 0x4a6}, /* 489 MCS-07 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 516200, 531800, 487500, 438800, 0, 516200, 0x4a7}, /* 490 MCS-08 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 619400, 638200, 585000, 526500, 0, 619400, 0x4a8}, /* 491 MCS-09 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 688200, 709100, 650000, 585000, 0, 688200, 0x4a9}, /* 492 MCS-10 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 774300, 797700, 731300, 658100, 0, 774300, 0x4aa}, /* 493 MCS-11 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 860300, 886400, 812500, 731300, 0, 860300, 0x4ab}, /* 494 MCS-12 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 929100, 957300, 877500, 789800, 0, 929100, 0x4ac}, /* 495 MCS-13 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 1032400, 1063600, 975000, 877500, 0, 1032400, 0x4ad}, /* When number of spatial streams > 6 * use below rates */ /* 496 MCS-00 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 60200, 62000, 56900, 51200, 30100, 60200, 0x4c0}, /* 497 MCS-01 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 120400, 124100, 113800, 102400, 60200, 120400, 0x4c1}, /* 498 MCS-02 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 180700, 186100, 170600, 153600, 0, 180700, 0x4c2}, /* 499 MCS-03 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 240900, 248200, 227500, 204800, 120400, 240900, 0x4c3}, /* 500 MCS-04 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 361300, 372300, 341300, 307100, 180700, 361300, 0x4c4}, /* 501 MCS-05 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 481800, 496400, 455000, 409500, 0, 481800, 0x4c5}, /* 502 MCS-06 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 542000, 558400, 511900, 460700, 0, 542000, 0x4c6}, /* 503 MCS-07 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 602200, 620500, 568800, 511900, 0, 602200, 0x4c7}, /* 504 MCS-08 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 722600, 744500, 682500, 614300, 0, 722600, 0x4c8}, /* 505 MCS-09 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 802900, 827300, 758300, 682500, 0, 802900, 0x4c9}, /* 506 MCS-10 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 903300, 930700, 853100, 767800, 0, 903300, 0x4ca}, /* 507 MCS-11 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 1003700, 1034100, 947900, 853100, 0, 1003700, 0x4cb}, /* 508 MCS-12 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 1084000, 1116800, 1023800, 921400, 0, 1084000, 0x4cc}, /* 509 MCS-13 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 1204400, 1240900, 1137500, 1023800, 0, 1204400, 0x4cd}, /* When number of spatial streams > 7 * use below rates */ /* 510 MCS-00 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 68800, 70900, 65000, 58500, 34400, 68800, 0x4e0}, /* 511 MCS-01 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 137600, 141800, 130000, 117000, 68800, 137600, 0x4e1}, /* 512 MCS-02 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 206500, 212700, 195000, 175500, 0, 206500, 0x4e2}, /* 513 MCS-03 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 275300, 283600, 260000, 234000, 137600, 275300, 0x4e3}, /* 514 MCS-04 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 412900, 425500, 390000, 351000, 206500, 412900, 0x4e4}, /* 515 MCS-05 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 550600, 567300, 520000, 468000, 0, 550600, 0x4e5}, /* 516 MCS-06 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 619400, 638200, 585000, 526500, 0, 619400, 0x4e6}, /* 517 MCS-07 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 688200, 709100, 650000, 585000, 0, 688200, 0x4e7}, /* 518 MCS-08 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 825900, 850900, 780000, 702000, 0, 825900, 0x4e8}, /* 519 MCS-09 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 917600, 945500, 866700, 780000, 0, 917600, 0x4e9}, /* 520 MCS-10 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 1032400, 1063600, 975000, 877500, 0, 1032400, 0x4ea}, /* 521 MCS-11 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 1147100, 1181800, 1083300, 975000, 0, 1147100, 0x4eb}, /* 522 MCS-12 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 1238800, 1276400, 1170000, 1053000, 0, 1238800, 0x4ec}, /* 523 MCS-13 */ { HE20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_20, 1376500, 1418200, 1300000, 1170000, 0, 1376500, 0x4ed}, /* 11ax RU484 rates */ /* 524 MCS-00 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 17200, 17700, 16300, 14600, 8600, 17200, 0x400 }, /* 525 MCS-01 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 34400, 35500, 32500, 29300, 17700, 34400, 0x401 }, /* 526 MCS-02 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 51600, 53200, 48800, 43900, 25800, 51600, 0x402 }, /* 527 MCS-03 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 68800, 70900, 65000, 58500, 0, 68800, 0x403 }, /* 528 MCS-04 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 103200, 106400, 97500, 87800, 0, 103200, 0x404 }, /* 529 MCS-05 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 137600, 141800, 130000, 117000, 0, 137600, 0x405 }, /* 530 MCS-06 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 154900, 159500, 146300, 131600, 0, 154900, 0x406 }, /* 531 MCS-07 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 172100, 177300, 162500, 146300, 0, 172100, 0x407 }, /* 532 MCS-08 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 206500, 212700, 195000, 175500, 0, 206500, 0x408 }, /* 533 MCS-09 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 229400, 236400, 216700, 195000, 0, 229400, 0x409 }, /* 534 MCS-10 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 258100, 265900, 243800, 219400, 0, 258100, 0x40a }, /* 535 MCS-11 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 286800, 295500, 270800, 243800, 0, 286800, 0x40b }, /* 536 MCS-12 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 309700, 319100, 292500, 263300, 0, 309700, 0x40c }, /* 537 MCS-13 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 344100, 354500, 325000, 292500, 0, 344100, 0x40d }, /* When number of spatial streams > 1 * use below rates */ /* 538 MCS-00 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 34400, 35500, 32500, 29300, 17700, 34400, 0x420 }, /* 539 MCS-01 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 68800, 70900, 65000, 58500, 34400, 68800, 0x421 }, /* 540 MCS-02 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 103200, 106400, 97500, 87800, 0, 103200, 0x422 }, /* 541 MCS-03 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 137600, 141800, 130000, 117000, 68800, 137600, 0x423 }, /* 542 MCS-04 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 206500, 212700, 195000, 175500, 103200, 206500, 0x424 }, /* 543 MCS-05 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 275300, 283600, 260000, 234000, 0, 275300, 0x425 }, /* 544 MCS-06 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 309700, 319100, 292500, 263300, 0, 309700, 0x426 }, /* 545 MCS-07 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 344100, 354500, 325000, 292500, 0, 344100, 0x427 }, /* 546 MCS-08 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 412900, 425500, 390000, 351000, 0, 412900, 0x428 }, /* 547 MCS-09 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 455800, 472700, 433300, 390000, 0, 455800, 0x429 }, /* 548 MCS-10 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 516200, 531800, 487500, 438800, 0, 516200, 0x42a }, /* 549 MCS-11 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 573500, 590900, 541700, 487500, 0, 573500, 0x42b }, /* 550 MCS-12 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 619400, 638200, 585000, 526500, 0, 619400, 0x42c }, /* 551 MCS-13 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 688200, 709100, 650000, 585000, 0, 688200, 0x42d }, /* When number of spatial streams > 2 * use below rates */ /* 552 MCS-00 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 51600, 53200, 48800, 43900, 25800, 51600, 0x440 }, /* 553 MCS-01 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 103200, 106400, 97500, 87800, 51600, 103200, 0x441 }, /* 554 MCS-02 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 154900, 159500, 146300, 131600, 0, 154900, 0x442 }, /* 555 MCS-03 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 206500, 212700, 195000, 175500, 103200, 206500, 0x443 }, /* 556 MCS-04 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 309700, 319100, 292500, 263300, 154900, 309700, 0x444 }, /* 557 MCS-05 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 412900, 425500, 390000, 351000, 0, 412900, 0x445 }, /* 558 MCS-06 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 464600, 478600, 438000, 394900, 0, 464600, 0x446 }, /* 559 MCS-07 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 516200, 531800, 487500, 438800, 0, 516200, 0x447 }, /* 560 MCS-08 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 619400, 638200, 585000, 526500, 0, 619400, 0x448 }, /* 561 MCS-09 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 688200, 709100, 650000, 585000, 0, 688200, 0x449 }, /* 562 MCS-10 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 774300, 797700, 731300, 658100, 0, 774300, 0x44a }, /* 563 MCS-11 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 860300, 886400, 812500, 731300, 0, 860300, 0x44b }, /* 564 MCS-12 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 929100, 957300, 877500, 789800, 0, 929100, 0x44c }, /* 565 MCS-13 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 1032400, 1063600, 975000, 877500, 0, 1032400, 0x44d }, /* When number of spatial streams > 3 * use below rates */ /* 566 MCS-00 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 68800, 70900, 65000, 58500, 34400, 68800, 0x460 }, /* 567 MCS-01 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 137600, 141800, 130000, 117000, 68800, 137600, 0x461 }, /* 568 MCS-02 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 206500, 212700, 195000, 175500, 0, 206500, 0x462 }, /* 569 MCS-03 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 275300, 283600, 260000, 234000, 137600, 275300, 0x463 }, /* 570 MCS-04 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 412900, 425500, 390000, 351000, 206500, 412900, 0x464 }, /* 571 MCS-05 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 550600, 567300, 520000, 468000, 0, 550600, 0x465 }, /* 572 MCS-06 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 619400, 638200, 585000, 526500, 0, 619400, 0x466 }, /* 573 MCS-07 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 688200, 709100, 650000, 585000, 0, 688200, 0x467 }, /* 574 MCS-08 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 825900, 850900, 780000, 702000, 0, 825900, 0x468 }, /* 575 MCS-09 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 917600, 945500, 866700, 780000, 0, 917600, 0x469 }, /* 576 MCS-10 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 1032400, 1063600, 975000, 877500, 0, 1032400, 0x46a }, /* 577 MCS-11 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 1147100, 1181800, 1083300, 975000, 0, 1147100, 0x46b }, /* 578 MCS-12 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 1238800, 1276400, 1170000, 1053000, 0, 1238800, 0x46c }, /* 579 MCS-13 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 1376500, 1418200, 1300000, 1170000, 0, 1376500, 0x46d }, /* When number of spatial streams > 4 * use below rates */ /* 580 MCS-00 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 86000, 88600, 81300, 73100, 43000, 86000, 0x480 }, /* 581 MCS-01 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 172100, 177300, 162500, 146300, 86000, 172100, 0x481 }, /* 582 MCS-02 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 258100, 265900, 243800, 219400, 0, 258100, 0x482 }, /* 583 MCS-03 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 344100, 354500, 325000, 292500, 172100, 344100, 0x483 }, /* 584 MCS-04 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 516200, 531800, 487500, 438800, 258100, 516200, 0x484 }, /* 585 MCS-05 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 688200, 709100, 650000, 585000, 0, 688200, 0x485 }, /* 586 MCS-06 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 774300, 797700, 731300, 658100, 0, 774300, 0x486 }, /* 587 MCS-07 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 860300, 886400, 812500, 731300, 0, 860300, 0x487 }, /* 588 MCS-08 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 1032400, 1063600, 975000, 877500, 0, 1032400, 0x488 }, /* 589 MCS-09 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 1147100, 1181800, 1083300, 975000, 0, 1147100, 0x489 }, /* 590 MCS-10 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 1290400, 1329500, 1218800, 1096900, 0, 1290400, 0x48a }, /* 591 MCS-11 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 1433800, 1477300, 1354200, 1218800, 0, 1433800, 0x48b }, /* 592 MCS-12 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 1548500, 1595500, 1462500, 1316300, 0, 1548500, 0x48c }, /* 593 MCS-13 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 1720600, 1772700, 1625000, 1462500, 0, 1720600, 0x48d }, /* When number of spatial streams > 5 * use below rates */ /* 594 MCS-00 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 103200, 106400, 97500, 87800, 51600, 103200, 0x4a0 }, /* 595 MCS-01 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 206500, 212700, 195000, 175500, 103200, 206500, 0x4a1 }, /* 596 MCS-02 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 309700, 319100, 292500, 263300, 0, 309700, 0x4a2 }, /* 597 MCS-03 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 412900, 425500, 390000, 351000, 206500, 412900, 0x4a3 }, /* 598 MCS-04 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 619400, 638200, 585000, 526500, 309700, 619400, 0x4a4 }, /* 599 MCS-05 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 825900, 850900, 780000, 702000, 0, 825900, 0x4a5 }, /* 600 MCS-06 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 929100, 957300, 877500, 789800, 0, 929100, 0x4a6 }, /* 601 MCS-07 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 1032400, 1063600, 975000, 877500, 0, 1032400, 0x4a7 }, /* 602 MCS-08 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 1238800, 1276400, 1170000, 1053000, 0, 1238800, 0x4a8 }, /* 603 MCS-09 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 1376500, 1418200, 1300000, 1170000, 0, 1376500, 0x4a9 }, /* 604 MCS-10 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 1548500, 1595500, 1462500, 1316300, 0, 1548500, 0x4aa }, /* 605 MCS-11 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 1720600, 1772700, 1625000, 1462500, 0, 1720600, 0x4ab }, /* 606 MCS-12 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 1858200, 1914500, 1755000, 1579500, 0, 1858200, 0x4ac }, /* 607 MCS-13 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 2064700, 2127300, 1950000, 1755000, 0, 2064700, 0x4ad }, /* When number spatial streams > 6 * use below rates */ /* 608 MCS-00 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 120400, 124100, 113800, 102400, 60200, 120400, 0x4c0 }, /* 609 MCS-01 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 240900, 248200, 227500, 204800, 120400, 240900, 0x4c1 }, /* 610 MCS-02 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 361300, 372300, 341300, 307100, 180600, 361300, 0x4c2 }, /* 611 MCS-03 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 481800, 496400, 455000, 409500, 0, 481800, 0x4c3 }, /* 612 MCS-04 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 722600, 744500, 682500, 614300, 0, 722600, 0x4c4 }, /* 613 MCS-05 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 963500, 992700, 910000, 819000, 0, 963500, 0x4c5 }, /* 614 MCS-06 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 1084000, 1116800, 1023800, 921400, 0, 1084000, 0x4c6 }, /* 615 MCS-07 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 1204400, 1240900, 1137500, 1023800, 0, 1204400, 0x4c7 }, /* 616 MCS-08 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 1445300, 1489100, 1365000, 1228500, 0, 1445300, 0x4c8 }, /* 617 MCS-09 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 1605900, 1654500, 1516700, 1365000, 0, 1605900, 0x4c9 }, /* 618 MCS-10 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 1806600, 1861400, 1706300, 1535600, 0, 1806600, 0x4ca }, /* 619 MCS-11 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 2007400, 2068200, 1895800, 1706300, 0, 2007400, 0x4cb }, /* 620 MCS-12 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 2167900, 2233600, 2047500, 1842800, 0, 2167900, 0x4cc }, /* 621 MCS-13 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 2408800, 2481800, 2275000, 2047500, 0, 2408800, 0x4cd }, /* When number of spatial streams > 7 * use below rates */ /* 622 MCS-00 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 137600, 141800, 130000, 117000, 68800, 137600, 0x4e0 }, /* 623 MCS-01 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 275300, 283600, 260000, 234000, 137600, 275300, 0x4e1 }, /* 624 MCS-02 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 412900, 425500, 390000, 351000, 206500, 412900, 0x4e2 }, /* 625 MCS-03 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 550600, 567300, 520000, 468000, 0, 550600, 0x4e3 }, /* 626 MCS-04 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 825900, 850900, 780000, 702000, 0, 825900, 0x4e4 }, /* 627 MCS-05 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 1101200, 1134500, 1040000, 936000, 0, 1101200, 0x4e5 }, /* 628 MCS-06 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 1238800, 1276400, 1170000, 1053000, 0, 1238800, 0x4e6 }, /* 629 MCS-07 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 1376500, 1418200, 1300000, 1170000, 0, 1376500, 0x4e7 }, /* 630 MCS-08 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 1651800, 1701800, 1560000, 1404000, 0, 1651800, 0x4e8 }, /* 631 MCS-09 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 1835300, 1890900, 1733300, 1560000, 0, 1835300, 0x4e9 }, /* 632 MCS-10 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 2064700, 2127300, 1950000, 1755000, 0, 2064700, 0x4ea }, /* 633 MCS-11 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 2294100, 2363600, 2166700, 1950000, 0, 2294100, 0x4eb }, /* 634 MCS-12 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 2477600, 2552700, 2340000, 2106000, 0, 2477600, 0x4ec }, /* 635 MCS-13 */ { HE40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_40, 2752900, 2836400, 2600000, 2340000, 0, 2752900, 0x4ed }, /* 11ax RU996 rates */ /* 636 MCS-00 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 36000, 37100, 34000, 30600, 18000, 36000, 0x400 }, /* 637 MCS-01 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 72100, 74200, 68100, 61300, 36000, 72100, 0x401 }, /* 638 MCS-02 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 108100, 111400, 102100, 91900, 0, 108100, 0x402 }, /* 639 MCS-03 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 144100, 148500, 136100, 122500, 72100, 144100, 0x403 }, /* 640 MCS-04 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 216200, 222700, 204200, 183800, 108100, 216200, 0x404 }, /* 641 MCS-05 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 288200, 297000, 272200, 245000, 0, 288200, 0x405 }, /* 642 MCS-06 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 324300, 334100, 306300, 275600, 0, 324300, 0x406 }, /* 643 MCS-07 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 360300, 371200, 340300, 306300, 0, 360300, 0x407 }, /* 644 MCS-08 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 432400, 445500, 408300, 367500, 0, 432400, 0x408 }, /* 645 MCS-09 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 480400, 494900, 453700, 408300, 0, 480400, 0x409 }, /* 646 MCS-10 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 540400, 556800, 510400, 459400, 0, 540400, 0x40a }, /* 647 MCS-11 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 600500, 618700, 567100, 510400, 0, 600500, 0x40b }, /* 648 MCS-12 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 648500, 668200, 612500, 551300, 0, 648500, 0x40c }, /* 649 MCS-13 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 720600, 742400, 680600, 612500, 0, 720600, 0x40d }, /* When number spatial streams > 1 * use below rates */ /* 650 MCS-00 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 72100, 74200, 68100, 61300, 36000, 72100, 0x420 }, /* 651 MCS-01 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 144100, 148500, 136100, 122500, 72100, 144100, 0x421 }, /* 652 MCS-02 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 216200, 222700, 204200, 183800, 0, 216200, 0x422 }, /* 653 MCS-03 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 288200, 297000, 272200, 245000, 144100, 288200, 0x423 }, /* 654 MCS-04 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 432400, 445500, 408300, 367500, 216200, 432400, 0x424 }, /* 655 MCS-05 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 576500, 593900, 544400, 490000, 0, 576500, 0x425 }, /* 656 MCS-06 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 648500, 668200, 612500, 551300, 0, 648500, 0x426 }, /* 657 MCS-07 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 720600, 742400, 680600, 612500, 0, 720600, 0x427 }, /* 658 MCS-08 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 864700, 890900, 816700, 735000, 0, 864700, 0x428 }, /* 659 MCS-09 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 960800, 989900, 907400, 816700, 0, 960800, 0x429 }, /* 660 MCS-10 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 1080900, 1113600, 1020800, 918800, 0, 1080900, 0x42a }, /* 661 MCS-11 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 1201000, 1237400, 1134300, 1020800, 0, 1201000, 0x42b }, /* 662 MCS-12 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 1297100, 1336400, 1225000, 1102500, 0, 1297100, 0x42c }, /* 663 MCS-13 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 1441200, 1484800, 1361100, 1225000, 0, 1441200, 0x42d }, /* When number of spatial streams > 2 * use below rates */ /* 664 MCS-00 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 108100, 111400, 102100, 91900, 54000, 108100, 0x440 }, /* 665 MCS-01 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 216200, 222700, 204200, 183800, 108100, 216200, 0x441 }, /* 666 MCS-02 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 324300, 334100, 306300, 275600, 0, 324300, 0x442 }, /* 667 MCS-03 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 432400, 445500, 408300, 367500, 0, 432400, 0x443 }, /* 668 MCS-04 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 648500, 668200, 612500, 551300, 0, 648500, 0x444 }, /* 669 MCS-05 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 864700, 890900, 816700, 735000, 0, 864700, 0x445 }, /* 670 MCS-06 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 972800, 1002300, 918800, 826900, 0, 972800, 0x446 }, /* 671 MCS-07 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 1080900, 1113600, 1020800, 918800, 0, 1080900, 0x447 }, /* 672 MCS-08 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 1297100, 1336400, 1225000, 1102500, 0, 1297100, 0x448 }, /* 673 MCS-09 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 1441200, 1484800, 1361100, 1225000, 0, 1441200, 0x449 }, /* 674 MCS-10 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 1621300, 1670500, 1531300, 1378100, 0, 1621300, 0x44a }, /* 675 MCS-11 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 1801500, 1856100, 1701400, 1531300, 0, 1801500, 0x44b }, /* 676 MCS-12 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 1945600, 2004500, 1837500, 1653800, 0, 1945600, 0x44c }, /* 677 MCS-13 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 2161800, 2227300, 2041700, 1837500, 0, 2161800, 0x44d }, /* When number of spatial streams > 3 * use below rates */ /* 678 MCS-00 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 144100, 148500, 136100, 122500, 72100, 144100, 0x460 }, /* 679 MCS-01 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 288200, 297000, 272200, 245000, 144100, 288200, 0x461 }, /* 680 MCS-02 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 432400, 445500, 408300, 367500, 0, 432400, 0x462 }, /* 681 MCS-03 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 576500, 593900, 544400, 490000, 288200, 576500, 0x463 }, /* 682 MCS-04 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 864700, 890900, 816700, 735000, 432400, 864700, 0x464 }, /* 683 MCS-05 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 1152900, 1187900, 1088900, 980000, 0, 1152900, 0x465 }, /* 684 MCS-06 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 1297100, 1336400, 1225000, 1102500, 0, 1297100, 0x466 }, /* 685 MCS-07 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 1441200, 1484800, 1361100, 1225000, 0, 1441200, 0x467 }, /* 686 MCS-08 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 1729400, 1781800, 1633300, 1470000, 0, 1729400, 0x468 }, /* 687 MCS-09 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 1921600, 1979800, 1814800, 1633300, 0, 1921600, 0x469 }, /* 688 MCS-10 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 2161800, 2227300, 2041700, 1837500, 0, 2161800, 0x46a }, /* 689 MCS-11 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 2401900, 2474700, 2268500, 2041700, 0, 2401900, 0x46b }, /* 690 MCS-12 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 2594100, 2672700, 2450000, 2205000, 0, 2594100, 0x46c }, /* 691 MCS-13 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 2882400, 2969700, 2722200, 2450000, 0, 2882400, 0x46d }, /* When number spatial streams > 4 * use below rates */ /* 692 MCS-00 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 180100, 185600, 170100, 153100, 90100, 180100, 0x480 }, /* 693 MCS-01 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 360300, 371200, 340300, 306300, 180100, 360300, 0x481 }, /* 694 MCS-02 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 540400, 556800, 510400, 459400, 0, 540400, 0x482 }, /* 695 MCS-03 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 720600, 742400, 680600, 612500, 0, 720600, 0x483 }, /* 696 MCS-04 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 1080900, 1113600, 1020800, 918800, 0, 1080900, 0x484 }, /* 697 MCS-05 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 1441200, 1484800, 1361100, 1225000, 0, 1441200, 0x485 }, /* 698 MCS-06 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 1621300, 1670500, 1531300, 1378100, 0, 1621300, 0x486 }, /* 699 MCS-07 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 1801500, 1856100, 1701400, 1531300, 0, 1801500, 0x487 }, /* 700 MCS-08 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 2161800, 2227300, 2041700, 1837500, 0, 2161800, 0x488 }, /* 701 MCS-09 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 2402000, 2474700, 2268500, 2041700, 0, 2402000, 0x489 }, /* 702 MCS-10 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 2702200, 2784100, 2552100, 2296900, 0, 2702200, 0x48a }, /* 703 MCS-11 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 3002500, 3093400, 2835600, 2552100, 0, 3002500, 0x48b }, /* 704 MCS-12 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 3242600, 3340900, 3062500, 2756300, 0, 3242600, 0x48c }, /* 705 MCS-13 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 3602900, 3712100, 3402800, 3062500, 0, 3602900, 0x48d }, /* When number of spatial streams > 5 * use below rates */ /* 706 MCS-00 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 216200, 222700, 204200, 183800, 108100, 216200, 0x4a0 }, /* 707 MCS-01 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 432400, 445500, 408300, 367500, 216200, 432400, 0x4a1 }, /* 708 MCS-02 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 648500, 668200, 612500, 551300, 0, 648500, 0x4a2 }, /* 709 MCS-03 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 864700, 890900, 816700, 735000, 432400, 864700, 0x4a3 }, /* 710 MCS-04 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 1297100, 1336400, 1225000, 1102500, 648500, 1297100, 0x4a4 }, /* 711 MCS-05 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 1729400, 1781800, 1633300, 1470000, 0, 1729400, 0x4a5 }, /* 712 MCS-06 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 1945600, 2004500, 1837500, 1653800, 0, 1945600, 0x4a6 }, /* 713 MCS-07 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 2161800, 2227300, 2041700, 1837500, 0, 2161800, 0x4a7 }, /* 714 MCS-08 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 2594100, 2672700, 2450000, 2205000, 0, 2594100, 0x4a8 }, /* 715 MCS-09 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 2882400, 2969700, 2722200, 2450000, 0, 2882400, 0x4a9 }, /* 716 MCS-10 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 3242600, 3340900, 3062500, 2756300, 0, 3242600, 0x4aa }, /* 717 MCS-11 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 3602900, 3712100, 3402800, 3062500, 0, 3602900, 0x4ab }, /* 718 MCS-12 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 3891200, 4009100, 3675000, 3307500, 0, 3891200, 0x4ac }, /* 719 MCS-13 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 4323500, 4454500, 4083300, 3675000, 0, 4323500, 0x4ad }, /* When number of spatial streams > 6 * use below rates */ /* 720 MCS-00 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 252200, 259800, 238200, 214400, 129900, 252200, 0x4c0 }, /* 721 MCS-01 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 504400, 519700, 476400, 428800, 252200, 504400, 0x4c1 }, /* 722 MCS-02 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 756600, 779500, 714600, 643100, 0, 756600, 0x4c2 }, /* 723 MCS-03 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 1008800, 1039400, 952800, 857500, 504400, 1008800, 0x4c3 }, /* 724 MCS-04 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 1513200, 1559100, 1429200, 1286300, 756600, 1513200, 0x4c4 }, /* 725 MCS-05 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 2017600, 2078800, 1905600, 1715000, 0, 2017600, 0x4c5 }, /* 726 MCS-06 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 2269900, 2338600, 2143800, 1929400, 0, 2269900, 0x4c6 }, /* 727 MCS-07 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 2522100, 2598500, 2381900, 2143800, 0, 2522100, 0x4c7 }, /* 728 MCS-08 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 3026500, 3118200, 2858300, 2572500, 0, 3026500, 0x4c8 }, /* 729 MCS-09 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 3362700, 3464600, 3175900, 2858300, 0, 3362700, 0x4c9 }, /* 730 MCS-10 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 3783100, 3897700, 3572900, 3215600, 0, 3783100, 0x4ca }, /* 731 MCS-11 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 4203400, 4330800, 3969900, 3572900, 0, 4203400, 0x4cb }, /* 732 MCS-12 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 4539700, 4677300, 4287500, 3858800, 0, 4539700, 0x4cc }, /* 733 MCS-13 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 5044100, 5197000, 4763900, 4287500, 0, 5044100, 0x4cd }, /* When number of spatial streams > 7 * use below rates */ /* 734 MCS-00 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 288200, 297000, 272200, 245000, 144100, 288200, 0x4e0 }, /* 735 MCS-01 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 576500, 593900, 544400, 490000, 288200, 576500, 0x4e1 }, /* 736 MCS-02 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 864700, 890900, 816700, 735000, 0, 864700, 0x4e2 }, /* 737 MCS-03 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 1152900, 1187900, 1088900, 980000, 576500, 1152900, 0x4e3 }, /* 738 MCS-04 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 1729400, 1781800, 1633300, 1470000, 864700, 1729400, 0x4e4 }, /* 739 MCS-05 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 2305900, 2375800, 2177800, 1960000, 0, 2305900, 0x4e5 }, /* 740 MCS-06 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 2594100, 2672700, 2450000, 2205000, 0, 2594100, 0x4e6 }, /* 741 MCS-07 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 2882400, 2969700, 2722200, 2450000, 0, 2882400, 0x4e7 }, /* 742 MCS-08 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 3458800, 3563600, 3266700, 2940000, 0, 3458800, 0x4e8 }, /* 743 MCS-09 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 3843100, 3959600, 3629600, 3266700, 0, 3843100, 0x4e9 }, /* 744 MCS-10 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 4323500, 4454500, 4083300, 3675000, 0, 4323500, 0x4ea }, /* 745 MCS-11 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 4803900, 4949500, 4537000, 4083300, 0, 4803900, 0x4eb }, /* 746 MCS-12 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 5188200, 5345500, 4900000, 4410000, 0, 5188200, 0x4ec }, /* 747 MCS-13 */ { HE80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_80, 5764700, 5939400, 5444400, 4900000, 0, 5764700, 0x4ed }, /* 11ax RU996x2 rates */ /* 748 MCS-00 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 72100, 74200, 68100, 61300, 36000, 72100, 0x400}, /* 749 MCS-01 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 144100, 148500, 136100, 122500, 72100, 144100, 0x401}, /* 750 MCS-02 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 216200, 222700, 204200, 183800, 0, 216200, 0x402}, /* 751 MCS-03 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 288200, 297000, 272200, 245000, 144100, 288200, 0x403}, /* 752 MCS-04 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 432400, 445500, 408300, 367500, 216200, 432400, 0x404}, /* 753 MCS-05 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 576500, 593900, 544400, 490000, 0, 576500, 0x405}, /* 754 MCS-06 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 648500, 668200, 612500, 551300, 0, 648500, 0x406}, /* 755 MCS-07 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 720600, 742400, 680600, 612500, 0, 720600, 0x407}, /* 756 MCS-08 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 864700, 890900, 816700, 735000, 0, 864700, 0x408}, /* 757 MCS-09 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 960800, 989900, 907400, 816700, 0, 960800, 0x409}, /* 758 MCS-10 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 1080900, 1113600, 1020800, 918800, 0, 1080900, 0x40a}, /* 759 MCS-11 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 1201000, 1237400, 1134300, 1020800, 0, 1201000, 0x40b}, /* 760 MCS-12 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 1297100, 1336400, 1225000, 1102500, 0, 1297100, 0x40c}, /* 761 MCS-13 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 1441200, 1484800, 1361100, 1225000, 0, 1441200, 0x40d}, /* When maximum spatial streams supported at 160MHZ > 1 * use below rates */ /* 762 MCS-00 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 144100, 148500, 136100, 122500, 72100, 144100, 0x420}, /* 763 MCS-01 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 288200, 297000, 272200, 245000, 144100, 288200, 0x421}, /* 764 MCS-02 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 432400, 445500, 408300, 367500, 0, 432400, 0x422}, /* 765 MCS-03 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 576500, 593900, 544400, 490000, 288200, 576500, 0x423}, /* 766 MCS-04 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 864700, 890900, 816700, 735000, 432400, 864700, 0x424}, /* 767 MCS-05 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 1152900, 1187900, 1088900, 980000, 0, 1152900, 0x425}, /* 768 MCS-06 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 1297100, 1336400, 1225000, 1102500, 0, 1297100, 0x426}, /* 779 MCS-07 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 1441200, 1484800, 1361100, 1225000, 0, 1441200, 0x427}, /* 780 MCS-08 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 1729400, 1781800, 1633300, 1470000, 0, 1729400, 0x428}, /* 781 MCS-09 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 1921600, 1979800, 1814800, 1633300, 0, 1921600, 0x429}, /* 782 MCS-10 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 2161800, 2227300, 2041700, 1837500, 0, 2161800, 0x42a}, /* 783 MCS-11 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 2401900, 2474700, 2268500, 2041700, 0, 2401900, 0x42b}, /* 784 MCS-12 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 2594100, 2672700, 2450000, 2205000, 0, 2594100, 0x42c}, /* 785 MCS-13 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 2882400, 2969700, 2722200, 2450000, 0, 2882400, 0x42d}, /* When maximum spatial streams supported at 160MHZ > 2 * use below rates */ /* 786 MCS-00 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 216200, 222700, 204200, 183800, 108100, 216200, 0x440}, /* 787 MCS-01 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 432400, 445500, 408300, 367500, 216200, 432400, 0x441}, /* 788 MCS-02 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 648500, 668200, 612500, 551300, 0, 648500, 0x442}, /* 789 MCS-03 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 864700, 890900, 816700, 735000, 432400, 864700, 0x443}, /* 790 MCS-04 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 1297100, 1336400, 1225000, 1102500, 648500, 1297100, 0x444}, /* 791 MCS-05 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 1729400, 1781800, 1633300, 1470000, 0, 1729400, 0x445}, /* 792 MCS-06 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 1945600, 2004500, 1837500, 1653800, 0, 1945600, 0x446}, /* 793 MCS-07 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 2161800, 2227300, 2041700, 1837500, 0, 2161800, 0x447}, /* 794 MCS-08 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 2594100, 2672700, 2450000, 2205000, 0, 2594100, 0x448}, /* 795 MCS-09 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 2882400, 2969700, 2722200, 2450000, 0, 2882400, 0x449}, /* 796 MCS-10 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 3242600, 3340900, 3062500, 2756300, 0, 3242600, 0x44a}, /* 797 MCS-11 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 3602900, 3712100, 3402800, 3062500, 0, 3602900, 0x44b}, /* 798 MCS-12 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 3891200, 4009100, 3675000, 3307500, 0, 3891200, 0x44c}, /* 799 MCS-13 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 4323500, 4454500, 4083300, 3675000, 0, 4323500, 0x44d}, /* When maximum spatial streams supported at 160MHZ > 3 * use below rates */ /* 800 MCS-00 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 288200, 297000, 272200, 245000, 144100, 288200, 0x460}, /* 801 MCS-01 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 576500, 593900, 544400, 490000, 288200, 576500, 0x461}, /* 802 MCS-02 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 864700, 890900, 816700, 735000, 0, 864700, 0x462}, /* 803 MCS-03 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 1152900, 1187900, 1088900, 980000, 576500, 1152900, 0x463}, /* 804 MCS-04 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 1729400, 1781800, 1633300, 1470000, 864700, 1729400, 0x464}, /* 805 MCS-05 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 2305900, 2375800, 2177800, 1960000, 0, 2305900, 0x465}, /* 806 MCS-06 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 2594100, 2672700, 2450000, 2205000, 0, 2594100, 0x466}, /* 807 MCS-07 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 2882400, 2969700, 2722200, 2450000, 0, 2882400, 0x467}, /* 808 MCS-08 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 3458800, 3563600, 3266700, 2940000, 0, 3458800, 0x468}, /* 809 MCS-09 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 3843100, 3959600, 3629600, 3266700, 0, 3843100, 0x469}, /* 810 MCS-10 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 4323500, 4454500, 4083300, 3675000, 0, 4323500, 0x46a}, /* 811 MCS-11 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 4803900, 4949500, 4537000, 4083300, 0, 4803900, 0x46b}, /* 812 MCS-12 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 5188200, 5345500, 4900000, 4410000, 0, 5188200, 0x46c}, /* 813 MCS-13 */ { HE160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_HE_160, 5764700, 5939400, 5444400, 4900000, 0, 5764700, 0x46d}, #ifdef WLAN_FEATURE_11BE /* 814 MCS-14 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 2100, 0, 2000, 1800, 0, 2100, 0x50e}, /* 815 MCS-15 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 4300, 0, 4100, 3700, 4300, 4300, 0x50f}, /* 816 MCS-00 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 8600, 0, 8100, 7300, 0, 8600, 0x500}, /* 817 MCS-01 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 17200, 0, 16300, 14600, 0, 17200, 0x501}, /* 818 MCS-02 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 25800, 0, 24400, 21900, 0, 25800, 0x502}, /* 819 MCS-03 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 34400, 0, 32500, 29300, 0, 34400, 0x503}, /* 820 MCS-04 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 51600, 0, 48800, 43900, 0, 51600, 0x504}, /* 821 MCS-05 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 68800, 0, 65000, 58500, 0, 68800, 0x505}, /* 822 MCS-06 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 77400, 0, 73100, 65800, 0, 77400, 0x506}, /* 823 MCS-07 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 86000, 0, 81300, 73100, 0, 86000, 0x507}, /* 824 MCS-08 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 103200, 0, 97500, 87800, 0, 103200, 0x508}, /* 825 MCS-09 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 114700, 0, 108300, 97500, 0, 114700, 0x509}, /* 826 MCS-10 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 129000, 0, 121900, 109700, 0, 129000, 0x50a}, /* 827 MCS-11 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 143400, 0, 135400, 121900, 0, 143400, 0x50b}, /* 828 MCS-12 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 154900, 0, 146300, 131600, 0, 154900, 0x50c}, /* 829 MCS-13 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 172100, 0, 162500, 146300, 0, 172100, 0x50d}, /* when number of spatial streams > 1 */ /* 830 MCS-14 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 4200, 0, 4000, 3600, 0, 4200, 0x52e}, /* 831 MCS-15 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 8600, 0, 8200, 7400, 8600, 8600, 0x52f}, /* 832 MCS-00 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 17200, 0, 16200, 14600, 0, 17200, 0x520}, /* 833 MCS-01 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 34400, 0, 32600, 29200, 0, 34400, 0x521}, /* 834 MCS-02 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 51600, 0, 48800, 43800, 0, 51600, 0x522}, /* 835 MCS-03 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 68800, 0, 65000, 58600, 0, 68800, 0x523}, /* 836 MCS-04 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 103200, 0, 97600, 87800, 0, 103200, 0x524}, /* 837 MCS-05 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 137600, 0, 130000, 117000, 0, 137600, 0x525}, /* 838 MCS-06 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 154800, 0, 146200, 131600, 0, 154800, 0x526}, /* 839 MCS-07 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 172000, 0, 162600, 146200, 0, 172000, 0x527}, /* 840 MCS-08 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 206400, 0, 195000, 175600, 0, 206400, 0x528}, /* 841 MCS-09 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 229400, 0, 216600, 195000, 0, 229400, 0x529}, /* 842 MCS-10 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 258000, 0, 243800, 219400, 0, 258000, 0x52a}, /* 843 MCS-11 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 286800, 0, 270800, 243800, 0, 286800, 0x52b}, /* 844 MCS-12 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 309800, 0, 292600, 263200, 0, 309800, 0x52c}, /* 845 MCS-13 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 344200, 0, 325000, 292600, 0, 344200, 0x52d}, /* when number of spatial streams > 2 */ /* 846 MCS-14 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 6300, 0, 6000, 5400, 0, 6300, 0x54e}, /* 847 MCS-15 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 12900, 0, 12299, 11100, 12900, 12900, 0x54f}, /* 848 MCS-00 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 25800, 0, 24300, 21900, 0, 25800, 0x540}, /* 849 MCS-01 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 51600, 0, 48900, 43800, 0, 51600, 0x541}, /* 850 MCS-02 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 77400, 0, 73200, 65700, 0, 77400, 0x542}, /* 851 MCS-03 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 103200, 0, 97500, 87900, 0, 103200, 0x543}, /* 852 MCS-04 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 154800, 0, 146400, 131700, 0, 154800, 0x544}, /* 853 MCS-05 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 206400, 0, 195000, 175500, 0, 206400, 0x545}, /* 854 MCS-06 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 232200, 0, 219299, 197400, 0, 232200, 0x546}, /* 855 MCS-07 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 258000, 0, 243900, 219299, 0, 258000, 0x547}, /* 856 MCS-08 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 309600, 0, 292500, 263400, 0, 309600, 0x548}, /* 857 MCS-09 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 344100, 0, 324900, 292500, 0, 344100, 0x549}, /* 858 MCS-10 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 387000, 0, 365700, 329100, 0, 387000, 0x54a}, /* 859 MCS-11 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 430200, 0, 406200, 365700, 0, 430200, 0x54b}, /* 860 MCS-12 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 464700, 0, 438900, 394800, 0, 464700, 0x54c}, /* 861 MCS-13 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 516300, 0, 487500, 438900, 0, 516300, 0x54d}, /* when number of spatial streams > 3 */ /* 862 MCS-14 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 8400, 0, 8000, 7200, 0, 8400, 0x56e}, /* 863 MCS-15 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 17200, 0, 16400, 14800, 17200, 17200, 0x56f}, /* 864 MCS-00 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 34400, 0, 32400, 29200, 0, 34400, 0x560}, /* 865 MCS-01 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 68800, 0, 65200, 58400, 0, 68800, 0x561}, /* 866 MCS-02 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 103200, 0, 97600, 87600, 0, 103200, 0x562}, /* 867 MCS-03 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 137600, 0, 130000, 117200, 0, 137600, 0x563}, /* 868 MCS-04 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 206400, 0, 195200, 175600, 0, 206400, 0x564}, /* 869 MCS-05 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 275200, 0, 260000, 234000, 0, 275200, 0x565}, /* 870 MCS-06 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 309600, 0, 292400, 263200, 0, 309600, 0x566}, /* 871 MCS-07 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 344000, 0, 325200, 292400, 0, 344000, 0x567}, /* 872 MCS-08 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 412800, 0, 390000, 351200, 0, 412800, 0x568}, /* 873 MCS-09 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 458800, 0, 433200, 390000, 0, 458800, 0x569}, /* 874 MCS-10 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 516000, 0, 487600, 438800, 0, 516000, 0x56a}, /* 875 MCS-11 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 573600, 0, 541600, 487600, 0, 573600, 0x56b}, /* 876 MCS-12 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 619600, 0, 585200, 526400, 0, 619600, 0x56c}, /* 877 MCS-13 */ { EHT20_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_20, 688400, 0, 650000, 585200, 0, 688400, 0x56d}, /* 878 MCS-14 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 4300, 0, 4100, 3700, 0, 4300, 0x50e}, /* 879 MCS-15 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 8600, 0, 8100, 7300, 8600, 8600, 0x50f}, /* 880 MCS-00 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 17200, 0, 16300, 14600, 0, 17200, 0x500}, /* 881 MCS-01 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 34400, 0, 32500, 29300, 0, 34400, 0x501}, /* 882 MCS-02 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 51600, 0, 48800, 43900, 0, 51600, 0x502}, /* 883 MCS-03 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 68800, 0, 65000, 58500, 0, 68800, 0x503}, /* 884 MCS-04 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 103200, 0, 97500, 87800, 0, 103200, 0x504}, /* 885 MCS-05 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 137600, 0, 130000, 117000, 0, 137600, 0x505}, /* 886 MCS-06 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 154900, 0, 146300, 131600, 0, 154900, 0x506}, /* 887 MCS-07 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 172100, 0, 162500, 146300, 0, 172100, 0x507}, /* 888 MCS-08 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 206500, 0, 195000, 175500, 0, 206500, 0x508}, /* 889 MCS-09 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 229400, 0, 216700, 195000, 0, 229400, 0x509}, /* 890 MCS-10 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 258100, 0, 243800, 219400, 0, 258100, 0x50a}, /* 891 MCS-11 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 286800, 0, 270800, 243800, 0, 286800, 0x50b}, /* 892 MCS-12 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 309700, 0, 292500, 263300, 0, 309700, 0x50c}, /* 893 MCS-13 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 344100, 0, 325000, 292500, 0, 344100, 0x50d}, /* when number of spatial streams > 1 */ /* 894 MCS-14 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 8600, 0, 8200, 7400, 0, 8600, 0x52e}, /* 895 MCS-15 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 17200, 0, 16200, 14600, 17200, 17200, 0x52f}, /* 896 MCS-00 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 34400, 0, 32600, 29200, 0, 34400, 0x520}, /* 897 MCS-01 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 68800, 0, 65000, 58600, 0, 68800, 0x521}, /* 898 MCS-02 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 103200, 0, 97600, 87800, 0, 103200, 0x522}, /* 899 MCS-03 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 137600, 0, 130000, 117000, 0, 137600, 0x523}, /* 900 MCS-04 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 206400, 0, 195000, 175600, 0, 206400, 0x524}, /* 901 MCS-05 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 275200, 0, 260000, 234000, 0, 275200, 0x525}, /* 902 MCS-06 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 309800, 0, 292600, 263200, 0, 309800, 0x526}, /* 903 MCS-07 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 344200, 0, 325000, 292600, 0, 344200, 0x527}, /* 904 MCS-08 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 413000, 0, 390000, 351000, 0, 413000, 0x528}, /* 905 MCS-09 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 458800, 0, 433400, 390000, 0, 458800, 0x529}, /* 906 MCS-10 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 516200, 0, 487600, 438800, 0, 516200, 0x52a}, /* 907 MCS-11 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 573600, 0, 541600, 487600, 0, 573600, 0x52b}, /* 908 MCS-12 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 619400, 0, 585000, 526600, 0, 619400, 0x52c}, /* 909 MCS-13 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 688200, 0, 650000, 585000, 0, 688200, 0x52d}, /* when number of spatial streams > 2 */ /* 910 MCS-14 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 12900, 0, 12299, 11100, 0, 12900, 0x54e}, /* 911 MCS-15 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 25800, 0, 24300, 21900, 25800, 25800, 0x54f}, /* 912 MCS-00 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 51600, 0, 48900, 43800, 0, 51600, 0x540}, /* 913 MCS-01 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 103200, 0, 97500, 87900, 0, 103200, 0x541}, /* 914 MCS-02 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 154800, 0, 146400, 131700, 0, 154800, 0x542}, /* 915 MCS-03 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 206400, 0, 195000, 175500, 0, 206400, 0x543}, /* 916 MCS-04 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 309600, 0, 292500, 263400, 0, 309600, 0x544}, /* 917 MCS-05 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 412800, 0, 390000, 351000, 0, 412800, 0x545}, /* 918 MCS-06 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 464700, 0, 438900, 394800, 0, 464700, 0x546}, /* 919 MCS-07 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 516300, 0, 487500, 438900, 0, 516300, 0x547}, /* 920 MCS-08 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 619500, 0, 585000, 526500, 0, 619500, 0x548}, /* 921 MCS-09 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 688200, 0, 650100, 585000, 0, 688200, 0x549}, /* 922 MCS-10 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 774300, 0, 731400, 658200, 0, 774300, 0x54a}, /* 923 MCS-11 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 860400, 0, 812400, 731400, 0, 860400, 0x54b}, /* 924 MCS-12 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 929100, 0, 877500, 789900, 0, 929100, 0x54c}, /* 925 MCS-13 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 1032300, 0, 975000, 877500, 0, 1032300, 0x54d}, /* when number of spatial streams > 3 */ /* 926 MCS-14 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 17200, 0, 16400, 14800, 0, 17200, 0x56e}, /* 927 MCS-15 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 34400, 0, 32400, 29200, 34400, 34400, 0x56f}, /* 928 MCS-00 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 68800, 0, 65200, 58400, 0, 68800, 0x560}, /* 929 MCS-01 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 137600, 0, 130000, 117200, 0, 137600, 0x561}, /* 930 MCS-02 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 206400, 0, 195200, 175600, 0, 206400, 0x562}, /* 931 MCS-03 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 275200, 0, 260000, 234000, 0, 275200, 0x563}, /* 932 MCS-04 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 412800, 0, 390000, 351200, 0, 412800, 0x564}, /* 933 MCS-05 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 550400, 0, 520000, 468000, 0, 550400, 0x565}, /* 934 MCS-06 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 619600, 0, 585200, 526400, 0, 619600, 0x566}, /* 935 MCS-07 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 688400, 0, 650000, 585200, 0, 688400, 0x567}, /* 936 MCS-08 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 826000, 0, 780000, 702000, 0, 826000, 0x568}, /* 937 MCS-09 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 917600, 0, 866800, 780000, 0, 917600, 0x569}, /* 938 MCS-10 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 1032400, 0, 975200, 877600, 0, 1032400, 0x56a}, /* 939 MCS-11 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 1147200, 0, 1083200, 975200, 0, 1147200, 0x56b}, /* 940 MCS-12 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 1238800, 0, 1170000, 1053200, 0, 1238800, 0x56c}, /* 941 MCS-13 */ { EHT40_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_40, 1376400, 0, 1300000, 1170000, 0, 1376400, 0x56d}, /* 942 MCS-14 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 6400, 0, 6100, 5500, 0, 6400, 0x50e}, /* 943 MCS-15 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 12900, 0, 12200, 11000, 12900, 12900, 0x50f}, /* 944 MCS-00 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 25800, 0, 24400, 21900, 0, 25800, 0x500}, /* 945 MCS-01 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 51600, 0, 48800, 43900, 0, 51600, 0x501}, /* 946 MCS-02 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 77400, 0, 73100, 65800, 0, 77400, 0x502}, /* 947 MCS-03 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 103200, 0, 97500, 87800, 0, 103200, 0x503}, /* 948 MCS-04 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 154900, 0, 146300, 131600, 0, 154900, 0x504}, /* 949 MCS-05 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 206500, 0, 195000, 175500, 0, 206500, 0x505}, /* 950 MCS-06 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 232300, 0, 219400, 197400, 0, 232300, 0x506}, /* 951 MCS-07 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 258100, 0, 243800, 219400, 0, 258100, 0x507}, /* 952 MCS-08 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 309700, 0, 292500, 263300, 0, 309700, 0x508}, /* 953 MCS-09 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 344100, 0, 325000, 292500, 0, 344100, 0x509}, /* 954 MCS-10 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 387100, 0, 365600, 329100, 0, 387100, 0x50a}, /* 955 MCS-11 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 430100, 0, 406300, 365600, 0, 430100, 0x50b}, /* 956 MCS-12 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 464600, 0, 438800, 394900, 0, 464600, 0x50c}, /* 957 MCS-13 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 516200, 0, 487500, 438800, 0, 516200, 0x50d}, /* when number of spatial streams > 1 */ /* 958 MCS-14 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 12800, 0, 12200, 11000, 0, 12800, 0x52e}, /* 959 MCS-15 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 25800, 0, 24400, 22000, 25800, 25800, 0x52f}, /* 960 MCS-00 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 51600, 0, 48800, 43800, 0, 51600, 0x520}, /* 961 MCS-01 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 103200, 0, 97600, 87800, 0, 103200, 0x521}, /* 962 MCS-02 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 154800, 0, 146200, 131600, 0, 154800, 0x522}, /* 963 MCS-03 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 206400, 0, 195000, 175600, 0, 206400, 0x523}, /* 964 MCS-04 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 309800, 0, 292600, 263200, 0, 309800, 0x524}, /* 965 MCS-05 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 413000, 0, 390000, 351000, 0, 413000, 0x525}, /* 966 MCS-06 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 464600, 0, 438800, 394800, 0, 464600, 0x526}, /* 967 MCS-07 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 516200, 0, 487600, 438800, 0, 516200, 0x527}, /* 968 MCS-08 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 619400, 0, 585000, 526600, 0, 619400, 0x528}, /* 969 MCS-09 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 688200, 0, 650000, 585000, 0, 688200, 0x529}, /* 970 MCS-10 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 774200, 0, 731200, 658200, 0, 774200, 0x52a}, /* 971 MCS-11 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 860200, 0, 812600, 731200, 0, 860200, 0x52b}, /* 972 MCS-12 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 929200, 0, 877600, 789800, 0, 929200, 0x52c}, /* 973 MCS-13 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 1032400, 0, 975000, 877600, 0, 1032400, 0x52d}, /* when number of spatial streams > 2 */ /* 974 MCS-14 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 19200, 0, 18300, 16500, 0, 19200, 0x54e}, /* 975 MCS-15 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 38700, 0, 36600, 33000, 38700, 38700, 0x54f}, /* 976 MCS-00 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 77400, 0, 73200, 65700, 0, 77400, 0x540}, /* 977 MCS-01 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 154800, 0, 146400, 131700, 0, 154800, 0x541}, /* 978 MCS-02 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 232200, 0, 219299, 197400, 0, 232200, 0x542}, /* 979 MCS-03 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 309600, 0, 292500, 263400, 0, 309600, 0x543}, /* 980 MCS-04 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 464700, 0, 438900, 394800, 0, 464700, 0x544}, /* 981 MCS-05 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 619500, 0, 585000, 526500, 0, 619500, 0x545}, /* 982 MCS-06 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 696900, 0, 658200, 592200, 0, 696900, 0x546}, /* 983 MCS-07 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 774300, 0, 731400, 658200, 0, 774300, 0x547}, /* 984 MCS-08 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 929100, 0, 877500, 789900, 0, 929100, 0x548}, /* 985 MCS-09 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 1032300, 0, 975000, 877500, 0, 1032300, 0x549}, /* 986 MCS-10 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 1161300, 0, 1096800, 987300, 0, 1161300, 0x54a}, /* 987 MCS-11 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 1290300, 0, 1218900, 1096800, 0, 1290300, 0x54b}, /* 988 MCS-12 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 1393800, 0, 1316400, 1184700, 0, 1393800, 0x54c}, /* 989 MCS-13 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 1548600, 0, 1462500, 1316400, 0, 1548600, 0x54d}, /* when number of spatial streams > 3 */ /* 990 MCS-14 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 25600, 0, 24400, 22000, 0, 25600, 0x56e}, /* 991 MCS-15 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 51600, 0, 48800, 44000, 51600, 51600, 0x56f}, /* 992 MCS-00 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 103200, 0, 97600, 87600, 0, 103200, 0x560}, /* 993 MCS-01 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 206400, 0, 195200, 175600, 0, 206400, 0x561}, /* 994 MCS-02 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 309600, 0, 292400, 263200, 0, 309600, 0x562}, /* 995 MCS-03 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 412800, 0, 390000, 351200, 0, 412800, 0x563}, /* 996 MCS-04 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 619600, 0, 585200, 526400, 0, 619600, 0x564}, /* 997 MCS-05 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 826000, 0, 780000, 702000, 0, 826000, 0x565}, /* 998 MCS-06 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 929200, 0, 877600, 789600, 0, 929200, 0x566}, /* 999 MCS-07 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 1032400, 0, 975200, 877600, 0, 1032400, 0x567}, /* 1000 MCS-08 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 1238800, 0, 1170000, 1053200, 0, 1238800, 0x568}, /* 1001 MCS-09 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 1376400, 0, 1300000, 1170000, 0, 1376400, 0x569}, /* 1002 MCS-10 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 1548400, 0, 1462400, 1316400, 0, 1548400, 0x56a}, /* 1003 MCS-11 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 1720400, 0, 1625200, 1462400, 0, 1720400, 0x56b}, /* 1004 MCS-12 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 1858400, 0, 1755200, 1579600, 0, 1858400, 0x56c}, /* 1005 MCS-13 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_60, 2064800, 0, 1950000, 1755200, 0, 2064800, 0x56d}, /* 1006 MCS-14 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 9000, 0, 8500, 7700, 0, 9000, 0x50e}, /* 1007 MCS-15 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 18000, 0, 17000, 15300, 18000, 18000, 0x50f}, /* 1008 MCS-00 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 36000, 0, 34000, 30600, 0, 36000, 0x500}, /* 1009 MCS-01 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 72100, 0, 68100, 61300, 0, 72100, 0x501}, /* 1010 MCS-02 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 108100, 0, 102100, 91900, 0, 108100, 0x502}, /* 1011 MCS-03 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 144100, 0, 136100, 122500, 0, 144100, 0x503}, /* 1012 MCS-04 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 216200, 0, 204200, 183800, 0, 216200, 0x504}, /* 1013 MCS-05 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 288200, 0, 272200, 245000, 0, 288200, 0x505}, /* 1014 MCS-06 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 324300, 0, 306300, 275600, 0, 324300, 0x506}, /* 1015 MCS-07 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 360300, 0, 340300, 306300, 0, 360300, 0x507}, /* 1016 MCS-08 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 432400, 0, 408300, 367500, 0, 432400, 0x508}, /* 1017 MCS-09 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 480400, 0, 453700, 408300, 0, 480400, 0x509}, /* 1018 MCS-10 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 540400, 0, 510400, 459400, 0, 540400, 0x50a}, /* 1019 MCS-11 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 600500, 0, 567100, 510400, 0, 600500, 0x50b}, /* 1020 MCS-12 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 648500, 0, 612500, 551300, 0, 648500, 0x50c}, /* 1021 MCS-13 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 720600, 0, 680600, 612500, 0, 720600, 0x50d}, /* when number of spatial streams > 1 */ /* 1022 MCS-14 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 18000, 0, 17000, 15400, 0, 18000, 0x52e}, /* 1023 MCS-15 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 36000, 0, 34000, 30600, 36000, 36000, 0x52f}, /* 1024 MCS-00 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 72000, 0, 68000, 61200, 0, 72000, 0x520}, /* 1025 MCS-01 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 144200, 0, 136200, 122600, 0, 144200, 0x521}, /* 1026 MCS-02 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 216200, 0, 204200, 183800, 0, 216200, 0x522}, /* 1027 MCS-03 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 288200, 0, 272200, 245000, 0, 288200, 0x523}, /* 1028 MCS-04 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 432400, 0, 408400, 367600, 0, 432400, 0x524}, /* 1029 MCS-05 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 576400, 0, 544400, 490000, 0, 576400, 0x525}, /* 1030 MCS-06 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 648600, 0, 612600, 551200, 0, 648600, 0x526}, /* 1031 MCS-07 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 720600, 0, 680600, 612600, 0, 720600, 0x527}, /* 1032 MCS-08 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 864800, 0, 816600, 735000, 0, 864800, 0x528}, /* 1033 MCS-09 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 960800, 0, 907400, 816600, 0, 960800, 0x529}, /* 1034 MCS-10 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 1080800, 0, 1020800, 918800, 0, 1080800, 0x52a}, /* 1035 MCS-11 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 1201000, 0, 1134200, 1020800, 0, 1201000, 0x52b}, /* 1036 MCS-12 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 1297000, 0, 1225000, 1102600, 0, 1297000, 0x52c}, /* 1037 MCS-13 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 1441200, 0, 1361200, 1225000, 0, 1441200, 0x52d}, /* when number of spatial streams > 2 */ /* 1028 MCS-14 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 27000, 0, 25500, 23100, 0, 27000, 0x54e}, /* 1029 MCS-15 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 54000, 0, 51000, 45900, 54000, 54000, 0x54f}, /* 1030 MCS-00 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 108000, 0, 102000, 91800, 0, 108000, 0x540}, /* 1031 MCS-01 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 216299, 0, 204299, 183900, 0, 216299, 0x541}, /* 1032 MCS-02 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 324300, 0, 306300, 275700, 0, 324300, 0x542}, /* 1033 MCS-03 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 432300, 0, 408300, 367500, 0, 432300, 0x543}, /* 1034 MCS-04 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 648600, 0, 612600, 551400, 0, 648600, 0x544}, /* 1035 MCS-05 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 864600, 0, 816600, 735000, 0, 864600, 0x545}, /* 1036 MCS-06 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 972900, 0, 918900, 826800, 0, 972900, 0x546}, /* 1037 MCS-07 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 1080900, 0, 1020900, 918900, 0, 1080900, 0x547}, /* 1038 MCS-08 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 1297200, 0, 1224900, 1102500, 0, 1297200, 0x548}, /* 1039 MCS-09 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 1441200, 0, 1361100, 1224900, 0, 1441200, 0x549}, /* 1040 MCS-10 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 1621200, 0, 1531200, 1378200, 0, 1621200, 0x54a}, /* 1041 MCS-11 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 1801500, 0, 1701300, 1531200, 0, 1801500, 0x54b}, /* 1042 MCS-12 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 1945500, 0, 1837500, 1653899, 0, 1945500, 0x54c}, /* 1043 MCS-13 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 2161800, 0, 2041800, 1837500, 0, 2161800, 0x54d}, /* when number of spatial streams > 3 */ /* 1044 MCS-14 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 36000, 0, 34000, 30800, 0, 36000, 0x56e}, /* 1045 MCS-15 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 72000, 0, 68000, 61200, 72000, 72000, 0x56f}, /* 1046 MCS-00 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 144000, 0, 136000, 122400, 0, 144000, 0x560}, /* 1047 MCS-01 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 288400, 0, 272400, 245200, 0, 288400, 0x561}, /* 1048 MCS-02 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 432400, 0, 408400, 367600, 0, 432400, 0x562}, /* 1049 MCS-03 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 576400, 0, 544400, 490000, 0, 576400, 0x563}, /* 1050 MCS-04 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 864800, 0, 816800, 735200, 0, 864800, 0x564}, /* 1051 MCS-05 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 1152800, 0, 1088800, 980000, 0, 1152800, 0x565}, /* 1052 MCS-06 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 1297200, 0, 1225200, 1102400, 0, 1297200, 0x566}, /* 1053 MCS-07 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 1441200, 0, 1361200, 1225200, 0, 1441200, 0x567}, /* 1054 MCS-08 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 1729600, 0, 1633200, 1470000, 0, 1729600, 0x568}, /* 1055 MCS-09 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 1921600, 0, 1814800, 1633200, 0, 1921600, 0x569}, /* 1056 MCS-10 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 2161600, 0, 2041600, 1837600, 0, 2161600, 0x56a}, /* 1057 MCS-11 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 2402000, 0, 2268400, 2041600, 0, 2402000, 0x56b}, /* 1058 MCS-12 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 2594000, 0, 2450000, 2205200, 0, 2594000, 0x56c}, /* 1059 MCS-13 */ { EHT80_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_80, 2882400, 0, 2722400, 2450000, 0, 2882400, 0x56d}, /* 1060 MCS-14 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 13300, 0, 12600, 11300, 0, 13300, 0x50e}, /* 1061 MCS-15 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 26600, 0, 25100, 22600, 26600, 26600, 0x50f}, /* 1062 MCS-00 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 53200, 0, 50300, 45300, 0, 53200, 0x500}, /* 1063 MCS-01 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 106500, 0, 100600, 90500, 0, 106500, 0x501}, /* 1064 MCS-02 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 159700, 0, 150800, 135800, 0, 159700, 0x502}, /* 1065 MCS-03 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 212900, 0, 201100, 181000, 0, 212900, 0x503}, /* 1066 MCS-04 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 319400, 0, 301700, 271500, 0, 319400, 0x504}, /* 1067 MCS-05 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 425900, 0, 402200, 362000, 0, 425900, 0x505}, /* 1068 MCS-06 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 479100, 0, 452500, 407300, 0, 479100, 0x506}, /* 1069 MCS-07 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 532400, 0, 502800, 452500, 0, 532400, 0x507}, /* 1070 MCS-08 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 638800, 0, 603300, 543000, 0, 638800, 0x508}, /* 1071 MCS-09 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 709800, 0, 670400, 603300, 0, 709800, 0x509}, /* 1072 MCS-10 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 798500, 0, 754200, 678800, 0, 798500, 0x50a}, /* 1073 MCS-11 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 887300, 0, 838000, 754200, 0, 887300, 0x50b}, /* 1074 MCS-12 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 958200, 0, 905000, 814500, 0, 958200, 0x50c}, /* 1075 MCS-13 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 1064700, 0, 1005600, 905000, 0, 1064700, 0x50d}, /* when number of spatial streams > 1 */ /* 1076 MCS-14 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 26600, 0, 25200, 22600, 0, 26600, 0x52e}, /* 1077 MCS-15 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 53200, 0, 50200, 45200, 53200, 53200, 0x52f}, /* 1078 MCS-00 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 106400, 0, 100600, 90600, 0, 106400, 0x520}, /* 1079 MCS-01 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 213000, 0, 201200, 181000, 0, 213000, 0x521}, /* 1080 MCS-02 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 319400, 0, 301600, 271600, 0, 319400, 0x522}, /* 1081 MCS-03 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 425800, 0, 402200, 362000, 0, 425800, 0x523}, /* 1082 MCS-04 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 638800, 0, 603400, 543000, 0, 638800, 0x524}, /* 1083 MCS-05 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 851800, 0, 804400, 724000, 0, 851800, 0x525}, /* 1084 MCS-06 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 958200, 0, 905000, 814600, 0, 958200, 0x526}, /* 1085 MCS-07 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 1064800, 0, 1005600, 905000, 0, 1064800, 0x527}, /* 1086 MCS-08 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 1277600, 0, 1206600, 1086000, 0, 1277600, 0x528}, /* 1087 MCS-09 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 1419600, 0, 1340800, 1206600, 0, 1419600, 0x529}, /* 1088 MCS-10 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 1597000, 0, 1508400, 1357600, 0, 1597000, 0x52a}, /* 1089 MCS-11 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 1774600, 0, 1676000, 1508400, 0, 1774600, 0x52b}, /* 1090 MCS-12 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 1916400, 0, 1810000, 1629000, 0, 1916400, 0x52c}, /* 1091 MCS-13 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 2129400, 0, 2011200, 1810000, 0, 2129400, 0x52d}, /* when number of spatial streams > 2 */ /* 1092 MCS-14 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 39900, 0, 37800, 33900, 0, 39900, 0x54e}, /* 1093 MCS-15 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 79800, 0, 75300, 67800, 79800, 79800, 0x54f}, /* 1094 MCS-00 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 159600, 0, 150900, 135900, 0, 159600, 0x540}, /* 1095 MCS-01 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 319500, 0, 301800, 271500, 0, 319500, 0x541}, /* 1096 MCS-02 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 479099, 0, 452400, 407400, 0, 479099, 0x542}, /* 1097 MCS-03 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 638700, 0, 603300, 543000, 0, 638700, 0x543}, /* 1098 MCS-04 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 958199, 0, 905100, 814500, 0, 958199, 0x544}, /* 1099 MCS-05 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 1277700, 0, 1206600, 1086000, 0, 1277700, 0x545}, /* 1100 MCS-06 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 1437300, 0, 1357500, 1221900, 0, 1437300, 0x546}, /* 1101 MCS-07 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 1597200, 0, 1508400, 1357500, 0, 1597200, 0x547}, /* 1102 MCS-08 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 1916399, 0, 1809899, 1629000, 0, 1916399, 0x548}, /* 1103 MCS-09 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 2129400, 0, 2011200, 1809899, 0, 2129400, 0x549}, /* 1104 MCS-10 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 2395500, 0, 2262600, 2036399, 0, 2395500, 0x54a}, /* 1105 MCS-11 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 2661900, 0, 2514000, 2262600, 0, 2661900, 0x54b}, /* 1106 MCS-12 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 2874600, 0, 2715000, 2443500, 0, 2874600, 0x54c}, /* 1107 MCS-13 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 3194100, 0, 3016800, 2715000, 0, 3194100, 0x54d}, /* when number of spatial streams > 3 */ /* 1108 MCS-14 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 53200, 0, 50400, 45200, 0, 53200, 0x56e}, /* 1109 MCS-15 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 106400, 0, 100400, 90400, 106400, 106400, 0x56f}, /* 1110 MCS-00 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 212800, 0, 201200, 181200, 0, 212800, 0x560}, /* 1111 MCS-01 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 426000, 0, 402400, 362000, 0, 426000, 0x561}, /* 1112 MCS-02 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 638800, 0, 603200, 543200, 0, 638800, 0x562}, /* 1113 MCS-03 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 851600, 0, 804400, 724000, 0, 851600, 0x563}, /* 1114 MCS-04 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 1277600, 0, 1206800, 1086000, 0, 1277600, 0x564}, /* 1115 MCS-05 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 1703600, 0, 1608800, 1448000, 0, 1703600, 0x565}, /* 1116 MCS-06 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 1916400, 0, 1810000, 1629200, 0, 1916400, 0x566}, /* 1117 MCS-07 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 2129600, 0, 2011200, 1810000, 0, 2129600, 0x567}, /* 1118 MCS-08 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 2555200, 0, 2413200, 2172000, 0, 2555200, 0x568}, /* 1119 MCS-09 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 2839200, 0, 2681600, 2413200, 0, 2839200, 0x569}, /* 1120 MCS-10 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 3194000, 0, 3016800, 2715200, 0, 3194000, 0x56a}, /* 1121 MCS-11 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 3549200, 0, 3352000, 3016800, 0, 3549200, 0x56b}, /* 1122 MCS-12 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 3832800, 0, 3620000, 3258000, 0, 3832800, 0x56c}, /* 1123 MCS-13 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_120, 4258800, 0, 4022400, 3620000, 0, 4258800, 0x56d}, /* 1124 MCS-14 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 15400, 0, 14600, 13100, 0, 15400, 0x50e}, /* 1125 MCS-15 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 30900, 0, 29200, 26300, 30900, 30900, 0x50f}, /* 1126 MCS-00 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 61800, 0, 58400, 52600, 0, 61800, 0x500}, /* 1127 MCS-01 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 123700, 0, 116800, 105100, 0, 123700, 0x501}, /* 1128 MCS-02 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 185500, 0, 175200, 157700, 0, 185500, 0x502}, /* 1129 MCS-03 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 247400, 0, 233600, 210300, 0, 247400, 0x503}, /* 1130 MCS-04 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 371000, 0, 350400, 315400, 0, 371000, 0x504}, /* 1131 MCS-05 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 494700, 0, 467200, 420500, 0, 494700, 0x505}, /* 1132 MCS-06 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 556500, 0, 525600, 473100, 0, 556500, 0x506}, /* 1133 MCS-07 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 618400, 0, 584000, 525600, 0, 618400, 0x507}, /* 1134 MCS-08 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 742100, 0, 700800, 630800, 0, 742100, 0x508}, /* 1135 MCS-09 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 824500, 0, 778700, 700800, 0, 824500, 0x509}, /* 1136 MCS-10 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 927600, 0, 876000, 788400, 0, 927600, 0x50a}, /* 1137 MCS-11 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 1030599, 0, 973400, 876000, 0, 1030599, 0x50b}, /* 1138 MCS-12 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 1113100, 0, 1051300, 946100, 0, 1113100, 0x50c}, /* 1139 MCS-13 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 1236800, 0, 1168100, 1051300, 0, 1236800, 0x50d}, /* when number of spatial streams > 1 */ /* 1140 MCS-14 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 30800, 0, 29200, 26200, 0, 30800, 0x52e}, /* 1141 MCS-15 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 61800, 0, 58400, 52600, 61800, 61800, 0x52f}, /* 1142 MCS-00 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 123600, 0, 116800, 105200, 0, 123600, 0x520}, /* 1143 MCS-01 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 247400, 0, 233600, 210200, 0, 247400, 0x521}, /* 1144 MCS-02 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 371000, 0, 350400, 315400, 0, 371000, 0x522}, /* 1145 MCS-03 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 494800, 0, 467200, 420600, 0, 494800, 0x523}, /* 1146 MCS-04 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 742000, 0, 700800, 630800, 0, 742000, 0x524}, /* 1147 MCS-05 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 989400, 0, 934400, 841000, 0, 989400, 0x525}, /* 1148 MCS-06 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 1113000, 0, 1051200, 946200, 0, 1113000, 0x526}, /* 1149 MCS-07 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 1236800, 0, 1168000, 1051200, 0, 1236800, 0x527}, /* 1150 MCS-08 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 1484200, 0, 1401600, 1261600, 0, 1484200, 0x528}, /* 1151 MCS-09 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 1649000, 0, 1557400, 1401600, 0, 1649000, 0x529}, /* 1152 MCS-10 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 1855200, 0, 1752000, 1576800, 0, 1855200, 0x52a}, /* 1153 MCS-11 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 2061199, 0, 1946800, 1752000, 0, 2061199, 0x52b}, /* 1154 MCS-12 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 2226200, 0, 2102600, 1892200, 0, 2226200, 0x52c}, /* 1155 MCS-13 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 2473600, 0, 2336200, 2102600, 0, 2473600, 0x52d}, /* when number of spatial streams > 2 */ /* 1156 MCS-14 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 46200, 0, 43800, 39300, 0, 46200, 0x54e}, /* 1157 MCS-15 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 92700, 0, 87600, 78900, 92700, 92700, 0x54f}, /* 1158 MCS-00 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 185400, 0, 175200, 157800, 0, 185400, 0x540}, /* 1159 MCS-01 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 371100, 0, 350400, 315300, 0, 371100, 0x541}, /* 1160 MCS-02 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 556500, 0, 525600, 473099, 0, 556500, 0x542}, /* 1161 MCS-03 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 742200, 0, 700800, 630900, 0, 742200, 0x543}, /* 1162 MCS-04 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 1113000, 0, 1051200, 946199, 0, 1113000, 0x544}, /* 1163 MCS-05 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 1484100, 0, 1401600, 1261500, 0, 1484100, 0x545}, /* 1164 MCS-06 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 1669500, 0, 1576800, 1419300, 0, 1669500, 0x546}, /* 1165 MCS-07 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 1855200, 0, 1752000, 1576800, 0, 1855200, 0x547}, /* 1166 MCS-08 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 2226300, 0, 2102400, 1892399, 0, 2226300, 0x548}, /* 1167 MCS-09 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 2473500, 0, 2336100, 2102400, 0, 2473500, 0x549}, /* 1168 MCS-10 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 2782800, 0, 2628000, 2365200, 0, 2782800, 0x54a}, /* 1169 MCS-11 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 3091799, 0, 2920200, 2628000, 0, 3091799, 0x54b}, /* 1170 MCS-12 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 3339299, 0, 3153900, 2838300, 0, 3339299, 0x54c}, /* 1171 MCS-13 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 3710400, 0, 3504299, 3153900, 0, 3710400, 0x54d}, /* when number of spatial streams > 3 */ /* 1172 MCS-14 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 61600, 0, 58400, 52400, 0, 61600, 0x56e}, /* 1173 MCS-15 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 123600, 0, 116800, 105200, 123600, 123600, 0x56f}, /* 1174 MCS-00 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 247200, 0, 233600, 210400, 0, 247200, 0x560}, /* 1175 MCS-01 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 494800, 0, 467200, 420400, 0, 494800, 0x561}, /* 1176 MCS-02 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 742000, 0, 700800, 630800, 0, 742000, 0x562}, /* 1177 MCS-03 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 989600, 0, 934400, 841200, 0, 989600, 0x563}, /* 1178 MCS-04 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 1484000, 0, 1401600, 1261600, 0, 1484000, 0x564}, /* 1179 MCS-05 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 1978800, 0, 1868800, 1682000, 0, 1978800, 0x565}, /* 1180 MCS-06 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 2226000, 0, 2102400, 1892400, 0, 2226000, 0x566}, /* 1181 MCS-07 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 2473600, 0, 2336000, 2102400, 0, 2473600, 0x567}, /* 1182 MCS-08 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 2968400, 0, 2803200, 2523200, 0, 2968400, 0x568}, /* 1183 MCS-09 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 3298000, 0, 3114800, 2803200, 0, 3298000, 0x569}, /* 1184 MCS-10 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 3710400, 0, 3504000, 3153600, 0, 3710400, 0x56a}, /* 1185 MCS-11 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 4122399, 0, 3893600, 3504000, 0, 4122399, 0x56b}, /* 1186 MCS-12 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 4452400, 0, 4205200, 3784400, 0, 4452400, 0x56c}, /* 1187 MCS-13 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_140, 4947200, 0, 4672400, 4205200, 0, 4947200, 0x56d}, /* 1188 MCS-14 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 18000, 0, 17000, 15300, 0, 18000, 0x50e}, /* 1189 MCS-15 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 36000, 0, 34000, 30600, 36000, 36000, 0x50f}, /* 1190 MCS-00 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 72100, 0, 68100, 61300, 0, 72100, 0x500}, /* 1191 MCS-01 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 144100, 0, 136100, 122500, 0, 144100, 0x501}, /* 1192 MCS-02 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 216200, 0, 204200, 183800, 0, 216200, 0x502}, /* 1193 MCS-03 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 288200, 0, 272200, 245000, 0, 288200, 0x503}, /* 1194 MCS-04 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 432400, 0, 408300, 367500, 0, 432400, 0x504}, /* 1195 MCS-05 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 576500, 0, 544400, 490000, 0, 576500, 0x505}, /* 1196 MCS-06 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 648500, 0, 612500, 551300, 0, 648500, 0x506}, /* 1197 MCS-07 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 720600, 0, 680600, 612500, 0, 720600, 0x507}, /* 1198 MCS-08 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 864700, 0, 816700, 735000, 0, 864700, 0x508}, /* 1199 MCS-09 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 960800, 0, 907400, 816700, 0, 960800, 0x509}, /* 1200 MCS-10 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 1080900, 0, 1020800, 918800, 0, 1080900, 0x50a}, /* 1201 MCS-11 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 1201000, 0, 1134300, 1020800, 0, 1201000, 0x50b}, /* 1202 MCS-12 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 1297100, 0, 1225000, 1102500, 0, 1297100, 0x50c}, /* 1203 MCS-13 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 1441200, 0, 1361100, 1225000, 0, 1441200, 0x50d}, /* when number of spatial streams > 1 */ /* 1204 MCS-14 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 36000, 0, 34000, 30600, 0, 36000, 0x52e}, /* 1205 MCS-15 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 72000, 0, 68000, 61200, 72000, 72000, 0x52f}, /* 1206 MCS-00 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 144200, 0, 136200, 122600, 0, 144200, 0x520}, /* 1207 MCS-01 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 288200, 0, 272200, 245000, 0, 288200, 0x521}, /* 1208 MCS-02 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 432400, 0, 408400, 367600, 0, 432400, 0x522}, /* 1209 MCS-03 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 576400, 0, 544400, 490000, 0, 576400, 0x523}, /* 1210 MCS-04 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 864800, 0, 816600, 735000, 0, 864800, 0x524}, /* 1211 MCS-05 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 1153000, 0, 1088800, 980000, 0, 1153000, 0x525}, /* 1212 MCS-06 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 1297000, 0, 1225000, 1102600, 0, 1297000, 0x526}, /* 1213 MCS-07 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 1441200, 0, 1361200, 1225000, 0, 1441200, 0x527}, /* 1214 MCS-08 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 1729400, 0, 1633400, 1470000, 0, 1729400, 0x528}, /* 1215 MCS-09 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 1921600, 0, 1814800, 1633400, 0, 1921600, 0x529}, /* 1216 MCS-10 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 2161800, 0, 2041600, 1837600, 0, 2161800, 0x52a}, /* 1217 MCS-11 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 2402000, 0, 2268600, 2041600, 0, 2402000, 0x52b}, /* 1218 MCS-12 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 2594200, 0, 2450000, 2205000, 0, 2594200, 0x52c}, /* 1219 MCS-13 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 2882400, 0, 2722200, 2450000, 0, 2882400, 0x52d}, /* when number of spatial streams > 2 */ /* 1220 MCS-14 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 54000, 0, 51000, 45900, 0, 54000, 0x54e}, /* 1221 MCS-15 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 108000, 0, 102000, 91800, 108000, 108000, 0x54f}, /* 1222 MCS-00 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 216299, 0, 204299, 183900, 0, 216299, 0x540}, /* 1223 MCS-01 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 432300, 0, 408300, 367500, 0, 432300, 0x541}, /* 1224 MCS-02 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 648600, 0, 612600, 551400, 0, 648600, 0x542}, /* 1225 MCS-03 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 864600, 0, 816600, 735000, 0, 864600, 0x543}, /* 1226 MCS-04 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 1297200, 0, 1224900, 1102500, 0, 1297200, 0x544}, /* 1227 MCS-05 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 1729500, 0, 1633200, 1470000, 0, 1729500, 0x545}, /* 1228 MCS-06 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 1945500, 0, 1837500, 1653899, 0, 1945500, 0x546}, /* 1229 MCS-07 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 2161800, 0, 2041800, 1837500, 0, 2161800, 0x547}, /* 1230 MCS-08 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 2594100, 0, 2450100, 2205000, 0, 2594100, 0x548}, /* 1231 MCS-09 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 2882400, 0, 2722200, 2450100, 0, 2882400, 0x549}, /* 1232 MCS-10 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 3242700, 0, 3062400, 2756400, 0, 3242700, 0x54a}, /* 1233 MCS-11 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 3603000, 0, 3402900, 3062400, 0, 3603000, 0x54b}, /* 1234 MCS-12 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 3891299, 0, 3675000, 3307500, 0, 3891299, 0x54c}, /* 1235 MCS-13 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 4323600, 0, 4083299, 3675000, 0, 4323600, 0x54d}, /* when number of spatial streams > 3 */ /* 1236 MCS-14 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 72000, 0, 68000, 61200, 0, 72000, 0x56e}, /* 1237 MCS-15 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 144000, 0, 136000, 122400, 144000, 144000, 0x56f}, /* 1238 MCS-00 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 288400, 0, 272400, 245200, 0, 288400, 0x560}, /* 1239 MCS-01 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 576400, 0, 544400, 490000, 0, 576400, 0x561}, /* 1240 MCS-02 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 864800, 0, 816800, 735200, 0, 864800, 0x562}, /* 1241 MCS-03 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 1152800, 0, 1088800, 980000, 0, 1152800, 0x563}, /* 1242 MCS-04 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 1729600, 0, 1633200, 1470000, 0, 1729600, 0x564}, /* 1243 MCS-05 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 2306000, 0, 2177600, 1960000, 0, 2306000, 0x565}, /* 1244 MCS-06 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 2594000, 0, 2450000, 2205200, 0, 2594000, 0x566}, /* 1245 MCS-07 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 2882400, 0, 2722400, 2450000, 0, 2882400, 0x567}, /* 1246 MCS-08 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 3458800, 0, 3266800, 2940000, 0, 3458800, 0x568}, /* 1247 MCS-09 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 3843200, 0, 3629600, 3266800, 0, 3843200, 0x569}, /* 1248 MCS-10 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 4323600, 0, 4083200, 3675200, 0, 4323600, 0x56a}, /* 1249 MCS-11 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 4804000, 0, 4537200, 4083200, 0, 4804000, 0x56b}, /* 1250 MCS-12 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 5188400, 0, 4900000, 4410000, 0, 5188400, 0x56c}, /* 1251 MCS-13 */ { EHT160_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_160, 5764800, 0, 5444400, 4900000, 0, 5764800, 0x56d}, /* 1252 MCS-14 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 22300, 0, 21100, 19000, 0, 22300, 0x50e}, /* 1253 MCS-15 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 44600, 0, 42200, 37900, 44600, 44600, 0x50f}, /* 1254 MCS-00 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 89300, 0, 84300, 75900, 0, 89300, 0x500}, /* 1255 MCS-01 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 178500, 0, 168600, 151800, 0, 178500, 0x501}, /* 1256 MCS-02 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 267800, 0, 252900, 227600, 0, 267800, 0x502}, /* 1257 MCS-03 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 357100, 0, 337200, 303500, 0, 357100, 0x503}, /* 1258 MCS-04 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 535600, 0, 505800, 455300, 0, 535600, 0x504}, /* 1259 MCS-05 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 714100, 0, 674400, 607000, 0, 714100, 0x505}, /* 1260 MCS-06 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 803400, 0, 758800, 682900, 0, 803400, 0x506}, /* 1261 MCS-07 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 892600, 0, 843100, 758800, 0, 892600, 0x507}, /* 1262 MCS-08 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 1071200, 0, 1011700, 910500, 0, 1071200, 0x508}, /* 1263 MCS-09 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 1190200, 0, 1124100, 1011700, 0, 1190200, 0x509}, /* 1264 MCS-10 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 1339000, 0, 1264600, 1138100, 0, 1339000, 0x50a}, /* 1265 MCS-11 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 1487700, 0, 1405100, 1264600, 0, 1487700, 0x50b}, /* 1266 MCS-12 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 1606800, 0, 1517500, 1365800, 0, 1606800, 0x50c}, /* 1267 MCS-13 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 1785300, 0, 1686100, 1517500, 0, 1785300, 0x50d}, /* when number of spatial streams > 1 */ /* 1268 MCS-14 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 44600, 0, 42200, 38000, 0, 44600, 0x52e}, /* 1269 MCS-15 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 89200, 0, 84400, 75800, 89200, 89200, 0x52f}, /* 1270 MCS-00 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 178600, 0, 168600, 151800, 0, 178600, 0x520}, /* 1271 MCS-01 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 357000, 0, 337200, 303600, 0, 357000, 0x521}, /* 1272 MCS-02 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 535600, 0, 505800, 455200, 0, 535600, 0x522}, /* 1273 MCS-03 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 714200, 0, 674400, 607000, 0, 714200, 0x523}, /* 1274 MCS-04 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 1071200, 0, 1011600, 910600, 0, 1071200, 0x524}, /* 1275 MCS-05 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 1428200, 0, 1348800, 1214000, 0, 1428200, 0x525}, /* 1276 MCS-06 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 1606800, 0, 1517600, 1365800, 0, 1606800, 0x526}, /* 1277 MCS-07 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 1785200, 0, 1686200, 1517600, 0, 1785200, 0x527}, /* 1278 MCS-08 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 2142400, 0, 2023400, 1821000, 0, 2142400, 0x528}, /* 1279 MCS-09 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 2380400, 0, 2248200, 2023400, 0, 2380400, 0x529}, /* 1280 MCS-10 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 2678000, 0, 2529200, 2276200, 0, 2678000, 0x52a}, /* 1281 MCS-11 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 2975400, 0, 2810200, 2529200, 0, 2975400, 0x52b}, /* 1282 MCS-12 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 3213600, 0, 3035000, 2731600, 0, 3213600, 0x52c}, /* 1283 MCS-13 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 3570600, 0, 3372200, 3035000, 0, 3570600, 0x52d}, /* when number of spatial streams > 2 */ /* 1284 MCS-14 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 66900, 0, 63300, 57000, 0, 66900, 0x54e}, /* 1285 MCS-15 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 133800, 0, 126600, 113700, 133800, 133800, 0x54f}, /* 1286 MCS-00 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 267900, 0, 252900, 227700, 0, 267900, 0x540}, /* 1287 MCS-01 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 535500, 0, 505800, 455400, 0, 535500, 0x541}, /* 1288 MCS-02 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 803400, 0, 758700, 682800, 0, 803400, 0x542}, /* 1289 MCS-03 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 1071300, 0, 1011600, 910500, 0, 1071300, 0x543}, /* 1290 MCS-04 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 1606800, 0, 1517400, 1365900, 0, 1606800, 0x544}, /* 1291 MCS-05 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 2142300, 0, 2023200, 1821000, 0, 2142300, 0x545}, /* 1292 MCS-06 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 2410200, 0, 2276400, 2048700, 0, 2410200, 0x546}, /* 1293 MCS-07 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 2677800, 0, 2529300, 2276400, 0, 2677800, 0x547}, /* 1294 MCS-08 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 3213600, 0, 3035100, 2731500, 0, 3213600, 0x548}, /* 1295 MCS-09 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 3570600, 0, 3372299, 3035100, 0, 3570600, 0x549}, /* 1296 MCS-10 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 4017000, 0, 3793799, 3414299, 0, 4017000, 0x54a}, /* 1297 MCS-11 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 4463100, 0, 4215300, 3793799, 0, 4463100, 0x54b}, /* 1298 MCS-12 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 4820400, 0, 4552500, 4097400, 0, 4820400, 0x54c}, /* 1299 MCS-13 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 5355900, 0, 5058300, 4552500, 0, 5355900, 0x54d}, /* when number of spatial streams > 3 */ /* 1300 MCS-14 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 89200, 0, 84400, 76000, 0, 89200, 0x56e}, /* 1301 MCS-15 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 178400, 0, 168800, 151600, 178400, 178400, 0x56f}, /* 1302 MCS-00 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 357200, 0, 337200, 303600, 0, 357200, 0x560}, /* 1303 MCS-01 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 714000, 0, 674400, 607200, 0, 714000, 0x561}, /* 1304 MCS-02 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 1071200, 0, 1011600, 910400, 0, 1071200, 0x562}, /* 1305 MCS-03 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 1428400, 0, 1348800, 1214000, 0, 1428400, 0x563}, /* 1306 MCS-04 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 2142400, 0, 2023200, 1821200, 0, 2142400, 0x564}, /* 1307 MCS-05 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 2856400, 0, 2697600, 2428000, 0, 2856400, 0x565}, /* 1308 MCS-06 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 3213600, 0, 3035200, 2731600, 0, 3213600, 0x566}, /* 1309 MCS-07 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 3570400, 0, 3372400, 3035200, 0, 3570400, 0x567}, /* 1310 MCS-08 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 4284800, 0, 4046800, 3642000, 0, 4284800, 0x568}, /* 1311 MCS-09 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 4760800, 0, 4496400, 4046800, 0, 4760800, 0x569}, /* 1312 MCS-10 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 5356000, 0, 5058400, 4552400, 0, 5356000, 0x56a}, /* 1313 MCS-11 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 5950800, 0, 5620400, 5058400, 0, 5950800, 0x56b}, /* 1314 MCS-12 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 6427200, 0, 6070000, 5463200, 0, 6427200, 0x56c}, /* 1315 MCS-13 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_200, 7141200, 0, 6744400, 6070000, 0, 7141200, 0x56d}, /* 1316 MCS-14 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 27000, 0, 25500, 23000, 0, 27000, 0x50e}, /* 1317 MCS-15 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 54000, 0, 51000, 45900, 54000, 54000, 0x50f}, /* 1318 MCS-00 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 108100, 0, 102100, 91900, 0, 108100, 0x500}, /* 1319 MCS-01 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 216200, 0, 204200, 183800, 0, 216200, 0x501}, /* 1320 MCS-02 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 324300, 0, 306300, 275600, 0, 324300, 0x502}, /* 1321 MCS-03 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 432400, 0, 408300, 367500, 0, 432400, 0x503}, /* 1322 MCS-04 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 648500, 0, 612500, 551300, 0, 648500, 0x504}, /* 1323 MCS-05 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 864700, 0, 816700, 735000, 0, 864700, 0x505}, /* 1324 MCS-06 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 972800, 0, 918800, 826900, 0, 972800, 0x506}, /* 1325 MCS-07 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 1080900, 0, 1020800, 918800, 0, 1080900, 0x507}, /* 1326 MCS-08 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 1297100, 0, 1225000, 1102500, 0, 1297100, 0x508}, /* 1327 MCS-09 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 1441200, 0, 1361100, 1225000, 0, 1441200, 0x509}, /* 1328 MCS-10 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 1621300, 0, 1531300, 1378100, 0, 1621300, 0x50a}, /* 1329 MCS-11 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 1801500, 0, 1701400, 1531300, 0, 1801500, 0x50b}, /* 1330 MCS-12 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 1945600, 0, 1837500, 1653800, 0, 1945600, 0x50c}, /* 1331 MCS-13 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 2161800, 0, 2041700, 1837500, 0, 2161800, 0x50d}, /* when number of spatial streams > 1 */ /* 1332 MCS-14 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 54000, 0, 51000, 46000, 0, 54000, 0x52e}, /* 1333 MCS-15 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 108000, 0, 102000, 91800, 108000, 108000, 0x52f}, /* 1334 MCS-00 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 216200, 0, 204200, 183800, 0, 216200, 0x520}, /* 1335 MCS-01 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 432400, 0, 408400, 367600, 0, 432400, 0x521}, /* 1336 MCS-02 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 648600, 0, 612600, 551200, 0, 648600, 0x522}, /* 1337 MCS-03 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 864800, 0, 816600, 735000, 0, 864800, 0x523}, /* 1338 MCS-04 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 1297000, 0, 1225000, 1102600, 0, 1297000, 0x524}, /* 1339 MCS-05 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 1729400, 0, 1633400, 1470000, 0, 1729400, 0x525}, /* 1340 MCS-06 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 1945600, 0, 1837600, 1653800, 0, 1945600, 0x526}, /* 1341 MCS-07 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 2161800, 0, 2041600, 1837600, 0, 2161800, 0x527}, /* 1342 MCS-08 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 2594200, 0, 2450000, 2205000, 0, 2594200, 0x528}, /* 1343 MCS-09 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 2882400, 0, 2722200, 2450000, 0, 2882400, 0x529}, /* 1344 MCS-10 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 3242600, 0, 3062600, 2756200, 0, 3242600, 0x52a}, /* 1345 MCS-11 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 3603000, 0, 3402800, 3062600, 0, 3603000, 0x52b}, /* 1346 MCS-12 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 3891200, 0, 3675000, 3307600, 0, 3891200, 0x52c}, /* 1347 MCS-13 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 4323600, 0, 4083400, 3675000, 0, 4323600, 0x52d}, /* when number of spatial streams > 2 */ /* 1348 MCS-14 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 81000, 0, 76500, 69000, 0, 81000, 0x54e}, /* 1349 MCS-15 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 162000, 0, 153000, 137700, 162000, 162000, 0x54f}, /* 1350 MCS-00 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 324300, 0, 306300, 275700, 0, 324300, 0x540}, /* 1351 MCS-01 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 648600, 0, 612600, 551400, 0, 648600, 0x541}, /* 1352 MCS-02 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 972900, 0, 918900, 826800, 0, 972900, 0x542}, /* 1353 MCS-03 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 1297200, 0, 1224900, 1102500, 0, 1297200, 0x543}, /* 1354 MCS-04 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 1945500, 0, 1837500, 1653899, 0, 1945500, 0x544}, /* 1355 MCS-05 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 2594100, 0, 2450100, 2205000, 0, 2594100, 0x545}, /* 1356 MCS-06 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 2918400, 0, 2756400, 2480700, 0, 2918400, 0x546}, /* 1357 MCS-07 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 3242700, 0, 3062400, 2756400, 0, 3242700, 0x547}, /* 1358 MCS-08 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 3891299, 0, 3675000, 3307500, 0, 3891299, 0x548}, /* 1359 MCS-09 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 4323600, 0, 4083299, 3675000, 0, 4323600, 0x549}, /* 1360 MCS-10 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 4863900, 0, 4593900, 4134299, 0, 4863900, 0x54a}, /* 1361 MCS-11 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 5404500, 0, 5104200, 4593900, 0, 5404500, 0x54b}, /* 1362 MCS-12 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 5836800, 0, 5512500, 4961400, 0, 5836800, 0x54c}, /* 1363 MCS-13 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 6485400, 0, 6125100, 5512500, 0, 6485400, 0x54d}, /* when number of spatial streams > 3 */ /* 1364 MCS-14 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 108000, 0, 102000, 92000, 0, 108000, 0x56e}, /* 1365 MCS-15 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 216000, 0, 204000, 183600, 216000, 216000, 0x56f}, /* 1366 MCS-00 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 432400, 0, 408400, 367600, 0, 432400, 0x560}, /* 1367 MCS-01 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 864800, 0, 816800, 735200, 0, 864800, 0x561}, /* 1368 MCS-02 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 1297200, 0, 1225200, 1102400, 0, 1297200, 0x562}, /* 1369 MCS-03 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 1729600, 0, 1633200, 1470000, 0, 1729600, 0x563}, /* 1370 MCS-04 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 2594000, 0, 2450000, 2205200, 0, 2594000, 0x564}, /* 1371 MCS-05 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 3458800, 0, 3266800, 2940000, 0, 3458800, 0x565}, /* 1372 MCS-06 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 3891200, 0, 3675200, 3307600, 0, 3891200, 0x566}, /* 1373 MCS-07 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 4323600, 0, 4083200, 3675200, 0, 4323600, 0x567}, /* 1374 MCS-08 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 5188400, 0, 4900000, 4410000, 0, 5188400, 0x568}, /* 1375 MCS-09 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 5764800, 0, 5444400, 4900000, 0, 5764800, 0x569}, /* 1376 MCS-10 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 6485200, 0, 6125200, 5512400, 0, 6485200, 0x56a}, /* 1377 MCS-11 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 7206000, 0, 6805600, 6125200, 0, 7206000, 0x56b}, /* 1378 MCS-12 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 7782400, 0, 7350000, 6615200, 0, 7782400, 0x56c}, /* 1379 MCS-13 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_240, 8647200, 0, 8166800, 7350000, 0, 8647200, 0x56d}, /* 1380 MCS-14 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 31300, 0, 29600, 26600, 0, 31300, 0x50e}, /* 1381 MCS-15 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 62600, 0, 59200, 53300, 62600, 62600, 0x50f}, /* 1382 MCS-00 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 125300, 0, 118300, 106500, 0, 125300, 0x500}, /* 1383 MCS-01 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 250600, 0, 236700, 213000, 0, 250600, 0x501}, /* 1384 MCS-02 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 375900, 0, 355000, 319500, 0, 375900, 0x502}, /* 1385 MCS-03 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 501200, 0, 473300, 426000, 0, 501200, 0x503}, /* 1386 MCS-04 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 751800, 0, 710000, 639000, 0, 751800, 0x504}, /* 1387 MCS-05 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 1002400, 0, 946700, 852000, 0, 1002400, 0x505}, /* 1388 MCS-06 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 1127600, 0, 1065000, 958500, 0, 1127600, 0x506}, /* 1389 MCS-07 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 1252900, 0, 1183300, 1065000, 0, 1252900, 0x507}, /* 1390 MCS-08 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 1503500, 0, 1420000, 1278000, 0, 1503500, 0x508}, /* 1391 MCS-09 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 1670600, 0, 1577800, 1420000, 0, 1670600, 0x509}, /* 1392 MCS-10 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 1879400, 0, 1775000, 1597500, 0, 1879400, 0x50a}, /* 1393 MCS-11 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 2088199, 0, 1972200, 1775000, 0, 2088199, 0x50b}, /* 1394 MCS-12 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 2255300, 0, 2130000, 1917000, 0, 2255300, 0x50c}, /* 1395 MCS-13 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 2505900, 0, 2366700, 2130000, 0, 2505900, 0x50d}, /* when number of spatial streams > 1 */ /* 1396 MCS-14 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 62600, 0, 59200, 53200, 0, 62600, 0x52e}, /* 1397 MCS-15 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 125200, 0, 118400, 106600, 125200, 125200, 0x52f}, /* 1398 MCS-00 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 250600, 0, 236600, 213000, 0, 250600, 0x520}, /* 1399 MCS-01 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 501200, 0, 473400, 426000, 0, 501200, 0x521}, /* 1400 MCS-02 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 751800, 0, 710000, 639000, 0, 751800, 0x522}, /* 1401 MCS-03 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 1002400, 0, 946600, 852000, 0, 1002400, 0x523}, /* 1402 MCS-04 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 1503600, 0, 1420000, 1278000, 0, 1503600, 0x524}, /* 1403 MCS-05 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 2004800, 0, 1893400, 1704000, 0, 2004800, 0x525}, /* 1404 MCS-06 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 2255200, 0, 2130000, 1917000, 0, 2255200, 0x526}, /* 1405 MCS-07 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 2505800, 0, 2366600, 2130000, 0, 2505800, 0x527}, /* 1406 MCS-08 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 3007000, 0, 2840000, 2556000, 0, 3007000, 0x528}, /* 1407 MCS-09 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 3341200, 0, 3155600, 2840000, 0, 3341200, 0x529}, /* 1408 MCS-10 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 3758800, 0, 3550000, 3195000, 0, 3758800, 0x52a}, /* 1409 MCS-11 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 4176399, 0, 3944400, 3550000, 0, 4176399, 0x52b}, /* 1410 MCS-12 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 4510600, 0, 4260000, 3834000, 0, 4510600, 0x52c}, /* 1411 MCS-13 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 5011800, 0, 4733400, 4260000, 0, 5011800, 0x52d}, /* when number of spatial streams > 2 */ /* 1412 MCS-14 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 93900, 0, 88800, 79800, 0, 93900, 0x54e}, /* 1413 MCS-15 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 187800, 0, 177600, 159900, 187800, 187800, 0x54f}, /* 1414 MCS-00 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 375900, 0, 354900, 319500, 0, 375900, 0x540}, /* 1415 MCS-01 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 751800, 0, 710100, 639000, 0, 751800, 0x541}, /* 1416 MCS-02 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 1127700, 0, 1065000, 958500, 0, 1127700, 0x542}, /* 1417 MCS-03 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 1503600, 0, 1419900, 1278000, 0, 1503600, 0x543}, /* 1418 MCS-04 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 2255400, 0, 2130000, 1917000, 0, 2255400, 0x544}, /* 1419 MCS-05 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 3007200, 0, 2840100, 2556000, 0, 3007200, 0x545}, /* 1420 MCS-06 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 3382799, 0, 3195000, 2875500, 0, 3382799, 0x546}, /* 1421 MCS-07 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 3758700, 0, 3549900, 3195000, 0, 3758700, 0x547}, /* 1422 MCS-08 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 4510500, 0, 4260000, 3834000, 0, 4510500, 0x548}, /* 1423 MCS-09 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 5011800, 0, 4733400, 4260000, 0, 5011800, 0x549}, /* 1424 MCS-10 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 5638200, 0, 5325000, 4792500, 0, 5638200, 0x54a}, /* 1425 MCS-11 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 6264599, 0, 5916600, 5325000, 0, 6264599, 0x54b}, /* 1426 MCS-12 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 6765900, 0, 6390000, 5751000, 0, 6765900, 0x54c}, /* 1427 MCS-13 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 7517700, 0, 7100099, 6390000, 0, 7517700, 0x54d}, /* when number of spatial streams > 3 */ /* 1428 MCS-14 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 125200, 0, 118400, 106400, 0, 125200, 0x56e}, /* 1429 MCS-15 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 250400, 0, 236800, 213200, 250400, 250400, 0x56f}, /* 1430 MCS-00 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 501200, 0, 473200, 426000, 0, 501200, 0x560}, /* 1431 MCS-01 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 1002400, 0, 946800, 852000, 0, 1002400, 0x561}, /* 1432 MCS-02 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 1503600, 0, 1420000, 1278000, 0, 1503600, 0x562}, /* 1433 MCS-03 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 2004800, 0, 1893200, 1704000, 0, 2004800, 0x563}, /* 1434 MCS-04 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 3007200, 0, 2840000, 2556000, 0, 3007200, 0x564}, /* 1435 MCS-05 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 4009600, 0, 3786800, 3408000, 0, 4009600, 0x565}, /* 1436 MCS-06 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 4510400, 0, 4260000, 3834000, 0, 4510400, 0x566}, /* 1437 MCS-07 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 5011600, 0, 4733200, 4260000, 0, 5011600, 0x567}, /* 1438 MCS-08 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 6014000, 0, 5680000, 5112000, 0, 6014000, 0x568}, /* 1439 MCS-09 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 6682400, 0, 6311200, 5680000, 0, 6682400, 0x569}, /* 1440 MCS-10 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 7517600, 0, 7100000, 6390000, 0, 7517600, 0x56a}, /* 1441 MCS-11 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 8352799, 0, 7888800, 7100000, 0, 8352799, 0x56b}, /* 1442 MCS-12 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 9021200, 0, 8520000, 7668000, 0, 9021200, 0x56c}, /* 1443 MCS-13 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_280, 10023600, 0, 9466800, 8520000, 0, 10023600, 0x56d}, /* 1444 MCS-14 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 36000, 0, 34000, 30600, 0, 36000, 0x50e}, /* 1445 MCS-15 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 72100, 0, 68100, 61300, 72100, 72100, 0x50f}, /* 1446 MCS-00 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 144100, 0, 136100, 122500, 0, 144100, 0x500}, /* 1447 MCS-01 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 288200, 0, 272200, 245000, 0, 288200, 0x501}, /* 1448 MCS-02 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 432400, 0, 408300, 367500, 0, 432400, 0x502}, /* 1449 MCS-03 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 576500, 0, 544400, 490000, 0, 576500, 0x503}, /* 1450 MCS-04 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 864700, 0, 816700, 735000, 0, 864700, 0x504}, /* 1451 MCS-05 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 1152900, 0, 1088900, 980000, 0, 1152900, 0x505}, /* 1452 MCS-06 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 1297100, 0, 1225000, 1102500, 0, 1297100, 0x506}, /* 1453 MCS-07 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 1441200, 0, 1361100, 1225000, 0, 1441200, 0x507}, /* 1454 MCS-08 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 1729400, 0, 1633300, 1470000, 0, 1729400, 0x508}, /* 1455 MCS-09 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 1921600, 0, 1814800, 1633300, 0, 1921600, 0x509}, /* 1456 MCS-10 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 2161800, 0, 2041700, 1837500, 0, 2161800, 0x50a}, /* 1457 MCS-11 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 2402000, 0, 2268500, 2041700, 0, 2402000, 0x50b}, /* 1458 MCS-12 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 2594100, 0, 2450000, 2205000, 0, 2594100, 0x50c}, /* 1459 MCS-13 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 2882400, 0, 2722200, 2450000, 0, 2882400, 0x50d}, /* when number of spatial streams > 1 */ /* 1460 MCS-14 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 72000, 0, 68000, 61200, 0, 72000, 0x52e}, /* 1461 MCS-15 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 144200, 0, 136200, 122600, 144200, 144200, 0x52f}, /* 1462 MCS-00 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 288200, 0, 272200, 245000, 0, 288200, 0x520}, /* 1463 MCS-01 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 576400, 0, 544400, 490000, 0, 576400, 0x521}, /* 1464 MCS-02 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 864800, 0, 816600, 735000, 0, 864800, 0x522}, /* 1465 MCS-03 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 1153000, 0, 1088800, 980000, 0, 1153000, 0x523}, /* 1466 MCS-04 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 1729400, 0, 1633400, 1470000, 0, 1729400, 0x524}, /* 1467 MCS-05 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 2305800, 0, 2177800, 1960000, 0, 2305800, 0x525}, /* 1468 MCS-06 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 2594200, 0, 2450000, 2205000, 0, 2594200, 0x526}, /* 1469 MCS-07 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 2882400, 0, 2722200, 2450000, 0, 2882400, 0x527}, /* 1470 MCS-08 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 3458800, 0, 3266600, 2940000, 0, 3458800, 0x528}, /* 1471 MCS-09 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 3843200, 0, 3629600, 3266600, 0, 3843200, 0x529}, /* 1472 MCS-10 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 4323600, 0, 4083400, 3675000, 0, 4323600, 0x52a}, /* 1473 MCS-11 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 4804000, 0, 4537000, 4083400, 0, 4804000, 0x52b}, /* 1474 MCS-12 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 5188200, 0, 4900000, 4410000, 0, 5188200, 0x52c}, /* 1475 MCS-13 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 5764800, 0, 5444400, 4900000, 0, 5764800, 0x52d}, /* when number of spatial streams > 2 */ /* 1476 MCS-14 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 108000, 0, 102000, 91800, 0, 108000, 0x54e}, /* 1477 MCS-15 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 216299, 0, 204299, 183900, 216299, 216299, 0x54f}, /* 1478 MCS-00 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 432300, 0, 408300, 367500, 0, 432300, 0x540}, /* 1479 MCS-01 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 864600, 0, 816600, 735000, 0, 864600, 0x541}, /* 1480 MCS-02 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 1297200, 0, 1224900, 1102500, 0, 1297200, 0x542}, /* 1481 MCS-03 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 1729500, 0, 1633200, 1470000, 0, 1729500, 0x543}, /* 1482 MCS-04 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 2594100, 0, 2450100, 2205000, 0, 2594100, 0x544}, /* 1483 MCS-05 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 3458700, 0, 3266700, 2940000, 0, 3458700, 0x545}, /* 1484 MCS-06 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 3891299, 0, 3675000, 3307500, 0, 3891299, 0x546}, /* 1485 MCS-07 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 4323600, 0, 4083299, 3675000, 0, 4323600, 0x547}, /* 1486 MCS-08 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 5188200, 0, 4899900, 4410000, 0, 5188200, 0x548}, /* 1487 MCS-09 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 5764800, 0, 5444400, 4899900, 0, 5764800, 0x549}, /* 1488 MCS-10 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 6485400, 0, 6125100, 5512500, 0, 6485400, 0x54a}, /* 1489 MCS-11 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 7206000, 0, 6805500, 6125100, 0, 7206000, 0x54b}, /* 1490 MCS-12 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 7782300, 0, 7350000, 6615000, 0, 7782300, 0x54c}, /* 1491 MCS-13 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 8647200, 0, 8166599, 7350000, 0, 8647200, 0x54d}, /* when number of spatial streams > 3 */ /* 1492 MCS-14 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 144000, 0, 136000, 122400, 0, 144000, 0x56e}, /* 1493 MCS-15 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 288400, 0, 272400, 245200, 288400, 288400, 0x56f}, /* 1494 MCS-00 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 576400, 0, 544400, 490000, 0, 576400, 0x560}, /* 1495 MCS-01 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 1152800, 0, 1088800, 980000, 0, 1152800, 0x561}, /* 1496 MCS-02 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 1729600, 0, 1633200, 1470000, 0, 1729600, 0x562}, /* 1497 MCS-03 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 2306000, 0, 2177600, 1960000, 0, 2306000, 0x563}, /* 1498 MCS-04 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 3458800, 0, 3266800, 2940000, 0, 3458800, 0x564}, /* 1499 MCS-05 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 4611600, 0, 4355600, 3920000, 0, 4611600, 0x565}, /* 1500 MCS-06 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 5188400, 0, 4900000, 4410000, 0, 5188400, 0x566}, /* 1501 MCS-07 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 5764800, 0, 5444400, 4900000, 0, 5764800, 0x567}, /* 1502 MCS-08 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 6917600, 0, 6533200, 5880000, 0, 6917600, 0x568}, /* 1503 MCS-09 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 7686400, 0, 7259200, 6533200, 0, 7686400, 0x569}, /* 1504 MCS-10 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 8647200, 0, 8166800, 7350000, 0, 8647200, 0x56a}, /* 1505 MCS-11 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 9608000, 0, 9074000, 8166800, 0, 9608000, 0x56b}, /* 1506 MCS-12 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 10376400, 0, 9800000, 8820000, 0, 10376400, 0x56c}, /* 1507 MCS-13 */ { EHT320_LDPC_ONLY_MASKS, DP_CMN_MOD_IEEE80211_T_EHT_320, 11529600, 0, 10888800, 9800000, 0, 11529600, 0x56d} #endif /* WLAN_FEATURE_11BE */ }, }; static const uint16_t _rc_idx[DP_CMN_MOD_IEEE80211_T_MAX_PHY] = { CCK_RATE_TABLE_INDEX, OFDM_RATE_TABLE_INDEX, HT_20_RATE_TABLE_INDEX, HT_40_RATE_TABLE_INDEX, VHT_20_RATE_TABLE_INDEX, VHT_40_RATE_TABLE_INDEX, VHT_80_RATE_TABLE_INDEX, VHT_160_RATE_TABLE_INDEX, HE_20_RATE_TABLE_INDEX, HE_40_RATE_TABLE_INDEX, HE_80_RATE_TABLE_INDEX, HE_160_RATE_TABLE_INDEX, #ifdef WLAN_FEATURE_11BE EHT_20_RATE_TABLE_INDEX, EHT_40_RATE_TABLE_INDEX, EHT_60_RATE_TABLE_INDEX, EHT_80_RATE_TABLE_INDEX, EHT_120_RATE_TABLE_INDEX, EHT_140_RATE_TABLE_INDEX, EHT_160_RATE_TABLE_INDEX, EHT_200_RATE_TABLE_INDEX, EHT_240_RATE_TABLE_INDEX, EHT_280_RATE_TABLE_INDEX, EHT_320_RATE_TABLE_INDEX, #endif }; #ifdef WLAN_FEATURE_11BE static inline enum BW_TYPES_FP dp_get_bw_fp_from_full_bw_pmode(uint8_t bw, uint8_t punc_mode) { CMN_DP_ASSERT(punc_mode < PUNCTURED_MODE_CNT); switch (bw) { case CMN_BW_80MHZ: if (punc_mode == PUNCTURED_20MHZ) return BW_60MHZ_P; else return BW_80MHZ_F; case CMN_BW_160MHZ: if (punc_mode == PUNCTURED_40MHZ) return BW_120MHZ_P; else if (punc_mode == PUNCTURED_20MHZ) return BW_140MHZ_P; else return BW_160MHZ_F; case CMN_BW_320MHZ: if (punc_mode == PUNCTURED_120MHZ) return BW_200MHZ_P; else if (punc_mode == PUNCTURED_80MHZ) return BW_240MHZ_P; else if (punc_mode == PUNCTURED_40MHZ) return BW_280MHZ_P; else return BW_320MHZ_F; default: return (enum BW_TYPES_FP)bw; } } #endif /* * dp_getmodulation - return rate modulation given code spatial width * @pream_type - preamble type * @width - bandwidth * @punc_mode - punctered bandwidth * * return - modulation type */ #ifdef WLAN_FEATURE_11BE enum DP_CMN_MODULATION_TYPE dp_getmodulation(uint16_t pream_type, uint8_t width, uint8_t punc_mode) { static const enum DP_CMN_MODULATION_TYPE _vht_bw_mod[] = { DP_CMN_MOD_IEEE80211_T_VHT_20, DP_CMN_MOD_IEEE80211_T_VHT_40, DP_CMN_MOD_IEEE80211_T_VHT_80, DP_CMN_MOD_IEEE80211_T_VHT_160 }; static const enum DP_CMN_MODULATION_TYPE _he_bw_mod[] = { DP_CMN_MOD_IEEE80211_T_HE_20, DP_CMN_MOD_IEEE80211_T_HE_40, DP_CMN_MOD_IEEE80211_T_HE_80, DP_CMN_MOD_IEEE80211_T_HE_160 }; static const enum DP_CMN_MODULATION_TYPE _eht_bw_mod[] = { DP_CMN_MOD_IEEE80211_T_EHT_20, DP_CMN_MOD_IEEE80211_T_EHT_40, DP_CMN_MOD_IEEE80211_T_EHT_60, DP_CMN_MOD_IEEE80211_T_EHT_80, DP_CMN_MOD_IEEE80211_T_EHT_120, DP_CMN_MOD_IEEE80211_T_EHT_140, DP_CMN_MOD_IEEE80211_T_EHT_160, DP_CMN_MOD_IEEE80211_T_EHT_200, DP_CMN_MOD_IEEE80211_T_EHT_240, DP_CMN_MOD_IEEE80211_T_EHT_280, DP_CMN_MOD_IEEE80211_T_EHT_320, }; enum DP_CMN_MODULATION_TYPE modulation; CMN_DP_ASSERT(width < CMN_BW_CNT); switch (pream_type) { case DP_CMN_RATECODE_PREAM_HT: if (width) modulation = DP_CMN_MOD_IEEE80211_T_HT_40; else modulation = DP_CMN_MOD_IEEE80211_T_HT_20; break; case DP_CMN_RATECODE_PREAM_CCK: modulation = DP_CMN_MOD_IEEE80211_T_CCK; break; case DP_CMN_RATECODE_PREAM_VHT: modulation = _vht_bw_mod[width]; break; case DP_CMN_RATECODE_PREAM_HE: modulation = _he_bw_mod[width]; break; case DP_CMN_RATECODE_PREAM_EHT: { enum BW_TYPES_FP bw_fp = dp_get_bw_fp_from_full_bw_pmode(width, punc_mode); modulation = _eht_bw_mod[bw_fp]; break; } default: modulation = DP_CMN_MOD_IEEE80211_T_OFDM; } return modulation; } #else enum DP_CMN_MODULATION_TYPE dp_getmodulation(uint16_t pream_type, uint8_t width, uint8_t punc_mode) { static const enum DP_CMN_MODULATION_TYPE _vht_bw_mod[] = { DP_CMN_MOD_IEEE80211_T_VHT_20, DP_CMN_MOD_IEEE80211_T_VHT_40, DP_CMN_MOD_IEEE80211_T_VHT_80, DP_CMN_MOD_IEEE80211_T_VHT_160 }; static const enum DP_CMN_MODULATION_TYPE _he_bw_mod[] = { DP_CMN_MOD_IEEE80211_T_HE_20, DP_CMN_MOD_IEEE80211_T_HE_40, DP_CMN_MOD_IEEE80211_T_HE_80, DP_CMN_MOD_IEEE80211_T_HE_160 }; enum DP_CMN_MODULATION_TYPE modulation; CMN_DP_ASSERT(width < CMN_BW_CNT); switch (pream_type) { case DP_CMN_RATECODE_PREAM_HT: if (width) modulation = DP_CMN_MOD_IEEE80211_T_HT_40; else modulation = DP_CMN_MOD_IEEE80211_T_HT_20; break; case DP_CMN_RATECODE_PREAM_CCK: modulation = DP_CMN_MOD_IEEE80211_T_CCK; break; case DP_CMN_RATECODE_PREAM_VHT: modulation = _vht_bw_mod[width]; break; case DP_CMN_RATECODE_PREAM_HE: modulation = _he_bw_mod[width]; break; default: modulation = DP_CMN_MOD_IEEE80211_T_OFDM; } return modulation; } #endif /* WLAN_FEATURE_11BE */ /* dp_getrateindex - calculate ratekbps * @mcs - MCS index * @nss - NSS 1...8 * preamble - preamble * @bw - Transmission Bandwidth * @rix: rate index to be populated * @ratecode: ratecode * * return - rate in kbps */ #ifdef WLAN_FEATURE_11BE uint32_t dp_getrateindex(uint32_t gi, uint16_t mcs, uint8_t nss, uint8_t preamble, uint8_t bw, uint8_t punc_bw, uint32_t *rix, uint16_t *ratecode) { uint32_t ratekbps = 0, res = RT_INVALID_INDEX; /* represents failure */ uint16_t rc; enum DP_CMN_MODULATION_TYPE mod; /* For error case, where idx exceeds boundary limit */ *ratecode = 0; mod = dp_getmodulation(preamble, bw, punc_bw); rc = mcs; /* get the base of corresponding rate table entry */ res = _rc_idx[mod]; switch (preamble) { case DP_CMN_RATECODE_PREAM_EHT: res += ((rc + 2) % NUM_EHT_MCS) + nss * NUM_EHT_MCS; break; case DP_CMN_RATECODE_PREAM_HE: res += rc + nss * NUM_HE_MCS; break; case DP_CMN_RATECODE_PREAM_VHT: res += rc + nss * NUM_VHT_MCS; break; case DP_CMN_RATECODE_PREAM_HT: res += rc + nss * NUM_HT_MCS; break; case DP_CMN_RATECODE_PREAM_CCK: rc &= ~HW_RATECODE_CCK_SHORT_PREAM_MASK; res += rc; break; case DP_CMN_RATECODE_PREAM_OFDM: res += rc; break; default: break; } if (res >= DP_RATE_TABLE_SIZE) goto done; if (!gi) { ratekbps = dp_11abgnratetable.info[res].userratekbps; } else { switch (gi) { case CDP_SGI_0_4_US: ratekbps = dp_11abgnratetable.info[res].ratekbpssgi; break; case CDP_SGI_1_6_US: ratekbps = dp_11abgnratetable.info[res].ratekbpsdgi; break; case CDP_SGI_3_2_US: ratekbps = dp_11abgnratetable.info[res].ratekbpsqgi; break; } } *ratecode = dp_11abgnratetable.info[res].ratecode; done: *rix = res; return ratekbps; } #else uint32_t dp_getrateindex(uint32_t gi, uint16_t mcs, uint8_t nss, uint8_t preamble, uint8_t bw, uint8_t punc_bw, uint32_t *rix, uint16_t *ratecode) { uint32_t ratekbps = 0, res = RT_INVALID_INDEX; /* represents failure */ uint16_t rc; enum DP_CMN_MODULATION_TYPE mod; /* For error case, where idx exceeds boundary limit */ *ratecode = 0; mod = dp_getmodulation(preamble, bw, punc_bw); rc = mcs; /* get the base of corresponding rate table entry */ res = _rc_idx[mod]; switch (preamble) { case DP_CMN_RATECODE_PREAM_HE: res += rc + nss * NUM_HE_MCS; break; case DP_CMN_RATECODE_PREAM_VHT: res += rc + nss * NUM_VHT_MCS; break; case DP_CMN_RATECODE_PREAM_HT: res += rc + nss * NUM_HT_MCS; break; case DP_CMN_RATECODE_PREAM_CCK: rc &= ~HW_RATECODE_CCK_SHORT_PREAM_MASK; res += rc; break; case DP_CMN_RATECODE_PREAM_OFDM: res += rc; break; default: break; } if (res >= DP_RATE_TABLE_SIZE) goto done; if (!gi) { ratekbps = dp_11abgnratetable.info[res].userratekbps; } else { switch (gi) { case CDP_SGI_0_4_US: ratekbps = dp_11abgnratetable.info[res].ratekbpssgi; break; case CDP_SGI_1_6_US: ratekbps = dp_11abgnratetable.info[res].ratekbpsdgi; break; case CDP_SGI_3_2_US: ratekbps = dp_11abgnratetable.info[res].ratekbpsqgi; break; } } *ratecode = dp_11abgnratetable.info[res].ratecode; done: *rix = res; return ratekbps; } #endif qdf_export_symbol(dp_getrateindex); /* dp_rate_idx_to_kbps - get rate kbps from index * @rate_idx - rate index * @gintval - guard interval * * return - rate index in kbps with help of ratetable */ int dp_rate_idx_to_kbps(uint8_t rate_idx, uint8_t gintval) { if (rate_idx >= DP_RATE_TABLE_SIZE) return 0; if (!gintval) return RT_GET_RAW_KBPS(&dp_11abgnratetable, rate_idx); else return RT_GET_SGI_KBPS(&dp_11abgnratetable, rate_idx); return 0; } qdf_export_symbol(dp_rate_idx_to_kbps); /* dp_get_start_index - get start index as per bw, mode and nss * @ch_width - channel bandwidth * @mode - operating mode * @nss - no. of spatial streams * * return - start index */ static int dp_get_start_index(int ch_width, int mode, int nss) { if (mode == HW_RATECODE_PREAM_HT) { if (nss >= NUM_HT_SPATIAL_STREAM) nss = NUM_HT_SPATIAL_STREAM; if (ch_width == CMN_BW_20MHZ) return HT_20_RATE_TABLE_INDEX + (nss - 1) * NUM_HT_MCS; else if (ch_width == CMN_BW_40MHZ) return HT_40_RATE_TABLE_INDEX + (nss - 1) * NUM_HT_MCS; } else if (mode == HW_RATECODE_PREAM_VHT) { if (nss >= NUM_SPATIAL_STREAMS) nss = NUM_SPATIAL_STREAMS; if (ch_width == CMN_BW_20MHZ) { return VHT_20_RATE_TABLE_INDEX + (nss - 1) * NUM_VHT_MCS; } else if (ch_width == CMN_BW_40MHZ) { return VHT_40_RATE_TABLE_INDEX + (nss - 1) * NUM_VHT_MCS; } else if (ch_width == CMN_BW_80MHZ) { return VHT_80_RATE_TABLE_INDEX + (nss - 1) * NUM_VHT_MCS; } else if ((ch_width == CMN_BW_160MHZ) || (ch_width == CMN_BW_80_80MHZ)) { if (nss >= MAX_SPATIAL_STREAMS_SUPPORTED_AT_160MHZ) nss = MAX_SPATIAL_STREAMS_SUPPORTED_AT_160MHZ; return VHT_160_RATE_TABLE_INDEX + (nss - 1) * NUM_VHT_MCS; } } else if (mode == HW_RATECODE_PREAM_HE) { if (nss >= NUM_SPATIAL_STREAMS) nss = NUM_SPATIAL_STREAMS; if (ch_width == CMN_BW_20MHZ) { return HE_20_RATE_TABLE_INDEX + (nss - 1) * NUM_HE_MCS; } else if (ch_width == CMN_BW_40MHZ) { return HE_40_RATE_TABLE_INDEX + (nss - 1) * NUM_HE_MCS; } else if (ch_width == CMN_BW_80MHZ) { return HE_80_RATE_TABLE_INDEX + (nss - 1) * NUM_HE_MCS; } else if ((ch_width == CMN_BW_160MHZ) || (ch_width == CMN_BW_80_80MHZ)) { if (nss >= MAX_SPATIAL_STREAMS_SUPPORTED_AT_160MHZ) nss = MAX_SPATIAL_STREAMS_SUPPORTED_AT_160MHZ; return HE_160_RATE_TABLE_INDEX + (nss - 1) * NUM_HE_MCS; } } return -1; } /* dp_get_end_index - get end index as per bw, mode and nss * @ch_width - channel bandwidth * @mode - operating mode * @nss - no. of spatial streams * * return - end index */ static int dp_get_end_index(int ch_width, int mode, int nss) { if (mode == HW_RATECODE_PREAM_HT) { if (nss >= NUM_HT_SPATIAL_STREAM) nss = NUM_HT_SPATIAL_STREAM; if (ch_width == CMN_BW_20MHZ) return HT_20_RATE_TABLE_INDEX + nss * NUM_HT_MCS - 1; else if (ch_width == CMN_BW_40MHZ) return HT_40_RATE_TABLE_INDEX + nss * NUM_HT_MCS - 1; } else if (mode == HW_RATECODE_PREAM_VHT) { if (nss >= NUM_SPATIAL_STREAMS) nss = NUM_SPATIAL_STREAMS; if (ch_width == CMN_BW_20MHZ) { return VHT_20_RATE_TABLE_INDEX + nss * NUM_VHT_MCS - 1; } else if (ch_width == CMN_BW_40MHZ) { return VHT_40_RATE_TABLE_INDEX + nss * NUM_VHT_MCS - 1; } else if (ch_width == CMN_BW_80MHZ) { return VHT_80_RATE_TABLE_INDEX + nss * NUM_VHT_MCS - 1; } else if ((ch_width == CMN_BW_160MHZ) || (ch_width == CMN_BW_80_80MHZ)) { if (nss >= MAX_SPATIAL_STREAMS_SUPPORTED_AT_160MHZ) nss = MAX_SPATIAL_STREAMS_SUPPORTED_AT_160MHZ; return VHT_160_RATE_TABLE_INDEX + nss * NUM_VHT_MCS - 1; } } else if (mode == HW_RATECODE_PREAM_HE) { if (nss >= NUM_SPATIAL_STREAMS) nss = NUM_SPATIAL_STREAMS; if (ch_width == CMN_BW_20MHZ) { return HE_20_RATE_TABLE_INDEX + nss * NUM_HE_MCS - 1; } else if (ch_width == CMN_BW_40MHZ) { return HE_40_RATE_TABLE_INDEX + nss * NUM_HE_MCS - 1; } else if (ch_width == CMN_BW_80MHZ) { return HE_80_RATE_TABLE_INDEX + nss * NUM_HE_MCS - 1; } else if ((ch_width == CMN_BW_160MHZ) || (ch_width == CMN_BW_80_80MHZ)) { if (nss >= MAX_SPATIAL_STREAMS_SUPPORTED_AT_160MHZ) nss = MAX_SPATIAL_STREAMS_SUPPORTED_AT_160MHZ; return HE_160_RATE_TABLE_INDEX + nss * NUM_HE_MCS - 1; } } return -1; } /* __dp_get_supported_rates - get supported rates as per start and end index * @shortgi - gi setting * @start_index - starting index * @end_index - ending index * @rates - array to copy the rates into * * return - no. of rate entries copied */ static int __dp_get_supported_rates(int shortgi, int start_index, int end_index, int **rates) { int i, j = 1; int *ratelist = *rates; /* Check if the index calculation is out of array bounds */ if (start_index < 0 || start_index >= DP_RATE_TABLE_SIZE || end_index < 0 || end_index >= DP_RATE_TABLE_SIZE) return 0; if (!shortgi) { for (i = start_index; i <= end_index; i++) { if (dp_11abgnratetable.info[i].validmodemask) { ratelist[j] = dp_11abgnratetable.info[i]. ratekbps; j++; } } } else { switch (shortgi) { case CDP_SGI_0_4_US: for (i = start_index; i <= end_index; i++) { if (dp_11abgnratetable.info[i].validmodemask) { ratelist[j] = dp_11abgnratetable. info[i].ratekbpssgi; j++; } } break; case CDP_SGI_1_6_US: for (i = start_index; i <= end_index; i++) { if (dp_11abgnratetable.info[i].validmodemask) { ratelist[j] = dp_11abgnratetable. info[i].ratekbpsdgi; j++; } } break; case CDP_SGI_3_2_US: for (i = start_index; i <= end_index; i++) { if (dp_11abgnratetable.info[i].validmodemask) { ratelist[j] = dp_11abgnratetable. info[i].ratekbpsqgi; j++; } } break; } } ratelist[0] = j; return j; } #if ALL_POSSIBLE_RATES_SUPPORTED /* dp_get_supported_rates -get all supported rates as per mode and gi setting * @mode - operating mode * @shortgi - gi setting * @rates - array to copy the rate entries into * * return - no. of rate entries copied */ int dp_get_supported_rates(int mode, int shortgi, int **rates) { int start_index = -1, end_index = -1; switch (mode) { /* 11b CCK Rates */ case CMN_IEEE80211_MODE_B: start_index = CCK_RATE_TABLE_INDEX; end_index = CCK_RATE_TABLE_END_INDEX; break; /* 11a OFDM Rates */ case CMN_IEEE80211_MODE_A: start_index = OFDM_RATE_TABLE_INDEX; end_index = OFDMA_RATE_TABLE_END_INDEX; break; /* 11g CCK/OFDM Rates */ case CMN_IEEE80211_MODE_G: start_index = CCK_RATE_TABLE_INDEX; end_index = OFDMA_RATE_TABLE_END_INDEX; break; /* HT rates only */ case CMN_IEEE80211_MODE_NA: case CMN_IEEE80211_MODE_NG: start_index = dp_get_start_index(CMN_BW_20MHZ, HW_RATECODE_PREAM_HT, 1); end_index = dp_get_end_index(CMN_BW_40MHZ, HW_RATECODE_PREAM_HT, NUM_HT_SPATIAL_STREAM); break; /* VHT rates only */ case CMN_IEEE80211_MODE_AC: start_index = dp_get_start_index(CMN_BW_20MHZ, HW_RATECODE_PREAM_VHT, 1); end_index = dp_get_end_index(CMN_BW_160MHZ, HW_RATECODE_PREAM_VHT, MAX_SPATIAL_STREAMS_SUPPORTED_AT_160MHZ); break; /* HE rates only */ case CMN_IEEE80211_MODE_AXA: case CMN_IEEE80211_MODE_AXG: start_index = dp_get_start_index(CMN_BW_20MHZ, HW_RATECODE_PREAM_HE, 1); end_index = dp_get_end_index(CMN_BW_160MHZ, HW_RATECODE_PREAM_HE, MAX_SPATIAL_STREAMS_SUPPORTED_AT_160MHZ); break; } return __dp_get_supported_rates(shortgi, start_index, end_index, rates); } #else /* dp_get_supported_rates - get all supported rates as per mode, bw, gi and nss * @mode - operating mode * @shortgi - gi setting * @nss - no. of spatial streams * @ch_width - channel bandwidth * @rates - array to copy the rates into * * return - no. of rate entries copied */ int dp_get_supported_rates(int mode, int shortgi, int nss, int ch_width, int **rates) { int start_index = -1, end_index = -1; switch (mode) { /* 11b CCK Rates */ case CMN_IEEE80211_MODE_B: start_index = CCK_RATE_TABLE_INDEX; end_index = CCK_RATE_TABLE_END_INDEX; break; /* 11a OFDM Rates */ case CMN_IEEE80211_MODE_A: start_index = OFDM_RATE_TABLE_INDEX; end_index = OFDMA_RATE_TABLE_END_INDEX; break; /* 11g CCK/OFDM Rates */ case CMN_IEEE80211_MODE_G: start_index = CCK_RATE_TABLE_INDEX; end_index = OFDMA_RATE_TABLE_END_INDEX; break; /* HT rates only */ case CMN_IEEE80211_MODE_NA: case CMN_IEEE80211_MODE_NG: start_index = dp_get_start_index(ch_width, HW_RATECODE_PREAM_HT, nss); end_index = dp_get_end_index(ch_width, HW_RATECODE_PREAM_HT, nss); break; /* VHT rates only */ case CMN_IEEE80211_MODE_AC: start_index = dp_get_start_index(ch_width, HW_RATECODE_PREAM_VHT, nss); end_index = dp_get_end_index(ch_width, HW_RATECODE_PREAM_VHT, nss); break; /* HE rates only */ case CMN_IEEE80211_MODE_AXA: case CMN_IEEE80211_MODE_AXG: start_index = dp_get_start_index(ch_width, HW_RATECODE_PREAM_HE, nss); end_index = dp_get_end_index(ch_width, HW_RATECODE_PREAM_HE, nss); break; } return __dp_get_supported_rates(shortgi, start_index, end_index, rates); } #endif qdf_export_symbol(dp_get_supported_rates); #if ALL_POSSIBLE_RATES_SUPPORTED /* dp_get_kbps_to_mcs - Identify the mcs value based on the rate * @kbps_rate - rate in kbps * @shortgi - gi setting * @htflag - The type of standard configured * * return - MCS value identified with help of the rate */ int dp_get_kbps_to_mcs(int kbps_rate, int shortgi, int htflag) { int i = 0, nss = 0, num_mcs = NUM_LEGACY_MCS; int start_index = -1, end_index = -1; int ratekbpssgi = 0, ratekbps = 0; /* Convert kbps to mbps for comparison */ kbps_rate *= 1000; switch (htflag) { /* 11b CCK Rates */ case DP_11B_CCK_RATE: fallthrough; /* 11a OFDM Rates */ case DP_11A_OFDM_RATE: fallthrough; /* 11g CCK/OFDM Rates */ case DP_11G_CCK_OFDM_RATE: /* These rates dont have corresponding MCS, hence return 0 */ return 0; /* HT rates only */ case DP_HT_RATE: nss = NUM_HT_SPATIAL_STREAM; start_index = dp_get_start_index(CMN_BW_20MHZ, HW_RATECODE_PREAM_HT, 1); end_index = dp_get_end_index(CMN_BW_40MHZ, HW_RATECODE_PREAM_HT, nss); num_mcs = NUM_HT_MCS; break; /* VHT rates only */ case DP_VHT_RATE: nss = MAX_SPATIAL_STREAMS_SUPPORTED_AT_160MHZ; start_index = dp_get_start_index(CMN_BW_20MHZ, HW_RATECODE_PREAM_VHT, 1); end_index = dp_get_end_index(CMN_BW_160MHZ, HW_RATECODE_PREAM_VHT, nss); num_mcs = NUM_VHT_MCS; break; /* HE rates only */ case DP_HE_RATE: nss = MAX_SPATIAL_STREAMS_SUPPORTED_AT_160MHZ; start_index = dp_get_start_index(CMN_BW_20MHZ, HW_RATECODE_PREAM_HE, 1); end_index = dp_get_end_index(CMN_BW_160MHZ, HW_RATECODE_PREAM_HE, nss); num_mcs = NUM_HE_MCS; break; } /* Check if the index calculation is out of array bounds */ if (start_index < 0 || start_index >= DP_RATE_TABLE_SIZE || end_index < 0 || end_index >= DP_RATE_TABLE_SIZE) { return 0; } if (shortgi) { i = OFDM_RATE_TABLE_INDEX; for ( ; i >= CCK_RATE_TABLE_INDEX; i--) { if (dp_11abgnratetable.info[i].validmodemask != HE_INVALID_RATES_MASK) { ratekbpssgi = RATE_ROUNDOUT(DP_RATEKBPS_SGI(i)); if (ratekbpssgi == kbps_rate) return (i - start_index) % num_mcs; } } /* * The below loop is to find the MCS value for the rate * passed which will be between: * For HT: 7200 and 600000 kbps * For VHT: 7200 and 4333300 kbps * For HE: 8900 and 5939400 kbps */ for (i = end_index; i >= start_index; i--) { if (dp_11abgnratetable.info[i].validmodemask != HE_INVALID_RATES_MASK) { ratekbpssgi = RATE_ROUNDOUT(DP_RATEKBPS_SGI(i)); if (ratekbpssgi == kbps_rate) return (i - start_index) % num_mcs; } } /* * The below loop is to find the MCS value for the rate * passed which will be between: * For HT: 6500 and 540000 kbps * For VHT: 6500 and 3900000 kbps * For HE: 8600 and 5764700 kbps */ for (i = end_index; i >= start_index; i--) { if (dp_11abgnratetable.info[i].validmodemask != HE_INVALID_RATES_MASK) { ratekbps = RATE_ROUNDOUT(DP_RATEKBPS(i)); if (ratekbps == kbps_rate) return (i - start_index) % num_mcs; } } } else { i = OFDM_RATE_TABLE_INDEX; for ( ; i >= CCK_RATE_TABLE_INDEX; i--) { if (dp_11abgnratetable.info[i].validmodemask != HE_INVALID_RATES_MASK) { ratekbps = RATE_ROUNDOUT(DP_RATEKBPS(i)); if (ratekbps == kbps_rate) return (i - start_index) % num_mcs; } } /* * The below loop is to find the MCS value for the rate * passed which will be between: * For HT: 6500 and 540000 kbps * For VHT: 6500 and 3900000 kbps * For HE: 8600 and 5764700 kbps */ for (i = end_index; i >= start_index; i--) { if (dp_11abgnratetable.info[i].validmodemask != HE_INVALID_RATES_MASK) { ratekbps = RATE_ROUNDOUT(DP_RATEKBPS(i)); if (ratekbps == kbps_rate) return (i - start_index) % num_mcs; } } } return INVALID_RATE_ERR; } #else /* dp_get_kbps_to_mcs - Identify the mcs value based on the rate * @kbps_rate - rate in kbps * @shortgi - gi setting * @htflag - The type of standard configured * @nss - no. of spatial streams * @ch_width - channel bandwidth * * return - MCS value identified with help of the rate */ int dp_get_kbps_to_mcs(int kbps_rate, int shortgi, int htflag, int nss, int ch_width); { int i = 0, num_mcs = NUM_LEGACY_MCS; int start_index = -1, end_index = -1; int ratekbpssgi = 0, ratekbps = 0; /* Convert kbps to mbps for comparison */ kbps_rate *= 1000; switch (htflag) { /* 11b CCK Rates */ case DP_11B_CCK_RATE: start_index = CCK_RATE_TABLE_INDEX; end_index = CCK_RATE_TABLE_END_INDEX; break; /* 11a OFDM Rates */ case DP_11A_OFDM_RATE: start_index = OFDM_RATE_TABLE_INDEX; end_index = OFDMA_RATE_TABLE_END_INDEX; break; /* 11g CCK/OFDM Rates */ case DP_11G_CCK_OFDM_RATE: start_index = CCK_RATE_TABLE_INDEX; end_index = OFDMA_RATE_TABLE_END_INDEX; break; /* HT rates only */ case DP_HT_RATE: start_index = dp_get_start_index(ch_width, HW_RATECODE_PREAM_HT, nss); end_index = dp_get_end_index(ch_width, HW_RATECODE_PREAM_HT, nss); num_mcs = NUM_HT_MCS; break; /* VHT rates only */ case DP_VHT_RATE: start_index = dp_get_start_index(ch_width, HW_RATECODE_PREAM_VHT, nss); end_index = dp_get_end_index(ch_width, HW_RATECODE_PREAM_VHT, nss); num_mcs = NUM_VHT_MCS; break; /* HE rates only */ case DP_HE_RATE: start_index = dp_get_start_index(ch_width, HW_RATECODE_PREAM_HE, nss); end_index = dp_get_end_index(ch_width, HW_RATECODE_PREAM_HE, nss); num_mcs = NUM_HE_MCS; break; } /* Check if the index calculation is out of array bounds */ if (start_index < 0 || start_index >= DP_RATE_TABLE_SIZE || end_index < 0 || end_index >= DP_RATE_TABLE_SIZE) { return 0; } if (shortgi) { i = OFDM_RATE_TABLE_INDEX; for ( ; i >= CCK_RATE_TABLE_INDEX; i--) { if (dp_11abgnratetable.info[i].validmodemask != HE_INVALID_RATES_MASK) { ratekbpssgi = RATE_ROUNDOUT(DP_RATEKBPS_SGI(i)); if (ratekbpssgi == kbps_rate) return (i - start_index) % num_mcs; } } /* * The below loop is to find the MCS value for the rate * passed which will be between: * For HT: 7200 and 600000 kbps * For VHT: 7200 and 4333300 kbps * For HE: 8900 and 5939400 kbps * and is also based on the channel bandwidth and nss * passed. */ for (i = end_index; i >= start_index; i--) { if (dp_11abgnratetable.info[i].validmodemask != HE_INVALID_RATES_MASK) { ratekbpssgi = RATE_ROUNDOUT(DP_RATEKBPS_SGI(i)); if (ratekbpssgi == kbps_rate) return (i - start_index) % num_mcs; } } /* * The below loop is to find the MCS value for the rate * passed which will be between: * For HT: 6500 and 540000 kbps * For VHT: 6500 and 3900000 kbps * For HE: 8600 and 5764700 kbps * and is also based on the channel bandwidth and nss * passed. */ for (i = end_index; i >= start_index; i--) { if (dp_11abgnratetable.info[i].validmodemask != HE_INVALID_RATES_MASK) { ratekbps = RATE_ROUNDOUT(DP_RATEKBPS(i)); if (ratekbps == kbps_rate) return (i - start_index) % num_mcs; } } } else { i = OFDM_RATE_TABLE_INDEX; for ( ; i >= CCK_RATE_TABLE_INDEX; i--) { if (dp_11abgnratetable.info[i].validmodemask != HE_INVALID_RATES_MASK) { ratekbps = RATE_ROUNDOUT(DP_RATEKBPS(i)); if (ratekbps == kbps_rate) return (i - start_index) % num_mcs; } } /* * The below loop is to find the MCS value for the rate * passed which will be between: * For HT: 6500 and 540000 kbps * For VHT: 6500 and 3900000 kbps * For HE: 8600 and 5764700 kbps * and is also based on the channel bandwidth and nss * passed. */ for (i = end_index; i >= start_index; i--) { if (dp_11abgnratetable.info[i].validmodemask != HE_INVALID_RATES_MASK) { ratekbps = RATE_ROUNDOUT(DP_RATEKBPS(i)); if (ratekbps == kbps_rate) return (i - start_index) % num_mcs; } } } return INVALID_RATE_ERR; } #endif qdf_export_symbol(dp_get_kbps_to_mcs);