RE: [PATCH 3/6] dt-bindings: interrupt-controller: amazon, al-fic: add error/fatal groups

From: Farber, Eliav

Date: Sun Sep 27 2026 - 04:03:31 EST


On Fri, Sep 25, 2026 at 06:13:38PM +0100, Conor Dooley wrote:
> On Fri, Sep 25, 2026 at 10:24:38AM +0000, Farber, Eliav wrote:
> > Agreed, the message failed to describe the hardware. Here it is, and v2
> > will carry it.
>
> Cool. I won't pretend to understand all of what is written here, but it
> does assuage my concern that you were coming up with compatibles for
> the 0x2c and 0x34 registers. I'm not entirely sure that a compatible
> change is the right way to communicate which aspect of the device is
> being used - typically things like this get dedicated properties because
> AFAICT from the below the hardware is the same, just the output path
> differs, something like this incomplete diff:

Agreed, a property is the right fit. v2 does that.

One compatible (amazon,al-fic) and a new optional property,
amazon,al-fic-mask, enum [info, error, fatal], default info. No
amazon,al-fic-v2 fallback: a node describes one group, and the group
reports its revision in its own control register, so the driver reads it
rather than encoding it in a string. The default keeps existing
amazon,al-fic nodes behaving as they do today.

> The fallback does worry me a little though, since it'd operate the
> instances intended to be fatal or error as info, which would probably
> cause problems? Unless each has different output ports, and it's not
> controlling a mux to a single port, and the worst outcome then would be
> that nothing would ever be reported.

Right on the second half: they are different output ports, not a mux. A
group drives exactly one of three separate outputs (info, error, fatal),
each with its own mask register and its own aggregation tree to the GIC.
The property picks which mask register the driver programs; it does not
retarget a shared port.

That is also why there is no unsafe fallback. On the classic revision the
error and fatal masks do not exist, so asking for error or fatal there is
rejected at probe against the control register rather than silently
falling back to info.

The commit message now describes the hardware and the group granularity,
and the binding gains an example.

Thanks for the review.

Eliav