[PATCH RFT v2 00/18] firmware: arm_ffa: Add FF-A v1.1 support(notification + new memory descriptor format)

Sudeep Holla sudeep.holla at arm.com
Tue Sep 19 10:40:48 PDT 2023


The series adds initial support for the notifications and memory transaction
descriptor changes added in FF-A v1.1 specification.

The notification mechanism enables a requester/sender endpoint to notify
a service provider/receiver endpoint about an event with non-blocking
semantics.

A notification is akin to the doorbell between two endpoints in a
communication protocol that is based upon the doorbell/mailbox mechanism.

The framework is responsible for the delivery of the notification from the
sender to the receiver without blocking the sender. The receiver endpoint
relies on the OS scheduler for allocation of CPU cycles to handle a
notification.

OS is referred as the receiver’s scheduler in the context of notifications.
The framework is responsible for informing the receiver’s scheduler that
the receiver must be run since it has a pending notification.

The series also includes support for the new format of memory transaction
descriptors.

It also contains one fix for MEMORY LEND operation.

v1[1]->v2:
	- Added a fix for MEMORY LEND operation
	- Upgraded the driver version
	- Added support for the new format of memory transaction descriptors
	- Remove unnecessary partition ID information in the notification
	  callbacks
	- Fixed setting up drv_info->sched_recv_irq before enabling the SGIs
	- Added missing resetting of bitmap_created in notifications_cleanup()
	- Added some comments about GICv3 and SGI assumption
	- Removed partition ID from the notification hash table entries as
	  they are redundant/incorrect. Added the notification type instead
	  (SP/VM/Framework)
	-

[1] https://lore.kernel.org/all/20230803-ffa_v1-1_notif-v1-0-6613ff2b1f81@arm.com/

Signed-off-by: Sudeep Holla <sudeep.holla at arm.com>
---
Sudeep Holla (18):
      firmware: arm_ffa: Update the FF-A command list with v1.1 additions
      firmware: arm_ffa: Implement notification bitmap create and destroy interfaces
      firmware: arm_ffa: Implement the notification bind and unbind interface
      firmware: arm_ffa: Implement the FFA_RUN interface
      firmware: arm_ffa: Implement the FFA_NOTIFICATION_SET interface
      firmware: arm_ffa: Implement the FFA_NOTIFICATION_GET interface
      firmware: arm_ffa: Implement the NOTIFICATION_INFO_GET interface
      firmware: arm_ffa: Initial support for scheduler receiver interrupt
      firmware: arm_ffa: Add schedule receiver callback mechanism
      firmware: arm_ffa: Add interfaces to request notification callbacks
      firmware: arm_ffa: Add interface to send a notification to a given partition
      firmware: arm_ffa: Add notification handling mechanism
      firmware: arm_ffa: Don't set the memory region attributes for MEM_LEND
      firmware: arm_ffa: Simplify the computation of transmit and fragment length
      KVM: arm64: FFA: Remove access of endpoint memory access descriptor array
      firmware: arm_ffa: Switch to using ffa_mem_desc_offset() accessor
      firmware: arm_ffa: Update memory descriptor to support v1.1 format
      firmware: arm_ffa: Upgrade the driver version to v1.1

 arch/arm64/kvm/hyp/nvhe/ffa.c     |   8 +-
 drivers/firmware/arm_ffa/driver.c | 769 +++++++++++++++++++++++++++++++++++++-
 include/linux/arm_ffa.h           |  76 +++-
 3 files changed, 827 insertions(+), 26 deletions(-)
---
base-commit: ce9ecca0238b140b88f43859b211c9fdfd8e5b70
change-id: 20230803-ffa_v1-1_notif-e11bc9459962

Best regards,
-- 
Regards,
Sudeep




More information about the linux-arm-kernel mailing list