Commit 22e1d14f authored by Hawking Zhang's avatar Hawking Zhang Committed by Alex Deucher
Browse files

drm/amdgpu: switch to amdgpu_ras_late_init for nbio v7_4 (v2)



call helper function in late init phase to handle ras init
for nbio ip block

v2: init local var r to 0 in case the function return failure
on asics that don't have ras_late_init implementation

Signed-off-by: default avatarHawking Zhang <Hawking.Zhang@amd.com>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Reviewed-by: default avatarTao Zhou <tao.zhou1@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 9ad1dc29
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -1215,11 +1215,15 @@ static int soc15_common_early_init(void *handle)
static int soc15_common_late_init(void *handle)
{
	struct amdgpu_device *adev = (struct amdgpu_device *)handle;
	int r = 0;

	if (amdgpu_sriov_vf(adev))
		xgpu_ai_mailbox_get_irq(adev);

	return 0;
	if (adev->nbio.funcs->ras_late_init)
		r = adev->nbio.funcs->ras_late_init(adev);

	return r;
}

static int soc15_common_sw_init(void *handle)
@@ -1296,6 +1300,13 @@ static int soc15_common_hw_fini(void *handle)
	if (amdgpu_sriov_vf(adev))
		xgpu_ai_mailbox_put_irq(adev);

	if (amdgpu_ras_is_supported(adev, adev->nbio.ras_if->block)) {
		if (adev->nbio.funcs->init_ras_controller_interrupt)
			amdgpu_irq_put(adev, &adev->nbio.ras_controller_irq, 0);
		if (adev->nbio.funcs->init_ras_err_event_athub_interrupt)
			amdgpu_irq_put(adev, &adev->nbio.ras_err_event_athub_irq, 0);
	}

	return 0;
}