All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/13] wifi: iwlwifi: updates - 2024-02-08
@ 2024-02-08 16:58 Miri Korenblit
  2024-02-08 16:58 ` [PATCH 01/13] wifi: iwlwifi: nvm: parse the VLP/AFC bit from regulatory Miri Korenblit
                   ` (12 more replies)
  0 siblings, 13 replies; 16+ messages in thread
From: Miri Korenblit @ 2024-02-08 16:58 UTC (permalink / raw)
  To: johannes; +Cc: linux-wireless

Hi,

This patch set includes iwlwifi patches intended for v6.9. It contains a
few features, bugfixes and cleanups.

Thanks,

Ilan Peer (2):
  wifi: iwlwifi: mvm: Extend support for P2P service discovery
  wifi: iwlwifi: mvm: Fix the listener MAC filter flags

Johannes Berg (9):
  wifi: iwlwifi: mvm: work around A-MSDU size problem
  wifi: iwlwifi: api: fix constant version to match FW
  wifi: iwlwifi: don't use TRUE/FALSE with bool
  wifi: iwlwifi: mvm: fix thermal kernel-doc
  wifi: iwlwifi: error-dump: fix kernel-doc issues
  wifi: iwlwifi: api: dbg-tlv: fix up kernel-doc
  wifi: iwlwifi: fw: file: clean up kernel-doc
  wifi: iwlwifi: iwl-trans.h: clean up kernel-doc
  wifi: iwlwifi: mvm: check own capabilities for EMLSR

Miri Korenblit (1):
  wifi: iwlwifi: bump FW API to 89 for AX/BZ/SC devices

Mukesh Sisodiya (1):
  wifi: iwlwifi: nvm: parse the VLP/AFC bit from regulatory

 .../net/wireless/intel/iwlwifi/cfg/ax210.c    |  4 +-
 drivers/net/wireless/intel/iwlwifi/cfg/bz.c   |  4 +-
 drivers/net/wireless/intel/iwlwifi/cfg/sc.c   |  2 +-
 .../wireless/intel/iwlwifi/fw/api/dbg-tlv.h   |  8 ++-
 .../net/wireless/intel/iwlwifi/fw/api/mac.h   | 10 +--
 .../wireless/intel/iwlwifi/fw/error-dump.h    | 23 ++++---
 drivers/net/wireless/intel/iwlwifi/fw/file.h  | 16 ++++-
 .../net/wireless/intel/iwlwifi/iwl-dbg-tlv.c  | 10 +--
 .../wireless/intel/iwlwifi/iwl-nvm-parse.c    | 33 ++++++++--
 .../wireless/intel/iwlwifi/iwl-nvm-parse.h    |  2 +-
 .../net/wireless/intel/iwlwifi/iwl-trans.h    | 64 +++++++++++++++----
 drivers/net/wireless/intel/iwlwifi/mvm/d3.c   |  2 +-
 drivers/net/wireless/intel/iwlwifi/mvm/fw.c   |  2 +-
 .../net/wireless/intel/iwlwifi/mvm/mac80211.c |  3 +-
 .../net/wireless/intel/iwlwifi/mvm/mld-mac.c  | 11 ++--
 .../wireless/intel/iwlwifi/mvm/mld-mac80211.c |  7 ++
 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h  |  4 +-
 drivers/net/wireless/intel/iwlwifi/mvm/ops.c  |  2 +-
 .../net/wireless/intel/iwlwifi/mvm/rs-fw.c    | 10 ++-
 19 files changed, 155 insertions(+), 62 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH 01/13] wifi: iwlwifi: nvm: parse the VLP/AFC bit from regulatory
  2024-02-08 16:58 [PATCH 00/13] wifi: iwlwifi: updates - 2024-02-08 Miri Korenblit
@ 2024-02-08 16:58 ` Miri Korenblit
  2024-02-09  3:40   ` kernel test robot
  2024-02-10 13:44   ` kernel test robot
  2024-02-08 16:58 ` [PATCH 02/13] wifi: iwlwifi: mvm: work around A-MSDU size problem Miri Korenblit
                   ` (11 subsequent siblings)
  12 siblings, 2 replies; 16+ messages in thread
From: Miri Korenblit @ 2024-02-08 16:58 UTC (permalink / raw)
  To: johannes; +Cc: linux-wireless, Mukesh Sisodiya, Gregory Greenman

From: Mukesh Sisodiya <mukesh.sisodiya@intel.com>

6 GHz STA supports different power types as LPI, SP, VLP.
and this information is provided by regulatory info.

Add support in driver to parse the power type capability in
regulatory info from FW and set it to the channel flags.

Signed-off-by: Mukesh Sisodiya <mukesh.sisodiya@intel.com>
Reviewed-by: Gregory Greenman <gregory.greenman@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
---
 .../wireless/intel/iwlwifi/iwl-nvm-parse.c    | 33 ++++++++++++++++---
 .../wireless/intel/iwlwifi/iwl-nvm-parse.h    |  2 +-
 .../net/wireless/intel/iwlwifi/mvm/mac80211.c |  3 +-
 3 files changed, 31 insertions(+), 7 deletions(-)

diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c
index d2f133255ee6..baa39a18087a 100644
--- a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c
+++ b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c
@@ -156,6 +156,8 @@ static struct ieee80211_rate iwl_cfg80211_rates[] = {
  * @NVM_CHANNEL_80MHZ: 80 MHz channel okay
  * @NVM_CHANNEL_160MHZ: 160 MHz channel okay
  * @NVM_CHANNEL_DC_HIGH: DC HIGH required/allowed (?)
+ * @NVM_CHANNEL_VLP: client support connection to UHB VLP AP
+ * @NVM_CHANNEL_AFC: client support connection to UHB AFC AP
  */
 enum iwl_nvm_channel_flags {
 	NVM_CHANNEL_VALID		= BIT(0),
@@ -170,6 +172,8 @@ enum iwl_nvm_channel_flags {
 	NVM_CHANNEL_80MHZ		= BIT(10),
 	NVM_CHANNEL_160MHZ		= BIT(11),
 	NVM_CHANNEL_DC_HIGH		= BIT(12),
+	NVM_CHANNEL_VLP			= BIT(13),
+	NVM_CHANNEL_AFC			= BIT(14),
 };
 
 /**
@@ -309,7 +313,7 @@ static inline void iwl_nvm_print_channel_flags(struct device *dev, u32 level,
 
 	/* Note: already can print up to 101 characters, 110 is the limit! */
 	IWL_DEBUG_DEV(dev, level,
-		      "Ch. %d: 0x%x:%s%s%s%s%s%s%s%s%s%s%s%s\n",
+		      "Ch. %d: 0x%x:%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n",
 		      chan, flags,
 		      CHECK_AND_PRINT_I(VALID),
 		      CHECK_AND_PRINT_I(IBSS),
@@ -322,7 +326,9 @@ static inline void iwl_nvm_print_channel_flags(struct device *dev, u32 level,
 		      CHECK_AND_PRINT_I(40MHZ),
 		      CHECK_AND_PRINT_I(80MHZ),
 		      CHECK_AND_PRINT_I(160MHZ),
-		      CHECK_AND_PRINT_I(DC_HIGH));
+		      CHECK_AND_PRINT_I(DC_HIGH),
+		      CHECK_AND_PRINT_I(VLP),
+		      CHECK_AND_PRINT_I(AFC));
 #undef CHECK_AND_PRINT_I
 }
 
@@ -366,6 +372,12 @@ static u32 iwl_get_channel_flags(u8 ch_num, int ch_idx, enum nl80211_band band,
 	    (flags & IEEE80211_CHAN_NO_IR))
 		flags |= IEEE80211_CHAN_IR_CONCURRENT;
 
+	/* Set the AP type for the UHB case. */
+	if (!(nvm_flags & NVM_CHANNEL_VLP))
+		flags |= IEEE80211_CHAN_NO_6GHZ_VLP_CLIENT;
+	if (!(nvm_flags & NVM_CHANNEL_AFC))
+		flags |= IEEE80211_CHAN_NO_6GHZ_AFC_CLIENT;
+
 	return flags;
 }
 
@@ -1600,7 +1612,8 @@ IWL_EXPORT_SYMBOL(iwl_parse_nvm_data);
 static u32 iwl_nvm_get_regdom_bw_flags(const u16 *nvm_chan,
 				       int ch_idx, u16 nvm_flags,
 				       struct iwl_reg_capa reg_capa,
-				       const struct iwl_cfg *cfg)
+				       const struct iwl_cfg *cfg,
+				       bool uats_enabled)
 {
 	u32 flags = NL80211_RRF_NO_HT40;
 
@@ -1645,6 +1658,16 @@ static u32 iwl_nvm_get_regdom_bw_flags(const u16 *nvm_chan,
 			flags &= ~NL80211_RRF_NO_IR;
 		}
 	}
+
+	/* Set the AP type for the UHB case. */
+	if (uats_enabled) {
+		if (!(nvm_flags & NVM_CHANNEL_VLP))
+			flags |= NL80211_RRF_NO_6GHZ_VLP_CLIENT;
+
+		if (!(nvm_flags & NVM_CHANNEL_AFC))
+			flags |= NL80211_RRF_NO_6GHZ_AFC_CLIENT;
+	}
+
 	/*
 	 * reg_capa is per regulatory domain so apply it for every channel
 	 */
@@ -1699,7 +1722,7 @@ static struct iwl_reg_capa iwl_get_reg_capa(u32 flags, u8 resp_ver)
 struct ieee80211_regdomain *
 iwl_parse_nvm_mcc_info(struct device *dev, const struct iwl_cfg *cfg,
 		       int num_of_ch, __le32 *channels, u16 fw_mcc,
-		       u16 geo_info, u32 cap, u8 resp_ver)
+		       u16 geo_info, u32 cap, u8 resp_ver, bool uats_enabled)
 {
 	int ch_idx;
 	u16 ch_flags;
@@ -1765,7 +1788,7 @@ iwl_parse_nvm_mcc_info(struct device *dev, const struct iwl_cfg *cfg,
 
 		reg_rule_flags = iwl_nvm_get_regdom_bw_flags(nvm_chan, ch_idx,
 							     ch_flags, reg_capa,
-							     cfg);
+							     cfg, uats_enabled);
 
 		/* we can't continue the same rule */
 		if (ch_idx == 0 || prev_reg_rule_flags != reg_rule_flags ||
diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.h b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.h
index 651ed25b683b..fd9c3bed9407 100644
--- a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.h
+++ b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.h
@@ -50,7 +50,7 @@ iwl_parse_nvm_data(struct iwl_trans *trans, const struct iwl_cfg *cfg,
 struct ieee80211_regdomain *
 iwl_parse_nvm_mcc_info(struct device *dev, const struct iwl_cfg *cfg,
 		       int num_of_ch, __le32 *channels, u16 fw_mcc,
-		       u16 geo_info, u32 cap, u8 resp_ver);
+		       u16 geo_info, u32 cap, u8 resp_ver, bool uats_enabled);
 
 /**
  * struct iwl_nvm_section - describes an NVM section in memory.
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
index a051e0c955d5..4a6b4f82eab4 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
@@ -138,7 +138,8 @@ struct ieee80211_regdomain *iwl_mvm_get_regdomain(struct wiphy *wiphy,
 				      resp->channels,
 				      __le16_to_cpu(resp->mcc),
 				      __le16_to_cpu(resp->geo_info),
-				      le32_to_cpu(resp->cap), resp_ver);
+				      le32_to_cpu(resp->cap), resp_ver,
+				      mvm->fwrt.uats_enabled);
 	/* Store the return source id */
 	src_id = resp->source_id;
 	if (IS_ERR_OR_NULL(regd)) {
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 02/13] wifi: iwlwifi: mvm: work around A-MSDU size problem
  2024-02-08 16:58 [PATCH 00/13] wifi: iwlwifi: updates - 2024-02-08 Miri Korenblit
  2024-02-08 16:58 ` [PATCH 01/13] wifi: iwlwifi: nvm: parse the VLP/AFC bit from regulatory Miri Korenblit
@ 2024-02-08 16:58 ` Miri Korenblit
  2024-02-08 16:58 ` [PATCH 03/13] wifi: iwlwifi: mvm: Extend support for P2P service discovery Miri Korenblit
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Miri Korenblit @ 2024-02-08 16:58 UTC (permalink / raw)
  To: johannes; +Cc: linux-wireless, Johannes Berg

From: Johannes Berg <johannes.berg@intel.com>

The firmware will now start with 1500 byte A-MSDU size
rather than 3500 as before, and that seems to cause some
really hard to debug problems. Keep A-MSDU disabled if
the size is less than 2000 to disable this for now.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
---
 drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c b/drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c
index 6cba8a353b53..d9b16ee8fd39 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c
@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
 /*
  * Copyright (C) 2017 Intel Deutschland GmbH
- * Copyright (C) 2018-2023 Intel Corporation
+ * Copyright (C) 2018-2024 Intel Corporation
  */
 #include "rs.h"
 #include "fw-api.h"
@@ -479,9 +479,15 @@ void iwl_mvm_tlc_update_notif(struct iwl_mvm *mvm,
 	}
 
 	if (flags & IWL_TLC_NOTIF_FLAG_AMSDU && !mvm_link_sta->orig_amsdu_len) {
+		u32 enabled = le32_to_cpu(notif->amsdu_enabled);
 		u16 size = le32_to_cpu(notif->amsdu_size);
 		int i;
 
+		if (size < 2000) {
+			size = 0;
+			enabled = 0;
+		}
+
 		if (link_sta->agg.max_amsdu_len < size) {
 			/*
 			 * In debug link_sta->agg.max_amsdu_len < size
@@ -492,7 +498,7 @@ void iwl_mvm_tlc_update_notif(struct iwl_mvm *mvm,
 			goto out;
 		}
 
-		mvmsta->amsdu_enabled = le32_to_cpu(notif->amsdu_enabled);
+		mvmsta->amsdu_enabled = enabled;
 		mvmsta->max_amsdu_len = size;
 		link_sta->agg.max_rc_amsdu_len = mvmsta->max_amsdu_len;
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 03/13] wifi: iwlwifi: mvm: Extend support for P2P service discovery
  2024-02-08 16:58 [PATCH 00/13] wifi: iwlwifi: updates - 2024-02-08 Miri Korenblit
  2024-02-08 16:58 ` [PATCH 01/13] wifi: iwlwifi: nvm: parse the VLP/AFC bit from regulatory Miri Korenblit
  2024-02-08 16:58 ` [PATCH 02/13] wifi: iwlwifi: mvm: work around A-MSDU size problem Miri Korenblit
@ 2024-02-08 16:58 ` Miri Korenblit
  2024-02-08 16:58 ` [PATCH 04/13] wifi: iwlwifi: mvm: Fix the listener MAC filter flags Miri Korenblit
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Miri Korenblit @ 2024-02-08 16:58 UTC (permalink / raw)
  To: johannes; +Cc: linux-wireless, Ilan Peer

From: Ilan Peer <ilan.peer@intel.com>

New additions to the P2P specification use action frames to
extend the P2P device discovery and service discovery. Thus,
configure the P2P Device link to accept all management frames.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
---
 drivers/net/wireless/intel/iwlwifi/mvm/mld-mac.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mld-mac.c b/drivers/net/wireless/intel/iwlwifi/mvm/mld-mac.c
index f313a8d771e4..4dc692c2c449 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/mld-mac.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/mld-mac.c
@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
 /*
- * Copyright (C) 2022 - 2023 Intel Corporation
+ * Copyright (C) 2022 - 2024 Intel Corporation
  */
 #include "mvm.h"
 
@@ -205,8 +205,11 @@ static int iwl_mvm_mld_mac_ctxt_cmd_p2p_device(struct iwl_mvm *mvm,
 	cmd.p2p_dev.is_disc_extended =
 		iwl_mac_ctxt_p2p_dev_has_extended_disc(mvm, vif);
 
-	/* Override the filter flags to accept only probe requests */
-	cmd.filter_flags = cpu_to_le32(MAC_CFG_FILTER_ACCEPT_PROBE_REQ);
+	/* Override the filter flags to accept all management frames. This is
+	 * needed to support both P2P device discovery using probe requests and
+	 * P2P service discovery using action frames
+	 */
+	cmd.filter_flags = cpu_to_le32(MAC_CFG_FILTER_ACCEPT_CONTROL_AND_MGMT);
 
 	return iwl_mvm_mld_mac_ctxt_send_cmd(mvm, &cmd);
 }
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 04/13] wifi: iwlwifi: mvm: Fix the listener MAC filter flags
  2024-02-08 16:58 [PATCH 00/13] wifi: iwlwifi: updates - 2024-02-08 Miri Korenblit
                   ` (2 preceding siblings ...)
  2024-02-08 16:58 ` [PATCH 03/13] wifi: iwlwifi: mvm: Extend support for P2P service discovery Miri Korenblit
@ 2024-02-08 16:58 ` Miri Korenblit
  2024-02-08 16:58 ` [PATCH 05/13] wifi: iwlwifi: api: fix constant version to match FW Miri Korenblit
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Miri Korenblit @ 2024-02-08 16:58 UTC (permalink / raw)
  To: johannes; +Cc: linux-wireless, Ilan Peer

From: Ilan Peer <ilan.peer@intel.com>

One of the flags was from the wrong API.

Fixes: 9be162a7b670 ("wifi: iwlwifi: mvm: add support for the new MAC CTXT command")
Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
---
 drivers/net/wireless/intel/iwlwifi/mvm/mld-mac.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mld-mac.c b/drivers/net/wireless/intel/iwlwifi/mvm/mld-mac.c
index 4dc692c2c449..bb7851042177 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/mld-mac.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/mld-mac.c
@@ -167,7 +167,7 @@ static int iwl_mvm_mld_mac_ctxt_cmd_listener(struct iwl_mvm *mvm,
 	iwl_mvm_mld_mac_ctxt_cmd_common(mvm, vif, &cmd, action);
 
 	cmd.filter_flags = cpu_to_le32(MAC_CFG_FILTER_PROMISC |
-				       MAC_FILTER_IN_CONTROL_AND_MGMT |
+				       MAC_CFG_FILTER_ACCEPT_CONTROL_AND_MGMT |
 				       MAC_CFG_FILTER_ACCEPT_BEACON |
 				       MAC_CFG_FILTER_ACCEPT_PROBE_REQ |
 				       MAC_CFG_FILTER_ACCEPT_GRP);
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 05/13] wifi: iwlwifi: api: fix constant version to match FW
  2024-02-08 16:58 [PATCH 00/13] wifi: iwlwifi: updates - 2024-02-08 Miri Korenblit
                   ` (3 preceding siblings ...)
  2024-02-08 16:58 ` [PATCH 04/13] wifi: iwlwifi: mvm: Fix the listener MAC filter flags Miri Korenblit
@ 2024-02-08 16:58 ` Miri Korenblit
  2024-02-08 16:58 ` [PATCH 06/13] wifi: iwlwifi: don't use TRUE/FALSE with bool Miri Korenblit
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Miri Korenblit @ 2024-02-08 16:58 UTC (permalink / raw)
  To: johannes; +Cc: linux-wireless, Johannes Berg

From: Johannes Berg <johannes.berg@intel.com>

The versioning here comes from the firmware, so it should
be the same as in the firmware, fix that.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
---
 drivers/net/wireless/intel/iwlwifi/fw/api/mac.h | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/net/wireless/intel/iwlwifi/fw/api/mac.h b/drivers/net/wireless/intel/iwlwifi/fw/api/mac.h
index 55882190251c..545826973a80 100644
--- a/drivers/net/wireless/intel/iwlwifi/fw/api/mac.h
+++ b/drivers/net/wireless/intel/iwlwifi/fw/api/mac.h
@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
 /*
- * Copyright (C) 2012-2014, 2018-2022 Intel Corporation
+ * Copyright (C) 2012-2014, 2018-2022, 2024 Intel Corporation
  * Copyright (C) 2017 Intel Deutschland GmbH
  */
 #ifndef __iwl_fw_api_mac_h__
@@ -431,8 +431,8 @@ enum iwl_he_pkt_ext_constellations {
 };
 
 #define MAX_HE_SUPP_NSS	2
-#define MAX_CHANNEL_BW_INDX_API_D_VER_2	4
-#define MAX_CHANNEL_BW_INDX_API_D_VER_3	5
+#define MAX_CHANNEL_BW_INDX_API_D_VER_1	4
+#define MAX_CHANNEL_BW_INDX_API_D_VER_2	5
 
 /**
  * struct iwl_he_pkt_ext_v1 - QAM thresholds
@@ -455,7 +455,7 @@ enum iwl_he_pkt_ext_constellations {
  *		(0-low_th, 1-high_th)
  */
 struct iwl_he_pkt_ext_v1 {
-	u8 pkt_ext_qam_th[MAX_HE_SUPP_NSS][MAX_CHANNEL_BW_INDX_API_D_VER_2][2];
+	u8 pkt_ext_qam_th[MAX_HE_SUPP_NSS][MAX_CHANNEL_BW_INDX_API_D_VER_1][2];
 } __packed; /* PKT_EXT_DOT11AX_API_S_VER_1 */
 
 /**
@@ -480,7 +480,7 @@ struct iwl_he_pkt_ext_v1 {
  *	(0-low_th, 1-high_th)
  */
 struct iwl_he_pkt_ext_v2 {
-	u8 pkt_ext_qam_th[MAX_HE_SUPP_NSS][MAX_CHANNEL_BW_INDX_API_D_VER_3][2];
+	u8 pkt_ext_qam_th[MAX_HE_SUPP_NSS][MAX_CHANNEL_BW_INDX_API_D_VER_2][2];
 } __packed; /* PKT_EXT_DOT11AX_API_S_VER_2 */
 
 /**
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 06/13] wifi: iwlwifi: don't use TRUE/FALSE with bool
  2024-02-08 16:58 [PATCH 00/13] wifi: iwlwifi: updates - 2024-02-08 Miri Korenblit
                   ` (4 preceding siblings ...)
  2024-02-08 16:58 ` [PATCH 05/13] wifi: iwlwifi: api: fix constant version to match FW Miri Korenblit
@ 2024-02-08 16:58 ` Miri Korenblit
  2024-02-08 16:58 ` [PATCH 07/13] wifi: iwlwifi: mvm: fix thermal kernel-doc Miri Korenblit
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Miri Korenblit @ 2024-02-08 16:58 UTC (permalink / raw)
  To: johannes; +Cc: linux-wireless, Johannes Berg

From: Johannes Berg <johannes.berg@intel.com>

With C99 bool we really also should use true/false, not the
upper-case variants, wherever they may actually be coming
from. Fix that.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
---
 drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c | 10 +++++-----
 drivers/net/wireless/intel/iwlwifi/mvm/d3.c      |  2 +-
 drivers/net/wireless/intel/iwlwifi/mvm/fw.c      |  2 +-
 drivers/net/wireless/intel/iwlwifi/mvm/ops.c     |  2 +-
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c b/drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
index 6cfcf1c14eaf..561d0c261123 100644
--- a/drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
+++ b/drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
@@ -1245,7 +1245,7 @@ iwl_dbg_tlv_tp_trigger(struct iwl_fw_runtime *fwrt, bool sync,
 			}
 		}
 
-		fwrt->trans->dbg.restart_required = FALSE;
+		fwrt->trans->dbg.restart_required = false;
 		IWL_DEBUG_FW(fwrt, "WRT: tp %d, reset_fw %d\n",
 			     tp, dump_data.trig->reset_fw);
 		IWL_DEBUG_FW(fwrt,
@@ -1255,22 +1255,22 @@ iwl_dbg_tlv_tp_trigger(struct iwl_fw_runtime *fwrt, bool sync,
 
 		if (fwrt->trans->trans_cfg->device_family ==
 		    IWL_DEVICE_FAMILY_9000) {
-			fwrt->trans->dbg.restart_required = TRUE;
+			fwrt->trans->dbg.restart_required = true;
 		} else if (tp == IWL_FW_INI_TIME_POINT_FW_ASSERT &&
 			   fwrt->trans->dbg.last_tp_resetfw ==
 			   IWL_FW_INI_RESET_FW_MODE_STOP_FW_ONLY) {
-			fwrt->trans->dbg.restart_required = FALSE;
+			fwrt->trans->dbg.restart_required = false;
 			fwrt->trans->dbg.last_tp_resetfw = 0xFF;
 			IWL_DEBUG_FW(fwrt, "WRT: FW_ASSERT due to reset_fw_mode-no restart\n");
 		} else if (le32_to_cpu(dump_data.trig->reset_fw) ==
 			   IWL_FW_INI_RESET_FW_MODE_STOP_AND_RELOAD_FW) {
 			IWL_DEBUG_FW(fwrt, "WRT: stop and reload firmware\n");
-			fwrt->trans->dbg.restart_required = TRUE;
+			fwrt->trans->dbg.restart_required = true;
 		} else if (le32_to_cpu(dump_data.trig->reset_fw) ==
 			   IWL_FW_INI_RESET_FW_MODE_STOP_FW_ONLY) {
 			IWL_DEBUG_FW(fwrt,
 				     "WRT: stop only and no reload firmware\n");
-			fwrt->trans->dbg.restart_required = FALSE;
+			fwrt->trans->dbg.restart_required = false;
 			fwrt->trans->dbg.last_tp_resetfw =
 				le32_to_cpu(dump_data.trig->reset_fw);
 		} else if (le32_to_cpu(dump_data.trig->reset_fw) ==
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/d3.c b/drivers/net/wireless/intel/iwlwifi/mvm/d3.c
index 26c01d740d0d..b6a9896bce25 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/d3.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/d3.c
@@ -2997,7 +2997,7 @@ static void iwl_mvm_nd_match_info_handler(struct iwl_mvm *mvm,
 
 	if (results->matched_profiles) {
 		memcpy(results->matches, notif->matches, matches_len);
-		d3_data->nd_results_valid = TRUE;
+		d3_data->nd_results_valid = true;
 	}
 
 	/* no scan should be active at this point */
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
index 5381afdd4021..e1c2b7fc92ab 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
@@ -1323,7 +1323,7 @@ static void iwl_mvm_lari_cfg(struct iwl_mvm *mvm)
 
 	if (le32_to_cpu(cmd.oem_uhb_allow_bitmap) & IWL_UATS_VLP_AP_SUPPORTED ||
 	    le32_to_cpu(cmd.oem_uhb_allow_bitmap) & IWL_UATS_AFC_AP_SUPPORTED)
-		mvm->fwrt.uats_enabled = TRUE;
+		mvm->fwrt.uats_enabled = true;
 }
 
 void iwl_mvm_get_bios_tables(struct iwl_mvm *mvm)
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/ops.c b/drivers/net/wireless/intel/iwlwifi/mvm/ops.c
index ac46be4d5971..a84a65e22782 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/ops.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/ops.c
@@ -1993,7 +1993,7 @@ void iwl_mvm_nic_restart(struct iwl_mvm *mvm, bool fw_error)
 			ieee80211_restart_hw(mvm->hw);
 		} else if (mvm->fwrt.trans->dbg.restart_required) {
 			IWL_DEBUG_INFO(mvm, "FW restart requested after debug collection\n");
-			mvm->fwrt.trans->dbg.restart_required = FALSE;
+			mvm->fwrt.trans->dbg.restart_required = false;
 			ieee80211_restart_hw(mvm->hw);
 		} else if (mvm->trans->trans_cfg->device_family <= IWL_DEVICE_FAMILY_8000) {
 			ieee80211_restart_hw(mvm->hw);
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 07/13] wifi: iwlwifi: mvm: fix thermal kernel-doc
  2024-02-08 16:58 [PATCH 00/13] wifi: iwlwifi: updates - 2024-02-08 Miri Korenblit
                   ` (5 preceding siblings ...)
  2024-02-08 16:58 ` [PATCH 06/13] wifi: iwlwifi: don't use TRUE/FALSE with bool Miri Korenblit
@ 2024-02-08 16:58 ` Miri Korenblit
  2024-02-08 16:58 ` [PATCH 08/13] wifi: iwlwifi: error-dump: fix kernel-doc issues Miri Korenblit
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Miri Korenblit @ 2024-02-08 16:58 UTC (permalink / raw)
  To: johannes; +Cc: linux-wireless, Johannes Berg

From: Johannes Berg <johannes.berg@intel.com>

This was misnamed, fix it. Also add a space to make it
look cleaner.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
---
 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h b/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
index 2dd45f39b77f..ce78c21883e9 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
@@ -540,8 +540,8 @@ struct iwl_mvm_tt_mgmt {
 
 #ifdef CONFIG_THERMAL
 /**
- *struct iwl_mvm_thermal_device - thermal zone related data
- * @temp_trips: temperature thresholds for report
+ * struct iwl_mvm_thermal_device - thermal zone related data
+ * @trips: temperature thresholds for report
  * @fw_trips_index: keep indexes to original array - temp_trips
  * @tzone: thermal zone device data
 */
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 08/13] wifi: iwlwifi: error-dump: fix kernel-doc issues
  2024-02-08 16:58 [PATCH 00/13] wifi: iwlwifi: updates - 2024-02-08 Miri Korenblit
                   ` (6 preceding siblings ...)
  2024-02-08 16:58 ` [PATCH 07/13] wifi: iwlwifi: mvm: fix thermal kernel-doc Miri Korenblit
@ 2024-02-08 16:58 ` Miri Korenblit
  2024-02-08 16:58 ` [PATCH 09/13] wifi: iwlwifi: api: dbg-tlv: fix up kernel-doc Miri Korenblit
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Miri Korenblit @ 2024-02-08 16:58 UTC (permalink / raw)
  To: johannes; +Cc: linux-wireless, Johannes Berg, Miriam Rachel Korenblit

From: Johannes Berg <johannes.berg@intel.com>

Add missing and rename mismatched kernel-doc descriptions.

Also just remove the unused IWL_FW_ERROR_DUMP_MAX constant.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
---
 .../wireless/intel/iwlwifi/fw/error-dump.h    | 23 +++++++++++--------
 1 file changed, 13 insertions(+), 10 deletions(-)

diff --git a/drivers/net/wireless/intel/iwlwifi/fw/error-dump.h b/drivers/net/wireless/intel/iwlwifi/fw/error-dump.h
index 06d6f7f66430..5c76e3b94968 100644
--- a/drivers/net/wireless/intel/iwlwifi/fw/error-dump.h
+++ b/drivers/net/wireless/intel/iwlwifi/fw/error-dump.h
@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
 /*
- * Copyright (C) 2014, 2018-2022 Intel Corporation
+ * Copyright (C) 2014, 2018-2024 Intel Corporation
  * Copyright (C) 2014-2015 Intel Mobile Communications GmbH
  * Copyright (C) 2016-2017 Intel Deutschland GmbH
  */
@@ -16,7 +16,7 @@
 /**
  * enum iwl_fw_error_dump_type - types of data in the dump file
  * @IWL_FW_ERROR_DUMP_CSR: Control Status Registers - from offset 0
- * @IWL_FW_ERROR_DUMP_RXF:
+ * @IWL_FW_ERROR_DUMP_RXF: RX FIFO contents
  * @IWL_FW_ERROR_DUMP_TXCMD: last TX command data, structured as
  *	&struct iwl_fw_error_dump_txcmd packets
  * @IWL_FW_ERROR_DUMP_DEV_FW_INFO:  struct %iwl_fw_error_dump_info
@@ -24,21 +24,24 @@
  * @IWL_FW_ERROR_DUMP_FW_MONITOR: firmware monitor
  * @IWL_FW_ERROR_DUMP_PRPH: range of periphery registers - there can be several
  *	sections like this in a single file.
+ * @IWL_FW_ERROR_DUMP_TXF: TX FIFO contents
  * @IWL_FW_ERROR_DUMP_FH_REGS: range of FH registers
  * @IWL_FW_ERROR_DUMP_MEM: chunk of memory
  * @IWL_FW_ERROR_DUMP_ERROR_INFO: description of what triggered this dump.
  *	Structured as &struct iwl_fw_error_dump_trigger_desc.
  * @IWL_FW_ERROR_DUMP_RB: the content of an RB structured as
  *	&struct iwl_fw_error_dump_rb
- * @IWL_FW_ERROR_PAGING: UMAC's image memory segments which were
+ * @IWL_FW_ERROR_DUMP_PAGING: UMAC's image memory segments which were
  *	paged to the DRAM.
  * @IWL_FW_ERROR_DUMP_RADIO_REG: Dump the radio registers.
+ * @IWL_FW_ERROR_DUMP_INTERNAL_TXF: internal TX FIFO data
  * @IWL_FW_ERROR_DUMP_EXTERNAL: used only by external code utilities, and
  *	for that reason is not in use in any other place in the Linux Wi-Fi
  *	stack.
  * @IWL_FW_ERROR_DUMP_MEM_CFG: the addresses and sizes of fifos in the smem,
  *	which we get from the fw after ALIVE. The content is structured as
  *	&struct iwl_fw_error_dump_smem_cfg.
+ * @IWL_FW_ERROR_DUMP_D3_DEBUG_DATA: D3 debug data
  */
 enum iwl_fw_error_dump_type {
 	/* 0 is deprecated */
@@ -59,8 +62,6 @@ enum iwl_fw_error_dump_type {
 	IWL_FW_ERROR_DUMP_EXTERNAL = 15, /* Do not move */
 	IWL_FW_ERROR_DUMP_MEM_CFG = 16,
 	IWL_FW_ERROR_DUMP_D3_DEBUG_DATA = 17,
-
-	IWL_FW_ERROR_DUMP_MAX,
 };
 
 /**
@@ -442,7 +443,7 @@ struct iwl_fw_ini_err_table_dump {
  * struct iwl_fw_error_dump_rb - content of an Receive Buffer
  * @index: the index of the Receive Buffer in the Rx queue
  * @rxq: the RB's Rx queue
- * @reserved:
+ * @reserved: reserved
  * @data: the content of the Receive Buffer
  */
 struct iwl_fw_error_dump_rb {
@@ -488,7 +489,7 @@ struct iwl_fw_ini_special_device_memory {
  * struct iwl_fw_error_dump_paging - content of the UMAC's image page
  *	block on DRAM
  * @index: the index of the page block
- * @reserved:
+ * @reserved: reserved
  * @data: the content of the page block
  */
 struct iwl_fw_error_dump_paging {
@@ -511,6 +512,7 @@ iwl_fw_error_next_data(struct iwl_fw_error_dump_data *data)
 /**
  * enum iwl_fw_dbg_trigger - triggers available
  *
+ * @FW_DBG_TRIGGER_INVALID: invalid trigger value
  * @FW_DBG_TRIGGER_USER: trigger log collection by user
  *	This should not be defined as a trigger to the driver, but a value the
  *	driver should set to indicate that the trigger was initiated by the
@@ -530,14 +532,15 @@ iwl_fw_error_next_data(struct iwl_fw_error_dump_data *data)
  * @FW_DBG_TRIGGER_TIME_EVENT: trigger log collection upon time events related
  *	events.
  * @FW_DBG_TRIGGER_BA: trigger log collection upon BlockAck related events.
- * @FW_DBG_TX_LATENCY: trigger log collection when the tx latency goes above a
- *	threshold.
- * @FW_DBG_TDLS: trigger log collection upon TDLS related events.
+ * @FW_DBG_TRIGGER_TX_LATENCY: trigger log collection when the tx latency
+ *	goes above a threshold.
+ * @FW_DBG_TRIGGER_TDLS: trigger log collection upon TDLS related events.
  * @FW_DBG_TRIGGER_TX_STATUS: trigger log collection upon tx status when
  *  the firmware sends a tx reply.
  * @FW_DBG_TRIGGER_ALIVE_TIMEOUT: trigger log collection if alive flow timeouts
  * @FW_DBG_TRIGGER_DRIVER: trigger log collection upon a flow failure
  *	in the driver.
+ * @FW_DBG_TRIGGER_MAX: beyond triggers, number for sizing arrays etc.
  */
 enum iwl_fw_dbg_trigger {
 	FW_DBG_TRIGGER_INVALID = 0,
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 09/13] wifi: iwlwifi: api: dbg-tlv: fix up kernel-doc
  2024-02-08 16:58 [PATCH 00/13] wifi: iwlwifi: updates - 2024-02-08 Miri Korenblit
                   ` (7 preceding siblings ...)
  2024-02-08 16:58 ` [PATCH 08/13] wifi: iwlwifi: error-dump: fix kernel-doc issues Miri Korenblit
@ 2024-02-08 16:58 ` Miri Korenblit
  2024-02-08 16:58 ` [PATCH 10/13] wifi: iwlwifi: fw: file: clean " Miri Korenblit
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Miri Korenblit @ 2024-02-08 16:58 UTC (permalink / raw)
  To: johannes; +Cc: linux-wireless, Johannes Berg

From: Johannes Berg <johannes.berg@intel.com>

Some things are misnamed or missing, fix that.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
---
 drivers/net/wireless/intel/iwlwifi/fw/api/dbg-tlv.h | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/intel/iwlwifi/fw/api/dbg-tlv.h b/drivers/net/wireless/intel/iwlwifi/fw/api/dbg-tlv.h
index 394747deb269..47c914de2992 100644
--- a/drivers/net/wireless/intel/iwlwifi/fw/api/dbg-tlv.h
+++ b/drivers/net/wireless/intel/iwlwifi/fw/api/dbg-tlv.h
@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
 /*
- * Copyright (C) 2018-2023 Intel Corporation
+ * Copyright (C) 2018-2024 Intel Corporation
  */
 #ifndef __iwl_fw_dbg_tlv_h__
 #define __iwl_fw_dbg_tlv_h__
@@ -319,7 +319,7 @@ struct iwl_fw_ini_conf_set_tlv {
  * @IWL_FW_INI_CONFIG_SET_TYPE_CSR: for CSR configuration
  * @IWL_FW_INI_CONFIG_SET_TYPE_DBGC_DRAM_ADDR: for DBGC_DRAM_ADDR configuration
  * @IWL_FW_INI_CONFIG_SET_TYPE_PERIPH_SCRATCH_HWM: for PERIPH SCRATCH HWM configuration
- * @IWL_FW_INI_ALLOCATION_NUM: max number of configuration supported
+ * @IWL_FW_INI_CONFIG_SET_TYPE_MAX_NUM: max number of configuration supported
 */
 
 enum iwl_fw_ini_config_set_type {
@@ -360,6 +360,7 @@ enum iwl_fw_ini_allocation_id {
  * @IWL_FW_INI_LOCATION_SRAM_PATH: SRAM location
  * @IWL_FW_INI_LOCATION_DRAM_PATH: DRAM location
  * @IWL_FW_INI_LOCATION_NPK_PATH: NPK location
+ * @IWL_FW_INI_LOCATION_NUM: number of valid locations
  */
 enum iwl_fw_ini_buffer_location {
 	IWL_FW_INI_LOCATION_INVALID,
@@ -439,6 +440,7 @@ enum iwl_fw_ini_region_device_memory_subtype {
  * Hard coded time points in which the driver can send hcmd or perform dump
  * collection
  *
+ * @IWL_FW_INI_TIME_POINT_INVALID: invalid timepoint
  * @IWL_FW_INI_TIME_POINT_EARLY: pre loading the FW
  * @IWL_FW_INI_TIME_POINT_AFTER_ALIVE: first cmd from host after alive notif
  * @IWL_FW_INI_TIME_POINT_POST_INIT: last cmd in series of init sequence
@@ -553,7 +555,7 @@ enum iwl_fw_ini_dump_policy {
  * enum iwl_fw_ini_dump_type - Determines dump type based on size defined by FW.
  *
  * @IWL_FW_INI_DUMP_BRIEF : only dump the most important regions
- * @IWL_FW_INI_DEBUG_MEDIUM: dump more regions than "brief", but not all regions
+ * @IWL_FW_INI_DUMP_MEDIUM: dump more regions than "brief", but not all regions
  * @IWL_FW_INI_DUMP_VERBOSE : dump all regions
  */
 enum iwl_fw_ini_dump_type {
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 10/13] wifi: iwlwifi: fw: file: clean up kernel-doc
  2024-02-08 16:58 [PATCH 00/13] wifi: iwlwifi: updates - 2024-02-08 Miri Korenblit
                   ` (8 preceding siblings ...)
  2024-02-08 16:58 ` [PATCH 09/13] wifi: iwlwifi: api: dbg-tlv: fix up kernel-doc Miri Korenblit
@ 2024-02-08 16:58 ` Miri Korenblit
  2024-02-08 16:58 ` [PATCH 11/13] wifi: iwlwifi: iwl-trans.h: " Miri Korenblit
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Miri Korenblit @ 2024-02-08 16:58 UTC (permalink / raw)
  To: johannes; +Cc: linux-wireless, Johannes Berg

From: Johannes Berg <johannes.berg@intel.com>

Add missing kernel-doc and otherwise fix things.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
---
 drivers/net/wireless/intel/iwlwifi/fw/file.h | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/intel/iwlwifi/fw/file.h b/drivers/net/wireless/intel/iwlwifi/fw/file.h
index 08d9aeaedd99..f69d29e531c8 100644
--- a/drivers/net/wireless/intel/iwlwifi/fw/file.h
+++ b/drivers/net/wireless/intel/iwlwifi/fw/file.h
@@ -216,6 +216,7 @@ typedef unsigned int __bitwise iwl_ucode_tlv_api_t;
  *	ADD_MODIFY_STA_KEY_API_S_VER_2.
  * @IWL_UCODE_TLV_API_STA_TYPE: This ucode supports station type assignement.
  * @IWL_UCODE_TLV_API_NAN2_VER2: This ucode supports NAN API version 2
+ * @IWL_UCODE_TLV_API_ADAPTIVE_DWELL: support for adaptive dwell in scanning
  * @IWL_UCODE_TLV_API_NEW_RX_STATS: should new RX STATISTICS API be used
  * @IWL_UCODE_TLV_API_QUOTA_LOW_LATENCY: Quota command includes a field
  *	indicating low latency direction.
@@ -239,10 +240,15 @@ typedef unsigned int __bitwise iwl_ucode_tlv_api_t;
  *	SCAN_OFFLOAD_PROFILES_QUERY_RSP_S.
  * @IWL_UCODE_TLV_API_MBSSID_HE: This ucode supports v2 of
  *	STA_CONTEXT_DOT11AX_API_S
+ * @IWL_UCODE_TLV_API_FTM_RTT_ACCURACY: version 7 of the range response API
+ *	is supported by FW, this indicates the RTT confidence value
  * @IWL_UCODE_TLV_API_SAR_TABLE_VER: This ucode supports different sar
  *	version tables.
  * @IWL_UCODE_TLV_API_REDUCED_SCAN_CONFIG: This ucode supports v3 of
- *  SCAN_CONFIG_DB_CMD_API_S.
+ *	SCAN_CONFIG_DB_CMD_API_S.
+ * @IWL_UCODE_TLV_API_ADWELL_HB_DEF_N_AP: support for setting adaptive dwell
+ *	number of APs in the 5 GHz band
+ * @IWL_UCODE_TLV_API_BAND_IN_RX_DATA: FW reports band number in RX notification
  * @IWL_UCODE_TLV_API_NO_HOST_DISABLE_TX: Firmware offloaded the station disable tx
  *	logic.
  * @IWL_UCODE_TLV_API_INT_DBG_BUF_CLEAR: Firmware supports clearing the debug
@@ -573,6 +579,7 @@ enum iwl_fw_dbg_reg_operator {
  * struct iwl_fw_dbg_reg_op - an operation on a register
  *
  * @op: &enum iwl_fw_dbg_reg_operator
+ * @reserved: reserved
  * @addr: offset of the register
  * @val: value
  */
@@ -619,6 +626,7 @@ struct iwl_fw_dbg_mem_seg_tlv {
  * @version: version of the TLV - currently 0
  * @monitor_mode: &enum iwl_fw_dbg_monitor_mode
  * @size_power: buffer size will be 2^(size_power + 11)
+ * @reserved: reserved
  * @base_reg: addr of the base addr register (PRPH)
  * @end_reg:  addr of the end addr register (PRPH)
  * @write_ptr_reg: the addr of the reg of the write pointer
@@ -729,6 +737,8 @@ enum iwl_fw_dbg_trigger_vif_type {
  * @trig_dis_ms: the time, in milliseconds, after an occurrence of this
  *	trigger in which another occurrence should be ignored.
  * @flags: &enum iwl_fw_dbg_trigger_flags
+ * @reserved: reserved (for alignment)
+ * @data: trigger data
  */
 struct iwl_fw_dbg_trigger_tlv {
 	__le32 id;
@@ -769,7 +779,7 @@ struct iwl_fw_dbg_trigger_missed_bcon {
 
 /**
  * struct iwl_fw_dbg_trigger_cmd - configures trigger for messages from FW.
- * cmds: the list of commands to trigger the collection on
+ * @cmds: the list of commands to trigger the collection on
  */
 struct iwl_fw_dbg_trigger_cmd {
 	struct cmd {
@@ -779,7 +789,7 @@ struct iwl_fw_dbg_trigger_cmd {
 } __packed;
 
 /**
- * iwl_fw_dbg_trigger_stats - configures trigger for statistics
+ * struct iwl_fw_dbg_trigger_stats - configures trigger for statistics
  * @stop_offset: the offset of the value to be monitored
  * @stop_threshold: the threshold above which to collect
  * @start_offset: the offset of the value to be monitored
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 11/13] wifi: iwlwifi: iwl-trans.h: clean up kernel-doc
  2024-02-08 16:58 [PATCH 00/13] wifi: iwlwifi: updates - 2024-02-08 Miri Korenblit
                   ` (9 preceding siblings ...)
  2024-02-08 16:58 ` [PATCH 10/13] wifi: iwlwifi: fw: file: clean " Miri Korenblit
@ 2024-02-08 16:58 ` Miri Korenblit
  2024-02-08 16:58 ` [PATCH 12/13] wifi: iwlwifi: bump FW API to 89 for AX/BZ/SC devices Miri Korenblit
  2024-02-08 16:58 ` [PATCH 13/13] wifi: iwlwifi: mvm: check own capabilities for EMLSR Miri Korenblit
  12 siblings, 0 replies; 16+ messages in thread
From: Miri Korenblit @ 2024-02-08 16:58 UTC (permalink / raw)
  To: johannes; +Cc: linux-wireless, Johannes Berg

From: Johannes Berg <johannes.berg@intel.com>

Add missing kernel-doc, fix annotations, etc.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
---
 .../net/wireless/intel/iwlwifi/iwl-trans.h    | 64 +++++++++++++++----
 1 file changed, 51 insertions(+), 13 deletions(-)

diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-trans.h b/drivers/net/wireless/intel/iwlwifi/iwl-trans.h
index 3047ffc24415..b93cef7b2330 100644
--- a/drivers/net/wireless/intel/iwlwifi/iwl-trans.h
+++ b/drivers/net/wireless/intel/iwlwifi/iwl-trans.h
@@ -519,6 +519,7 @@ struct iwl_pnvm_image {
  *	Must be atomic
  * @reclaim: free packet until ssn. Returns a list of freed packets.
  *	Must be atomic
+ * @set_q_ptrs: set queue pointers internally, after D3 when HW state changed
  * @txq_enable: setup a queue. To setup an AC queue, use the
  *	iwl_trans_ac_txq_enable wrapper. fw_alive must have been called before
  *	this one. The op_mode must not configure the HCMD queue. The scheduler
@@ -528,6 +529,8 @@ struct iwl_pnvm_image {
  *	hardware scheduler bug. May sleep.
  * @txq_disable: de-configure a Tx queue to send AMPDUs
  *	Must be atomic
+ * @txq_alloc: Allocate a new TX queue, may sleep.
+ * @txq_free: Free a previously allocated TX queue.
  * @txq_set_shared_mode: change Tx queue shared/unshared marking
  * @wait_tx_queues_empty: wait until tx queues are empty. May sleep.
  * @wait_txq_empty: wait until specific tx queue is empty. May sleep.
@@ -547,23 +550,27 @@ struct iwl_pnvm_image {
  *	the op_mode. May be called several times before start_fw, can't be
  *	called after that.
  * @set_pmi: set the power pmi state
+ * @sw_reset: trigger software reset of the NIC
  * @grab_nic_access: wake the NIC to be able to access non-HBUS regs.
  *	Sleeping is not allowed between grab_nic_access and
  *	release_nic_access.
  * @release_nic_access: let the NIC go to sleep. The "flags" parameter
  *	must be the same one that was sent before to the grab_nic_access.
- * @set_bits_mask - set SRAM register according to value and mask.
+ * @set_bits_mask: set SRAM register according to value and mask.
  * @dump_data: return a vmalloc'ed buffer with debug data, maybe containing last
  *	TX'ed commands and similar. The buffer will be vfree'd by the caller.
  *	Note that the transport must fill in the proper file headers.
  * @debugfs_cleanup: used in the driver unload flow to make a proper cleanup
  *	of the trans debugfs
+ * @sync_nmi: trigger a firmware NMI and wait for it to complete
  * @load_pnvm: save the pnvm data in DRAM
  * @set_pnvm: set the pnvm data in the prph scratch buffer, inside the
  *	context info.
  * @load_reduce_power: copy reduce power table to the corresponding DRAM memory
  * @set_reduce_power: set reduce power table addresses in the sratch buffer
  * @interrupts: disable/enable interrupts to transport
+ * @imr_dma_data: set up IMR DMA
+ * @rxq_dma_data: retrieve RX queue DMA data, see @struct iwl_trans_rxq_dma_data
  */
 struct iwl_trans_ops {
 
@@ -775,7 +782,7 @@ struct iwl_self_init_dram {
  * @imr_size: imr dram size received from fw
  * @sram_addr: sram address from debug tlv
  * @sram_size: sram size from debug tlv
- * @imr2sram_remainbyte`: size remained after each dma transfer
+ * @imr2sram_remainbyte: size remained after each dma transfer
  * @imr_curr_addr: current dst address used during dma transfer
  * @imr_base_addr: imr address received from fw
  */
@@ -822,12 +829,16 @@ struct iwl_pc_data {
  * @fw_mon: DRAM buffer for firmware monitor
  * @hw_error: equals true if hw error interrupt was received from the FW
  * @ini_dest: debug monitor destination uses &enum iwl_fw_ini_buffer_location
+ * @unsupported_region_msk: unsupported regions out of active_regions
  * @active_regions: active regions
  * @debug_info_tlv_list: list of debug info TLVs
  * @time_point: array of debug time points
  * @periodic_trig_list: periodic triggers list
  * @domains_bitmap: bitmap of active domains other than &IWL_FW_INI_DOMAIN_ALWAYS_ON
  * @ucode_preset: preset based on ucode
+ * @restart_required: indicates debug restart is required
+ * @last_tp_resetfw: last handling of reset during debug timepoint
+ * @imr_data: IMR debug data allocation
  * @dump_file_name_ext: dump file name extension
  * @dump_file_name_ext_valid: dump file name extension if valid or not
  * @num_pc: number of program counter for cpu
@@ -930,6 +941,7 @@ struct iwl_pcie_first_tb_buf {
  * @wd_timeout: queue watchdog timeout (jiffies) - per queue
  * @frozen: tx stuck queue timer is frozen
  * @frozen_expiry_remainder: remember how long until the timer fires
+ * @block: queue is blocked
  * @bc_tbl: byte count table of the queue (relevant only for gen2 transport)
  * @write_ptr: 1-st empty entry (index) host_w
  * @read_ptr: last used entry (index) host_r
@@ -938,6 +950,8 @@ struct iwl_pcie_first_tb_buf {
  * @id: queue id
  * @low_mark: low watermark, resume queue if free space more than this
  * @high_mark: high watermark, stop queue if free space less than this
+ * @overflow_q: overflow queue for handling frames that didn't fit on HW queue
+ * @overflow_tx: need to transmit from overflow
  *
  * A Tx queue consists of circular buffer of BDs (a.k.a. TFDs, transmit frame
  * descriptors) and required locking structures.
@@ -990,10 +1004,19 @@ struct iwl_txq {
  * @bc_table_dword: true if the BC table expects DWORD (as opposed to bytes)
  * @page_offs: offset from skb->cb to mac header page pointer
  * @dev_cmd_offs: offset from skb->cb to iwl_device_tx_cmd pointer
- * @queue_used - bit mask of used queues
- * @queue_stopped - bit mask of stopped queues
+ * @queue_used: bit mask of used queues
+ * @queue_stopped: bit mask of stopped queues
+ * @txq: array of TXQ data structures representing the TXQs
  * @scd_bc_tbls: gen1 pointer to the byte count table of the scheduler
  * @queue_alloc_cmd_ver: queue allocation command version
+ * @bc_pool: bytecount DMA allocations pool
+ * @bc_tbl_size: bytecount table size
+ * @tso_hdr_page: page allocated (per CPU) for A-MSDU headers when doing TSO
+ *	(and similar usage)
+ * @tfd: TFD data
+ * @tfd.max_tbs: max number of buffers per TFD
+ * @tfd.size: TFD size
+ * @tfd.addr_size: TFD/TB address size
  */
 struct iwl_trans_txqs {
 	unsigned long queue_used[BITS_TO_LONGS(IWL_MAX_TVQM_QUEUES)];
@@ -1026,27 +1049,35 @@ struct iwl_trans_txqs {
 /**
  * struct iwl_trans - transport common data
  *
- * @csme_own - true if we couldn't get ownership on the device
- * @ops - pointer to iwl_trans_ops
- * @op_mode - pointer to the op_mode
+ * @csme_own: true if we couldn't get ownership on the device
+ * @ops: pointer to iwl_trans_ops
+ * @op_mode: pointer to the op_mode
  * @trans_cfg: the trans-specific configuration part
- * @cfg - pointer to the configuration
- * @drv - pointer to iwl_drv
+ * @cfg: pointer to the configuration
+ * @drv: pointer to iwl_drv
+ * @state: current device state
  * @status: a bit-mask of transport status flags
- * @dev - pointer to struct device * that represents the device
+ * @dev: pointer to struct device * that represents the device
  * @max_skb_frags: maximum number of fragments an SKB can have when transmitted.
  *	0 indicates that frag SKBs (NETIF_F_SG) aren't supported.
- * @hw_rf_id a u32 with the device RF ID
- * @hw_crf_id a u32 with the device CRF ID
- * @hw_wfpm_id a u32 with the device wfpm ID
+ * @hw_rf_id: a u32 with the device RF ID
+ * @hw_cnv_id: a u32 with the device CNV ID
+ * @hw_crf_id: a u32 with the device CRF ID
+ * @hw_wfpm_id: a u32 with the device wfpm ID
  * @hw_id: a u32 with the ID of the device / sub-device.
  *	Set during transport allocation.
  * @hw_id_str: a string with info about HW ID. Set during transport allocation.
+ * @sku_id: the SKU identifier (for PNVM matching)
+ * @pnvm_loaded: indicates PNVM was loaded
+ * @hw_rev: the revision data of the HW
  * @hw_rev_step: The mac step of the HW
  * @pm_support: set to true in start_hw if link pm is supported
  * @ltr_enabled: set to true if the LTR is enabled
  * @fail_to_parse_pnvm_image: set to true if pnvm parsing failed
+ * @reduce_power_loaded: indicates reduced power section was loaded
  * @failed_to_load_reduce_power_image: set to true if pnvm loading failed
+ * @command_groups: pointer to command group name list array
+ * @command_groups_size: array size of @command_groups
  * @wide_cmd_header: true when ucode supports wide command header format
  * @wait_command_queue: wait queue for sync commands
  * @num_rx_queues: number of RX queues allocated by the transport;
@@ -1055,13 +1086,19 @@ struct iwl_trans_txqs {
  * @iml: a pointer to the image loader itself
  * @dev_cmd_pool: pool for Tx cmd allocation - for internal use only.
  *	The user should use iwl_trans_{alloc,free}_tx_cmd.
+ * @dev_cmd_pool_name: name for the TX command allocation pool
+ * @dbgfs_dir: iwlwifi debugfs base dir for this device
+ * @sync_cmd_lockdep_map: lockdep map for checking sync commands
  * @rx_mpdu_cmd: MPDU RX command ID, must be assigned by opmode before
  *	starting the firmware, used for tracing
  * @rx_mpdu_cmd_hdr_size: used for tracing, amount of data before the
  *	start of the 802.11 header in the @rx_mpdu_cmd
+ * @dbg: additional debug data, see &struct iwl_trans_debug
+ * @init_dram: FW initialization DMA data
  * @system_pm_mode: the system-wide power management mode in use.
  *	This mode is set dynamically, depending on the WoWLAN values
  *	configured from the userspace at runtime.
+ * @name: the device name
  * @txqs: transport tx queues data.
  * @mbx_addr_0_step: step address data 0
  * @mbx_addr_1_step: step address data 1
@@ -1071,6 +1108,7 @@ struct iwl_trans_txqs {
  * @reduced_cap_sku: reduced capability supported SKU
  * @no_160: device not supporting 160 MHz
  * @step_urm: STEP is in URM, no support for MCS>9 in 320 MHz
+ * @trans_specific: data for the specific transport this is allocated for/with
  */
 struct iwl_trans {
 	bool csme_own;
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 12/13] wifi: iwlwifi: bump FW API to 89 for AX/BZ/SC devices
  2024-02-08 16:58 [PATCH 00/13] wifi: iwlwifi: updates - 2024-02-08 Miri Korenblit
                   ` (10 preceding siblings ...)
  2024-02-08 16:58 ` [PATCH 11/13] wifi: iwlwifi: iwl-trans.h: " Miri Korenblit
@ 2024-02-08 16:58 ` Miri Korenblit
  2024-02-08 16:58 ` [PATCH 13/13] wifi: iwlwifi: mvm: check own capabilities for EMLSR Miri Korenblit
  12 siblings, 0 replies; 16+ messages in thread
From: Miri Korenblit @ 2024-02-08 16:58 UTC (permalink / raw)
  To: johannes; +Cc: linux-wireless

Start supporting API version 89 for new devices.

Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
---
 drivers/net/wireless/intel/iwlwifi/cfg/ax210.c | 4 ++--
 drivers/net/wireless/intel/iwlwifi/cfg/bz.c    | 4 ++--
 drivers/net/wireless/intel/iwlwifi/cfg/sc.c    | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/net/wireless/intel/iwlwifi/cfg/ax210.c b/drivers/net/wireless/intel/iwlwifi/cfg/ax210.c
index 456c7fff60a0..2e530fc928a4 100644
--- a/drivers/net/wireless/intel/iwlwifi/cfg/ax210.c
+++ b/drivers/net/wireless/intel/iwlwifi/cfg/ax210.c
@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
 /*
  * Copyright (C) 2015-2017 Intel Deutschland GmbH
- * Copyright (C) 2018-2023 Intel Corporation
+ * Copyright (C) 2018-2024 Intel Corporation
  */
 #include <linux/module.h>
 #include <linux/stringify.h>
@@ -10,7 +10,7 @@
 #include "fw/api/txq.h"
 
 /* Highest firmware API version supported */
-#define IWL_AX210_UCODE_API_MAX	88
+#define IWL_AX210_UCODE_API_MAX	89
 
 /* Lowest firmware API version supported */
 #define IWL_AX210_UCODE_API_MIN	59
diff --git a/drivers/net/wireless/intel/iwlwifi/cfg/bz.c b/drivers/net/wireless/intel/iwlwifi/cfg/bz.c
index c858f355701e..14c5cc265fe3 100644
--- a/drivers/net/wireless/intel/iwlwifi/cfg/bz.c
+++ b/drivers/net/wireless/intel/iwlwifi/cfg/bz.c
@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
 /*
  * Copyright (C) 2015-2017 Intel Deutschland GmbH
- * Copyright (C) 2018-2023 Intel Corporation
+ * Copyright (C) 2018-2024 Intel Corporation
  */
 #include <linux/module.h>
 #include <linux/stringify.h>
@@ -10,7 +10,7 @@
 #include "fw/api/txq.h"
 
 /* Highest firmware API version supported */
-#define IWL_BZ_UCODE_API_MAX	88
+#define IWL_BZ_UCODE_API_MAX	89
 
 /* Lowest firmware API version supported */
 #define IWL_BZ_UCODE_API_MIN	80
diff --git a/drivers/net/wireless/intel/iwlwifi/cfg/sc.c b/drivers/net/wireless/intel/iwlwifi/cfg/sc.c
index be98a174a311..dbbcb2d0968c 100644
--- a/drivers/net/wireless/intel/iwlwifi/cfg/sc.c
+++ b/drivers/net/wireless/intel/iwlwifi/cfg/sc.c
@@ -10,7 +10,7 @@
 #include "fw/api/txq.h"
 
 /* Highest firmware API version supported */
-#define IWL_SC_UCODE_API_MAX	88
+#define IWL_SC_UCODE_API_MAX	89
 
 /* Lowest firmware API version supported */
 #define IWL_SC_UCODE_API_MIN	82
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 13/13] wifi: iwlwifi: mvm: check own capabilities for EMLSR
  2024-02-08 16:58 [PATCH 00/13] wifi: iwlwifi: updates - 2024-02-08 Miri Korenblit
                   ` (11 preceding siblings ...)
  2024-02-08 16:58 ` [PATCH 12/13] wifi: iwlwifi: bump FW API to 89 for AX/BZ/SC devices Miri Korenblit
@ 2024-02-08 16:58 ` Miri Korenblit
  12 siblings, 0 replies; 16+ messages in thread
From: Miri Korenblit @ 2024-02-08 16:58 UTC (permalink / raw)
  To: johannes; +Cc: linux-wireless, Johannes Berg

From: Johannes Berg <johannes.berg@intel.com>

There may be different hardware or configurations supported,
so check for our own EMLSR capability before allowing it to
be used, in addition to checking the AP's.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
---
 drivers/net/wireless/intel/iwlwifi/mvm/mld-mac80211.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mld-mac80211.c b/drivers/net/wireless/intel/iwlwifi/mvm/mld-mac80211.c
index f818cf46b09c..63d6b68f6415 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/mld-mac80211.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/mld-mac80211.c
@@ -1275,6 +1275,7 @@ static bool iwl_mvm_can_enter_esr(struct iwl_mvm *mvm,
 	struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif);
 	int primary_link = iwl_mvm_mld_get_primary_link(mvm, vif,
 							desired_links);
+	const struct wiphy_iftype_ext_capab *ext_capa;
 	bool ret = true;
 	int link_id;
 
@@ -1284,6 +1285,12 @@ static bool iwl_mvm_can_enter_esr(struct iwl_mvm *mvm,
 	if (!(vif->cfg.eml_cap & IEEE80211_EML_CAP_EMLSR_SUPP))
 		return false;
 
+	ext_capa = cfg80211_get_iftype_ext_capa(mvm->hw->wiphy,
+						ieee80211_vif_type_p2p(vif));
+	if (!ext_capa ||
+	    !(ext_capa->eml_capabilities & IEEE80211_EML_CAP_EMLSR_SUPP))
+		return false;
+
 	for_each_set_bit(link_id, &desired_links, IEEE80211_MLD_MAX_NUM_LINKS) {
 		struct ieee80211_bss_conf *link_conf =
 			link_conf_dereference_protected(vif, link_id);
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: [PATCH 01/13] wifi: iwlwifi: nvm: parse the VLP/AFC bit from regulatory
  2024-02-08 16:58 ` [PATCH 01/13] wifi: iwlwifi: nvm: parse the VLP/AFC bit from regulatory Miri Korenblit
@ 2024-02-09  3:40   ` kernel test robot
  2024-02-10 13:44   ` kernel test robot
  1 sibling, 0 replies; 16+ messages in thread
From: kernel test robot @ 2024-02-09  3:40 UTC (permalink / raw)
  To: Miri Korenblit, johannes
  Cc: oe-kbuild-all, linux-wireless, Mukesh Sisodiya, Gregory Greenman

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.8-rc3 next-20240208]
[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/wifi-iwlwifi-nvm-parse-the-VLP-AFC-bit-from-regulatory/20240209-010143
base:   https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git main
patch link:    https://lore.kernel.org/r/20240208185302.9c6a4acabdb3.I501de5c0d86b9702bf61158a2e91c954a1da9a2a%40changeid
patch subject: [PATCH 01/13] wifi: iwlwifi: nvm: parse the VLP/AFC bit from regulatory
config: loongarch-allmodconfig (https://download.01.org/0day-ci/archive/20240209/202402091145.eSxJkrSO-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/20240209/202402091145.eSxJkrSO-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/202402091145.eSxJkrSO-lkp@intel.com/

All errors (new ones prefixed by >>):

   drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c: In function 'iwl_get_channel_flags':
>> drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c:377:26: error: 'IEEE80211_CHAN_NO_6GHZ_VLP_CLIENT' undeclared (first use in this function); did you mean 'IEEE80211_CHAN_NO_UHB_VLP_CLIENT'?
     377 |                 flags |= IEEE80211_CHAN_NO_6GHZ_VLP_CLIENT;
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |                          IEEE80211_CHAN_NO_UHB_VLP_CLIENT
   drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c:377:26: note: each undeclared identifier is reported only once for each function it appears in
>> drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c:379:26: error: 'IEEE80211_CHAN_NO_6GHZ_AFC_CLIENT' undeclared (first use in this function); did you mean 'IEEE80211_CHAN_NO_UHB_AFC_CLIENT'?
     379 |                 flags |= IEEE80211_CHAN_NO_6GHZ_AFC_CLIENT;
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |                          IEEE80211_CHAN_NO_UHB_AFC_CLIENT
   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:1665:34: error: 'NL80211_RRF_NO_6GHZ_VLP_CLIENT' undeclared (first use in this function); did you mean 'NL80211_RRF_NO_UHB_VLP_CLIENT'?
    1665 |                         flags |= NL80211_RRF_NO_6GHZ_VLP_CLIENT;
         |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |                                  NL80211_RRF_NO_UHB_VLP_CLIENT
>> drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c:1668:34: error: 'NL80211_RRF_NO_6GHZ_AFC_CLIENT' undeclared (first use in this function); did you mean 'NL80211_RRF_NO_UHB_AFC_CLIENT'?
    1668 |                         flags |= NL80211_RRF_NO_6GHZ_AFC_CLIENT;
         |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |                                  NL80211_RRF_NO_UHB_AFC_CLIENT


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

   334	
   335	static u32 iwl_get_channel_flags(u8 ch_num, int ch_idx, enum nl80211_band band,
   336					 u32 nvm_flags, const struct iwl_cfg *cfg)
   337	{
   338		u32 flags = IEEE80211_CHAN_NO_HT40;
   339	
   340		if (band == NL80211_BAND_2GHZ && (nvm_flags & NVM_CHANNEL_40MHZ)) {
   341			if (ch_num <= LAST_2GHZ_HT_PLUS)
   342				flags &= ~IEEE80211_CHAN_NO_HT40PLUS;
   343			if (ch_num >= FIRST_2GHZ_HT_MINUS)
   344				flags &= ~IEEE80211_CHAN_NO_HT40MINUS;
   345		} else if (nvm_flags & NVM_CHANNEL_40MHZ) {
   346			if ((ch_idx - NUM_2GHZ_CHANNELS) % 2 == 0)
   347				flags &= ~IEEE80211_CHAN_NO_HT40PLUS;
   348			else
   349				flags &= ~IEEE80211_CHAN_NO_HT40MINUS;
   350		}
   351		if (!(nvm_flags & NVM_CHANNEL_80MHZ))
   352			flags |= IEEE80211_CHAN_NO_80MHZ;
   353		if (!(nvm_flags & NVM_CHANNEL_160MHZ))
   354			flags |= IEEE80211_CHAN_NO_160MHZ;
   355	
   356		if (!(nvm_flags & NVM_CHANNEL_IBSS))
   357			flags |= IEEE80211_CHAN_NO_IR;
   358	
   359		if (!(nvm_flags & NVM_CHANNEL_ACTIVE))
   360			flags |= IEEE80211_CHAN_NO_IR;
   361	
   362		if (nvm_flags & NVM_CHANNEL_RADAR)
   363			flags |= IEEE80211_CHAN_RADAR;
   364	
   365		if (nvm_flags & NVM_CHANNEL_INDOOR_ONLY)
   366			flags |= IEEE80211_CHAN_INDOOR_ONLY;
   367	
   368		/* Set the GO concurrent flag only in case that NO_IR is set.
   369		 * Otherwise it is meaningless
   370		 */
   371		if ((nvm_flags & NVM_CHANNEL_GO_CONCURRENT) &&
   372		    (flags & IEEE80211_CHAN_NO_IR))
   373			flags |= IEEE80211_CHAN_IR_CONCURRENT;
   374	
   375		/* Set the AP type for the UHB case. */
   376		if (!(nvm_flags & NVM_CHANNEL_VLP))
 > 377			flags |= IEEE80211_CHAN_NO_6GHZ_VLP_CLIENT;
   378		if (!(nvm_flags & NVM_CHANNEL_AFC))
 > 379			flags |= IEEE80211_CHAN_NO_6GHZ_AFC_CLIENT;
   380	
   381		return flags;
   382	}
   383	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 01/13] wifi: iwlwifi: nvm: parse the VLP/AFC bit from regulatory
  2024-02-08 16:58 ` [PATCH 01/13] wifi: iwlwifi: nvm: parse the VLP/AFC bit from regulatory Miri Korenblit
  2024-02-09  3:40   ` kernel test robot
@ 2024-02-10 13:44   ` kernel test robot
  1 sibling, 0 replies; 16+ messages in thread
From: kernel test robot @ 2024-02-10 13:44 UTC (permalink / raw)
  To: Miri Korenblit, johannes
  Cc: llvm, oe-kbuild-all, linux-wireless, Mukesh Sisodiya,
	Gregory Greenman

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.8-rc3 next-20240209]
[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/wifi-iwlwifi-nvm-parse-the-VLP-AFC-bit-from-regulatory/20240209-010143
base:   https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git main
patch link:    https://lore.kernel.org/r/20240208185302.9c6a4acabdb3.I501de5c0d86b9702bf61158a2e91c954a1da9a2a%40changeid
patch subject: [PATCH 01/13] wifi: iwlwifi: nvm: parse the VLP/AFC bit from regulatory
config: arm64-allmodconfig (https://download.01.org/0day-ci/archive/20240210/202402102159.h0x3mL2v-lkp@intel.com/config)
compiler: clang version 19.0.0git (https://github.com/llvm/llvm-project 7dd790db8b77c4a833c06632e903dc4f13877a64)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240210/202402102159.h0x3mL2v-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/202402102159.h0x3mL2v-lkp@intel.com/

All errors (new ones prefixed by >>):

>> drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c:377:12: error: use of undeclared identifier 'IEEE80211_CHAN_NO_6GHZ_VLP_CLIENT'; did you mean 'IEEE80211_CHAN_NO_UHB_VLP_CLIENT'?
     377 |                 flags |= IEEE80211_CHAN_NO_6GHZ_VLP_CLIENT;
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |                          IEEE80211_CHAN_NO_UHB_VLP_CLIENT
   include/net/cfg80211.h:149:2: note: 'IEEE80211_CHAN_NO_UHB_VLP_CLIENT' declared here
     149 |         IEEE80211_CHAN_NO_UHB_VLP_CLIENT= 1<<22,
         |         ^
>> drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c:379:12: error: use of undeclared identifier 'IEEE80211_CHAN_NO_6GHZ_AFC_CLIENT'; did you mean 'IEEE80211_CHAN_NO_UHB_AFC_CLIENT'?
     379 |                 flags |= IEEE80211_CHAN_NO_6GHZ_AFC_CLIENT;
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |                          IEEE80211_CHAN_NO_UHB_AFC_CLIENT
   include/net/cfg80211.h:150:2: note: 'IEEE80211_CHAN_NO_UHB_AFC_CLIENT' declared here
     150 |         IEEE80211_CHAN_NO_UHB_AFC_CLIENT= 1<<23,
         |         ^
>> drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c:1665:13: error: use of undeclared identifier 'NL80211_RRF_NO_6GHZ_VLP_CLIENT'; did you mean 'NL80211_RRF_NO_UHB_VLP_CLIENT'?
    1665 |                         flags |= NL80211_RRF_NO_6GHZ_VLP_CLIENT;
         |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |                                  NL80211_RRF_NO_UHB_VLP_CLIENT
   include/uapi/linux/nl80211.h:4543:2: note: 'NL80211_RRF_NO_UHB_VLP_CLIENT' declared here
    4543 |         NL80211_RRF_NO_UHB_VLP_CLIENT   = 1<<22,
         |         ^
>> drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c:1668:13: error: use of undeclared identifier 'NL80211_RRF_NO_6GHZ_AFC_CLIENT'; did you mean 'NL80211_RRF_NO_UHB_AFC_CLIENT'?
    1668 |                         flags |= NL80211_RRF_NO_6GHZ_AFC_CLIENT;
         |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |                                  NL80211_RRF_NO_UHB_AFC_CLIENT
   include/uapi/linux/nl80211.h:4544:2: note: 'NL80211_RRF_NO_UHB_AFC_CLIENT' declared here
    4544 |         NL80211_RRF_NO_UHB_AFC_CLIENT   = 1<<23,
         |         ^
   4 errors generated.


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

   334	
   335	static u32 iwl_get_channel_flags(u8 ch_num, int ch_idx, enum nl80211_band band,
   336					 u32 nvm_flags, const struct iwl_cfg *cfg)
   337	{
   338		u32 flags = IEEE80211_CHAN_NO_HT40;
   339	
   340		if (band == NL80211_BAND_2GHZ && (nvm_flags & NVM_CHANNEL_40MHZ)) {
   341			if (ch_num <= LAST_2GHZ_HT_PLUS)
   342				flags &= ~IEEE80211_CHAN_NO_HT40PLUS;
   343			if (ch_num >= FIRST_2GHZ_HT_MINUS)
   344				flags &= ~IEEE80211_CHAN_NO_HT40MINUS;
   345		} else if (nvm_flags & NVM_CHANNEL_40MHZ) {
   346			if ((ch_idx - NUM_2GHZ_CHANNELS) % 2 == 0)
   347				flags &= ~IEEE80211_CHAN_NO_HT40PLUS;
   348			else
   349				flags &= ~IEEE80211_CHAN_NO_HT40MINUS;
   350		}
   351		if (!(nvm_flags & NVM_CHANNEL_80MHZ))
   352			flags |= IEEE80211_CHAN_NO_80MHZ;
   353		if (!(nvm_flags & NVM_CHANNEL_160MHZ))
   354			flags |= IEEE80211_CHAN_NO_160MHZ;
   355	
   356		if (!(nvm_flags & NVM_CHANNEL_IBSS))
   357			flags |= IEEE80211_CHAN_NO_IR;
   358	
   359		if (!(nvm_flags & NVM_CHANNEL_ACTIVE))
   360			flags |= IEEE80211_CHAN_NO_IR;
   361	
   362		if (nvm_flags & NVM_CHANNEL_RADAR)
   363			flags |= IEEE80211_CHAN_RADAR;
   364	
   365		if (nvm_flags & NVM_CHANNEL_INDOOR_ONLY)
   366			flags |= IEEE80211_CHAN_INDOOR_ONLY;
   367	
   368		/* Set the GO concurrent flag only in case that NO_IR is set.
   369		 * Otherwise it is meaningless
   370		 */
   371		if ((nvm_flags & NVM_CHANNEL_GO_CONCURRENT) &&
   372		    (flags & IEEE80211_CHAN_NO_IR))
   373			flags |= IEEE80211_CHAN_IR_CONCURRENT;
   374	
   375		/* Set the AP type for the UHB case. */
   376		if (!(nvm_flags & NVM_CHANNEL_VLP))
 > 377			flags |= IEEE80211_CHAN_NO_6GHZ_VLP_CLIENT;
   378		if (!(nvm_flags & NVM_CHANNEL_AFC))
 > 379			flags |= IEEE80211_CHAN_NO_6GHZ_AFC_CLIENT;
   380	
   381		return flags;
   382	}
   383	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2024-02-10 13:44 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-08 16:58 [PATCH 00/13] wifi: iwlwifi: updates - 2024-02-08 Miri Korenblit
2024-02-08 16:58 ` [PATCH 01/13] wifi: iwlwifi: nvm: parse the VLP/AFC bit from regulatory Miri Korenblit
2024-02-09  3:40   ` kernel test robot
2024-02-10 13:44   ` kernel test robot
2024-02-08 16:58 ` [PATCH 02/13] wifi: iwlwifi: mvm: work around A-MSDU size problem Miri Korenblit
2024-02-08 16:58 ` [PATCH 03/13] wifi: iwlwifi: mvm: Extend support for P2P service discovery Miri Korenblit
2024-02-08 16:58 ` [PATCH 04/13] wifi: iwlwifi: mvm: Fix the listener MAC filter flags Miri Korenblit
2024-02-08 16:58 ` [PATCH 05/13] wifi: iwlwifi: api: fix constant version to match FW Miri Korenblit
2024-02-08 16:58 ` [PATCH 06/13] wifi: iwlwifi: don't use TRUE/FALSE with bool Miri Korenblit
2024-02-08 16:58 ` [PATCH 07/13] wifi: iwlwifi: mvm: fix thermal kernel-doc Miri Korenblit
2024-02-08 16:58 ` [PATCH 08/13] wifi: iwlwifi: error-dump: fix kernel-doc issues Miri Korenblit
2024-02-08 16:58 ` [PATCH 09/13] wifi: iwlwifi: api: dbg-tlv: fix up kernel-doc Miri Korenblit
2024-02-08 16:58 ` [PATCH 10/13] wifi: iwlwifi: fw: file: clean " Miri Korenblit
2024-02-08 16:58 ` [PATCH 11/13] wifi: iwlwifi: iwl-trans.h: " Miri Korenblit
2024-02-08 16:58 ` [PATCH 12/13] wifi: iwlwifi: bump FW API to 89 for AX/BZ/SC devices Miri Korenblit
2024-02-08 16:58 ` [PATCH 13/13] wifi: iwlwifi: mvm: check own capabilities for EMLSR Miri Korenblit

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.