All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 01/11] atmel-mci: map DMA sglist on the DMA engine
@ 2011-02-10 15:08 Linus Walleij
  2011-02-10 15:17 ` Nicolas Ferre
  0 siblings, 1 reply; 2+ messages in thread
From: Linus Walleij @ 2011-02-10 15:08 UTC (permalink / raw)
  To: linux-mmc, Chris Ball; +Cc: Dan Williams, Nicolas Ferre, Linus Walleij

As established for the MMCI, it is proper to map the DMA buffers
on the DMA engine which is the one actually performing the DMA.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
 drivers/mmc/host/atmel-mci.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/mmc/host/atmel-mci.c b/drivers/mmc/host/atmel-mci.c
index ad2a7a0..045bdbb 100644
--- a/drivers/mmc/host/atmel-mci.c
+++ b/drivers/mmc/host/atmel-mci.c
@@ -578,7 +578,8 @@ static void atmci_dma_cleanup(struct atmel_mci *host)
 	struct mmc_data			*data = host->data;
 
 	if (data)
-		dma_unmap_sg(&host->pdev->dev, data->sg, data->sg_len,
+		dma_unmap_sg(host->dma.chan->device->dev,
+			     data->sg, data->sg_len,
 			     ((data->flags & MMC_DATA_WRITE)
 			      ? DMA_TO_DEVICE : DMA_FROM_DEVICE));
 }
@@ -684,7 +685,8 @@ atmci_prepare_data_dma(struct atmel_mci *host, struct mmc_data *data)
 	else
 		direction = DMA_TO_DEVICE;
 
-	sglen = dma_map_sg(&host->pdev->dev, data->sg, data->sg_len, direction);
+	sglen = dma_map_sg(chan->device->dev, data->sg,
+			   data->sg_len, direction);
 	if (sglen != data->sg_len)
 		goto unmap_exit;
 	desc = chan->device->device_prep_slave_sg(chan,
@@ -699,7 +701,7 @@ atmci_prepare_data_dma(struct atmel_mci *host, struct mmc_data *data)
 
 	return 0;
 unmap_exit:
-	dma_unmap_sg(&host->pdev->dev, data->sg, sglen, direction);
+	dma_unmap_sg(chan->device->dev, data->sg, sglen, direction);
 	return -ENOMEM;
 }
 
-- 
1.7.4


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH 01/11] atmel-mci: map DMA sglist on the DMA engine
  2011-02-10 15:08 [PATCH 01/11] atmel-mci: map DMA sglist on the DMA engine Linus Walleij
@ 2011-02-10 15:17 ` Nicolas Ferre
  0 siblings, 0 replies; 2+ messages in thread
From: Nicolas Ferre @ 2011-02-10 15:17 UTC (permalink / raw)
  To: Linus Walleij; +Cc: linux-mmc, Chris Ball, Dan Williams

Le 10/02/2011 16:08, Linus Walleij :
> As established for the MMCI, it is proper to map the DMA buffers
> on the DMA engine which is the one actually performing the DMA.
> 
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>

> ---
>  drivers/mmc/host/atmel-mci.c |    8 +++++---
>  1 files changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/mmc/host/atmel-mci.c b/drivers/mmc/host/atmel-mci.c
> index ad2a7a0..045bdbb 100644
> --- a/drivers/mmc/host/atmel-mci.c
> +++ b/drivers/mmc/host/atmel-mci.c
> @@ -578,7 +578,8 @@ static void atmci_dma_cleanup(struct atmel_mci *host)
>  	struct mmc_data			*data = host->data;
>  
>  	if (data)
> -		dma_unmap_sg(&host->pdev->dev, data->sg, data->sg_len,
> +		dma_unmap_sg(host->dma.chan->device->dev,
> +			     data->sg, data->sg_len,
>  			     ((data->flags & MMC_DATA_WRITE)
>  			      ? DMA_TO_DEVICE : DMA_FROM_DEVICE));
>  }
> @@ -684,7 +685,8 @@ atmci_prepare_data_dma(struct atmel_mci *host, struct mmc_data *data)
>  	else
>  		direction = DMA_TO_DEVICE;
>  
> -	sglen = dma_map_sg(&host->pdev->dev, data->sg, data->sg_len, direction);
> +	sglen = dma_map_sg(chan->device->dev, data->sg,
> +			   data->sg_len, direction);
>  	if (sglen != data->sg_len)
>  		goto unmap_exit;
>  	desc = chan->device->device_prep_slave_sg(chan,
> @@ -699,7 +701,7 @@ atmci_prepare_data_dma(struct atmel_mci *host, struct mmc_data *data)
>  
>  	return 0;
>  unmap_exit:
> -	dma_unmap_sg(&host->pdev->dev, data->sg, sglen, direction);
> +	dma_unmap_sg(chan->device->dev, data->sg, sglen, direction);
>  	return -ENOMEM;
>  }
>  


-- 
Nicolas Ferre

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-02-10 15:49 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-02-10 15:08 [PATCH 01/11] atmel-mci: map DMA sglist on the DMA engine Linus Walleij
2011-02-10 15:17 ` Nicolas Ferre

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.