wifi: iwlwifi: build 9000 series FW filenames dynamically

This is more maintainable than the fw_name_pre prefix, and
requires fewer duplicate structs as well. Since only b0 FW
exists, override the MAC/RF steps for these devices.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Link: https://patch.msgid.link/20250508121306.1277801-2-miriam.rachel.korenblit@intel.com
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
This commit is contained in:
Johannes Berg
2025-05-08 15:12:52 +03:00
committed by Miri Korenblit
parent 04901be1ec
commit beba2316b8
4 changed files with 38 additions and 51 deletions

View File

@@ -177,24 +177,11 @@ const char iwl9560_killer_1550s_name[] =
const char iwl9560_killer_1550s_160_name[] =
"Killer(R) Wireless-AC 1550s Wireless Network Adapter (9560D2W) 160MHz";
const struct iwl_cfg iwl9260_2ac_cfg = {
.fw_name_pre = IWL9260_FW_PRE,
const struct iwl_cfg iwl9000_2ac_cfg = {
IWL_DEVICE_9000,
};
const struct iwl_cfg iwl9260_2ac_cfg_80mhz = {
.fw_name_pre = IWL9260_FW_PRE,
IWL_DEVICE_9000,
.bw_limit = 80,
};
const struct iwl_cfg iwl9560_2ac_cfg_soc = {
.fw_name_pre = IWL9000_FW_PRE,
IWL_DEVICE_9000,
};
const struct iwl_cfg iwl9560_2ac_cfg_soc_80mhz = {
.fw_name_pre = IWL9000_FW_PRE,
const struct iwl_cfg iwl9000_2ac_cfg_80mhz = {
IWL_DEVICE_9000,
.bw_limit = 80,
};

View File

@@ -665,14 +665,12 @@ extern const struct iwl_cfg iwl7265_cfg;
extern const struct iwl_cfg iwl7265d_cfg;
extern const struct iwl_cfg iwl8260_cfg;
extern const struct iwl_cfg iwl8265_cfg;
extern const struct iwl_cfg iwl9260_2ac_cfg;
extern const struct iwl_cfg iwl9260_2ac_cfg_80mhz;
extern const struct iwl_cfg iwl9000_2ac_cfg;
extern const struct iwl_cfg iwl9000_2ac_cfg_80mhz;
extern const struct iwl_cfg iwl9560_qu_jf_cfg;
extern const struct iwl_cfg iwl9560_qu_jf_cfg_80mhz;
extern const struct iwl_cfg iwl9560_quz_a0_jf_b0_cfg;
extern const struct iwl_cfg iwl9560_quz_a0_jf_b0_cfg_80mhz;
extern const struct iwl_cfg iwl9560_2ac_cfg_soc;
extern const struct iwl_cfg iwl9560_2ac_cfg_soc_80mhz;
extern const struct iwl_cfg iwl_qu_hr1;
extern const struct iwl_cfg iwl_qu_hr;
extern const struct iwl_cfg iwl_qu_hr_80mhz;

View File

@@ -191,10 +191,12 @@ const char *iwl_drv_get_fwname_pre(struct iwl_trans *trans, char *buf)
switch (CSR_HW_REV_TYPE(trans->info.hw_rev)) {
case IWL_CFG_MAC_TYPE_PU:
mac = "pu";
mac = "9000-pu";
mac_step = 'b';
break;
case IWL_CFG_MAC_TYPE_TH:
mac = "th";
mac = "9260-th";
mac_step = 'b';
break;
case IWL_CFG_MAC_TYPE_QU:
mac = "Qu";

View File

@@ -944,31 +944,31 @@ VISIBLE_IF_IWLWIFI_KUNIT const struct iwl_dev_info iwl_dev_info_table[] = {
IWL_DEV_INFO(iwl8265_cfg, iwl8275_2ac_name,
DEVICE(0x24FD), SUBDEV(0x0012)),
/* 9000 */
IWL_DEV_INFO(iwl9260_2ac_cfg, iwl9260_killer_1550_name,
IWL_DEV_INFO(iwl9000_2ac_cfg, iwl9260_killer_1550_name,
DEVICE(0x2526), SUBDEV(0x1550)),
IWL_DEV_INFO(iwl9560_2ac_cfg_soc, iwl9560_killer_1550s_name,
IWL_DEV_INFO(iwl9000_2ac_cfg, iwl9560_killer_1550s_name,
DEVICE(0x2526), SUBDEV(0x1551)),
IWL_DEV_INFO(iwl9560_2ac_cfg_soc, iwl9560_killer_1550i_name,
IWL_DEV_INFO(iwl9000_2ac_cfg, iwl9560_killer_1550i_name,
DEVICE(0x2526), SUBDEV(0x1552)),
IWL_DEV_INFO(iwl9560_2ac_cfg_soc, iwl9560_killer_1550s_name,
IWL_DEV_INFO(iwl9000_2ac_cfg, iwl9560_killer_1550s_name,
DEVICE(0x30DC), SUBDEV(0x1551)),
IWL_DEV_INFO(iwl9560_2ac_cfg_soc, iwl9560_killer_1550i_name,
IWL_DEV_INFO(iwl9000_2ac_cfg, iwl9560_killer_1550i_name,
DEVICE(0x30DC), SUBDEV(0x1552)),
IWL_DEV_INFO(iwl9560_2ac_cfg_soc, iwl9560_killer_1550s_name,
IWL_DEV_INFO(iwl9000_2ac_cfg, iwl9560_killer_1550s_name,
DEVICE(0x31DC), SUBDEV(0x1551)),
IWL_DEV_INFO(iwl9560_2ac_cfg_soc, iwl9560_killer_1550i_name,
IWL_DEV_INFO(iwl9000_2ac_cfg, iwl9560_killer_1550i_name,
DEVICE(0x31DC), SUBDEV(0x1552)),
IWL_DEV_INFO(iwl9560_2ac_cfg_soc, iwl9560_killer_1550s_name,
IWL_DEV_INFO(iwl9000_2ac_cfg, iwl9560_killer_1550s_name,
DEVICE(0xA370), SUBDEV(0x1551)),
IWL_DEV_INFO(iwl9560_2ac_cfg_soc, iwl9560_killer_1550i_name,
IWL_DEV_INFO(iwl9000_2ac_cfg, iwl9560_killer_1550i_name,
DEVICE(0xA370), SUBDEV(0x1552)),
IWL_DEV_INFO(iwl9560_2ac_cfg_soc, iwl9560_killer_1550s_160_name,
IWL_DEV_INFO(iwl9000_2ac_cfg, iwl9560_killer_1550s_160_name,
DEVICE(0x54F0), SUBDEV(0x1551)),
IWL_DEV_INFO(iwl9560_2ac_cfg_soc, iwl9560_killer_1550i_name,
IWL_DEV_INFO(iwl9000_2ac_cfg, iwl9560_killer_1550i_name,
DEVICE(0x54F0), SUBDEV(0x1552)),
IWL_DEV_INFO(iwl9560_2ac_cfg_soc, iwl9560_killer_1550s_160_name,
IWL_DEV_INFO(iwl9000_2ac_cfg, iwl9560_killer_1550s_160_name,
DEVICE(0x51F0), SUBDEV(0x1552)),
IWL_DEV_INFO(iwl9560_2ac_cfg_soc, iwl9560_killer_1550i_160_name,
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,
DEVICE(0x51F0), SUBDEV(0x1691)),
@@ -989,7 +989,7 @@ VISIBLE_IF_IWLWIFI_KUNIT const struct iwl_dev_info iwl_dev_info_table[] = {
IWL_DEV_INFO(iwlax411_2ax_cfg_so_gf4_a0, iwl_ax411_killer_1690i_name,
DEVICE(0x7AF0), SUBDEV(0x1692)),
IWL_DEV_INFO(iwl9260_2ac_cfg, iwl9260_1_name,
IWL_DEV_INFO(iwl9000_2ac_cfg, iwl9260_1_name,
DEVICE(0x271C), SUBDEV(0x0214)),
IWL_DEV_INFO(iwl_cfg_ma, iwl_ax411_killer_1690s_name,
DEVICE(0x7E40), SUBDEV(0x1691)),
@@ -1193,13 +1193,13 @@ VISIBLE_IF_IWLWIFI_KUNIT const struct iwl_dev_info iwl_dev_info_table[] = {
DEVICE(0x7AF0), SUBDEV(0x0A10)),
/* So with JF */
IWL_DEV_INFO(iwl9560_2ac_cfg_soc, iwl9560_killer_1550s_160_name,
IWL_DEV_INFO(iwl9000_2ac_cfg, iwl9560_killer_1550s_160_name,
DEVICE(0x7A70), SUBDEV(0x1551)),
IWL_DEV_INFO(iwl9560_2ac_cfg_soc, iwl9560_killer_1550i_160_name,
IWL_DEV_INFO(iwl9000_2ac_cfg, iwl9560_killer_1550i_160_name,
DEVICE(0x7A70), SUBDEV(0x1552)),
IWL_DEV_INFO(iwl9560_2ac_cfg_soc, iwl9560_killer_1550s_160_name,
IWL_DEV_INFO(iwl9000_2ac_cfg, iwl9560_killer_1550s_160_name,
DEVICE(0x7AF0), SUBDEV(0x1551)),
IWL_DEV_INFO(iwl9560_2ac_cfg_soc, iwl9560_killer_1550i_160_name,
IWL_DEV_INFO(iwl9000_2ac_cfg, iwl9560_killer_1550i_160_name,
DEVICE(0x7AF0), SUBDEV(0x1552)),
/* SO with GF2 */
@@ -1234,44 +1234,44 @@ VISIBLE_IF_IWLWIFI_KUNIT const struct iwl_dev_info iwl_dev_info_table[] = {
IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_killer_1675i_name,
DEVICE(0x7E40), SUBDEV(0x1672)),
IWL_DEV_INFO(iwl9560_2ac_cfg_soc, iwl9461_160_name, MAC_TYPE(PU),
IWL_DEV_INFO(iwl9000_2ac_cfg, iwl9461_160_name, MAC_TYPE(PU),
RF_TYPE(JF1), RF_ID(JF1),
BW_NOT_LIMITED, CORES(BT), NO_CDB),
IWL_DEV_INFO(iwl9560_2ac_cfg_soc_80mhz, iwl9461_name, MAC_TYPE(PU),
IWL_DEV_INFO(iwl9000_2ac_cfg_80mhz, iwl9461_name, MAC_TYPE(PU),
RF_TYPE(JF1), RF_ID(JF1),
BW_LIMITED, CORES(BT), NO_CDB),
IWL_DEV_INFO(iwl9560_2ac_cfg_soc, iwl9462_160_name, MAC_TYPE(PU),
IWL_DEV_INFO(iwl9000_2ac_cfg, iwl9462_160_name, MAC_TYPE(PU),
RF_TYPE(JF1), RF_ID(JF1_DIV),
BW_NOT_LIMITED, CORES(BT), NO_CDB),
IWL_DEV_INFO(iwl9560_2ac_cfg_soc_80mhz, iwl9462_name, MAC_TYPE(PU),
IWL_DEV_INFO(iwl9000_2ac_cfg_80mhz, iwl9462_name, MAC_TYPE(PU),
RF_TYPE(JF1), RF_ID(JF1_DIV),
BW_LIMITED, CORES(BT), NO_CDB),
IWL_DEV_INFO(iwl9560_2ac_cfg_soc, iwl9560_160_name, MAC_TYPE(PU),
IWL_DEV_INFO(iwl9000_2ac_cfg, iwl9560_160_name, MAC_TYPE(PU),
RF_TYPE(JF2), RF_ID(JF),
BW_NOT_LIMITED, CORES(BT), NO_CDB),
IWL_DEV_INFO(iwl9560_2ac_cfg_soc_80mhz, iwl9560_name, MAC_TYPE(PU),
IWL_DEV_INFO(iwl9000_2ac_cfg_80mhz, iwl9560_name, MAC_TYPE(PU),
RF_TYPE(JF2), RF_ID(JF),
BW_LIMITED, CORES(BT), NO_CDB),
IWL_DEV_INFO(iwl9260_2ac_cfg, iwl9270_160_name, DEVICE(0x2526),
IWL_DEV_INFO(iwl9000_2ac_cfg, iwl9270_160_name, DEVICE(0x2526),
MAC_TYPE(TH), RF_TYPE(JF2),
BW_NOT_LIMITED, CORES(BT_GNSS), NO_CDB),
IWL_DEV_INFO(iwl9260_2ac_cfg_80mhz, iwl9270_name, DEVICE(0x2526),
IWL_DEV_INFO(iwl9000_2ac_cfg_80mhz, iwl9270_name, DEVICE(0x2526),
MAC_TYPE(TH), RF_TYPE(JF2),
BW_LIMITED, CORES(BT_GNSS), NO_CDB),
IWL_DEV_INFO(iwl9260_2ac_cfg, iwl9162_160_name, DEVICE(0x271B),
IWL_DEV_INFO(iwl9000_2ac_cfg, iwl9162_160_name, DEVICE(0x271B),
MAC_TYPE(TH), RF_TYPE(JF1),
BW_NOT_LIMITED, CORES(BT), NO_CDB),
IWL_DEV_INFO(iwl9260_2ac_cfg_80mhz, iwl9162_name, DEVICE(0x271B),
IWL_DEV_INFO(iwl9000_2ac_cfg_80mhz, iwl9162_name, DEVICE(0x271B),
MAC_TYPE(TH), RF_TYPE(JF1),
BW_LIMITED, CORES(BT), NO_CDB),
IWL_DEV_INFO(iwl9260_2ac_cfg, iwl9260_160_name, DEVICE(0x2526),
IWL_DEV_INFO(iwl9000_2ac_cfg, iwl9260_160_name, DEVICE(0x2526),
MAC_TYPE(TH), RF_TYPE(JF2),
BW_NOT_LIMITED, CORES(BT), NO_CDB),
IWL_DEV_INFO(iwl9260_2ac_cfg_80mhz, iwl9260_name, DEVICE(0x2526),
IWL_DEV_INFO(iwl9000_2ac_cfg_80mhz, iwl9260_name, DEVICE(0x2526),
MAC_TYPE(TH), RF_TYPE(JF2),
BW_LIMITED, CORES(BT), NO_CDB),