diff options
author | Oren Givon <oren.givon@intel.com> | 2019-06-20 04:46:23 -0400 |
---|---|---|
committer | Kalle Valo <kvalo@codeaurora.org> | 2019-06-24 09:23:27 -0400 |
commit | 498d3eb5bfbb2e05e40005152976a7b9eadfb59c (patch) | |
tree | d9027a26ddb0f592934edb2b85f6b04ea9cc1162 /drivers/net/wireless | |
parent | 63d7ef36103d26f20325a921ecc96a3288560146 (diff) |
iwlwifi: add support for hr1 RF ID
The 22000 series FW that was meant to be used with hr is
also the FW that is used for hr1 and has a different RF ID.
Add support to load the hr FW when hr1 RF ID is detected.
Cc: stable@vger.kernel.org # 5.1+
Signed-off-by: Oren Givon <oren.givon@intel.com>
Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/iwl-csr.h | 1 | ||||
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/pcie/trans.c | 8 |
2 files changed, 6 insertions, 3 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-csr.h b/drivers/net/wireless/intel/iwlwifi/iwl-csr.h index 553554846009..93da96a7247c 100644 --- a/drivers/net/wireless/intel/iwlwifi/iwl-csr.h +++ b/drivers/net/wireless/intel/iwlwifi/iwl-csr.h | |||
@@ -336,6 +336,7 @@ enum { | |||
336 | /* RF_ID value */ | 336 | /* RF_ID value */ |
337 | #define CSR_HW_RF_ID_TYPE_JF (0x00105100) | 337 | #define CSR_HW_RF_ID_TYPE_JF (0x00105100) |
338 | #define CSR_HW_RF_ID_TYPE_HR (0x0010A000) | 338 | #define CSR_HW_RF_ID_TYPE_HR (0x0010A000) |
339 | #define CSR_HW_RF_ID_TYPE_HR1 (0x0010c100) | ||
339 | #define CSR_HW_RF_ID_TYPE_HRCDB (0x00109F00) | 340 | #define CSR_HW_RF_ID_TYPE_HRCDB (0x00109F00) |
340 | #define CSR_HW_RF_ID_TYPE_GF (0x0010D000) | 341 | #define CSR_HW_RF_ID_TYPE_GF (0x0010D000) |
341 | #define CSR_HW_RF_ID_TYPE_GF4 (0x0010E000) | 342 | #define CSR_HW_RF_ID_TYPE_GF4 (0x0010E000) |
diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/trans.c b/drivers/net/wireless/intel/iwlwifi/pcie/trans.c index b93753233223..38ab24d96244 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/trans.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/trans.c | |||
@@ -3575,9 +3575,11 @@ struct iwl_trans *iwl_trans_pcie_alloc(struct pci_dev *pdev, | |||
3575 | trans->cfg = &iwlax411_2ax_cfg_so_gf4_a0; | 3575 | trans->cfg = &iwlax411_2ax_cfg_so_gf4_a0; |
3576 | } | 3576 | } |
3577 | } else if (cfg == &iwl_ax101_cfg_qu_hr) { | 3577 | } else if (cfg == &iwl_ax101_cfg_qu_hr) { |
3578 | if (CSR_HW_RF_ID_TYPE_CHIP_ID(trans->hw_rf_id) == | 3578 | if ((CSR_HW_RF_ID_TYPE_CHIP_ID(trans->hw_rf_id) == |
3579 | CSR_HW_RF_ID_TYPE_CHIP_ID(CSR_HW_RF_ID_TYPE_HR) && | 3579 | CSR_HW_RF_ID_TYPE_CHIP_ID(CSR_HW_RF_ID_TYPE_HR) && |
3580 | trans->hw_rev == CSR_HW_REV_TYPE_QNJ_B0) { | 3580 | trans->hw_rev == CSR_HW_REV_TYPE_QNJ_B0) || |
3581 | (CSR_HW_RF_ID_TYPE_CHIP_ID(trans->hw_rf_id) == | ||
3582 | CSR_HW_RF_ID_TYPE_CHIP_ID(CSR_HW_RF_ID_TYPE_HR1))) { | ||
3581 | trans->cfg = &iwl22000_2ax_cfg_qnj_hr_b0; | 3583 | trans->cfg = &iwl22000_2ax_cfg_qnj_hr_b0; |
3582 | } else if (CSR_HW_RF_ID_TYPE_CHIP_ID(trans->hw_rf_id) == | 3584 | } else if (CSR_HW_RF_ID_TYPE_CHIP_ID(trans->hw_rf_id) == |
3583 | CSR_HW_RF_ID_TYPE_CHIP_ID(CSR_HW_RF_ID_TYPE_HR)) { | 3585 | CSR_HW_RF_ID_TYPE_CHIP_ID(CSR_HW_RF_ID_TYPE_HR)) { |