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

Commit b88fb83b authored by Uwe Kleine-König's avatar Uwe Kleine-König
Browse files

netx: Use get_irqnr_preamble to initialize base register



This patch optimizes the irq handling a bit.  Now the base register is
only computed once per irq exception instead of at least twice.
Moreover the mov+add sequence is simplified to an ldr (which might save
some cycles depending on memory timing).

Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
parent ed680c4a
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -24,15 +24,13 @@
		.endm

		.macro  get_irqnr_preamble, base, tmp
		ldr	\base, =io_p2v(0x001ff000)
		.endm

		.macro  arch_ret_to_user, tmp1, tmp2
		.endm

		.macro  get_irqnr_and_base, irqnr, irqstat, base, tmp
		mov	\base, #io_p2v(0x00100000)
		add	\base, \base, #0x000ff000

		ldr	\irqstat, [\base, #0]
		clz	\irqnr, \irqstat
		rsb     \irqnr, \irqnr, #31