aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm64/mm/cache.S
diff options
context:
space:
mode:
authorRobin Murphy <robin.murphy@arm.com>2017-07-25 06:55:42 -0400
committerCatalin Marinas <catalin.marinas@arm.com>2017-08-09 07:15:45 -0400
commitd50e071fdaa33c1b399c764c44fa1ce879881185 (patch)
treec0af7e49c8f4124195159e1d6380d521bea435d3 /arch/arm64/mm/cache.S
parente1bc5d1b8e0547c258e65dd97a03560f4d69e635 (diff)
arm64: Implement pmem API support
Add a clean-to-point-of-persistence cache maintenance helper, and wire up the basic architectural support for the pmem driver based on it. Reviewed-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Robin Murphy <robin.murphy@arm.com> [catalin.marinas@arm.com: move arch_*_pmem() functions to arch/arm64/mm/flush.c] [catalin.marinas@arm.com: change dmb(sy) to dmb(osh)] Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'arch/arm64/mm/cache.S')
-rw-r--r--arch/arm64/mm/cache.S14
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/arm64/mm/cache.S b/arch/arm64/mm/cache.S
index ed47fbbb4b05..7f1dbe962cf5 100644
--- a/arch/arm64/mm/cache.S
+++ b/arch/arm64/mm/cache.S
@@ -172,6 +172,20 @@ ENDPIPROC(__clean_dcache_area_poc)
172ENDPROC(__dma_clean_area) 172ENDPROC(__dma_clean_area)
173 173
174/* 174/*
175 * __clean_dcache_area_pop(kaddr, size)
176 *
177 * Ensure that any D-cache lines for the interval [kaddr, kaddr+size)
178 * are cleaned to the PoP.
179 *
180 * - kaddr - kernel address
181 * - size - size in question
182 */
183ENTRY(__clean_dcache_area_pop)
184 dcache_by_line_op cvap, sy, x0, x1, x2, x3
185 ret
186ENDPIPROC(__clean_dcache_area_pop)
187
188/*
175 * __dma_flush_area(start, size) 189 * __dma_flush_area(start, size)
176 * 190 *
177 * clean & invalidate D / U line 191 * clean & invalidate D / U line