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 07/15] wireless: align HE capabilities A-MPDU Length Exponent Extension
Date: Sat, 10 Apr 2021 17:20:27 +0800	[thread overview]
Message-ID: <202104101759.SSHeO3Rh-lkp@intel.com> (raw)
In-Reply-To: <iwlwifi.20210409123755.c2a257d3e2df.I3455245d388c52c61dace7e7958dbed7e807cfb6@changeid>

[-- Attachment #1: Type: text/plain, Size: 13195 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-a006-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/14d0d9bb385498f53ad9d73ebac33c6ef919be7c
        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 14d0d9bb385498f53ad9d73ebac33c6ef919be7c
        # 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/ath/ath11k/mac.c:1270:4: error: use of undeclared identifier 'IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_SHIFT'
                           IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_SHIFT;
                           ^
   drivers/net/wireless/ath/ath11k/mac.c:3810:6: error: use of undeclared identifier 'IEEE80211_HE_MAC_CAP5_SUBCHAN_SELECVITE_TRANSMISSION'
           m = IEEE80211_HE_MAC_CAP5_SUBCHAN_SELECVITE_TRANSMISSION |
               ^
   drivers/net/wireless/ath/ath11k/mac.c:3820:6: error: use of undeclared identifier 'IEEE80211_HE_PHY_CAP3_RX_HE_MU_PPDU_FROM_NON_AP_STA'
           m = IEEE80211_HE_PHY_CAP3_RX_HE_MU_PPDU_FROM_NON_AP_STA |
               ^
   drivers/net/wireless/ath/ath11k/mac.c:3832:6: error: use of undeclared identifier 'IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMER_FB'
               IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMER_FB |
               ^
   drivers/net/wireless/ath/ath11k/mac.c:3837:6: error: use of undeclared identifier 'IEEE80211_HE_PHY_CAP7_SRP_BASED_SR'
           m = IEEE80211_HE_PHY_CAP7_SRP_BASED_SR |
               ^
   drivers/net/wireless/ath/ath11k/mac.c:3838:6: error: use of undeclared identifier 'IEEE80211_HE_PHY_CAP7_POWER_BOOST_FACTOR_AR'
               IEEE80211_HE_PHY_CAP7_POWER_BOOST_FACTOR_AR |
               ^
   6 errors generated.


vim +/IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_SHIFT +1270 drivers/net/wireless/ath/ath11k/mac.c

d5c65159f28953 Kalle Valo          2019-11-23  1233  
d5c65159f28953 Kalle Valo          2019-11-23  1234  static void ath11k_peer_assoc_h_he(struct ath11k *ar,
d5c65159f28953 Kalle Valo          2019-11-23  1235  				   struct ieee80211_vif *vif,
d5c65159f28953 Kalle Valo          2019-11-23  1236  				   struct ieee80211_sta *sta,
d5c65159f28953 Kalle Valo          2019-11-23  1237  				   struct peer_assoc_params *arg)
d5c65159f28953 Kalle Valo          2019-11-23  1238  {
9f056ed8ee01ad John Crispin        2019-11-25  1239  	const struct ieee80211_sta_he_cap *he_cap = &sta->he_cap;
af6d39db1b046a Tamizh Chelvam      2020-09-08  1240  	u8 ampdu_factor;
9f056ed8ee01ad John Crispin        2019-11-25  1241  	u16 v;
9f056ed8ee01ad John Crispin        2019-11-25  1242  
9f056ed8ee01ad John Crispin        2019-11-25  1243  	if (!he_cap->has_he)
9f056ed8ee01ad John Crispin        2019-11-25  1244  		return;
9f056ed8ee01ad John Crispin        2019-11-25  1245  
9f056ed8ee01ad John Crispin        2019-11-25  1246  	arg->he_flag = true;
9f056ed8ee01ad John Crispin        2019-11-25  1247  
9f056ed8ee01ad John Crispin        2019-11-25  1248  	memcpy(&arg->peer_he_cap_macinfo, he_cap->he_cap_elem.mac_cap_info,
9f056ed8ee01ad John Crispin        2019-11-25  1249  	       sizeof(arg->peer_he_cap_macinfo));
9f056ed8ee01ad John Crispin        2019-11-25  1250  	memcpy(&arg->peer_he_cap_phyinfo, he_cap->he_cap_elem.phy_cap_info,
9f056ed8ee01ad John Crispin        2019-11-25  1251  	       sizeof(arg->peer_he_cap_phyinfo));
60689de46c7f6a Rajkumar Manoharan  2020-04-24  1252  	arg->peer_he_ops = vif->bss_conf.he_oper.params;
9f056ed8ee01ad John Crispin        2019-11-25  1253  
9f056ed8ee01ad John Crispin        2019-11-25  1254  	/* the top most byte is used to indicate BSS color info */
9f056ed8ee01ad John Crispin        2019-11-25  1255  	arg->peer_he_ops &= 0xffffff;
9f056ed8ee01ad John Crispin        2019-11-25  1256  
af6d39db1b046a Tamizh Chelvam      2020-09-08  1257  	/* As per section 26.6.1 11ax Draft5.0, if the Max AMPDU Exponent Extension
af6d39db1b046a Tamizh Chelvam      2020-09-08  1258  	 * in HE cap is zero, use the arg->peer_max_mpdu as calculated while parsing
af6d39db1b046a Tamizh Chelvam      2020-09-08  1259  	 * VHT caps(if VHT caps is present) or HT caps (if VHT caps is not present).
af6d39db1b046a Tamizh Chelvam      2020-09-08  1260  	 *
af6d39db1b046a Tamizh Chelvam      2020-09-08  1261  	 * For non-zero value of Max AMPDU Extponent Extension in HE MAC caps,
af6d39db1b046a Tamizh Chelvam      2020-09-08  1262  	 * if a HE STA sends VHT cap and HE cap IE in assoc request then, use
af6d39db1b046a Tamizh Chelvam      2020-09-08  1263  	 * MAX_AMPDU_LEN_FACTOR as 20 to calculate max_ampdu length.
af6d39db1b046a Tamizh Chelvam      2020-09-08  1264  	 * If a HE STA that does not send VHT cap, but HE and HT cap in assoc
af6d39db1b046a Tamizh Chelvam      2020-09-08  1265  	 * request, then use MAX_AMPDU_LEN_FACTOR as 16 to calculate max_ampdu
af6d39db1b046a Tamizh Chelvam      2020-09-08  1266  	 * length.
af6d39db1b046a Tamizh Chelvam      2020-09-08  1267  	 */
af6d39db1b046a Tamizh Chelvam      2020-09-08  1268  	ampdu_factor = (he_cap->he_cap_elem.mac_cap_info[3] &
af6d39db1b046a Tamizh Chelvam      2020-09-08  1269  			IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_MASK) >>
af6d39db1b046a Tamizh Chelvam      2020-09-08 @1270  			IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_SHIFT;
af6d39db1b046a Tamizh Chelvam      2020-09-08  1271  
af6d39db1b046a Tamizh Chelvam      2020-09-08  1272  	if (ampdu_factor) {
af6d39db1b046a Tamizh Chelvam      2020-09-08  1273  		if (sta->vht_cap.vht_supported)
af6d39db1b046a Tamizh Chelvam      2020-09-08  1274  			arg->peer_max_mpdu = (1 << (IEEE80211_HE_VHT_MAX_AMPDU_FACTOR +
af6d39db1b046a Tamizh Chelvam      2020-09-08  1275  						    ampdu_factor)) - 1;
af6d39db1b046a Tamizh Chelvam      2020-09-08  1276  		else if (sta->ht_cap.ht_supported)
af6d39db1b046a Tamizh Chelvam      2020-09-08  1277  			arg->peer_max_mpdu = (1 << (IEEE80211_HE_HT_MAX_AMPDU_FACTOR +
af6d39db1b046a Tamizh Chelvam      2020-09-08  1278  						    ampdu_factor)) - 1;
af6d39db1b046a Tamizh Chelvam      2020-09-08  1279  	}
af6d39db1b046a Tamizh Chelvam      2020-09-08  1280  
9f056ed8ee01ad John Crispin        2019-11-25  1281  	if (he_cap->he_cap_elem.phy_cap_info[6] &
9f056ed8ee01ad John Crispin        2019-11-25  1282  	    IEEE80211_HE_PHY_CAP6_PPE_THRESHOLD_PRESENT) {
9f056ed8ee01ad John Crispin        2019-11-25  1283  		int bit = 7;
9f056ed8ee01ad John Crispin        2019-11-25  1284  		int nss, ru;
9f056ed8ee01ad John Crispin        2019-11-25  1285  
9f056ed8ee01ad John Crispin        2019-11-25  1286  		arg->peer_ppet.numss_m1 = he_cap->ppe_thres[0] &
9f056ed8ee01ad John Crispin        2019-11-25  1287  					  IEEE80211_PPE_THRES_NSS_MASK;
9f056ed8ee01ad John Crispin        2019-11-25  1288  		arg->peer_ppet.ru_bit_mask =
9f056ed8ee01ad John Crispin        2019-11-25  1289  			(he_cap->ppe_thres[0] &
9f056ed8ee01ad John Crispin        2019-11-25  1290  			 IEEE80211_PPE_THRES_RU_INDEX_BITMASK_MASK) >>
9f056ed8ee01ad John Crispin        2019-11-25  1291  			IEEE80211_PPE_THRES_RU_INDEX_BITMASK_POS;
9f056ed8ee01ad John Crispin        2019-11-25  1292  
9f056ed8ee01ad John Crispin        2019-11-25  1293  		for (nss = 0; nss <= arg->peer_ppet.numss_m1; nss++) {
9f056ed8ee01ad John Crispin        2019-11-25  1294  			for (ru = 0; ru < 4; ru++) {
9f056ed8ee01ad John Crispin        2019-11-25  1295  				u32 val = 0;
9f056ed8ee01ad John Crispin        2019-11-25  1296  				int i;
9f056ed8ee01ad John Crispin        2019-11-25  1297  
9f056ed8ee01ad John Crispin        2019-11-25  1298  				if ((arg->peer_ppet.ru_bit_mask & BIT(ru)) == 0)
9f056ed8ee01ad John Crispin        2019-11-25  1299  					continue;
9f056ed8ee01ad John Crispin        2019-11-25  1300  				for (i = 0; i < 6; i++) {
9f056ed8ee01ad John Crispin        2019-11-25  1301  					val >>= 1;
9f056ed8ee01ad John Crispin        2019-11-25  1302  					val |= ((he_cap->ppe_thres[bit / 8] >>
9f056ed8ee01ad John Crispin        2019-11-25  1303  						 (bit % 8)) & 0x1) << 5;
9f056ed8ee01ad John Crispin        2019-11-25  1304  					bit++;
9f056ed8ee01ad John Crispin        2019-11-25  1305  				}
9f056ed8ee01ad John Crispin        2019-11-25  1306  				arg->peer_ppet.ppet16_ppet8_ru3_ru0[nss] |=
9f056ed8ee01ad John Crispin        2019-11-25  1307  								val << (ru * 6);
9f056ed8ee01ad John Crispin        2019-11-25  1308  			}
9f056ed8ee01ad John Crispin        2019-11-25  1309  		}
9f056ed8ee01ad John Crispin        2019-11-25  1310  	}
9f056ed8ee01ad John Crispin        2019-11-25  1311  
6d293d447670da John Crispin        2019-11-25  1312  	if (he_cap->he_cap_elem.mac_cap_info[0] & IEEE80211_HE_MAC_CAP0_TWT_RES)
6d293d447670da John Crispin        2019-11-25  1313  		arg->twt_responder = true;
6d293d447670da John Crispin        2019-11-25  1314  	if (he_cap->he_cap_elem.mac_cap_info[0] & IEEE80211_HE_MAC_CAP0_TWT_REQ)
6d293d447670da John Crispin        2019-11-25  1315  		arg->twt_requester = true;
6d293d447670da John Crispin        2019-11-25  1316  
9f056ed8ee01ad John Crispin        2019-11-25  1317  	switch (sta->bandwidth) {
9f056ed8ee01ad John Crispin        2019-11-25  1318  	case IEEE80211_STA_RX_BW_160:
9f056ed8ee01ad John Crispin        2019-11-25  1319  		if (he_cap->he_cap_elem.phy_cap_info[0] &
9f056ed8ee01ad John Crispin        2019-11-25  1320  		    IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_80PLUS80_MHZ_IN_5G) {
9f056ed8ee01ad John Crispin        2019-11-25  1321  			v = le16_to_cpu(he_cap->he_mcs_nss_supp.rx_mcs_80p80);
9f056ed8ee01ad John Crispin        2019-11-25  1322  			arg->peer_he_rx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_80_80] = v;
9f056ed8ee01ad John Crispin        2019-11-25  1323  
9f056ed8ee01ad John Crispin        2019-11-25  1324  			v = le16_to_cpu(he_cap->he_mcs_nss_supp.tx_mcs_80p80);
9f056ed8ee01ad John Crispin        2019-11-25  1325  			arg->peer_he_tx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_80_80] = v;
9f056ed8ee01ad John Crispin        2019-11-25  1326  
9f056ed8ee01ad John Crispin        2019-11-25  1327  			arg->peer_he_mcs_count++;
9f056ed8ee01ad John Crispin        2019-11-25  1328  		}
9f056ed8ee01ad John Crispin        2019-11-25  1329  		v = le16_to_cpu(he_cap->he_mcs_nss_supp.rx_mcs_160);
9f056ed8ee01ad John Crispin        2019-11-25  1330  		arg->peer_he_rx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_160] = v;
9f056ed8ee01ad John Crispin        2019-11-25  1331  
9f056ed8ee01ad John Crispin        2019-11-25  1332  		v = le16_to_cpu(he_cap->he_mcs_nss_supp.tx_mcs_160);
9f056ed8ee01ad John Crispin        2019-11-25  1333  		arg->peer_he_tx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_160] = v;
9f056ed8ee01ad John Crispin        2019-11-25  1334  
9f056ed8ee01ad John Crispin        2019-11-25  1335  		arg->peer_he_mcs_count++;
0b294aebb6a00b Gustavo A. R. Silva 2020-07-27  1336  		fallthrough;
9f056ed8ee01ad John Crispin        2019-11-25  1337  
9f056ed8ee01ad John Crispin        2019-11-25  1338  	default:
9f056ed8ee01ad John Crispin        2019-11-25  1339  		v = le16_to_cpu(he_cap->he_mcs_nss_supp.rx_mcs_80);
9f056ed8ee01ad John Crispin        2019-11-25  1340  		arg->peer_he_rx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_80] = v;
9f056ed8ee01ad John Crispin        2019-11-25  1341  
9f056ed8ee01ad John Crispin        2019-11-25  1342  		v = le16_to_cpu(he_cap->he_mcs_nss_supp.tx_mcs_80);
9f056ed8ee01ad John Crispin        2019-11-25  1343  		arg->peer_he_tx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_80] = v;
9f056ed8ee01ad John Crispin        2019-11-25  1344  
9f056ed8ee01ad John Crispin        2019-11-25  1345  		arg->peer_he_mcs_count++;
9f056ed8ee01ad John Crispin        2019-11-25  1346  		break;
9f056ed8ee01ad John Crispin        2019-11-25  1347  	}
d5c65159f28953 Kalle Valo          2019-11-23  1348  }
d5c65159f28953 Kalle Valo          2019-11-23  1349  

---
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: 36830 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 07/15] wireless: align HE capabilities A-MPDU Length Exponent Extension
Date: Sat, 10 Apr 2021 17:20:27 +0800	[thread overview]
Message-ID: <202104101759.SSHeO3Rh-lkp@intel.com> (raw)
In-Reply-To: <iwlwifi.20210409123755.c2a257d3e2df.I3455245d388c52c61dace7e7958dbed7e807cfb6@changeid>

[-- Attachment #1: Type: text/plain, Size: 13372 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-a006-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/14d0d9bb385498f53ad9d73ebac33c6ef919be7c
        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 14d0d9bb385498f53ad9d73ebac33c6ef919be7c
        # 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/ath/ath11k/mac.c:1270:4: error: use of undeclared identifier 'IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_SHIFT'
                           IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_SHIFT;
                           ^
   drivers/net/wireless/ath/ath11k/mac.c:3810:6: error: use of undeclared identifier 'IEEE80211_HE_MAC_CAP5_SUBCHAN_SELECVITE_TRANSMISSION'
           m = IEEE80211_HE_MAC_CAP5_SUBCHAN_SELECVITE_TRANSMISSION |
               ^
   drivers/net/wireless/ath/ath11k/mac.c:3820:6: error: use of undeclared identifier 'IEEE80211_HE_PHY_CAP3_RX_HE_MU_PPDU_FROM_NON_AP_STA'
           m = IEEE80211_HE_PHY_CAP3_RX_HE_MU_PPDU_FROM_NON_AP_STA |
               ^
   drivers/net/wireless/ath/ath11k/mac.c:3832:6: error: use of undeclared identifier 'IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMER_FB'
               IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMER_FB |
               ^
   drivers/net/wireless/ath/ath11k/mac.c:3837:6: error: use of undeclared identifier 'IEEE80211_HE_PHY_CAP7_SRP_BASED_SR'
           m = IEEE80211_HE_PHY_CAP7_SRP_BASED_SR |
               ^
   drivers/net/wireless/ath/ath11k/mac.c:3838:6: error: use of undeclared identifier 'IEEE80211_HE_PHY_CAP7_POWER_BOOST_FACTOR_AR'
               IEEE80211_HE_PHY_CAP7_POWER_BOOST_FACTOR_AR |
               ^
   6 errors generated.


vim +/IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_SHIFT +1270 drivers/net/wireless/ath/ath11k/mac.c

d5c65159f28953 Kalle Valo          2019-11-23  1233  
d5c65159f28953 Kalle Valo          2019-11-23  1234  static void ath11k_peer_assoc_h_he(struct ath11k *ar,
d5c65159f28953 Kalle Valo          2019-11-23  1235  				   struct ieee80211_vif *vif,
d5c65159f28953 Kalle Valo          2019-11-23  1236  				   struct ieee80211_sta *sta,
d5c65159f28953 Kalle Valo          2019-11-23  1237  				   struct peer_assoc_params *arg)
d5c65159f28953 Kalle Valo          2019-11-23  1238  {
9f056ed8ee01ad John Crispin        2019-11-25  1239  	const struct ieee80211_sta_he_cap *he_cap = &sta->he_cap;
af6d39db1b046a Tamizh Chelvam      2020-09-08  1240  	u8 ampdu_factor;
9f056ed8ee01ad John Crispin        2019-11-25  1241  	u16 v;
9f056ed8ee01ad John Crispin        2019-11-25  1242  
9f056ed8ee01ad John Crispin        2019-11-25  1243  	if (!he_cap->has_he)
9f056ed8ee01ad John Crispin        2019-11-25  1244  		return;
9f056ed8ee01ad John Crispin        2019-11-25  1245  
9f056ed8ee01ad John Crispin        2019-11-25  1246  	arg->he_flag = true;
9f056ed8ee01ad John Crispin        2019-11-25  1247  
9f056ed8ee01ad John Crispin        2019-11-25  1248  	memcpy(&arg->peer_he_cap_macinfo, he_cap->he_cap_elem.mac_cap_info,
9f056ed8ee01ad John Crispin        2019-11-25  1249  	       sizeof(arg->peer_he_cap_macinfo));
9f056ed8ee01ad John Crispin        2019-11-25  1250  	memcpy(&arg->peer_he_cap_phyinfo, he_cap->he_cap_elem.phy_cap_info,
9f056ed8ee01ad John Crispin        2019-11-25  1251  	       sizeof(arg->peer_he_cap_phyinfo));
60689de46c7f6a Rajkumar Manoharan  2020-04-24  1252  	arg->peer_he_ops = vif->bss_conf.he_oper.params;
9f056ed8ee01ad John Crispin        2019-11-25  1253  
9f056ed8ee01ad John Crispin        2019-11-25  1254  	/* the top most byte is used to indicate BSS color info */
9f056ed8ee01ad John Crispin        2019-11-25  1255  	arg->peer_he_ops &= 0xffffff;
9f056ed8ee01ad John Crispin        2019-11-25  1256  
af6d39db1b046a Tamizh Chelvam      2020-09-08  1257  	/* As per section 26.6.1 11ax Draft5.0, if the Max AMPDU Exponent Extension
af6d39db1b046a Tamizh Chelvam      2020-09-08  1258  	 * in HE cap is zero, use the arg->peer_max_mpdu as calculated while parsing
af6d39db1b046a Tamizh Chelvam      2020-09-08  1259  	 * VHT caps(if VHT caps is present) or HT caps (if VHT caps is not present).
af6d39db1b046a Tamizh Chelvam      2020-09-08  1260  	 *
af6d39db1b046a Tamizh Chelvam      2020-09-08  1261  	 * For non-zero value of Max AMPDU Extponent Extension in HE MAC caps,
af6d39db1b046a Tamizh Chelvam      2020-09-08  1262  	 * if a HE STA sends VHT cap and HE cap IE in assoc request then, use
af6d39db1b046a Tamizh Chelvam      2020-09-08  1263  	 * MAX_AMPDU_LEN_FACTOR as 20 to calculate max_ampdu length.
af6d39db1b046a Tamizh Chelvam      2020-09-08  1264  	 * If a HE STA that does not send VHT cap, but HE and HT cap in assoc
af6d39db1b046a Tamizh Chelvam      2020-09-08  1265  	 * request, then use MAX_AMPDU_LEN_FACTOR as 16 to calculate max_ampdu
af6d39db1b046a Tamizh Chelvam      2020-09-08  1266  	 * length.
af6d39db1b046a Tamizh Chelvam      2020-09-08  1267  	 */
af6d39db1b046a Tamizh Chelvam      2020-09-08  1268  	ampdu_factor = (he_cap->he_cap_elem.mac_cap_info[3] &
af6d39db1b046a Tamizh Chelvam      2020-09-08  1269  			IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_MASK) >>
af6d39db1b046a Tamizh Chelvam      2020-09-08 @1270  			IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_SHIFT;
af6d39db1b046a Tamizh Chelvam      2020-09-08  1271  
af6d39db1b046a Tamizh Chelvam      2020-09-08  1272  	if (ampdu_factor) {
af6d39db1b046a Tamizh Chelvam      2020-09-08  1273  		if (sta->vht_cap.vht_supported)
af6d39db1b046a Tamizh Chelvam      2020-09-08  1274  			arg->peer_max_mpdu = (1 << (IEEE80211_HE_VHT_MAX_AMPDU_FACTOR +
af6d39db1b046a Tamizh Chelvam      2020-09-08  1275  						    ampdu_factor)) - 1;
af6d39db1b046a Tamizh Chelvam      2020-09-08  1276  		else if (sta->ht_cap.ht_supported)
af6d39db1b046a Tamizh Chelvam      2020-09-08  1277  			arg->peer_max_mpdu = (1 << (IEEE80211_HE_HT_MAX_AMPDU_FACTOR +
af6d39db1b046a Tamizh Chelvam      2020-09-08  1278  						    ampdu_factor)) - 1;
af6d39db1b046a Tamizh Chelvam      2020-09-08  1279  	}
af6d39db1b046a Tamizh Chelvam      2020-09-08  1280  
9f056ed8ee01ad John Crispin        2019-11-25  1281  	if (he_cap->he_cap_elem.phy_cap_info[6] &
9f056ed8ee01ad John Crispin        2019-11-25  1282  	    IEEE80211_HE_PHY_CAP6_PPE_THRESHOLD_PRESENT) {
9f056ed8ee01ad John Crispin        2019-11-25  1283  		int bit = 7;
9f056ed8ee01ad John Crispin        2019-11-25  1284  		int nss, ru;
9f056ed8ee01ad John Crispin        2019-11-25  1285  
9f056ed8ee01ad John Crispin        2019-11-25  1286  		arg->peer_ppet.numss_m1 = he_cap->ppe_thres[0] &
9f056ed8ee01ad John Crispin        2019-11-25  1287  					  IEEE80211_PPE_THRES_NSS_MASK;
9f056ed8ee01ad John Crispin        2019-11-25  1288  		arg->peer_ppet.ru_bit_mask =
9f056ed8ee01ad John Crispin        2019-11-25  1289  			(he_cap->ppe_thres[0] &
9f056ed8ee01ad John Crispin        2019-11-25  1290  			 IEEE80211_PPE_THRES_RU_INDEX_BITMASK_MASK) >>
9f056ed8ee01ad John Crispin        2019-11-25  1291  			IEEE80211_PPE_THRES_RU_INDEX_BITMASK_POS;
9f056ed8ee01ad John Crispin        2019-11-25  1292  
9f056ed8ee01ad John Crispin        2019-11-25  1293  		for (nss = 0; nss <= arg->peer_ppet.numss_m1; nss++) {
9f056ed8ee01ad John Crispin        2019-11-25  1294  			for (ru = 0; ru < 4; ru++) {
9f056ed8ee01ad John Crispin        2019-11-25  1295  				u32 val = 0;
9f056ed8ee01ad John Crispin        2019-11-25  1296  				int i;
9f056ed8ee01ad John Crispin        2019-11-25  1297  
9f056ed8ee01ad John Crispin        2019-11-25  1298  				if ((arg->peer_ppet.ru_bit_mask & BIT(ru)) == 0)
9f056ed8ee01ad John Crispin        2019-11-25  1299  					continue;
9f056ed8ee01ad John Crispin        2019-11-25  1300  				for (i = 0; i < 6; i++) {
9f056ed8ee01ad John Crispin        2019-11-25  1301  					val >>= 1;
9f056ed8ee01ad John Crispin        2019-11-25  1302  					val |= ((he_cap->ppe_thres[bit / 8] >>
9f056ed8ee01ad John Crispin        2019-11-25  1303  						 (bit % 8)) & 0x1) << 5;
9f056ed8ee01ad John Crispin        2019-11-25  1304  					bit++;
9f056ed8ee01ad John Crispin        2019-11-25  1305  				}
9f056ed8ee01ad John Crispin        2019-11-25  1306  				arg->peer_ppet.ppet16_ppet8_ru3_ru0[nss] |=
9f056ed8ee01ad John Crispin        2019-11-25  1307  								val << (ru * 6);
9f056ed8ee01ad John Crispin        2019-11-25  1308  			}
9f056ed8ee01ad John Crispin        2019-11-25  1309  		}
9f056ed8ee01ad John Crispin        2019-11-25  1310  	}
9f056ed8ee01ad John Crispin        2019-11-25  1311  
6d293d447670da John Crispin        2019-11-25  1312  	if (he_cap->he_cap_elem.mac_cap_info[0] & IEEE80211_HE_MAC_CAP0_TWT_RES)
6d293d447670da John Crispin        2019-11-25  1313  		arg->twt_responder = true;
6d293d447670da John Crispin        2019-11-25  1314  	if (he_cap->he_cap_elem.mac_cap_info[0] & IEEE80211_HE_MAC_CAP0_TWT_REQ)
6d293d447670da John Crispin        2019-11-25  1315  		arg->twt_requester = true;
6d293d447670da John Crispin        2019-11-25  1316  
9f056ed8ee01ad John Crispin        2019-11-25  1317  	switch (sta->bandwidth) {
9f056ed8ee01ad John Crispin        2019-11-25  1318  	case IEEE80211_STA_RX_BW_160:
9f056ed8ee01ad John Crispin        2019-11-25  1319  		if (he_cap->he_cap_elem.phy_cap_info[0] &
9f056ed8ee01ad John Crispin        2019-11-25  1320  		    IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_80PLUS80_MHZ_IN_5G) {
9f056ed8ee01ad John Crispin        2019-11-25  1321  			v = le16_to_cpu(he_cap->he_mcs_nss_supp.rx_mcs_80p80);
9f056ed8ee01ad John Crispin        2019-11-25  1322  			arg->peer_he_rx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_80_80] = v;
9f056ed8ee01ad John Crispin        2019-11-25  1323  
9f056ed8ee01ad John Crispin        2019-11-25  1324  			v = le16_to_cpu(he_cap->he_mcs_nss_supp.tx_mcs_80p80);
9f056ed8ee01ad John Crispin        2019-11-25  1325  			arg->peer_he_tx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_80_80] = v;
9f056ed8ee01ad John Crispin        2019-11-25  1326  
9f056ed8ee01ad John Crispin        2019-11-25  1327  			arg->peer_he_mcs_count++;
9f056ed8ee01ad John Crispin        2019-11-25  1328  		}
9f056ed8ee01ad John Crispin        2019-11-25  1329  		v = le16_to_cpu(he_cap->he_mcs_nss_supp.rx_mcs_160);
9f056ed8ee01ad John Crispin        2019-11-25  1330  		arg->peer_he_rx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_160] = v;
9f056ed8ee01ad John Crispin        2019-11-25  1331  
9f056ed8ee01ad John Crispin        2019-11-25  1332  		v = le16_to_cpu(he_cap->he_mcs_nss_supp.tx_mcs_160);
9f056ed8ee01ad John Crispin        2019-11-25  1333  		arg->peer_he_tx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_160] = v;
9f056ed8ee01ad John Crispin        2019-11-25  1334  
9f056ed8ee01ad John Crispin        2019-11-25  1335  		arg->peer_he_mcs_count++;
0b294aebb6a00b Gustavo A. R. Silva 2020-07-27  1336  		fallthrough;
9f056ed8ee01ad John Crispin        2019-11-25  1337  
9f056ed8ee01ad John Crispin        2019-11-25  1338  	default:
9f056ed8ee01ad John Crispin        2019-11-25  1339  		v = le16_to_cpu(he_cap->he_mcs_nss_supp.rx_mcs_80);
9f056ed8ee01ad John Crispin        2019-11-25  1340  		arg->peer_he_rx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_80] = v;
9f056ed8ee01ad John Crispin        2019-11-25  1341  
9f056ed8ee01ad John Crispin        2019-11-25  1342  		v = le16_to_cpu(he_cap->he_mcs_nss_supp.tx_mcs_80);
9f056ed8ee01ad John Crispin        2019-11-25  1343  		arg->peer_he_tx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_80] = v;
9f056ed8ee01ad John Crispin        2019-11-25  1344  
9f056ed8ee01ad John Crispin        2019-11-25  1345  		arg->peer_he_mcs_count++;
9f056ed8ee01ad John Crispin        2019-11-25  1346  		break;
9f056ed8ee01ad John Crispin        2019-11-25  1347  	}
d5c65159f28953 Kalle Valo          2019-11-23  1348  }
d5c65159f28953 Kalle Valo          2019-11-23  1349  

---
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: 36830 bytes --]

  parent reply	other threads:[~2021-04-10  9:21 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 [this message]
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
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=202104101759.SSHeO3Rh-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.