[PATCH 04/11] ARM: pxa: update to read ICHP
Eric Miao
eric.y.miao at gmail.com
Fri Nov 12 03:34:56 EST 2010
On Fri, Nov 12, 2010 at 3:17 PM, Haojian Zhuang
<haojian.zhuang at marvell.com> wrote:
> ICHP records the highest priority interrupt occured. In PXA27x/PXA3xx, we
> can read ICHP via cooprocessor. In PJ4, we can only read ICHP via bus
> register. So use the same method to read ICHP via bus register.
>
> Signed-off-by: Haojian Zhuang <haojian.zhuang at marvell.com>
> Cc: Eric Miao <eric.y.miao at gmail.com>
> ---
> arch/arm/mach-pxa/include/mach/entry-macro.S | 6 +++++-
> 1 files changed, 5 insertions(+), 1 deletions(-)
>
> diff --git a/arch/arm/mach-pxa/include/mach/entry-macro.S b/arch/arm/mach-pxa/include/mach/entry-macro.S
> index a73bc86..91457dd 100644
> --- a/arch/arm/mach-pxa/include/mach/entry-macro.S
> +++ b/arch/arm/mach-pxa/include/mach/entry-macro.S
> @@ -41,11 +41,15 @@
> b 1001f
> 1002:
> @ Core Generation 2 (PXA27x) or Core Generation 3 (PXA3xx)
> - mrc p6, 0, \irqstat, c5, c0, 0 @ ICHP
> + @ or Core PJ4
> + mov \base, #io_p2v(0x40000000) @ IIR Ctl = 0x40d00000
> + add \base, \base, #0x00d00000
> + ldr \irqstat, [\base, #0x18] @ ICHP offset
Accessing from co-processor is supposed to be faster than MMIO.
BTW, this could be addressed by MULTI_IRQ_HANDLER as in patch:
http://www.spinics.net/lists/arm-kernel/msg88817.html
Once it gets merged.
> tst \irqstat, #0x80000000
> beq 1001f
> bic \irqstat, \irqstat, #0x80000000
> mov \irqnr, \irqstat, lsr #16
> add \irqnr, \irqnr, #(PXA_IRQ(0))
> +
> 1001:
> .endm
> --
> 1.5.6.5
>
>
More information about the linux-arm-kernel
mailing list