]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
wifi: iwlwifi: cfg: clean up Sc/Dr/Br configs
authorJohannes Berg <johannes.berg@intel.com>
Fri, 9 May 2025 10:44:46 +0000 (13:44 +0300)
committerMiri Korenblit <miriam.rachel.korenblit@intel.com>
Sat, 10 May 2025 18:42:40 +0000 (21:42 +0300)
For now, the WH and PE radios require the same config as
FM, so just add a #define for those instead of copying
the data. Since this is true, Sc/Dr/Br all used the same
configs for all RF types, but that's confusing, so now
use the defined WH/PE names for the correct combinations.

We can also now enable the unit test that ensures we have
no duplicate RF configs.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Link: https://patch.msgid.link/20250509104454.2582160-8-miriam.rachel.korenblit@intel.com
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
drivers/net/wireless/intel/iwlwifi/cfg/dr.c
drivers/net/wireless/intel/iwlwifi/cfg/sc.c
drivers/net/wireless/intel/iwlwifi/iwl-config.h
drivers/net/wireless/intel/iwlwifi/pcie/drv.c
drivers/net/wireless/intel/iwlwifi/tests/devinfo.c

index 91da094231585b45f2f62ebcb06228f460bcfc87..ecf36a8a1135e95fd3cd90683dc44b6dea5cfca9 100644 (file)
@@ -14,9 +14,6 @@
 /* Lowest firmware API version supported */
 #define IWL_DR_UCODE_API_MIN   97
 
-/* NVM versions */
-#define IWL_DR_NVM_VERSION             0x0a1d
-
 /* Memory offsets and lengths */
 #define IWL_DR_SMEM_OFFSET             0x400000
 #define IWL_DR_SMEM_LEN                        0xD0000
@@ -86,21 +83,6 @@ static const struct iwl_family_base_params iwl_dr_base = {
        .ucode_api_min = IWL_DR_UCODE_API_MIN,
 };
 
-#define IWL_DEVICE_DR                                                  \
-       .led_mode = IWL_LED_RF_STATE,                                   \
-       .non_shared_ant = ANT_B,                                        \
-       .vht_mu_mimo_supported = true,                                  \
-       .nvm_ver = IWL_DR_NVM_VERSION,                                  \
-       .nvm_type = IWL_NVM_EXT,                                        \
-       .uhb_supported = true,                                          \
-       .num_rbds = IWL_NUM_RBDS_EHT,                           \
-       .ht_params = {                                                  \
-               .stbc = true,                                           \
-               .ldpc = true,                                           \
-               .ht40_bands = BIT(NL80211_BAND_2GHZ) |                  \
-                             BIT(NL80211_BAND_5GHZ),                   \
-       }
-
 const struct iwl_mac_cfg iwl_dr_mac_cfg = {
        .device_family = IWL_DEVICE_FAMILY_DR,
        .base = &iwl_dr_base,
@@ -115,10 +97,6 @@ const struct iwl_mac_cfg iwl_dr_mac_cfg = {
 
 const char iwl_dr_name[] = "Intel(R) TBD Dr device";
 
-const struct iwl_cfg iwl_cfg_dr = {
-       IWL_DEVICE_DR,
-};
-
 const struct iwl_mac_cfg iwl_br_mac_cfg = {
        .device_family = IWL_DEVICE_FAMILY_DR,
        .base = &iwl_dr_base,
index 6db25355df4277bd778471c947128e049834bfc2..5ccb8fff01f4d2879f5a93861c2e64d7c6417a63 100644 (file)
@@ -93,21 +93,6 @@ static const struct iwl_family_base_params iwl_sc_base = {
        .ucode_api_min = IWL_SC_UCODE_API_MIN,
 };
 
-#define IWL_DEVICE_SC                                                  \
-       .led_mode = IWL_LED_RF_STATE,                                   \
-       .non_shared_ant = ANT_B,                                        \
-       .vht_mu_mimo_supported = true,                                  \
-       .nvm_ver = IWL_SC_NVM_VERSION,                                  \
-       .nvm_type = IWL_NVM_EXT,                                        \
-       .uhb_supported = true,                                          \
-       .num_rbds = IWL_NUM_RBDS_EHT,                           \
-       .ht_params = {                                                  \
-               .stbc = true,                                           \
-               .ldpc = true,                                           \
-               .ht40_bands = BIT(NL80211_BAND_2GHZ) |                  \
-                             BIT(NL80211_BAND_5GHZ),                   \
-       }
-
 const struct iwl_mac_cfg iwl_sc_mac_cfg = {
        .device_family = IWL_DEVICE_FAMILY_SC,
        .base = &iwl_sc_base,
@@ -123,15 +108,6 @@ const struct iwl_mac_cfg iwl_sc_mac_cfg = {
 const char iwl_sp_name[] = "Intel(R) Wi-Fi 7 BE213 160MHz";
 const char iwl_pe_name[] = "Intel(R) Wi-Fi 8 BN201";
 
-const struct iwl_cfg iwl_cfg_sc = {
-       IWL_DEVICE_SC,
-};
-
-const struct iwl_cfg iwl_cfg_sc_160mhz = {
-       IWL_DEVICE_SC,
-       .bw_limit = 160,
-};
-
 IWL_FW_AND_PNVM(IWL_SC_A_FM_B_FW_PRE, IWL_SC_UCODE_API_MAX);
 IWL_FW_AND_PNVM(IWL_SC_A_FM_C_FW_PRE, IWL_SC_UCODE_API_MAX);
 MODULE_FIRMWARE(IWL_SC_A_HR_A_FW_MODULE_FIRMWARE(IWL_SC_UCODE_API_MAX));
index 541cd5427d6bc57da8b03239161b0d1d4d7cc9a4..ecf9e7f8e00f6e0643f46aff825c4a592cd0b2c6 100644 (file)
@@ -696,10 +696,10 @@ extern const struct iwl_cfg iwl_rf_gf;
 #if IS_ENABLED(CONFIG_IWLMLD)
 extern const struct iwl_cfg iwl_rf_fm;
 extern const struct iwl_cfg iwl_rf_fm_160mhz;
-
-extern const struct iwl_cfg iwl_cfg_sc;
-extern const struct iwl_cfg iwl_cfg_sc_160mhz;
-extern const struct iwl_cfg iwl_cfg_dr;
+#define iwl_rf_wh iwl_rf_fm
+#define iwl_rf_wh_160mhz iwl_rf_fm_160mhz
+#define iwl_rf_pe iwl_rf_fm
+#define iwl_rf_pe_160mhz iwl_rf_fm_160mhz
 #endif /* CONFIG_IWLMLD */
 
 #endif /* __IWL_CONFIG_H__ */
index 1aa3508ed2ef5021ceb42162374e31e8186b2fee..0d26fd0168a51c906d72c74ac79a2c31d4ec974c 100644 (file)
@@ -1474,33 +1474,34 @@ VISIBLE_IF_IWLWIFI_KUNIT const struct iwl_dev_info iwl_dev_info_table[] = {
                     BW_LIMITED, NO_CDB),
 
 /* Sc */
-       IWL_DEV_INFO(iwl_cfg_sc, iwl_ax211_name, MAC_TYPE(SC), RF_TYPE(GF)),
-       IWL_DEV_INFO(iwl_cfg_sc, iwl_fm_name, MAC_TYPE(SC), RF_TYPE(FM)),
-       IWL_DEV_INFO(iwl_cfg_sc, iwl_wh_name, MAC_TYPE(SC), RF_TYPE(WH),
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax211_name, MAC_TYPE(SC), RF_TYPE(GF)),
+       IWL_DEV_INFO(iwl_rf_fm, iwl_fm_name, MAC_TYPE(SC), RF_TYPE(FM)),
+       IWL_DEV_INFO(iwl_rf_wh, iwl_wh_name, MAC_TYPE(SC), RF_TYPE(WH),
                     BW_NOT_LIMITED),
-       IWL_DEV_INFO(iwl_cfg_sc_160mhz, iwl_sp_name, MAC_TYPE(SC), RF_TYPE(WH),
+       IWL_DEV_INFO(iwl_rf_wh_160mhz, iwl_sp_name, MAC_TYPE(SC), RF_TYPE(WH),
                     BW_LIMITED),
-       IWL_DEV_INFO(iwl_cfg_sc, iwl_pe_name, MAC_TYPE(SC), RF_TYPE(PE)),
-       IWL_DEV_INFO(iwl_cfg_sc, iwl_ax211_name, MAC_TYPE(SC2), RF_TYPE(GF)),
-       IWL_DEV_INFO(iwl_cfg_sc, iwl_fm_name, MAC_TYPE(SC2), RF_TYPE(FM)),
-       IWL_DEV_INFO(iwl_cfg_sc, iwl_wh_name, MAC_TYPE(SC2), RF_TYPE(WH),
+       IWL_DEV_INFO(iwl_rf_pe, iwl_pe_name, MAC_TYPE(SC), RF_TYPE(PE)),
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax211_name, MAC_TYPE(SC2), RF_TYPE(GF)),
+       IWL_DEV_INFO(iwl_rf_fm, iwl_fm_name, MAC_TYPE(SC2), RF_TYPE(FM)),
+       IWL_DEV_INFO(iwl_rf_wh, iwl_wh_name, MAC_TYPE(SC2), RF_TYPE(WH),
                     BW_NOT_LIMITED),
-       IWL_DEV_INFO(iwl_cfg_sc_160mhz, iwl_sp_name, MAC_TYPE(SC2), RF_TYPE(WH),
+       IWL_DEV_INFO(iwl_rf_wh_160mhz, iwl_sp_name, MAC_TYPE(SC2), RF_TYPE(WH),
                     BW_LIMITED),
-       IWL_DEV_INFO(iwl_cfg_sc, iwl_pe_name, MAC_TYPE(SC2), RF_TYPE(PE)),
-       IWL_DEV_INFO(iwl_cfg_sc, iwl_ax211_name, MAC_TYPE(SC2F), RF_TYPE(GF)),
-       IWL_DEV_INFO(iwl_cfg_sc, iwl_fm_name, MAC_TYPE(SC2F), RF_TYPE(FM)),
-       IWL_DEV_INFO(iwl_cfg_sc, iwl_wh_name, MAC_TYPE(SC2F), RF_TYPE(WH),
+       IWL_DEV_INFO(iwl_rf_pe, iwl_pe_name, MAC_TYPE(SC2), RF_TYPE(PE)),
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax211_name, MAC_TYPE(SC2F), RF_TYPE(GF)),
+       IWL_DEV_INFO(iwl_rf_fm, iwl_fm_name, MAC_TYPE(SC2F), RF_TYPE(FM)),
+       IWL_DEV_INFO(iwl_rf_wh, iwl_wh_name, MAC_TYPE(SC2F), RF_TYPE(WH),
                     BW_NOT_LIMITED),
-       IWL_DEV_INFO(iwl_cfg_sc_160mhz, iwl_sp_name, MAC_TYPE(SC2F), RF_TYPE(WH),
+       IWL_DEV_INFO(iwl_rf_wh_160mhz, iwl_sp_name, MAC_TYPE(SC2F), RF_TYPE(WH),
                     BW_LIMITED),
-       IWL_DEV_INFO(iwl_cfg_sc, iwl_pe_name, MAC_TYPE(SC2F), RF_TYPE(PE)),
+       IWL_DEV_INFO(iwl_rf_pe, iwl_pe_name, MAC_TYPE(SC2F), RF_TYPE(PE)),
 
 /* Dr */
-       IWL_DEV_INFO(iwl_cfg_dr, iwl_dr_name, MAC_TYPE(DR)),
+       IWL_DEV_INFO(iwl_rf_pe, iwl_dr_name, MAC_TYPE(DR), RF_TYPE(PE)),
+       IWL_DEV_INFO(iwl_rf_wh, iwl_dr_name, MAC_TYPE(DR), RF_TYPE(WH)),
 
 /* Br */
-       IWL_DEV_INFO(iwl_cfg_dr, iwl_br_name, MAC_TYPE(BR)),
+       IWL_DEV_INFO(iwl_rf_pe, iwl_br_name, MAC_TYPE(BR), RF_TYPE(PE)),
 #endif /* CONFIG_IWLMLD */
 };
 EXPORT_SYMBOL_IF_IWLWIFI_KUNIT(iwl_dev_info_table);
index c86495abf29be4bef30a75436d1f5ad536eae3b5..0e6a74abd5e2ad55d44d626ccbc788690861c683 100644 (file)
@@ -69,14 +69,6 @@ static void devinfo_no_cfg_dups(struct kunit *test)
                        if (cfg_i == cfg_j)
                                continue;
 
-                       /*
-                        * allow different MAC type to have the same config
-                        * for better maintenance / file split
-                        */
-                       if (iwl_dev_info_table[i].mac_type !=
-                           iwl_dev_info_table[j].mac_type)
-                               continue;
-
                        KUNIT_EXPECT_NE_MSG(test, memcmp(cfg_i, cfg_j,
                                                         sizeof(*cfg_i)), 0,
                                            "identical configs: %ps and %ps\n",