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
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:EventThe 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