iwlwifi: allow different csr flags for different device families
authorGolan Ben Ami <golan.ben.ami@intel.com>
Sun, 22 Oct 2017 12:58:26 +0000 (15:58 +0300)
committerLuca Coelho <luciano.coelho@intel.com>
Thu, 26 Jul 2018 10:16:13 +0000 (13:16 +0300)
Different device families may have different flag values
for passing a message to the fw (i.e. SW_RESET).
In order to keep the code readable, and avoid conditioning
upon the family, store a value for each flag, which indicates
the bit that needs to be enabled.

Additionally, support 22560 device csr flags and addresses.

Signed-off-by: Golan Ben Ami <golan.ben.ami@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
drivers/net/wireless/intel/iwlwifi/cfg/22000.c
drivers/net/wireless/intel/iwlwifi/iwl-config.h

index aafd8cab86b095389ea467312473ec34012cb5c8..2768c2b15acb258998d05b8910ab0d8d82aaad18 100644 (file)
@@ -191,6 +191,7 @@ const struct iwl_cfg iwl22000_2ax_cfg_qnj_hr_a0_f0 = {
        .name = "Intel(R) Dual Band Wireless AX 22000",
        .fw_name_pre = IWL_22000_HR_A_F0_FW_PRE,
        IWL_DEVICE_22000,
+       .csr = &iwl_csr_v1,
        .ht_params = &iwl_22000_ht_params,
        .nvm_ver = IWL_22000_NVM_VERSION,
        .nvm_calib_ver = IWL_22000_TX_POWER_VERSION,
@@ -236,10 +237,11 @@ const struct iwl_cfg iwl22000_2ax_cfg_qnj_hr_a0 = {
        .max_ht_ampdu_exponent = IEEE80211_HT_MAX_AMPDU_64K,
 };
 
-const struct iwl_cfg iwl22000_2ax_cfg_hr_cdb = {
+const struct iwl_cfg iwl22560_2ax_cfg_su_cdb = {
        .name = "Intel(R) Dual Band Wireless AX 22560",
        .fw_name_pre = IWL_22000_SU_Z0_FW_PRE,
        IWL_DEVICE_22000,
+       .csr = &iwl_csr_v2,
        .ht_params = &iwl_22000_ht_params,
        .nvm_ver = IWL_22000_NVM_VERSION,
        .nvm_calib_ver = IWL_22000_TX_POWER_VERSION,
index ede491be7aac196736969e4eb68e0b580d2585f5..b7389f1aa3afe4f014028b018640d34ac8026e11 100644 (file)
@@ -570,7 +570,7 @@ extern const struct iwl_cfg iwl22000_2ax_cfg_qnj_hr_a0_f0;
 extern const struct iwl_cfg iwl22000_2ax_cfg_qnj_hr_b0;
 extern const struct iwl_cfg iwl22000_2ax_cfg_qnj_jf_b0;
 extern const struct iwl_cfg iwl22000_2ax_cfg_qnj_hr_a0;
-extern const struct iwl_cfg iwl22000_2ax_cfg_hr_cdb;
+extern const struct iwl_cfg iwl22560_2ax_cfg_su_cdb;
 #endif /* CONFIG_IWLMVM */
 
 #endif /* __IWL_CONFIG_H__ */