sof/src
Tomasz Leman 732f07c296 ipc4: Ensure pipeline component directions are synchronized
This patch addresses an issue where audio output could be silent due to
the direction property of pipeline components not being set. The problem
manifests when the pipeline is initialized in the sequence:

Init -> Reset -> Pause -> Ready

In this scenario, the direction property may remain unset, leading to
incorrect pipeline behavior.

In flow of transitions: Init -> Pause -> Ready, this issue does not occur
because the firmware attempts to set the directions in pipe components
during the transition from Init to Pause. This step is skipped if Pause
is done after Reset, which is the scenario that this patch addresses.

The added code ensures that if the source component's direction is unset
but the sink's direction is set, or vice versa, the direction is copied
from the set component to the unset one. This synchronization of the
direction property guarantees that the pipeline's data flow is correctly
established.

This synchronization of the direction property guarantees that the
pipeline's data flow is correctly established, allowing the
`pipeline_for_each_comp` function to traverse and process all components
as intended, thus resolving the silent audio output problem.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2024-04-04 13:38:23 +03:00
..
arch mt8195: Disable GOOGLE AEC MOCK by default 2024-03-11 11:43:08 +02:00
audio modules: Remove unused module_entry_point from module_data 2024-04-03 15:31:42 +03:00
debug src: panic: Modify the signature of __panic() 2024-02-16 21:45:27 +02:00
drivers amd: initialization of dma descriptors for probe functionality for AMD/Renoir platform. 2024-02-08 16:04:18 +00:00
idc idc: zephyr: remove unnecessary cache invd/flush calls 2024-03-22 10:27:49 +02:00
include modules: Remove unused module_entry_point from module_data 2024-04-03 15:31:42 +03:00
init sof: remove META usage in sof source code 2024-01-23 19:43:02 +02:00
ipc ipc4: Ensure pipeline component directions are synchronized 2024-04-04 13:38:23 +03:00
lib lib: dai: Add entry for NXP's SAI 2024-03-08 14:33:37 +00:00
library_manager modules: lib_manager: Move declare_dynamic_module_adapter to lib_manager 2024-03-18 14:43:58 +02:00
logging logging: add logging through probes 2023-09-15 12:57:07 +03:00
math math: avoid re-initialising variables every loop iteration 2024-04-03 15:32:23 +03:00
module lmdk: fix building system-service modules 2024-02-06 09:50:31 +02:00
platform nxp: imx93: Switch to native Zephyr drivers and timer domain 2024-03-25 15:12:00 +02:00
probe sof: remove META usage in sof source code 2024-01-23 19:43:02 +02:00
samples LLEXT: update for new Zephyr paths 2024-03-19 18:00:25 +02:00
schedule dp: delayed start should apply to the first DP cycle only 2024-02-12 18:09:48 +02:00
trace sof: remove META usage in sof source code 2024-01-23 19:43:02 +02:00
CMakeLists.txt module: sink: source: Move sink/source api headers to module 2023-11-24 16:17:46 +00:00
Kconfig
spinlock.c