aboutsummaryrefslogtreecommitdiff
path: root/drivers/mmc
diff options
context:
space:
mode:
authorLudovic Barre <ludovic.barre@stericsson.com>2011-03-22 18:00:22 +0100
committerSebastian RASMUSSEN <sebastian.rasmussen@stericsson.com>2011-04-07 16:06:05 +0200
commitcc21061ee4be97fec29cba762411d4948fc2f008 (patch)
tree7474c4cc4bae2c9b7441ae954be2d12207464cfa /drivers/mmc
parentb14fffea01ea9ea8582068ed6ea0afde7aa996ba (diff)
mmci: dma irq context, removes and delays finalize in tasklet
irq dma take care of: - update the completion - schedule tasklet ST-Ericsson Linux next: N/A ST-Ericsson ID: - ST-Ericsson FOSS-OUT ID: Trivial Change-Id: Ia576e1cb6dc83e6e48d77f1ae94a9b7da2d68964 Signed-off-by: Ludovic Barre <ludovic.barre@stericsson.com> Change-Id: Ia576e1cb6dc83e6e48d77f1ae94a9b7da2d68964 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/17179 Reviewed-by: Sebastian RASMUSSEN <sebastian.rasmussen@stericsson.com> Tested-by: Sebastian RASMUSSEN <sebastian.rasmussen@stericsson.com>
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/host/mmci.c15
1 files changed, 3 insertions, 12 deletions
diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c
index 29c86cdb2d5..08a3de80466 100644
--- a/drivers/mmc/host/mmci.c
+++ b/drivers/mmc/host/mmci.c
@@ -466,22 +466,13 @@ static void mmci_dma_callback(void *arg)
unsigned long flags;
struct mmci_host *host = arg;
- dev_vdbg(mmc_dev(host->mmc), "DMA transfer done!\n");
+ dev_dbg(mmc_dev(host->mmc), "DMA transfer done!\n");
spin_lock_irqsave(&host->lock, flags);
- mmci_dma_data_end(host);
-
- /* Mark that the entire data is transferred for this dma transfer. */
- host->size = 0;
-
- /*
- * Make sure MMCI has received MCI_DATAEND before
- * completing the data transfer.
- */
- if (host->dataend)
- mmci_complete_data_xfer(host);
+ host->dma_complete = COMPLETION_DMA_XFERFINISH;
+ tasklet_schedule(&host->mmci_tasklet);
spin_unlock_irqrestore(&host->lock, flags);
}