From d44eded499582ae4c8edbd9223e1a0e0cfb50520 Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Fri, 10 Aug 2012 13:12:08 -0400 Subject: [PATCH] --- yaml --- r: 329519 b: refs/heads/master c: 95f5a3acfaf6f5672420398e01ca32220b36bb90 h: refs/heads/master i: 329517: 09043d282f71adc9ea52d5cc7dde873ffb79b4f6 329515: 14ae54ff747d8a1af83c07831a9b125265ea2295 329511: 5c70f89621b434b127a34feb85ea2ed2554ff4ab 329503: e06a7b5049247298aa0bb031c3ceceb57ce4aa03 v: v3 --- [refs] | 2 +- trunk/drivers/gpu/drm/radeon/radeon_pm.c | 17 ++++++----------- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/[refs] b/[refs] index 38ab04b7f78c..9e9f032088b5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 62444b7462a2b98bc78d68736c03a7c4e66ba7e2 +refs/heads/master: 95f5a3acfaf6f5672420398e01ca32220b36bb90 diff --git a/trunk/drivers/gpu/drm/radeon/radeon_pm.c b/trunk/drivers/gpu/drm/radeon/radeon_pm.c index 7ae606600107..2c2c901226f4 100644 --- a/trunk/drivers/gpu/drm/radeon/radeon_pm.c +++ b/trunk/drivers/gpu/drm/radeon/radeon_pm.c @@ -253,18 +253,13 @@ static void radeon_pm_set_clocks(struct radeon_device *rdev) down_write(&rdev->pm.mclk_lock); mutex_lock(&rdev->ring_lock); - /* gui idle int has issues on older chips it seems */ - if (rdev->family >= CHIP_R600) { - if (rdev->irq.installed) { - /* wait for GPU to become idle */ - radeon_irq_kms_wait_gui_idle(rdev); - } - } else { - struct radeon_ring *ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX]; - if (ring->ready) { - radeon_fence_wait_empty_locked(rdev, RADEON_RING_TYPE_GFX_INDEX); - } + /* wait for the rings to drain */ + for (i = 0; i < RADEON_NUM_RINGS; i++) { + struct radeon_ring *ring = &rdev->ring[i]; + if (ring->ready) + radeon_fence_wait_empty_locked(rdev, i); } + radeon_unmap_vram_bos(rdev); if (rdev->irq.installed) {