[Sound-open-firmware] [PATCH] comp: buffer: add support for non period aligned buffers
Liam Girdwood
liam.r.girdwood at linux.intel.com
Thu Sep 7 00:44:04 CEST 2017
Add support for non period aligned buffers to the buffer free/avail
calculation.
Signed-off-by: Liam Girdwood <liam.r.girdwood at linux.intel.com>
---
src/include/reef/audio/buffer.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/include/reef/audio/buffer.h b/src/include/reef/audio/buffer.h
index 54978a8..83fcd57 100644
--- a/src/include/reef/audio/buffer.h
+++ b/src/include/reef/audio/buffer.h
@@ -93,7 +93,7 @@ static inline void comp_update_buffer_produce(struct comp_buffer *buffer,
/* check for pointer wrap */
if (buffer->w_ptr >= buffer->end_addr)
- buffer->w_ptr = buffer->addr;
+ buffer->w_ptr = buffer->addr + (buffer->w_ptr - buffer->end_addr);
/* calculate available bytes */
if (buffer->r_ptr < buffer->w_ptr)
@@ -127,7 +127,7 @@ static inline void comp_update_buffer_consume(struct comp_buffer *buffer,
/* check for pointer wrap */
if (buffer->r_ptr >= buffer->end_addr)
- buffer->r_ptr = buffer->addr;
+ buffer->r_ptr = buffer->addr + (buffer->r_ptr - buffer->end_addr);
/* calculate available bytes */
if (buffer->r_ptr < buffer->w_ptr)
--
2.11.0
More information about the Sound-open-firmware
mailing list