Search Linux Wireless

Re: [PATCH 11/15] wireless: fix spelling of A-MSDU in HE capabilities

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Luca,

I love your patch! Yet something to improve:

[auto build test ERROR on mac80211-next/master]
[also build test ERROR on mac80211/master wireless-drivers-next/master wireless-drivers/master v5.12-rc6 next-20210409]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Luca-Coelho/cfg80211-mac80211-patches-from-our-internal-tree-2021-04-09/20210409-181210
base:   https://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git master
config: x86_64-randconfig-a005-20210409 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project dd453a1389b6a7e6d9214b449d3c54981b1a89b6)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install x86_64 cross compiling tool for clang build
        # apt-get install binutils-x86-64-linux-gnu
        # https://github.com/0day-ci/linux/commit/ab7f3700d2d0fefb429cfbb3763930761035754c
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Luca-Coelho/cfg80211-mac80211-patches-from-our-internal-tree-2021-04-09/20210409-181210
        git checkout ab7f3700d2d0fefb429cfbb3763930761035754c
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

>> drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c:641:6: error: use of undeclared identifier 'IEEE80211_HE_MAC_CAP4_AMDSU_IN_AMPDU'
                                           IEEE80211_HE_MAC_CAP4_AMDSU_IN_AMPDU,
                                           ^
>> drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c:759:47: error: invalid application of 'sizeof' to an incomplete type 'const struct ieee80211_sband_iftype_data []'
           BUILD_BUG_ON(sizeof(data->iftd.low) != sizeof(iwl_he_capa));
                                                        ^~~~~~~~~~~~~
   include/linux/build_bug.h:50:19: note: expanded from macro 'BUILD_BUG_ON'
           BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
                            ^~~~~~~~~
   include/linux/build_bug.h:39:58: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                                            ^~~~
   include/linux/compiler_types.h:320:22: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
                               ^~~~~~~~~
   include/linux/compiler_types.h:308:23: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
                                ^~~~~~~~~
   include/linux/compiler_types.h:300:9: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                         ^~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c:760:48: error: invalid application of 'sizeof' to an incomplete type 'const struct ieee80211_sband_iftype_data []'
           BUILD_BUG_ON(sizeof(data->iftd.high) != sizeof(iwl_he_capa));
                                                         ^~~~~~~~~~~~~
   include/linux/build_bug.h:50:19: note: expanded from macro 'BUILD_BUG_ON'
           BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
                            ^~~~~~~~~
   include/linux/build_bug.h:39:58: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                                            ^~~~
   include/linux/compiler_types.h:320:22: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
                               ^~~~~~~~~
   include/linux/compiler_types.h:308:23: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
                                ^~~~~~~~~
   include/linux/compiler_types.h:300:9: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                         ^~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c:775:41: error: invalid application of 'sizeof' to an incomplete type 'const struct ieee80211_sband_iftype_data []'
           memcpy(iftype_data, iwl_he_capa, sizeof(iwl_he_capa));
                                                  ^~~~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c:778:25: error: invalid application of 'sizeof' to an incomplete type 'const struct ieee80211_sband_iftype_data []'
           sband->n_iftype_data = ARRAY_SIZE(iwl_he_capa);
                                  ^~~~~~~~~~~~~~~~~~~~~~~
   include/linux/kernel.h:49:32: note: expanded from macro 'ARRAY_SIZE'
   #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
                                  ^~~~~
   5 errors generated.


vim +/IEEE80211_HE_MAC_CAP4_AMDSU_IN_AMPDU +641 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c

33158fefc88e58 drivers/net/wireless/iwlwifi/iwl-nvm-parse.c       Eytan Lifshitz    2013-02-20  536  
d43ab298efc639 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Johannes Berg     2020-12-09  537  static const struct ieee80211_sband_iftype_data iwl_he_capa[] = {
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  538  	{
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  539  		.types_mask = BIT(NL80211_IFTYPE_STATION),
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  540  		.he_cap = {
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  541  			.has_he = true,
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  542  			.he_cap_elem = {
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  543  				.mac_cap_info[0] =
add7453ad62f05 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-09-05  544  					IEEE80211_HE_MAC_CAP0_HTC_HE |
add7453ad62f05 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-09-05  545  					IEEE80211_HE_MAC_CAP0_TWT_REQ,
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  546  				.mac_cap_info[1] =
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  547  					IEEE80211_HE_MAC_CAP1_TF_MAC_PAD_DUR_16US |
add7453ad62f05 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-09-05  548  					IEEE80211_HE_MAC_CAP1_MULTI_TID_AGG_RX_QOS_8,
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  549  				.mac_cap_info[2] =
38af8d5a90a8c3 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Ilan Peer         2020-04-17  550  					IEEE80211_HE_MAC_CAP2_32BIT_BA_BITMAP,
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  551  				.mac_cap_info[3] =
add7453ad62f05 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-09-05  552  					IEEE80211_HE_MAC_CAP3_OMI_CONTROL |
14d0d9bb385498 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Johannes Berg     2021-04-09  553  					IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_EXT_2,
add7453ad62f05 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-09-05  554  				.mac_cap_info[4] =
ab7f3700d2d0fe drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Johannes Berg     2021-04-09  555  					IEEE80211_HE_MAC_CAP4_AMSDU_IN_AMPDU |
add7453ad62f05 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-09-05  556  					IEEE80211_HE_MAC_CAP4_MULTI_TID_AGG_TX_QOS_B39,
add7453ad62f05 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-09-05  557  				.mac_cap_info[5] =
add7453ad62f05 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-09-05  558  					IEEE80211_HE_MAC_CAP5_MULTI_TID_AGG_TX_QOS_B40 |
add7453ad62f05 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-09-05  559  					IEEE80211_HE_MAC_CAP5_MULTI_TID_AGG_TX_QOS_B41 |
77ff2c6b49843b drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Liad Kaufman      2019-02-06  560  					IEEE80211_HE_MAC_CAP5_UL_2x996_TONE_RU |
77ff2c6b49843b drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Liad Kaufman      2019-02-06  561  					IEEE80211_HE_MAC_CAP5_HE_DYNAMIC_SM_PS |
77ff2c6b49843b drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Liad Kaufman      2019-02-06  562  					IEEE80211_HE_MAC_CAP5_HT_VHT_TRIG_FRAME_RX,
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  563  				.phy_cap_info[0] =
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  564  					IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_40MHZ_IN_2G |
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  565  					IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_40MHZ_80MHZ_IN_5G |
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  566  					IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_160MHZ_IN_5G,
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  567  				.phy_cap_info[1] =
add7453ad62f05 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-09-05  568  					IEEE80211_HE_PHY_CAP1_PREAMBLE_PUNC_RX_MASK |
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  569  					IEEE80211_HE_PHY_CAP1_DEVICE_CLASS_A |
77ff2c6b49843b drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Liad Kaufman      2019-02-06  570  					IEEE80211_HE_PHY_CAP1_LDPC_CODING_IN_PAYLOAD,
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  571  				.phy_cap_info[2] =
77ff2c6b49843b drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Liad Kaufman      2019-02-06  572  					IEEE80211_HE_PHY_CAP2_NDP_4x_LTF_AND_3_2US,
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  573  				.phy_cap_info[3] =
77ff2c6b49843b drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Liad Kaufman      2019-02-06  574  					IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_TX_NO_DCM |
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  575  					IEEE80211_HE_PHY_CAP3_DCM_MAX_TX_NSS_1 |
77ff2c6b49843b drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Liad Kaufman      2019-02-06  576  					IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_RX_NO_DCM |
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  577  					IEEE80211_HE_PHY_CAP3_DCM_MAX_RX_NSS_1,
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  578  				.phy_cap_info[4] =
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  579  					IEEE80211_HE_PHY_CAP4_SU_BEAMFORMEE |
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  580  					IEEE80211_HE_PHY_CAP4_BEAMFORMEE_MAX_STS_ABOVE_80MHZ_8 |
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  581  					IEEE80211_HE_PHY_CAP4_BEAMFORMEE_MAX_STS_UNDER_80MHZ_8,
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  582  				.phy_cap_info[5] =
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  583  					IEEE80211_HE_PHY_CAP5_BEAMFORMEE_NUM_SND_DIM_UNDER_80MHZ_2 |
77ff2c6b49843b drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Liad Kaufman      2019-02-06  584  					IEEE80211_HE_PHY_CAP5_BEAMFORMEE_NUM_SND_DIM_ABOVE_80MHZ_2,
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  585  				.phy_cap_info[6] =
13582e33bee863 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Johannes Berg     2021-04-09  586  					IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMING_FB |
13582e33bee863 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Johannes Berg     2021-04-09  587  					IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMING_PARTIAL_BW_FB |
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  588  					IEEE80211_HE_PHY_CAP6_PPE_THRESHOLD_PRESENT,
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  589  				.phy_cap_info[7] =
13582e33bee863 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Johannes Berg     2021-04-09  590  					IEEE80211_HE_PHY_CAP7_POWER_BOOST_FACTOR_SUPP |
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  591  					IEEE80211_HE_PHY_CAP7_HE_SU_MU_PPDU_4XLTF_AND_08_US_GI |
add7453ad62f05 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-09-05  592  					IEEE80211_HE_PHY_CAP7_MAX_NC_1,
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  593  				.phy_cap_info[8] =
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  594  					IEEE80211_HE_PHY_CAP8_HE_ER_SU_PPDU_4XLTF_AND_08_US_GI |
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  595  					IEEE80211_HE_PHY_CAP8_20MHZ_IN_40MHZ_HE_PPDU_IN_2G |
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  596  					IEEE80211_HE_PHY_CAP8_20MHZ_IN_160MHZ_HE_PPDU |
add7453ad62f05 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-09-05  597  					IEEE80211_HE_PHY_CAP8_80MHZ_IN_160MHZ_HE_PPDU |
77ff2c6b49843b drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Liad Kaufman      2019-02-06  598  					IEEE80211_HE_PHY_CAP8_DCM_MAX_RU_2x996,
add7453ad62f05 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-09-05  599  				.phy_cap_info[9] =
add7453ad62f05 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-09-05  600  					IEEE80211_HE_PHY_CAP9_NON_TRIGGERED_CQI_FEEDBACK |
add7453ad62f05 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-09-05  601  					IEEE80211_HE_PHY_CAP9_RX_FULL_BW_SU_USING_MU_WITH_COMP_SIGB |
77ff2c6b49843b drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Liad Kaufman      2019-02-06  602  					IEEE80211_HE_PHY_CAP9_RX_FULL_BW_SU_USING_MU_WITH_NON_COMP_SIGB |
77ff2c6b49843b drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Liad Kaufman      2019-02-06  603  					IEEE80211_HE_PHY_CAP9_NOMIMAL_PKT_PADDING_RESERVED,
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  604  			},
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  605  			/*
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  606  			 * Set default Tx/Rx HE MCS NSS Support field.
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  607  			 * Indicate support for up to 2 spatial streams and all
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  608  			 * MCS, without any special cases
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  609  			 */
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  610  			.he_mcs_nss_supp = {
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  611  				.rx_mcs_80 = cpu_to_le16(0xfffa),
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  612  				.tx_mcs_80 = cpu_to_le16(0xfffa),
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  613  				.rx_mcs_160 = cpu_to_le16(0xfffa),
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  614  				.tx_mcs_160 = cpu_to_le16(0xfffa),
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  615  				.rx_mcs_80p80 = cpu_to_le16(0xffff),
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  616  				.tx_mcs_80p80 = cpu_to_le16(0xffff),
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  617  			},
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  618  			/*
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  619  			 * Set default PPE thresholds, with PPET16 set to 0,
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  620  			 * PPET8 set to 7
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  621  			 */
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  622  			.ppe_thres = {0x61, 0x1c, 0xc7, 0x71},
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  623  		},
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  624  	},
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  625  	{
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  626  		.types_mask = BIT(NL80211_IFTYPE_AP),
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  627  		.he_cap = {
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  628  			.has_he = true,
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  629  			.he_cap_elem = {
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  630  				.mac_cap_info[0] =
7360f99e0b99e3 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Emmanuel Grumbach 2018-09-12  631  					IEEE80211_HE_MAC_CAP0_HTC_HE,
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  632  				.mac_cap_info[1] =
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  633  					IEEE80211_HE_MAC_CAP1_TF_MAC_PAD_DUR_16US |
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  634  					IEEE80211_HE_MAC_CAP1_MULTI_TID_AGG_RX_QOS_8,
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  635  				.mac_cap_info[2] =
38af8d5a90a8c3 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Ilan Peer         2020-04-17  636  					IEEE80211_HE_MAC_CAP2_BSR,
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  637  				.mac_cap_info[3] =
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  638  					IEEE80211_HE_MAC_CAP3_OMI_CONTROL |
14d0d9bb385498 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Johannes Berg     2021-04-09  639  					IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_EXT_2,
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  640  				.mac_cap_info[4] =
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20 @641  					IEEE80211_HE_MAC_CAP4_AMDSU_IN_AMPDU,
77ff2c6b49843b drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Liad Kaufman      2019-02-06  642  				.mac_cap_info[5] =
77ff2c6b49843b drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Liad Kaufman      2019-02-06  643  					IEEE80211_HE_MAC_CAP5_UL_2x996_TONE_RU,
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  644  				.phy_cap_info[0] =
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  645  					IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_40MHZ_IN_2G |
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  646  					IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_40MHZ_80MHZ_IN_5G |
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  647  					IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_160MHZ_IN_5G,
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  648  				.phy_cap_info[1] =
77ff2c6b49843b drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Liad Kaufman      2019-02-06  649  					IEEE80211_HE_PHY_CAP1_LDPC_CODING_IN_PAYLOAD,
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  650  				.phy_cap_info[2] =
77ff2c6b49843b drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Liad Kaufman      2019-02-06  651  					IEEE80211_HE_PHY_CAP2_NDP_4x_LTF_AND_3_2US,
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  652  				.phy_cap_info[3] =
77ff2c6b49843b drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Liad Kaufman      2019-02-06  653  					IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_TX_NO_DCM |
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  654  					IEEE80211_HE_PHY_CAP3_DCM_MAX_TX_NSS_1 |
77ff2c6b49843b drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Liad Kaufman      2019-02-06  655  					IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_RX_NO_DCM |
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  656  					IEEE80211_HE_PHY_CAP3_DCM_MAX_RX_NSS_1,
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  657  				.phy_cap_info[4] =
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  658  					IEEE80211_HE_PHY_CAP4_SU_BEAMFORMEE |
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  659  					IEEE80211_HE_PHY_CAP4_BEAMFORMEE_MAX_STS_ABOVE_80MHZ_8 |
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  660  					IEEE80211_HE_PHY_CAP4_BEAMFORMEE_MAX_STS_UNDER_80MHZ_8,
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  661  				.phy_cap_info[5] =
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  662  					IEEE80211_HE_PHY_CAP5_BEAMFORMEE_NUM_SND_DIM_UNDER_80MHZ_2 |
77ff2c6b49843b drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Liad Kaufman      2019-02-06  663  					IEEE80211_HE_PHY_CAP5_BEAMFORMEE_NUM_SND_DIM_ABOVE_80MHZ_2,
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  664  				.phy_cap_info[6] =
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  665  					IEEE80211_HE_PHY_CAP6_PPE_THRESHOLD_PRESENT,
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  666  				.phy_cap_info[7] =
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  667  					IEEE80211_HE_PHY_CAP7_HE_SU_MU_PPDU_4XLTF_AND_08_US_GI |
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  668  					IEEE80211_HE_PHY_CAP7_MAX_NC_1,
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  669  				.phy_cap_info[8] =
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  670  					IEEE80211_HE_PHY_CAP8_HE_ER_SU_PPDU_4XLTF_AND_08_US_GI |
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  671  					IEEE80211_HE_PHY_CAP8_20MHZ_IN_40MHZ_HE_PPDU_IN_2G |
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  672  					IEEE80211_HE_PHY_CAP8_20MHZ_IN_160MHZ_HE_PPDU |
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  673  					IEEE80211_HE_PHY_CAP8_80MHZ_IN_160MHZ_HE_PPDU |
77ff2c6b49843b drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Liad Kaufman      2019-02-06  674  					IEEE80211_HE_PHY_CAP8_DCM_MAX_RU_2x996,
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  675  				.phy_cap_info[9] =
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  676  					IEEE80211_HE_PHY_CAP9_RX_FULL_BW_SU_USING_MU_WITH_COMP_SIGB |
77ff2c6b49843b drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Liad Kaufman      2019-02-06  677  					IEEE80211_HE_PHY_CAP9_RX_FULL_BW_SU_USING_MU_WITH_NON_COMP_SIGB |
77ff2c6b49843b drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Liad Kaufman      2019-02-06  678  					IEEE80211_HE_PHY_CAP9_NOMIMAL_PKT_PADDING_RESERVED,
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  679  			},
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  680  			/*
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  681  			 * Set default Tx/Rx HE MCS NSS Support field.
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  682  			 * Indicate support for up to 2 spatial streams and all
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  683  			 * MCS, without any special cases
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  684  			 */
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  685  			.he_mcs_nss_supp = {
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  686  				.rx_mcs_80 = cpu_to_le16(0xfffa),
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  687  				.tx_mcs_80 = cpu_to_le16(0xfffa),
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  688  				.rx_mcs_160 = cpu_to_le16(0xfffa),
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  689  				.tx_mcs_160 = cpu_to_le16(0xfffa),
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  690  				.rx_mcs_80p80 = cpu_to_le16(0xffff),
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  691  				.tx_mcs_80p80 = cpu_to_le16(0xffff),
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  692  			},
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  693  			/*
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  694  			 * Set default PPE thresholds, with PPET16 set to 0,
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  695  			 * PPET8 set to 7
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  696  			 */
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  697  			.ppe_thres = {0x61, 0x1c, 0xc7, 0x71},
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  698  		},
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  699  	},
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  700  };
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  701  
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  702  static void iwl_init_he_6ghz_capa(struct iwl_trans *trans,
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  703  				  struct iwl_nvm_data *data,
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  704  				  struct ieee80211_supported_band *sband,
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  705  				  u8 tx_chains, u8 rx_chains)
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  706  {
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  707  	struct ieee80211_sta_ht_cap ht_cap;
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  708  	struct ieee80211_sta_vht_cap vht_cap = {};
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  709  	struct ieee80211_sband_iftype_data *iftype_data;
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  710  	u16 he_6ghz_capa = 0;
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  711  	u32 exp;
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  712  	int i;
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  713  
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  714  	if (sband->band != NL80211_BAND_6GHZ)
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  715  		return;
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  716  
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  717  	/* grab HT/VHT capabilities and calculate HE 6 GHz capabilities */
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  718  	iwl_init_ht_hw_capab(trans, data, &ht_cap, NL80211_BAND_5GHZ,
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  719  			     tx_chains, rx_chains);
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  720  	WARN_ON(!ht_cap.ht_supported);
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  721  	iwl_init_vht_hw_capab(trans, data, &vht_cap, tx_chains, rx_chains);
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  722  	WARN_ON(!vht_cap.vht_supported);
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  723  
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  724  	he_6ghz_capa |=
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  725  		u16_encode_bits(ht_cap.ampdu_density,
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  726  				IEEE80211_HE_6GHZ_CAP_MIN_MPDU_START);
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  727  	exp = u32_get_bits(vht_cap.cap,
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  728  			   IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK);
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  729  	he_6ghz_capa |=
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  730  		u16_encode_bits(exp, IEEE80211_HE_6GHZ_CAP_MAX_AMPDU_LEN_EXP);
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  731  	exp = u32_get_bits(vht_cap.cap, IEEE80211_VHT_CAP_MAX_MPDU_MASK);
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  732  	he_6ghz_capa |=
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  733  		u16_encode_bits(exp, IEEE80211_HE_6GHZ_CAP_MAX_MPDU_LEN);
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  734  	/* we don't support extended_ht_cap_info anywhere, so no RD_RESPONDER */
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  735  	if (vht_cap.cap & IEEE80211_VHT_CAP_TX_ANTENNA_PATTERN)
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  736  		he_6ghz_capa |= IEEE80211_HE_6GHZ_CAP_TX_ANTPAT_CONS;
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  737  	if (vht_cap.cap & IEEE80211_VHT_CAP_RX_ANTENNA_PATTERN)
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  738  		he_6ghz_capa |= IEEE80211_HE_6GHZ_CAP_RX_ANTPAT_CONS;
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  739  
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  740  	IWL_DEBUG_EEPROM(trans->dev, "he_6ghz_capa=0x%x\n", he_6ghz_capa);
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  741  
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  742  	/* we know it's writable - we set it before ourselves */
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  743  	iftype_data = (void *)sband->iftype_data;
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  744  	for (i = 0; i < sband->n_iftype_data; i++)
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  745  		iftype_data[i].he_6ghz_capa.capa = cpu_to_le16(he_6ghz_capa);
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  746  }
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  747  
df658908566455 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Johannes Berg     2019-11-05  748  static void iwl_init_he_hw_capab(struct iwl_trans *trans,
df658908566455 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Johannes Berg     2019-11-05  749  				 struct iwl_nvm_data *data,
df658908566455 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Johannes Berg     2019-11-05  750  				 struct ieee80211_supported_band *sband,
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  751  				 u8 tx_chains, u8 rx_chains)
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  752  {
d43ab298efc639 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Johannes Berg     2020-12-09  753  	struct ieee80211_sband_iftype_data *iftype_data;
d43ab298efc639 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Johannes Berg     2020-12-09  754  
d43ab298efc639 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Johannes Berg     2020-12-09  755  	/* should only initialize once */
d43ab298efc639 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Johannes Berg     2020-12-09  756  	if (WARN_ON(sband->iftype_data))
d43ab298efc639 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Johannes Berg     2020-12-09  757  		return;
d43ab298efc639 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Johannes Berg     2020-12-09  758  
d43ab298efc639 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Johannes Berg     2020-12-09 @759  	BUILD_BUG_ON(sizeof(data->iftd.low) != sizeof(iwl_he_capa));
d43ab298efc639 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Johannes Berg     2020-12-09  760  	BUILD_BUG_ON(sizeof(data->iftd.high) != sizeof(iwl_he_capa));
d43ab298efc639 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Johannes Berg     2020-12-09  761  
d43ab298efc639 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Johannes Berg     2020-12-09  762  	switch (sband->band) {
d43ab298efc639 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Johannes Berg     2020-12-09  763  	case NL80211_BAND_2GHZ:
d43ab298efc639 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Johannes Berg     2020-12-09  764  		iftype_data = data->iftd.low;
d43ab298efc639 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Johannes Berg     2020-12-09  765  		break;
d43ab298efc639 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Johannes Berg     2020-12-09  766  	case NL80211_BAND_5GHZ:
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  767  	case NL80211_BAND_6GHZ:
d43ab298efc639 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Johannes Berg     2020-12-09  768  		iftype_data = data->iftd.high;
d43ab298efc639 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Johannes Berg     2020-12-09  769  		break;
d43ab298efc639 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Johannes Berg     2020-12-09  770  	default:
d43ab298efc639 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Johannes Berg     2020-12-09  771  		WARN_ON(1);
d43ab298efc639 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Johannes Berg     2020-12-09  772  		return;
d43ab298efc639 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Johannes Berg     2020-12-09  773  	}
d43ab298efc639 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Johannes Berg     2020-12-09  774  
d43ab298efc639 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Johannes Berg     2020-12-09  775  	memcpy(iftype_data, iwl_he_capa, sizeof(iwl_he_capa));
d43ab298efc639 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Johannes Berg     2020-12-09  776  
d43ab298efc639 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Johannes Berg     2020-12-09  777  	sband->iftype_data = iftype_data;
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  778  	sband->n_iftype_data = ARRAY_SIZE(iwl_he_capa);
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  779  
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  780  	/* If not 2x2, we need to indicate 1x1 in the Midamble RX Max NSTS */
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  781  	if ((tx_chains & rx_chains) != ANT_AB) {
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  782  		int i;
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  783  
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  784  		for (i = 0; i < sband->n_iftype_data; i++) {
d43ab298efc639 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Johannes Berg     2020-12-09  785  			iftype_data[i].he_cap.he_cap_elem.phy_cap_info[1] &=
add7453ad62f05 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-09-05  786  				~IEEE80211_HE_PHY_CAP1_MIDAMBLE_RX_TX_MAX_NSTS;
d43ab298efc639 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Johannes Berg     2020-12-09  787  			iftype_data[i].he_cap.he_cap_elem.phy_cap_info[2] &=
add7453ad62f05 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-09-05  788  				~IEEE80211_HE_PHY_CAP2_MIDAMBLE_RX_TX_MAX_NSTS;
d43ab298efc639 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Johannes Berg     2020-12-09  789  			iftype_data[i].he_cap.he_cap_elem.phy_cap_info[7] &=
add7453ad62f05 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-09-05  790  				~IEEE80211_HE_PHY_CAP7_MAX_NC_MASK;
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  791  		}
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  792  	}
eae94cf82d7456 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2020-12-10  793  	iwl_init_he_6ghz_capa(trans, data, sband, tx_chains, rx_chains);
57a3a454f30368 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Shaul Triebitz    2018-08-20  794  }
514c30696fbc25 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c Luca Coelho       2018-06-24  795  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux