]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
firmware: arm_scmi: Rework protocol version negotiation logic
authorCristian Marussi <cristian.marussi@arm.com>
Sat, 27 Dec 2025 16:41:31 +0000 (16:41 +0000)
committerSudeep Holla <sudeep.holla@arm.com>
Sat, 27 Dec 2025 20:09:30 +0000 (20:09 +0000)
commit0fac05fdd9afff6de07a3766db802a3f2d028e2a
treea2ed07a695d5c61d88a22dd08fef661daf742739
parent6c2fd7a71e7ab490a0a9d591486d923712012f59
firmware: arm_scmi: Rework protocol version negotiation logic

Protocol version negotiation can be used by an agent to request the server
to downgrade the version effectively utilized by a specific protocol
during the current session, if the latest version used by the server is
newer than the latest version known to the client.

In order for the negotiation process to be fully effective at preventing
any possible version incompatibility, it must happen early on, well before
the specific protocol initialization phase takes place.

Delegate protocol version querying to the core SCMI stack and rework the
protocol negotiation logic in order to execute the needed negotiation
exchanges upfront, right before the initialization phase takes place.

Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
Message-Id: <20251227164132.1311988-2-cristian.marussi@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
drivers/firmware/arm_scmi/driver.c
drivers/firmware/arm_scmi/protocols.h