[PATCH 2/8] ARM: cache: remove redundant dsb instruction from v7_coherent_user_range

Will Deacon will.deacon at arm.com
Fri May 2 08:24:09 PDT 2014


v7_coherent_user_range takes a virtual address range, cleans the D-side
to PoU and then invalidates the I-side so that subsequent instruction
fetches can see any new data written to the range in question.

Since cache maintenance by MVA is architected to execute in program
order with respect to other cache maintenance operations specifying
the same virtual address, we do not require a barrier between the
D-side clean and the I-side invalidation.

This patch removes the redundant dsb.

Signed-off-by: Will Deacon <will.deacon at arm.com>
---
 arch/arm/mm/cache-v7.S | 1 -
 1 file changed, 1 deletion(-)

diff --git a/arch/arm/mm/cache-v7.S b/arch/arm/mm/cache-v7.S
index 615c99e38ba1..b040d3ca20ac 100644
--- a/arch/arm/mm/cache-v7.S
+++ b/arch/arm/mm/cache-v7.S
@@ -282,7 +282,6 @@ ENTRY(v7_coherent_user_range)
 	add	r12, r12, r2
 	cmp	r12, r1
 	blo	1b
-	dsb	ishst
 	icache_line_size r2, r3
 	sub	r3, r2, #1
 	bic	r12, r0, r3
-- 
1.9.2




More information about the linux-arm-kernel mailing list