aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
diff options
context:
space:
mode:
authorAlex Deucher <alexander.deucher@amd.com>2018-01-18 19:05:36 -0500
committerAlex Deucher <alexander.deucher@amd.com>2018-02-19 14:18:16 -0500
commit9950cda2a0187314c3cd6a86415ab9050074c5f8 (patch)
tree914f0f1660b69eff416a5924292cc035bb90e823 /drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
parent04f618eb3b81ac20daea791766e9f4cb71f1f32b (diff)
drm/amdgpu: drop the drm irq pre/post/un install callbacks
The preinstall callback didn't do anything because not all of the IPs were initialized when it was called. Move the postinstall setup into sequence in the driver. The uninstall callback disabled all interrupt source, but it got called too late in the driver sequence and caused problems with IPs who already freed the relevant data structures. Move the call into the right place in the driver sequence. Acked-by: Christian König <christian.koenig@amd.com> Acked-by: Harry Wentland <harry.wentland@amd.com> Tested-By: Mikita Lipski <mikita.lipski@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_device.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_device.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index 113c92d562c3..309977ef5b51 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -1483,6 +1483,9 @@ static int amdgpu_device_ip_fini(struct amdgpu_device *adev)
1483 adev->ip_blocks[i].status.hw = false; 1483 adev->ip_blocks[i].status.hw = false;
1484 } 1484 }
1485 1485
1486 /* disable all interrupts */
1487 amdgpu_irq_disable_all(adev);
1488
1486 for (i = adev->num_ip_blocks - 1; i >= 0; i--) { 1489 for (i = adev->num_ip_blocks - 1; i >= 0; i--) {
1487 if (!adev->ip_blocks[i].status.sw) 1490 if (!adev->ip_blocks[i].status.sw)
1488 continue; 1491 continue;