[PATCH] ARM: ux500: Initialize irq affinity

Linus Walleij linus.walleij at linaro.org
Fri Jan 20 12:56:54 EST 2012


On Fri, Jan 20, 2012 at 6:50 PM, Russell King - ARM Linux
<linux at arm.linux.org.uk> wrote:
> On Fri, Jan 20, 2012 at 04:45:40PM +0100, Linus Walleij wrote:

>> Currently the gic_set_affinity() in common/gic.c isn't called for any
>> IRQs so they are left in their power-on state (from U-Boot or
>> similar) which is essentially correct (we checked dumps of the
>> registers).
>
> No they aren't.  See the gic code:
>(...)
> At boot, we program _all_ the GIC IRQs to point at the boot CPU as part
> of the initialization, which will be logical CPU 0.

Yes, I was dead wrong. And I even read that code just hours ago :-(

>> However when we look at the irq descriptors in e.g. crash:
>>
>>     crash> irq -s
>>     IRQ NAME                 AFFINITY
>>      36 Nomadik Timer Tick   0
>>      43 uart-pl011           0-1
>>      44 nmk-i2c              0-1
>>      46 pl022                0-1
>>      53 nmk-i2c              0-1
>>      54 nmk-i2c              0-1
>>     (... etc ...)
>
> Yes, and as I said in my previous email, having the affinity mask report
> more CPUs than we set the hardware to is perfectly legal.

OK I see, then it's no problem.

Yours,
Linus Walleij



More information about the linux-arm-kernel mailing list