Messages in this thread | | | From | Andy Shevchenko <> | Date | Mon, 19 Aug 2019 18:07:34 +0300 | Subject | Re: [PATCH v3] gpio: pl061: Fix the issue failed to register the ACPI interrtupion |
| |
On Mon, Aug 19, 2019 at 4:29 PM Wei Xu <xuwei5@hisilicon.com> 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
| |