mbox series

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

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

Message

Sudeep Holla Feb. 17, 2025, 3:38 p.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 v3:
- Dropped spurious extra blank line in ffa_setup_partitions()
- Fixed issue with Xarray erase in ffa_partitions_cleanup()
- Used kmemdup() instead of kmalloc() + memcpy()
- Extend support to read non-secure notification bitmaps
- Added Viresh's Tested-by tag
- Link to v2: https://lore.kernel.org/r/20250131-ffa_updates-v2-0-544ba4e35387@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 (18):
      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
      firmware: arm_ffa: Handle ffa_notification_get correctly at virtual FF-A instance

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 | 526 ++++++++++++++++++++++++++++----------
 include/linux/arm_ffa.h           |  22 +-
 3 files changed, 418 insertions(+), 143 deletions(-)
---
base-commit: 0ad2507d5d93f39619fc42372c347d6006b64319
change-id: 20241224-ffa_updates-106fd3df93d5

Best regards,

Comments

Sudeep Holla Feb. 21, 2025, 11:41 a.m. UTC | #1
On Mon, 17 Feb 2025 15:38:41 +0000, 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.
> 
> [...]

Applied to sudeep.holla/linux (for-next/ffa/updates), thanks!

[01/19] firmware: arm_ffa: Replace SCMI by FF-A in the macro
        https://git.kernel.org/sudeep.holla/c/1ed14652dc32
[02/19] firmware: arm_ffa: Replace UUID buffer to standard UUID format
        https://git.kernel.org/sudeep.holla/c/b7c9f32614f1
[03/19] firmware: arm_ffa: Align sync_send_receive{,2} function prototypes
        https://git.kernel.org/sudeep.holla/c/8768972cbbea
[04/19] firmware: arm_ffa: Fix big-endian support in __ffa_partition_info_get()
        https://git.kernel.org/sudeep.holla/c/f94ebb724067
[05/19] firmware: arm_ffa: Fix big-endian support in __ffa_partition_info_regs_get()
        https://git.kernel.org/sudeep.holla/c/7bc0f589c81d
[06/19] firmware: arm_ffa: Refactor addition of partition information into XArray
        https://git.kernel.org/sudeep.holla/c/3c3d6767466e
[07/19] firmware: arm_ffa: Handle the presence of host partition in the partition info
        https://git.kernel.org/sudeep.holla/c/2f622a8b0722
[08/19] firmware: arm_ffa: Unregister the FF-A devices when cleaning up the partitions
        https://git.kernel.org/sudeep.holla/c/46dcd68aacca
[09/19] firmware: arm_ffa: Helper to check if a partition can receive REQUEST2 messages
        https://git.kernel.org/sudeep.holla/c/84968e32d301
[10/19] firmware: arm_ffa: Add support for passing UUID in FFA_MSG_SEND2
        https://git.kernel.org/sudeep.holla/c/910cc1acc9b4
[11/19] firmware: arm_ffa: Upgrade FF-A version to v1.2 in the driver
        https://git.kernel.org/sudeep.holla/c/9fac08d9d985
[12/19] firmware: arm_ffa: Reject higher major version as incompatible
        https://git.kernel.org/sudeep.holla/c/efff6a7f16b3
[13/19] firmware: arm_ffa: Remove unnecessary declaration of ffa_partitions_cleanup()
        https://git.kernel.org/sudeep.holla/c/9982cabf403f
[14/19] firmware: arm_ffa: Refactoring to prepare for framework notification support
        https://git.kernel.org/sudeep.holla/c/07b760e71325
[15/19] firmware: arm_ffa: Stash ffa_device instead of notify_type in notifier_cb_info
        https://git.kernel.org/sudeep.holla/c/a3d73fe8ae5d
[16/19] firmware: arm_ffa: Add support for {un,}registration of framework notifications
        https://git.kernel.org/sudeep.holla/c/c10debfe7f02
[17/19] firmware: arm_ffa: Add support for handling framework notifications
        https://git.kernel.org/sudeep.holla/c/285a5ea0f542
[18/19] firmware: arm_ffa: Allow multiple UUIDs per partition to register SRI callback
        https://git.kernel.org/sudeep.holla/c/be61da938576
[19/19] firmware: arm_ffa: Handle ffa_notification_get correctly at virtual FF-A instance
        https://git.kernel.org/sudeep.holla/c/9472fe20d396
--
Regards,
Sudeep