13 Apr
2020
13 Apr
'20
1:16 p.m.
Hi,
I want to understand how copying data works on a playback pipeline, specifically how the first bytes are copied.
It looks like SOF_SCHEDULE_LL_DMA scheduler takes care about scheduling pipeline_task.
In a simple pipeline with Host <-> (buf0) <-> Volume <->(buf1) DAI the data needs to be propagated from upstream up to DAI.
DMA is responsible to copy the data from buf1 to DAI. But at the time the DMA interrupt arrives the data are not yet propagated to buf1.
We would need a way to preload first bytes. But I couldn't find anywhere in the code where this happens.