Replies: 2 comments 12 replies
-
|
Are you sure? Can you tell us what board are you using? Can you post some code snippets? |
Beta Was this translation helpful? Give feedback.
1 reply
-
|
@chihualee for capture copying from DSP to host driver, there are two buffers.
The critical thing is to make sure that your R/W pointers are correctly aligned between host driver and DSP FW. i.e. to avoid overrun or underrun. Pls also make sure that the DSP pipeline R/W pointers are updating and buffer 1 is filling, then check same for buffer 2. ALSA also needs to some data in the host driver buffer 2 before it will unblock a read() from userspace. |
Beta Was this translation helpful? Give feedback.
11 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
For stream capture scenario, I am tracing the behavior of Host (sof/src/audio/host-legacy.c and sof/src/drivers/generic/dummy-dma.c).
The data flow should be: Local-buffer => DMA-buffer => buffer-share-linux.
But I found the data flow in Host is:
First copy data from DMA-buffer to buffer-share-linux,
then copy data from Local-buffer to DMA-buffer ?
I think it's not correct. Did I miss something ?
Thanks.
Beta Was this translation helpful? Give feedback.
All reactions