From: sashiko-bot@kernel.org
To: "Marek Vasut" <marek.vasut+renesas@mailbox.org>
Cc: robh@kernel.org, conor+dt@kernel.org,
wsa+renesas@sang-engineering.com, devicetree@vger.kernel.org,
krzk+dt@kernel.org
Subject: Re: [PATCH v2] arm64: dts: renesas: r8a78000: Fix GIC-720AE View 1 Redistributor description
Date: Thu, 14 May 2026 19:21:54 +0000 [thread overview]
Message-ID: <20260514192155.54AF4C2BCB3@smtp.kernel.org> (raw)
In-Reply-To: <20260514125328.20954-1-marek.vasut+renesas@mailbox.org>
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] DT fragmentation creates a booby trap leading to a fatal Data Abort if booted in View 0.
- [High] Splitting regions makes the GIC probe extremely brittle to sparse CPU topologies.
--
commit ff8b7280cc2b6f0b2be6c7d236cd18a4ed49d89b
Author: Marek Vasut <marek.vasut+renesas@mailbox.org>
arm64: dts: renesas: r8a78000: Fix GIC-720AE View 1 Redistributor description
This commit splits the contiguous 8MB redistributor region into 32 separate
256KB regions. This attempts to work around the GIC-720AE View 1 behavior
where the first redistributor returns GICR_TYPER.Last == 1.
> diff --git a/arch/arm64/boot/dts/renesas/r8a78000.dtsi b/arch/arm64/boot/dts/renesas/r8a78000.dtsi
> index 4c97298fa7634..fd268604c0ec5 100644
> --- a/arch/arm64/boot/dts/renesas/r8a78000.dtsi
> +++ b/arch/arm64/boot/dts/renesas/r8a78000.dtsi
> @@ -689,8 +689,40 @@ gic: interrupt-controller@39000000 {
> #interrupt-cells = <3>;
> #address-cells = <0>;
> interrupt-controller;
> - reg = <0 0x39000000 0 0x10000>,
> - <0 0x39080000 0 0x800000>;
> + #redistributor-regions = <32>;
> + reg = <0x0 0x39000000 0x0 0x10000>,
> + <0x0 0x39080000 0x0 0x40000>,
> + <0x0 0x390c0000 0x0 0x40000>,
Could this cause a Data Abort if the system is booted in View 0?
Because the Device Tree binding doesn't currently support setting
single_redist = true for these regions, each 256KB region is mapped exactly
to that size via ioremap.
If booted in View 0, the hardware operates normally and intermediate
redistributors return GICR_TYPER.Last == 0.
The GIC driver's gic_iterate_rdists() inner loop relies entirely on the
GICR_TYPER.Last == 1 bit to break. Without it, the driver will advance ptr
and attempt to read gic_read_typer(ptr + GICR_TYPER) exactly at or beyond the
256KB ioremap boundary, triggering a Data Abort and kernel panic during early
boot.
Would it be safer to keep the DT as a single continuous region and add a
hardware-specific quirk to the GIC driver to bypass the LAST bit?
Additionally, does splitting these regions make the GIC probe brittle on
sparse CPU topologies?
If a redistributor is missing, such as a fused-off core, and returns an
invalid PIDR2, the driver will issue a warning and execute a break.
This break exits the entire outer for loop in gic_iterate_rdists(),
immediately aborting the discovery of all subsequent redistributor regions.
Any present CPUs located after a fused-off core would then fail to be
probed and will fail to boot.
[ ... ]
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260514125328.20954-1-marek.vasut+renesas@mailbox.org?part=1
prev parent reply other threads:[~2026-05-14 19:21 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-14 12:53 [PATCH v2] arm64: dts: renesas: r8a78000: Fix GIC-720AE View 1 Redistributor description Marek Vasut
2026-05-14 19:21 ` sashiko-bot [this message]
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=20260514192155.54AF4C2BCB3@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=krzk+dt@kernel.org \
--cc=marek.vasut+renesas@mailbox.org \
--cc=robh@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
--cc=wsa+renesas@sang-engineering.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.