wifi: iwlwifi: nvm: Update EHT capabilities for GL device
authorAbhishek Naik <abhishek.naik@intel.com>
Tue, 22 Nov 2022 20:10:41 +0000 (22:10 +0200)
committerGregory Greenman <gregory.greenman@intel.com>
Mon, 28 Nov 2022 15:53:35 +0000 (17:53 +0200)
Update EHT MAC and PHY capabilities for GL device
for station and softap interface.
Add relevant code in nvm_fixup_sband_iftd.

Signed-off-by: Abhishek Naik <abhishek.naik@intel.com>
Link: https://lore.kernel.org/r/20221122220713.1da816ab7ffc.Ief570e27007c9e2ad3a97bee4b074e2fc1c75bae@changeid
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c

index 3a646bce7b42690f5861584651ee393e5b719f4c..476b90f32626cdf41509fb6ff98563d8c6a9514e 100644 (file)
@@ -950,6 +950,29 @@ iwl_nvm_fixup_sband_iftd(struct iwl_trans *trans,
                break;
        }
 
+       if (CSR_HW_REV_TYPE(trans->hw_rev) == IWL_CFG_MAC_TYPE_GL &&
+           iftype_data->eht_cap.has_eht) {
+               iftype_data->eht_cap.eht_cap_elem.mac_cap_info[0] &=
+                       ~(IEEE80211_EHT_MAC_CAP0_EPCS_PRIO_ACCESS |
+                         IEEE80211_EHT_MAC_CAP0_TRIG_TXOP_SHARING_MODE1 |
+                         IEEE80211_EHT_MAC_CAP0_TRIG_TXOP_SHARING_MODE2);
+               iftype_data->eht_cap.eht_cap_elem.phy_cap_info[3] &=
+                       ~(IEEE80211_EHT_PHY_CAP0_PARTIAL_BW_UL_MU_MIMO |
+                         IEEE80211_EHT_PHY_CAP3_NG_16_SU_FEEDBACK |
+                         IEEE80211_EHT_PHY_CAP3_NG_16_MU_FEEDBACK |
+                         IEEE80211_EHT_PHY_CAP3_CODEBOOK_4_2_SU_FDBK |
+                         IEEE80211_EHT_PHY_CAP3_CODEBOOK_7_5_MU_FDBK |
+                         IEEE80211_EHT_PHY_CAP3_TRIG_MU_BF_PART_BW_FDBK);
+               iftype_data->eht_cap.eht_cap_elem.phy_cap_info[4] &=
+                       ~(IEEE80211_EHT_PHY_CAP4_PART_BW_DL_MU_MIMO |
+                         IEEE80211_EHT_PHY_CAP4_POWER_BOOST_FACT_SUPP);
+               iftype_data->eht_cap.eht_cap_elem.phy_cap_info[5] &=
+                       ~IEEE80211_EHT_PHY_CAP5_NON_TRIG_CQI_FEEDBACK;
+               iftype_data->eht_cap.eht_cap_elem.phy_cap_info[6] &=
+                       ~(IEEE80211_EHT_PHY_CAP6_MCS15_SUPP_MASK |
+                         IEEE80211_EHT_PHY_CAP6_EHT_DUP_6GHZ_SUPP);
+       }
+
        if (fw_has_capa(&fw->ucode_capa, IWL_UCODE_TLV_CAPA_BROADCAST_TWT))
                iftype_data->he_cap.he_cap_elem.mac_cap_info[2] |=
                        IEEE80211_HE_MAC_CAP2_BCAST_TWT;