summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/intel/iwlwifi/fw/regulatory.c
diff options
context:
space:
mode:
authorAnjaneyulu <pagadala.yesu.anjaneyulu@intel.com>2024-12-26 17:44:55 +0200
committerJohannes Berg <johannes.berg@intel.com>2025-01-13 14:00:55 +0100
commit01c0e9c804413563c71fb2f74b040c212ee2efe3 (patch)
treedc5a649f98fad7d546af4b010d771f76db6e00a6 /drivers/net/wireless/intel/iwlwifi/fw/regulatory.c
parent1532c5d67d97cacbe83dd9b7f74b8844ee42b2e6 (diff)
wifi: iwlwifi: mvm: add UHB canada support in TAS_CONFIG cmd
extend TAS table support to revision 2 for getting UHB canada enablement from BIOS and send to firmware via TAS_CONFIG cmd based on firmware capability. While on it fixed kernel-doc for struct iwl_tas_config_cmd_v4. Signed-off-by: Anjaneyulu <pagadala.yesu.anjaneyulu@intel.com> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20241226174257.0b1d92ad59b8.Ib80f8514a64fc2800a2a20131e730c2bd9c4c4af@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/fw/regulatory.c')
-rw-r--r--drivers/net/wireless/intel/iwlwifi/fw/regulatory.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/fw/regulatory.c b/drivers/net/wireless/intel/iwlwifi/fw/regulatory.c
index 4b5eeff4a140..c89ff380b86d 100644
--- a/drivers/net/wireless/intel/iwlwifi/fw/regulatory.c
+++ b/drivers/net/wireless/intel/iwlwifi/fw/regulatory.c
@@ -426,10 +426,12 @@ IWL_EXPORT_SYMBOL(iwl_is_tas_approved);
int iwl_parse_tas_selection(struct iwl_fw_runtime *fwrt,
struct iwl_tas_data *tas_data,
- const u32 tas_selection)
+ const u32 tas_selection, u8 tbl_rev)
{
u8 override_iec = u32_get_bits(tas_selection,
IWL_WTAS_OVERRIDE_IEC_MSK);
+ u8 canada_tas_uhb = u32_get_bits(tas_selection,
+ IWL_WTAS_CANADA_UHB_MSK);
u8 enabled_iec = u32_get_bits(tas_selection, IWL_WTAS_ENABLE_IEC_MSK);
u8 usa_tas_uhb = u32_get_bits(tas_selection, IWL_WTAS_USA_UHB_MSK);
int enabled = tas_selection & IWL_WTAS_ENABLED_MSK;
@@ -441,6 +443,9 @@ int iwl_parse_tas_selection(struct iwl_fw_runtime *fwrt,
tas_data->override_tas_iec = override_iec;
tas_data->enable_tas_iec = enabled_iec;
+ if (tbl_rev > 1)
+ tas_data->canada_tas_uhb_allowed = canada_tas_uhb;
+
return enabled;
}