[PATCH] ARM: Common GIC entry macro code
Abhijeet Dharmapurikar
adharmap at codeaurora.org
Wed Nov 10 15:28:00 EST 2010
Magnus,
The patch assumes that PPI's could be nothing but timers. On msm we
have other interrupts which are PPI's.
I have tested this and doesn't work for msm. The reason being we treat
PPI timer interrupts as usual interrupts, meaning use do_asm_IRQ()
instead of do_local_timer(). Besides there are other non timer
interrupts that are PPIs and we need do_asm_IRQ() to be called for them.
You might want to exclude msm from this patch.
> +++ work/arch/arm/include/asm/hardware/entry-macro-gic.S 2010-11-10 15:20:15.000000000 +0900
> + .macro get_irqnr_and_base, irqnr, irqstat, base, tmp
> +
> + ldr \irqstat, [\base, #GIC_CPU_INTACK]
> + /* bits 12-10 = src CPU, 9-0 = int # */
> +
> + ldr \tmp, =1021
> + bic \irqnr, \irqstat, #0x1c00
> + cmp \irqnr, #29
Not all the PPI's are timer interrupts on MSM. MSM would need this to be
compared to 15 rather than 29.
> --- 0001/arch/arm/mach-msm/include/mach/entry-macro-qgic.S
> +++ work/arch/arm/mach-msm/include/mach/entry-macro-qgic.S 2010-11-10 15:27:06.000000000 +0900
> - */
> -
> - .macro get_irqnr_and_base, irqnr, irqstat, base, tmp
> -
> - ldr \irqstat, [\base, #GIC_CPU_INTACK] /* bits 12-10 =srcCPU,
> - 9-0 =int # */
> -
> - bic \irqnr, \irqstat, #0x1c00 @mask src
> - cmp \irqnr, #15
See above line
Thanks,
Abhijeet
--
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
--
More information about the linux-arm-kernel
mailing list