summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/si_dpm.c
diff options
context:
space:
mode:
authorAlex Deucher <alexander.deucher@amd.com>2013-07-08 18:15:11 +0200
committerAlex Deucher <alexander.deucher@amd.com>2013-07-08 23:41:11 +0200
commitf4dec31861e938267d41a962f145edc7d81c8e92 (patch)
tree897575f0e233182232512d0eecf9d7d36d88b55a /drivers/gpu/drm/radeon/si_dpm.c
parentdrm/radeon/dpm: implement vblank_too_short callback for cayman (diff)
downloadlinux-f4dec31861e938267d41a962f145edc7d81c8e92.tar.xz
linux-f4dec31861e938267d41a962f145edc7d81c8e92.zip
drm/radeon/dpm: implement vblank_too_short callback for si
Check if we can switch the mclk during the vblank time otherwise we may get artifacts on the screen when the mclk changes. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/si_dpm.c')
-rw-r--r--drivers/gpu/drm/radeon/si_dpm.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/si_dpm.c b/drivers/gpu/drm/radeon/si_dpm.c
index 700a167be369..73aaa2e4c312 100644
--- a/drivers/gpu/drm/radeon/si_dpm.c
+++ b/drivers/gpu/drm/radeon/si_dpm.c
@@ -2906,7 +2906,8 @@ static void si_apply_state_adjust_rules(struct radeon_device *rdev,
u16 vddc, vddci;
int i;
- if (rdev->pm.dpm.new_active_crtc_count > 1)
+ if ((rdev->pm.dpm.new_active_crtc_count > 1) ||
+ ni_dpm_vblank_too_short(rdev))
disable_mclk_switching = true;
else
disable_mclk_switching = false;