mirror of
https://github.com/torvalds/linux.git
synced 2026-05-29 17:43:52 +02:00
iwlwifi: yoyo: disable IMR DRAM region if IMR is disabled
Disable IMR region if it is enabled in the TLVs, but disabled at runtime by the FW. Signed-off-by: Mukesh Sisodiya <mukesh.sisodiya@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Link: https://lore.kernel.org/r/iwlwifi.20220304131517.2a696656a161.I99705472a8838121ffaca72977015dc2069549b9@changeid Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
This commit is contained in:
parent
8b3d2c4882
commit
5053a45110
|
|
@ -124,6 +124,7 @@ static bool iwl_alive_fn(struct iwl_notif_wait_data *notif_wait,
|
|||
u32 lmac_error_event_table, umac_error_table;
|
||||
u32 version = iwl_fw_lookup_notif_ver(mvm->fw, LEGACY_GROUP,
|
||||
UCODE_ALIVE_NTFY, 0);
|
||||
u32 i;
|
||||
|
||||
if (version == 6) {
|
||||
struct iwl_alive_ntf_v6 *palive;
|
||||
|
|
@ -146,6 +147,28 @@ static bool iwl_alive_fn(struct iwl_notif_wait_data *notif_wait,
|
|||
mvm->trans->dbg.imr_data.imr_enable,
|
||||
mvm->trans->dbg.imr_data.imr_size,
|
||||
le64_to_cpu(mvm->trans->dbg.imr_data.imr_base_addr));
|
||||
|
||||
if (!mvm->trans->dbg.imr_data.imr_enable) {
|
||||
for (i = 0; i < ARRAY_SIZE(mvm->trans->dbg.active_regions); i++) {
|
||||
struct iwl_ucode_tlv *reg_tlv;
|
||||
struct iwl_fw_ini_region_tlv *reg;
|
||||
|
||||
reg_tlv = mvm->trans->dbg.active_regions[i];
|
||||
if (!reg_tlv)
|
||||
continue;
|
||||
|
||||
reg = (void *)reg_tlv->data;
|
||||
/*
|
||||
* We have only one DRAM IMR region, so we
|
||||
* can break as soon as we find the first
|
||||
* one.
|
||||
*/
|
||||
if (reg->type == IWL_FW_INI_REGION_DRAM_IMR) {
|
||||
mvm->trans->dbg.unsupported_region_msk |= BIT(i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (version >= 5) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user