summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorOren Givon <oren.givon@intel.com>2019-06-20 04:46:23 -0400
committerKalle Valo <kvalo@codeaurora.org>2019-06-24 09:23:27 -0400
commit498d3eb5bfbb2e05e40005152976a7b9eadfb59c (patch)
treed9027a26ddb0f592934edb2b85f6b04ea9cc1162 /drivers/net/wireless
parent63d7ef36103d26f20325a921ecc96a3288560146 (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.h1
-rw-r--r--drivers/net/wireless/intel/iwlwifi/pcie/trans.c8
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)) {