[Sound-open-firmware] [PATCH] dai: cache: Make sure we only writeback the amount copied
Liam Girdwood
liam.r.girdwood at linux.intel.com
Thu Sep 21 00:33:12 CEST 2017
The DAI IRQ hanlder was always writing back full period size even when
less data was copied. Only writeback the amount of data copied.
Signed-off-by: Liam Girdwood <liam.r.girdwood at linux.intel.com>
---
src/audio/dai.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/audio/dai.c b/src/audio/dai.c
index ebec519..cf8de72 100644
--- a/src/audio/dai.c
+++ b/src/audio/dai.c
@@ -103,7 +103,7 @@ static void dai_dma_cb(void *data, uint32_t type, struct dma_sg_elem *next)
comp_update_buffer_consume(dma_buffer, copied_size);
/* writeback buffer contents from cache */
- dcache_writeback_region(dma_buffer->r_ptr, dd->period_bytes);
+ dcache_writeback_region(dma_buffer->r_ptr, copied_size);
/* update host position(in bytes offset) for drivers */
dev->position += copied_size;
@@ -498,6 +498,7 @@ static int dai_position(struct comp_dev *dev, struct sof_ipc_stream_posn *posn)
/* set stream start wallclock */
posn->wallclock = dd->wallclock;
+
return 0;
}
--
2.11.0
More information about the Sound-open-firmware
mailing list