mbox series

[v2,00/18] firmware: arm_ffa: Framework notification support + other updates and fixes

Message ID 20250131-ffa_updates-v2-0-544ba4e35387@arm.com (mailing list archive)
Headers show
Series firmware: arm_ffa: Framework notification support + other updates and fixes | expand

Message

Sudeep Holla Jan. 31, 2025, 11:24 a.m. UTC
This bundle of changes mainly have FF-A framework notification support
along with other minor updates and fixes.

It adds support to allow multiple UUIDs per partition to register
individual SRI callback, to handle Rx buffer full framework notification
in particular and general framework/interface to extend in the future.

It also adds support for passing UUID in FFA_MSG_SEND2 which improves
the multiple UUID/services per partition support in the driver and
an helper to check if a partition can receive REQUEST2 messages or not.

It also improves cleaning up the partitions by adding unregistration of
the devices as well as handles the presence of host partition in the
partition info.

It also contain fixes big-endian support in couple of functions:
__ffa_partition_info_regs_get() and __ffa_partition_info_get().
Big-endian support is still not complete. Only these changes can be
verified at the moment without any additional application or testing
support changes.

Regarding the FF-A versions, it upgrades the driver version to v1.2
and rejects any higher major version than the driver version as
incompatible.

It also fixes the mis-alignment with sync_send_receive{,2} function
prototypes.

It replaces UUID buffer to standard UUID format in the ffa_partition_info
structure and fixes a typo in some FF-A bus macros.

Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
---
Changes in v2:
- No changes in the patches sent as v1 itself.
- Addition of framework notification support and other updates as listed
  above
- Link to v1: https://lore.kernel.org/r/20241224-ffa_updates-v1-0-01233aba3e1e@arm.com

---
Sudeep Holla (17):
      firmware: arm_ffa: Replace SCMI by FF-A in the macro
      firmware: arm_ffa: Replace UUID buffer to standard UUID format
      firmware: arm_ffa: Align sync_send_receive{,2} function prototypes
      firmware: arm_ffa: Fix big-endian support in __ffa_partition_info_get()
      firmware: arm_ffa: Fix big-endian support in __ffa_partition_info_regs_get()
      firmware: arm_ffa: Handle the presence of host partition in the partition info
      firmware: arm_ffa: Unregister the FF-A devices when cleaning up the partitions
      firmware: arm_ffa: Helper to check if a partition can receive REQUEST2 messages
      firmware: arm_ffa: Add support for passing UUID in FFA_MSG_SEND2
      firmware: arm_ffa: Upgrade FF-A version to v1.2 in the driver
      firmware: arm_ffa: Reject higher major version as incompatible
      firmware: arm_ffa: Remove unnecessary declaration of ffa_partitions_cleanup()
      firmware: arm_ffa: Refactoring to prepare for framework notification support
      firmware: arm_ffa: Stash ffa_device instead of notify_type in notifier_cb_info
      firmware: arm_ffa: Add support for {un,}registration of framework notifications
      firmware: arm_ffa: Add support for handling framework notifications
      firmware: arm_ffa: Allow multiple UUIDs per partition to register SRI callback

Viresh Kumar (1):
      firmware: arm_ffa: Refactor addition of partition information into XArray

 drivers/firmware/arm_ffa/bus.c    |  13 +-
 drivers/firmware/arm_ffa/driver.c | 500 ++++++++++++++++++++++++++++----------
 include/linux/arm_ffa.h           |  22 +-
 3 files changed, 397 insertions(+), 138 deletions(-)
---
base-commit: 6d61a53dd6f55405ebcaea6ee38d1ab5a8856c2c
change-id: 20241224-ffa_updates-106fd3df93d5

Best regards,

Comments

Viresh Kumar Feb. 14, 2025, 11:36 a.m. UTC | #1
On 31-01-25, 11:24, Sudeep Holla wrote:
> This bundle of changes mainly have FF-A framework notification support
> along with other minor updates and fixes.
> 
> It adds support to allow multiple UUIDs per partition to register
> individual SRI callback, to handle Rx buffer full framework notification
> in particular and general framework/interface to extend in the future.
> 
> It also adds support for passing UUID in FFA_MSG_SEND2 which improves
> the multiple UUID/services per partition support in the driver and
> an helper to check if a partition can receive REQUEST2 messages or not.
> 
> It also improves cleaning up the partitions by adding unregistration of
> the devices as well as handles the presence of host partition in the
> partition info.
> 
> It also contain fixes big-endian support in couple of functions:
> __ffa_partition_info_regs_get() and __ffa_partition_info_get().
> Big-endian support is still not complete. Only these changes can be
> verified at the moment without any additional application or testing
> support changes.
> 
> Regarding the FF-A versions, it upgrades the driver version to v1.2
> and rejects any higher major version than the driver version as
> incompatible.
> 
> It also fixes the mis-alignment with sync_send_receive{,2} function
> prototypes.
> 
> It replaces UUID buffer to standard UUID format in the ffa_partition_info
> structure and fixes a typo in some FF-A bus macros.
> 
> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>

Tested-by: Viresh Kumar <viresh.kumar@linaro.org>
Sudeep Holla Feb. 17, 2025, 2:14 p.m. UTC | #2
On Fri, Feb 14, 2025 at 05:06:28PM +0530, Viresh Kumar wrote:
> On 31-01-25, 11:24, Sudeep Holla wrote:
> > This bundle of changes mainly have FF-A framework notification support
> > along with other minor updates and fixes.
> > 
> > It adds support to allow multiple UUIDs per partition to register
> > individual SRI callback, to handle Rx buffer full framework notification
> > in particular and general framework/interface to extend in the future.
> > 
> > It also adds support for passing UUID in FFA_MSG_SEND2 which improves
> > the multiple UUID/services per partition support in the driver and
> > an helper to check if a partition can receive REQUEST2 messages or not.
> > 
> > It also improves cleaning up the partitions by adding unregistration of
> > the devices as well as handles the presence of host partition in the
> > partition info.
> > 
> > It also contain fixes big-endian support in couple of functions:
> > __ffa_partition_info_regs_get() and __ffa_partition_info_get().
> > Big-endian support is still not complete. Only these changes can be
> > verified at the moment without any additional application or testing
> > support changes.
> > 
> > Regarding the FF-A versions, it upgrades the driver version to v1.2
> > and rejects any higher major version than the driver version as
> > incompatible.
> > 
> > It also fixes the mis-alignment with sync_send_receive{,2} function
> > prototypes.
> > 
> > It replaces UUID buffer to standard UUID format in the ffa_partition_info
> > structure and fixes a typo in some FF-A bus macros.
> > 
> > Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
> 
> Tested-by: Viresh Kumar <viresh.kumar@linaro.org>

Thanks!