summaryrefslogtreecommitdiff
path: root/arch/arm/mm
diff options
context:
space:
mode:
authorGary King <gking@nvidia.com>2010-09-02 17:26:41 -0700
committerDan Willemsen <dwillemsen@nvidia.com>2010-10-13 14:18:00 -0700
commit9fb0ae68a1affbb4939411045599cdc8ceabad60 (patch)
tree7193496af03072af337c61c4f44da1b0a5ee092d /arch/arm/mm
parent8e143984e4318cf2c9ffbd1f4013734cecb70724 (diff)
Revert "ARMv7: Use lazy cache flushing if hardware broadcasts cache operations"
This reverts commit ff6c5cd434c779b6b3e8140a5bd5c30793a6123f.
Diffstat (limited to 'arch/arm/mm')
-rw-r--r--arch/arm/mm/fault-armv.c2
-rw-r--r--arch/arm/mm/flush.c9
2 files changed, 7 insertions, 4 deletions
diff --git a/arch/arm/mm/fault-armv.c b/arch/arm/mm/fault-armv.c
index 9d77d90f4ade..9b906dec1ca1 100644
--- a/arch/arm/mm/fault-armv.c
+++ b/arch/arm/mm/fault-armv.c
@@ -168,8 +168,10 @@ void update_mmu_cache(struct vm_area_struct *vma, unsigned long addr,
return;
mapping = page_mapping(page);
+#ifndef CONFIG_SMP
if (test_and_clear_bit(PG_dcache_dirty, &page->flags))
__flush_dcache_page(mapping, page);
+#endif
if (mapping) {
if (cache_is_vivt())
make_coherent(mapping, vma, addr, ptep, pfn);
diff --git a/arch/arm/mm/flush.c b/arch/arm/mm/flush.c
index e0758968e9f8..c6844cb9b508 100644
--- a/arch/arm/mm/flush.c
+++ b/arch/arm/mm/flush.c
@@ -17,7 +17,6 @@
#include <asm/smp_plat.h>
#include <asm/system.h>
#include <asm/tlbflush.h>
-#include <asm/smp_plat.h>
#include "mm.h"
@@ -247,10 +246,12 @@ void flush_dcache_page(struct page *page)
mapping = page_mapping(page);
- if (!cache_ops_need_broadcast() &&
- !PageHighMem(page) && mapping && !mapping_mapped(mapping))
+#ifndef CONFIG_SMP
+ if (!PageHighMem(page) && mapping && !mapping_mapped(mapping))
set_bit(PG_dcache_dirty, &page->flags);
- else {
+ else
+#endif
+ {
__flush_dcache_page(mapping, page);
if (mapping && cache_is_vivt())
__flush_dcache_aliases(mapping, page);