aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/mm
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/mm')
-rw-r--r--arch/mips/mm/c-r4k.c4
-rw-r--r--arch/mips/mm/highmem.c4
-rw-r--r--arch/mips/mm/init.c8
3 files changed, 8 insertions, 8 deletions
diff --git a/arch/mips/mm/c-r4k.c b/arch/mips/mm/c-r4k.c
index 4f9eb0b23036..c97087d12d07 100644
--- a/arch/mips/mm/c-r4k.c
+++ b/arch/mips/mm/c-r4k.c
@@ -498,7 +498,7 @@ static inline void local_r4k_flush_cache_page(void *args)
498 if (map_coherent) 498 if (map_coherent)
499 vaddr = kmap_coherent(page, addr); 499 vaddr = kmap_coherent(page, addr);
500 else 500 else
501 vaddr = kmap_atomic(page, KM_USER0); 501 vaddr = kmap_atomic(page);
502 addr = (unsigned long)vaddr; 502 addr = (unsigned long)vaddr;
503 } 503 }
504 504
@@ -521,7 +521,7 @@ static inline void local_r4k_flush_cache_page(void *args)
521 if (map_coherent) 521 if (map_coherent)
522 kunmap_coherent(); 522 kunmap_coherent();
523 else 523 else
524 kunmap_atomic(vaddr, KM_USER0); 524 kunmap_atomic(vaddr);
525 } 525 }
526} 526}
527 527
diff --git a/arch/mips/mm/highmem.c b/arch/mips/mm/highmem.c
index 3634c7ea06ac..aff57057a949 100644
--- a/arch/mips/mm/highmem.c
+++ b/arch/mips/mm/highmem.c
@@ -41,7 +41,7 @@ EXPORT_SYMBOL(kunmap);
41 * kmaps are appropriate for short, tight code paths only. 41 * kmaps are appropriate for short, tight code paths only.
42 */ 42 */
43 43
44void *__kmap_atomic(struct page *page) 44void *kmap_atomic(struct page *page)
45{ 45{
46 unsigned long vaddr; 46 unsigned long vaddr;
47 int idx, type; 47 int idx, type;
@@ -62,7 +62,7 @@ void *__kmap_atomic(struct page *page)
62 62
63 return (void*) vaddr; 63 return (void*) vaddr;
64} 64}
65EXPORT_SYMBOL(__kmap_atomic); 65EXPORT_SYMBOL(kmap_atomic);
66 66
67void __kunmap_atomic(void *kvaddr) 67void __kunmap_atomic(void *kvaddr)
68{ 68{
diff --git a/arch/mips/mm/init.c b/arch/mips/mm/init.c
index 3b3ffd439cd7..1a85ba92eb5c 100644
--- a/arch/mips/mm/init.c
+++ b/arch/mips/mm/init.c
@@ -207,21 +207,21 @@ void copy_user_highpage(struct page *to, struct page *from,
207{ 207{
208 void *vfrom, *vto; 208 void *vfrom, *vto;
209 209
210 vto = kmap_atomic(to, KM_USER1); 210 vto = kmap_atomic(to);
211 if (cpu_has_dc_aliases && 211 if (cpu_has_dc_aliases &&
212 page_mapped(from) && !Page_dcache_dirty(from)) { 212 page_mapped(from) && !Page_dcache_dirty(from)) {
213 vfrom = kmap_coherent(from, vaddr); 213 vfrom = kmap_coherent(from, vaddr);
214 copy_page(vto, vfrom); 214 copy_page(vto, vfrom);
215 kunmap_coherent(); 215 kunmap_coherent();
216 } else { 216 } else {
217 vfrom = kmap_atomic(from, KM_USER0); 217 vfrom = kmap_atomic(from);
218 copy_page(vto, vfrom); 218 copy_page(vto, vfrom);
219 kunmap_atomic(vfrom, KM_USER0); 219 kunmap_atomic(vfrom);
220 } 220 }
221 if ((!cpu_has_ic_fills_f_dc) || 221 if ((!cpu_has_ic_fills_f_dc) ||
222 pages_do_alias((unsigned long)vto, vaddr & PAGE_MASK)) 222 pages_do_alias((unsigned long)vto, vaddr & PAGE_MASK))
223 flush_data_cache_page((unsigned long)vto); 223 flush_data_cache_page((unsigned long)vto);
224 kunmap_atomic(vto, KM_USER1); 224 kunmap_atomic(vto);
225 /* Make sure this page is cleared on other CPU's too before using it */ 225 /* Make sure this page is cleared on other CPU's too before using it */
226 smp_wmb(); 226 smp_wmb();
227} 227}