summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--linux-core/radeon_buffer.c3
-rw-r--r--shared-core/radeon_cs.c3
2 files changed, 2 insertions, 4 deletions
diff --git a/linux-core/radeon_buffer.c b/linux-core/radeon_buffer.c
index 5b2ba42f..fe2aa6fd 100644
--- a/linux-core/radeon_buffer.c
+++ b/linux-core/radeon_buffer.c
@@ -407,9 +407,6 @@ int radeon_move(struct drm_buffer_object * bo,
if (new_mem->mem_type == DRM_BO_MEM_VRAM) {
if (radeon_move_vram(bo, evict, no_wait, new_mem))
goto fallback;
- } else if (new_mem->mem_type == DRM_BO_MEM_LOCAL){
- if (radeon_move_flip(bo, evict, no_wait, new_mem))
- goto fallback;
} else {
if (radeon_move_flip(bo, evict, no_wait, new_mem))
goto fallback;
diff --git a/shared-core/radeon_cs.c b/shared-core/radeon_cs.c
index b0c4abe8..a00ec21b 100644
--- a/shared-core/radeon_cs.c
+++ b/shared-core/radeon_cs.c
@@ -368,13 +368,14 @@ void r300_cs_id_emit(struct drm_device *dev, uint32_t *id)
/* ISYNC_CNTL should not have CPSCRACTH bit set */
*id = radeon_cs_id_get(dev_priv);
/* emit id in SCRATCH6 */
- BEGIN_RING(6);
+ BEGIN_RING(8);
OUT_RING(CP_PACKET0(R300_CP_RESYNC_ADDR, 0));
OUT_RING(6);
OUT_RING(CP_PACKET0(R300_CP_RESYNC_DATA, 0));
OUT_RING(*id);
OUT_RING(CP_PACKET0(R300_RB3D_DSTCACHE_CTLSTAT, 0));
OUT_RING(R300_RB3D_DC_FINISH);
+ RADEON_WAIT_UNTIL_3D_IDLE();
ADVANCE_RING();
}