diff options
author | Ludovic Barre <ludovic.barre@stericsson.com> | 2011-03-22 18:00:22 +0100 |
---|---|---|
committer | Sebastian RASMUSSEN <sebastian.rasmussen@stericsson.com> | 2011-04-07 16:06:05 +0200 |
commit | cc21061ee4be97fec29cba762411d4948fc2f008 (patch) | |
tree | 7474c4cc4bae2c9b7441ae954be2d12207464cfa /drivers/mmc | |
parent | b14fffea01ea9ea8582068ed6ea0afde7aa996ba (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.c | 15 |
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); } |