]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
wifi: iwlwifi: cfg: build ax210 family FW names dynamically
authorJohannes Berg <johannes.berg@intel.com>
Thu, 8 May 2025 12:12:55 +0000 (15:12 +0300)
committerMiri Korenblit <miriam.rachel.korenblit@intel.com>
Fri, 9 May 2025 12:37:33 +0000 (15:37 +0300)
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>
Link: https://patch.msgid.link/20250508121306.1277801-5-miriam.rachel.korenblit@intel.com
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
drivers/net/wireless/intel/iwlwifi/cfg/ax210.c
drivers/net/wireless/intel/iwlwifi/iwl-config.h
drivers/net/wireless/intel/iwlwifi/iwl-drv.c
drivers/net/wireless/intel/iwlwifi/pcie/drv.c

index e7bba29fe755a689676c423017b7e28397ab9e9f..21b1e257f7515ef1087f029b16964fd30cf85f71 100644 (file)
@@ -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,
index f978449af1065bec6603ee0527fd16bea88d982c..0977a683459abceb5c81014b847f8064e55f3ae9 100644 (file)
@@ -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;
 
index acfc3eb89afefa03245c5cc424796eccd680519e..eb57981e4c8cf0a1ed53254bcd12cb559f199e93 100644 (file)
@@ -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";
index 934671d3d4543ec625fe3a0467a6d745824da21b..bffe3bb3e3f0638b814f984da6858d93410b8181 100644 (file)
@@ -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 */