summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_cper.c6
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_device.c6
2 files changed, 8 insertions, 4 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cper.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cper.c
index 8805381e19b9..20c474a32852 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cper.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cper.c
@@ -538,6 +538,9 @@ static int amdgpu_cper_ring_init(struct amdgpu_device *adev)
int amdgpu_cper_init(struct amdgpu_device *adev)
{
+ if (!amdgpu_aca_is_enabled(adev))
+ return 0;
+
mutex_init(&adev->cper.cper_lock);
adev->cper.enabled = true;
@@ -548,6 +551,9 @@ int amdgpu_cper_init(struct amdgpu_device *adev)
int amdgpu_cper_fini(struct amdgpu_device *adev)
{
+ if (!amdgpu_aca_is_enabled(adev))
+ return 0;
+
adev->cper.enabled = false;
amdgpu_ring_fini(&(adev->cper.ring_buf));
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index 5aa0b4032291..38260ffac6ee 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -3091,8 +3091,7 @@ static int amdgpu_device_ip_init(struct amdgpu_device *adev)
amdgpu_fru_get_product_info(adev);
- if (amdgpu_aca_is_enabled(adev))
- r = amdgpu_cper_init(adev);
+ r = amdgpu_cper_init(adev);
init_failed:
@@ -3454,8 +3453,7 @@ static int amdgpu_device_ip_fini(struct amdgpu_device *adev)
{
int i, r;
- if (amdgpu_aca_is_enabled(adev))
- amdgpu_cper_fini(adev);
+ amdgpu_cper_fini(adev);
if (amdgpu_sriov_vf(adev) && adev->virt.ras_init_done)
amdgpu_virt_release_ras_err_handler_data(adev);