firmware: arm_scmi: Make optee support sync_cmds_completed_on_ret
authorCristian Marussi <cristian.marussi@arm.com>
Mon, 20 Dec 2021 19:56:40 +0000 (19:56 +0000)
committerSudeep Holla <sudeep.holla@arm.com>
Tue, 21 Dec 2021 10:59:37 +0000 (10:59 +0000)
commitbf322084fec30b92423911db0169a3610008fc15
treed2ccadc3601878e92091ac8275194af67f55de31
parent117542b81fe7b12002afc0cfdcf6cdd3ebfc0f18
firmware: arm_scmi: Make optee support sync_cmds_completed_on_ret

Declare each OPTEE SCMI channel as not having a completion_irq so as to
enable polling mode and then enable also .sync_cmds_completed_on_ret flag
in the OPTEE transport descriptor so that real polling is itself
effectively bypassed on the rx path: once the optee command invocation has
successfully returned the core will directly fetch the response from the
shared memory area.

Remove OPTEE SCMI transport specific .poll_done callback support since
real polling is effectively bypassed when .sync_cmds_completed_on_ret is
set.

Add OPTEE SCMI transport specific .mark_txdone callback support in order to
properly handle channel locking along the tx path.

Link: https://lore.kernel.org/r/20211220195646.44498-6-cristian.marussi@arm.com
Cc: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
drivers/firmware/arm_scmi/optee.c