[ARM] 3814/1: move 80200 dma_inv_range() erratum check out of line
authorLennert Buytenhek <buytenh@wantstofly.org>
Sat, 16 Sep 2006 09:52:02 +0000 (10:52 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Mon, 25 Sep 2006 09:25:27 +0000 (10:25 +0100)
commit197c9444d6093b70c8faa24e7ab04a2423c9d14d
tree581916e32828c2454c099fdb443e2a7fefc5172e
parent51635ad282ead58b9d164f07e1fb62a9456b427c
[ARM] 3814/1: move 80200 dma_inv_range() erratum check out of line

On stepping A0/A1 of the 80200, invalidating D-cache by line doesn't
clear the dirty bits, which means that if we invalidate a dirty line,
the dirty data can still be written back to memory later on.

To work around this, dma_inv_range() on these two processors is
implemented as dma_flush_range() (i.e. do a clean D-cache line before
doing the invalidate D-cache line.)  For this, we currently have a
processor ID check in xscale_dma_inv_range(), but a better solution
is to add a separate cache_fns and proc_info for A0/A1 80200.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mm/proc-xscale.S