Index: shared-core/radeon_cp.c =================================================================== RCS file: /cvs/dri/drm/shared-core/radeon_cp.c,v retrieving revision 1.76 diff -p -u -r1.76 radeon_cp.c --- shared-core/radeon_cp.c 18 May 2006 07:32:37 -0000 1.76 +++ shared-core/radeon_cp.c 14 Jun 2006 08:46:39 -0000 @@ -1258,6 +1280,12 @@ static void radeon_test_writeback(drm_ra dev_priv->writeback_works = 0; DRM_INFO("writeback forced off\n"); } + + if (!dev_priv->writeback_works) { + /* Disable writeback to avoid unnecessary bus master transfers */ + RADEON_WRITE(RADEON_CP_RB_CNTL, RADEON_READ(RADEON_CP_RB_CNTL) | RADEON_RB_NO_UPDATE); + RADEON_WRITE(RADEON_SCRATCH_UMSK, 0); + } } /* Enable or disable PCI-E GART on the chip */ Index: shared-core/radeon_drv.h =================================================================== RCS file: /cvs/dri/drm/shared-core/radeon_drv.h,v retrieving revision 1.71 diff -p -u -r1.71 radeon_drv.h --- shared-core/radeon_drv.h 24 May 2006 18:36:24 -0000 1.71 +++ shared-core/radeon_drv.h 14 Jun 2006 08:46:40 -0000 @@ -679,6 +686,7 @@ extern int r300_do_cp_cmdbuf(drm_device_ #define RADEON_CP_RB_BASE 0x0700 #define RADEON_CP_RB_CNTL 0x0704 # define RADEON_BUF_SWAP_32BIT (2 << 16) +# define RADEON_RB_NO_UPDATE (1 << 27) #define RADEON_CP_RB_RPTR_ADDR 0x070c #define RADEON_CP_RB_RPTR 0x0710 #define RADEON_CP_RB_WPTR 0x0714