Commit 7daa0f6b authored by Yang Wang's avatar Yang Wang Committed by Alex Deucher
Browse files

drm/amdgpu: optimize ACA log print



- skip to print CE ACA log.
- optimize ACA log print for MCA.

Signed-off-by: default avatarYang Wang <kevinyang.wang@amd.com>
Reviewed-by: default avatarHawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent ea9d8863
Loading
Loading
Loading
Loading
+20 −1
Original line number Diff line number Diff line
@@ -348,6 +348,24 @@ static bool amdgpu_mca_bank_should_update(struct amdgpu_device *adev, enum amdgp
	return ret;
}

static bool amdgpu_mca_bank_should_dump(struct amdgpu_device *adev, enum amdgpu_mca_error_type type,
					struct mca_bank_entry *entry)
{
	bool ret;

	switch (type) {
	case AMDGPU_MCA_ERROR_TYPE_CE:
		ret = amdgpu_mca_is_deferred_error(adev, entry->regs[MCA_REG_IDX_STATUS]);
		break;
	case AMDGPU_MCA_ERROR_TYPE_UE:
	default:
		ret = true;
		break;
	}

	return ret;
}

static int amdgpu_mca_smu_get_mca_set(struct amdgpu_device *adev, enum amdgpu_mca_error_type type, struct mca_bank_set *mca_set,
				      struct ras_query_context *qctx)
{
@@ -373,6 +391,7 @@ static int amdgpu_mca_smu_get_mca_set(struct amdgpu_device *adev, enum amdgpu_mc

		amdgpu_mca_bank_set_add_entry(mca_set, &entry);

		if (amdgpu_mca_bank_should_dump(adev, type, &entry))
			amdgpu_mca_smu_mca_bank_dump(adev, i, &entry, qctx);
	}