aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/radeon_pm.c
diff options
context:
space:
mode:
authorChristian König <deathsimple@vodafone.de>2012-05-09 09:34:45 -0400
committerDave Airlie <airlied@redhat.com>2012-05-09 12:22:14 -0400
commitd6999bc7b5f4b4554ebba5b48377903fa20198db (patch)
tree6dc61cf64362c4682d2bed9d591d8677376af795 /drivers/gpu/drm/radeon/radeon_pm.c
parent133f4cb3365ef8e57c4837ffbe15de74684f6e19 (diff)
drm/radeon: replace the per ring mutex with a global one
A single global mutex for ring submissions seems sufficient. Signed-off-by: Christian König <deathsimple@vodafone.de> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_pm.c')
-rw-r--r--drivers/gpu/drm/radeon/radeon_pm.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_pm.c b/drivers/gpu/drm/radeon/radeon_pm.c
index caa55d68f319..7c3874589e3b 100644
--- a/drivers/gpu/drm/radeon/radeon_pm.c
+++ b/drivers/gpu/drm/radeon/radeon_pm.c
@@ -252,10 +252,7 @@ static void radeon_pm_set_clocks(struct radeon_device *rdev)
252 252
253 mutex_lock(&rdev->ddev->struct_mutex); 253 mutex_lock(&rdev->ddev->struct_mutex);
254 mutex_lock(&rdev->vram_mutex); 254 mutex_lock(&rdev->vram_mutex);
255 for (i = 0; i < RADEON_NUM_RINGS; ++i) { 255 mutex_lock(&rdev->ring_lock);
256 if (rdev->ring[i].ring_obj)
257 mutex_lock(&rdev->ring[i].mutex);
258 }
259 256
260 /* gui idle int has issues on older chips it seems */ 257 /* gui idle int has issues on older chips it seems */
261 if (rdev->family >= CHIP_R600) { 258 if (rdev->family >= CHIP_R600) {
@@ -311,10 +308,7 @@ static void radeon_pm_set_clocks(struct radeon_device *rdev)
311 308
312 rdev->pm.dynpm_planned_action = DYNPM_ACTION_NONE; 309 rdev->pm.dynpm_planned_action = DYNPM_ACTION_NONE;
313 310
314 for (i = 0; i < RADEON_NUM_RINGS; ++i) { 311 mutex_unlock(&rdev->ring_lock);
315 if (rdev->ring[i].ring_obj)
316 mutex_unlock(&rdev->ring[i].mutex);
317 }
318 mutex_unlock(&rdev->vram_mutex); 312 mutex_unlock(&rdev->vram_mutex);
319 mutex_unlock(&rdev->ddev->struct_mutex); 313 mutex_unlock(&rdev->ddev->struct_mutex);
320} 314}