drm/radeon/evergreen+: wait for the MC to settle after MC blackout
authorAlex Deucher <alexander.deucher@amd.com>
Thu, 31 Jan 2013 14:00:52 +0000 (09:00 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 11 Feb 2013 16:16:47 +0000 (08:16 -0800)
commit ed39fadd6df01095378e499fac3674883f16b853 upstream.

Some chips seem to need a little delay after blacking out
the MC before the requests actually stop.

May fix:
https://bugs.freedesktop.org/show_bug.cgi?id=56139
https://bugs.freedesktop.org/show_bug.cgi?id=57567

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/radeon/evergreen.c

index 314e2172a884eb6ab249501921a7ad114a32da69..a75d290b4f96b9f22497f9263b188ac8fe0f0b16 100644 (file)
@@ -1065,6 +1065,8 @@ void evergreen_mc_stop(struct radeon_device *rdev, struct evergreen_mc_save *sav
                WREG32(EVERGREEN_D5VGA_CONTROL, 0);
                WREG32(EVERGREEN_D6VGA_CONTROL, 0);
        }
+       /* wait for the MC to settle */
+       udelay(100);
 }
 
 void evergreen_mc_resume(struct radeon_device *rdev, struct evergreen_mc_save *save)