aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/char/drm/radeon_cp.c4
-rw-r--r--drivers/char/drm/radeon_drv.c5
-rw-r--r--drivers/char/drm/radeon_drv.h1
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
40int radeon_no_wb;
41
42MODULE_PARM_DESC(no_wb, "Disable AGP writeback for scratch registers\n");
43module_param_named(no_wb, radeon_no_wb, int, 0444);
44
40static int postinit(struct drm_device *dev, unsigned long flags) 45static 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
284extern int radeon_no_wb;
284 /* radeon_cp.c */ 285 /* radeon_cp.c */
285extern int radeon_cp_init(DRM_IOCTL_ARGS); 286extern int radeon_cp_init(DRM_IOCTL_ARGS);
286extern int radeon_cp_start(DRM_IOCTL_ARGS); 287extern int radeon_cp_start(DRM_IOCTL_ARGS);