mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-09 06:41:06 -04:00
wifi: iwlwifi: cfg: build ax210 family FW names dynamically
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>
This commit is contained in:
committed by
Miri Korenblit
parent
de5d746fd0
commit
ebc1a98be7
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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 */
|
||||
|
||||
Reference in New Issue
Block a user