summaryrefslogtreecommitdiffstats
path: root/arch/blackfin/mach-common/cache.S
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-12-04 08:52:14 +0100
committerIngo Molnar <mingo@elte.hu>2008-12-04 08:52:14 +0100
commitcb9c34e6d090d376b77becaa5d29a65dec7f4272 (patch)
tree3678abce20d6825aebe3fec218057d4131e13fd6 /arch/blackfin/mach-common/cache.S
parentgenirq: warn when IRQF_DISABLED may be ignored (diff)
parentLinux 2.6.28-rc7 (diff)
downloadlinux-cb9c34e6d090d376b77becaa5d29a65dec7f4272.tar.xz
linux-cb9c34e6d090d376b77becaa5d29a65dec7f4272.zip
Merge commit 'v2.6.28-rc7' into core/locking
Diffstat (limited to 'arch/blackfin/mach-common/cache.S')
-rw-r--r--arch/blackfin/mach-common/cache.S8
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/blackfin/mach-common/cache.S b/arch/blackfin/mach-common/cache.S
index db532181fbde..a028e9450419 100644
--- a/arch/blackfin/mach-common/cache.S
+++ b/arch/blackfin/mach-common/cache.S
@@ -25,9 +25,13 @@
*/
.macro do_flush flushins:req optflushins optnopins label
+ R2 = -L1_CACHE_BYTES;
+
+ /* start = (start & -L1_CACHE_BYTES) */
+ R0 = R0 & R2;
+
/* end = ((end - 1) & -L1_CACHE_BYTES) + L1_CACHE_BYTES; */
R1 += -1;
- R2 = -L1_CACHE_BYTES;
R1 = R1 & R2;
R1 += L1_CACHE_BYTES;
@@ -63,7 +67,7 @@ ENDPROC(_blackfin_icache_flush_range)
/* Flush all cache lines assocoiated with this area of memory. */
ENTRY(_blackfin_icache_dcache_flush_range)
- do_flush IFLUSH, FLUSH
+ do_flush FLUSH, IFLUSH
ENDPROC(_blackfin_icache_dcache_flush_range)
/* Throw away all D-cached data in specified region without any obligation to