diff options
Diffstat (limited to 'arch/arm/mm/cache-v7.S')
| -rw-r--r-- | arch/arm/mm/cache-v7.S | 26 | 
1 files changed, 13 insertions, 13 deletions
diff --git a/arch/arm/mm/cache-v7.S b/arch/arm/mm/cache-v7.S index b5c467a65c2..615c99e38ba 100644 --- a/arch/arm/mm/cache-v7.S +++ b/arch/arm/mm/cache-v7.S @@ -59,7 +59,7 @@ ENTRY(v7_invalidate_l1)         bgt     2b         cmp     r2, #0         bgt     1b -       dsb +       dsb     st         isb         mov     pc, lr  ENDPROC(v7_invalidate_l1) @@ -146,18 +146,18 @@ flush_levels:  	ldr	r7, =0x7fff  	ands	r7, r7, r1, lsr #13		@ extract max number of the index size  loop1: -	mov	r9, r4				@ create working copy of max way size +	mov	r9, r7				@ create working copy of max index  loop2: - ARM(	orr	r11, r10, r9, lsl r5	)	@ factor way and cache number into r11 - THUMB(	lsl	r6, r9, r5		) + ARM(	orr	r11, r10, r4, lsl r5	)	@ factor way and cache number into r11 + THUMB(	lsl	r6, r4, r5		)   THUMB(	orr	r11, r10, r6		)	@ factor way and cache number into r11 - ARM(	orr	r11, r11, r7, lsl r2	)	@ factor index number into r11 - THUMB(	lsl	r6, r7, r2		) + ARM(	orr	r11, r11, r9, lsl r2	)	@ factor index number into r11 + THUMB(	lsl	r6, r9, r2		)   THUMB(	orr	r11, r11, r6		)	@ factor index number into r11  	mcr	p15, 0, r11, c7, c14, 2		@ clean & invalidate by set/way -	subs	r9, r9, #1			@ decrement the way +	subs	r9, r9, #1			@ decrement the index  	bge	loop2 -	subs	r7, r7, #1			@ decrement the index +	subs	r4, r4, #1			@ decrement the way  	bge	loop1  skip:  	add	r10, r10, #2			@ increment cache number @@ -166,7 +166,7 @@ skip:  finished:  	mov	r10, #0				@ swith back to cache level 0  	mcr	p15, 2, r10, c0, c0, 0		@ select current cache level in cssr -	dsb +	dsb	st  	isb  	mov	pc, lr  ENDPROC(v7_flush_dcache_all) @@ -335,7 +335,7 @@ ENTRY(v7_flush_kern_dcache_area)  	add	r0, r0, r2  	cmp	r0, r1  	blo	1b -	dsb +	dsb	st  	mov	pc, lr  ENDPROC(v7_flush_kern_dcache_area) @@ -368,7 +368,7 @@ v7_dma_inv_range:  	add	r0, r0, r2  	cmp	r0, r1  	blo	1b -	dsb +	dsb	st  	mov	pc, lr  ENDPROC(v7_dma_inv_range) @@ -390,7 +390,7 @@ v7_dma_clean_range:  	add	r0, r0, r2  	cmp	r0, r1  	blo	1b -	dsb +	dsb	st  	mov	pc, lr  ENDPROC(v7_dma_clean_range) @@ -412,7 +412,7 @@ ENTRY(v7_dma_flush_range)  	add	r0, r0, r2  	cmp	r0, r1  	blo	1b -	dsb +	dsb	st  	mov	pc, lr  ENDPROC(v7_dma_flush_range)  | 
