summaryrefslogtreecommitdiff
path: root/linux-core
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 /linux-core
parente5c4a26a29a9af301cb8b0aebbba84e70f995b83 (diff)
downloadlibdrm-3b47b27558915a3a28591209e324b977e09d7c03.tar.gz
libdrm-3b47b27558915a3a28591209e324b977e09d7c03.tar.bz2
libdrm-3b47b27558915a3a28591209e324b977e09d7c03.zip
Some via PCI posting flushes.
Diffstat (limited to 'linux-core')
-rw-r--r--linux-core/via_dmablit.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/linux-core/via_dmablit.c b/linux-core/via_dmablit.c
index cbb73711..1fb902cb 100644
--- a/linux-core/via_dmablit.c
+++ b/linux-core/via_dmablit.c
@@ -217,7 +217,9 @@ via_fire_dmablit(drm_device_t *dev, drm_via_sg_info_t *vsg, int engine)
VIA_WRITE(VIA_PCI_DMA_MR0 + engine*0x04, VIA_DMA_MR_CM | VIA_DMA_MR_TDIE);
VIA_WRITE(VIA_PCI_DMA_BCR0 + engine*0x10, 0);
VIA_WRITE(VIA_PCI_DMA_DPR0 + engine*0x10, vsg->chain_start);
+ DRM_WRITEMEMORYBARRIER();
VIA_WRITE(VIA_PCI_DMA_CSR0 + engine*0x04, VIA_DMA_CSR_DE | VIA_DMA_CSR_TS);
+ VIA_READ(VIA_PCI_DMA_CSR0 + engine*0x04);
}
/*