diff options
Diffstat (limited to 'dma')
-rw-r--r-- | dma/ipe.c | 2 | ||||
-rw-r--r-- | dma/nwl_engine.c | 4 | ||||
-rw-r--r-- | dma/nwl_engine_buffers.h | 8 |
3 files changed, 7 insertions, 7 deletions
@@ -651,7 +651,7 @@ int dma_ipe_stream_read(pcilib_dma_context_t *vctx, pcilib_dma_engine_t dma, uin if ((ctx->dma_flags&IPEDMA_FLAG_NOSYNC) == 0) pcilib_kmem_sync_block(ctx->dmactx.pcilib, ctx->pages, PCILIB_KMEM_SYNC_FROMDEVICE, cur_read); - void *buf = pcilib_kmem_get_block_ua(ctx->dmactx.pcilib, ctx->pages, cur_read); + void *buf = (void*)pcilib_kmem_get_block_ua(ctx->dmactx.pcilib, ctx->pages, cur_read); ret = cb(cbattr, packet_flags, ctx->page_size, buf); if (ret < 0) return -ret; diff --git a/dma/nwl_engine.c b/dma/nwl_engine.c index b098943..f8ae6ac 100644 --- a/dma/nwl_engine.c +++ b/dma/nwl_engine.c @@ -237,7 +237,7 @@ int dma_nwl_write_fragment(pcilib_dma_context_t *vctx, pcilib_dma_engine_t dma, return PCILIB_ERROR_TIMEOUT; } - void *buf = pcilib_kmem_get_block_ua(ctx->dmactx.pcilib, ectx->pages, bufnum); + void *buf = (void*)pcilib_kmem_get_block_ua(ctx->dmactx.pcilib, ectx->pages, bufnum); pcilib_kmem_sync_block(ctx->dmactx.pcilib, ectx->pages, PCILIB_KMEM_SYNC_FROMDEVICE, bufnum); memcpy(buf, data, block_size); @@ -293,7 +293,7 @@ int dma_nwl_stream_read(pcilib_dma_context_t *vctx, pcilib_dma_engine_t dma, uin if (ctx->ignore_eop) eop = 1; pcilib_kmem_sync_block(ctx->dmactx.pcilib, ectx->pages, PCILIB_KMEM_SYNC_FROMDEVICE, bufnum); - void *buf = pcilib_kmem_get_block_ua(ctx->dmactx.pcilib, ectx->pages, bufnum); + void *buf = (void*)pcilib_kmem_get_block_ua(ctx->dmactx.pcilib, ectx->pages, bufnum); ret = cb(cbattr, (eop?PCILIB_DMA_FLAG_EOP:0), bufsize, buf); if (ret < 0) return -ret; // DS: Fixme, it looks like we can avoid calling this for the sake of performance diff --git a/dma/nwl_engine_buffers.h b/dma/nwl_engine_buffers.h index 0cc5343..8d1185f 100644 --- a/dma/nwl_engine_buffers.h +++ b/dma/nwl_engine_buffers.h @@ -173,7 +173,7 @@ static size_t dma_nwl_clean_buffers(nwl_dma_t * ctx, pcilib_nwl_engine_context_t size_t res = 0; uint32_t status; - unsigned char *ring = pcilib_kmem_get_ua(ctx->dmactx.pcilib, ectx->ring); + volatile unsigned char *ring = pcilib_kmem_get_ua(ctx->dmactx.pcilib, ectx->ring); ring += ectx->tail * PCILIB_NWL_DMA_DESCRIPTOR_SIZE; next_buffer: @@ -250,7 +250,7 @@ static int dma_nwl_push_buffer(nwl_dma_t *ctx, pcilib_nwl_engine_context_t *ectx int flags = 0; uint32_t val; - unsigned char *ring = pcilib_kmem_get_ua(ctx->dmactx.pcilib, ectx->ring); + volatile unsigned char *ring = pcilib_kmem_get_ua(ctx->dmactx.pcilib, ectx->ring); uint32_t ring_pa = pcilib_kmem_get_ba(ctx->dmactx.pcilib, ectx->ring); ring += ectx->head * PCILIB_NWL_DMA_DESCRIPTOR_SIZE; @@ -282,7 +282,7 @@ static size_t dma_nwl_wait_buffer(nwl_dma_t *ctx, pcilib_nwl_engine_context_t *e struct timeval start, cur; uint32_t status_size, status; - unsigned char *ring = pcilib_kmem_get_ua(ctx->dmactx.pcilib, ectx->ring); + volatile unsigned char *ring = pcilib_kmem_get_ua(ctx->dmactx.pcilib, ectx->ring); ring += ectx->tail * PCILIB_NWL_DMA_DESCRIPTOR_SIZE; @@ -337,7 +337,7 @@ static int dma_nwl_is_overflown(nwl_dma_t *ctx, pcilib_nwl_engine_context_t *ect static int dma_nwl_return_buffer(nwl_dma_t *ctx, pcilib_nwl_engine_context_t *ectx) { uint32_t val; - unsigned char *ring = pcilib_kmem_get_ua(ctx->dmactx.pcilib, ectx->ring); + volatile unsigned char *ring = pcilib_kmem_get_ua(ctx->dmactx.pcilib, ectx->ring); uint32_t ring_pa = pcilib_kmem_get_ba(ctx->dmactx.pcilib, ectx->ring); size_t bufsz = pcilib_kmem_get_block_size(ctx->dmactx.pcilib, ectx->pages, ectx->tail); |