Re: [PATCH 1/2] irqchip/gic: Handle non-standard SGI deactivation on Samsung's Franken-GIC

From: Marc Zyngier
Date: Tue Sep 15 2020 - 11:23:05 EST


On 2020-09-15 15:06, Marek Szyprowski wrote:
On 15.09.2020 15:39, Marc Zyngier wrote:
The GIC available on some of Samsung's A9-based platform is
thankfully one of a kind. On top of not presenting a banked
programing model (each CPU has its own base addresses for both
distributor and CPU interface), it also encodes the source CPU
for SGIs in the INTID read from IAR, and requires this exact
value to be written back to EOI.

Without this, interrupts are never deactivated, and the kernel
grinds to a halt.

Work around it by stashing the INTID for in-flight SGIs, and
using that value on EOI. This only works because we don't nest
SGIs.

Reported-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
Fixes: ac063232d4b0 ("irqchip/gic: Configure SGIs as standard interrupts")
Signed-off-by: Marc Zyngier <maz@xxxxxxxxxx>

Works fine, thanks!

Tested-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>

Thanks for having reported the failure, and your patience with testing
all kind of random things! ;-)

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