Patch "firmware: arm_ffa: Allow the FF-A drivers to use 32bit mode of messaging" has been added to the 6.1-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    firmware: arm_ffa: Allow the FF-A drivers to use 32bit mode of messaging

to the 6.1-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     firmware-arm_ffa-allow-the-ff-a-drivers-to-use-32bit.patch
and it can be found in the queue-6.1 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit eadfe8be8a47c35bba25938de1453ee15dd2d286
Author: Sudeep Holla <sudeep.holla@xxxxxxx>
Date:   Thu Oct 5 15:28:23 2023 +0100

    firmware: arm_ffa: Allow the FF-A drivers to use 32bit mode of messaging
    
    [ Upstream commit 2d698e8b4fd22374dac0a2d5150ab24d57a222ab ]
    
    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: 106b11b1ccd5 ("firmware: arm_ffa: Set up 32bit execution mode flag using partiion property")
    Link: https://lore.kernel.org/r/20231005142823.278121-1-sudeep.holla@xxxxxxx
    Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/firmware/arm_ffa/driver.c b/drivers/firmware/arm_ffa/driver.c
index 21481fc05800f..e9f86b7573012 100644
--- a/drivers/firmware/arm_ffa/driver.c
+++ b/drivers/firmware/arm_ffa/driver.c
@@ -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);
 }



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux