Skip to content

Commit 9581960

Browse files
wildea01Russell King
authored andcommitted
ARM: 8055/1: cacheflush: use -st dsb option for ensuring completion
dsb st can be used to ensure completion of pending cache maintenance operations, so use it for the v7 cache maintenance operations. Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
1 parent cd000cf commit 9581960

File tree

3 files changed

+8
-8
lines changed

3 files changed

+8
-8
lines changed

arch/arm/include/asm/cacheflush.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ extern void copy_to_user_page(struct vm_area_struct *, struct page *,
212212
static inline void __flush_icache_all(void)
213213
{
214214
__flush_icache_preferred();
215-
dsb();
215+
dsb(ishst);
216216
}
217217

218218
/*

arch/arm/mm/cache-v7.S

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ ENTRY(v7_invalidate_l1)
5959
bgt 2b
6060
cmp r2, #0
6161
bgt 1b
62-
dsb
62+
dsb st
6363
isb
6464
mov pc, lr
6565
ENDPROC(v7_invalidate_l1)
@@ -166,7 +166,7 @@ skip:
166166
finished:
167167
mov r10, #0 @ swith back to cache level 0
168168
mcr p15, 2, r10, c0, c0, 0 @ select current cache level in cssr
169-
dsb
169+
dsb st
170170
isb
171171
mov pc, lr
172172
ENDPROC(v7_flush_dcache_all)
@@ -335,7 +335,7 @@ ENTRY(v7_flush_kern_dcache_area)
335335
add r0, r0, r2
336336
cmp r0, r1
337337
blo 1b
338-
dsb
338+
dsb st
339339
mov pc, lr
340340
ENDPROC(v7_flush_kern_dcache_area)
341341

@@ -368,7 +368,7 @@ v7_dma_inv_range:
368368
add r0, r0, r2
369369
cmp r0, r1
370370
blo 1b
371-
dsb
371+
dsb st
372372
mov pc, lr
373373
ENDPROC(v7_dma_inv_range)
374374

@@ -390,7 +390,7 @@ v7_dma_clean_range:
390390
add r0, r0, r2
391391
cmp r0, r1
392392
blo 1b
393-
dsb
393+
dsb st
394394
mov pc, lr
395395
ENDPROC(v7_dma_clean_range)
396396

@@ -412,7 +412,7 @@ ENTRY(v7_dma_flush_range)
412412
add r0, r0, r2
413413
cmp r0, r1
414414
blo 1b
415-
dsb
415+
dsb st
416416
mov pc, lr
417417
ENDPROC(v7_dma_flush_range)
418418

arch/arm/mm/mmu.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1465,7 +1465,7 @@ void __init early_paging_init(const struct machine_desc *mdesc,
14651465
* just complicate the code.
14661466
*/
14671467
flush_cache_louis();
1468-
dsb();
1468+
dsb(ishst);
14691469
isb();
14701470

14711471
/* remap level 1 table */

0 commit comments

Comments
 (0)