Commit 9d1b073d authored by Candice Li's avatar Candice Li Committed by Alex Deucher
Browse files

drm/amdgpu: Enable GFX RAS feature for gfx v11_0_3



v1: Support gfx ras feature enablement for gfx v11_0_3.
v2: Update function name and error message.

Signed-off-by: default avatarCandice Li <candice.li@amd.com>
Reviewed-by: default avatarHawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 0645b7a6
Loading
Loading
Loading
Loading
+26 −0
Original line number Diff line number Diff line
@@ -4673,6 +4673,26 @@ static int gfx_v11_0_early_init(void *handle)
	return 0;
}

static int gfx_v11_0_ras_late_init(void *handle)
{
	struct amdgpu_device *adev = (struct amdgpu_device *)handle;
	struct ras_common_if *gfx_common_if;
	int ret;

	gfx_common_if = kzalloc(sizeof(struct ras_common_if), GFP_KERNEL);
	if (!gfx_common_if)
		return -ENOMEM;

	gfx_common_if->block = AMDGPU_RAS_BLOCK__GFX;

	ret = amdgpu_ras_feature_enable(adev, gfx_common_if, true);
	if (ret)
		dev_err(adev->dev, "Failed to enable gfx11 ras feature\n");

	kfree(gfx_common_if);
	return ret;
}

static int gfx_v11_0_late_init(void *handle)
{
	struct amdgpu_device *adev = (struct amdgpu_device *)handle;
@@ -4686,6 +4706,12 @@ static int gfx_v11_0_late_init(void *handle)
	if (r)
		return r;

	if (adev->ip_versions[GC_HWIP][0] == IP_VERSION(11, 0, 3)) {
		r = gfx_v11_0_ras_late_init(handle);
		if (r)
			return r;
	}

	return 0;
}