diff mbox series

[iwlwifi-next,04/15] wifi: iwlwifi: cfg: build ax210 family FW names dynamically

Message ID 20250508121306.1277801-5-miriam.rachel.korenblit@intel.com
State New
Headers show
Series wifi: iwlwifi: updates - 2025-05-08 | expand

Commit Message

Miri Korenblit May 8, 2025, 12:12 p.m. UTC
From: Johannes Berg <johannes.berg@intel.com>

Add support for the TY MAC (discrete device) and GF4 RF to
the list of MAC/RF types, and use that to remove fw_name_pre
for the ax210 family devices.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Message-Id: <20250508151045.462c260255e2.I349691d46944c7a6e4313df1df3cf5bc37bdc603@changeid>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
---
 .../net/wireless/intel/iwlwifi/cfg/ax210.c    |  25 -----
 .../net/wireless/intel/iwlwifi/iwl-config.h   |   4 +-
 drivers/net/wireless/intel/iwlwifi/iwl-drv.c  |   6 ++
 drivers/net/wireless/intel/iwlwifi/pcie/drv.c | 102 +++++++++---------
 4 files changed, 58 insertions(+), 79 deletions(-)
diff mbox series

Patch

diff --git a/drivers/net/wireless/intel/iwlwifi/cfg/ax210.c b/drivers/net/wireless/intel/iwlwifi/cfg/ax210.c
index e7bba29fe755..21b1e257f751 100644
--- a/drivers/net/wireless/intel/iwlwifi/cfg/ax210.c
+++ b/drivers/net/wireless/intel/iwlwifi/cfg/ax210.c
@@ -196,41 +196,18 @@  const char iwl_ax411_killer_1690i_name[] =
 	"Killer(R) Wi-Fi 6E AX1690i 160MHz Wireless Network Adapter (411NGW)";
 
 const struct iwl_cfg iwlax210_2ax_cfg_so_jf_b0 = {
-	.fw_name_pre = IWL_SO_A_JF_B_FW_PRE,
 	IWL_DEVICE_AX210,
 	.num_rbds = IWL_NUM_RBDS_NON_HE,
 };
 
 const struct iwl_cfg iwlax210_2ax_cfg_so_jf_b0_80mhz = {
-	.fw_name_pre = IWL_SO_A_JF_B_FW_PRE,
 	IWL_DEVICE_AX210,
 	.num_rbds = IWL_NUM_RBDS_NON_HE,
 	.bw_limit = 80,
 };
 
-const struct iwl_cfg iwlax211_2ax_cfg_so_gf_a0 = {
-	.fw_name_pre = IWL_SO_A_GF_A_FW_PRE,
-	.uhb_supported = true,
-	IWL_DEVICE_AX210,
-	.num_rbds = IWL_NUM_RBDS_AX210_HE,
-};
-
 const char iwl_ax210_name[] = "Intel(R) Wi-Fi 6 AX210 160MHz";
 
-const struct iwl_cfg iwlax210_2ax_cfg_ty_gf_a0 = {
-	.fw_name_pre = IWL_TY_A_GF_A_FW_PRE,
-	.uhb_supported = true,
-	IWL_DEVICE_AX210,
-	.num_rbds = IWL_NUM_RBDS_AX210_HE,
-};
-
-const struct iwl_cfg iwlax411_2ax_cfg_so_gf4_a0 = {
-	.fw_name_pre = IWL_SO_A_GF4_A_FW_PRE,
-	.uhb_supported = true,
-	IWL_DEVICE_AX210,
-	.num_rbds = IWL_NUM_RBDS_AX210_HE,
-};
-
 const struct iwl_cfg iwl_cfg_ma = {
 	.uhb_supported = true,
 	IWL_DEVICE_AX210,
@@ -238,13 +215,11 @@  const struct iwl_cfg iwl_cfg_ma = {
 };
 
 const struct iwl_cfg iwl_cfg_so_a0_hr_a0 = {
-	.fw_name_pre = IWL_SO_A_HR_B_FW_PRE,
 	IWL_DEVICE_AX210,
 	.num_rbds = IWL_NUM_RBDS_AX210_HE,
 };
 
 const struct iwl_cfg iwl_cfg_so_a0_hr_a0_80mhz = {
-	.fw_name_pre = IWL_SO_A_HR_B_FW_PRE,
 	IWL_DEVICE_AX210,
 	.num_rbds = IWL_NUM_RBDS_AX210_HE,
 	.bw_limit = 80,
diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-config.h b/drivers/net/wireless/intel/iwlwifi/iwl-config.h
index f978449af106..0977a683459a 100644
--- a/drivers/net/wireless/intel/iwlwifi/iwl-config.h
+++ b/drivers/net/wireless/intel/iwlwifi/iwl-config.h
@@ -412,6 +412,7 @@  struct iwl_cfg {
 #define IWL_CFG_MAC_TYPE_QU		0x33
 #define IWL_CFG_MAC_TYPE_QUZ		0x35
 #define IWL_CFG_MAC_TYPE_SO		0x37
+#define IWL_CFG_MAC_TYPE_TY		0x42
 #define IWL_CFG_MAC_TYPE_SOF		0x43
 #define IWL_CFG_MAC_TYPE_MA		0x44
 #define IWL_CFG_MAC_TYPE_BZ		0x46
@@ -673,9 +674,6 @@  extern const struct iwl_cfg iwl_qu_hr_80mhz;
 extern const struct iwl_cfg iwl_ax200_cfg_cc;
 extern const struct iwl_cfg iwlax210_2ax_cfg_so_jf_b0;
 extern const struct iwl_cfg iwlax210_2ax_cfg_so_jf_b0_80mhz;
-extern const struct iwl_cfg iwlax211_2ax_cfg_so_gf_a0;
-extern const struct iwl_cfg iwlax210_2ax_cfg_ty_gf_a0;
-extern const struct iwl_cfg iwlax411_2ax_cfg_so_gf4_a0;
 
 extern const struct iwl_cfg iwl_cfg_ma;
 
diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c
index acfc3eb89afe..eb57981e4c8c 100644
--- a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c
+++ b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c
@@ -209,6 +209,11 @@  const char *iwl_drv_get_fwname_pre(struct iwl_trans *trans, char *buf)
 	case IWL_CFG_MAC_TYPE_SO:
 	case IWL_CFG_MAC_TYPE_SOF:
 		mac = "so";
+		mac_step = 'a';
+		break;
+	case IWL_CFG_MAC_TYPE_TY:
+		mac = "ty";
+		mac_step = 'a';
 		break;
 	case IWL_CFG_MAC_TYPE_MA:
 		mac = "ma";
@@ -254,6 +259,7 @@  const char *iwl_drv_get_fwname_pre(struct iwl_trans *trans, char *buf)
 		break;
 	case IWL_CFG_RF_TYPE_GF:
 		rf = "gf";
+		rf_step = 'a';
 		break;
 	case IWL_CFG_RF_TYPE_FM:
 		rf = "fm";
diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c
index 934671d3d454..bffe3bb3e3f0 100644
--- a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c
+++ b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c
@@ -970,23 +970,23 @@  VISIBLE_IF_IWLWIFI_KUNIT const struct iwl_dev_info iwl_dev_info_table[] = {
 		     DEVICE(0x51F0), SUBDEV(0x1552)),
 	IWL_DEV_INFO(iwl9000_2ac_cfg, iwl9560_killer_1550i_160_name,
 		     DEVICE(0x51F0), SUBDEV(0x1551)),
-	IWL_DEV_INFO(iwlax411_2ax_cfg_so_gf4_a0, iwl_ax411_killer_1690s_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax411_killer_1690s_name,
 		     DEVICE(0x51F0), SUBDEV(0x1691)),
-	IWL_DEV_INFO(iwlax411_2ax_cfg_so_gf4_a0, iwl_ax411_killer_1690i_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax411_killer_1690i_name,
 		     DEVICE(0x51F0), SUBDEV(0x1692)),
-	IWL_DEV_INFO(iwlax411_2ax_cfg_so_gf4_a0, iwl_ax411_killer_1690i_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax411_killer_1690i_name,
 		     DEVICE(0x51F1), SUBDEV(0x1692)),
-	IWL_DEV_INFO(iwlax411_2ax_cfg_so_gf4_a0, iwl_ax411_killer_1690s_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax411_killer_1690s_name,
 		     DEVICE(0x54F0), SUBDEV(0x1691)),
-	IWL_DEV_INFO(iwlax411_2ax_cfg_so_gf4_a0, iwl_ax411_killer_1690i_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax411_killer_1690i_name,
 		     DEVICE(0x54F0), SUBDEV(0x1692)),
-	IWL_DEV_INFO(iwlax411_2ax_cfg_so_gf4_a0, iwl_ax411_killer_1690s_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax411_killer_1690s_name,
 		     DEVICE(0x7A70), SUBDEV(0x1691)),
-	IWL_DEV_INFO(iwlax411_2ax_cfg_so_gf4_a0, iwl_ax411_killer_1690i_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax411_killer_1690i_name,
 		     DEVICE(0x7A70), SUBDEV(0x1692)),
-	IWL_DEV_INFO(iwlax411_2ax_cfg_so_gf4_a0, iwl_ax411_killer_1690s_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax411_killer_1690s_name,
 		     DEVICE(0x7AF0), SUBDEV(0x1691)),
-	IWL_DEV_INFO(iwlax411_2ax_cfg_so_gf4_a0, iwl_ax411_killer_1690i_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax411_killer_1690i_name,
 		     DEVICE(0x7AF0), SUBDEV(0x1692)),
 
 	IWL_DEV_INFO(iwl9000_2ac_cfg, iwl9260_1_name,
@@ -1139,57 +1139,57 @@  VISIBLE_IF_IWLWIFI_KUNIT const struct iwl_dev_info iwl_dev_info_table[] = {
 		     DEVICE(0x4DF0), SUBDEV(0x6074)),
 
 	/* So with HR */
-	IWL_DEV_INFO(iwlax211_2ax_cfg_so_gf_a0, iwl_ax211_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_name,
 		     DEVICE(0x2725), SUBDEV(0x0090)),
-	IWL_DEV_INFO(iwlax210_2ax_cfg_ty_gf_a0, iwl_ax210_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax210_name,
 		     DEVICE(0x2725), SUBDEV(0x0020)),
-	IWL_DEV_INFO(iwlax210_2ax_cfg_ty_gf_a0, iwl_ax210_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax210_name,
 		     DEVICE(0x2725), SUBDEV(0x2020)),
-	IWL_DEV_INFO(iwlax210_2ax_cfg_ty_gf_a0, iwl_ax210_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax210_name,
 		     DEVICE(0x2725), SUBDEV(0x0024)),
-	IWL_DEV_INFO(iwlax210_2ax_cfg_ty_gf_a0, iwl_ax210_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax210_name,
 		     DEVICE(0x2725), SUBDEV(0x0310)),
-	IWL_DEV_INFO(iwlax210_2ax_cfg_ty_gf_a0, iwl_ax210_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax210_name,
 		     DEVICE(0x2725), SUBDEV(0x0510)),
-	IWL_DEV_INFO(iwlax210_2ax_cfg_ty_gf_a0, iwl_ax210_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax210_name,
 		     DEVICE(0x2725), SUBDEV(0x0A10)),
-	IWL_DEV_INFO(iwlax210_2ax_cfg_ty_gf_a0, iwl_ax210_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax210_name,
 		     DEVICE(0x2725), SUBDEV(0xE020)),
-	IWL_DEV_INFO(iwlax210_2ax_cfg_ty_gf_a0, iwl_ax210_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax210_name,
 		     DEVICE(0x2725), SUBDEV(0xE024)),
-	IWL_DEV_INFO(iwlax210_2ax_cfg_ty_gf_a0, iwl_ax210_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax210_name,
 		     DEVICE(0x2725), SUBDEV(0x4020)),
-	IWL_DEV_INFO(iwlax210_2ax_cfg_ty_gf_a0, iwl_ax210_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax210_name,
 		     DEVICE(0x2725), SUBDEV(0x6020)),
-	IWL_DEV_INFO(iwlax210_2ax_cfg_ty_gf_a0, iwl_ax210_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax210_name,
 		     DEVICE(0x2725), SUBDEV(0x6024)),
-	IWL_DEV_INFO(iwlax210_2ax_cfg_ty_gf_a0, iwl_ax210_killer_1675w_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax210_killer_1675w_name,
 		     DEVICE(0x2725), SUBDEV(0x1673)),
-	IWL_DEV_INFO(iwlax210_2ax_cfg_ty_gf_a0, iwl_ax210_killer_1675x_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax210_killer_1675x_name,
 		     DEVICE(0x2725), SUBDEV(0x1674)),
-	IWL_DEV_INFO(iwlax211_2ax_cfg_so_gf_a0, iwl_ax211_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_name,
 		     DEVICE(0x7A70), SUBDEV(0x0090)),
-	IWL_DEV_INFO(iwlax211_2ax_cfg_so_gf_a0, iwl_ax211_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_name,
 		     DEVICE(0x7A70), SUBDEV(0x0098)),
-	IWL_DEV_INFO(iwlax411_2ax_cfg_so_gf4_a0, iwl_ax411_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax411_name,
 		     DEVICE(0x7A70), SUBDEV(0x00B0)),
-	IWL_DEV_INFO(iwlax211_2ax_cfg_so_gf_a0, iwl_ax211_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_name,
 		     DEVICE(0x7A70), SUBDEV(0x0310)),
-	IWL_DEV_INFO(iwlax211_2ax_cfg_so_gf_a0, iwl_ax211_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_name,
 		     DEVICE(0x7A70), SUBDEV(0x0510)),
-	IWL_DEV_INFO(iwlax211_2ax_cfg_so_gf_a0, iwl_ax211_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_name,
 		     DEVICE(0x7A70), SUBDEV(0x0A10)),
-	IWL_DEV_INFO(iwlax211_2ax_cfg_so_gf_a0, iwl_ax211_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_name,
 		     DEVICE(0x7AF0), SUBDEV(0x0090)),
-	IWL_DEV_INFO(iwlax211_2ax_cfg_so_gf_a0, iwl_ax211_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_name,
 		     DEVICE(0x7AF0), SUBDEV(0x0098)),
-	IWL_DEV_INFO(iwlax411_2ax_cfg_so_gf4_a0, iwl_ax411_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax411_name,
 		     DEVICE(0x7AF0), SUBDEV(0x00B0)),
-	IWL_DEV_INFO(iwlax211_2ax_cfg_so_gf_a0, iwl_ax211_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_name,
 		     DEVICE(0x7AF0), SUBDEV(0x0310)),
-	IWL_DEV_INFO(iwlax211_2ax_cfg_so_gf_a0, iwl_ax211_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_name,
 		     DEVICE(0x7AF0), SUBDEV(0x0510)),
-	IWL_DEV_INFO(iwlax211_2ax_cfg_so_gf_a0, iwl_ax211_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_name,
 		     DEVICE(0x7AF0), SUBDEV(0x0A10)),
 
 	/* So with JF */
@@ -1203,29 +1203,29 @@  VISIBLE_IF_IWLWIFI_KUNIT const struct iwl_dev_info iwl_dev_info_table[] = {
 		     DEVICE(0x7AF0), SUBDEV(0x1552)),
 
 	/* SO with GF2 */
-	IWL_DEV_INFO(iwlax211_2ax_cfg_so_gf_a0, iwl_ax211_killer_1675s_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_killer_1675s_name,
 		     DEVICE(0x51F0), SUBDEV(0x1671)),
-	IWL_DEV_INFO(iwlax211_2ax_cfg_so_gf_a0, iwl_ax211_killer_1675i_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_killer_1675i_name,
 		     DEVICE(0x51F0), SUBDEV(0x1672)),
-	IWL_DEV_INFO(iwlax211_2ax_cfg_so_gf_a0, iwl_ax211_killer_1675s_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_killer_1675s_name,
 		     DEVICE(0x51F1), SUBDEV(0x1671)),
-	IWL_DEV_INFO(iwlax211_2ax_cfg_so_gf_a0, iwl_ax211_killer_1675i_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_killer_1675i_name,
 		     DEVICE(0x51F1), SUBDEV(0x1672)),
-	IWL_DEV_INFO(iwlax211_2ax_cfg_so_gf_a0, iwl_ax211_killer_1675s_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_killer_1675s_name,
 		     DEVICE(0x54F0), SUBDEV(0x1671)),
-	IWL_DEV_INFO(iwlax211_2ax_cfg_so_gf_a0, iwl_ax211_killer_1675i_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_killer_1675i_name,
 		     DEVICE(0x54F0), SUBDEV(0x1672)),
-	IWL_DEV_INFO(iwlax211_2ax_cfg_so_gf_a0, iwl_ax211_killer_1675s_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_killer_1675s_name,
 		     DEVICE(0x7A70), SUBDEV(0x1671)),
-	IWL_DEV_INFO(iwlax211_2ax_cfg_so_gf_a0, iwl_ax211_killer_1675i_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_killer_1675i_name,
 		     DEVICE(0x7A70), SUBDEV(0x1672)),
-	IWL_DEV_INFO(iwlax211_2ax_cfg_so_gf_a0, iwl_ax211_killer_1675s_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_killer_1675s_name,
 		     DEVICE(0x7AF0), SUBDEV(0x1671)),
-	IWL_DEV_INFO(iwlax211_2ax_cfg_so_gf_a0, iwl_ax211_killer_1675i_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_killer_1675i_name,
 		     DEVICE(0x7AF0), SUBDEV(0x1672)),
-	IWL_DEV_INFO(iwlax211_2ax_cfg_so_gf_a0, iwl_ax211_killer_1675s_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_killer_1675s_name,
 		     DEVICE(0x7F70), SUBDEV(0x1671)),
-	IWL_DEV_INFO(iwlax211_2ax_cfg_so_gf_a0, iwl_ax211_killer_1675i_name,
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_killer_1675i_name,
 		     DEVICE(0x7F70), SUBDEV(0x1672)),
 
 	/* MA with GF2 */
@@ -1405,9 +1405,9 @@  VISIBLE_IF_IWLWIFI_KUNIT const struct iwl_dev_info iwl_dev_info_table[] = {
 		     RF_TYPE(HR2), BW_NOT_LIMITED, NO_CDB),
 
 /* So-F with Gf */
-	IWL_DEV_INFO(iwlax211_2ax_cfg_so_gf_a0, iwl_ax211_name, MAC_TYPE(SOF),
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_name, MAC_TYPE(SOF),
 		     RF_TYPE(GF), BW_NOT_LIMITED, NO_CDB),
-	IWL_DEV_INFO(iwlax411_2ax_cfg_so_gf4_a0, iwl_ax411_name, MAC_TYPE(SOF),
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax411_name, MAC_TYPE(SOF),
 		     RF_TYPE(GF), BW_NOT_LIMITED, CDB),
 
 /* SoF with JF2 */
@@ -1427,9 +1427,9 @@  VISIBLE_IF_IWLWIFI_KUNIT const struct iwl_dev_info iwl_dev_info_table[] = {
 		     RF_TYPE(JF1), RF_ID(JF1_DIV), BW_LIMITED, CORES(BT), NO_CDB),
 
 /* So with GF */
-	IWL_DEV_INFO(iwlax211_2ax_cfg_so_gf_a0, iwl_ax211_name, MAC_TYPE(SO),
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_name, MAC_TYPE(SO),
 		     RF_TYPE(GF), BW_NOT_LIMITED, NO_CDB),
-	IWL_DEV_INFO(iwlax411_2ax_cfg_so_gf4_a0, iwl_ax411_name, MAC_TYPE(SO),
+	IWL_DEV_INFO(iwl_cfg_ma, iwl_ax411_name, MAC_TYPE(SO),
 		     RF_TYPE(GF), BW_NOT_LIMITED, CDB),
 
 /* So with JF2 */