mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
wifi: iwlwifi: disable EHT if the device doesn't allow it
We have a few devices that don't allow EHT. Make sure we reflect this towards mac80211 so that we won't try to enable it. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20251019114304.71121f4e5557.I49e2329d4121f9e52d0889156d0c3e8778e27d88@changeid
This commit is contained in:
committed by
Miri Korenblit
parent
0d0e8149c6
commit
7ed47d4294
@@ -19,6 +19,7 @@
|
|||||||
.non_shared_ant = ANT_B, \
|
.non_shared_ant = ANT_B, \
|
||||||
.vht_mu_mimo_supported = true, \
|
.vht_mu_mimo_supported = true, \
|
||||||
.uhb_supported = true, \
|
.uhb_supported = true, \
|
||||||
|
.eht_supported = true, \
|
||||||
.num_rbds = IWL_NUM_RBDS_EHT, \
|
.num_rbds = IWL_NUM_RBDS_EHT, \
|
||||||
.nvm_ver = IWL_FM_NVM_VERSION, \
|
.nvm_ver = IWL_FM_NVM_VERSION, \
|
||||||
.nvm_type = IWL_NVM_EXT
|
.nvm_type = IWL_NVM_EXT
|
||||||
|
|||||||
@@ -4,8 +4,31 @@
|
|||||||
*/
|
*/
|
||||||
#include "iwl-config.h"
|
#include "iwl-config.h"
|
||||||
|
|
||||||
|
/* NVM versions */
|
||||||
|
#define IWL_WH_NVM_VERSION 0x0a1d
|
||||||
|
|
||||||
|
#define IWL_DEVICE_WH \
|
||||||
|
.ht_params = { \
|
||||||
|
.stbc = true, \
|
||||||
|
.ldpc = true, \
|
||||||
|
.ht40_bands = BIT(NL80211_BAND_2GHZ) | \
|
||||||
|
BIT(NL80211_BAND_5GHZ), \
|
||||||
|
}, \
|
||||||
|
.led_mode = IWL_LED_RF_STATE, \
|
||||||
|
.non_shared_ant = ANT_B, \
|
||||||
|
.vht_mu_mimo_supported = true, \
|
||||||
|
.uhb_supported = true, \
|
||||||
|
.num_rbds = IWL_NUM_RBDS_EHT, \
|
||||||
|
.nvm_ver = IWL_WH_NVM_VERSION, \
|
||||||
|
.nvm_type = IWL_NVM_EXT
|
||||||
|
|
||||||
/* currently iwl_rf_wh/iwl_rf_wh_160mhz are just defines for the FM ones */
|
/* currently iwl_rf_wh/iwl_rf_wh_160mhz are just defines for the FM ones */
|
||||||
|
|
||||||
|
const struct iwl_rf_cfg iwl_rf_wh_non_eht = {
|
||||||
|
IWL_DEVICE_WH,
|
||||||
|
.eht_supported = false,
|
||||||
|
};
|
||||||
|
|
||||||
const char iwl_killer_be1775s_name[] =
|
const char iwl_killer_be1775s_name[] =
|
||||||
"Killer(R) Wi-Fi 7 BE1775s 320MHz Wireless Network Adapter (BE211D2W)";
|
"Killer(R) Wi-Fi 7 BE1775s 320MHz Wireless Network Adapter (BE211D2W)";
|
||||||
const char iwl_killer_be1775i_name[] =
|
const char iwl_killer_be1775i_name[] =
|
||||||
|
|||||||
@@ -416,6 +416,7 @@ struct iwl_mac_cfg {
|
|||||||
* @vht_mu_mimo_supported: VHT MU-MIMO support
|
* @vht_mu_mimo_supported: VHT MU-MIMO support
|
||||||
* @nvm_type: see &enum iwl_nvm_type
|
* @nvm_type: see &enum iwl_nvm_type
|
||||||
* @uhb_supported: ultra high band channels supported
|
* @uhb_supported: ultra high band channels supported
|
||||||
|
* @eht_supported: EHT supported
|
||||||
* @num_rbds: number of receive buffer descriptors to use
|
* @num_rbds: number of receive buffer descriptors to use
|
||||||
* (only used for multi-queue capable devices)
|
* (only used for multi-queue capable devices)
|
||||||
*
|
*
|
||||||
@@ -448,7 +449,8 @@ struct iwl_rf_cfg {
|
|||||||
host_interrupt_operation_mode:1,
|
host_interrupt_operation_mode:1,
|
||||||
lp_xtal_workaround:1,
|
lp_xtal_workaround:1,
|
||||||
vht_mu_mimo_supported:1,
|
vht_mu_mimo_supported:1,
|
||||||
uhb_supported:1;
|
uhb_supported:1,
|
||||||
|
eht_supported:1;
|
||||||
u8 valid_tx_ant;
|
u8 valid_tx_ant;
|
||||||
u8 valid_rx_ant;
|
u8 valid_rx_ant;
|
||||||
u8 non_shared_ant;
|
u8 non_shared_ant;
|
||||||
@@ -742,6 +744,7 @@ extern const struct iwl_rf_cfg iwl_rf_fm;
|
|||||||
extern const struct iwl_rf_cfg iwl_rf_fm_160mhz;
|
extern const struct iwl_rf_cfg iwl_rf_fm_160mhz;
|
||||||
#define iwl_rf_wh iwl_rf_fm
|
#define iwl_rf_wh iwl_rf_fm
|
||||||
#define iwl_rf_wh_160mhz iwl_rf_fm_160mhz
|
#define iwl_rf_wh_160mhz iwl_rf_fm_160mhz
|
||||||
|
extern const struct iwl_rf_cfg iwl_rf_wh_non_eht;
|
||||||
#define iwl_rf_pe iwl_rf_fm
|
#define iwl_rf_pe iwl_rf_fm
|
||||||
#endif /* CONFIG_IWLMLD */
|
#endif /* CONFIG_IWLMLD */
|
||||||
|
|
||||||
|
|||||||
@@ -2080,7 +2080,7 @@ struct iwl_nvm_data *iwl_get_nvm(struct iwl_trans *trans,
|
|||||||
!!(mac_flags & NVM_MAC_SKU_FLAGS_BAND_5_2_ENABLED);
|
!!(mac_flags & NVM_MAC_SKU_FLAGS_BAND_5_2_ENABLED);
|
||||||
nvm->sku_cap_mimo_disabled =
|
nvm->sku_cap_mimo_disabled =
|
||||||
!!(mac_flags & NVM_MAC_SKU_FLAGS_MIMO_DISABLED);
|
!!(mac_flags & NVM_MAC_SKU_FLAGS_MIMO_DISABLED);
|
||||||
if (CSR_HW_RFID_TYPE(trans->info.hw_rf_id) >= IWL_CFG_RF_TYPE_FM)
|
if (trans->cfg->eht_supported)
|
||||||
nvm->sku_cap_11be_enable = true;
|
nvm->sku_cap_11be_enable = true;
|
||||||
|
|
||||||
/* Initialize PHY sku data */
|
/* Initialize PHY sku data */
|
||||||
|
|||||||
@@ -1061,8 +1061,10 @@ VISIBLE_IF_IWLWIFI_KUNIT const struct iwl_dev_info iwl_dev_info_table[] = {
|
|||||||
|
|
||||||
/* WH RF */
|
/* WH RF */
|
||||||
IWL_DEV_INFO(iwl_rf_wh, iwl_be211_name, RF_TYPE(WH)),
|
IWL_DEV_INFO(iwl_rf_wh, iwl_be211_name, RF_TYPE(WH)),
|
||||||
IWL_DEV_INFO(iwl_rf_wh, iwl_ax221_name, RF_TYPE(WH), SUBDEV(0x0514)),
|
IWL_DEV_INFO(iwl_rf_wh_non_eht, iwl_ax221_name, RF_TYPE(WH),
|
||||||
IWL_DEV_INFO(iwl_rf_wh, iwl_ax221_name, RF_TYPE(WH), SUBDEV(0x4514)),
|
SUBDEV(0x0514)),
|
||||||
|
IWL_DEV_INFO(iwl_rf_wh_non_eht, iwl_ax221_name, RF_TYPE(WH),
|
||||||
|
SUBDEV(0x4514)),
|
||||||
IWL_DEV_INFO(iwl_rf_wh_160mhz, iwl_be213_name, RF_TYPE(WH), BW_LIMITED),
|
IWL_DEV_INFO(iwl_rf_wh_160mhz, iwl_be213_name, RF_TYPE(WH), BW_LIMITED),
|
||||||
|
|
||||||
/* PE RF */
|
/* PE RF */
|
||||||
|
|||||||
Reference in New Issue
Block a user