summaryrefslogtreecommitdiff
path: root/shared-core/via_dma.c
diff options
context:
space:
mode:
authorThomas Hellstrom <thomas-at-tungstengraphics-dot-com>2006-12-20 13:04:21 +0100
committerThomas Hellstrom <thomas-at-tungstengraphics-dot-com>2006-12-20 13:04:21 +0100
commit3b47b27558915a3a28591209e324b977e09d7c03 (patch)
treef5b81a88978d315a4f2873d18d0dbcb4d8bb86b9 /shared-core/via_dma.c
parente5c4a26a29a9af301cb8b0aebbba84e70f995b83 (diff)
Some via PCI posting flushes.
Diffstat (limited to 'shared-core/via_dma.c')
-rw-r--r--shared-core/via_dma.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/shared-core/via_dma.c b/shared-core/via_dma.c
index c6e7aa77..90dbb6a2 100644
--- a/shared-core/via_dma.c
+++ b/shared-core/via_dma.c
@@ -489,6 +489,7 @@ static int via_hook_segment(drm_via_private_t *dev_priv,
VIA_WRITE(VIA_REG_TRANSET, (HC_ParaType_PreCR << 16));
VIA_WRITE(VIA_REG_TRANSPACE, pause_addr_hi);
VIA_WRITE(VIA_REG_TRANSPACE, pause_addr_lo);
+ VIA_READ(VIA_REG_TRANSPACE);
}
}
return paused;
@@ -572,8 +573,9 @@ static void via_cmdbuf_start(drm_via_private_t * dev_priv)
VIA_WRITE(VIA_REG_TRANSPACE, pause_addr_hi);
VIA_WRITE(VIA_REG_TRANSPACE, pause_addr_lo);
-
+ DRM_WRITEMEMORYBARRIER();
VIA_WRITE(VIA_REG_TRANSPACE, command | HC_HAGPCMNT_MASK);
+ VIA_READ(VIA_REG_TRANSPACE);
}
static void via_pad_cache(drm_via_private_t *dev_priv, int qwords)