diff options
author | Paul Mundt <lethal@linux-sh.org> | 2007-03-05 13:46:47 +0300 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2007-03-05 13:46:47 +0300 |
commit | 39e688a94b94eaba768b1494e19e96f828fc2688 (patch) | |
tree | 706ce255a95d0705241beafb8354fb7253a24af4 /arch/sh/mm/cache-sh7705.c | |
parent | c87a7111349891043cb0a62b0ba745264d4b600a (diff) | |
download | linux-39e688a94b94eaba768b1494e19e96f828fc2688.tar.xz |
sh: Revert lazy dcache writeback changes.
These ended up causing too many problems on older parts,
revert for now..
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/mm/cache-sh7705.c')
-rw-r--r-- | arch/sh/mm/cache-sh7705.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/arch/sh/mm/cache-sh7705.c b/arch/sh/mm/cache-sh7705.c index 31f8deb7a158..4896d7376926 100644 --- a/arch/sh/mm/cache-sh7705.c +++ b/arch/sh/mm/cache-sh7705.c @@ -3,11 +3,11 @@ * * Copyright (C) 1999, 2000 Niibe Yutaka * Copyright (C) 2004 Alex Song - * Copyright (C) 2006 Paul Mundt * * This file is subject to the terms and conditions of the GNU General Public * License. See the file "COPYING" in the main directory of this archive * for more details. + * */ #include <linux/init.h> #include <linux/mman.h> @@ -51,6 +51,7 @@ static inline void cache_wback_all(void) if ((data & v) == v) ctrl_outl(data & ~v, addr); + } addrstart += current_cpu_data.dcache.way_incr; @@ -127,11 +128,7 @@ static void __flush_dcache_page(unsigned long phys) */ void flush_dcache_page(struct page *page) { - struct address_space *mapping = page_mapping(page); - - if (mapping && !mapping_mapped(mapping)) - set_bit(PG_dcache_dirty, &page->flags); - else + if (test_bit(PG_mapped, &page->flags)) __flush_dcache_page(PHYSADDR(page_address(page))); } |