]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
wifi: iwlwifi: assign a FW API range for JF
authorMiri Korenblit <miriam.rachel.korenblit@intel.com>
Wed, 9 Jul 2025 20:05:30 +0000 (23:05 +0300)
committerMiri Korenblit <miriam.rachel.korenblit@intel.com>
Thu, 10 Jul 2025 16:48:38 +0000 (19:48 +0300)
JF device is frozen on API 77. This prevented us from bumping the
minimum FW API of SO (and get rid of older FWs). This is because SO can
be combined with JF and then FW API 77 should be used.
Now as we have separate FW API ranges for the mac and the crf, we can
define for JF its own FW API range. This will allow bumping the minimum
FW API of SO Independently.
Do that now.

Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Link: https://patch.msgid.link/20250709200543.1628666-3-miriam.rachel.korenblit@intel.com
drivers/net/wireless/intel/iwlwifi/cfg/22000.c
drivers/net/wireless/intel/iwlwifi/cfg/ax210.c
drivers/net/wireless/intel/iwlwifi/cfg/rf-jf.c

index 52e0beebf9cea40bbfbd723a31c06c240a6a931e..57af51a3ee0b55d10b761d817f5904f0e7395301 100644 (file)
 
 #define IWL_QU_B_HR_B_FW_PRE           "iwlwifi-Qu-b0-hr-b0"
 #define IWL_QU_C_HR_B_FW_PRE           "iwlwifi-Qu-c0-hr-b0"
-#define IWL_QU_B_JF_B_FW_PRE           "iwlwifi-Qu-b0-jf-b0"
-#define IWL_QU_C_JF_B_FW_PRE           "iwlwifi-Qu-c0-jf-b0"
 #define IWL_QUZ_A_HR_B_FW_PRE          "iwlwifi-QuZ-a0-hr-b0"
-#define IWL_QUZ_A_JF_B_FW_PRE          "iwlwifi-QuZ-a0-jf-b0"
 #define IWL_CC_A_FW_PRE                        "iwlwifi-cc-a0"
 
 #define IWL_QU_B_HR_B_MODULE_FIRMWARE(api) \
        IWL_QU_B_HR_B_FW_PRE "-" __stringify(api) ".ucode"
 #define IWL_QUZ_A_HR_B_MODULE_FIRMWARE(api) \
        IWL_QUZ_A_HR_B_FW_PRE "-" __stringify(api) ".ucode"
-#define IWL_QUZ_A_JF_B_MODULE_FIRMWARE(api) \
-       IWL_QUZ_A_JF_B_FW_PRE "-" __stringify(api) ".ucode"
 #define IWL_QU_C_HR_B_MODULE_FIRMWARE(api) \
        IWL_QU_C_HR_B_FW_PRE "-" __stringify(api) ".ucode"
-#define IWL_QU_B_JF_B_MODULE_FIRMWARE(api) \
-       IWL_QU_B_JF_B_FW_PRE "-" __stringify(api) ".ucode"
-#define IWL_QU_C_JF_B_MODULE_FIRMWARE(api) \
-       IWL_QU_C_JF_B_FW_PRE "-" __stringify(api) ".ucode"
 #define IWL_CC_A_MODULE_FIRMWARE(api)                  \
        IWL_CC_A_FW_PRE "-" __stringify(api) ".ucode"
 
@@ -134,8 +125,5 @@ const char iwl_ax201_killer_1650i_name[] =
 
 MODULE_FIRMWARE(IWL_QU_B_HR_B_MODULE_FIRMWARE(IWL_22000_UCODE_API_MAX));
 MODULE_FIRMWARE(IWL_QU_C_HR_B_MODULE_FIRMWARE(IWL_22000_UCODE_API_MAX));
-MODULE_FIRMWARE(IWL_QU_B_JF_B_MODULE_FIRMWARE(IWL_22000_UCODE_API_MAX));
-MODULE_FIRMWARE(IWL_QU_C_JF_B_MODULE_FIRMWARE(IWL_22000_UCODE_API_MAX));
 MODULE_FIRMWARE(IWL_QUZ_A_HR_B_MODULE_FIRMWARE(IWL_22000_UCODE_API_MAX));
-MODULE_FIRMWARE(IWL_QUZ_A_JF_B_MODULE_FIRMWARE(IWL_22000_UCODE_API_MAX));
 MODULE_FIRMWARE(IWL_CC_A_MODULE_FIRMWARE(IWL_22000_UCODE_API_MAX));
index 3bf9fdbe01c61207f1ec24a7d393096b348355b1..5158ccbd1fc43184b7a4d3849d80fa25e1e357de 100644 (file)
@@ -19,7 +19,6 @@
 #define IWL_AX210_SMEM_OFFSET          0x400000
 #define IWL_AX210_SMEM_LEN             0xD0000
 
-#define IWL_SO_A_JF_B_FW_PRE           "iwlwifi-so-a0-jf-b0"
 #define IWL_SO_A_HR_B_FW_PRE           "iwlwifi-so-a0-hr-b0"
 #define IWL_SO_A_GF_A_FW_PRE           "iwlwifi-so-a0-gf-a0"
 #define IWL_TY_A_GF_A_FW_PRE           "iwlwifi-ty-a0-gf-a0"
@@ -31,8 +30,6 @@
 #define IWL_MA_B_GF_A_FW_PRE           "iwlwifi-ma-b0-gf-a0"
 #define IWL_MA_B_GF4_A_FW_PRE          "iwlwifi-ma-b0-gf4-a0"
 
-#define IWL_SO_A_JF_B_MODULE_FIRMWARE(api) \
-       IWL_SO_A_JF_B_FW_PRE "-" __stringify(api) ".ucode"
 #define IWL_SO_A_HR_B_MODULE_FIRMWARE(api) \
        IWL_SO_A_HR_B_FW_PRE "-" __stringify(api) ".ucode"
 #define IWL_MA_A_HR_B_FW_MODULE_FIRMWARE(api)          \
@@ -144,7 +141,6 @@ const struct iwl_mac_cfg iwl_ma_mac_cfg = {
        .umac_prph_offset = 0x300000
 };
 
-MODULE_FIRMWARE(IWL_SO_A_JF_B_MODULE_FIRMWARE(IWL_AX210_UCODE_API_MAX));
 MODULE_FIRMWARE(IWL_SO_A_HR_B_MODULE_FIRMWARE(IWL_AX210_UCODE_API_MAX));
 IWL_FW_AND_PNVM(IWL_SO_A_GF_A_FW_PRE, IWL_AX210_UCODE_API_MAX);
 IWL_FW_AND_PNVM(IWL_TY_A_GF_A_FW_PRE, IWL_AX210_UCODE_API_MAX);
index 467eaeae6deb215f5b37510382c0b321133c259a..0a074e0a3bc684f3de9e3ecf92faa9ebb0bdcc94 100644 (file)
@@ -5,6 +5,26 @@
  */
 #include "iwl-config.h"
 
+/* Highest firmware API version supported */
+#define IWL_JF_UCODE_API_MAX   77
+
+/* Lowest firmware API version supported */
+#define IWL_JF_UCODE_API_MIN   77
+
+#define IWL_QU_B_JF_B_FW_PRE           "iwlwifi-Qu-b0-jf-b0"
+#define IWL_QU_C_JF_B_FW_PRE           "iwlwifi-Qu-c0-jf-b0"
+#define IWL_QUZ_A_JF_B_FW_PRE          "iwlwifi-QuZ-a0-jf-b0"
+#define IWL_SO_A_JF_B_FW_PRE           "iwlwifi-so-a0-jf-b0"
+
+#define IWL_QUZ_A_JF_B_MODULE_FIRMWARE(api) \
+       IWL_QUZ_A_JF_B_FW_PRE "-" __stringify(api) ".ucode"
+#define IWL_QU_B_JF_B_MODULE_FIRMWARE(api) \
+       IWL_QU_B_JF_B_FW_PRE "-" __stringify(api) ".ucode"
+#define IWL_QU_C_JF_B_MODULE_FIRMWARE(api) \
+       IWL_QU_C_JF_B_FW_PRE "-" __stringify(api) ".ucode"
+#define IWL_SO_A_JF_B_MODULE_FIRMWARE(api) \
+       IWL_SO_A_JF_B_FW_PRE "-" __stringify(api) ".ucode"
+
 /* NVM versions */
 #define IWL_JF_NVM_VERSION             0x0a1d
 
@@ -56,7 +76,9 @@ static const struct iwl_tt_params iwl_jf_tt_params = {
                              BIT(NL80211_BAND_5GHZ),                   \
        },                                                              \
        .nvm_ver = IWL_JF_NVM_VERSION,                                  \
-       .nvm_type = IWL_NVM_EXT
+       .nvm_type = IWL_NVM_EXT,                                        \
+       .ucode_api_min = IWL_JF_UCODE_API_MIN,                          \
+       .ucode_api_max = IWL_JF_UCODE_API_MAX
 
 const struct iwl_rf_cfg iwl_rf_jf = {
        IWL_DEVICE_JF,
@@ -82,3 +104,8 @@ const char iwl9560_killer_1550i_name[] =
        "Killer(R) Wireless-AC 1550i Wireless Network Adapter (9560NGW) 160MHz";
 const char iwl9560_killer_1550s_name[] =
        "Killer(R) Wireless-AC 1550s Wireless Network Adapter (9560D2W) 160MHz";
+
+MODULE_FIRMWARE(IWL_QU_B_JF_B_MODULE_FIRMWARE(IWL_JF_UCODE_API_MAX));
+MODULE_FIRMWARE(IWL_QU_C_JF_B_MODULE_FIRMWARE(IWL_JF_UCODE_API_MAX));
+MODULE_FIRMWARE(IWL_QUZ_A_JF_B_MODULE_FIRMWARE(IWL_JF_UCODE_API_MAX));
+MODULE_FIRMWARE(IWL_SO_A_JF_B_MODULE_FIRMWARE(IWL_JF_UCODE_API_MAX));