summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/rs780_dpm.c
diff options
context:
space:
mode:
authorAlex Deucher <alexander.deucher@amd.com>2013-09-13 16:55:10 +0200
committerAlex Deucher <alexander.deucher@amd.com>2013-09-16 02:27:50 +0200
commite40210cca98068835acd5a4fe760bf96b3a1aa48 (patch)
tree7c9c97e5bb7a08275b4e0becc125fb090835778e /drivers/gpu/drm/radeon/rs780_dpm.c
parentdrm/radeon/dpm/rs780: add some sanity checking to sclk scaling (diff)
downloadlinux-e40210cca98068835acd5a4fe760bf96b3a1aa48.tar.xz
linux-e40210cca98068835acd5a4fe760bf96b3a1aa48.zip
drm/radeon/dpm/rs780: don't enable sclk scaling if not required
If the low and high sclks are the same, there is no need to enable sclk scaling. This causes display stability issues on certain boards. Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=60857 Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org Reviewed-by: Christian König <christian.koenig@amd.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/rs780_dpm.c')
-rw-r--r--drivers/gpu/drm/radeon/rs780_dpm.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/rs780_dpm.c b/drivers/gpu/drm/radeon/rs780_dpm.c
index 31487ce294cf..eb336bf5a54e 100644
--- a/drivers/gpu/drm/radeon/rs780_dpm.c
+++ b/drivers/gpu/drm/radeon/rs780_dpm.c
@@ -499,6 +499,9 @@ static void rs780_activate_engine_clk_scaling(struct radeon_device *rdev,
(new_state->sclk_low == old_state->sclk_low))
return;
+ if (new_state->sclk_high == new_state->sclk_low)
+ return;
+
rs780_clk_scaling_enable(rdev, true);
}