firmware: arm_ffa: Add support for FFA_MSG_SEND_DIRECT_{REQ,RESP}2
authorSudeep Holla <sudeep.holla@arm.com>
Tue, 20 Aug 2024 14:27:58 +0000 (15:27 +0100)
committerSudeep Holla <sudeep.holla@arm.com>
Tue, 20 Aug 2024 14:40:44 +0000 (15:40 +0100)
commitaaef3bc98129c86078b336f16788dd733b0728a4
tree0d17aaebcb5512f785e438ce8f61ad3630d0b13a
parentba85c644ac8dc37d9b01a3332c2f142cb4d46954
firmware: arm_ffa: Add support for FFA_MSG_SEND_DIRECT_{REQ,RESP}2

FFA_MSG_SEND_DIRECT_{REQ,RESP} supported only x3-x7 to pass implementation
defined values as part of the message. This may not be sufficient sometimes
and also it would be good to use all the registers supported by SMCCC v1.2
(x0-x17) for such register based communication.

Also another limitation with the FFA_MSG_SEND_DIRECT_{REQ,RESP} is the
ability to target a specific service within the partition based on it's
UUID.

In order to address both of the above limitation, FF-A v1.2 introduced
FFA_MSG_SEND_DIRECT_{REQ,RESP}2 which has the ability to target the
message to a specific service based on its UUID within a partition as
well as utilise all the available registers(x4-x17 specifically) for
the communication.

This change adds support for FFA_MSG_SEND_DIRECT_REQ2 and
FFA_MSG_SEND_DIRECT_RESP2.

Message-Id: <20240820-ffa_v1-2-v2-5-18c0c5f3c65e@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
drivers/firmware/arm_ffa/driver.c
include/linux/arm_ffa.h