2018-03-19 21:44:43

by Stefan Agner

[permalink] [raw]
Subject: [PATCH] spi: rspi: use correct enum for DMA transfer direction

Use enum dma_transfer_direction as required by dmaengine_prep_slave_sg
instead of enum dma_data_direction.

This fixes two warnings when building with clang:
drivers/spi/spi-rspi.c:538:26: warning: implicit conversion from enumeration
type 'enum dma_data_direction' to different enumeration type
'enum dma_transfer_direction' [-Wenum-conversion]
rx->sgl, rx->nents, DMA_FROM_DEVICE,
^~~~~~~~~~~~~~~
drivers/spi/spi-rspi.c:558:26: warning: implicit conversion from enumeration
type 'enum dma_data_direction' to different enumeration type
'enum dma_transfer_direction' [-Wenum-conversion]
tx->sgl, tx->nents, DMA_TO_DEVICE,
^~~~~~~~~~~~~

Signed-off-by: Stefan Agner <[email protected]>
---
drivers/spi/spi-rspi.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/spi/spi-rspi.c b/drivers/spi/spi-rspi.c
index 0835a8d88fb8..3e5a31d338fe 100644
--- a/drivers/spi/spi-rspi.c
+++ b/drivers/spi/spi-rspi.c
@@ -535,7 +535,7 @@ static int rspi_dma_transfer(struct rspi_data *rspi, struct sg_table *tx,
/* First prepare and submit the DMA request(s), as this may fail */
if (rx) {
desc_rx = dmaengine_prep_slave_sg(rspi->master->dma_rx,
- rx->sgl, rx->nents, DMA_FROM_DEVICE,
+ rx->sgl, rx->nents, DMA_MEM_TO_DEV,
DMA_PREP_INTERRUPT | DMA_CTRL_ACK);
if (!desc_rx) {
ret = -EAGAIN;
@@ -555,7 +555,7 @@ static int rspi_dma_transfer(struct rspi_data *rspi, struct sg_table *tx,

if (tx) {
desc_tx = dmaengine_prep_slave_sg(rspi->master->dma_tx,
- tx->sgl, tx->nents, DMA_TO_DEVICE,
+ tx->sgl, tx->nents, DMA_DEV_TO_MEM,
DMA_PREP_INTERRUPT | DMA_CTRL_ACK);
if (!desc_tx) {
ret = -EAGAIN;
--
2.16.2



2018-03-19 22:17:13

by Stefan Agner

[permalink] [raw]
Subject: Re: [PATCH] spi: rspi: use correct enum for DMA transfer direction

On 19.03.2018 22:42, Stefan Agner wrote:
> Use enum dma_transfer_direction as required by dmaengine_prep_slave_sg
> instead of enum dma_data_direction.
>
> This fixes two warnings when building with clang:
> drivers/spi/spi-rspi.c:538:26: warning: implicit conversion from enumeration
> type 'enum dma_data_direction' to different enumeration type
> 'enum dma_transfer_direction' [-Wenum-conversion]
> rx->sgl, rx->nents, DMA_FROM_DEVICE,
> ^~~~~~~~~~~~~~~
> drivers/spi/spi-rspi.c:558:26: warning: implicit conversion from enumeration
> type 'enum dma_data_direction' to different enumeration type
> 'enum dma_transfer_direction' [-Wenum-conversion]
> tx->sgl, tx->nents, DMA_TO_DEVICE,
> ^~~~~~~~~~~~~
>

Please ignore this patch, I managed to mix up the direction. Will send a
v2.

--
Stefan

> Signed-off-by: Stefan Agner <[email protected]>
> ---
> drivers/spi/spi-rspi.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/spi/spi-rspi.c b/drivers/spi/spi-rspi.c
> index 0835a8d88fb8..3e5a31d338fe 100644
> --- a/drivers/spi/spi-rspi.c
> +++ b/drivers/spi/spi-rspi.c
> @@ -535,7 +535,7 @@ static int rspi_dma_transfer(struct rspi_data
> *rspi, struct sg_table *tx,
> /* First prepare and submit the DMA request(s), as this may fail */
> if (rx) {
> desc_rx = dmaengine_prep_slave_sg(rspi->master->dma_rx,
> - rx->sgl, rx->nents, DMA_FROM_DEVICE,
> + rx->sgl, rx->nents, DMA_MEM_TO_DEV,
> DMA_PREP_INTERRUPT | DMA_CTRL_ACK);
> if (!desc_rx) {
> ret = -EAGAIN;
> @@ -555,7 +555,7 @@ static int rspi_dma_transfer(struct rspi_data
> *rspi, struct sg_table *tx,
>
> if (tx) {
> desc_tx = dmaengine_prep_slave_sg(rspi->master->dma_tx,
> - tx->sgl, tx->nents, DMA_TO_DEVICE,
> + tx->sgl, tx->nents, DMA_DEV_TO_MEM,
> DMA_PREP_INTERRUPT | DMA_CTRL_ACK);
> if (!desc_tx) {
> ret = -EAGAIN;