[Sound-open-firmware] DMA copy flow question
30 Aug
2020
30 Aug
'20
9:35 p.m.
Hello,
Looking at the code in dai.c, we have:
pipeline_trigger() (COMP_TRIGGER_START) -> dai_start() [1] -> dma_start() [2] -> pipeline_schedule_copy() [3] -> pipeline_copy()
In our implementation, dai_start() will generate a DMA request immediately and dma_start() will generate a transfer immediately.
The biggest problem is that the IRQ handler for DMA request is registered only at point (3) thus sometimes first DMA interrupt is lost resulting in copy not being started. (DMA IRQ is edge triggered).
Can one point how working with DMA should look like?
1620
Age (days ago)
1620
Last active (days ago)
0 comments
1 participants
participants (1)
-
Daniel Baluta