host: dai: handle dma buffer in cache functions

Adds missing writebacks and invalidations of DMA buffer in
host and dai components.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
This commit is contained in:
Tomasz Lauda 2019-10-30 12:54:18 +01:00 committed by Tomasz Lauda
parent e6e886a942
commit fe321d65f8
2 changed files with 8 additions and 0 deletions

View File

@ -870,6 +870,8 @@ static void dai_cache(struct comp_dev *dev, int cmd)
dma_sg_cache_wb_inv(&dd->config.elem_array);
dcache_writeback_invalidate_region(dd->dma_buffer,
sizeof(*dd->dma_buffer));
dcache_writeback_invalidate_region(dd->dai, sizeof(*dd->dai));
dcache_writeback_invalidate_region(dd->dma, sizeof(*dd->dma));
dcache_writeback_invalidate_region(dd, sizeof(*dd));
@ -885,6 +887,8 @@ static void dai_cache(struct comp_dev *dev, int cmd)
dcache_invalidate_region(dd, sizeof(*dd));
dcache_invalidate_region(dd->dma, sizeof(*dd->dma));
dcache_invalidate_region(dd->dai, sizeof(*dd->dai));
dcache_invalidate_region(dd->dma_buffer,
sizeof(*dd->dma_buffer));
dma_sg_cache_inv(&dd->config.elem_array);
break;

View File

@ -800,6 +800,8 @@ static void host_cache(struct comp_dev *dev, int cmd)
dma_sg_cache_wb_inv(&hd->config.elem_array);
dma_sg_cache_wb_inv(&hd->local.elem_array);
dcache_writeback_invalidate_region(hd->dma_buffer,
sizeof(*hd->dma_buffer));
dcache_writeback_invalidate_region(hd->dma, sizeof(*hd->dma));
dcache_writeback_invalidate_region(hd, sizeof(*hd));
dcache_writeback_invalidate_region(dev, sizeof(*dev));
@ -814,6 +816,8 @@ static void host_cache(struct comp_dev *dev, int cmd)
dcache_invalidate_region(hd, sizeof(*hd));
dcache_invalidate_region(hd->dma, sizeof(*hd->dma));
dcache_invalidate_region(hd->dma_buffer,
sizeof(*hd->dma_buffer));
dma_sg_cache_inv(&hd->local.elem_array);
dma_sg_cache_inv(&hd->config.elem_array);