diff options
author | Alex Shi <alex.shi@linaro.org> | 2017-04-13 13:07:03 +0800 |
---|---|---|
committer | Alex Shi <alex.shi@linaro.org> | 2017-04-13 13:07:03 +0800 |
commit | 64fb55641f2f70959dddb122595b418a9c3c9187 (patch) | |
tree | 75d4c3ae15afda455671c40d0268a23d4b0d5ad5 /arch/powerpc/mm | |
parent | 9221207894a7a76936bf67c35d81057ea9cd97fa (diff) | |
parent | 4f380dc2632d4bbb183b4574bf810e198002cf6b (diff) |
Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android
Conflicts:
arch/arm64/Kconfig: keep ARCH_MMAP_RND_BITS_MIN etc config
Diffstat (limited to 'arch/powerpc/mm')
-rw-r--r-- | arch/powerpc/mm/hash_native_64.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/powerpc/mm/hash_native_64.c b/arch/powerpc/mm/hash_native_64.c index c8822af10a58..19d9b2d2d212 100644 --- a/arch/powerpc/mm/hash_native_64.c +++ b/arch/powerpc/mm/hash_native_64.c @@ -645,6 +645,10 @@ static void native_flush_hash_range(unsigned long number, int local) unsigned long psize = batch->psize; int ssize = batch->ssize; int i; + unsigned int use_local; + + use_local = local && mmu_has_feature(MMU_FTR_TLBIEL) && + mmu_psize_defs[psize].tlbiel && !cxl_ctx_in_use(); local_irq_save(flags); @@ -671,8 +675,7 @@ static void native_flush_hash_range(unsigned long number, int local) } pte_iterate_hashed_end(); } - if (mmu_has_feature(MMU_FTR_TLBIEL) && - mmu_psize_defs[psize].tlbiel && local) { + if (use_local) { asm volatile("ptesync":::"memory"); for (i = 0; i < number; i++) { vpn = batch->vpn[i]; |