powerpc/64: Avoid isync in flush_dcache_range()
authorAneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Fri, 20 Mar 2020 10:32:42 +0000 (16:02 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Fri, 27 Mar 2020 06:37:07 +0000 (17:37 +1100)
As per ISA an isync is only needed on instruction cache block
invalidate. Remove the same from dcache invalidate.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200320103242.229223-1-aneesh.kumar@linux.ibm.com
arch/powerpc/include/asm/cacheflush.h

index 4a1c9f0..e92191b 100644 (file)
@@ -65,17 +65,13 @@ static inline void flush_dcache_range(unsigned long start, unsigned long stop)
        unsigned long size = stop - (unsigned long)addr + (bytes - 1);
        unsigned long i;
 
-       if (IS_ENABLED(CONFIG_PPC64)) {
+       if (IS_ENABLED(CONFIG_PPC64))
                mb();   /* sync */
-               isync();
-       }
 
        for (i = 0; i < size >> shift; i++, addr += bytes)
                dcbf(addr);
        mb();   /* sync */
 
-       if (IS_ENABLED(CONFIG_PPC64))
-               isync();
 }
 
 /*