diff options
| author | Miri Korenblit <[email protected]> | 2024-12-26 15:44:49 +0000 |
|---|---|---|
| committer | Johannes Berg <[email protected]> | 2025-01-13 13:00:54 +0000 |
| commit | b1e8102a4048003097c7054cbc00bbda91a5ced7 (patch) | |
| tree | 4128bd4a91e3d1b88c021c926fb39304cc467c2c /drivers/net/wireless/intel/iwlwifi/fw/regulatory.c | |
| parent | wifi: iwlwifi: support BIOS override for UNII4 in CA/US also in LARI versions... (diff) | |
| download | kernel-b1e8102a4048003097c7054cbc00bbda91a5ced7.tar.gz kernel-b1e8102a4048003097c7054cbc00bbda91a5ced7.zip | |
wifi: iwlwifi: support BIOS override for 5G9 in CA also in LARI version 8
Commit 6b3e87cc0ca5 ("iwlwifi: Add support for LARI_CONFIG_CHANGE_CMD
cmd v9")
added a few bits to iwl_lari_config_change_cmd::oem_unii4_allow_bitmap
if the FW has LARI version >= 9.
But we also need to send those bits for version 8 if the FW is capable
of this feature (indicated with capability bits)
Add the FW capability bit, and set the additional bits in the cmd when
the version is 8 and the FW capability bit is set.
Signed-off-by: Miri Korenblit <[email protected]>
Reviewed-by: Johannes Berg <[email protected]>
Link: https://patch.msgid.link/20241226174257.dc5836f84514.I1e38f94465a36731034c94b9811de10cb6ee5921@changeid
Signed-off-by: Johannes Berg <[email protected]>
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/fw/regulatory.c')
| -rw-r--r-- | drivers/net/wireless/intel/iwlwifi/fw/regulatory.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/fw/regulatory.c b/drivers/net/wireless/intel/iwlwifi/fw/regulatory.c index 5e655adce926..4b5eeff4a140 100644 --- a/drivers/net/wireless/intel/iwlwifi/fw/regulatory.c +++ b/drivers/net/wireless/intel/iwlwifi/fw/regulatory.c @@ -552,10 +552,16 @@ int iwl_fill_lari_config(struct iwl_fw_runtime *fwrt, ret = iwl_bios_get_dsm(fwrt, DSM_FUNC_ENABLE_UNII4_CHAN, &value); if (!ret) { - if (cmd_ver < 9) - value &= DSM_UNII4_ALLOW_BITMAP_CMD_V8; - else - value &= DSM_UNII4_ALLOW_BITMAP; + value &= DSM_UNII4_ALLOW_BITMAP; + + /* Since version 9, bits 4 and 5 are supported + * regardless of this capability. + */ + if (cmd_ver < 9 && + !fw_has_capa(&fwrt->fw->ucode_capa, + IWL_UCODE_TLV_CAPA_BIOS_OVERRIDE_5G9_FOR_CA)) + value &= ~(DSM_VALUE_UNII4_CANADA_OVERRIDE_MSK | + DSM_VALUE_UNII4_CANADA_EN_MSK); cmd->oem_unii4_allow_bitmap = cpu_to_le32(value); } |
