FAILED: patch "[PATCH] iwlwifi: pcie: handle switching killer Qu B0 NICs to C0" failed to apply to 5.2-stable tree
Subsystems (2)
[email protected]
maintainerThe patch below does not apply to the 5.2-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From b9500577d361522a3d9f14da8cf41dc1d824904e Mon Sep 17 00:00:00 2001
From: Luca Coelho <[email protected]>
Date: Wed, 21 Aug 2019 20:17:32 +0300
Subject: [PATCH] iwlwifi: pcie: handle switching killer Qu B0 NICs to C0
We need to use a different firmware for C0 versions of killer Qu NICs. Add structures for them and handle them in the if block that detects C0 revisions.
Additionally, instead of having an inclusive check for QnJ devices, make the selection exclusive, so that switching to QnJ is the exception, not the default. This prevents us from having to add all the non-QnJ cards to an exclusion list. To do so, only go into the QnJ block if the device has an RF ID type HR and HW revision QnJ.
drivers/net/wireless/intel/iwlwifi/cfg/22000.c +24 -0
@@ -556,6 +556,30 @@ const struct iwl_cfg killer1650i_2ax_cfg_qu_b0_hr_b0 = { .max_tx_agg_size = IEEE80211_MAX_AMPDU_BUF_HT, }; +const struct iwl_cfg killer1650s_2ax_cfg_qu_c0_hr_b0 = { + .name ="Killer(R) Wi-Fi 6 AX1650i 160MHz Wireless Network Adapter (201NGW)" , + .fw_name_pre =IWL_QU_C_HR_B_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 , +}; + +const struct iwl_cfg killer1650i_2ax_cfg_qu_c0_hr_b0 = { + .name ="Killer(R) Wi-Fi 6 AX1650s 160MHz Wireless Network Adapter (201D2W)" , + .fw_name_pre =IWL_QU_C_HR_B_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 , +}; +const struct iwl_cfg iwl22000_2ax_cfg_jf = { .name ="Intel(R) Dual Band Wireless AX 22000" , .fw_name_pre =IWL_QU_B_JF_B_FW_PRE ,
drivers/net/wireless/intel/iwlwifi/iwl-config.h +2 -0
@@ -577,6 +577,8 @@ extern const struct iwl_cfg iwl_ax1650i_cfg_quz_hr;extern const struct iwl_cfg iwl_ax1650s_cfg_quz_hr;extern const struct iwl_cfg killer1650s_2ax_cfg_qu_b0_hr_b0;extern const struct iwl_cfg killer1650i_2ax_cfg_qu_b0_hr_b0; +extern const struct iwl_cfg killer1650s_2ax_cfg_qu_c0_hr_b0; +extern const struct iwl_cfg killer1650i_2ax_cfg_qu_c0_hr_b0;extern const struct iwl_cfg killer1650x_2ax_cfg;extern const struct iwl_cfg killer1650w_2ax_cfg;extern const struct iwl_cfg iwl9461_2ac_cfg_qu_b0_jf_b0;
drivers/net/wireless/intel/iwlwifi/pcie/drv.c +4 -0
@@ -1062,6 +1062,10 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) iwl_trans->cfg = &iwl9560_2ac_cfg_qu_c0_jf_b0; else if (iwl_trans->cfg == &iwl9560_2ac_160_cfg_qu_b0_jf_b0) iwl_trans->cfg = &iwl9560_2ac_160_cfg_qu_c0_jf_b0; + else if (iwl_trans->cfg == &killer1650s_2ax_cfg_qu_b0_hr_b0) + iwl_trans->cfg = &killer1650s_2ax_cfg_qu_c0_hr_b0; + else if (iwl_trans->cfg == &killer1650i_2ax_cfg_qu_b0_hr_b0) + iwl_trans->cfg = &killer1650i_2ax_cfg_qu_c0_hr_b0; }/* same thing for QuZ... */
drivers/net/wireless/intel/iwlwifi/pcie/trans.c +1 -6
@@ -3602,12 +3602,7 @@ struct iwl_trans *iwl_trans_pcie_alloc(struct pci_dev *pdev, } }else if (CSR_HW_RF_ID_TYPE_CHIP_ID (trans->hw_rf_id) ==CSR_HW_RF_ID_TYPE_CHIP_ID (CSR_HW_RF_ID_TYPE_HR ) && - ((trans->cfg != &iwl_ax200_cfg_cc && - trans->cfg != &iwl_ax201_cfg_qu_hr && - trans->cfg != &killer1650x_2ax_cfg && - trans->cfg != &killer1650w_2ax_cfg && - trans->cfg != &iwl_ax201_cfg_quz_hr) || - trans->hw_rev ==CSR_HW_REV_TYPE_QNJ_B0 )) { + trans->hw_rev ==CSR_HW_REV_TYPE_QNJ_B0 ) {u32 hw_status; hw_status =iwl_read_prph (trans,UMAG_GEN_HW_STATUS );
Sasha Levin
maintainerQuoted 5 lines · On Tue, Sep 03, 2019 at 08:58:14PM +0200, [email protected] wrote:
The patch below does not apply to the 5.2-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
There are quite a few dependencies here - it looks like a few other stable tagged commits didn't make it to 5.2 and this one depends on them. I've fixed it up by taking:
d151b0a2efa12 ("iwlwifi: add new cards for 22000 and fix struct name") a976bfb44bdbc ("iwlwifi: add new cards for 22000 and change wrong structs") ffcb60a54f245 ("iwlwifi: add new cards for 9000 and 20000 series") 658521fc1bf14 ("iwlwifi: change 0x02F0 fw from qu to quz") a7d544d631200 ("iwlwifi: pcie: add support for qu c-step devices") 17e40e6979aaf ("iwlwifi: pcie: don't switch FW to qnj when ax201 is detected") b9500577d3615 ("iwlwifi: pcie: handle switching killer Qu B0 NICs to C0")
--
Thanks,
Sasha
Quoted 10 lines · Sasha Levin
Quoted 4 lines · On Tue, Sep 03, 2019 at 08:58:14PM +0200, [email protected] wrote:
The patch below does not apply to the 5.2-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.There are quite a few dependencies here - it looks like a few other stable tagged commits didn't make it to 5.2 and this one depends on them. I've fixed it up by taking:
Quoted 7 lines
d151b0a2efa12("iwlwifi: add new cards for 22000 and fix struct name")a976bfb44bdbc("iwlwifi: add new cards for 22000 and change wrong structs")ffcb60a54f245("iwlwifi: add new cards for 9000 and 20000 series")658521fc1bf14("iwlwifi: change0x02F0fw from qu to quz")a7d544d631200("iwlwifi: pcie: add support for qu c-step devices")17e40e6979aaf("iwlwifi: pcie: don't switch FW to qnj when ax201 is detected")b9500577d3615("iwlwifi: pcie: handle switching killer Qu B0 NICs to C0")
Thanks, Sasha!
This list looks good. There is one or two more patches that need to be taken to v5.2, but I'll wait till these ones make it into linux-5.2.y so I can rebase them on top of it.
--
Cheers,
Luca.