diff options
Diffstat (limited to 'drivers/gpu/drm/radeon/cik.c')
-rw-r--r-- | drivers/gpu/drm/radeon/cik.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c index 2e742a591dfc..bce73b6203ac 100644 --- a/drivers/gpu/drm/radeon/cik.c +++ b/drivers/gpu/drm/radeon/cik.c | |||
@@ -32,6 +32,7 @@ | |||
32 | #include "cik_blit_shaders.h" | 32 | #include "cik_blit_shaders.h" |
33 | #include "radeon_ucode.h" | 33 | #include "radeon_ucode.h" |
34 | #include "clearstate_ci.h" | 34 | #include "clearstate_ci.h" |
35 | #include "radeon_kfd.h" | ||
35 | 36 | ||
36 | MODULE_FIRMWARE("radeon/BONAIRE_pfp.bin"); | 37 | MODULE_FIRMWARE("radeon/BONAIRE_pfp.bin"); |
37 | MODULE_FIRMWARE("radeon/BONAIRE_me.bin"); | 38 | MODULE_FIRMWARE("radeon/BONAIRE_me.bin"); |
@@ -7798,6 +7799,10 @@ restart_ih: | |||
7798 | while (rptr != wptr) { | 7799 | while (rptr != wptr) { |
7799 | /* wptr/rptr are in bytes! */ | 7800 | /* wptr/rptr are in bytes! */ |
7800 | ring_index = rptr / 4; | 7801 | ring_index = rptr / 4; |
7802 | |||
7803 | radeon_kfd_interrupt(rdev, | ||
7804 | (const void *) &rdev->ih.ring[ring_index]); | ||
7805 | |||
7801 | src_id = le32_to_cpu(rdev->ih.ring[ring_index]) & 0xff; | 7806 | src_id = le32_to_cpu(rdev->ih.ring[ring_index]) & 0xff; |
7802 | src_data = le32_to_cpu(rdev->ih.ring[ring_index + 1]) & 0xfffffff; | 7807 | src_data = le32_to_cpu(rdev->ih.ring[ring_index + 1]) & 0xfffffff; |
7803 | ring_id = le32_to_cpu(rdev->ih.ring[ring_index + 2]) & 0xff; | 7808 | ring_id = le32_to_cpu(rdev->ih.ring[ring_index + 2]) & 0xff; |
@@ -8487,6 +8492,10 @@ static int cik_startup(struct radeon_device *rdev) | |||
8487 | if (r) | 8492 | if (r) |
8488 | return r; | 8493 | return r; |
8489 | 8494 | ||
8495 | r = radeon_kfd_resume(rdev); | ||
8496 | if (r) | ||
8497 | return r; | ||
8498 | |||
8490 | return 0; | 8499 | return 0; |
8491 | } | 8500 | } |
8492 | 8501 | ||
@@ -8535,6 +8544,7 @@ int cik_resume(struct radeon_device *rdev) | |||
8535 | */ | 8544 | */ |
8536 | int cik_suspend(struct radeon_device *rdev) | 8545 | int cik_suspend(struct radeon_device *rdev) |
8537 | { | 8546 | { |
8547 | radeon_kfd_suspend(rdev); | ||
8538 | radeon_pm_suspend(rdev); | 8548 | radeon_pm_suspend(rdev); |
8539 | dce6_audio_fini(rdev); | 8549 | dce6_audio_fini(rdev); |
8540 | radeon_vm_manager_fini(rdev); | 8550 | radeon_vm_manager_fini(rdev); |