Open lenghonglin opened 2 years ago
@paulstelian97 have a look at this once you have some spare cycles.
@paulstelian97 hello, could you have a look
I will look at this when I have some spare time on my hand, but I make no promise of how soon it will happen.
@lenghonglin since we are very busy can you help us further investigate this issue?
Is the first frame of recording dirty data or just zeroes?
Are you using latest SOF code?
is this commit relevant?
commit 87e4f5aad80c22a1e82fa2bf78133640e39b8741
Author: Daniel Baluta <daniel.baluta@nxp.com>
Date: Mon Aug 17 17:09:29 2020 +0300
host: Fix first period not being copied to/from host
dirty data not zero data.
the sof version is v1.8
and my point is we should update host->dma_buffer
and then copy host->dma_buffer
to ringbuffer
.
@dbaluta
Does dummy_copy need to bzero() buffers prior to starting ?
look here
@lenghonglin does your platform need to writeback or invalidate any cache here ?
look here
@lenghonglin does your platform need to writeback or invalidate any cache here ?
i wanna know why update copy host->dma_buffer
to ringbuffer and then update host->dma_buffer
look here
@lenghonglin does your platform need to writeback or invalidate any cache here ?
i wanna know why update copy
host->dma_buffer
to ringbuffer and then updatehost->dma_buffer
Sorry, not following. Do you mean the host ALSA ring buffer to DSP DMA ring buffer ?
look here
@lenghonglin does your platform need to writeback or invalidate any cache here ?
i wanna know why update copy
host->dma_buffer
to ringbuffer and then updatehost->dma_buffer
Sorry, not following. Do you mean the host ALSA ring buffer to DSP DMA ring buffer ?
Yes
@lenghonglin can you confirm the platform - I think we had a similar bug on Intel a while back but this has been fixed for a long time unless we have a new regression ?
Describe the bug The first frame of recording is dirty data. host copy use
dummy-copy
To Reproduce capture
Reproduction Rate 100%
Impact will produce dirty data.
Environment
the question is host->dma_buffer is updated after copy data to ringbuffer, for first frame, the data is dirty data.
Is this a normal phenomenon? Why is it designed this way?