mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
firmware: arm_ffa: Allow the FF-A drivers to use 32bit mode of messaging
[ Upstream commit2d698e8b4f
] An FF-A ABI could support both the SMC32 and SMC64 conventions. A callee that runs in the AArch64 execution state and implements such an ABI must implement both SMC32 and SMC64 conventions of the ABI. So the FF-A drivers will need the option to choose the mode irrespective of FF-A version and the partition execution mode flag in the partition information. Let us remove the check on the FF-A version for allowing the selection of 32bit mode of messaging. The driver will continue to set the 32-bit mode if the partition execution mode flag specified that the partition supports only 32-bit execution. Fixes:106b11b1cc
("firmware: arm_ffa: Set up 32bit execution mode flag using partiion property") Link: https://lore.kernel.org/r/20231005142823.278121-1-sudeep.holla@arm.com Signed-off-by: Sudeep Holla <sudeep.holla@arm.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
5429ecbb1b
commit
d43c3e4974
@ -668,17 +668,9 @@ static int ffa_partition_info_get(const char *uuid_str,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void _ffa_mode_32bit_set(struct ffa_device *dev)
|
||||
{
|
||||
dev->mode_32bit = true;
|
||||
}
|
||||
|
||||
static void ffa_mode_32bit_set(struct ffa_device *dev)
|
||||
{
|
||||
if (drv_info->version > FFA_VERSION_1_0)
|
||||
return;
|
||||
|
||||
_ffa_mode_32bit_set(dev);
|
||||
dev->mode_32bit = true;
|
||||
}
|
||||
|
||||
static int ffa_sync_send_receive(struct ffa_device *dev,
|
||||
@ -787,7 +779,7 @@ static void ffa_setup_partitions(void)
|
||||
|
||||
if (drv_info->version > FFA_VERSION_1_0 &&
|
||||
!(tpbuf->properties & FFA_PARTITION_AARCH64_EXEC))
|
||||
_ffa_mode_32bit_set(ffa_dev);
|
||||
ffa_mode_32bit_set(ffa_dev);
|
||||
}
|
||||
kfree(pbuf);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user