X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fcpu%2Farm%2Fdrv%2Fspi_dma_at91.c;h=c4cbf2da70a37b288ddf9fa63ce484577d3c5e3a;hb=f0c6ef0573ea9487ce6852249828cfd39cdae6bf;hp=03b98d85e390f8f3d776b8759c3080f28155b016;hpb=0ee36f785f12c4439cfad7e96d80b6637941f6e8;p=bertos.git diff --git a/bertos/cpu/arm/drv/spi_dma_at91.c b/bertos/cpu/arm/drv/spi_dma_at91.c index 03b98d85..c4cbf2da 100644 --- a/bertos/cpu/arm/drv/spi_dma_at91.c +++ b/bertos/cpu/arm/drv/spi_dma_at91.c @@ -76,11 +76,11 @@ static int spi_dma_flush(UNUSED_ARG(struct KFile *, fd)) static size_t spi_dma_write(struct KFile *fd, const void *_buf, size_t size) { - spi_dma_flush(fd); SPI0_PTCR = BV(PDC_TXTDIS); SPI0_TPR = (reg32_t)_buf; SPI0_TCR = size; SPI0_PTCR = BV(PDC_TXTEN); + spi_dma_flush(fd); return size; } @@ -92,13 +92,11 @@ static size_t spi_dma_write(struct KFile *fd, const void *_buf, size_t size) */ static const uint8_t tx_dummy_buf[CONFIG_SPI_DMA_MAX_RX] = { [0 ... (CONFIG_SPI_DMA_MAX_RX - 1)] = 0xFF }; -static size_t spi_dma_read(struct KFile *fd, void *_buf, size_t size) +static size_t spi_dma_read(UNUSED_ARG(struct KFile *, fd), void *_buf, size_t size) { size_t count, total_rx = 0; uint8_t *buf = (uint8_t *)_buf; - spi_dma_flush(fd); - while (size) { count = MIN(size, (size_t)CONFIG_SPI_DMA_MAX_RX);