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)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 31 Jan 2013 14:03:22 +0000 (09:03 -0500)
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>
Cc: stable@vger.kernel.org
drivers/gpu/drm/radeon/evergreen.c

index 2270867d8551d7cc2d27a1f500a212f0d58c94db..a2d478e8692a0ea4e0bf0300164c400045b4c655 100644 (file)
@@ -1349,6 +1349,8 @@ void evergreen_mc_stop(struct radeon_device *rdev, struct evergreen_mc_save *sav
                blackout &= ~BLACKOUT_MODE_MASK;
                WREG32(MC_SHARED_BLACKOUT_CNTL, blackout | 1);
        }
+       /* wait for the MC to settle */
+       udelay(100);
 }
 
 void evergreen_mc_resume(struct radeon_device *rdev, struct evergreen_mc_save *save)