summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/amdgpu/ci_dpm.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-05-26 08:54:06 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2017-05-26 08:54:06 -0700
commit876ca8f3d0855043833602b9da9d1470f2a7e03f (patch)
tree45542d04dc8009e9fd24344c5cd63bf66d302935 /drivers/gpu/drm/amd/amdgpu/ci_dpm.c
parent83b4605b0c16cde5b00c8cf192408d51eab75402 (diff)
parentbc1f0e04da20473d6fea4444b0cd9ac638a348d5 (diff)
Merge tag 'drm-fixes-for-v4.12-rc3' of git://people.freedesktop.org/~airlied/linux
Pull drm fixes from Dave Airlie: "Not a whole lot happening here, a set of amdgpu fixes and one core deadlock fix, and some misc drivers fixes" * tag 'drm-fixes-for-v4.12-rc3' of git://people.freedesktop.org/~airlied/linux: drm/amdgpu: fix null point error when rmmod amdgpu. drm/amd/powerplay: fix a signedness bugs drm/amdgpu: fix NULL pointer panic of emit_gds_switch drm/radeon: Unbreak HPD handling for r600+ drm/amd/powerplay/smu7: disable mclk switching for high refresh rates drm/amd/powerplay/smu7: add vblank check for mclk switching (v2) drm/radeon/ci: disable mclk switching for high refresh rates (v2) drm/amdgpu/ci: disable mclk switching for high refresh rates (v2) drm/amdgpu: fix fundamental suspend/resume issue drm/gma500/psb: Actually use VBT mode when it is found drm: Fix deadlock retry loop in page_flip_ioctl drm: qxl: Delay entering atomic context during cursor update drm/radeon: Fix oops upon driver load on PowerXpress laptops
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/ci_dpm.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/ci_dpm.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/ci_dpm.c b/drivers/gpu/drm/amd/amdgpu/ci_dpm.c
index 6dc1410b380f..ec93714e4524 100644
--- a/drivers/gpu/drm/amd/amdgpu/ci_dpm.c
+++ b/drivers/gpu/drm/amd/amdgpu/ci_dpm.c
@@ -906,6 +906,12 @@ static bool ci_dpm_vblank_too_short(struct amdgpu_device *adev)
u32 vblank_time = amdgpu_dpm_get_vblank_time(adev);
u32 switch_limit = adev->mc.vram_type == AMDGPU_VRAM_TYPE_GDDR5 ? 450 : 300;
+ /* disable mclk switching if the refresh is >120Hz, even if the
+ * blanking period would allow it
+ */
+ if (amdgpu_dpm_get_vrefresh(adev) > 120)
+ return true;
+
if (vblank_time < switch_limit)
return true;
else