iwlwifi: mvm: add IML/ROM information for other HW families
This makes it easier to debug IML/ROM errors for other HW families as well. Signed-off-by: Mordechay Goodstein <mordechay.goodstein@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Link: https://lore.kernel.org/r/iwlwifi.20210131201907.4a802b308a0f.I77855abbf6dc1a6edf9c914f3313a87bd78de4df@changeid Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
This commit is contained in:
parent
e5d153ec54
commit
5226cecbc6
|
@ -359,6 +359,7 @@ enum {
|
|||
/* device family 22000 WPROT register */
|
||||
#define PREG_PRPH_WPROT_22000 0xA04D00
|
||||
|
||||
#define SB_MODIFY_CFG_FLAG 0xA03088
|
||||
#define SB_CPU_1_STATUS 0xA01E30
|
||||
#define SB_CPU_2_STATUS 0xA01E34
|
||||
#define UMAG_SB_CPU_1_STATUS 0xA038C0
|
||||
|
|
|
@ -499,18 +499,33 @@ static void iwl_mvm_dump_lmac_error_log(struct iwl_mvm *mvm, u8 lmac_num)
|
|||
static void iwl_mvm_dump_iml_error_log(struct iwl_mvm *mvm)
|
||||
{
|
||||
struct iwl_trans *trans = mvm->trans;
|
||||
u32 error;
|
||||
u32 error, data1;
|
||||
|
||||
if (mvm->trans->trans_cfg->device_family >= IWL_DEVICE_FAMILY_22000) {
|
||||
error = UMAG_SB_CPU_2_STATUS;
|
||||
data1 = UMAG_SB_CPU_1_STATUS;
|
||||
} else if (mvm->trans->trans_cfg->device_family >=
|
||||
IWL_DEVICE_FAMILY_8000) {
|
||||
error = SB_CPU_2_STATUS;
|
||||
data1 = SB_CPU_1_STATUS;
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
|
||||
error = iwl_read_umac_prph(trans, UMAG_SB_CPU_2_STATUS);
|
||||
|
||||
IWL_ERR(trans, "IML/ROM dump:\n");
|
||||
|
||||
if (error & 0xFFFF0000)
|
||||
IWL_ERR(trans, "IML/ROM SYSASSERT:\n");
|
||||
IWL_ERR(trans, "0x%04X | IML/ROM SYSASSERT\n", error >> 16);
|
||||
|
||||
IWL_ERR(mvm, "0x%08X | IML/ROM error/state\n", error);
|
||||
IWL_ERR(mvm, "0x%08X | IML/ROM data1\n",
|
||||
iwl_read_umac_prph(trans, UMAG_SB_CPU_1_STATUS));
|
||||
iwl_read_umac_prph(trans, data1));
|
||||
|
||||
if (mvm->trans->trans_cfg->device_family >= IWL_DEVICE_FAMILY_22000)
|
||||
IWL_ERR(mvm, "0x%08X | IML/ROM WFPM_AUTH_KEY_0\n",
|
||||
iwl_read_umac_prph(trans, SB_MODIFY_CFG_FLAG));
|
||||
}
|
||||
|
||||
void iwl_mvm_dump_nic_error_log(struct iwl_mvm *mvm)
|
||||
|
@ -528,8 +543,7 @@ void iwl_mvm_dump_nic_error_log(struct iwl_mvm *mvm)
|
|||
|
||||
iwl_mvm_dump_umac_error_log(mvm);
|
||||
|
||||
if (mvm->trans->trans_cfg->device_family >= IWL_DEVICE_FAMILY_AX210)
|
||||
iwl_mvm_dump_iml_error_log(mvm);
|
||||
iwl_mvm_dump_iml_error_log(mvm);
|
||||
|
||||
iwl_fw_error_print_fseq_regs(&mvm->fwrt);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue