Message ID | 20231219215605.dc39b33bf507.I04dfda24d73091fb75701279d10ac400314de488@changeid |
---|---|
State | Superseded |
Headers | show |
Series | wifi: iwlwifi: updates - 2023-12-06 | expand |
Hi Miri, kernel test robot noticed the following build errors: [auto build test ERROR on wireless-next/main] [also build test ERROR on wireless/main linus/master v6.7-rc6 next-20231220] [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#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Miri-Korenblit/iwlwifi-mvm-set-siso-mimo-chains-to-1-in-FW-SMPS-request/20231220-040247 base: https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git main patch link: https://lore.kernel.org/r/20231219215605.dc39b33bf507.I04dfda24d73091fb75701279d10ac400314de488%40changeid patch subject: [PATCH 02/14] wifi: iwlwifi: mvm: Allow DFS concurrent operation config: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20231221/202312210330.BRAWF2Tp-lkp@intel.com/config) compiler: clang version 16.0.4 (https://github.com/llvm/llvm-project.git ae42196bc493ffe877a7e3dff8be32035dea4d07) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231221/202312210330.BRAWF2Tp-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202312210330.BRAWF2Tp-lkp@intel.com/ All errors (new ones prefixed by >>): >> drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c:1616:13: error: use of undeclared identifier 'NL80211_RRF_DFS_CONCURRENT'; did you mean 'NL80211_RRF_IR_CONCURRENT'? flags |= NL80211_RRF_DFS_CONCURRENT; ^~~~~~~~~~~~~~~~~~~~~~~~~~ NL80211_RRF_IR_CONCURRENT include/uapi/linux/nl80211.h:4515:2: note: 'NL80211_RRF_IR_CONCURRENT' declared here NL80211_RRF_IR_CONCURRENT = 1<<12, ^ 1 error generated. -- >> drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c:522:11: error: use of undeclared identifier 'NL80211_EXT_FEATURE_DFS_CONCURRENT' NL80211_EXT_FEATURE_DFS_CONCURRENT); ^ 1 error generated. vim +1616 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c 1574 1575 static u32 iwl_nvm_get_regdom_bw_flags(const u16 *nvm_chan, 1576 int ch_idx, u16 nvm_flags, 1577 struct iwl_reg_capa reg_capa, 1578 const struct iwl_cfg *cfg) 1579 { 1580 u32 flags = NL80211_RRF_NO_HT40; 1581 1582 if (ch_idx < NUM_2GHZ_CHANNELS && 1583 (nvm_flags & NVM_CHANNEL_40MHZ)) { 1584 if (nvm_chan[ch_idx] <= LAST_2GHZ_HT_PLUS) 1585 flags &= ~NL80211_RRF_NO_HT40PLUS; 1586 if (nvm_chan[ch_idx] >= FIRST_2GHZ_HT_MINUS) 1587 flags &= ~NL80211_RRF_NO_HT40MINUS; 1588 } else if (nvm_flags & NVM_CHANNEL_40MHZ) { 1589 if ((ch_idx - NUM_2GHZ_CHANNELS) % 2 == 0) 1590 flags &= ~NL80211_RRF_NO_HT40PLUS; 1591 else 1592 flags &= ~NL80211_RRF_NO_HT40MINUS; 1593 } 1594 1595 if (!(nvm_flags & NVM_CHANNEL_80MHZ)) 1596 flags |= NL80211_RRF_NO_80MHZ; 1597 if (!(nvm_flags & NVM_CHANNEL_160MHZ)) 1598 flags |= NL80211_RRF_NO_160MHZ; 1599 1600 if (!(nvm_flags & NVM_CHANNEL_ACTIVE)) 1601 flags |= NL80211_RRF_NO_IR; 1602 1603 if (nvm_flags & NVM_CHANNEL_RADAR) 1604 flags |= NL80211_RRF_DFS; 1605 1606 if (nvm_flags & NVM_CHANNEL_INDOOR_ONLY) 1607 flags |= NL80211_RRF_NO_OUTDOOR; 1608 1609 /* Set the GO concurrent flag only in case that NO_IR is set. 1610 * Otherwise it is meaningless 1611 */ 1612 if ((nvm_flags & NVM_CHANNEL_GO_CONCURRENT)) { 1613 if (flags & NL80211_RRF_NO_IR) 1614 flags |= NL80211_RRF_GO_CONCURRENT; 1615 if (flags & NL80211_RRF_DFS) > 1616 flags |= NL80211_RRF_DFS_CONCURRENT; 1617 } 1618 /* 1619 * reg_capa is per regulatory domain so apply it for every channel 1620 */ 1621 if (ch_idx >= NUM_2GHZ_CHANNELS) { 1622 if (!reg_capa.allow_40mhz) 1623 flags |= NL80211_RRF_NO_HT40; 1624 1625 if (!reg_capa.allow_80mhz) 1626 flags |= NL80211_RRF_NO_80MHZ; 1627 1628 if (!reg_capa.allow_160mhz) 1629 flags |= NL80211_RRF_NO_160MHZ; 1630 1631 if (!reg_capa.allow_320mhz) 1632 flags |= NL80211_RRF_NO_320MHZ; 1633 } 1634 1635 if (reg_capa.disable_11ax) 1636 flags |= NL80211_RRF_NO_HE; 1637 1638 if (reg_capa.disable_11be) 1639 flags |= NL80211_RRF_NO_EHT; 1640 1641 return flags; 1642 } 1643
Hi Miri, kernel test robot noticed the following build errors: [auto build test ERROR on wireless-next/main] [also build test ERROR on wireless/main linus/master v6.7-rc6 next-20231220] [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#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Miri-Korenblit/iwlwifi-mvm-set-siso-mimo-chains-to-1-in-FW-SMPS-request/20231220-040247 base: https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git main patch link: https://lore.kernel.org/r/20231219215605.dc39b33bf507.I04dfda24d73091fb75701279d10ac400314de488%40changeid patch subject: [PATCH 02/14] wifi: iwlwifi: mvm: Allow DFS concurrent operation config: loongarch-allmodconfig (https://download.01.org/0day-ci/archive/20231221/202312210343.J7eedmDf-lkp@intel.com/config) compiler: loongarch64-linux-gcc (GCC) 13.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231221/202312210343.J7eedmDf-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202312210343.J7eedmDf-lkp@intel.com/ All errors (new ones prefixed by >>): drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c: In function 'iwl_nvm_get_regdom_bw_flags': >> drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c:1616:34: error: 'NL80211_RRF_DFS_CONCURRENT' undeclared (first use in this function); did you mean 'NL80211_RRF_IR_CONCURRENT'? 1616 | flags |= NL80211_RRF_DFS_CONCURRENT; | ^~~~~~~~~~~~~~~~~~~~~~~~~~ | NL80211_RRF_IR_CONCURRENT drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c:1616:34: note: each undeclared identifier is reported only once for each function it appears in -- drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c: In function 'iwl_mvm_mac_setup_register': >> drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c:522:39: error: 'NL80211_EXT_FEATURE_DFS_CONCURRENT' undeclared (first use in this function); did you mean 'NL80211_EXT_FEATURE_BSS_COLOR'? 522 | NL80211_EXT_FEATURE_DFS_CONCURRENT); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | NL80211_EXT_FEATURE_BSS_COLOR drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c:522:39: note: each undeclared identifier is reported only once for each function it appears in vim +1616 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c 1574 1575 static u32 iwl_nvm_get_regdom_bw_flags(const u16 *nvm_chan, 1576 int ch_idx, u16 nvm_flags, 1577 struct iwl_reg_capa reg_capa, 1578 const struct iwl_cfg *cfg) 1579 { 1580 u32 flags = NL80211_RRF_NO_HT40; 1581 1582 if (ch_idx < NUM_2GHZ_CHANNELS && 1583 (nvm_flags & NVM_CHANNEL_40MHZ)) { 1584 if (nvm_chan[ch_idx] <= LAST_2GHZ_HT_PLUS) 1585 flags &= ~NL80211_RRF_NO_HT40PLUS; 1586 if (nvm_chan[ch_idx] >= FIRST_2GHZ_HT_MINUS) 1587 flags &= ~NL80211_RRF_NO_HT40MINUS; 1588 } else if (nvm_flags & NVM_CHANNEL_40MHZ) { 1589 if ((ch_idx - NUM_2GHZ_CHANNELS) % 2 == 0) 1590 flags &= ~NL80211_RRF_NO_HT40PLUS; 1591 else 1592 flags &= ~NL80211_RRF_NO_HT40MINUS; 1593 } 1594 1595 if (!(nvm_flags & NVM_CHANNEL_80MHZ)) 1596 flags |= NL80211_RRF_NO_80MHZ; 1597 if (!(nvm_flags & NVM_CHANNEL_160MHZ)) 1598 flags |= NL80211_RRF_NO_160MHZ; 1599 1600 if (!(nvm_flags & NVM_CHANNEL_ACTIVE)) 1601 flags |= NL80211_RRF_NO_IR; 1602 1603 if (nvm_flags & NVM_CHANNEL_RADAR) 1604 flags |= NL80211_RRF_DFS; 1605 1606 if (nvm_flags & NVM_CHANNEL_INDOOR_ONLY) 1607 flags |= NL80211_RRF_NO_OUTDOOR; 1608 1609 /* Set the GO concurrent flag only in case that NO_IR is set. 1610 * Otherwise it is meaningless 1611 */ 1612 if ((nvm_flags & NVM_CHANNEL_GO_CONCURRENT)) { 1613 if (flags & NL80211_RRF_NO_IR) 1614 flags |= NL80211_RRF_GO_CONCURRENT; 1615 if (flags & NL80211_RRF_DFS) > 1616 flags |= NL80211_RRF_DFS_CONCURRENT; 1617 } 1618 /* 1619 * reg_capa is per regulatory domain so apply it for every channel 1620 */ 1621 if (ch_idx >= NUM_2GHZ_CHANNELS) { 1622 if (!reg_capa.allow_40mhz) 1623 flags |= NL80211_RRF_NO_HT40; 1624 1625 if (!reg_capa.allow_80mhz) 1626 flags |= NL80211_RRF_NO_80MHZ; 1627 1628 if (!reg_capa.allow_160mhz) 1629 flags |= NL80211_RRF_NO_160MHZ; 1630 1631 if (!reg_capa.allow_320mhz) 1632 flags |= NL80211_RRF_NO_320MHZ; 1633 } 1634 1635 if (reg_capa.disable_11ax) 1636 flags |= NL80211_RRF_NO_HE; 1637 1638 if (reg_capa.disable_11be) 1639 flags |= NL80211_RRF_NO_EHT; 1640 1641 return flags; 1642 } 1643
diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c index 480f8edbfd35..1bccbbe9a5ea 100644 --- a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c +++ b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c @@ -1609,10 +1609,12 @@ static u32 iwl_nvm_get_regdom_bw_flags(const u16 *nvm_chan, /* Set the GO concurrent flag only in case that NO_IR is set. * Otherwise it is meaningless */ - if ((nvm_flags & NVM_CHANNEL_GO_CONCURRENT) && - (flags & NL80211_RRF_NO_IR)) - flags |= NL80211_RRF_GO_CONCURRENT; - + if ((nvm_flags & NVM_CHANNEL_GO_CONCURRENT)) { + if (flags & NL80211_RRF_NO_IR) + flags |= NL80211_RRF_GO_CONCURRENT; + if (flags & NL80211_RRF_DFS) + flags |= NL80211_RRF_DFS_CONCURRENT; + } /* * reg_capa is per regulatory domain so apply it for every channel */ diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c index a64600f0ed9f..06de4dc2a915 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c @@ -517,6 +517,10 @@ int iwl_mvm_mac_setup_register(struct iwl_mvm *mvm) hw->wiphy->regulatory_flags |= REGULATORY_CUSTOM_REG | REGULATORY_DISABLE_BEACON_HINTS; + if (mvm->trans->trans_cfg->device_family >= IWL_DEVICE_FAMILY_AX210) + wiphy_ext_feature_set(hw->wiphy, + NL80211_EXT_FEATURE_DFS_CONCURRENT); + hw->wiphy->flags |= WIPHY_FLAG_AP_UAPSD; hw->wiphy->flags |= WIPHY_FLAG_HAS_CHANNEL_SWITCH; hw->wiphy->flags |= WIPHY_FLAG_SPLIT_SCAN_6GHZ;