From: sashiko-bot@kernel.org
To: "Markus Schneider-Pargmann (TI)" <msp@baylibre.com>
Cc: robh@kernel.org, devicetree@vger.kernel.org, conor+dt@kernel.org
Subject: Re: [PATCH v9 7/9] arm64: dts: ti: k3-am62a: Split r5f memory region
Date: Fri, 18 Sep 2026 09:40:11 +0000 [thread overview]
Message-ID: <20260918094011.99AE01F000FF@smtp.kernel.org> (raw)
In-Reply-To: <20260918-topic-am62a-ioddr-dt-v6-19-v9-7-40972ef1f663@baylibre.com>
Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider:
- [High] remoteproc: ti_k3: k3_rproc_da_to_va() rejects segments spanning split memory regions
- [High] arm64: dts: ti: missing bootph-pre-ram breaks SPL DM firmware loading
- [Medium] arm64: dts: ti: hardcoding volatile firmware layout into Device Tree
--
commit 33643294863f45f1ac37617eafcfc525d230effc
Author: Markus Schneider-Pargmann (TI) <msp@baylibre.com>
arm64: dts: ti: k3-am62a: Split r5f memory region
Split the firmware memory region in more specific parts so it is better
described where to find which information. Specifically the LPM metadata
region is important as bootloader software like U-Boot has to know where
that data is to be able to read that data.
> diff --git a/arch/arm64/boot/dts/ti/k3-am62a-ti-ipc-firmware.dtsi b/arch/arm64/boot/dts/ti/k3-am62a-ti-ipc-firmware.dtsi
> index 06d4e815b1670..94c1d60d8d7a1 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62a-ti-ipc-firmware.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am62a-ti-ipc-firmware.dtsi
> @@ -65,8 +65,14 @@ &wkup_r5fss0 {
> &wkup_r5fss0_core0 {
> mboxes = <&mailbox0_cluster0>, <&mbox_r5_0>;
> memory-region = <&wkup_r5fss0_core0_dma_memory_region>,
> - <&wkup_r5fss0_core0_memory_region>;
> - memory-region-names = "dma", "firmware";
> + <&wkup_r5fss0_core0_ipc_region>,
> + <&wkup_r5fss0_core0_lpm_fs_stub_region>,
> + <&wkup_r5fss0_core0_lpm_metadata_region>,
> + <&wkup_r5fss0_core0_lpm_rest_region>,
> + <&wkup_r5fss0_core0_dm_region>;
[Severity: High]
Does this multi-region split cause a regression when loading a monolithic
firmware ELF whose segments span across the new chunk boundaries?
Looking at k3_rproc_da_to_va() in drivers/remoteproc/ti_k3_common.c, it
evaluates segments against each reserved memory region individually and
lacks logic to aggregate sequential chunks:
drivers/remoteproc/ti_k3_common.c:k3_rproc_da_to_va() {
...
if (da >= dev_addr && ((da + len) <= (dev_addr + size))) {
offset = da - dev_addr;
va = kproc->rmem[i].cpu_addr + offset;
return (__force void *)va;
}
...
}
Will this bounds check fail and abort the boot sequence for any system using
standard firmware linked under the assumption of a single contiguous memory
block?
> + memory-region-names = "dma", "ipc", "lpm-stub",
> + "lpm-metadata", "lpm-context",
> + "dm-firmware";
[ ... ]
> diff --git a/arch/arm64/boot/dts/ti/k3-am62d2-evm.dts b/arch/arm64/boot/dts/ti/k3-am62d2-evm.dts
> index a8c794d073431..7cba3ff99e6a3 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62d2-evm.dts
> +++ b/arch/arm64/boot/dts/ti/k3-am62d2-evm.dts
> @@ -65,13 +65,37 @@ wkup_r5fss0_core0_dma_memory_region: memory@9c800000 {
[ ... ]
> + wkup_r5fss0_core0_lpm_fs_stub_region: memory@9ca00000 {
> + compatible = "shared-dma-pool";
> + reg = <0x00 0x9ca00000 0x00 0x8000>;
> + no-map;
> + };
[Severity: Medium]
Does this create a regression by hardcoding a software-defined volatile
firmware layout directly into the Device Tree?
If a subsequent firmware build increases the size of lpm_fs_stub beyond the
32KB hardcoded here, will this crash or require a lockstep DT update to
function properly?
> +
> + wkup_r5fss0_core0_lpm_metadata_region: memory@9ca08000 {
> + compatible = "shared-dma-pool";
> + reg = <0x00 0x9ca08000 0x00 0x1000>;
> no-map;
> bootph-pre-ram;
> };
>
> + wkup_r5fss0_core0_lpm_rest_region: memory@9ca09000 {
> + compatible = "shared-dma-pool";
> + reg = <0x00 0x9ca09000 0x00 0x97000>;
> + no-map;
> + };
> +
> + wkup_r5fss0_core0_dm_region: memory@9caa0000 {
> + compatible = "shared-dma-pool";
> + reg = <0x00 0x9caa0000 0x00 0x1c60000>;
> + no-map;
> + };
[Severity: High]
Does the omission of the bootph-pre-ram tag on this new DM region create a
regression for SPL DM firmware loading?
Since U-Boot fdtgrep processes the SPL DTB by keeping only nodes tagged
with bootph-pre-ram, these split regions will be stripped.
Will this result in the no-map protections being lost, causing U-Boot's
remoteproc driver to error out parsing dangling phandles when attempting
to load the Device Manager (DM) firmware?
> +
> secure_ddr: optee@9e800000 {
> reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */
> no-map;
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260918-topic-am62a-ioddr-dt-v6-19-v9-0-40972ef1f663@baylibre.com?part=7
next prev parent reply other threads:[~2026-09-18 9:40 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-18 9:17 [PATCH v9 0/9] arm64: dts: ti: Split wkup R5F memory region for IO+DDR resume Markus Schneider-Pargmann (TI)
2026-09-18 9:17 ` [PATCH v9 1/9] arm64: dts: ti: k3-am62a-phycore-som: Fix wkup R5F memory region size Markus Schneider-Pargmann (TI)
2026-09-18 11:31 ` Wadim Egorov
2026-09-18 9:17 ` [PATCH v9 2/9] arm64: dts: ti: k3-am62d2-evm: " Markus Schneider-Pargmann (TI)
2026-09-18 9:17 ` [PATCH v9 3/9] arm64: dts: ti: k3-am62a7-sk: " Markus Schneider-Pargmann (TI)
2026-09-18 9:17 ` [PATCH v9 4/9] arm64: dts: ti: k3-am62p-verdin: " Markus Schneider-Pargmann (TI)
2026-09-18 9:17 ` [PATCH v9 5/9] arm64: dts: ti: k3-am62p5-sk: " Markus Schneider-Pargmann (TI)
2026-09-18 9:17 ` [PATCH v9 6/9] arm64: dts: ti: var-som-am62p: " Markus Schneider-Pargmann (TI)
2026-09-18 9:17 ` [PATCH v9 7/9] arm64: dts: ti: k3-am62a: Split r5f memory region Markus Schneider-Pargmann (TI)
2026-09-18 9:40 ` sashiko-bot [this message]
2026-09-24 14:55 ` Nishanth Menon
2026-09-29 9:55 ` Markus Schneider-Pargmann
2026-09-18 9:17 ` [PATCH v9 8/9] arm64: dts: ti: k3-am62p: " Markus Schneider-Pargmann (TI)
2026-09-18 9:35 ` sashiko-bot
2026-09-18 11:47 ` Stefano Radaelli
2026-09-18 9:17 ` [PATCH v9 9/9] arm64: dts: ti: Add wkup R5F nodes to pre-ram bootphase Markus Schneider-Pargmann (TI)
2026-09-18 11:48 ` Stefano Radaelli
2026-10-02 1:00 ` [PATCH v9 0/9] arm64: dts: ti: Split wkup R5F memory region for IO+DDR resume Nishanth Menon
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=20260918094011.99AE01F000FF@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=msp@baylibre.com \
--cc=robh@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
/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