Explorar o código

drm/radeon/dpm: disable mclk switching on desktop RV770

Mclk switching doesn't seem to work reliably on these
cards.  Most RV770 boards specify the same mclk for all
performance levels anyway so in most cases, this has
no affect.

Bug:
https://bugs.freedesktop.org/show_bug.cgi?id=73067

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
Alex Deucher %!s(int64=12) %!d(string=hai) anos
pai
achega
8097d94116
Modificáronse 1 ficheiros con 6 adicións e 0 borrados
  1. 6 0
      drivers/gpu/drm/radeon/rv770_dpm.c

+ 6 - 0
drivers/gpu/drm/radeon/rv770_dpm.c

@@ -2536,6 +2536,12 @@ bool rv770_dpm_vblank_too_short(struct radeon_device *rdev)
 	    (rdev->pdev->subsystem_device == 0x1c42))
 	    (rdev->pdev->subsystem_device == 0x1c42))
 		switch_limit = 200;
 		switch_limit = 200;
 
 
+	/* RV770 */
+	/* mclk switching doesn't seem to work reliably on desktop RV770s */
+	if ((rdev->family == CHIP_RV770) &&
+	    !(rdev->flags & RADEON_IS_MOBILITY))
+		switch_limit = 0xffffffff; /* disable mclk switching */
+
 	if (vblank_time < switch_limit)
 	if (vblank_time < switch_limit)
 		return true;
 		return true;
 	else
 	else