Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 641e7912 authored by Russell King's avatar Russell King Committed by Russell King
Browse files

[ARM] Use new get_irqnr_preamble



Use the new get_irqnr_preamble macro to move the address of the IRQ
controller outside the IRQ handling loop.

Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 3b938be6
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
#include <asm/hardware.h>
#include <asm/hardware/entry-macro-iomd.S>

	.equ	ioc_base_high, IOC_BASE & 0xff000000
	.equ	ioc_base_low, IOC_BASE & 0x00ff0000

	.macro  get_irqnr_preamble, base, tmp
	mov	\base, #ioc_base_high		@ point at IOC
	.if	ioc_base_low
	orr	\base, \base, #ioc_base_low
	.endif
	.endm

	.macro  arch_ret_to_user, tmp1, tmp2
+1 −1
Original line number Diff line number Diff line
@@ -16,13 +16,13 @@
	.endm

	.macro  get_irqnr_preamble, base, tmp
	mov	\base, #IRQ_STAT
	.endm

	.macro  arch_ret_to_user, tmp1, tmp2
	.endm

	.macro	get_irqnr_and_base, irqnr, stat, base, tmp
	mov	\base, #IRQ_STAT
	ldrb	\stat, [\base]			@ get interrupts
	mov	\irqnr, #0
	tst	\stat, #15
+8 −8
Original line number Diff line number Diff line
@@ -11,24 +11,24 @@
#include <asm/arch/irqs.h>
#include <asm/hardware/dec21285.h>

		.equ	dc21285_high, ARMCSR_BASE & 0xff000000
		.equ	dc21285_low, ARMCSR_BASE & 0x00ffffff

		.macro	disable_fiq
		.endm

		.macro  get_irqnr_preamble, base, tmp
		mov	\base, #dc21285_high
		.if	dc21285_low
		orr	\base, \base, #dc21285_low
		.endif
		.endm

		.macro  arch_ret_to_user, tmp1, tmp2
		.endm

		.equ	dc21285_high, ARMCSR_BASE & 0xff000000
		.equ	dc21285_low, ARMCSR_BASE & 0x00ffffff

		.macro	get_irqnr_and_base, irqnr, irqstat, base, tmp
		mov	r4, #dc21285_high
		.if	dc21285_low
		orr	r4, r4, #dc21285_low
		.endif
		ldr	\irqstat, [r4, #0x180]		@ get interrupts
		ldr	\irqstat, [\base, #0x180]	@ get interrupts

		mov	\irqnr, #IRQ_SDRAMPARITY
		tst	\irqstat, #IRQ_MASK_SDRAMPARITY
+1 −1
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@
		.endm

		.macro  get_irqnr_preamble, base, tmp
		ldr     \base, =IO_ADDRESS(REALVIEW_GIC_CPU_BASE)
		.endm

		.macro  arch_ret_to_user, tmp1, tmp2
@@ -40,7 +41,6 @@

		.macro  get_irqnr_and_base, irqnr, irqstat, base, tmp

		ldr     \base, =IO_ADDRESS(REALVIEW_GIC_CPU_BASE)
		ldr     \irqstat, [\base, #GIC_CPU_INTACK] /* bits 12-10 = src CPU, 9-0 = int # */

		ldr	\tmp, =1021
+8 −0
Original line number Diff line number Diff line
#include <asm/hardware.h>
#include <asm/hardware/entry-macro-iomd.S>

	.equ	ioc_base_high, IOC_BASE & 0xff000000
	.equ	ioc_base_low, IOC_BASE & 0x00ff0000

	.macro  get_irqnr_preamble, base, tmp
	mov	\base, #ioc_base_high		@ point at IOC
	.if	ioc_base_low
	orr	\base, \base, #ioc_base_low
	.endif
	.endm

	.macro  arch_ret_to_user, tmp1, tmp2
Loading