iwlwifi: move AX200 devices to the new table
authorLuca Coelho <luciano.coelho@intel.com>
Mon, 9 Mar 2020 07:16:19 +0000 (09:16 +0200)
committerLuca Coelho <luciano.coelho@intel.com>
Tue, 17 Mar 2020 19:10:47 +0000 (21:10 +0200)
Move the AX200 devices to the new table and add the appropriate cfg
struct and strings.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20200309091348.fdfa5f31b8b1.Idfd28829d9f3820de06d3bba8fa66048b8d0d0b0@changeid
drivers/net/wireless/intel/iwlwifi/cfg/22000.c
drivers/net/wireless/intel/iwlwifi/iwl-config.h
drivers/net/wireless/intel/iwlwifi/pcie/drv.c

index a22a830019c08d5c8bba5ad406a595f43c522571..53568bbcf214a8a41a500127128655e757aa6706 100644 (file)
@@ -246,6 +246,23 @@ static const struct iwl_ht_params iwl_22000_ht_params = {
 #define IWL_NUM_RBDS_22000_HE          2048
 #define IWL_NUM_RBDS_AX210_HE          4096
 
+const struct iwl_cfg_trans_params iwl_ax200_trans_cfg = {
+       .device_family = IWL_DEVICE_FAMILY_22000,
+       .base_params = &iwl_22000_base_params,
+       .mq_rx_supported = true,
+       .use_tfh = true,
+       .rf_id = true,
+       .gen2 = true,
+       .bisr_workaround = 1,
+};
+
+const char iwl_ax200_name[] = "Intel(R) Wi-Fi 6 AX200 160MHz";
+
+const char iwl_ax200_killer_1650w_name[] =
+       "Killer(R) Wi-Fi 6 AX1650w 160MHz Wireless Network Adapter (200D2W)";
+const char iwl_ax200_killer_1650x_name[] =
+       "Killer(R) Wi-Fi 6 AX1650x 160MHz Wireless Network Adapter (200NGW)";
+
 const struct iwl_cfg iwl_ax101_cfg_qu_hr = {
        .name = "Intel(R) Wi-Fi 6 AX101",
        .fw_name_pre = IWL_22000_QU_B_HR_B_FW_PRE,
@@ -352,35 +369,6 @@ const struct iwl_cfg iwl_ax1650i_cfg_quz_hr = {
 };
 
 const struct iwl_cfg iwl_ax200_cfg_cc = {
-       .name = "Intel(R) Wi-Fi 6 AX200 160MHz",
-       .fw_name_pre = IWL_CC_A_FW_PRE,
-       IWL_DEVICE_22500,
-       /*
-        * This device doesn't support receiving BlockAck with a large bitmap
-        * so we need to restrict the size of transmitted aggregation to the
-        * HT size; mac80211 would otherwise pick the HE max (256) by default.
-        */
-       .max_tx_agg_size = IEEE80211_MAX_AMPDU_BUF_HT,
-       .trans.bisr_workaround = 1,
-       .num_rbds = IWL_NUM_RBDS_22000_HE,
-};
-
-const struct iwl_cfg killer1650x_2ax_cfg = {
-       .name = "Killer(R) Wi-Fi 6 AX1650x 160MHz Wireless Network Adapter (200NGW)",
-       .fw_name_pre = IWL_CC_A_FW_PRE,
-       IWL_DEVICE_22500,
-       /*
-        * This device doesn't support receiving BlockAck with a large bitmap
-        * so we need to restrict the size of transmitted aggregation to the
-        * HT size; mac80211 would otherwise pick the HE max (256) by default.
-        */
-       .max_tx_agg_size = IEEE80211_MAX_AMPDU_BUF_HT,
-       .trans.bisr_workaround = 1,
-       .num_rbds = IWL_NUM_RBDS_22000_HE,
-};
-
-const struct iwl_cfg killer1650w_2ax_cfg = {
-       .name = "Killer(R) Wi-Fi 6 AX1650w 160MHz Wireless Network Adapter (200D2W)",
        .fw_name_pre = IWL_CC_A_FW_PRE,
        IWL_DEVICE_22500,
        /*
@@ -389,7 +377,6 @@ const struct iwl_cfg killer1650w_2ax_cfg = {
         * HT size; mac80211 would otherwise pick the HE max (256) by default.
         */
        .max_tx_agg_size = IEEE80211_MAX_AMPDU_BUF_HT,
-       .trans.bisr_workaround = 1,
        .num_rbds = IWL_NUM_RBDS_22000_HE,
 };
 
index d406155b311ee47f4542862f203d6b1092eec93b..dc32ccf95be50802722aed3deff3ab36d6112a8f 100644 (file)
@@ -496,6 +496,7 @@ struct iwl_dev_info {
  * This list declares the config structures for all devices.
  */
 extern const struct iwl_cfg_trans_params iwl9000_trans_cfg;
+extern const struct iwl_cfg_trans_params iwl_ax200_trans_cfg;
 extern const char iwl9162_name[];
 extern const char iwl9260_name[];
 extern const char iwl9260_1_name[];
@@ -512,6 +513,9 @@ extern const char iwl9560_160_name[];
 extern const char iwl9260_killer_1550_name[];
 extern const char iwl9560_killer_1550i_name[];
 extern const char iwl9560_killer_1550s_name[];
+extern const char iwl_ax200_name[];
+extern const char iwl_ax200_killer_1650w_name[];
+extern const char iwl_ax200_killer_1650x_name[];
 
 #if IS_ENABLED(CONFIG_IWLDVM)
 extern const struct iwl_cfg iwl5300_agn_cfg;
index 95b2096b8030f4071bd416984386fab667021676..5413e80f86bb0c9031d4557db43581e14631e2ae 100644 (file)
@@ -710,6 +710,8 @@ static const struct pci_device_id iwl_hw_card_ids[] = {
        {IWL_PCI_DEVICE(0x2720, 0x0030, iwl9560_2ac_cfg_qnj_jf_b0)},
 
 /* 22000 Series */
+       {IWL_PCI_DEVICE(0x2723, PCI_ANY_ID, iwl_ax200_trans_cfg)},
+
        {IWL_PCI_DEVICE(0x02F0, 0x0070, iwl_ax201_cfg_quz_hr)},
        {IWL_PCI_DEVICE(0x02F0, 0x0074, iwl_ax201_cfg_quz_hr)},
        {IWL_PCI_DEVICE(0x02F0, 0x0078, iwl_ax201_cfg_quz_hr)},
@@ -784,16 +786,6 @@ static const struct pci_device_id iwl_hw_card_ids[] = {
        {IWL_PCI_DEVICE(0xA0F0, 0x4070, iwl_ax201_cfg_qu_hr)},
        {IWL_PCI_DEVICE(0xA0F0, 0x4244, iwl_ax101_cfg_qu_hr)},
 
-       {IWL_PCI_DEVICE(0x2723, 0x0080, iwl_ax200_cfg_cc)},
-       {IWL_PCI_DEVICE(0x2723, 0x0084, iwl_ax200_cfg_cc)},
-       {IWL_PCI_DEVICE(0x2723, 0x0088, iwl_ax200_cfg_cc)},
-       {IWL_PCI_DEVICE(0x2723, 0x008C, iwl_ax200_cfg_cc)},
-       {IWL_PCI_DEVICE(0x2723, 0x1653, killer1650w_2ax_cfg)},
-       {IWL_PCI_DEVICE(0x2723, 0x1654, killer1650x_2ax_cfg)},
-       {IWL_PCI_DEVICE(0x2723, 0x2080, iwl_ax200_cfg_cc)},
-       {IWL_PCI_DEVICE(0x2723, 0x4080, iwl_ax200_cfg_cc)},
-       {IWL_PCI_DEVICE(0x2723, 0x4088, iwl_ax200_cfg_cc)},
-
        {IWL_PCI_DEVICE(0x2725, 0x0090, iwlax211_2ax_cfg_so_gf_a0)},
        {IWL_PCI_DEVICE(0x2725, 0x0020, iwlax210_2ax_cfg_ty_gf_a0)},
        {IWL_PCI_DEVICE(0x2725, 0x0310, iwlax210_2ax_cfg_ty_gf_a0)},
@@ -827,6 +819,7 @@ MODULE_DEVICE_TABLE(pci, iwl_hw_card_ids);
 
 static const struct iwl_dev_info iwl_dev_info_table[] = {
 #if IS_ENABLED(CONFIG_IWLMVM)
+/* 9000 */
        IWL_DEV_INFO(0x2526, 0x1550, iwl9260_2ac_cfg, iwl9260_killer_1550_name),
        IWL_DEV_INFO(0x2526, 0x1551, iwl9560_2ac_cfg_soc, iwl9560_killer_1550s_name),
        IWL_DEV_INFO(0x2526, 0x1552, iwl9560_2ac_cfg_soc, iwl9560_killer_1550i_name),
@@ -941,6 +934,12 @@ static const struct iwl_dev_info iwl_dev_info_table[] = {
                      IWL_CFG_MAC_TYPE_TH, IWL_CFG_RF_TYPE_TH, IWL_CFG_ANY,
                      IWL_CFG_NO_160, IWL_CFG_CORES_BT,
                      iwl9260_2ac_cfg, iwl9260_name),
+
+/* AX200 */
+       IWL_DEV_INFO(0x2723, 0x1653, iwl_ax200_cfg_cc, iwl_ax200_killer_1650w_name),
+       IWL_DEV_INFO(0x2723, 0x1654, iwl_ax200_cfg_cc, iwl_ax200_killer_1650x_name),
+       IWL_DEV_INFO(0x2723, IWL_CFG_ANY, iwl_ax200_cfg_cc, iwl_ax200_name),
+
 #endif /* CONFIG_IWLMVM */
 };