Re: [PATCH 01/11] atmel-mci: map DMA sglist on the DMA engine

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx>

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

> ---
>  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
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux