@@ -459,6 +459,7 @@ struct iwl_cfg {
struct iwl_dev_info {
u16 device;
u16 subdevice;
+ u16 subdevice_mask;
u16 rf_type;
u8 mac_type;
u8 bw_limit;
@@ -554,6 +554,7 @@ EXPORT_SYMBOL_IF_IWLWIFI_KUNIT(iwl_hw_card_ids);
.name = _name, \
.device = IWL_CFG_ANY, \
.subdevice = IWL_CFG_ANY, \
+ .subdevice_mask = ~0, \
.mac_type = IWL_CFG_ANY, \
.mac_step = IWL_CFG_ANY, \
.rf_type = IWL_CFG_ANY, \
@@ -570,6 +571,9 @@ EXPORT_SYMBOL_IF_IWLWIFI_KUNIT(iwl_hw_card_ids);
#define DEVICE(n) .device = (n)
#define SUBDEV(n) .subdevice = (n)
+#define SUBDEV_MASKED(v, m) \
+ .subdevice = (v), \
+ .subdevice_mask = (m)
#define MAC_TYPE(n) .mac_type = IWL_CFG_MAC_TYPE_##n
#define MAC_STEP(n) .mac_step = SILICON_##n##_STEP
#define RF_TYPE(n) .rf_type = IWL_CFG_RF_TYPE_##n
@@ -584,132 +588,60 @@ EXPORT_SYMBOL_IF_IWLWIFI_KUNIT(iwl_hw_card_ids);
VISIBLE_IF_IWLWIFI_KUNIT const struct iwl_dev_info iwl_dev_info_table[] = {
#if IS_ENABLED(CONFIG_IWLDVM)
IWL_DEV_INFO(iwl5100_n_cfg, iwl5100_agn_name,
- DEVICE(0x4232), SUBDEV(0x1201)), /* Mini Card */
+ DEVICE(0x4232), SUBDEV_MASKED(0x1, 0xF)),
IWL_DEV_INFO(iwl5100_n_cfg, iwl5100_agn_name,
- DEVICE(0x4232), SUBDEV(0x1301)), /* Half Mini Card */
- IWL_DEV_INFO(iwl5100_n_cfg, iwl5100_agn_name,
- DEVICE(0x4232), SUBDEV(0x1204)), /* Mini Card */
- IWL_DEV_INFO(iwl5100_n_cfg, iwl5100_agn_name,
- DEVICE(0x4232), SUBDEV(0x1304)), /* Half Mini Card */
- IWL_DEV_INFO(iwl5100_n_cfg, iwl5100_bgn_name,
- DEVICE(0x4232), SUBDEV(0x1205)), /* Mini Card */
+ DEVICE(0x4232), SUBDEV_MASKED(0x4, 0xF)),
IWL_DEV_INFO(iwl5100_n_cfg, iwl5100_bgn_name,
- DEVICE(0x4232), SUBDEV(0x1305)), /* Half Mini Card */
+ DEVICE(0x4232), SUBDEV_MASKED(0x5, 0xF)),
IWL_DEV_INFO(iwl5100_abg_cfg, iwl5100_abg_name,
- DEVICE(0x4232), SUBDEV(0x1206)), /* Mini Card */
- IWL_DEV_INFO(iwl5100_abg_cfg, iwl5100_abg_name,
- DEVICE(0x4232), SUBDEV(0x1306)), /* Half Mini Card */
- IWL_DEV_INFO(iwl5100_n_cfg, iwl5100_agn_name,
- DEVICE(0x4232), SUBDEV(0x1221)), /* Mini Card */
+ DEVICE(0x4232), SUBDEV_MASKED(0x6, 0xF)),
IWL_DEV_INFO(iwl5100_n_cfg, iwl5100_agn_name,
- DEVICE(0x4232), SUBDEV(0x1321)), /* Half Mini Card */
+ DEVICE(0x4237), SUBDEV_MASKED(0x1, 0xF)),
IWL_DEV_INFO(iwl5100_n_cfg, iwl5100_agn_name,
- DEVICE(0x4232), SUBDEV(0x1224)), /* Mini Card */
- IWL_DEV_INFO(iwl5100_n_cfg, iwl5100_agn_name,
- DEVICE(0x4232), SUBDEV(0x1324)), /* Half Mini Card */
- IWL_DEV_INFO(iwl5100_n_cfg, iwl5100_bgn_name,
- DEVICE(0x4232), SUBDEV(0x1225)), /* Mini Card */
+ DEVICE(0x4237), SUBDEV_MASKED(0x4, 0xF)),
IWL_DEV_INFO(iwl5100_n_cfg, iwl5100_bgn_name,
- DEVICE(0x4232), SUBDEV(0x1325)), /* Half Mini Card */
- IWL_DEV_INFO(iwl5100_abg_cfg, iwl5100_abg_name,
- DEVICE(0x4232), SUBDEV(0x1226)), /* Mini Card */
+ DEVICE(0x4237), SUBDEV_MASKED(0x5, 0xF)),
IWL_DEV_INFO(iwl5100_abg_cfg, iwl5100_abg_name,
- DEVICE(0x4232), SUBDEV(0x1326)), /* Half Mini Card */
- IWL_DEV_INFO(iwl5100_n_cfg, iwl5100_agn_name,
- DEVICE(0x4237), SUBDEV(0x1211)), /* Mini Card */
- IWL_DEV_INFO(iwl5100_n_cfg, iwl5100_agn_name,
- DEVICE(0x4237), SUBDEV(0x1311)), /* Half Mini Card */
- IWL_DEV_INFO(iwl5100_n_cfg, iwl5100_agn_name,
- DEVICE(0x4237), SUBDEV(0x1214)), /* Mini Card */
- IWL_DEV_INFO(iwl5100_n_cfg, iwl5100_agn_name,
- DEVICE(0x4237), SUBDEV(0x1314)), /* Half Mini Card */
- IWL_DEV_INFO(iwl5100_n_cfg, iwl5100_bgn_name,
- DEVICE(0x4237), SUBDEV(0x1215)), /* Mini Card */
- IWL_DEV_INFO(iwl5100_n_cfg, iwl5100_bgn_name,
- DEVICE(0x4237), SUBDEV(0x1315)), /* Half Mini Card */
- IWL_DEV_INFO(iwl5100_abg_cfg, iwl5100_abg_name,
- DEVICE(0x4237), SUBDEV(0x1216)), /* Mini Card */
- IWL_DEV_INFO(iwl5100_abg_cfg, iwl5100_abg_name,
- DEVICE(0x4237), SUBDEV(0x1316)), /* Half Mini Card */
+ DEVICE(0x4237), SUBDEV_MASKED(0x6, 0xF)),
/* 5300 Series WiFi */
IWL_DEV_INFO(iwl5300_agn_cfg, iwl5300_agn_name,
- DEVICE(0x4235), SUBDEV(0x1021)), /* Mini Card */
- IWL_DEV_INFO(iwl5300_agn_cfg, iwl5300_agn_name,
- DEVICE(0x4235), SUBDEV(0x1121)), /* Half Mini Card */
- IWL_DEV_INFO(iwl5300_agn_cfg, iwl5300_agn_name,
- DEVICE(0x4235), SUBDEV(0x1024)), /* Mini Card */
- IWL_DEV_INFO(iwl5300_agn_cfg, iwl5300_agn_name,
- DEVICE(0x4235), SUBDEV(0x1124)), /* Half Mini Card */
+ DEVICE(0x4235), SUBDEV_MASKED(0x1, 0xF)),
IWL_DEV_INFO(iwl5300_agn_cfg, iwl5300_agn_name,
- DEVICE(0x4235), SUBDEV(0x1001)), /* Mini Card */
+ DEVICE(0x4235), SUBDEV_MASKED(0x4, 0xF)),
IWL_DEV_INFO(iwl5300_agn_cfg, iwl5300_agn_name,
- DEVICE(0x4235), SUBDEV(0x1101)), /* Half Mini Card */
+ DEVICE(0x4236), SUBDEV_MASKED(0x1, 0xF)),
IWL_DEV_INFO(iwl5300_agn_cfg, iwl5300_agn_name,
- DEVICE(0x4235), SUBDEV(0x1004)), /* Mini Card */
- IWL_DEV_INFO(iwl5300_agn_cfg, iwl5300_agn_name,
- DEVICE(0x4235), SUBDEV(0x1104)), /* Half Mini Card */
- IWL_DEV_INFO(iwl5300_agn_cfg, iwl5300_agn_name,
- DEVICE(0x4236), SUBDEV(0x1011)), /* Mini Card */
- IWL_DEV_INFO(iwl5300_agn_cfg, iwl5300_agn_name,
- DEVICE(0x4236), SUBDEV(0x1111)), /* Half Mini Card */
- IWL_DEV_INFO(iwl5300_agn_cfg, iwl5300_agn_name,
- DEVICE(0x4236), SUBDEV(0x1014)), /* Mini Card */
- IWL_DEV_INFO(iwl5300_agn_cfg, iwl5300_agn_name,
- DEVICE(0x4236), SUBDEV(0x1114)), /* Half Mini Card */
+ DEVICE(0x4236), SUBDEV_MASKED(0x4, 0xF)),
/* 5350 Series WiFi/WiMax */
IWL_DEV_INFO(iwl5350_agn_cfg, iwl5350_agn_name,
- DEVICE(0x423A), SUBDEV(0x1001)), /* Mini Card */
+ DEVICE(0x423A)),
IWL_DEV_INFO(iwl5350_agn_cfg, iwl5350_agn_name,
- DEVICE(0x423A), SUBDEV(0x1021)), /* Mini Card */
- IWL_DEV_INFO(iwl5350_agn_cfg, iwl5350_agn_name,
- DEVICE(0x423B), SUBDEV(0x1011)), /* Mini Card */
+ DEVICE(0x423B)),
/* 5150 Series Wifi/WiMax */
IWL_DEV_INFO(iwl5150_agn_cfg, iwl5150_agn_name,
- DEVICE(0x423C), SUBDEV(0x1201)), /* Mini Card */
- IWL_DEV_INFO(iwl5150_agn_cfg, iwl5150_agn_name,
- DEVICE(0x423C), SUBDEV(0x1301)), /* Half Mini Card */
- IWL_DEV_INFO(iwl5150_abg_cfg, iwl5150_abg_name,
- DEVICE(0x423C), SUBDEV(0x1206)), /* Mini Card */
+ DEVICE(0x423C), SUBDEV_MASKED(0x1, 0xF)),
IWL_DEV_INFO(iwl5150_abg_cfg, iwl5150_abg_name,
- DEVICE(0x423C), SUBDEV(0x1306)), /* Half Mini Card */
- IWL_DEV_INFO(iwl5150_agn_cfg, iwl5150_agn_name,
- DEVICE(0x423C), SUBDEV(0x1221)), /* Mini Card */
- IWL_DEV_INFO(iwl5150_agn_cfg, iwl5150_agn_name,
- DEVICE(0x423C), SUBDEV(0x1321)), /* Half Mini Card */
- IWL_DEV_INFO(iwl5150_abg_cfg, iwl5150_abg_name,
- DEVICE(0x423C), SUBDEV(0x1326)), /* Half Mini Card */
+ DEVICE(0x423C), SUBDEV_MASKED(0x6, 0xF)),
IWL_DEV_INFO(iwl5150_agn_cfg, iwl5150_agn_name,
- DEVICE(0x423D), SUBDEV(0x1211)), /* Mini Card */
- IWL_DEV_INFO(iwl5150_agn_cfg, iwl5150_agn_name,
- DEVICE(0x423D), SUBDEV(0x1311)), /* Half Mini Card */
- IWL_DEV_INFO(iwl5150_abg_cfg, iwl5150_abg_name,
- DEVICE(0x423D), SUBDEV(0x1216)), /* Mini Card */
+ DEVICE(0x423D), SUBDEV_MASKED(0x1, 0xF)),
IWL_DEV_INFO(iwl5150_abg_cfg, iwl5150_abg_name,
- DEVICE(0x423D), SUBDEV(0x1316)), /* Half Mini Card */
+ DEVICE(0x423D), SUBDEV_MASKED(0x6, 0xF)),
/* 6x00 Series */
IWL_DEV_INFO(iwl6000_3agn_cfg, iwl6000_3agn_name,
- DEVICE(0x422B), SUBDEV(0x1101)),
- IWL_DEV_INFO(iwl6000_3agn_cfg, iwl6000_3agn_name,
- DEVICE(0x422B), SUBDEV(0x1108)),
- IWL_DEV_INFO(iwl6000_3agn_cfg, iwl6000_3agn_name,
- DEVICE(0x422B), SUBDEV(0x1121)),
+ DEVICE(0x422B), SUBDEV_MASKED(0x1, 0xF)),
IWL_DEV_INFO(iwl6000_3agn_cfg, iwl6000_3agn_name,
- DEVICE(0x422B), SUBDEV(0x1128)),
+ DEVICE(0x422B), SUBDEV_MASKED(0x8, 0xF)),
IWL_DEV_INFO(iwl6000i_2agn_cfg, iwl6000i_2agn_name,
- DEVICE(0x422C), SUBDEV(0x1301)),
+ DEVICE(0x422C), SUBDEV_MASKED(0x1, 0xF)),
IWL_DEV_INFO(iwl6000i_non_n_cfg, iwl6000i_2abg_name,
- DEVICE(0x422C), SUBDEV(0x1306)),
+ DEVICE(0x422C), SUBDEV_MASKED(0x6, 0xF)),
IWL_DEV_INFO(iwl6000i_non_n_cfg, iwl6000i_2bg_name,
- DEVICE(0x422C), SUBDEV(0x1307)),
- IWL_DEV_INFO(iwl6000i_2agn_cfg, iwl6000i_2agn_name,
- DEVICE(0x422C), SUBDEV(0x1321)),
- IWL_DEV_INFO(iwl6000i_non_n_cfg, iwl6000i_2abg_name,
- DEVICE(0x422C), SUBDEV(0x1326)),
+ DEVICE(0x422C), SUBDEV_MASKED(0x7, 0xF)),
IWL_DEV_INFO(iwl6000_3agn_cfg, iwl6000_3agn_name,
DEVICE(0x4238), SUBDEV(0x1111)),
IWL_DEV_INFO(iwl6000_3agn_cfg, iwl6000_3agn_name,
@@ -721,31 +653,23 @@ VISIBLE_IF_IWLWIFI_KUNIT const struct iwl_dev_info iwl_dev_info_table[] = {
/* 6x05 Series */
IWL_DEV_INFO(iwl6005_n_cfg, iwl6005_2agn_name,
- DEVICE(0x0082), SUBDEV(0x1301)),
+ DEVICE(0x0082), SUBDEV_MASKED(0x1, 0xF)),
IWL_DEV_INFO(iwl6005_non_n_cfg, iwl6005_2abg_name,
- DEVICE(0x0082), SUBDEV(0x1306)),
+ DEVICE(0x0082), SUBDEV_MASKED(0x6, 0xF)),
IWL_DEV_INFO(iwl6005_non_n_cfg, iwl6005_2bg_name,
- DEVICE(0x0082), SUBDEV(0x1307)),
+ DEVICE(0x0082), SUBDEV_MASKED(0x7, 0xF)),
IWL_DEV_INFO(iwl6005_n_cfg, iwl6005_2agn_name,
- DEVICE(0x0082), SUBDEV(0x1308)),
- IWL_DEV_INFO(iwl6005_n_cfg, iwl6005_2agn_name,
- DEVICE(0x0082), SUBDEV(0x1321)),
- IWL_DEV_INFO(iwl6005_non_n_cfg, iwl6005_2abg_name,
- DEVICE(0x0082), SUBDEV(0x1326)),
- IWL_DEV_INFO(iwl6005_n_cfg, iwl6005_2agn_name,
- DEVICE(0x0082), SUBDEV(0x1328)),
+ DEVICE(0x0082), SUBDEV_MASKED(0x8, 0xF)),
+
IWL_DEV_INFO(iwl6005_n_cfg, iwl6005_2agn_name,
- DEVICE(0x0085), SUBDEV(0x1311)),
+ DEVICE(0x0085), SUBDEV_MASKED(0x1, 0xF)),
IWL_DEV_INFO(iwl6005_n_cfg, iwl6005_2agn_name,
- DEVICE(0x0085), SUBDEV(0x1318)),
+ DEVICE(0x0085), SUBDEV_MASKED(0x8, 0xF)),
IWL_DEV_INFO(iwl6005_non_n_cfg, iwl6005_2abg_name,
- DEVICE(0x0085), SUBDEV(0x1316)),
- IWL_DEV_INFO(iwl6005_n_cfg, iwl6005_2agn_sff_name,
- DEVICE(0x0082), SUBDEV(0xC020)),
- IWL_DEV_INFO(iwl6005_n_cfg, iwl6005_2agn_sff_name,
- DEVICE(0x0085), SUBDEV(0xC220)),
+ DEVICE(0x0085), SUBDEV_MASKED(0x6, 0xF)),
+
IWL_DEV_INFO(iwl6005_n_cfg, iwl6005_2agn_sff_name,
- DEVICE(0x0085), SUBDEV(0xC228)),
+ DEVICE(0x0082), SUBDEV_MASKED(0xC000, 0xFFFF)),
IWL_DEV_INFO(iwl6005_n_cfg, iwl6005_2agn_d_name,
DEVICE(0x0082), SUBDEV(0x4820)),
IWL_DEV_INFO(iwl6005_n_cfg, iwl6005_2agn_mow1_name,
@@ -755,13 +679,9 @@ VISIBLE_IF_IWLWIFI_KUNIT const struct iwl_dev_info iwl_dev_info_table[] = {
/* 6x30 Series */
IWL_DEV_INFO(iwl6030_n_cfg, iwl1030_bgn_name,
- DEVICE(0x008A), SUBDEV(0x5305)),
+ DEVICE(0x008A), SUBDEV_MASKED(0x5, 0xF)),
IWL_DEV_INFO(iwl6030_non_n_cfg, iwl1030_bg_name,
- DEVICE(0x008A), SUBDEV(0x5307)),
- IWL_DEV_INFO(iwl6030_n_cfg, iwl1030_bgn_name,
- DEVICE(0x008A), SUBDEV(0x5325)),
- IWL_DEV_INFO(iwl6030_non_n_cfg, iwl1030_bg_name,
- DEVICE(0x008A), SUBDEV(0x5327)),
+ DEVICE(0x008A), SUBDEV_MASKED(0x7, 0xF)),
IWL_DEV_INFO(iwl6030_n_cfg, iwl1030_bgn_name,
DEVICE(0x008B), SUBDEV(0x5315)),
IWL_DEV_INFO(iwl6030_non_n_cfg, iwl1030_bg_name,
@@ -773,29 +693,19 @@ VISIBLE_IF_IWLWIFI_KUNIT const struct iwl_dev_info iwl_dev_info_table[] = {
IWL_DEV_INFO(iwl6030_non_n_cfg, iwl6030_2abg_name,
DEVICE(0x0090), SUBDEV(0x5216)),
IWL_DEV_INFO(iwl6030_n_cfg, iwl6030_2agn_name,
- DEVICE(0x0091), SUBDEV(0x5201)),
+ DEVICE(0x0091), SUBDEV_MASKED(0x1, 0xF)),
IWL_DEV_INFO(iwl6030_n_cfg, iwl6030_2bgn_name,
- DEVICE(0x0091), SUBDEV(0x5205)),
+ DEVICE(0x0091), SUBDEV_MASKED(0x5, 0xF)),
IWL_DEV_INFO(iwl6030_non_n_cfg, iwl6030_2abg_name,
- DEVICE(0x0091), SUBDEV(0x5206)),
+ DEVICE(0x0091), SUBDEV_MASKED(0x6, 0xF)),
IWL_DEV_INFO(iwl6030_non_n_cfg, iwl6030_2bg_name,
DEVICE(0x0091), SUBDEV(0x5207)),
- IWL_DEV_INFO(iwl6030_n_cfg, iwl6030_2agn_name,
- DEVICE(0x0091), SUBDEV(0x5221)),
- IWL_DEV_INFO(iwl6030_n_cfg, iwl6030_2bgn_name,
- DEVICE(0x0091), SUBDEV(0x5225)),
- IWL_DEV_INFO(iwl6030_non_n_cfg, iwl6030_2abg_name,
- DEVICE(0x0091), SUBDEV(0x5226)),
/* 6x50 WiFi/WiMax Series */
IWL_DEV_INFO(iwl6050_2agn_cfg, iwl6050_2agn_name,
- DEVICE(0x0087), SUBDEV(0x1301)),
+ DEVICE(0x0087), SUBDEV_MASKED(0x1, 0xF)),
IWL_DEV_INFO(iwl6050_2abg_cfg, iwl6050_2abg_name,
- DEVICE(0x0087), SUBDEV(0x1306)),
- IWL_DEV_INFO(iwl6050_2agn_cfg, iwl6050_2agn_name,
- DEVICE(0x0087), SUBDEV(0x1321)),
- IWL_DEV_INFO(iwl6050_2abg_cfg, iwl6050_2abg_name,
- DEVICE(0x0087), SUBDEV(0x1326)),
+ DEVICE(0x0087), SUBDEV_MASKED(0x6, 0xF)),
IWL_DEV_INFO(iwl6050_2agn_cfg, iwl6050_2agn_name,
DEVICE(0x0089), SUBDEV(0x1311)),
IWL_DEV_INFO(iwl6050_2abg_cfg, iwl6050_2abg_name,
@@ -803,13 +713,9 @@ VISIBLE_IF_IWLWIFI_KUNIT const struct iwl_dev_info iwl_dev_info_table[] = {
/* 6150 WiFi/WiMax Series */
IWL_DEV_INFO(iwl6150_bgn_cfg, iwl6150_bgn_name,
- DEVICE(0x0885), SUBDEV(0x1305)),
+ DEVICE(0x0885), SUBDEV_MASKED(0x5, 0xF)),
IWL_DEV_INFO(iwl6150_bg_cfg, iwl6150_bg_name,
- DEVICE(0x0885), SUBDEV(0x1307)),
- IWL_DEV_INFO(iwl6150_bgn_cfg, iwl6150_bgn_name,
- DEVICE(0x0885), SUBDEV(0x1325)),
- IWL_DEV_INFO(iwl6150_bg_cfg, iwl6150_bg_name,
- DEVICE(0x0885), SUBDEV(0x1327)),
+ DEVICE(0x0885), SUBDEV_MASKED(0x7, 0xF)),
IWL_DEV_INFO(iwl6150_bgn_cfg, iwl6150_bgn_name,
DEVICE(0x0886), SUBDEV(0x1315)),
IWL_DEV_INFO(iwl6150_bg_cfg, iwl6150_bg_name,
@@ -817,25 +723,9 @@ VISIBLE_IF_IWLWIFI_KUNIT const struct iwl_dev_info iwl_dev_info_table[] = {
/* 1000 Series WiFi */
IWL_DEV_INFO(iwl1000_bgn_cfg, iwl1000_bgn_name,
- DEVICE(0x0083), SUBDEV(0x1205)),
- IWL_DEV_INFO(iwl1000_bgn_cfg, iwl1000_bgn_name,
- DEVICE(0x0083), SUBDEV(0x1305)),
- IWL_DEV_INFO(iwl1000_bgn_cfg, iwl1000_bgn_name,
- DEVICE(0x0083), SUBDEV(0x1225)),
- IWL_DEV_INFO(iwl1000_bgn_cfg, iwl1000_bgn_name,
- DEVICE(0x0083), SUBDEV(0x1325)),
- IWL_DEV_INFO(iwl1000_bgn_cfg, iwl1000_bgn_name,
- DEVICE(0x0084), SUBDEV(0x1215)),
- IWL_DEV_INFO(iwl1000_bgn_cfg, iwl1000_bgn_name,
- DEVICE(0x0084), SUBDEV(0x1315)),
+ DEVICE(0x0083), SUBDEV_MASKED(0x5, 0xF)),
IWL_DEV_INFO(iwl1000_bg_cfg, iwl1000_bg_name,
- DEVICE(0x0083), SUBDEV(0x1206)),
- IWL_DEV_INFO(iwl1000_bg_cfg, iwl1000_bg_name,
- DEVICE(0x0083), SUBDEV(0x1306)),
- IWL_DEV_INFO(iwl1000_bg_cfg, iwl1000_bg_name,
- DEVICE(0x0083), SUBDEV(0x1226)),
- IWL_DEV_INFO(iwl1000_bg_cfg, iwl1000_bg_name,
- DEVICE(0x0083), SUBDEV(0x1326)),
+ DEVICE(0x0083), SUBDEV_MASKED(0x6, 0xF)),
IWL_DEV_INFO(iwl1000_bg_cfg, iwl1000_bg_name,
DEVICE(0x0084), SUBDEV(0x1216)),
IWL_DEV_INFO(iwl1000_bg_cfg, iwl1000_bg_name,
@@ -843,31 +733,23 @@ VISIBLE_IF_IWLWIFI_KUNIT const struct iwl_dev_info iwl_dev_info_table[] = {
/* 100 Series WiFi */
IWL_DEV_INFO(iwl100_bgn_cfg, iwl100_bgn_name,
- DEVICE(0x08AE), SUBDEV(0x1005)),
+ DEVICE(0x08AE), SUBDEV_MASKED(0x5, 0xF)),
IWL_DEV_INFO(iwl100_bg_cfg, iwl100_bg_name,
- DEVICE(0x08AE), SUBDEV(0x1007)),
+ DEVICE(0x08AE), SUBDEV_MASKED(0x7, 0xF)),
IWL_DEV_INFO(iwl100_bgn_cfg, iwl100_bgn_name,
DEVICE(0x08AF), SUBDEV(0x1015)),
IWL_DEV_INFO(iwl100_bg_cfg, iwl100_bg_name,
DEVICE(0x08AF), SUBDEV(0x1017)),
- IWL_DEV_INFO(iwl100_bgn_cfg, iwl100_bgn_name,
- DEVICE(0x08AE), SUBDEV(0x1025)),
- IWL_DEV_INFO(iwl100_bg_cfg, iwl100_bg_name,
- DEVICE(0x08AE), SUBDEV(0x1027)),
/* 130 Series WiFi */
IWL_DEV_INFO(iwl130_bgn_cfg, iwl130_bgn_name,
- DEVICE(0x0896), SUBDEV(0x5005)),
+ DEVICE(0x0896), SUBDEV_MASKED(0x5, 0xF)),
IWL_DEV_INFO(iwl130_bg_cfg, iwl130_bg_name,
- DEVICE(0x0896), SUBDEV(0x5007)),
+ DEVICE(0x0896), SUBDEV_MASKED(0x7, 0xF)),
IWL_DEV_INFO(iwl130_bgn_cfg, iwl130_bgn_name,
DEVICE(0x0897), SUBDEV(0x5015)),
IWL_DEV_INFO(iwl130_bg_cfg, iwl130_bg_name,
DEVICE(0x0897), SUBDEV(0x5017)),
- IWL_DEV_INFO(iwl130_bgn_cfg, iwl130_bgn_name,
- DEVICE(0x0896), SUBDEV(0x5025)),
- IWL_DEV_INFO(iwl130_bg_cfg, iwl130_bg_name,
- DEVICE(0x0896), SUBDEV(0x5027)),
/* 2x00 Series */
IWL_DEV_INFO(iwl2000_2bgn_cfg, iwl2000_2bgn_name,
@@ -881,61 +763,37 @@ VISIBLE_IF_IWLWIFI_KUNIT const struct iwl_dev_info iwl_dev_info_table[] = {
/* 2x30 Series */
IWL_DEV_INFO(iwl2030_2bgn_cfg, iwl2030_2bgn_name,
- DEVICE(0x0887), SUBDEV(0x4062)),
+ DEVICE(0x0887)),
IWL_DEV_INFO(iwl2030_2bgn_cfg, iwl2030_2bgn_name,
DEVICE(0x0888), SUBDEV(0x4262)),
- IWL_DEV_INFO(iwl2030_2bgn_cfg, iwl2030_2bgn_name,
- DEVICE(0x0887), SUBDEV(0x4462)),
/* 6x35 Series */
IWL_DEV_INFO(iwl6035_2agn_cfg, iwl6035_2agn_name,
- DEVICE(0x088E), SUBDEV(0x4060)),
- IWL_DEV_INFO(iwl6035_2agn_cfg, iwl6035_2agn_sff_name,
- DEVICE(0x088E), SUBDEV(0x406A)),
- IWL_DEV_INFO(iwl6035_2agn_cfg, iwl6035_2agn_name,
- DEVICE(0x088F), SUBDEV(0x4260)),
+ DEVICE(0x088E), SUBDEV_MASKED(0x0, 0xF)),
IWL_DEV_INFO(iwl6035_2agn_cfg, iwl6035_2agn_sff_name,
- DEVICE(0x088F), SUBDEV(0x426A)),
+ DEVICE(0x088E), SUBDEV_MASKED(0xA, 0xF)),
IWL_DEV_INFO(iwl6035_2agn_cfg, iwl6035_2agn_name,
- DEVICE(0x088E), SUBDEV(0x4460)),
+ DEVICE(0x088F), SUBDEV_MASKED(0x0, 0xF)),
IWL_DEV_INFO(iwl6035_2agn_cfg, iwl6035_2agn_sff_name,
- DEVICE(0x088E), SUBDEV(0x446A)),
- IWL_DEV_INFO(iwl6035_2agn_cfg, iwl6035_2agn_name,
- DEVICE(0x088E), SUBDEV(0x4860)),
- IWL_DEV_INFO(iwl6035_2agn_cfg, iwl6035_2agn_name,
- DEVICE(0x088F), SUBDEV(0x5260)),
+ DEVICE(0x088F), SUBDEV_MASKED(0xA, 0xF)),
/* 105 Series */
IWL_DEV_INFO(iwl105_bgn_cfg, iwl105_bgn_name,
- DEVICE(0x0894), SUBDEV(0x0022)),
+ DEVICE(0x0894)),
IWL_DEV_INFO(iwl105_bgn_cfg, iwl105_bgn_name,
DEVICE(0x0895), SUBDEV(0x0222)),
- IWL_DEV_INFO(iwl105_bgn_cfg, iwl105_bgn_name,
- DEVICE(0x0894), SUBDEV(0x0422)),
- IWL_DEV_INFO(iwl105_bgn_cfg, iwl105_bgn_name,
- DEVICE(0x0894), SUBDEV(0x0822)),
/* 135 Series */
IWL_DEV_INFO(iwl135_bgn_cfg, iwl135_bgn_name,
- DEVICE(0x0892), SUBDEV(0x0062)),
+ DEVICE(0x0892)),
IWL_DEV_INFO(iwl135_bgn_cfg, iwl135_bgn_name,
DEVICE(0x0893), SUBDEV(0x0262)),
- IWL_DEV_INFO(iwl135_bgn_cfg, iwl135_bgn_name,
- DEVICE(0x0892), SUBDEV(0x0462)),
#endif /* CONFIG_IWLDVM */
#if IS_ENABLED(CONFIG_IWLMVM)
/* 7260 Series */
IWL_DEV_INFO(iwl7260_cfg, iwl7260_2ac_name,
- DEVICE(0x08B1), SUBDEV(0x4070)),
- IWL_DEV_INFO(iwl7260_cfg, iwl7260_2ac_name,
- DEVICE(0x08B1), SUBDEV(0x4072)),
- IWL_DEV_INFO(iwl7260_cfg, iwl7260_2ac_name,
- DEVICE(0x08B1), SUBDEV(0x4170)),
- IWL_DEV_INFO(iwl7260_cfg, iwl7260_2ac_name,
- DEVICE(0x08B1), SUBDEV(0x4C60)),
- IWL_DEV_INFO(iwl7260_cfg, iwl7260_2ac_name,
- DEVICE(0x08B1), SUBDEV(0x4C70)),
+ DEVICE(0x08B1)), // unlisted ones fall through to here
IWL_DEV_INFO(iwl7260_cfg, iwl7260_2n_name,
DEVICE(0x08B1), SUBDEV(0x4060)),
IWL_DEV_INFO(iwl7260_cfg, iwl7260_2n_name,
@@ -946,66 +804,26 @@ VISIBLE_IF_IWLWIFI_KUNIT const struct iwl_dev_info iwl_dev_info_table[] = {
DEVICE(0x08B1), SUBDEV(0x4062)),
IWL_DEV_INFO(iwl7260_cfg, iwl7260_n_name,
DEVICE(0x08B1), SUBDEV(0x4162)),
- IWL_DEV_INFO(iwl7260_cfg, iwl7260_2ac_name,
- DEVICE(0x08B2), SUBDEV(0x4270)),
- IWL_DEV_INFO(iwl7260_cfg, iwl7260_2ac_name,
- DEVICE(0x08B2), SUBDEV(0x4272)),
- IWL_DEV_INFO(iwl7260_cfg, iwl7260_2n_name,
- DEVICE(0x08B2), SUBDEV(0x4260)),
- IWL_DEV_INFO(iwl7260_cfg, iwl7260_2n_name,
- DEVICE(0x08B2), SUBDEV(0x426A)),
- IWL_DEV_INFO(iwl7260_cfg, iwl7260_n_name,
- DEVICE(0x08B2), SUBDEV(0x4262)),
- IWL_DEV_INFO(iwl7260_cfg, iwl7260_2ac_name,
- DEVICE(0x08B1), SUBDEV(0x4470)),
- IWL_DEV_INFO(iwl7260_cfg, iwl7260_2ac_name,
- DEVICE(0x08B1), SUBDEV(0x4472)),
IWL_DEV_INFO(iwl7260_cfg, iwl7260_2n_name,
DEVICE(0x08B1), SUBDEV(0x4460)),
IWL_DEV_INFO(iwl7260_cfg, iwl7260_2n_name,
DEVICE(0x08B1), SUBDEV(0x446A)),
IWL_DEV_INFO(iwl7260_cfg, iwl7260_n_name,
DEVICE(0x08B1), SUBDEV(0x4462)),
- IWL_DEV_INFO(iwl7260_cfg, iwl7260_2ac_name,
- DEVICE(0x08B1), SUBDEV(0x4870)),
- IWL_DEV_INFO(iwl7260_cfg, iwl7260_2ac_name,
- DEVICE(0x08B1), SUBDEV(0x486E)),
IWL_DEV_INFO(iwl7260_high_temp_cfg, iwl7260_2ac_name,
DEVICE(0x08B1), SUBDEV(0x4A70)),
IWL_DEV_INFO(iwl7260_high_temp_cfg, iwl7260_2ac_name,
DEVICE(0x08B1), SUBDEV(0x4A6E)),
IWL_DEV_INFO(iwl7260_high_temp_cfg, iwl7260_2ac_name,
DEVICE(0x08B1), SUBDEV(0x4A6C)),
- IWL_DEV_INFO(iwl7260_cfg, iwl7260_2ac_name,
- DEVICE(0x08B1), SUBDEV(0x4570)),
IWL_DEV_INFO(iwl7260_cfg, iwl7260_2n_name,
DEVICE(0x08B1), SUBDEV(0x4560)),
- IWL_DEV_INFO(iwl7260_cfg, iwl7260_2ac_name,
- DEVICE(0x08B2), SUBDEV(0x4370)),
- IWL_DEV_INFO(iwl7260_cfg, iwl7260_2n_name,
- DEVICE(0x08B2), SUBDEV(0x4360)),
- IWL_DEV_INFO(iwl7260_cfg, iwl7260_2ac_name,
- DEVICE(0x08B1), SUBDEV(0x5070)),
- IWL_DEV_INFO(iwl7260_cfg, iwl7260_2ac_name,
- DEVICE(0x08B1), SUBDEV(0x5072)),
- IWL_DEV_INFO(iwl7260_cfg, iwl7260_2ac_name,
- DEVICE(0x08B1), SUBDEV(0x5170)),
- IWL_DEV_INFO(iwl7260_cfg, iwl7260_2ac_name,
- DEVICE(0x08B1), SUBDEV(0x5770)),
IWL_DEV_INFO(iwl7260_cfg, iwl7260_2n_name,
DEVICE(0x08B1), SUBDEV(0x4020)),
IWL_DEV_INFO(iwl7260_cfg, iwl7260_2n_name,
DEVICE(0x08B1), SUBDEV(0x402A)),
- IWL_DEV_INFO(iwl7260_cfg, iwl7260_2n_name,
- DEVICE(0x08B2), SUBDEV(0x4220)),
IWL_DEV_INFO(iwl7260_cfg, iwl7260_2n_name,
DEVICE(0x08B1), SUBDEV(0x4420)),
- IWL_DEV_INFO(iwl7260_cfg, iwl7260_2ac_name,
- DEVICE(0x08B1), SUBDEV(0xC070)),
- IWL_DEV_INFO(iwl7260_cfg, iwl7260_2ac_name,
- DEVICE(0x08B1), SUBDEV(0xC072)),
- IWL_DEV_INFO(iwl7260_cfg, iwl7260_2ac_name,
- DEVICE(0x08B1), SUBDEV(0xC170)),
IWL_DEV_INFO(iwl7260_cfg, iwl7260_2n_name,
DEVICE(0x08B1), SUBDEV(0xC060)),
IWL_DEV_INFO(iwl7260_cfg, iwl7260_2n_name,
@@ -1016,16 +834,40 @@ VISIBLE_IF_IWLWIFI_KUNIT const struct iwl_dev_info iwl_dev_info_table[] = {
DEVICE(0x08B1), SUBDEV(0xC062)),
IWL_DEV_INFO(iwl7260_cfg, iwl7260_n_name,
DEVICE(0x08B1), SUBDEV(0xC162)),
- IWL_DEV_INFO(iwl7260_cfg, iwl7260_2ac_name,
- DEVICE(0x08B1), SUBDEV(0xC770)),
IWL_DEV_INFO(iwl7260_cfg, iwl7260_2n_name,
DEVICE(0x08B1), SUBDEV(0xC760)),
+ IWL_DEV_INFO(iwl7260_cfg, iwl7260_2n_name,
+ DEVICE(0x08B1), SUBDEV(0xC460)),
+ IWL_DEV_INFO(iwl7260_cfg, iwl7260_n_name,
+ DEVICE(0x08B1), SUBDEV(0xC462)),
+ IWL_DEV_INFO(iwl7260_cfg, iwl7260_2n_name,
+ DEVICE(0x08B1), SUBDEV(0xC560)),
+ IWL_DEV_INFO(iwl7260_cfg, iwl7260_2n_name,
+ DEVICE(0x08B1), SUBDEV(0xC360)),
+ IWL_DEV_INFO(iwl7260_cfg, iwl7260_2n_name,
+ DEVICE(0x08B1), SUBDEV(0xC020)),
+ IWL_DEV_INFO(iwl7260_cfg, iwl7260_2n_name,
+ DEVICE(0x08B1), SUBDEV(0xC02A)),
+ IWL_DEV_INFO(iwl7260_cfg, iwl7260_2n_name,
+ DEVICE(0x08B1), SUBDEV(0xC420)),
IWL_DEV_INFO(iwl7260_cfg, iwl7260_2ac_name,
- DEVICE(0x08B2), SUBDEV(0xC270)),
+ DEVICE(0x08B2), SUBDEV(0x4270)),
IWL_DEV_INFO(iwl7260_cfg, iwl7260_2ac_name,
- DEVICE(0x08B1), SUBDEV(0xCC70)),
+ DEVICE(0x08B2), SUBDEV(0x4272)),
+ IWL_DEV_INFO(iwl7260_cfg, iwl7260_2n_name,
+ DEVICE(0x08B2), SUBDEV(0x4260)),
+ IWL_DEV_INFO(iwl7260_cfg, iwl7260_2n_name,
+ DEVICE(0x08B2), SUBDEV(0x426A)),
+ IWL_DEV_INFO(iwl7260_cfg, iwl7260_n_name,
+ DEVICE(0x08B2), SUBDEV(0x4262)),
IWL_DEV_INFO(iwl7260_cfg, iwl7260_2ac_name,
- DEVICE(0x08B1), SUBDEV(0xCC60)),
+ DEVICE(0x08B2), SUBDEV(0x4370)),
+ IWL_DEV_INFO(iwl7260_cfg, iwl7260_2n_name,
+ DEVICE(0x08B2), SUBDEV(0x4360)),
+ IWL_DEV_INFO(iwl7260_cfg, iwl7260_2n_name,
+ DEVICE(0x08B2), SUBDEV(0x4220)),
+ IWL_DEV_INFO(iwl7260_cfg, iwl7260_2ac_name,
+ DEVICE(0x08B2), SUBDEV(0xC270)),
IWL_DEV_INFO(iwl7260_cfg, iwl7260_2ac_name,
DEVICE(0x08B2), SUBDEV(0xC272)),
IWL_DEV_INFO(iwl7260_cfg, iwl7260_2n_name,
@@ -1034,352 +876,65 @@ VISIBLE_IF_IWLWIFI_KUNIT const struct iwl_dev_info iwl_dev_info_table[] = {
DEVICE(0x08B2), SUBDEV(0xC26A)),
IWL_DEV_INFO(iwl7260_cfg, iwl7260_n_name,
DEVICE(0x08B2), SUBDEV(0xC262)),
- IWL_DEV_INFO(iwl7260_cfg, iwl7260_2ac_name,
- DEVICE(0x08B1), SUBDEV(0xC470)),
- IWL_DEV_INFO(iwl7260_cfg, iwl7260_2ac_name,
- DEVICE(0x08B1), SUBDEV(0xC472)),
- IWL_DEV_INFO(iwl7260_cfg, iwl7260_2n_name,
- DEVICE(0x08B1), SUBDEV(0xC460)),
- IWL_DEV_INFO(iwl7260_cfg, iwl7260_n_name,
- DEVICE(0x08B1), SUBDEV(0xC462)),
- IWL_DEV_INFO(iwl7260_cfg, iwl7260_2ac_name,
- DEVICE(0x08B1), SUBDEV(0xC570)),
- IWL_DEV_INFO(iwl7260_cfg, iwl7260_2n_name,
- DEVICE(0x08B1), SUBDEV(0xC560)),
IWL_DEV_INFO(iwl7260_cfg, iwl7260_2ac_name,
DEVICE(0x08B2), SUBDEV(0xC370)),
- IWL_DEV_INFO(iwl7260_cfg, iwl7260_2n_name,
- DEVICE(0x08B1), SUBDEV(0xC360)),
- IWL_DEV_INFO(iwl7260_cfg, iwl7260_2n_name,
- DEVICE(0x08B1), SUBDEV(0xC020)),
- IWL_DEV_INFO(iwl7260_cfg, iwl7260_2n_name,
- DEVICE(0x08B1), SUBDEV(0xC02A)),
IWL_DEV_INFO(iwl7260_cfg, iwl7260_2n_name,
DEVICE(0x08B2), SUBDEV(0xC220)),
- IWL_DEV_INFO(iwl7260_cfg, iwl7260_2n_name,
- DEVICE(0x08B1), SUBDEV(0xC420)),
/* 3160 Series */
IWL_DEV_INFO(iwl3160_cfg, iwl3160_2ac_name,
- DEVICE(0x08B3), SUBDEV(0x0070)),
- IWL_DEV_INFO(iwl3160_cfg, iwl3160_2ac_name,
- DEVICE(0x08B3), SUBDEV(0x0072)),
- IWL_DEV_INFO(iwl3160_cfg, iwl3160_2ac_name,
- DEVICE(0x08B3), SUBDEV(0x0170)),
- IWL_DEV_INFO(iwl3160_cfg, iwl3160_2ac_name,
- DEVICE(0x08B3), SUBDEV(0x0172)),
- IWL_DEV_INFO(iwl3160_cfg, iwl3160_2n_name,
- DEVICE(0x08B3), SUBDEV(0x0060)),
+ DEVICE(0x08B3)),
+
IWL_DEV_INFO(iwl3160_cfg, iwl3160_n_name,
- DEVICE(0x08B3), SUBDEV(0x0062)),
- IWL_DEV_INFO(iwl3160_cfg, iwl3160_2ac_name,
- DEVICE(0x08B4), SUBDEV(0x0270)),
- IWL_DEV_INFO(iwl3160_cfg, iwl3160_2ac_name,
- DEVICE(0x08B4), SUBDEV(0x0272)),
- IWL_DEV_INFO(iwl3160_cfg, iwl3160_2ac_name,
- DEVICE(0x08B3), SUBDEV(0x0470)),
- IWL_DEV_INFO(iwl3160_cfg, iwl3160_2ac_name,
- DEVICE(0x08B3), SUBDEV(0x0472)),
- IWL_DEV_INFO(iwl3160_cfg, iwl3160_2ac_name,
- DEVICE(0x08B4), SUBDEV(0x0370)),
- IWL_DEV_INFO(iwl3160_cfg, iwl3160_2ac_name,
- DEVICE(0x08B3), SUBDEV(0x8070)),
- IWL_DEV_INFO(iwl3160_cfg, iwl3160_2ac_name,
- DEVICE(0x08B3), SUBDEV(0x8072)),
- IWL_DEV_INFO(iwl3160_cfg, iwl3160_2ac_name,
- DEVICE(0x08B3), SUBDEV(0x8170)),
- IWL_DEV_INFO(iwl3160_cfg, iwl3160_2ac_name,
- DEVICE(0x08B3), SUBDEV(0x8172)),
+ DEVICE(0x08B3), SUBDEV_MASKED(0x62, 0xFF)),
IWL_DEV_INFO(iwl3160_cfg, iwl3160_2n_name,
- DEVICE(0x08B3), SUBDEV(0x8060)),
- IWL_DEV_INFO(iwl3160_cfg, iwl3160_n_name,
- DEVICE(0x08B3), SUBDEV(0x8062)),
- IWL_DEV_INFO(iwl3160_cfg, iwl3160_2ac_name,
- DEVICE(0x08B4), SUBDEV(0x8270)),
- IWL_DEV_INFO(iwl3160_cfg, iwl3160_2ac_name,
- DEVICE(0x08B4), SUBDEV(0x8370)),
- IWL_DEV_INFO(iwl3160_cfg, iwl3160_2ac_name,
- DEVICE(0x08B4), SUBDEV(0x8272)),
- IWL_DEV_INFO(iwl3160_cfg, iwl3160_2ac_name,
- DEVICE(0x08B3), SUBDEV(0x8470)),
- IWL_DEV_INFO(iwl3160_cfg, iwl3160_2ac_name,
- DEVICE(0x08B3), SUBDEV(0x8570)),
- IWL_DEV_INFO(iwl3160_cfg, iwl3160_2ac_name,
- DEVICE(0x08B3), SUBDEV(0x1070)),
+ DEVICE(0x08B3), SUBDEV_MASKED(0x60, 0xFF)),
+
IWL_DEV_INFO(iwl3160_cfg, iwl3160_2ac_name,
- DEVICE(0x08B3), SUBDEV(0x1170)),
+ DEVICE(0x08B4)),
/* 3165 Series */
IWL_DEV_INFO(iwl3165_2ac_cfg, iwl3165_2ac_name,
- DEVICE(0x3165), SUBDEV(0x4010)),
- IWL_DEV_INFO(iwl3165_2ac_cfg, iwl3165_2ac_name,
- DEVICE(0x3165), SUBDEV(0x4012)),
- IWL_DEV_INFO(iwl3165_2ac_cfg, iwl3165_2ac_name,
- DEVICE(0x3166), SUBDEV(0x4212)),
- IWL_DEV_INFO(iwl3165_2ac_cfg, iwl3165_2ac_name,
- DEVICE(0x3165), SUBDEV(0x4410)),
- IWL_DEV_INFO(iwl3165_2ac_cfg, iwl3165_2ac_name,
- DEVICE(0x3165), SUBDEV(0x4510)),
- IWL_DEV_INFO(iwl3165_2ac_cfg, iwl3165_2ac_name,
- DEVICE(0x3165), SUBDEV(0x4110)),
+ DEVICE(0x3165)),
IWL_DEV_INFO(iwl3165_2ac_cfg, iwl3165_2ac_name,
- DEVICE(0x3166), SUBDEV(0x4310)),
- IWL_DEV_INFO(iwl3165_2ac_cfg, iwl3165_2ac_name,
- DEVICE(0x3166), SUBDEV(0x4210)),
- IWL_DEV_INFO(iwl3165_2ac_cfg, iwl3165_2ac_name,
- DEVICE(0x3165), SUBDEV(0x8010)),
- IWL_DEV_INFO(iwl3165_2ac_cfg, iwl3165_2ac_name,
- DEVICE(0x3165), SUBDEV(0x8110)),
+ DEVICE(0x3166)),
/* 3168 Series */
IWL_DEV_INFO(iwl3168_2ac_cfg, iwl3168_2ac_name,
- DEVICE(0x24FB), SUBDEV(0x2010)),
- IWL_DEV_INFO(iwl3168_2ac_cfg, iwl3168_2ac_name,
- DEVICE(0x24FB), SUBDEV(0x2110)),
- IWL_DEV_INFO(iwl3168_2ac_cfg, iwl3168_2ac_name,
- DEVICE(0x24FB), SUBDEV(0x2050)),
- IWL_DEV_INFO(iwl3168_2ac_cfg, iwl3168_2ac_name,
- DEVICE(0x24FB), SUBDEV(0x2150)),
- IWL_DEV_INFO(iwl3168_2ac_cfg, iwl3168_2ac_name,
- DEVICE(0x24FB), SUBDEV(0x0000)),
+ DEVICE(0x24FB)),
/* 7265 Series */
IWL_DEV_INFO(iwl7265_cfg, iwl7265_2ac_name,
- DEVICE(0x095A), SUBDEV(0x5010)),
- IWL_DEV_INFO(iwl7265_cfg, iwl7265_2ac_name,
- DEVICE(0x095A), SUBDEV(0x5110)),
- IWL_DEV_INFO(iwl7265_cfg, iwl7265_2ac_name,
- DEVICE(0x095A), SUBDEV(0x5100)),
- IWL_DEV_INFO(iwl7265_cfg, iwl7265_2ac_name,
- DEVICE(0x095B), SUBDEV(0x5310)),
- IWL_DEV_INFO(iwl7265_cfg, iwl7265_n_name,
- DEVICE(0x095B), SUBDEV(0x5302)),
- IWL_DEV_INFO(iwl7265_cfg, iwl7265_2ac_name,
- DEVICE(0x095B), SUBDEV(0x5210)),
- IWL_DEV_INFO(iwl7265_cfg, iwl7265_2ac_name,
- DEVICE(0x095A), SUBDEV(0x5C10)),
- IWL_DEV_INFO(iwl7265_cfg, iwl7265_2ac_name,
- DEVICE(0x095A), SUBDEV(0x5012)),
- IWL_DEV_INFO(iwl7265_cfg, iwl7265_2ac_name,
- DEVICE(0x095A), SUBDEV(0x5412)),
- IWL_DEV_INFO(iwl7265_cfg, iwl7265_2ac_name,
- DEVICE(0x095A), SUBDEV(0x5410)),
- IWL_DEV_INFO(iwl7265_cfg, iwl7265_2ac_name,
- DEVICE(0x095A), SUBDEV(0x5510)),
- IWL_DEV_INFO(iwl7265_cfg, iwl7265_2ac_name,
- DEVICE(0x095A), SUBDEV(0x5400)),
- IWL_DEV_INFO(iwl7265_cfg, iwl7265_2ac_name,
- DEVICE(0x095A), SUBDEV(0x1010)),
+ DEVICE(0x095A)),
IWL_DEV_INFO(iwl7265_cfg, iwl7265_2n_name,
DEVICE(0x095A), SUBDEV(0x5000)),
IWL_DEV_INFO(iwl7265_cfg, iwl7265_2n_name,
DEVICE(0x095A), SUBDEV(0x500A)),
- IWL_DEV_INFO(iwl7265_cfg, iwl7265_2n_name,
- DEVICE(0x095B), SUBDEV(0x5200)),
IWL_DEV_INFO(iwl7265_cfg, iwl7265_n_name,
DEVICE(0x095A), SUBDEV(0x5002)),
IWL_DEV_INFO(iwl7265_cfg, iwl7265_n_name,
DEVICE(0x095A), SUBDEV(0x5102)),
- IWL_DEV_INFO(iwl7265_cfg, iwl7265_n_name,
- DEVICE(0x095B), SUBDEV(0x5202)),
- IWL_DEV_INFO(iwl7265_cfg, iwl7265_2ac_name,
- DEVICE(0x095A), SUBDEV(0x9010)),
- IWL_DEV_INFO(iwl7265_cfg, iwl7265_2ac_name,
- DEVICE(0x095A), SUBDEV(0x9012)),
- IWL_DEV_INFO(iwl7265_cfg, iwl7265_2ac_name,
- DEVICE(0x095A), SUBDEV(0x900A)),
- IWL_DEV_INFO(iwl7265_cfg, iwl7265_2ac_name,
- DEVICE(0x095A), SUBDEV(0x9110)),
- IWL_DEV_INFO(iwl7265_cfg, iwl7265_2ac_name,
- DEVICE(0x095A), SUBDEV(0x9112)),
- IWL_DEV_INFO(iwl7265_cfg, iwl7265_2ac_name,
- DEVICE(0x095B), SUBDEV(0x9210)),
- IWL_DEV_INFO(iwl7265_cfg, iwl7265_2ac_name,
- DEVICE(0x095B), SUBDEV(0x9200)),
- IWL_DEV_INFO(iwl7265_cfg, iwl7265_2ac_name,
- DEVICE(0x095A), SUBDEV(0x9510)),
- IWL_DEV_INFO(iwl7265_cfg, iwl7265_2ac_name,
- DEVICE(0x095B), SUBDEV(0x9310)),
- IWL_DEV_INFO(iwl7265_cfg, iwl7265_2ac_name,
- DEVICE(0x095A), SUBDEV(0x9410)),
IWL_DEV_INFO(iwl7265_cfg, iwl7265_2n_name,
DEVICE(0x095A), SUBDEV(0x5020)),
IWL_DEV_INFO(iwl7265_cfg, iwl7265_2n_name,
DEVICE(0x095A), SUBDEV(0x502A)),
IWL_DEV_INFO(iwl7265_cfg, iwl7265_2n_name,
DEVICE(0x095A), SUBDEV(0x5420)),
+
IWL_DEV_INFO(iwl7265_cfg, iwl7265_2ac_name,
- DEVICE(0x095A), SUBDEV(0x5090)),
- IWL_DEV_INFO(iwl7265_cfg, iwl7265_2ac_name,
- DEVICE(0x095A), SUBDEV(0x5190)),
- IWL_DEV_INFO(iwl7265_cfg, iwl7265_2ac_name,
- DEVICE(0x095A), SUBDEV(0x5590)),
- IWL_DEV_INFO(iwl7265_cfg, iwl7265_2ac_name,
- DEVICE(0x095B), SUBDEV(0x5290)),
- IWL_DEV_INFO(iwl7265_cfg, iwl7265_2ac_name,
- DEVICE(0x095A), SUBDEV(0x5490)),
- IWL_DEV_INFO(iwl7265_cfg, iwl7265_2ac_name,
- DEVICE(0x095A), SUBDEV(0x5F10)),
- IWL_DEV_INFO(iwl7265_cfg, iwl7265_2ac_name,
- DEVICE(0x095B), SUBDEV(0x5212)),
- IWL_DEV_INFO(iwl7265_cfg, iwl7265_2ac_name,
- DEVICE(0x095B), SUBDEV(0x520A)),
- IWL_DEV_INFO(iwl7265_cfg, iwl7265_2ac_name,
- DEVICE(0x095A), SUBDEV(0x9000)),
- IWL_DEV_INFO(iwl7265_cfg, iwl7265_2ac_name,
- DEVICE(0x095A), SUBDEV(0x9400)),
- IWL_DEV_INFO(iwl7265_cfg, iwl7265_2ac_name,
- DEVICE(0x095A), SUBDEV(0x9E10)),
+ DEVICE(0x095B)),
+ IWL_DEV_INFO(iwl7265_cfg, iwl7265_n_name,
+ DEVICE(0x095B), SUBDEV(0x5302)),
+ IWL_DEV_INFO(iwl7265_cfg, iwl7265_2n_name,
+ DEVICE(0x095B), SUBDEV(0x5200)),
+ IWL_DEV_INFO(iwl7265_cfg, iwl7265_n_name,
+ DEVICE(0x095B), SUBDEV(0x5202)),
/* 8000 Series */
IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0x0010)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0x1010)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0x10B0)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0x0130)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0x1130)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0x0132)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0x1132)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0x0110)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0x01F0)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0x0012)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0x1012)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0x1110)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0x0050)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0x0250)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0x1050)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0x0150)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0x1150)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F4), SUBDEV(0x0030)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F4), SUBDEV(0x1030)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0xC010)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0xC110)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0xD010)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0xC050)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0xD050)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0xD0B0)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0xB0B0)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0x8010)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0x8110)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0x9010)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0x9110)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F4), SUBDEV(0x8030)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F4), SUBDEV(0x9030)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F4), SUBDEV(0xC030)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F4), SUBDEV(0xD030)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0x8130)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0x9130)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0x8132)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0x9132)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0x8050)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0x8150)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0x9050)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0x9150)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2n_name,
- DEVICE(0x24F3), SUBDEV(0x0004)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2n_name,
- DEVICE(0x24F3), SUBDEV(0x0044)),
- IWL_DEV_INFO(iwl8260_cfg, iwl4165_2ac_name,
- DEVICE(0x24F5), SUBDEV(0x0010)),
- IWL_DEV_INFO(iwl8260_cfg, iwl4165_2ac_name,
- DEVICE(0x24F6), SUBDEV(0x0030)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0x0810)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0x0910)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0x0850)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0x0950)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0x0930)),
- IWL_DEV_INFO(iwl8265_cfg, iwl8265_2ac_name,
- DEVICE(0x24F3), SUBDEV(0x0000)),
- IWL_DEV_INFO(iwl8260_cfg, iwl8260_2ac_name,
- DEVICE(0x24F3), SUBDEV(0x4010)),
- IWL_DEV_INFO(iwl8265_cfg, iwl8265_2ac_name,
- DEVICE(0x24FD), SUBDEV(0x0010)),
- IWL_DEV_INFO(iwl8265_cfg, iwl8265_2ac_name,
- DEVICE(0x24FD), SUBDEV(0x0110)),
- IWL_DEV_INFO(iwl8265_cfg, iwl8265_2ac_name,
- DEVICE(0x24FD), SUBDEV(0x1110)),
- IWL_DEV_INFO(iwl8265_cfg, iwl8265_2ac_name,
- DEVICE(0x24FD), SUBDEV(0x1130)),
+ DEVICE(0x24F3)),
IWL_DEV_INFO(iwl8265_cfg, iwl8265_2ac_name,
- DEVICE(0x24FD), SUBDEV(0x0130)),
- IWL_DEV_INFO(iwl8265_cfg, iwl8265_2ac_name,
- DEVICE(0x24FD), SUBDEV(0x1010)),
- IWL_DEV_INFO(iwl8265_cfg, iwl8265_2ac_name,
- DEVICE(0x24FD), SUBDEV(0x10D0)),
- IWL_DEV_INFO(iwl8265_cfg, iwl8265_2ac_name,
- DEVICE(0x24FD), SUBDEV(0x0050)),
- IWL_DEV_INFO(iwl8265_cfg, iwl8265_2ac_name,
- DEVICE(0x24FD), SUBDEV(0x0150)),
- IWL_DEV_INFO(iwl8265_cfg, iwl8265_2ac_name,
- DEVICE(0x24FD), SUBDEV(0x9010)),
- IWL_DEV_INFO(iwl8265_cfg, iwl8265_2ac_name,
- DEVICE(0x24FD), SUBDEV(0x8110)),
- IWL_DEV_INFO(iwl8265_cfg, iwl8265_2ac_name,
- DEVICE(0x24FD), SUBDEV(0x8050)),
- IWL_DEV_INFO(iwl8265_cfg, iwl8265_2ac_name,
- DEVICE(0x24FD), SUBDEV(0x8010)),
- IWL_DEV_INFO(iwl8265_cfg, iwl8265_2ac_name,
- DEVICE(0x24FD), SUBDEV(0x0810)),
- IWL_DEV_INFO(iwl8265_cfg, iwl8265_2ac_name,
- DEVICE(0x24FD), SUBDEV(0x9110)),
- IWL_DEV_INFO(iwl8265_cfg, iwl8265_2ac_name,
- DEVICE(0x24FD), SUBDEV(0x8130)),
- IWL_DEV_INFO(iwl8265_cfg, iwl8265_2ac_name,
- DEVICE(0x24FD), SUBDEV(0x0910)),
- IWL_DEV_INFO(iwl8265_cfg, iwl8265_2ac_name,
- DEVICE(0x24FD), SUBDEV(0x0930)),
- IWL_DEV_INFO(iwl8265_cfg, iwl8265_2ac_name,
- DEVICE(0x24FD), SUBDEV(0x0950)),
- IWL_DEV_INFO(iwl8265_cfg, iwl8265_2ac_name,
- DEVICE(0x24FD), SUBDEV(0x0850)),
- IWL_DEV_INFO(iwl8265_cfg, iwl8265_2ac_name,
- DEVICE(0x24FD), SUBDEV(0x1014)),
+ DEVICE(0x24FD)),
IWL_DEV_INFO(iwl8265_cfg, iwl8275_2ac_name,
DEVICE(0x24FD), SUBDEV(0x3E02)),
IWL_DEV_INFO(iwl8265_cfg, iwl8275_2ac_name,
@@ -1388,10 +943,6 @@ VISIBLE_IF_IWLWIFI_KUNIT const struct iwl_dev_info iwl_dev_info_table[] = {
DEVICE(0x24FD), SUBDEV(0x1012)),
IWL_DEV_INFO(iwl8265_cfg, iwl8275_2ac_name,
DEVICE(0x24FD), SUBDEV(0x0012)),
- IWL_DEV_INFO(iwl8265_cfg, iwl8265_2ac_name,
- DEVICE(0x24FD), SUBDEV(0x0014)),
- IWL_DEV_INFO(iwl8265_cfg, iwl8265_2ac_name,
- DEVICE(0x24FD), SUBDEV(0x9074)),
/* 9000 */
IWL_DEV_INFO(iwl9260_2ac_cfg, iwl9260_killer_1550_name,
DEVICE(0x2526), SUBDEV(0x1550)),
@@ -2120,7 +1671,7 @@ iwl_pci_find_dev_info(u16 device, u16 subsystem_device,
continue;
if (dev_info->subdevice != (u16)IWL_CFG_ANY &&
- dev_info->subdevice != subsystem_device)
+ dev_info->subdevice != (subsystem_device & dev_info->subdevice_mask))
continue;
if (dev_info->mac_type != (u8)IWL_CFG_ANY &&