Skip to content

Commit 3f910a2

Browse files
committed
iwlwifi: pcie: convert all AX101 devices to the device tables
Convert all Qu/Hr1 devices to the new device tables, by modifying the corresponding structures, adding a new name and generalizing the device recognition. Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20200424194456.ec0e04102d2c.Ia36f2c7bbf06cb6436424d40d6adb2376f2962ee@changeid
1 parent e34aa5a commit 3f910a2

File tree

3 files changed

+37
-36
lines changed

3 files changed

+37
-36
lines changed

drivers/net/wireless/intel/iwlwifi/cfg/22000.c

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -337,14 +337,14 @@ const struct iwl_cfg_trans_params iwl_ax200_trans_cfg = {
337337

338338
const char iwl_ax200_name[] = "Intel(R) Wi-Fi 6 AX200 160MHz";
339339
const char iwl_ax201_name[] = "Intel(R) Wi-Fi 6 AX201 160MHz";
340+
const char iwl_ax101_name[] = "Intel(R) Wi-Fi 6 AX101";
340341

341342
const char iwl_ax200_killer_1650w_name[] =
342343
"Killer(R) Wi-Fi 6 AX1650w 160MHz Wireless Network Adapter (200D2W)";
343344
const char iwl_ax200_killer_1650x_name[] =
344345
"Killer(R) Wi-Fi 6 AX1650x 160MHz Wireless Network Adapter (200NGW)";
345346

346-
const struct iwl_cfg iwl_ax101_cfg_qu_hr = {
347-
.name = "Intel(R) Wi-Fi 6 AX101",
347+
const struct iwl_cfg iwl_qu_b0_hr1_b0 = {
348348
.fw_name_pre = IWL_QU_B_HR_B_FW_PRE,
349349
IWL_DEVICE_22500,
350350
/*
@@ -370,8 +370,7 @@ const struct iwl_cfg iwl_ax201_cfg_qu_hr = {
370370
.num_rbds = IWL_NUM_RBDS_22000_HE,
371371
};
372372

373-
const struct iwl_cfg iwl_ax101_cfg_qu_c0_hr_b0 = {
374-
.name = "Intel(R) Wi-Fi 6 AX101",
373+
const struct iwl_cfg iwl_qu_c0_hr1_b0 = {
375374
.fw_name_pre = IWL_QU_C_HR_B_FW_PRE,
376375
IWL_DEVICE_22500,
377376
/*
@@ -397,8 +396,7 @@ const struct iwl_cfg iwl_ax201_cfg_qu_c0_hr_b0 = {
397396
.num_rbds = IWL_NUM_RBDS_22000_HE,
398397
};
399398

400-
const struct iwl_cfg iwl_ax101_cfg_quz_hr = {
401-
.name = "Intel(R) Wi-Fi 6 AX101",
399+
const struct iwl_cfg iwl_quz_a0_hr1_b0 = {
402400
.fw_name_pre = IWL_QUZ_A_HR_B_FW_PRE,
403401
IWL_DEVICE_22500,
404402
/*

drivers/net/wireless/intel/iwlwifi/iwl-config.h

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -477,12 +477,16 @@ struct iwl_cfg {
477477
#define IWL_CFG_RF_TYPE_TH1 0x108
478478
#define IWL_CFG_RF_TYPE_JF2 0x105
479479
#define IWL_CFG_RF_TYPE_JF1 0x108
480+
#define IWL_CFG_RF_TYPE_HR2 0x10A
481+
#define IWL_CFG_RF_TYPE_HR1 0x10C
480482

481483
#define IWL_CFG_RF_ID_TH 0x1
482484
#define IWL_CFG_RF_ID_TH1 0x1
483485
#define IWL_CFG_RF_ID_JF 0x3
484486
#define IWL_CFG_RF_ID_JF1 0x6
485487
#define IWL_CFG_RF_ID_JF1_DIV 0xA
488+
#define IWL_CFG_RF_ID_HR 0x7
489+
#define IWL_CFG_RF_ID_HR1 0x4
486490

487491
#define IWL_CFG_NO_160 0x0
488492
#define IWL_CFG_160 0x1
@@ -536,6 +540,7 @@ extern const char iwl9560_killer_1550i_name[];
536540
extern const char iwl9560_killer_1550s_name[];
537541
extern const char iwl_ax200_name[];
538542
extern const char iwl_ax201_name[];
543+
extern const char iwl_ax101_name[];
539544
extern const char iwl_ax200_killer_1650w_name[];
540545
extern const char iwl_ax200_killer_1650x_name[];
541546

@@ -610,9 +615,9 @@ extern const struct iwl_cfg iwl9560_qu_c0_jf_b0_cfg;
610615
extern const struct iwl_cfg iwl9560_quz_a0_jf_b0_cfg;
611616
extern const struct iwl_cfg iwl9560_qnj_b0_jf_b0_cfg;
612617
extern const struct iwl_cfg iwl9560_2ac_cfg_soc;
613-
extern const struct iwl_cfg iwl_ax101_cfg_qu_hr;
614-
extern const struct iwl_cfg iwl_ax101_cfg_qu_c0_hr_b0;
615-
extern const struct iwl_cfg iwl_ax101_cfg_quz_hr;
618+
extern const struct iwl_cfg iwl_qu_b0_hr1_b0;
619+
extern const struct iwl_cfg iwl_qu_c0_hr1_b0;
620+
extern const struct iwl_cfg iwl_quz_a0_hr1_b0;
616621
extern const struct iwl_cfg iwl_ax200_cfg_cc;
617622
extern const struct iwl_cfg iwl_ax201_cfg_qu_hr;
618623
extern const struct iwl_cfg iwl_ax201_cfg_qu_hr;

drivers/net/wireless/intel/iwlwifi/pcie/drv.c

Lines changed: 25 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -594,89 +594,68 @@ static const struct iwl_dev_info iwl_dev_info_table[] = {
594594
IWL_DEV_INFO(0x2720, IWL_CFG_ANY, iwl_qnj_b0_hr_b0_cfg, iwl_ax201_name),
595595

596596
/* Qu with Hr */
597-
IWL_DEV_INFO(0x43F0, 0x0044, iwl_ax101_cfg_qu_hr, NULL),
598597
IWL_DEV_INFO(0x43F0, 0x0070, iwl_ax201_cfg_qu_hr, NULL),
599598
IWL_DEV_INFO(0x43F0, 0x0074, iwl_ax201_cfg_qu_hr, NULL),
600599
IWL_DEV_INFO(0x43F0, 0x0078, iwl_ax201_cfg_qu_hr, NULL),
601600
IWL_DEV_INFO(0x43F0, 0x007C, iwl_ax201_cfg_qu_hr, NULL),
602-
IWL_DEV_INFO(0x43F0, 0x0244, iwl_ax101_cfg_qu_hr, NULL),
603-
IWL_DEV_INFO(0x43F0, 0x1651, killer1650s_2ax_cfg_qu_b0_hr_b0, NULL),
604-
IWL_DEV_INFO(0x43F0, 0x1652, killer1650i_2ax_cfg_qu_b0_hr_b0, NULL),
605601
IWL_DEV_INFO(0x43F0, 0x2074, iwl_ax201_cfg_qu_hr, NULL),
606602
IWL_DEV_INFO(0x43F0, 0x4070, iwl_ax201_cfg_qu_hr, NULL),
607-
IWL_DEV_INFO(0x43F0, 0x4244, iwl_ax101_cfg_qu_hr, NULL),
608-
IWL_DEV_INFO(0xA0F0, 0x0044, iwl_ax101_cfg_qu_hr, NULL),
609603
IWL_DEV_INFO(0xA0F0, 0x0070, iwl_ax201_cfg_qu_hr, NULL),
610604
IWL_DEV_INFO(0xA0F0, 0x0074, iwl_ax201_cfg_qu_hr, NULL),
611605
IWL_DEV_INFO(0xA0F0, 0x0078, iwl_ax201_cfg_qu_hr, NULL),
612606
IWL_DEV_INFO(0xA0F0, 0x007C, iwl_ax201_cfg_qu_hr, NULL),
613-
IWL_DEV_INFO(0xA0F0, 0x0244, iwl_ax101_cfg_qu_hr, NULL),
614607
IWL_DEV_INFO(0xA0F0, 0x0A10, iwl_ax201_cfg_qu_hr, NULL),
615608
IWL_DEV_INFO(0xA0F0, 0x1651, killer1650s_2ax_cfg_qu_b0_hr_b0, NULL),
616609
IWL_DEV_INFO(0xA0F0, 0x1652, killer1650i_2ax_cfg_qu_b0_hr_b0, NULL),
617610
IWL_DEV_INFO(0xA0F0, 0x2074, iwl_ax201_cfg_qu_hr, NULL),
618611
IWL_DEV_INFO(0xA0F0, 0x4070, iwl_ax201_cfg_qu_hr, NULL),
619-
IWL_DEV_INFO(0xA0F0, 0x4244, iwl_ax101_cfg_qu_hr, NULL),
620612
IWL_DEV_INFO(0x02F0, 0x0070, iwl_ax201_cfg_quz_hr, NULL),
621613
IWL_DEV_INFO(0x02F0, 0x0074, iwl_ax201_cfg_quz_hr, NULL),
622614
IWL_DEV_INFO(0x02F0, 0x0078, iwl_ax201_cfg_quz_hr, NULL),
623615
IWL_DEV_INFO(0x02F0, 0x007C, iwl_ax201_cfg_quz_hr, NULL),
624-
IWL_DEV_INFO(0x02F0, 0x0244, iwl_ax101_cfg_quz_hr, NULL),
625616
IWL_DEV_INFO(0x02F0, 0x0310, iwl_ax201_cfg_quz_hr, NULL),
626617
IWL_DEV_INFO(0x02F0, 0x1651, iwl_ax1650s_cfg_quz_hr, NULL),
627618
IWL_DEV_INFO(0x02F0, 0x1652, iwl_ax1650i_cfg_quz_hr, NULL),
628619
IWL_DEV_INFO(0x02F0, 0x2074, iwl_ax201_cfg_quz_hr, NULL),
629620
IWL_DEV_INFO(0x02F0, 0x4070, iwl_ax201_cfg_quz_hr, NULL),
630-
IWL_DEV_INFO(0x02F0, 0x4244, iwl_ax101_cfg_quz_hr, NULL),
631621
IWL_DEV_INFO(0x06F0, 0x0070, iwl_ax201_cfg_quz_hr, NULL),
632622
IWL_DEV_INFO(0x06F0, 0x0074, iwl_ax201_cfg_quz_hr, NULL),
633623
IWL_DEV_INFO(0x06F0, 0x0078, iwl_ax201_cfg_quz_hr, NULL),
634624
IWL_DEV_INFO(0x06F0, 0x007C, iwl_ax201_cfg_quz_hr, NULL),
635-
IWL_DEV_INFO(0x06F0, 0x0244, iwl_ax101_cfg_quz_hr, NULL),
636625
IWL_DEV_INFO(0x06F0, 0x0310, iwl_ax201_cfg_quz_hr, NULL),
637626
IWL_DEV_INFO(0x06F0, 0x1651, iwl_ax1650s_cfg_quz_hr, NULL),
638627
IWL_DEV_INFO(0x06F0, 0x1652, iwl_ax1650i_cfg_quz_hr, NULL),
639628
IWL_DEV_INFO(0x06F0, 0x2074, iwl_ax201_cfg_quz_hr, NULL),
640629
IWL_DEV_INFO(0x06F0, 0x4070, iwl_ax201_cfg_quz_hr, NULL),
641-
IWL_DEV_INFO(0x06F0, 0x4244, iwl_ax101_cfg_quz_hr, NULL),
642-
IWL_DEV_INFO(0x34F0, 0x0044, iwl_ax101_cfg_qu_hr, NULL),
643630
IWL_DEV_INFO(0x34F0, 0x0070, iwl_ax201_cfg_qu_hr, NULL),
644631
IWL_DEV_INFO(0x34F0, 0x0074, iwl_ax201_cfg_qu_hr, NULL),
645632
IWL_DEV_INFO(0x34F0, 0x0078, iwl_ax201_cfg_qu_hr, NULL),
646633
IWL_DEV_INFO(0x34F0, 0x007C, iwl_ax201_cfg_qu_hr, NULL),
647-
IWL_DEV_INFO(0x34F0, 0x0244, iwl_ax101_cfg_qu_hr, NULL),
648634
IWL_DEV_INFO(0x34F0, 0x0310, iwl_ax201_cfg_qu_hr, NULL),
649635
IWL_DEV_INFO(0x34F0, 0x1651, killer1650s_2ax_cfg_qu_b0_hr_b0, NULL),
650636
IWL_DEV_INFO(0x34F0, 0x1652, killer1650i_2ax_cfg_qu_b0_hr_b0, NULL),
651637
IWL_DEV_INFO(0x34F0, 0x2074, iwl_ax201_cfg_qu_hr, NULL),
652638
IWL_DEV_INFO(0x34F0, 0x4070, iwl_ax201_cfg_qu_hr, NULL),
653-
IWL_DEV_INFO(0x34F0, 0x4244, iwl_ax101_cfg_qu_hr, NULL),
654639

655-
IWL_DEV_INFO(0x3DF0, 0x0044, iwl_ax101_cfg_qu_hr, NULL),
656640
IWL_DEV_INFO(0x3DF0, 0x0070, iwl_ax201_cfg_qu_hr, NULL),
657641
IWL_DEV_INFO(0x3DF0, 0x0074, iwl_ax201_cfg_qu_hr, NULL),
658642
IWL_DEV_INFO(0x3DF0, 0x0078, iwl_ax201_cfg_qu_hr, NULL),
659643
IWL_DEV_INFO(0x3DF0, 0x007C, iwl_ax201_cfg_qu_hr, NULL),
660-
IWL_DEV_INFO(0x3DF0, 0x0244, iwl_ax101_cfg_qu_hr, NULL),
661644
IWL_DEV_INFO(0x3DF0, 0x0310, iwl_ax201_cfg_qu_hr, NULL),
662645
IWL_DEV_INFO(0x3DF0, 0x1651, killer1650s_2ax_cfg_qu_b0_hr_b0, NULL),
663646
IWL_DEV_INFO(0x3DF0, 0x1652, killer1650i_2ax_cfg_qu_b0_hr_b0, NULL),
664647
IWL_DEV_INFO(0x3DF0, 0x2074, iwl_ax201_cfg_qu_hr, NULL),
665648
IWL_DEV_INFO(0x3DF0, 0x4070, iwl_ax201_cfg_qu_hr, NULL),
666-
IWL_DEV_INFO(0x3DF0, 0x4244, iwl_ax101_cfg_qu_hr, NULL),
667649

668-
IWL_DEV_INFO(0x4DF0, 0x0044, iwl_ax101_cfg_qu_hr, NULL),
669650
IWL_DEV_INFO(0x4DF0, 0x0070, iwl_ax201_cfg_qu_hr, NULL),
670651
IWL_DEV_INFO(0x4DF0, 0x0074, iwl_ax201_cfg_qu_hr, NULL),
671652
IWL_DEV_INFO(0x4DF0, 0x0078, iwl_ax201_cfg_qu_hr, NULL),
672653
IWL_DEV_INFO(0x4DF0, 0x007C, iwl_ax201_cfg_qu_hr, NULL),
673-
IWL_DEV_INFO(0x4DF0, 0x0244, iwl_ax101_cfg_qu_hr, NULL),
674654
IWL_DEV_INFO(0x4DF0, 0x0310, iwl_ax201_cfg_qu_hr, NULL),
675655
IWL_DEV_INFO(0x4DF0, 0x1651, killer1650s_2ax_cfg_qu_b0_hr_b0, NULL),
676656
IWL_DEV_INFO(0x4DF0, 0x1652, killer1650i_2ax_cfg_qu_b0_hr_b0, NULL),
677657
IWL_DEV_INFO(0x4DF0, 0x2074, iwl_ax201_cfg_qu_hr, NULL),
678658
IWL_DEV_INFO(0x4DF0, 0x4070, iwl_ax201_cfg_qu_hr, NULL),
679-
IWL_DEV_INFO(0x4DF0, 0x4244, iwl_ax101_cfg_qu_hr, NULL),
680659

681660
_IWL_DEV_INFO(IWL_CFG_ANY, IWL_CFG_ANY,
682661
IWL_CFG_MAC_TYPE_PU, IWL_CFG_ANY,
@@ -951,6 +930,29 @@ static const struct iwl_dev_info iwl_dev_info_table[] = {
951930
IWL_CFG_RF_TYPE_JF2, IWL_CFG_RF_ID_JF,
952931
IWL_CFG_NO_160, IWL_CFG_CORES_BT,
953932
iwl9560_qnj_b0_jf_b0_cfg, iwl9560_killer_1550i_name),
933+
934+
/* Qu with Hr */
935+
/* Qu B step */
936+
_IWL_DEV_INFO(IWL_CFG_ANY, IWL_CFG_ANY,
937+
IWL_CFG_MAC_TYPE_QU, SILICON_B_STEP,
938+
IWL_CFG_RF_TYPE_HR1, IWL_CFG_ANY,
939+
IWL_CFG_ANY, IWL_CFG_ANY,
940+
iwl_qu_b0_hr1_b0, iwl_ax101_name),
941+
942+
/* Qu C step */
943+
_IWL_DEV_INFO(IWL_CFG_ANY, IWL_CFG_ANY,
944+
IWL_CFG_MAC_TYPE_QU, SILICON_C_STEP,
945+
IWL_CFG_RF_TYPE_HR1, IWL_CFG_ANY,
946+
IWL_CFG_ANY, IWL_CFG_ANY,
947+
iwl_qu_c0_hr1_b0, iwl_ax101_name),
948+
949+
/* QuZ */
950+
_IWL_DEV_INFO(IWL_CFG_ANY, IWL_CFG_ANY,
951+
IWL_CFG_MAC_TYPE_QUZ, IWL_CFG_ANY,
952+
IWL_CFG_RF_TYPE_HR1, IWL_CFG_ANY,
953+
IWL_CFG_ANY, IWL_CFG_ANY,
954+
iwl_quz_a0_hr1_b0, iwl_ax101_name),
955+
954956
#endif /* CONFIG_IWLMVM */
955957
};
956958

@@ -1057,9 +1059,7 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
10571059
* rest must be removed once we convert Qu with Hr as well.
10581060
*/
10591061
if (iwl_trans->hw_rev == CSR_HW_REV_TYPE_QU_C0) {
1060-
if (iwl_trans->cfg == &iwl_ax101_cfg_qu_hr)
1061-
iwl_trans->cfg = &iwl_ax101_cfg_qu_c0_hr_b0;
1062-
else if (iwl_trans->cfg == &iwl_ax201_cfg_qu_hr)
1062+
if (iwl_trans->cfg == &iwl_ax201_cfg_qu_hr)
10631063
iwl_trans->cfg = &iwl_ax201_cfg_qu_c0_hr_b0;
10641064
else if (iwl_trans->cfg == &killer1650s_2ax_cfg_qu_b0_hr_b0)
10651065
iwl_trans->cfg = &killer1650s_2ax_cfg_qu_c0_hr_b0;
@@ -1069,9 +1069,7 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
10691069

10701070
/* same thing for QuZ... */
10711071
if (iwl_trans->hw_rev == CSR_HW_REV_TYPE_QUZ) {
1072-
if (iwl_trans->cfg == &iwl_ax101_cfg_qu_hr)
1073-
iwl_trans->cfg = &iwl_ax101_cfg_quz_hr;
1074-
else if (iwl_trans->cfg == &iwl_ax201_cfg_qu_hr)
1072+
if (iwl_trans->cfg == &iwl_ax201_cfg_qu_hr)
10751073
iwl_trans->cfg = &iwl_ax201_cfg_quz_hr;
10761074
}
10771075

0 commit comments

Comments
 (0)