diff mbox series

firmware: arm_scmi: Update various protocols versions

Message ID 20240812174027.3931160-1-cristian.marussi@arm.com (mailing list archive)
State New, archived
Headers show
Series firmware: arm_scmi: Update various protocols versions | expand

Commit Message

Cristian Marussi Aug. 12, 2024, 5:40 p.m. UTC
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@arm.com>
---
 drivers/firmware/arm_scmi/base.c    | 2 +-
 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(-)

Comments

Dhruva Gole Aug. 13, 2024, 11:22 a.m. UTC | #1
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@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

>  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


Reviewed-by: Dhruva Gole <d-gole@ti.com>
Cristian Marussi Aug. 13, 2024, 1:33 p.m. UTC | #2
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@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@ti.com>
> 

Thanks for having a look.
Cristian
Sudeep Holla Aug. 16, 2024, 9:31 a.m. UTC | #3
On Mon, 12 Aug 2024 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.
> 
> 

Applied to sudeep.holla/linux (for-next/scmi/updates), thanks!

[1/1] firmware: arm_scmi: Update various protocols versions
      https://git.kernel.org/sudeep.holla/c/be9f086524b3
--
Regards,
Sudeep
diff mbox series

Patch

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
 
 #define SCMI_BASE_NUM_SOURCES		1
 #define SCMI_BASE_MAX_CMD_ERR_COUNT	1024
diff --git a/drivers/firmware/arm_scmi/power.c b/drivers/firmware/arm_scmi/power.c
index 49666bd1d8ac..59aa16444c64 100644
--- a/drivers/firmware/arm_scmi/power.c
+++ b/drivers/firmware/arm_scmi/power.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		0x30000
+#define SCMI_PROTOCOL_SUPPORTED_VERSION		0x30001
 
 enum scmi_power_protocol_cmd {
 	POWER_DOMAIN_ATTRIBUTES = 0x3,
diff --git a/drivers/firmware/arm_scmi/reset.c b/drivers/firmware/arm_scmi/reset.c
index 1b318316535e..0aa82b96f41b 100644
--- a/drivers/firmware/arm_scmi/reset.c
+++ b/drivers/firmware/arm_scmi/reset.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		0x30000
+#define SCMI_PROTOCOL_SUPPORTED_VERSION		0x30001
 
 enum scmi_reset_protocol_cmd {
 	RESET_DOMAIN_ATTRIBUTES = 0x3,
diff --git a/drivers/firmware/arm_scmi/sensors.c b/drivers/firmware/arm_scmi/sensors.c
index 7fc5535ca34c..791efd0f82d7 100644
--- a/drivers/firmware/arm_scmi/sensors.c
+++ b/drivers/firmware/arm_scmi/sensors.c
@@ -15,7 +15,7 @@ 
 #include "notify.h"
 
 /* Updated only after ALL the mandatory features for that version are merged */
-#define SCMI_PROTOCOL_SUPPORTED_VERSION		0x30000
+#define SCMI_PROTOCOL_SUPPORTED_VERSION		0x30001
 
 #define SCMI_MAX_NUM_SENSOR_AXIS	63
 #define	SCMIv2_SENSOR_PROTOCOL		0x10000
diff --git a/drivers/firmware/arm_scmi/system.c b/drivers/firmware/arm_scmi/system.c
index b6358c155f7f..ec3d355d1772 100644
--- a/drivers/firmware/arm_scmi/system.c
+++ b/drivers/firmware/arm_scmi/system.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
 
 #define SCMI_SYSTEM_NUM_SOURCES		1
 
diff --git a/drivers/firmware/arm_scmi/voltage.c b/drivers/firmware/arm_scmi/voltage.c
index f1a7c04ae820..fda6a1573609 100644
--- a/drivers/firmware/arm_scmi/voltage.c
+++ b/drivers/firmware/arm_scmi/voltage.c
@@ -11,7 +11,7 @@ 
 #include "protocols.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
 
 #define VOLTAGE_DOMS_NUM_MASK		GENMASK(15, 0)
 #define REMAINING_LEVELS_MASK		GENMASK(31, 16)