Thread (8 messages) 8 messages, 3 authors, 2019-08-20

Re: [PATCH v3] gpio: pl061: Fix the issue failed to register the ACPI interrtupion

From: Andy Shevchenko <hidden>
Date: 2019-08-19 15:07:49
Also in: linux-gpio, lkml

On Mon, Aug 19, 2019 at 4:29 PM Wei Xu [off-list ref] wrote:
Invoke acpi_gpiochip_request_interrupts after the acpi data has been
attached to the pl061 acpi node to register interruption.

Otherwise it will be failed to register interruption for the ACPI case.
Because in the gpiochip_add_data_with_key, acpi_gpiochip_add is invoked
after gpiochip_add_irqchip but at that time the acpi data has not been
attached yet.

Tested with below steps:

        qemu-system-aarch64 \
        -machine virt,gic-version=3 -cpu cortex-a57 \
        -m 1G,maxmem=4G,slots=4 \
        -kernel Image -initrd rootfs.cpio.gz \
        -net none -nographic  \
        -bios QEMU_EFI.fd  \
        -append "console=ttyAMA0 acpi=force earlycon=pl011,0x9000000"

The pl061 interruption is missed and the following output is not in the
/proc/interrupts on the v5.3-rc4 compared with the v5.2.0-rc7.

         43:          0  ARMH0061:00   3 Edge      ACPI:Event
The proper fix is to revert the culprit since we call
acpi_gpiochip_request_interrupts() for all controllers.
Linus, please re-do the approach with IRQ handling, it seems broadly
regress with ACPI enabled platforms.

-- 
With Best Regards,
Andy Shevchenko

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help