sof icon indicating copy to clipboard operation
sof copied to clipboard

[DNM] basefw: Add handling of IPC4_DMA_CONTROL messages

Open tmleman opened this issue 1 year ago • 3 comments

This pull request introduces a handling of IPC4_DMA_CONTROL messages for the SSP DAI driver.

Below is a summary of the commits included in this pull request:

  • bd77aa3e5d6abd080f950b9b8a5c571785afb3eb: Updates the Zephyr reference to the head of a pull request that contains necessary changes,
  • 996bd1ee1fa1beb0fa6d287cd5237c0575ee8a90: Exposes the function to retrieve Zephyr DAI device structures, allowing other parts of the SOF codebase to access Zephyr native DAI drivers.
  • d03015e86a8af0663fd58e82c07df898812d924c: Implements handling for the IPC4_DMA_CONTROL message within the base firmware for the SSP DAI driver.

TODO before merge:

  • [ ] https://github.com/zephyrproject-rtos/zephyr/pull/73158
  • [ ] Update zephyr version

tmleman avatar May 22 '24 16:05 tmleman

I still don't know why exactly this is needed - "improving the flexibility" doesn't tell me much

The implementation of the IPC4_DMA_CONTROL message handling is a requirement for SOF to align with the IPC4 interface specifications, which are part of the convergence effort with Windows audio infrastructure. This specific IPC message allows for dynamic configuration of DMA gateways, which is essential for use-cases where audio streams need to be routed between various components in a flexible manner, adapting to changes in audio topologies at runtime.

For instance, this capability is crucial for scenarios where audio endpoints can be added or removed dynamically, or where stream parameters may change on-the-fly without restarting the system or audio pipeline. It enables SOF to handle complex audio routing scenarios that are common in modern Windows-based systems, ensuring compatibility and feature parity with the Windows audio stack.

@lyakh Please also take a look at the changes on the Zephyr side that are required for this PR.

tmleman avatar Jun 05 '24 11:06 tmleman

@tmleman any update on ETA ? Do you have the Zephyr update now merged ?

lgirdwood avatar Jun 25 '24 14:06 lgirdwood

@tmleman I guess we are blocked until after Zephyr merge Window ?

lgirdwood avatar Jul 04 '24 14:07 lgirdwood

I guess we are blocked until after Zephyr merge Window ?

@lgirdwood Yes, this change is blocked until the release of Zephyr LTS.

tmleman avatar Jul 08 '24 10:07 tmleman

I guess we are blocked until after Zephyr merge Window ?

@lgirdwood Yes, this change is blocked until the release of Zephyr LTS.

ok, tagged for v2.11 to remind everyone.

lgirdwood avatar Jul 09 '24 14:07 lgirdwood

Rebase

tmleman avatar Aug 06 '24 07:08 tmleman

Ready to go, but we need a clean pass of mandatory tests.

kv2019i avatar Sep 05 '24 11:09 kv2019i

SOFCI TEST

kv2019i avatar Sep 05 '24 11:09 kv2019i