Message ID | 20231005142823.278121-1-sudeep.holla@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | firmware: arm_ffa: Allow the FF-A drivers to use 32bit mode of messaging | expand |
Hi Sudeep, On Thu, Oct 5, 2023 at 4:28 PM Sudeep Holla <sudeep.holla@arm.com> wrote: > > 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. > > Signed-off-by: Sudeep Holla <sudeep.holla@arm.com> > --- > drivers/firmware/arm_ffa/driver.c | 12 ++---------- > 1 file changed, 2 insertions(+), 10 deletions(-) > > Hi Jens, > > Based on our discussion in private, I am posting this patch. I am not marking > fixes tag as the driver version is not yet bumped in the mainline. But if you > think it is better to add, I can update when pulling in the change. Let me > know. A fixes tag would be nice, to make sure that this patch isn't missed. Thanks, Jens > > Regards, > Sudeep > > diff --git a/drivers/firmware/arm_ffa/driver.c b/drivers/firmware/arm_ffa/driver.c > index 121f4fc903cd..7cd6b1564e80 100644 > --- a/drivers/firmware/arm_ffa/driver.c > +++ b/drivers/firmware/arm_ffa/driver.c > @@ -587,17 +587,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, > @@ -706,7 +698,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); > } > -- > 2.42.0 >
On Fri, Oct 06, 2023 at 01:14:33PM +0200, Jens Wiklander wrote: > Hi Sudeep, > > On Thu, Oct 5, 2023 at 4:28 PM Sudeep Holla <sudeep.holla@arm.com> wrote: > > > > 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. > > > > Signed-off-by: Sudeep Holla <sudeep.holla@arm.com> > > --- > > drivers/firmware/arm_ffa/driver.c | 12 ++---------- > > 1 file changed, 2 insertions(+), 10 deletions(-) > > > > Hi Jens, > > > > Based on our discussion in private, I am posting this patch. I am not marking > > fixes tag as the driver version is not yet bumped in the mainline. But if you > > think it is better to add, I can update when pulling in the change. Let me > > know. > > A fixes tag would be nice, to make sure that this patch isn't missed. > Thanks I will add.
On Thu, 05 Oct 2023 15:28:23 +0100, Sudeep Holla wrote: > 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. > > [...] Applied to sudeep.holla/linux (for-next/ffa/updates), thanks! [1/1] firmware: arm_ffa: Allow the FF-A drivers to use 32bit mode of messaging https://git.kernel.org/sudeep.holla/c/2d698e8b4fd2 -- Regards, Sudeep
diff --git a/drivers/firmware/arm_ffa/driver.c b/drivers/firmware/arm_ffa/driver.c index 121f4fc903cd..7cd6b1564e80 100644 --- a/drivers/firmware/arm_ffa/driver.c +++ b/drivers/firmware/arm_ffa/driver.c @@ -587,17 +587,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, @@ -706,7 +698,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); }
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. Signed-off-by: Sudeep Holla <sudeep.holla@arm.com> --- drivers/firmware/arm_ffa/driver.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) Hi Jens, Based on our discussion in private, I am posting this patch. I am not marking fixes tag as the driver version is not yet bumped in the mainline. But if you think it is better to add, I can update when pulling in the change. Let me know. Regards, Sudeep