powerpc/powernv/memtrace: Fix dcache flushing
authorSandipan Das <sandipan@linux.ibm.com>
Sat, 1 May 2021 16:02:54 +0000 (21:32 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 4 May 2021 12:27:56 +0000 (22:27 +1000)
Trace memory is cleared and the corresponding dcache lines
are flushed after allocation. However, this should not be
done using the PFN. This adds the missing conversion to
virtual address.

Fixes: 2ac02e5ecec0 ("powerpc/mm: Remove dcache flush from memory remove.")
Signed-off-by: Sandipan Das <sandipan@linux.ibm.com>
Reviewed-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/20210501160254.1179831-1-sandipan@linux.ibm.com
arch/powerpc/platforms/powernv/memtrace.c

index 71c1262..537a4da 100644 (file)
@@ -104,8 +104,8 @@ static void memtrace_clear_range(unsigned long start_pfn,
         * Before we go ahead and use this range as cache inhibited range
         * flush the cache.
         */
-       flush_dcache_range_chunked(PFN_PHYS(start_pfn),
-                                  PFN_PHYS(start_pfn + nr_pages),
+       flush_dcache_range_chunked((unsigned long)pfn_to_kaddr(start_pfn),
+                                  (unsigned long)pfn_to_kaddr(start_pfn + nr_pages),
                                   FLUSH_CHUNK_SIZE);
 }