[PATCH] firmware: arm_scmi: Update various protocols versions

Cristian Marussi cristian.marussi at arm.com
Tue Aug 13 06:33:42 PDT 2024


On Tue, Aug 13, 2024 at 04:52:37PM +0530, Dhruva Gole wrote:
> On Aug 12, 2024 at 18:40:27 +0100, Cristian Marussi wrote:
> > A few protocol versions had been increased with SCMI v3.2.
> > Update accordingly the supported version define in the kernel stack, since
> > all the mandatory Base commands are indeed already supported.
> > 
> > Signed-off-by: Cristian Marussi <cristian.marussi at arm.com>
> > ---
> >  drivers/firmware/arm_scmi/base.c    | 2 +-
> 
> I assume this patch supersedes [1] ?
> 
> [1] https://lore.kernel.org/arm-scmi/ZrZMLZq_-b9EFRgn@pluto/T/#t
> 

Oh Yes, I replied to myself on that saying that I spotted more versions
ro fix.

> >  drivers/firmware/arm_scmi/power.c   | 2 +-
> >  drivers/firmware/arm_scmi/reset.c   | 2 +-
> >  drivers/firmware/arm_scmi/sensors.c | 2 +-
> >  drivers/firmware/arm_scmi/system.c  | 2 +-
> >  drivers/firmware/arm_scmi/voltage.c | 2 +-
> >  6 files changed, 6 insertions(+), 6 deletions(-)
> > 
> > diff --git a/drivers/firmware/arm_scmi/base.c b/drivers/firmware/arm_scmi/base.c
> > index 97254de35ab0..9939b1d84b7a 100644
> > --- a/drivers/firmware/arm_scmi/base.c
> > +++ b/drivers/firmware/arm_scmi/base.c
> > @@ -14,7 +14,7 @@
> >  #include "notify.h"
> >  
> >  /* Updated only after ALL the mandatory features for that version are merged */
> > -#define SCMI_PROTOCOL_SUPPORTED_VERSION		0x20000
> > +#define SCMI_PROTOCOL_SUPPORTED_VERSION		0x20001
> 
> Just curious, in upstream master TF-A I see 0x20000 still? [1]
> 
> [1] https://github.com/ARM-software/arm-trusted-firmware/blob/master/drivers/scmi-msg/base.h#L12
> 

So, the thig goes like this.

This patch fixes the version of the maximum supported version in the kernel SCMI
stack, since it was wrongly left to the old version...wrongly becase we really
support already all the mandatory feats for those versions..it ws just
that the minor was not bumped properly...my bad.

What happens, Kernel side, is that the we support all the SCMI versions up to
the declared supported version above and, if we detect an OLDER version on the
platform we will just silently backdrop to the older version as advertised by
the platform, WHILE if we detect a NEWER unsupported platform version for a
protocol, we will try a NEGOTIATE_PROTOCOL to ask the platform to use an older
known-to-us version (difficult that a platform suppors multiple vers) and then
we'll go using our newest protocol vwersion stack against this even more
new platform protocol implementation.... best effort with a WARNING.

This patch is just bumping that minors, since all the feats are really
supported already (as said), but without this, it if it happened that we
encountered a platform advertising the latest version we would have
complained (as above specified) even though we really suppported that
version.

Having said that, TF-A and SCP can certainly still not have been updated
(and maybe some protocols will never be updated..,) but that is not an
issue from the Linux agent persepctive (as said above)

> 
> Reviewed-by: Dhruva Gole <d-gole at ti.com>
> 

Thanks for having a look.
Cristian



More information about the linux-arm-kernel mailing list