All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Luca Coelho <luca@coelho.fi>, johannes@sipsolutions.net
Cc: kbuild-all@lists.01.org, clang-built-linux@googlegroups.com,
	linux-wireless@vger.kernel.org
Subject: Re: [PATCH 11/15] wireless: fix spelling of A-MSDU in HE capabilities
Date: Sat, 10 Apr 2021 03:02:50 +0800	[thread overview]
Message-ID: <202104100223.iZPxHYpm-lkp@intel.com> (raw)
In-Reply-To: <iwlwifi.20210409123755.9e6ff1af1181.If6868bc6902ccd9a95c74c78f716c4b41473ef14@changeid>

[-- Attachment #1: Type: text/plain, Size: 41230 bytes --]

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@intel.com>

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@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 39142 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH 11/15] wireless: fix spelling of A-MSDU in HE capabilities
Date: Sat, 10 Apr 2021 03:02:50 +0800	[thread overview]
Message-ID: <202104100223.iZPxHYpm-lkp@intel.com> (raw)
In-Reply-To: <iwlwifi.20210409123755.9e6ff1af1181.If6868bc6902ccd9a95c74c78f716c4b41473ef14@changeid>

[-- Attachment #1: Type: text/plain, Size: 41580 bytes --]

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@intel.com>

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(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 39142 bytes --]

  reply	other threads:[~2021-04-09 19:04 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-09  9:40 [PATCH 00/15] cfg80211/mac80211 patches from our internal tree 2021-04-09 Luca Coelho
2021-04-09  9:40 ` [PATCH 01/15] mac80211: drop the connection if firmware crashed while in CSA Luca Coelho
2021-04-09  9:40 ` [PATCH 02/15] nl80211: Add new RSNXE related nl80211 extended features Luca Coelho
2021-04-09  9:40 ` [PATCH 03/15] mac80211: properly drop the connection in case of invalid CSA IE Luca Coelho
2021-04-09  9:40 ` [PATCH 04/15] wireless: align some HE capabilities with the spec Luca Coelho
2021-04-09 12:24   ` kernel test robot
2021-04-09 12:24     ` kernel test robot
2021-04-09 23:31   ` kernel test robot
2021-04-09 23:31     ` kernel test robot
2021-04-09  9:40 ` [PATCH 05/15] cfg80211: don't WARN if a self-managed device doesn't have a regdom Luca Coelho
2021-04-09  9:40 ` [PATCH 06/15] mac80211: make ieee80211_vif_to_wdev work when the vif isn't in the driver Luca Coelho
2021-04-09  9:40 ` [PATCH 07/15] wireless: align HE capabilities A-MPDU Length Exponent Extension Luca Coelho
2021-04-09 13:39   ` kernel test robot
2021-04-09 13:39     ` kernel test robot
2021-04-10  9:20   ` kernel test robot
2021-04-10  9:20     ` kernel test robot
2021-04-09  9:40 ` [PATCH 08/15] cfg80211: allow to specifying a reason for hw_rfkill Luca Coelho
2021-04-09  9:47   ` Johannes Berg
2021-04-09  9:55     ` Luca Coelho
2021-04-09  9:40 ` [PATCH 09/15] cfg80211: Remove wrong RNR IE validation check Luca Coelho
2021-04-09  9:40 ` [PATCH 10/15] mac80211: bail out if cipher schemes are invalid Luca Coelho
2021-04-09  9:40 ` [PATCH 11/15] wireless: fix spelling of A-MSDU in HE capabilities Luca Coelho
2021-04-09 19:02   ` kernel test robot [this message]
2021-04-09 19:02     ` kernel test robot
2021-04-09  9:40 ` [PATCH 12/15] nl80211/cfg80211: add a flag to negotiate for LMR feedback in NDP ranging Luca Coelho
2021-04-09  9:40 ` [PATCH 13/15] ieee80211: add the values of ranging parameters max LTF total field Luca Coelho
2021-04-09  9:40 ` [PATCH 14/15] mac80211: clear the beacon's CRC after channel switch Luca Coelho
2021-04-09  9:40 ` [PATCH 15/15] mac80211: aes_cmac: check crypto_shash_setkey() return value Luca Coelho

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202104100223.iZPxHYpm-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=clang-built-linux@googlegroups.com \
    --cc=johannes@sipsolutions.net \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=luca@coelho.fi \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.