summaryrefslogtreecommitdiffstats
path: root/sys/dev/drm/radeon_cp.c
diff options
context:
space:
mode:
authorrnoland <rnoland@FreeBSD.org>2009-04-03 19:21:39 +0000
committerrnoland <rnoland@FreeBSD.org>2009-04-03 19:21:39 +0000
commitc5caf6772ff28d4227073a2ce6786da938f18f78 (patch)
treee201bb289f4088c08b1ec4c1fa700bc2b219eb0c /sys/dev/drm/radeon_cp.c
parentd2fcac0ee269d1860c774a5ecf65296ce9417c84 (diff)
downloadFreeBSD-src-c5caf6772ff28d4227073a2ce6786da938f18f78.zip
FreeBSD-src-c5caf6772ff28d4227073a2ce6786da938f18f78.tar.gz
A little more cleanup from AMD, if we don't have the right microcode
there is no reason to mess with the chip. MFC after: 3 days
Diffstat (limited to 'sys/dev/drm/radeon_cp.c')
-rw-r--r--sys/dev/drm/radeon_cp.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/dev/drm/radeon_cp.c b/sys/dev/drm/radeon_cp.c
index 5ac8e67..1687012 100644
--- a/sys/dev/drm/radeon_cp.c
+++ b/sys/dev/drm/radeon_cp.c
@@ -460,9 +460,6 @@ static void radeon_cp_load_microcode(drm_radeon_private_t * dev_priv)
DRM_DEBUG("\n");
- radeon_do_wait_for_idle(dev_priv);
-
- RADEON_WRITE(RADEON_CP_ME_RAM_ADDR, 0);
switch (dev_priv->flags & RADEON_FAMILY_MASK) {
case CHIP_R100:
case CHIP_RV100:
@@ -516,6 +513,10 @@ static void radeon_cp_load_microcode(drm_radeon_private_t * dev_priv)
return;
}
+ radeon_do_wait_for_idle(dev_priv);
+
+ RADEON_WRITE(RADEON_CP_ME_RAM_ADDR, 0);
+
for (i = 0; i != 256; i++) {
RADEON_WRITE(RADEON_CP_ME_RAM_DATAH, cp[i][1]);
RADEON_WRITE(RADEON_CP_ME_RAM_DATAL, cp[i][0]);
OpenPOWER on IntegriCloud