summaryrefslogtreecommitdiff
path: root/arch/arm64/mm/copypage.c
diff options
context:
space:
mode:
authorAshok Kumar <ashoks@broadcom.com>2015-12-17 01:38:31 -0800
committerAlex Shi <alex.shi@linaro.org>2016-05-11 16:43:13 +0800
commitac7406c28c8bada863d36c46ca246bb7b76f3e9f (patch)
treec74053ef752dbaa890c1a1f825ad0679c62b619a /arch/arm64/mm/copypage.c
parenta79c216b06b18f1545d55e8f238dd9b49896f347 (diff)
arm64: Defer dcache flush in __cpu_copy_user_page
Defer dcache flushing to __sync_icache_dcache by calling flush_dcache_page which clears PG_dcache_clean flag. Acked-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Ashok Kumar <ashoks@broadcom.com> Signed-off-by: Will Deacon <will.deacon@arm.com> (cherry picked from commit e6b1185f77351aa154e63bd54b05d07ff99d4ffa) Signed-off-by: Alex Shi <alex.shi@linaro.org>
Diffstat (limited to 'arch/arm64/mm/copypage.c')
-rw-r--r--arch/arm64/mm/copypage.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm64/mm/copypage.c b/arch/arm64/mm/copypage.c
index 13bbc3be6f5a..22e4cb4d6f53 100644
--- a/arch/arm64/mm/copypage.c
+++ b/arch/arm64/mm/copypage.c
@@ -24,8 +24,9 @@
void __cpu_copy_user_page(void *kto, const void *kfrom, unsigned long vaddr)
{
+ struct page *page = virt_to_page(kto);
copy_page(kto, kfrom);
- __flush_dcache_area(kto, PAGE_SIZE);
+ flush_dcache_page(page);
}
EXPORT_SYMBOL_GPL(__cpu_copy_user_page);