]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/powerpc/mm/hash_native_64.c
Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[karo-tx-linux.git] / arch / powerpc / mm / hash_native_64.c
index afc0a8295f84c7097217855fae59f62b1ed6149e..ae4962a06476eed53eb4f6bfa84fc283f59197c4 100644 (file)
@@ -29,6 +29,8 @@
 #include <asm/kexec.h>
 #include <asm/ppc-opcode.h>
 
+#include <misc/cxl.h>
+
 #ifdef DEBUG_LOW
 #define DBG_LOW(fmt...) udbg_printf(fmt)
 #else
@@ -149,9 +151,11 @@ static inline void __tlbiel(unsigned long vpn, int psize, int apsize, int ssize)
 static inline void tlbie(unsigned long vpn, int psize, int apsize,
                         int ssize, int local)
 {
-       unsigned int use_local = local && mmu_has_feature(MMU_FTR_TLBIEL);
+       unsigned int use_local;
        int lock_tlbie = !mmu_has_feature(MMU_FTR_LOCKLESS_TLBIE);
 
+       use_local = local && mmu_has_feature(MMU_FTR_TLBIEL) && !cxl_ctx_in_use();
+
        if (use_local)
                use_local = mmu_psize_defs[psize].tlbiel;
        if (lock_tlbie && !use_local)