diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2010-04-29 16:14:02 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-05-18 04:21:38 -0400 |
commit | 4f3218cbc34f4ffd88f4b3ea0d2f6999aea7b3e6 (patch) | |
tree | 7c60209262c0e9fcd4a39e44847dba484f1aba70 | |
parent | f4b7fb94c576265ceffc43031805ade32fa80c6a (diff) |
drm/radeon/kms: re-enable gui idle interrupts on r6xx+
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_pm.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_pm.c b/drivers/gpu/drm/radeon/radeon_pm.c index 2eb675e78440..bded834afa5d 100644 --- a/drivers/gpu/drm/radeon/radeon_pm.c +++ b/drivers/gpu/drm/radeon/radeon_pm.c | |||
@@ -64,17 +64,19 @@ static void radeon_pm_set_clocks(struct radeon_device *rdev, int static_switch) | |||
64 | mutex_lock(&rdev->ddev->struct_mutex); | 64 | mutex_lock(&rdev->ddev->struct_mutex); |
65 | mutex_lock(&rdev->vram_mutex); | 65 | mutex_lock(&rdev->vram_mutex); |
66 | mutex_lock(&rdev->cp.mutex); | 66 | mutex_lock(&rdev->cp.mutex); |
67 | #if 0 | 67 | |
68 | /* wait for GPU idle */ | 68 | /* gui idle int has issues on older chips it seems */ |
69 | rdev->pm.gui_idle = false; | 69 | if (rdev->family >= CHIP_R600) { |
70 | rdev->irq.gui_idle = true; | 70 | /* wait for GPU idle */ |
71 | radeon_irq_set(rdev); | 71 | rdev->pm.gui_idle = false; |
72 | wait_event_interruptible_timeout( | 72 | rdev->irq.gui_idle = true; |
73 | rdev->irq.idle_queue, rdev->pm.gui_idle, | 73 | radeon_irq_set(rdev); |
74 | msecs_to_jiffies(RADEON_WAIT_IDLE_TIMEOUT)); | 74 | wait_event_interruptible_timeout( |
75 | rdev->irq.gui_idle = false; | 75 | rdev->irq.idle_queue, rdev->pm.gui_idle, |
76 | radeon_irq_set(rdev); | 76 | msecs_to_jiffies(RADEON_WAIT_IDLE_TIMEOUT)); |
77 | #endif | 77 | rdev->irq.gui_idle = false; |
78 | radeon_irq_set(rdev); | ||
79 | } | ||
78 | radeon_unmap_vram_bos(rdev); | 80 | radeon_unmap_vram_bos(rdev); |
79 | 81 | ||
80 | if (!static_switch) { | 82 | if (!static_switch) { |