]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
wifi: iwlwifi: cfg: add GF RF config
authorJohannes Berg <johannes.berg@intel.com>
Fri, 9 May 2025 10:44:44 +0000 (13:44 +0300)
committerMiri Korenblit <miriam.rachel.korenblit@intel.com>
Sat, 10 May 2025 18:42:31 +0000 (21:42 +0300)
This is equivalent to just the previous iwl_cfg_ma, but
really should also be used for Bz/Gf and Sc/Gf, instead
of those using EHT sizes.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Link: https://patch.msgid.link/20250509104454.2582160-6-miriam.rachel.korenblit@intel.com
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
drivers/net/wireless/intel/iwlwifi/Makefile
drivers/net/wireless/intel/iwlwifi/cfg/ax210.c
drivers/net/wireless/intel/iwlwifi/cfg/rf-gf.c [new file with mode: 0644]
drivers/net/wireless/intel/iwlwifi/iwl-config.h
drivers/net/wireless/intel/iwlwifi/pcie/drv.c

index e2f9472307387e49f69adb0719c23478412d842d..2d4815053821cbfad733ddf312025205b0b14993 100644 (file)
@@ -22,7 +22,7 @@ iwlwifi-$(CONFIG_IWLMVM) += cfg/9000.o cfg/22000.o
 iwlwifi-$(CONFIG_IWLMVM) += cfg/ax210.o
 iwlwifi-$(CONFIG_IWLMLD) += cfg/bz.o cfg/sc.o cfg/dr.o
 # RF configurations
-iwlwifi-$(CONFIG_IWLMVM) += cfg/rf-jf.o cfg/rf-hr.o
+iwlwifi-$(CONFIG_IWLMVM) += cfg/rf-jf.o cfg/rf-hr.o cfg/rf-gf.o
 
 iwlwifi-objs           += iwl-dbg-tlv.o
 iwlwifi-objs           += iwl-trans.o
index f9fe7dca9739616fd5037612cb82923664a2f93b..2002b14bb82d61b3a8fdea4c1042037f0cec842e 100644 (file)
@@ -15,9 +15,6 @@
 /* Lowest firmware API version supported */
 #define IWL_AX210_UCODE_API_MIN        77
 
-/* NVM versions */
-#define IWL_AX210_NVM_VERSION          0x0a1d
-
 /* Memory offsets and lengths */
 #define IWL_AX210_SMEM_OFFSET          0x400000
 #define IWL_AX210_SMEM_LEN             0xD0000
@@ -91,19 +88,6 @@ static const struct iwl_family_base_params iwl_ax210_base = {
        .ucode_api_max = IWL_AX210_UCODE_API_MAX,
 };
 
-#define IWL_DEVICE_AX210                                               \
-       .led_mode = IWL_LED_RF_STATE,                                   \
-       .non_shared_ant = ANT_B,                                        \
-       .vht_mu_mimo_supported = true,                                  \
-       .ht_params = {                                                  \
-               .stbc = true,                                           \
-               .ldpc = true,                                           \
-               .ht40_bands = BIT(NL80211_BAND_2GHZ) |                  \
-                             BIT(NL80211_BAND_5GHZ),                   \
-       },                                                              \
-       .nvm_ver = IWL_AX210_NVM_VERSION,                               \
-       .nvm_type = IWL_NVM_EXT
-
 const struct iwl_mac_cfg iwl_so_mac_cfg = {
        .mq_rx_supported = true,
        .gen2 = true,
@@ -169,12 +153,6 @@ const char iwl_ax411_killer_1690i_name[] =
 
 const char iwl_ax210_name[] = "Intel(R) Wi-Fi 6 AX210 160MHz";
 
-const struct iwl_cfg iwl_cfg_ma = {
-       .uhb_supported = true,
-       IWL_DEVICE_AX210,
-       .num_rbds = IWL_NUM_RBDS_HE,
-};
-
 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);
diff --git a/drivers/net/wireless/intel/iwlwifi/cfg/rf-gf.c b/drivers/net/wireless/intel/iwlwifi/cfg/rf-gf.c
new file mode 100644 (file)
index 0000000..36bf7ae
--- /dev/null
@@ -0,0 +1,25 @@
+// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
+/*
+ * Copyright (C) 2015-2017 Intel Deutschland GmbH
+ * Copyright (C) 2018-2025 Intel Corporation
+ */
+#include "iwl-config.h"
+
+/* NVM versions */
+#define IWL_GF_NVM_VERSION             0x0a1d
+
+const struct iwl_cfg iwl_rf_gf = {
+       .uhb_supported = true,
+       .led_mode = IWL_LED_RF_STATE,
+       .non_shared_ant = ANT_B,
+       .vht_mu_mimo_supported = true,
+       .ht_params = {
+               .stbc = true,
+               .ldpc = true,
+               .ht40_bands = BIT(NL80211_BAND_2GHZ) |
+                             BIT(NL80211_BAND_5GHZ),
+       },
+       .nvm_ver = IWL_GF_NVM_VERSION,
+       .nvm_type = IWL_NVM_EXT,
+       .num_rbds = IWL_NUM_RBDS_HE,
+};
index 8da9fedbaee5503dd70d874be90feb53e736c653..fa12e5259bf967fa164b11f3527eb4ca7db30101 100644 (file)
@@ -690,7 +690,7 @@ extern const struct iwl_cfg iwl_rf_hr1;
 extern const struct iwl_cfg iwl_rf_hr;
 extern const struct iwl_cfg iwl_rf_hr_80mhz;
 
-extern const struct iwl_cfg iwl_cfg_ma;
+extern const struct iwl_cfg iwl_rf_gf;
 #endif /* CONFIG_IWLMVM */
 
 #if IS_ENABLED(CONFIG_IWLMLD)
index ef1ca077d89985893e86ea360dffd03686ca1b89..bf2d8db8cfc4fe765f265d4ca7000d61e132286c 100644 (file)
@@ -970,30 +970,30 @@ VISIBLE_IF_IWLWIFI_KUNIT const struct iwl_dev_info iwl_dev_info_table[] = {
                     DEVICE(0x51F0), SUBDEV(0x1552)),
        IWL_DEV_INFO(iwl_rf_jf, iwl9560_killer_1550i_160_name,
                     DEVICE(0x51F0), SUBDEV(0x1551)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax411_killer_1690s_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax411_killer_1690s_name,
                     DEVICE(0x51F0), SUBDEV(0x1691)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax411_killer_1690i_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax411_killer_1690i_name,
                     DEVICE(0x51F0), SUBDEV(0x1692)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax411_killer_1690i_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax411_killer_1690i_name,
                     DEVICE(0x51F1), SUBDEV(0x1692)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax411_killer_1690s_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax411_killer_1690s_name,
                     DEVICE(0x54F0), SUBDEV(0x1691)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax411_killer_1690i_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax411_killer_1690i_name,
                     DEVICE(0x54F0), SUBDEV(0x1692)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax411_killer_1690s_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax411_killer_1690s_name,
                     DEVICE(0x7A70), SUBDEV(0x1691)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax411_killer_1690i_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax411_killer_1690i_name,
                     DEVICE(0x7A70), SUBDEV(0x1692)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax411_killer_1690s_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax411_killer_1690s_name,
                     DEVICE(0x7AF0), SUBDEV(0x1691)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax411_killer_1690i_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax411_killer_1690i_name,
                     DEVICE(0x7AF0), SUBDEV(0x1692)),
 
        IWL_DEV_INFO(iwl_rf_jf, iwl9260_1_name,
                     DEVICE(0x271C), SUBDEV(0x0214)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax411_killer_1690s_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax411_killer_1690s_name,
                     DEVICE(0x7E40), SUBDEV(0x1691)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax411_killer_1690i_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax411_killer_1690i_name,
                     DEVICE(0x7E40), SUBDEV(0x1692)),
 
 /* AX200 */
@@ -1139,57 +1139,57 @@ VISIBLE_IF_IWLWIFI_KUNIT const struct iwl_dev_info iwl_dev_info_table[] = {
                     DEVICE(0x4DF0), SUBDEV(0x6074)),
 
        /* So with HR */
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax211_name,
                     DEVICE(0x2725), SUBDEV(0x0090)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax210_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax210_name,
                     DEVICE(0x2725), SUBDEV(0x0020)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax210_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax210_name,
                     DEVICE(0x2725), SUBDEV(0x2020)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax210_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax210_name,
                     DEVICE(0x2725), SUBDEV(0x0024)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax210_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax210_name,
                     DEVICE(0x2725), SUBDEV(0x0310)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax210_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax210_name,
                     DEVICE(0x2725), SUBDEV(0x0510)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax210_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax210_name,
                     DEVICE(0x2725), SUBDEV(0x0A10)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax210_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax210_name,
                     DEVICE(0x2725), SUBDEV(0xE020)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax210_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax210_name,
                     DEVICE(0x2725), SUBDEV(0xE024)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax210_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax210_name,
                     DEVICE(0x2725), SUBDEV(0x4020)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax210_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax210_name,
                     DEVICE(0x2725), SUBDEV(0x6020)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax210_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax210_name,
                     DEVICE(0x2725), SUBDEV(0x6024)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax210_killer_1675w_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax210_killer_1675w_name,
                     DEVICE(0x2725), SUBDEV(0x1673)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax210_killer_1675x_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax210_killer_1675x_name,
                     DEVICE(0x2725), SUBDEV(0x1674)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax211_name,
                     DEVICE(0x7A70), SUBDEV(0x0090)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax211_name,
                     DEVICE(0x7A70), SUBDEV(0x0098)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax411_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax411_name,
                     DEVICE(0x7A70), SUBDEV(0x00B0)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax211_name,
                     DEVICE(0x7A70), SUBDEV(0x0310)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax211_name,
                     DEVICE(0x7A70), SUBDEV(0x0510)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax211_name,
                     DEVICE(0x7A70), SUBDEV(0x0A10)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax211_name,
                     DEVICE(0x7AF0), SUBDEV(0x0090)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax211_name,
                     DEVICE(0x7AF0), SUBDEV(0x0098)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax411_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax411_name,
                     DEVICE(0x7AF0), SUBDEV(0x00B0)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax211_name,
                     DEVICE(0x7AF0), SUBDEV(0x0310)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax211_name,
                     DEVICE(0x7AF0), SUBDEV(0x0510)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax211_name,
                     DEVICE(0x7AF0), SUBDEV(0x0A10)),
 
        /* So with JF */
@@ -1203,35 +1203,35 @@ VISIBLE_IF_IWLWIFI_KUNIT const struct iwl_dev_info iwl_dev_info_table[] = {
                     DEVICE(0x7AF0), SUBDEV(0x1552)),
 
        /* SO with GF2 */
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_killer_1675s_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax211_killer_1675s_name,
                     DEVICE(0x51F0), SUBDEV(0x1671)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_killer_1675i_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax211_killer_1675i_name,
                     DEVICE(0x51F0), SUBDEV(0x1672)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_killer_1675s_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax211_killer_1675s_name,
                     DEVICE(0x51F1), SUBDEV(0x1671)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_killer_1675i_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax211_killer_1675i_name,
                     DEVICE(0x51F1), SUBDEV(0x1672)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_killer_1675s_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax211_killer_1675s_name,
                     DEVICE(0x54F0), SUBDEV(0x1671)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_killer_1675i_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax211_killer_1675i_name,
                     DEVICE(0x54F0), SUBDEV(0x1672)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_killer_1675s_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax211_killer_1675s_name,
                     DEVICE(0x7A70), SUBDEV(0x1671)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_killer_1675i_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax211_killer_1675i_name,
                     DEVICE(0x7A70), SUBDEV(0x1672)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_killer_1675s_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax211_killer_1675s_name,
                     DEVICE(0x7AF0), SUBDEV(0x1671)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_killer_1675i_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax211_killer_1675i_name,
                     DEVICE(0x7AF0), SUBDEV(0x1672)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_killer_1675s_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax211_killer_1675s_name,
                     DEVICE(0x7F70), SUBDEV(0x1671)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_killer_1675i_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax211_killer_1675i_name,
                     DEVICE(0x7F70), SUBDEV(0x1672)),
 
        /* MA with GF2 */
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_killer_1675s_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax211_killer_1675s_name,
                     DEVICE(0x7E40), SUBDEV(0x1671)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_killer_1675i_name,
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax211_killer_1675i_name,
                     DEVICE(0x7E40), SUBDEV(0x1672)),
 
        IWL_DEV_INFO(iwl_rf_jf, iwl9461_160_name, MAC_TYPE(PU),
@@ -1379,10 +1379,10 @@ VISIBLE_IF_IWLWIFI_KUNIT const struct iwl_dev_info iwl_dev_info_table[] = {
                     MAC_STEP(B), RF_TYPE(HR2), BW_NOT_LIMITED, NO_CDB),
 
 /* Ma */
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax201_name, MAC_TYPE(MA), RF_TYPE(HR2),
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax201_name, MAC_TYPE(MA), RF_TYPE(HR2),
                     NO_CDB),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_name, MAC_TYPE(MA), RF_TYPE(GF)),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax231_name, MAC_TYPE(MA), RF_TYPE(FM),
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax211_name, MAC_TYPE(MA), RF_TYPE(GF)),
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax231_name, MAC_TYPE(MA), RF_TYPE(FM),
                     NO_CDB),
 
 /* So with Hr */
@@ -1405,9 +1405,9 @@ VISIBLE_IF_IWLWIFI_KUNIT const struct iwl_dev_info iwl_dev_info_table[] = {
                     RF_TYPE(HR2), BW_NOT_LIMITED, NO_CDB),
 
 /* So-F with Gf */
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_name, MAC_TYPE(SOF),
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax211_name, MAC_TYPE(SOF),
                     RF_TYPE(GF), BW_NOT_LIMITED, NO_CDB),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax411_name, MAC_TYPE(SOF),
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax411_name, MAC_TYPE(SOF),
                     RF_TYPE(GF), BW_NOT_LIMITED, CDB),
 
 /* SoF with JF2 */
@@ -1427,9 +1427,9 @@ VISIBLE_IF_IWLWIFI_KUNIT const struct iwl_dev_info iwl_dev_info_table[] = {
                     RF_TYPE(JF1), RF_ID(JF1_DIV), BW_LIMITED, CORES(BT), NO_CDB),
 
 /* So with GF */
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax211_name, MAC_TYPE(SO),
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax211_name, MAC_TYPE(SO),
                     RF_TYPE(GF), BW_NOT_LIMITED, NO_CDB),
-       IWL_DEV_INFO(iwl_cfg_ma, iwl_ax411_name, MAC_TYPE(SO),
+       IWL_DEV_INFO(iwl_rf_gf, iwl_ax411_name, MAC_TYPE(SO),
                     RF_TYPE(GF), BW_NOT_LIMITED, CDB),
 
 /* So with JF2 */