[PATCH 2/8] ARM: Implement read/write for ownership in theARMv6 DMA cache ops
Ronen Shitrit
rshitrit at marvell.com
Mon May 17 07:29:39 EDT 2010
-----Original Message-----
From: Catalin Marinas [mailto:catalin.marinas at arm.com]
Sent: Monday, May 17, 2010 1:01 PM
To: Ronen Shitrit
Cc: Russell King - ARM Linux; linux-arm-kernel at lists.infradead.org
Subject: RE: [PATCH 2/8] ARM: Implement read/write for ownership in theARMv6 DMA cache ops
On Mon, 2010-05-17 at 10:34 +0300, Ronen Shitrit wrote:
> After some more thinking, I think I found the problem...
>
> DMA for receive should operate as follows:
> 1) CPU will map (invalidate) the buffers for the DMA
> 2) DMA will place the buffers and ack the CPU
> 3) The CPU will call unmap which will invalidate the buffers again
(3) doesn't happen with my patch - the unmap function is now a no-op
since the invalidate operation is destructive.
[Ronen Shitrit] so how do you protect your self from I-cache spec prefetch?
Do you have a unified L2?
As I said in a previous e-mail, it's the sync operation that does an
invalidate and this would affect the data in the buffer. Hence the patch
to make the invalidate operation non-destructive (as long as your CPU
doesn't do speculative loads into the D-cache or they can be disabled).
[Ronen Shitrit] What about I-cache prefetch? Unified cache?
--
Catalin
More information about the linux-arm-kernel
mailing list