Commit 84968e32 authored by Sudeep Holla's avatar Sudeep Holla
Browse files

firmware: arm_ffa: Helper to check if a partition can receive REQUEST2 messages



Add a helper that allows FF-A drivers to check if the partition can
receive the direct requests via the FFA_MSG_SEND_DIRECT_REQ2 ABI.

Tested-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
Message-Id: <20250217-ffa_updates-v3-9-bd1d9de615e7@arm.com>
Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
parent 46dcd68a
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -240,6 +240,10 @@ struct ffa_partition_info {
#define FFA_PARTITION_NOTIFICATION_RECV	BIT(3)
/* partition runs in the AArch64 execution state. */
#define FFA_PARTITION_AARCH64_EXEC	BIT(8)
/* partition supports receipt of direct request2 */
#define FFA_PARTITION_DIRECT_REQ2_RECV	BIT(9)
/* partition can send direct request2. */
#define FFA_PARTITION_DIRECT_REQ2_SEND	BIT(10)
	u32 properties;
	uuid_t uuid;
};
@@ -259,6 +263,10 @@ bool ffa_partition_check_property(struct ffa_device *dev, u32 property)
#define ffa_partition_supports_direct_recv(dev)	\
	ffa_partition_check_property(dev, FFA_PARTITION_DIRECT_RECV)

#define ffa_partition_supports_direct_req2_recv(dev)	\
	(ffa_partition_check_property(dev, FFA_PARTITION_DIRECT_REQ2_RECV) && \
	 !dev->mode_32bit)

/* For use with FFA_MSG_SEND_DIRECT_{REQ,RESP} which pass data via registers */
struct ffa_send_direct_data {
	unsigned long data0; /* w3/x3 */