projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mmc: atmel-mci: map DMA sglist on the DMA engine
[firefly-linux-kernel-4.4.55.git]
/
drivers
/
mmc
/
host
/
atmel-mci.c
diff --git
a/drivers/mmc/host/atmel-mci.c
b/drivers/mmc/host/atmel-mci.c
index ad2a7a032cdf02478a80cd87055abce9648e31ca..045bdbbe3720a3ad200763be003650931c740225 100644
(file)
--- 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)
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));
}
((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;
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,
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:
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;
}
return -ENOMEM;
}