Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Oren Givon and committed by
Kalle Valo
498d3eb5 63d7ef36

+6 -3
+1
drivers/net/wireless/intel/iwlwifi/iwl-csr.h
··· 336 336 /* RF_ID value */ 337 337 #define CSR_HW_RF_ID_TYPE_JF (0x00105100) 338 338 #define CSR_HW_RF_ID_TYPE_HR (0x0010A000) 339 + #define CSR_HW_RF_ID_TYPE_HR1 (0x0010c100) 339 340 #define CSR_HW_RF_ID_TYPE_HRCDB (0x00109F00) 340 341 #define CSR_HW_RF_ID_TYPE_GF (0x0010D000) 341 342 #define CSR_HW_RF_ID_TYPE_GF4 (0x0010E000)
+5 -3
drivers/net/wireless/intel/iwlwifi/pcie/trans.c
··· 3575 3575 trans->cfg = &iwlax411_2ax_cfg_so_gf4_a0; 3576 3576 } 3577 3577 } else if (cfg == &iwl_ax101_cfg_qu_hr) { 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) && 3580 - trans->hw_rev == CSR_HW_REV_TYPE_QNJ_B0) { 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) && 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 3583 trans->cfg = &iwl22000_2ax_cfg_qnj_hr_b0; 3582 3584 } else if (CSR_HW_RF_ID_TYPE_CHIP_ID(trans->hw_rf_id) == 3583 3585 CSR_HW_RF_ID_TYPE_CHIP_ID(CSR_HW_RF_ID_TYPE_HR)) {