aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/mm/highmem.c
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2010-07-02 13:05:10 +0900
committerPaul Mundt <lethal@linux-sh.org>2010-07-02 13:05:10 +0900
commit12462d77ec78be9fb033580b7b64ddf9d0fee44b (patch)
treea21157428d46259ed2c8a727ac12a2e658d8181a /arch/arm/mm/highmem.c
parent598ee698d9db7beb06e12f4ea9d9a5fbc03a3a77 (diff)
parent97e0214044d9f279a3d6286c9f859696ef0b7ebe (diff)
Merge branches 'sh/highmem' and 'sh/stable-updates'
Diffstat (limited to 'arch/arm/mm/highmem.c')
-rw-r--r--arch/arm/mm/highmem.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/arch/arm/mm/highmem.c b/arch/arm/mm/highmem.c
index 77b030f5ec0..086816b205b 100644
--- a/arch/arm/mm/highmem.c
+++ b/arch/arm/mm/highmem.c
@@ -48,7 +48,16 @@ void *kmap_atomic(struct page *page, enum km_type type)
debug_kmap_atomic(type);
- kmap = kmap_high_get(page);
+#ifdef CONFIG_DEBUG_HIGHMEM
+ /*
+ * There is no cache coherency issue when non VIVT, so force the
+ * dedicated kmap usage for better debugging purposes in that case.
+ */
+ if (!cache_is_vivt())
+ kmap = NULL;
+ else
+#endif
+ kmap = kmap_high_get(page);
if (kmap)
return kmap;