Re: [irqchip: irq/irqchip-next] irqchip/bcm2836: Fix IPI acknowledgement after conversion to handle_percpu_devid_irq

From: Marc Zyngier
Date: Fri Dec 18 2020 - 15:54:53 EST


On 2020-12-18 20:36, Valentin Schneider wrote:
On 18/12/20 18:40, irqchip-bot for Marc Zyngier wrote:
The following commit has been merged into the irq/irqchip-next branch of irqchip:

Commit-ID: d7f39c40ebb6986e7371510d1c20a4efee4a7f0d
Gitweb: https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms/d7f39c40ebb6986e7371510d1c20a4efee4a7f0d
Author: Marc Zyngier <maz@xxxxxxxxxx>
AuthorDate: Fri, 18 Dec 2020 18:03:46
Committer: Marc Zyngier <maz@xxxxxxxxxx>
CommitterDate: Fri, 18 Dec 2020 18:34:17

irqchip/bcm2836: Fix IPI acknowledgement after conversion to handle_percpu_devid_irq

It appears that despite its name, the bcm2836_arm_irqchip_ipi_eoi()
callback is an acknowledgement, and not an EOI. This means that
we lose IPIs that are made pending between the handling of the
IPI and the write to LOCAL_MAILBOX0_CLR0. With the right timing,
things fail nicely.

This used to work with handle_percpu_devid_fasteoi_ipi(), which
started by eoi-ing the interrupt. With the standard fasteoi flow,
this doesn't work anymore.

So let's use this callback for what it is, an ack. Your favourite
RPi-2/3 is back up and running.


Thanks for cleaning up my mess!

Shared responsibilities... ;-)

M.
--
Jazz is not dead. It just smells funny...