diff options
| author | Catalin Marinas <catalin.marinas@arm.com> | 2014-04-22 16:14:28 +0100 | 
|---|---|---|
| committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2014-04-25 12:06:37 +0100 | 
| commit | bc94081c6ac823c4723d8e36e9604c6cf3eba0ef (patch) | |
| tree | 66ce141e4fab1cb9fdc719e8c453e11e2666357d /arch/arm/mach-ep93xx | |
| parent | 431a84b1a4f7d1a0085d5b91330c5053cc8e8b12 (diff) | |
| download | linux-bc94081c6ac823c4723d8e36e9604c6cf3eba0ef.tar.bz2 | |
ARM: 8035/1: Disable preemption in crunch_task_enable()
This patch is in preparation for calling the crunch_task_enable()
function with interrupts enabled.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Cc: Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ryan Mallon <rmallon@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-ep93xx')
| -rw-r--r-- | arch/arm/mach-ep93xx/crunch-bits.S | 12 | 
1 files changed, 10 insertions, 2 deletions
| diff --git a/arch/arm/mach-ep93xx/crunch-bits.S b/arch/arm/mach-ep93xx/crunch-bits.S index 0ec9bb48fab9..eaa5e34729d3 100644 --- a/arch/arm/mach-ep93xx/crunch-bits.S +++ b/arch/arm/mach-ep93xx/crunch-bits.S @@ -16,6 +16,7 @@  #include <asm/ptrace.h>  #include <asm/thread_info.h>  #include <asm/asm-offsets.h> +#include <asm/assembler.h>  #include <mach/ep93xx-regs.h>  /* @@ -65,11 +66,13 @@   * called from prefetch exception handler with interrupts disabled   */  ENTRY(crunch_task_enable) +	inc_preempt_count r10, r3 +  	ldr	r8, =(EP93XX_APB_VIRT_BASE + 0x00130000)	@ syscon addr  	ldr	r1, [r8, #0x80]  	tst	r1, #0x00800000			@ access to crunch enabled? -	movne	pc, lr				@ if so no business here +	bne	2f				@ if so no business here  	mov	r3, #0xaa			@ unlock syscon swlock  	str	r3, [r8, #0xc0]  	orr	r1, r1, #0x00800000		@ enable access to crunch @@ -142,7 +145,7 @@ crunch_save:  	teq		r0, #0				@ anything to load?  	cfldr64eq	mvdx0, [r1, #CRUNCH_MVDX0]	@ mvdx0 was clobbered -	moveq		pc, lr +	beq		1f  crunch_load:  	cfldr64		mvdx0, [r0, #CRUNCH_DSPSC]	@ load status word @@ -190,6 +193,11 @@ crunch_load:  	cfldr64		mvdx14, [r0, #CRUNCH_MVDX14]  	cfldr64		mvdx15, [r0, #CRUNCH_MVDX15] +1: +#ifdef CONFIG_PREEMPT_COUNT +	get_thread_info r10 +#endif +2:	dec_preempt_count r10, r3  	mov	pc, lr  /* |