From: Cristian Marussi <cristian.marussi@arm.com>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Cristian Marussi <cristian.marussi@arm.com>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Sudeep Holla <sudeep.holla@kernel.org>,
Magnus Damm <magnus.damm@gmail.com>,
Saravana Kannan <saravanak@kernel.org>,
Michael Turquette <mturquette@baylibre.com>,
Stephen Boyd <sboyd@kernel.org>,
Philipp Zabel <p.zabel@pengutronix.de>,
Ulf Hansson <ulfh@kernel.org>,
"Rafael J . Wysocki" <rafael@kernel.org>,
Kevin Hilman <khilman@baylibre.com>,
Florian Fainelli <florian.fainelli@broadcom.com>,
Wolfram Sang <wsa+renesas@sang-engineering.com>,
Marek Vasut <marek.vasut+renesas@mailbox.org>,
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>,
arm-scmi@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-renesas-soc@vger.kernel.org, linux-clk@vger.kernel.org,
devicetree@vger.kernel.org, linux-pm@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH/RFC 05/14] firmware: arm_scmi: Add scmi_get_base_info()
Date: Sun, 17 May 2026 21:58:12 +0100 [thread overview]
Message-ID: <agor5HJ0JFBoX3sZ@pluto> (raw)
In-Reply-To: <CAMuHMdX8b9C3D8fV5th6GCgs6JAq7HZbF_SrOKz_gDy2H8ksow@mail.gmail.com>
On Fri, May 15, 2026 at 05:39:45PM +0200, Geert Uytterhoeven wrote:
> Hi Christian,
>
> On Wed, 22 Apr 2026 at 20:45, Cristian Marussi <cristian.marussi@arm.com> wrote:
> > On Tue, Apr 21, 2026 at 08:11:38PM +0200, Geert Uytterhoeven wrote:
> > > Currently non-SCMI drivers cannot find out what the specific versions of
> > > each SCMI provider implementation on the running system are.
> >
> > Thanks for your patches....this is not a proper full review of the series,
> > BUT this patch catched my eye..
> >
> > Indeed, yes, it is deliberate that the SCMI version information is NOT
> > exposed out of the SCMI world, since being the SCMI an attempt to
> > standardize a common FW interface (as in [1] of course), you should not
> > know what runs inside the black-box, it should be irrelevant...
> >
> > ...indeed the versioning is used inside the SCMI stack to deal properly
> > with different protocol versions implemented by the server OR to apply
> > proper quirks when needed, but all the rest should be standard....
>
> [...]
>
> > I watched a bit of the LPC discussions around this (from Marek I think)
> > but sincerely most of those problems had one (not necessarily simple)
> > solution: fix your firmwares AND/OR apply quirks in the meantime...
>
> So let's forward to the future, where the firmware is fixed, is fully
> compliant with the SCMI spec, and all IDs are stable, so no quirks are
> needed.
>
> Where do we specify the SCMI IDs to use? Unless when using the
> remapping driver proposed in this patch series, they must end up in the
> DTB. Existing upstream users put them either in the SoC-specific .dtsi,
> or in board-specific .dts.
>
> The SCMI server is supposed to expose to an agent (e.g. Linux) a
> sequential and contiguous list of IDs that represent only resources that
> the agent is allowed to use.
> - We cannot put the SCMI IDs in the SoC-specific .dtsi, as that
> describes all hardware in the SoC, which is typically much more than
> Linux can or even wants to use when running on a specific board.
> - You would think we could put the SCMI IDs in the board-specific
> .dts. However, that would limit actual use cases later, which do
> not necessarily depend on the board solely.
> - E.g. when moving control of the CAN-FD controller from Linux to
> the Realtime OS, the CAN-FD node must be disabled in the DTB (by
> overriding status to "reserved", or by just deleting the CAN-FD
> node, both of which can be done by the boot loader). However,
> with SCMI, the IDs corresponding to CAN-FD resources must be
> removed from the ID space, causing a full renumbering. Who is
> supposed to update the IDs in the DTB?
As per my previous email, after such a breaking change I would expect a
new DTB describing the new HW to be needed anyway.
> - E.g. when partitioning a single Linux system in multiple VMs,
> and distributing hardware across these VMs, all VMs need
> different DTBs, each describing a subset of the hardware. With
> SCMI, each VM needs different SCMI ID spaces, causing not a
> simple partitioning of the devices in the DTB, but also a
> renumbering of all IDs.
Ok now I am lost..why do you need a distinct IDs space for each VM ?
In a virtualized env, I would expect to leverage the SCMI stack to
realize the exact opposite: same set of IDs advertised to each VM (and
so same DTB potentially) by the server which in turn can decide to
assign the same device (and handle the sharing) to some ID or assign
different devices to the same or different IDs on each VM: i.e. you
have a set of virtual_IDs that is what the server exposes to each VM
SCMI agent, and then a bunch of real physical IDs, without any contraint
on their numbering, that the server uses in the backstage to refer to
the real resources and that it properly remaps to each per-VM set of
exposed virtual_IDs during the build and/or boot board configuration
phase....i.e. when the FW adapts and reconfigures to the specific
board that is finally running on.
Thanks,
Cristian
next prev parent reply other threads:[~2026-05-17 20:58 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-21 18:11 [PATCH/RFC 00/14] R-Car X5H Ironhide SCMI CPG/MDLC remapping Geert Uytterhoeven
2026-04-21 18:11 ` [PATCH/RFC 01/14] firmware: arm_scmi: quirk: Handle bad power domains on R-Car X5H Geert Uytterhoeven
2026-04-21 18:11 ` [PATCH/RFC 02/14] firmware: arm_scmi: quirk: Handle bad clocks " Geert Uytterhoeven
2026-04-21 18:11 ` [PATCH/RFC 03/14] firmware: arm_scmi: quirk: Handle critical " Geert Uytterhoeven
2026-04-21 18:11 ` [PATCH/RFC 04/14] arm64: dts: renesas: ironhide: Enable SCMI devpd, sys, and reset Geert Uytterhoeven
2026-05-13 23:31 ` Marek Vasut
2026-04-21 18:11 ` [PATCH/RFC 05/14] firmware: arm_scmi: Add scmi_get_base_info() Geert Uytterhoeven
2026-04-22 6:50 ` Geert Uytterhoeven
2026-04-22 18:45 ` Cristian Marussi
2026-04-24 12:08 ` Geert Uytterhoeven
2026-04-26 23:03 ` Cristian Marussi
2026-05-07 8:08 ` Geert Uytterhoeven
2026-05-08 10:26 ` Geert Uytterhoeven
2026-05-17 20:42 ` Cristian Marussi
2026-05-15 15:39 ` Geert Uytterhoeven
2026-05-17 20:58 ` Cristian Marussi [this message]
2026-04-21 18:11 ` [PATCH/RFC 06/14] of: property: fw_devlink: Add support for firmware Geert Uytterhoeven
2026-04-21 18:11 ` [PATCH/RFC 07/14] pmdomain: Make genpd_get_from_provider() public Geert Uytterhoeven
2026-04-21 18:11 ` [PATCH/RFC 08/14] reset: Add reset_controller_get_provider() Geert Uytterhoeven
2026-04-21 18:11 ` [PATCH/RFC 09/14] dt-bindings: clock: Document Renesas R-Car X5H Clock Pulse Generator Geert Uytterhoeven
2026-05-06 22:40 ` Marek Vasut
2026-04-21 18:11 ` [PATCH/RFC 10/14] dt-bindings: power: Document Renesas R-Car X5H Module Controller Geert Uytterhoeven
2026-05-06 22:58 ` Marek Vasut
2026-05-07 7:37 ` Geert Uytterhoeven
2026-05-07 21:36 ` Marek Vasut
2026-05-08 8:26 ` Geert Uytterhoeven
2026-05-10 3:02 ` Marek Vasut
2026-05-07 21:53 ` Marek Vasut
2026-05-08 7:47 ` Geert Uytterhoeven
2026-05-08 12:12 ` Marek Vasut
2026-04-21 18:11 ` [PATCH/RFC 11/14] clk: renesas: Add R-Car X5H CPG SCMI remapping driver Geert Uytterhoeven
2026-04-21 18:11 ` [PATCH/RFC 12/14] pmdomain: renesas: Add R-Car X5H MDLC " Geert Uytterhoeven
2026-04-21 18:11 ` [PATCH/RFC 13/14] arm64: dts: renesas: r8a78000: Add CPG/MDLC nodes Geert Uytterhoeven
2026-04-21 18:11 ` [PATCH/RFC 14/14] arm64: dts: renesas: ironhide: Add CPG/MDLC firmware properties Geert Uytterhoeven
2026-04-22 22:48 ` [PATCH/RFC 00/14] R-Car X5H Ironhide SCMI CPG/MDLC remapping Kevin Hilman
2026-04-24 11:28 ` Geert Uytterhoeven
2026-04-28 0:52 ` Kevin Hilman
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=agor5HJ0JFBoX3sZ@pluto \
--to=cristian.marussi@arm.com \
--cc=arm-scmi@vger.kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=florian.fainelli@broadcom.com \
--cc=geert@linux-m68k.org \
--cc=khilman@baylibre.com \
--cc=krzk+dt@kernel.org \
--cc=kuninori.morimoto.gx@renesas.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=magnus.damm@gmail.com \
--cc=marek.vasut+renesas@mailbox.org \
--cc=mturquette@baylibre.com \
--cc=p.zabel@pengutronix.de \
--cc=rafael@kernel.org \
--cc=robh@kernel.org \
--cc=saravanak@kernel.org \
--cc=sboyd@kernel.org \
--cc=sudeep.holla@kernel.org \
--cc=ulfh@kernel.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox