Subject: Re: PCI Memory mapping

From: Benjamin Herrenschmidt <[email-masked]>
Date: Wed, 24 Mar 2004 11:04:00 +1100

On Tue, 2004-03-23 at 22:17, Marc Leeman wrote:

> When data is passed to the DSP and every buffer is confirmed with an
> [Enter] (i.e. __very__ slow_), data is passed correctly. When we try to
> pass the same data without user intervention (comment out
> waitforenter()),
> parts of the transferred data are copied from other locations: most of
> the time, part of the buffer (e.g. 2048 bytes) is not update yet (old
> data).

One thing is: after having written your data to the consistent buffer,
you should make sure you have proper ordering with the MMIO write you
do to kick the DSP. On most CPUs, eieio appear to be enough and I
wouldn't suppose the 8245 to heavily reorder, but just in case, try
adding a sync.

Ben.

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/