mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Radu Rendec <radu@rendec.net>
To: Eliav Farber <farbere@amazon.com>,
	Thomas Gleixner <tglx@kernel.org>,
	 Talel Shenhar <talel@amazon.com>
Cc: Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 5/8] dt-bindings: interrupt-controller: amazon,al-fic: add mask selection
Date: Sun, 04 Oct 2026 17:06:03 -0400	[thread overview]
Message-ID: <b5f627c814a783f989dc4e9edc2d1c17eaacf1d9.camel@rendec.net> (raw)
In-Reply-To: <20260927080637.27285-6-farbere@amazon.com>

On Sun, 2026-09-27 at 08:06 +0000, Eliav Farber wrote:
> The block this driver calls a FIC is the generic Annapurna Labs interrupt
> controller. It is built from groups of up to 32 triggers each; the number
> of groups differs from one controller to another, and each group has its
> own 0x40 register block.
> 
> A node in this binding describes one group, not a whole controller. reg
> points at that group's 0x40 block, and the 32 hwirqs of the domain are
> that group's triggers. A controller with several groups appears as several
> nodes, and controllers cascade when a tree needs more triggers than one
> controller has.
> 
> A group has one cause register and three mask registers, which decide
> which output a set cause bit drives:
> 
>   0x10  info mask    gates the info output
>   0x2c  error mask   gates the error output
>   0x34  fatal mask   gates the fatal output
> 
> The three outputs are aggregated into three separate interrupt trees
> (info, error, fatal); mapping one event to more than one severity is
> forbidden by the interrupt methodology, so a group belongs to exactly one
> tree. Which output a group drives is fixed when the SoC is wired and is
> not discoverable from any register, so it must be described in the
> devicetree.
> 
> The error and fatal outputs, and their mask registers, exist only on
> controller revisions that implement them; earlier revisions provide the
> info output only. A controller reports its revision in the group control
> register (bits 29-28), so the revision itself does not need to appear in
> the devicetree and no per-revision compatible string is needed.
> 
> Describe which output a group drives with a new optional property,
> amazon,al-fic-mask (info, error or fatal; default info).
> 
> Signed-off-by: Eliav Farber <farbere@amazon.com>
> ---
> v2: redesigned in response to Conor Dooley's review of v1.
>  - Drop the two proposed per-output compatible strings
>    (amazon,al-fic-error / amazon,al-fic-fatal). A node describes one group,
>    and a controller reports its revision in the group control register
>    (bits 29-28), so no per-revision or per-output compatible is needed.
>  - Instead add an optional amazon,al-fic-mask property (info, error, fatal;
>    default info) selecting which output a group drives. Existing
>    amazon,al-fic nodes keep behaving as before.
>  - Rewrite the commit message to describe the hardware and the group
>    granularity, and add an example fragment to the YAML, as requested.
> 
>  .../interrupt-controller/amazon,al-fic.yaml      | 16 +++++++++++++++-
>  1 file changed, 15 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/devicetree/bindings/interrupt-controller/amazon,al-fic.yaml b/Documentation/devicetree/bindings/interrupt-controller/amazon,al-fic.yaml
> index 26bc05dee0bc..1ebf9a427f2f 100644
> --- a/Documentation/devicetree/bindings/interrupt-controller/amazon,al-fic.yaml
> +++ b/Documentation/devicetree/bindings/interrupt-controller/amazon,al-fic.yaml
> @@ -24,6 +24,19 @@ properties:
>    interrupts:
>      maxItems: 1
>  
> +  amazon,al-fic-mask:
> +    $ref: /schemas/types.yaml#/definitions/string
> +    description:
> +      Selects which of the controller's severity outputs this group drives,
> +      and thus which mask register the driver programs. A group has one cause
> +      register and three severity outputs - info, error and fatal - each
> +      gated by its own mask register. Each output is aggregated into a
> +      separate interrupt tree, and a group belongs to exactly one of them.
> +      The error and fatal outputs exist only on controller revisions that
> +      implement them; earlier revisions provide the info output only.
> +    enum: [info, error, fatal]
> +    default: info
> +
>  required:
>    - compatible
>    - reg
> @@ -39,8 +52,9 @@ examples:
>  
>      interrupt-controller@fd8a8500 {
>          compatible = "amazon,al-fic";
> -        reg = <0xfd8a8500 0x1000>;
> +        reg = <0xfd8a8500 0x40>;
>          interrupt-controller;
>          #interrupt-cells = <2>;
>          interrupts = <GIC_SPI 0x0 IRQ_TYPE_LEVEL_HIGH>;
> +        amazon,al-fic-mask = "error";
>      };

Reviewed-by: Radu Rendec <radu@rendec.net>

  parent reply	other threads:[~2026-10-04 21:06 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-27  8:06 [PATCH v2 0/8] irqchip/al-fic: shared parent IRQ, error/fatal outputs and affinity Eliav Farber
2026-09-27  8:06 ` [PATCH v2 1/8] irqchip/al-fic: fix argument alignment and a repeated word Eliav Farber
2026-10-04 16:15   ` Radu Rendec
2026-09-27  8:06 ` [PATCH v2 2/8] irqchip/al-fic: use %pOF and raise init log level Eliav Farber
2026-10-04 16:25   ` Radu Rendec
2026-09-27  8:06 ` [PATCH v2 3/8] irqchip/al-fic: keep the device_node instead of a cached name string Eliav Farber
2026-10-04 17:40   ` Radu Rendec
2026-09-27  8:06 ` [PATCH v2 4/8] irqchip/al-fic: switch to shared parent interrupt Eliav Farber
2026-10-04 19:30   ` Radu Rendec
2026-09-27  8:06 ` [PATCH v2 5/8] dt-bindings: interrupt-controller: amazon,al-fic: add mask selection Eliav Farber
2026-09-28 16:50   ` Conor Dooley
2026-10-04 21:06   ` Radu Rendec [this message]
2026-09-27  8:06 ` [PATCH v2 6/8] irqchip/al-fic: support error and fatal outputs and FIC v2 Eliav Farber
2026-10-05  1:01   ` Radu Rendec
2026-09-27  8:06 ` [PATCH v2 7/8] irqchip/al-fic: add support for FIC v3 Eliav Farber
2026-10-05  1:04   ` Radu Rendec
2026-09-27  8:06 ` [PATCH v2 8/8] irqchip/al-fic: add irq_set_affinity callback Eliav Farber
2026-10-05  1:25   ` Radu Rendec

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=b5f627c814a783f989dc4e9edc2d1c17eaacf1d9.camel@rendec.net \
    --to=radu@rendec.net \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=farbere@amazon.com \
    --cc=krzk+dt@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robh@kernel.org \
    --cc=talel@amazon.com \
    --cc=tglx@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®