Commit 5226cecb authored by Mordechay Goodstein's avatar Mordechay Goodstein Committed by Luca Coelho
Browse files

iwlwifi: mvm: add IML/ROM information for other HW families

parent e5d153ec
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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
+19 −5
Original line number Diff line number Diff line
@@ -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,7 +543,6 @@ 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_fw_error_print_fseq_regs(&mvm->fwrt);