diff options
Diffstat (limited to 'drivers/mmc/host/tmio_mmc_dma.c')
| -rw-r--r-- | drivers/mmc/host/tmio_mmc_dma.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/mmc/host/tmio_mmc_dma.c b/drivers/mmc/host/tmio_mmc_dma.c index 7a6e6cc8f8b8..8253ec12003e 100644 --- a/drivers/mmc/host/tmio_mmc_dma.c +++ b/drivers/mmc/host/tmio_mmc_dma.c | |||
| @@ -34,6 +34,18 @@ void tmio_mmc_enable_dma(struct tmio_mmc_host *host, bool enable) | |||
| 34 | #endif | 34 | #endif |
| 35 | } | 35 | } |
| 36 | 36 | ||
| 37 | void tmio_mmc_abort_dma(struct tmio_mmc_host *host) | ||
| 38 | { | ||
| 39 | tmio_mmc_enable_dma(host, false); | ||
| 40 | |||
| 41 | if (host->chan_rx) | ||
| 42 | dmaengine_terminate_all(host->chan_rx); | ||
| 43 | if (host->chan_tx) | ||
| 44 | dmaengine_terminate_all(host->chan_tx); | ||
| 45 | |||
| 46 | tmio_mmc_enable_dma(host, true); | ||
| 47 | } | ||
| 48 | |||
| 37 | static void tmio_mmc_start_dma_rx(struct tmio_mmc_host *host) | 49 | static void tmio_mmc_start_dma_rx(struct tmio_mmc_host *host) |
| 38 | { | 50 | { |
| 39 | struct scatterlist *sg = host->sg_ptr, *sg_tmp; | 51 | struct scatterlist *sg = host->sg_ptr, *sg_tmp; |
