Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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>
- Loading branch information