summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2009-02-24 10:10:08 -0500
committerAlex Deucher <alexdeucher@gmail.com>2009-02-24 10:10:08 -0500
commit2a2caff1dd31e9c23f505edbc1cd61f30d2b11a8 (patch)
treef8fbad553c4fbada9145f2b13559be3ff2cdb319
parent3f8b6eccd9dba116cc4801e7f80ce21a879c67d2 (diff)
R6xx/R7xx EXA: switch to surface sync packet
-rw-r--r--src/r6xx_accel.c16
1 files changed, 5 insertions, 11 deletions
diff --git a/src/r6xx_accel.c b/src/r6xx_accel.c
index 19a339f..03b26d1 100644
--- a/src/r6xx_accel.c
+++ b/src/r6xx_accel.c
@@ -451,17 +451,11 @@ cp_set_surface_sync(ScrnInfoPtr pScrn, drmBufPtr ib, uint32_t sync_type, uint32_
else
cp_coher_size = ((size + 255) >> 8);
- ereg (ib, CP_COHER_CNTL, sync_type);
- ereg (ib, CP_COHER_SIZE, cp_coher_size);
- ereg (ib, CP_COHER_BASE, (mc_addr >> 8));
-
- pack3 (ib, IT_WAIT_REG_MEM, 6);
- e32 (ib, WAIT_REG | WAIT_EQ);
- e32 (ib, CP_COHER_STATUS >> 2);
- e32 (ib, 0);
- e32 (ib, 0); // Ref value
- e32 (ib, STATUS_bit); // Ref mask
- e32 (ib, 10); // Wait interval
+ pack3 (ib, IT_SURFACE_SYNC, 4);
+ e32 (ib, sync_type);
+ e32 (ib, cp_coher_size);
+ e32 (ib, (mc_addr >> 8));
+ e32 (ib, 10); /* poll interval */
}
void