|
Revision tags: v6.15, v6.15-rc7, v6.15-rc6, v6.15-rc5, v6.15-rc4, v6.15-rc3, v6.15-rc2, v6.15-rc1, v6.14, v6.14-rc7, v6.14-rc6, v6.14-rc5, v6.14-rc4 |
|
| #
c10debfe |
| 17-Feb-2025 |
Sudeep Holla <[email protected]> |
firmware: arm_ffa: Add support for {un,}registration of framework notifications
Framework notifications are doorbells that are rung by the partition managers to signal common events to an endpoint.
firmware: arm_ffa: Add support for {un,}registration of framework notifications
Framework notifications are doorbells that are rung by the partition managers to signal common events to an endpoint. These doorbells cannot be rung by an endpoint directly. A partition manager can signal a Framework notification in response to an FF-A ABI invocation by an endpoint.
Two additional notify_ops interface is being added for any FF-A device/ driver to register and unregister for such a framework notifications.
Tested-by: Viresh Kumar <[email protected]> Message-Id: <[email protected]> Signed-off-by: Sudeep Holla <[email protected]>
show more ...
|
| #
9fac08d9 |
| 17-Feb-2025 |
Sudeep Holla <[email protected]> |
firmware: arm_ffa: Upgrade FF-A version to v1.2 in the driver
The basic and mandatory features of FF-A v1.2 are all supported now. The driver supported version can be bumped from v1.1 to v1.2
Teste
firmware: arm_ffa: Upgrade FF-A version to v1.2 in the driver
The basic and mandatory features of FF-A v1.2 are all supported now. The driver supported version can be bumped from v1.1 to v1.2
Tested-by: Viresh Kumar <[email protected]> Message-Id: <[email protected]> Signed-off-by: Sudeep Holla <[email protected]>
show more ...
|
| #
910cc1ac |
| 17-Feb-2025 |
Sudeep Holla <[email protected]> |
firmware: arm_ffa: Add support for passing UUID in FFA_MSG_SEND2
FF-A v1.2 introduces UUID field in partition message header used in FFA_MSG_SEND2 to enable partitions/endpoints exposing multiple UU
firmware: arm_ffa: Add support for passing UUID in FFA_MSG_SEND2
FF-A v1.2 introduces UUID field in partition message header used in FFA_MSG_SEND2 to enable partitions/endpoints exposing multiple UUIDs.
Add the support for passing UUID in FFA_MSG_SEND2.
Tested-by: Viresh Kumar <[email protected]> Message-Id: <[email protected]> Signed-off-by: Sudeep Holla <[email protected]>
show more ...
|
| #
84968e32 |
| 17-Feb-2025 |
Sudeep Holla <[email protected]> |
firmware: arm_ffa: Helper to check if a partition can receive REQUEST2 messages
Add a helper that allows FF-A drivers to check if the partition can receive the direct requests via the FFA_MSG_SEND_D
firmware: arm_ffa: Helper to check if a partition can receive REQUEST2 messages
Add a helper that allows FF-A drivers to check if the partition can receive the direct requests via the FFA_MSG_SEND_DIRECT_REQ2 ABI.
Tested-by: Viresh Kumar <[email protected]> Message-Id: <[email protected]> Signed-off-by: Sudeep Holla <[email protected]>
show more ...
|
| #
46dcd68a |
| 17-Feb-2025 |
Sudeep Holla <[email protected]> |
firmware: arm_ffa: Unregister the FF-A devices when cleaning up the partitions
Both the FF-A core and the bus were in a single module before the commit 18c250bd7ed0 ("firmware: arm_ffa: Split bus an
firmware: arm_ffa: Unregister the FF-A devices when cleaning up the partitions
Both the FF-A core and the bus were in a single module before the commit 18c250bd7ed0 ("firmware: arm_ffa: Split bus and driver into distinct modules").
The arm_ffa_bus_exit() takes care of unregistering all the FF-A devices. Now that there are 2 distinct modules, if the core driver is unloaded and reloaded, it will end up adding duplicate FF-A devices as the previously registered devices weren't unregistered when we cleaned up the modules.
Fix the same by unregistering all the FF-A devices on the FF-A bus during the cleaning up of the partitions and hence the cleanup of the module.
Fixes: 18c250bd7ed0 ("firmware: arm_ffa: Split bus and driver into distinct modules") Tested-by: Viresh Kumar <[email protected]> Message-Id: <[email protected]> Signed-off-by: Sudeep Holla <[email protected]>
show more ...
|
| #
8768972c |
| 17-Feb-2025 |
Sudeep Holla <[email protected]> |
firmware: arm_ffa: Align sync_send_receive{,2} function prototypes
Currently ffa_sync_send_receive2() takes UUID as a separate parameter instead of using the one available in ffa_device structure.
firmware: arm_ffa: Align sync_send_receive{,2} function prototypes
Currently ffa_sync_send_receive2() takes UUID as a separate parameter instead of using the one available in ffa_device structure.
Change the prototype of ffa_sync_send_receive2() to align with the ffa_sync_send_receive() and use ffa_device->uuid.
Tested-by: Viresh Kumar <[email protected]> Message-Id: <[email protected]> Signed-off-by: Sudeep Holla <[email protected]>
show more ...
|
| #
b7c9f326 |
| 17-Feb-2025 |
Sudeep Holla <[email protected]> |
firmware: arm_ffa: Replace UUID buffer to standard UUID format
Currently ffa_partition_info structure holds the UUID in the format compatible with the firmware interface. However, most of the functi
firmware: arm_ffa: Replace UUID buffer to standard UUID format
Currently ffa_partition_info structure holds the UUID in the format compatible with the firmware interface. However, most of the functions in the FF-A core driver deals directly with uuid_t type.
Replace UUID buffer to standard UUID format in the ffa_partition_info structure.
Tested-by: Viresh Kumar <[email protected]> Message-Id: <[email protected]> Signed-off-by: Sudeep Holla <[email protected]>
show more ...
|
|
Revision tags: v6.14-rc3, v6.14-rc2, v6.14-rc1, v6.13, v6.13-rc7, v6.13-rc6, v6.13-rc5, v6.13-rc4, v6.13-rc3, v6.13-rc2 |
|
| #
6fe437cf |
| 03-Dec-2024 |
Levi Yun <[email protected]> |
firmware: arm_ffa: Fix the race around setting ffa_dev->properties
Currently, ffa_dev->properties is set after the ffa_device_register() call return in ffa_setup_partitions(). This could potentially
firmware: arm_ffa: Fix the race around setting ffa_dev->properties
Currently, ffa_dev->properties is set after the ffa_device_register() call return in ffa_setup_partitions(). This could potentially result in a race where the partition's properties is accessed while probing struct ffa_device before it is set.
Update the ffa_device_register() to receive ffa_partition_info so all the data from the partition information received from the firmware can be updated into the struct ffa_device before the calling device_register() in ffa_device_register().
Fixes: e781858488b9 ("firmware: arm_ffa: Add initial FFA bus support for device enumeration") Signed-off-by: Levi Yun <[email protected]> Message-Id: <[email protected]> Signed-off-by: Sudeep Holla <[email protected]>
show more ...
|
|
Revision tags: v6.13-rc1, v6.12, v6.12-rc7, v6.12-rc6, v6.12-rc5, v6.12-rc4, v6.12-rc3, v6.12-rc2, v6.12-rc1, v6.11, v6.11-rc7, v6.11-rc6, v6.11-rc5 |
|
| #
aaef3bc9 |
| 20-Aug-2024 |
Sudeep Holla <[email protected]> |
firmware: arm_ffa: Add support for FFA_MSG_SEND_DIRECT_{REQ,RESP}2
FFA_MSG_SEND_DIRECT_{REQ,RESP} supported only x3-x7 to pass implementation defined values as part of the message. This may not be s
firmware: arm_ffa: Add support for FFA_MSG_SEND_DIRECT_{REQ,RESP}2
FFA_MSG_SEND_DIRECT_{REQ,RESP} supported only x3-x7 to pass implementation defined values as part of the message. This may not be sufficient sometimes and also it would be good to use all the registers supported by SMCCC v1.2 (x0-x17) for such register based communication.
Also another limitation with the FFA_MSG_SEND_DIRECT_{REQ,RESP} is the ability to target a specific service within the partition based on it's UUID.
In order to address both of the above limitation, FF-A v1.2 introduced FFA_MSG_SEND_DIRECT_{REQ,RESP}2 which has the ability to target the message to a specific service based on its UUID within a partition as well as utilise all the available registers(x4-x17 specifically) for the communication.
This change adds support for FFA_MSG_SEND_DIRECT_REQ2 and FFA_MSG_SEND_DIRECT_RESP2.
Message-Id: <[email protected]> Signed-off-by: Sudeep Holla <[email protected]>
show more ...
|
| #
7c432a18 |
| 20-Aug-2024 |
Sudeep Holla <[email protected]> |
firmware: arm_ffa: Update the FF-A command list with v1.2 additions
Arm Firmware Framework for A-profile(FFA) v1.2 introduces register based discovery mechanism and direct messaging extensions that
firmware: arm_ffa: Update the FF-A command list with v1.2 additions
Arm Firmware Framework for A-profile(FFA) v1.2 introduces register based discovery mechanism and direct messaging extensions that enables to target specific UUID within a partition.
Let us add all the newly supported FF-A function IDs in the spec. Also update to the error values and associated handling.
Message-Id: <[email protected]> Signed-off-by: Sudeep Holla <[email protected]>
show more ...
|
|
Revision tags: v6.11-rc4, v6.11-rc3, v6.11-rc2, v6.11-rc1, v6.10, v6.10-rc7 |
|
| #
d69d8048 |
| 01-Jul-2024 |
Greg Kroah-Hartman <[email protected]> |
driver core: have match() callback in struct bus_type take a const *
In the match() callback, the struct device_driver * should not be changed, so change the function callback to be a const *. This
driver core: have match() callback in struct bus_type take a const *
In the match() callback, the struct device_driver * should not be changed, so change the function callback to be a const *. This is one step of many towards making the driver core safe to have struct device_driver in read-only memory.
Because the match() callback is in all busses, all busses are modified to handle this properly. This does entail switching some container_of() calls to container_of_const() to properly handle the constant *.
For some busses, like PCI and USB and HV, the const * is cast away in the match callback as those busses do want to modify those structures at this point in time (they have a local lock in the driver structure.) That will have to be changed in the future if they wish to have their struct device * in read-only-memory.
Cc: Rafael J. Wysocki <[email protected]> Reviewed-by: Alex Elder <[email protected]> Acked-by: Sumit Garg <[email protected]> Link: https://lore.kernel.org/r/2024070136-wrongdoer-busily-01e8@gregkh Signed-off-by: Greg Kroah-Hartman <[email protected]>
show more ...
|
|
Revision tags: v6.10-rc6, v6.10-rc5, v6.10-rc4 |
|
| #
89437638 |
| 13-Jun-2024 |
Sebastian Ene <[email protected]> |
KVM: arm64: Add support for FFA_PARTITION_INFO_GET
Handle the FFA_PARTITION_INFO_GET host call inside the pKVM hypervisor and copy the response message back to the host buffers.
Signed-off-by: Seba
KVM: arm64: Add support for FFA_PARTITION_INFO_GET
Handle the FFA_PARTITION_INFO_GET host call inside the pKVM hypervisor and copy the response message back to the host buffers.
Signed-off-by: Sebastian Ene <[email protected]> Reviewed-by: Sudeep Holla <[email protected]> Tested-by: Sudeep Holla <[email protected]> Acked-by: Marc Zyngier <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Oliver Upton <[email protected]>
show more ...
|
|
Revision tags: v6.10-rc3, v6.10-rc2, v6.10-rc1, v6.9, v6.9-rc7, v6.9-rc6, v6.9-rc5 |
|
| #
02c19d84 |
| 17-Apr-2024 |
Sudeep Holla <[email protected]> |
firmware: arm_ffa: Add support for FFA_MSG_SEND2
The FFA_MSG_SEND2 can be used to transmit a partition message from the Tx buffer of the sender(the driver in this case) endpoint to the Rx buffer of
firmware: arm_ffa: Add support for FFA_MSG_SEND2
The FFA_MSG_SEND2 can be used to transmit a partition message from the Tx buffer of the sender(the driver in this case) endpoint to the Rx buffer of the receiver endpoint.
An invocation of the FFA_MSG_SEND2 transfers the ownership of the Tx buffer to the receiver endpoint(or any intermediate consumer). Completion of an FFA_MSG_SEND2 invocation transfers the ownership of the buffer back to the sender endpoint.
The framework defines the FFA_MSG_SEND2 interface to transmit a partition message from the Tx buffer of the sender to the Rx buffer of a receiver and inform the scheduler that the receiver must be run.
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Sudeep Holla <[email protected]>
show more ...
|
| #
3c258bf6 |
| 17-Apr-2024 |
Sudeep Holla <[email protected]> |
firmware: arm_ffa: Stash the partition properties for query purposes
The properies obtained from the partition information descriptor as part of initial partitions discovery is useful as it contain
firmware: arm_ffa: Stash the partition properties for query purposes
The properies obtained from the partition information descriptor as part of initial partitions discovery is useful as it contain info if the partition - Runs in AArch64 or AArch32 execution state - Can send and/or receive direct requests - Can send and receive indirect message - Does support receipt of notifications.
These can be used for querying before attempting to do any of the above operations.
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Sudeep Holla <[email protected]>
show more ...
|
|
Revision tags: v6.9-rc4, v6.9-rc3, v6.9-rc2, v6.9-rc1, v6.8, v6.8-rc7, v6.8-rc6, v6.8-rc5, v6.8-rc4 |
|
| #
989e8661 |
| 11-Feb-2024 |
Ricardo B. Marliere <[email protected]> |
firmware: arm_ffa: Make ffa_bus_type const
Now that the driver core can properly handle constant struct bus_type, move the ffa_bus_type variable to be a constant structure as well, placing it into r
firmware: arm_ffa: Make ffa_bus_type const
Now that the driver core can properly handle constant struct bus_type, move the ffa_bus_type variable to be a constant structure as well, placing it into read-only memory which can not be modified at runtime.
Cc: Greg Kroah-Hartman <[email protected]> Suggested-by: Greg Kroah-Hartman <[email protected]> Signed-off-by: Ricardo B. Marliere <[email protected]> Reviewed-by: Cristian Marussi <[email protected]> Reviewed-by: Greg Kroah-Hartman <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Sudeep Holla <[email protected]>
show more ...
|
|
Revision tags: v6.8-rc3, v6.8-rc2, v6.8-rc1, v6.7, v6.7-rc8, v6.7-rc7, v6.7-rc6, v6.7-rc5, v6.7-rc4, v6.7-rc3, v6.7-rc2, v6.7-rc1, v6.6 |
|
| #
3fad96e9 |
| 24-Oct-2023 |
Sudeep Holla <[email protected]> |
firmware: arm_ffa: Declare ffa_bus_type structure in the header
smatch reports: drivers/firmware/arm_ffa/bus.c:108:17: warning: symbol 'ffa_bus_type' was not declared. Should it be static?
ffa_bus
firmware: arm_ffa: Declare ffa_bus_type structure in the header
smatch reports: drivers/firmware/arm_ffa/bus.c:108:17: warning: symbol 'ffa_bus_type' was not declared. Should it be static?
ffa_bus_type is exported to be useful in the FF-A driver. So this warning is not correct. However, declaring the ffa_bus_type structure in the header like many other bus_types do already removes this warning. So let us just do the same and get rid of the warning.
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Sudeep Holla <[email protected]>
show more ...
|
|
Revision tags: v6.6-rc7, v6.6-rc6, v6.6-rc5 |
|
| #
11358053 |
| 05-Oct-2023 |
Sudeep Holla <[email protected]> |
firmware: arm_ffa: Update memory descriptor to support v1.1 format
Update memory transaction descriptor structure to accommodate couple of new entries in v1.1 which were previously marked reserved a
firmware: arm_ffa: Update memory descriptor to support v1.1 format
Update memory transaction descriptor structure to accommodate couple of new entries in v1.1 which were previously marked reserved and MBZ(must be zero).
It also removes the flexible array member ep_mem_access in the memory transaction descriptor structure as it need not be at fixed offset. Also update ffa_mem_desc_offset() accessor to handle both old and new formats of memory transaction descriptors.
The updated ffa_mem_region structure aligns with new format in v1.1 and hence the driver/user must take care not to use members beyond and including ep_mem_offset when using the old format.
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Sudeep Holla <[email protected]>
show more ...
|
| #
76cf932c |
| 05-Oct-2023 |
Sudeep Holla <[email protected]> |
KVM: arm64: FFA: Remove access of endpoint memory access descriptor array
FF-A v1.1 removes the fixed location of endpoint memory access descriptor array within the memory transaction descriptor str
KVM: arm64: FFA: Remove access of endpoint memory access descriptor array
FF-A v1.1 removes the fixed location of endpoint memory access descriptor array within the memory transaction descriptor structure. In preparation to remove the ep_mem_access member from the ffa_mem_region structure, provide the accessor to fetch the offset and use the same in FF-A proxy implementation.
The accessor take the FF-A version as the argument from which the memory access descriptor format can be determined. v1.0 uses the old format while v1.1 onwards use the new format specified in the v1.1 specification.
Cc: Oliver Upton <[email protected]> Cc: Will Deacon <[email protected]> Cc: Quentin Perret <[email protected]> Acked-by: Marc Zyngier <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Sudeep Holla <[email protected]>
show more ...
|
| #
c9b21ef0 |
| 05-Oct-2023 |
Sudeep Holla <[email protected]> |
firmware: arm_ffa: Simplify the computation of transmit and fragment length
The computation of endpoint memory access descriptor's composite memory region descriptor offset is using COMPOSITE_CONSTI
firmware: arm_ffa: Simplify the computation of transmit and fragment length
The computation of endpoint memory access descriptor's composite memory region descriptor offset is using COMPOSITE_CONSTITUENTS_OFFSET which is unnecessary complicated. Composite memory region descriptor always follow the endpoint memory access descriptor array and hence it is computed accordingly. COMPOSITE_CONSTITUENTS_OFFSET is useless and wrong for any input other than endpoint memory access descriptor count.
Let us drop the usage of COMPOSITE_CONSTITUENTS_OFFSET to simplify the computation of total transmit and fragment length in the memory transactions.
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Sudeep Holla <[email protected]>
show more ...
|
| #
e5adb3b2 |
| 05-Oct-2023 |
Sudeep Holla <[email protected]> |
firmware: arm_ffa: Add interface to send a notification to a given partition
The framework provides an interface to the sender endpoint to specify the notification to signal to the receiver endpoint
firmware: arm_ffa: Add interface to send a notification to a given partition
The framework provides an interface to the sender endpoint to specify the notification to signal to the receiver endpoint. A sender signals a notification by requesting its partition manager to set the corresponding bit in the notifications bitmap of the receiver.
Expose the ability to send a notification to another partition.
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Sudeep Holla <[email protected]>
show more ...
|
| #
e0573444 |
| 05-Oct-2023 |
Sudeep Holla <[email protected]> |
firmware: arm_ffa: Add interfaces to request notification callbacks
Add interface to the FFA driver to allow for client drivers to request and relinquish a notification as well as provide a callback
firmware: arm_ffa: Add interfaces to request notification callbacks
Add interface to the FFA driver to allow for client drivers to request and relinquish a notification as well as provide a callback for the notification.
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Sudeep Holla <[email protected]>
show more ...
|
| #
0184450b |
| 05-Oct-2023 |
Sudeep Holla <[email protected]> |
firmware: arm_ffa: Add schedule receiver callback mechanism
Enable client drivers to register a callback function that will be called when one or more notifications are pending for a target partitio
firmware: arm_ffa: Add schedule receiver callback mechanism
Enable client drivers to register a callback function that will be called when one or more notifications are pending for a target partition as part of schedule receiver interrupt handling.
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Sudeep Holla <[email protected]>
show more ...
|
| #
fe2ddb6b |
| 05-Oct-2023 |
Sudeep Holla <[email protected]> |
firmware: arm_ffa: Implement the FFA_RUN interface
FFA_RUN is used by a scheduler to allocate CPU cycles to a target endpoint execution context specified in the target information parameter.
If the
firmware: arm_ffa: Implement the FFA_RUN interface
FFA_RUN is used by a scheduler to allocate CPU cycles to a target endpoint execution context specified in the target information parameter.
If the endpoint execution context is in the waiting/blocked state, it transitions to the running state.
Expose the ability to call FFA_RUN in order to give any partition in the system cpu cycles to perform IMPDEF functionality.
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Sudeep Holla <[email protected]>
show more ...
|
| #
1609626c |
| 05-Oct-2023 |
Sudeep Holla <[email protected]> |
firmware: arm_ffa: Update the FF-A command list with v1.1 additions
Arm Firmware Framework for A-profile(FFA) v1.1 introduces notifications and indirect messaging based upon notifications support an
firmware: arm_ffa: Update the FF-A command list with v1.1 additions
Arm Firmware Framework for A-profile(FFA) v1.1 introduces notifications and indirect messaging based upon notifications support and extends some of the memory interfaces.
Let us add all the newly supported FF-A function IDs in the spec. Also update to the error values and associated handling.
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Sudeep Holla <[email protected]>
show more ...
|
|
Revision tags: v6.6-rc4, v6.6-rc3, v6.6-rc2, v6.6-rc1, v6.5, v6.5-rc7, v6.5-rc6, v6.5-rc5, v6.5-rc4, v6.5-rc3, v6.5-rc2, v6.5-rc1, v6.4, v6.4-rc7, v6.4-rc6, v6.4-rc5, v6.4-rc4 |
|
| #
9d0c6a9a |
| 23-May-2023 |
Will Deacon <[email protected]> |
KVM: arm64: Handle FFA_RXTX_MAP and FFA_RXTX_UNMAP calls from the host
Handle FFA_RXTX_MAP and FFA_RXTX_UNMAP calls from the host by sharing the host's mailbox memory with the hypervisor and establi
KVM: arm64: Handle FFA_RXTX_MAP and FFA_RXTX_UNMAP calls from the host
Handle FFA_RXTX_MAP and FFA_RXTX_UNMAP calls from the host by sharing the host's mailbox memory with the hypervisor and establishing a separate pair of mailboxes between the hypervisor and the SPMD at EL3.
Co-developed-by: Andrew Walbran <[email protected]> Signed-off-by: Andrew Walbran <[email protected]> Signed-off-by: Will Deacon <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Oliver Upton <[email protected]>
show more ...
|