dp: do not block ppl because of sink/source limits

Module adapter DP copy checks shouldn't block pipeline,
similarly to  LL-only scenario

Add sink free size check to calculate copy size

Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
This commit is contained in:
Adrian Bonislawski 2024-03-18 11:04:01 +01:00 committed by Kai Vehmanen
parent 6f33aee270
commit edd489aa19
1 changed files with 3 additions and 2 deletions

View File

@ -1079,8 +1079,9 @@ static int module_adapter_copy_dp_queues(struct comp_dev *dev)
struct sof_source *following_mod_data_source =
audio_stream_get_source(&buffer->stream);
struct sof_source *data_src = dp_queue_get_source(dp_queue);
uint32_t to_copy = MIN(source_get_min_available(following_mod_data_source),
source_get_data_available(data_src));
uint32_t to_copy = MIN(MIN(source_get_min_available(following_mod_data_source),
source_get_data_available(data_src)),
sink_get_free_size(data_sink));
err = source_to_sink_copy(data_src, data_sink, true, to_copy);
if (err) {