summaryrefslogtreecommitdiff
path: root/sys/dev/pci/drm/radeon_cp.c
diff options
context:
space:
mode:
authorOwain Ainsworth <oga@cvs.openbsd.org>2008-11-26 00:11:40 +0000
committerOwain Ainsworth <oga@cvs.openbsd.org>2008-11-26 00:11:40 +0000
commit00ccc24aadaa9e7a9862fcf5c6c4125afb4ffddb (patch)
treef9600cb8403c21ede867f72310df91ac4d9a0390 /sys/dev/pci/drm/radeon_cp.c
parent86cc70dd341402eb2fe570ead93d2bd065bb8d08 (diff)
Zero the surface when we free them. stops some state problems which cause
corruption on second X start on some machines. This driver is really quite dumb.
Diffstat (limited to 'sys/dev/pci/drm/radeon_cp.c')
-rw-r--r--sys/dev/pci/drm/radeon_cp.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/pci/drm/radeon_cp.c b/sys/dev/pci/drm/radeon_cp.c
index 0ebf75e429d..c0aee885d47 100644
--- a/sys/dev/pci/drm/radeon_cp.c
+++ b/sys/dev/pci/drm/radeon_cp.c
@@ -328,7 +328,7 @@ radeon_init_pipes(drm_radeon_private_t *dev_priv)
dev_priv->num_gb_pipes = 1;
}
}
- DRM_INFO("Num pipes: %d\n", dev_priv->num_gb_pipes);
+ DRM_DEBUG("Num pipes: %d\n", dev_priv->num_gb_pipes);
gb_tile_config = (R300_ENABLE_TILING | R300_TILE_SIZE_16 /*| R300_SUBPIXEL_1_16*/);
@@ -1485,6 +1485,7 @@ radeon_do_release(struct drm_device *dev)
RADEON_WRITE(RADEON_SURFACE0_INFO + 16 * i, 0);
RADEON_WRITE(RADEON_SURFACE0_LOWER_BOUND + 16 * i, 0);
RADEON_WRITE(RADEON_SURFACE0_UPPER_BOUND + 16 * i, 0);
+ bzero(&dev_priv->surfaces[i], sizeof(struct radeon_surface));
}
/* Free memory heap structures */