diff options
| author | Eliav Farber <farbere@amazon.com> | 2026-10-11 05:04:46 +0000 |
|---|---|---|
| committer | Thomas Gleixner <tglx@kernel.org> | 2026-10-15 14:25:07 +0200 |
| commit | 3d41f28682aa8375a025bc999e403852a78c092c (patch) | |
| tree | 2e78272385be7771287c996fd2ac9b352f3f7d65 /kernel | |
| parent | 485ab2a36d36edb2bb630d2491d2ab7ed11178fc (diff) | |
irqchip/al-fic: Support error and fatal outputs and FIC v2
FIC v2 hardware adds two interrupt outputs on top of the info output: an
error output and a fatal output, each with its own mask register
(AL_FIC_ERROR_MASK, AL_FIC_FATAL_MASK). A group drives exactly one of the
three outputs.
Read which output a group drives from the amazon,al-fic-mask devicetree
property (info, error or fatal; absent means info) and program the
matching mask register. Detect the hardware revision from the CONTROL
register version field (bits 28-29). The revision is not in the
devicetree, so requesting the error or fatal output on a v1 device - which
has neither - is rejected at probe against the register.
Name the selected output in the probe log line, in place of the "Legacy
mode" text it replaces. A booted system then shows which output each group
drives.
The "v1" and "v2" names are this driver's labels for the CONTROL
version field encoding (0 and 1).
The driver seeds mask_cache from the value it programs rather than having
the generic chip read the mask register back, so the error and fatal mask
registers are never read - which also sidesteps the v2 erratum where they
always read as 0 regardless of their contents.
Reading CONTROL to get the version field turns the write that follows into
a read-modify-write instead of a value built from CONTROL_MASK_MSI_X
alone. Every RW bit in this register resets to 0, so the two are
equivalent at probe time; the read-modify-write is kept anyway as the
better practice; it costs nothing and does not depend on the reset value
staying 0.
Signed-off-by: Eliav Farber <farbere@amazon.com>
Signed-off-by: Thomas Gleixner <tglx@kernel.org>
Reviewed-by: Radu Rendec <radu@rendec.net>
Link: https://patch.msgid.link/20261011050449.41903-8-farbere@amazon.com
Diffstat (limited to 'kernel')
0 files changed, 0 insertions, 0 deletions
