From 131f0d4f1767f824ae6016d5c104c3ac6af39ff1 Mon Sep 17 00:00:00 2001 From: Karol Trzcinski Date: Fri, 10 Jul 2020 10:35:00 +0200 Subject: [PATCH] dma: Use generic function to update read/write pointers in stream Usage of function from audio_stream component updates avail/free fields. Moreover using generic function helps in maintaining code. Signed-off-by: Karol Trzcinski --- src/lib/dma.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/lib/dma.c b/src/lib/dma.c index 936484b45..41d929337 100644 --- a/src/lib/dma.c +++ b/src/lib/dma.c @@ -206,9 +206,11 @@ void dma_buffer_copy_from(struct comp_buffer *source, struct comp_buffer *sink, buffer_writeback(sink, sink_bytes); - istream->r_ptr = (char *)istream->r_ptr + source_bytes; - istream->r_ptr = audio_stream_wrap(istream, istream->r_ptr); - + /* + * consume istream using audio_stream API because this buffer doesn't + * appear in topology so notifier event is not needed + */ + audio_stream_consume(istream, source_bytes); comp_update_buffer_produce(sink, sink_bytes); } @@ -229,8 +231,10 @@ void dma_buffer_copy_to(struct comp_buffer *source, struct comp_buffer *sink, /* sink buffer contains data meant to copied to DMA */ audio_stream_writeback(ostream, sink_bytes); - ostream->w_ptr = (char *)ostream->w_ptr + sink_bytes; - ostream->w_ptr = audio_stream_wrap(ostream, ostream->w_ptr); - + /* + * produce ostream using audio_stream API because this buffer doesn't + * appear in topology so notifier event is not needed + */ + audio_stream_produce(ostream, sink_bytes); comp_update_buffer_consume(source, source_bytes); }