mirror of https://github.com/thesofproject/sof.git
audio: dai-zephyr: Do not reset the DMA buffer cursor for HD-DMA on TRIGGER_RELEASE
During DMA stop/config/start the read/write pointer of HD-DMA is not
reset unlike other DMAs (GPDMA, DMAC).
Only call the audio_stream_reset() if the link is not serviced by HD-DMA.
Link: https://github.com/thesofproject/sof/issues/8986
Fixes: 9831a9ded7
("audio: dai-zephyr: reset DMA buffer cursors on TRIGGER_RELEASE")
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
This commit is contained in:
parent
9d7c33adc3
commit
baca261531
|
@ -1141,7 +1141,11 @@ static int dai_comp_trigger_internal(struct dai_data *dd, struct comp_dev *dev,
|
||||||
* leading to the DMA copying stale data due to
|
* leading to the DMA copying stale data due to
|
||||||
* dma_status() stopping dai_common_copy() from
|
* dma_status() stopping dai_common_copy() from
|
||||||
* updating the data.
|
* updating the data.
|
||||||
|
*
|
||||||
|
* Only applies to non HD-DMA links as HD-DMA read/write pointer
|
||||||
|
* is not reset during stop/config/start
|
||||||
*/
|
*/
|
||||||
|
if (!(dd->dai->dma_caps & DMA_CAP_HDA))
|
||||||
audio_stream_reset(&dd->dma_buffer->stream);
|
audio_stream_reset(&dd->dma_buffer->stream);
|
||||||
|
|
||||||
/* only start the DAI if we are not XRUN handling */
|
/* only start the DAI if we are not XRUN handling */
|
||||||
|
|
Loading…
Reference in New Issue