diff options
author | Dave Airlie <airlied@starflyer.(none)> | 2005-09-30 03:09:07 -0400 |
---|---|---|
committer | Dave Airlie <airlied@linux.ie> | 2005-09-30 03:09:07 -0400 |
commit | 689b9d74b1c00e1316fbb7d1e912fe1227fdb1ab (patch) | |
tree | 46d53c2d2ecb31d3db08f034052106030a9d8046 | |
parent | b6ce156c415544f900e031890c78eba8bc92f9b3 (diff) |
drm: add option to force writeback off.
In order to get some better debugging from people about certain hangs/crashes
we need to be able to turn AGP writeback off permanently...
Signed-off-by: Dave Airlie <airlied@linux.ie>
-rw-r--r-- | drivers/char/drm/radeon_cp.c | 4 | ||||
-rw-r--r-- | drivers/char/drm/radeon_drv.c | 5 | ||||
-rw-r--r-- | drivers/char/drm/radeon_drv.h | 1 |
3 files changed, 10 insertions, 0 deletions
diff --git a/drivers/char/drm/radeon_cp.c b/drivers/char/drm/radeon_cp.c index 447bfbe0da8a..e64d680899f5 100644 --- a/drivers/char/drm/radeon_cp.c +++ b/drivers/char/drm/radeon_cp.c | |||
@@ -1205,6 +1205,10 @@ static void radeon_cp_init_ring_buffer(drm_device_t * dev, | |||
1205 | dev_priv->writeback_works = 0; | 1205 | dev_priv->writeback_works = 0; |
1206 | DRM_DEBUG("writeback test failed\n"); | 1206 | DRM_DEBUG("writeback test failed\n"); |
1207 | } | 1207 | } |
1208 | if (radeon_no_wb == 1) { | ||
1209 | dev_priv->writeback_works = 0; | ||
1210 | DRM_DEBUG("writeback forced off\n"); | ||
1211 | } | ||
1208 | 1212 | ||
1209 | dev_priv->sarea_priv->last_frame = dev_priv->scratch[0] = 0; | 1213 | dev_priv->sarea_priv->last_frame = dev_priv->scratch[0] = 0; |
1210 | RADEON_WRITE(RADEON_LAST_FRAME_REG, dev_priv->sarea_priv->last_frame); | 1214 | RADEON_WRITE(RADEON_LAST_FRAME_REG, dev_priv->sarea_priv->last_frame); |
diff --git a/drivers/char/drm/radeon_drv.c b/drivers/char/drm/radeon_drv.c index 6c1766120c10..7074d01ed1dd 100644 --- a/drivers/char/drm/radeon_drv.c +++ b/drivers/char/drm/radeon_drv.c | |||
@@ -37,6 +37,11 @@ | |||
37 | 37 | ||
38 | #include "drm_pciids.h" | 38 | #include "drm_pciids.h" |
39 | 39 | ||
40 | int radeon_no_wb; | ||
41 | |||
42 | MODULE_PARM_DESC(no_wb, "Disable AGP writeback for scratch registers\n"); | ||
43 | module_param_named(no_wb, radeon_no_wb, int, 0444); | ||
44 | |||
40 | static int postinit(struct drm_device *dev, unsigned long flags) | 45 | static int postinit(struct drm_device *dev, unsigned long flags) |
41 | { | 46 | { |
42 | DRM_INFO("Initialized %s %d.%d.%d %s on minor %d: %s\n", | 47 | DRM_INFO("Initialized %s %d.%d.%d %s on minor %d: %s\n", |
diff --git a/drivers/char/drm/radeon_drv.h b/drivers/char/drm/radeon_drv.h index e36076981d1a..3c7473488665 100644 --- a/drivers/char/drm/radeon_drv.h +++ b/drivers/char/drm/radeon_drv.h | |||
@@ -281,6 +281,7 @@ typedef struct drm_radeon_buf_priv { | |||
281 | u32 age; | 281 | u32 age; |
282 | } drm_radeon_buf_priv_t; | 282 | } drm_radeon_buf_priv_t; |
283 | 283 | ||
284 | extern int radeon_no_wb; | ||
284 | /* radeon_cp.c */ | 285 | /* radeon_cp.c */ |
285 | extern int radeon_cp_init(DRM_IOCTL_ARGS); | 286 | extern int radeon_cp_init(DRM_IOCTL_ARGS); |
286 | extern int radeon_cp_start(DRM_IOCTL_ARGS); | 287 | extern int radeon_cp_start(DRM_IOCTL_ARGS); |