[PATCH] acpi: add support for extended IRQ to PCI link
Sinan Kaya
okaya at codeaurora.org
Mon Nov 9 14:29:58 PST 2015
On 11/8/2015 3:35 PM, Andy Shevchenko wrote:
> On Sun, Nov 8, 2015 at 6:07 PM, Sinan Kaya <okaya at codeaurora.org> wrote:
>> The ACPI compiler uses the extended format when
>> used interrupt numbers are greater than 256.
>> The PCI link code currently only supports simple
>> interrupt format. The IRQ numbers are represented
>> using 32 bits when extended IRQ syntax. This patch
>> changes the interrupt number type to 32 bits and
>> places an upper limit of 1020 as possible interrupt
>> id. Additional checks have been placed to prevent
>> out of bounds writes.
>
> In commit messages and in comments I see this narrow lines, any reason
> to make them short, except increasing number of lines?
>
done
>> if (acpi_irq_balance || !link->irq.active) {
>> - /*
>> - * Select the best IRQ. This is done in reverse to promote
>> - * the use of IRQs 9, 10, 11, and >15.
>> - */
>> - for (i = (link->irq.possible_count - 1); i >= 0; i--) {
>> - if (acpi_irq_penalty[irq] >
>> - acpi_irq_penalty[link->irq.possible[i]])
>> - irq = link->irq.possible[i];
>> +
>> + if (irq < ACPI_MAX_IRQS) {
>> + /*
>> + * Select the best IRQ. This is done in reverse to
>> + * promote the use of IRQs 9, 10, 11, and >15.
>> + */
>> + for (i = (link->irq.possible_count - 1); i >= 0;
>> + i--) {
>
> Why not
>
> if ((acpi_irq_balance || !link->irq.active) && irq < ACPI_MAX_IRQS) {
> int i = link->irq.possible_count;
>
> while (--i) {
> …
> }
> }
done
>
>> + if ((link->irq.possible[i] < ACPI_MAX_IRQS) &&
>> + (acpi_irq_penalty[irq] >
>> + acpi_irq_penalty[link->irq.possible[i]]))
>> + irq = link->irq.possible[i];
>> + }
>> }
>> }
>> if (acpi_irq_penalty[irq] >= PIRQ_PENALTY_ISA_ALWAYS) {
>
--
Sinan Kaya
Qualcomm Technologies, Inc. on behalf of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a
Linux Foundation Collaborative Project
More information about the linux-arm-kernel
mailing list