]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
sh: Fix up redundant cache flushing for PAGE_SIZE > 4k.
authorPaul Mundt <lethal@linux-sh.org>
Wed, 9 Sep 2009 08:13:07 +0000 (17:13 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Wed, 9 Sep 2009 08:13:07 +0000 (17:13 +0900)
If PAGE_SIZE is presently over 4k we do a lot of extra flushing given
that we purge the cache 4k at a time. Make it explicitly 4k per
iteration, rather than iterating for PAGE_SIZE before looping over again.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/mm/cache-sh4.c

index e3fbd99b323cf3535fa660128b3528c263df8079..8362d312ad94e222035e3df0edda34a90e6e7bc6 100644 (file)
@@ -357,7 +357,7 @@ static void __flush_cache_4096(unsigned long addr, unsigned long phys,
         * pointless nead-of-loop check for 0 iterations.
         */
        do {
-               ea = base_addr + PAGE_SIZE;
+               ea = base_addr + 4096;
                a = base_addr;
                p = phys;