diff options
author | Ashok Kumar <ashoks@broadcom.com> | 2015-12-17 09:38:31 (GMT) |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2015-12-17 11:07:13 (GMT) |
commit | e6b1185f77351aa154e63bd54b05d07ff99d4ffa (patch) | |
tree | 4bea75cad29fc76a11c0856834733551de00f8ef /arch/arm64/mm/copypage.c | |
parent | 971c67ce37cfeeaf560e792a2c3bc21d8b67163a (diff) | |
download | linux-e6b1185f77351aa154e63bd54b05d07ff99d4ffa.tar.xz |
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>
Diffstat (limited to 'arch/arm64/mm/copypage.c')
-rw-r--r-- | arch/arm64/mm/copypage.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm64/mm/copypage.c b/arch/arm64/mm/copypage.c index 13bbc3be..22e4cb4 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); |