drm/radeon/dpm: disable mclk switching on desktop RV770
authorAlex Deucher <alexander.deucher@amd.com>
Tue, 7 Jan 2014 18:51:51 +0000 (13:51 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Feb 2014 21:50:18 +0000 (13:50 -0800)
commit 8097d94116d0c17e774ba4c8256e774018dc2a46 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/radeon/rv770_dpm.c

index 374499db20c7e59b55d956b066a30bdc42b4f71f..a239b30aaf9df114fb1ea8d308a4fb1bca8b8d56 100644 (file)
@@ -2531,6 +2531,12 @@ bool rv770_dpm_vblank_too_short(struct radeon_device *rdev)
            (rdev->pdev->subsystem_device == 0x1c42))
                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)
                return true;
        else