[Bug 18397] Small pixmap corruption [EXA enabled]

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Oct 27 08:18:58 PDT 2009


http://bugs.freedesktop.org/show_bug.cgi?id=18397





--- Comment #81 from Daniel Vetter <daniel at ffwll.ch>  2009-10-27 08:18:56 PST ---
> --- Comment #72 from Dave Airlie <airlied at freedesktop.org>  2009-08-26 04:31:27 PST ---
> this is written in some unspecified docs, however 2 has never made sense to me.
> 
> 1. After BITBLT_MULTI copy data from frame buffer to system memory, flush
> entire 2D pixel cache and
>    wait for 2D engine idle and clean to ensure the copied data to arrive into
> bus controller.
> 2. Copy the last pixel back to frame buffer from system memory to flush data
> out of bus controller to system
>    physical memory.
> 3. Wait for flush process to be completed. This is done by either waiting for
> engine idle or using timestamp
>    write back mechanism.

Just my 2 cents. Number 2 makes sense to me: When you write from dev A to
dev B and want to ensure that all the writes have arrived in B, you need
to read from B to A. Because PCI specifies that a read flushes all write
cashes (in the other direction) on its path, this flushes all outstanding
writes to B.

Usually A=CPU/main memory and B=device and one uses a read of a
side-effect free reg, but it should work the other way round, too.


-- 
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the xorg-driver-ati mailing list