From 52ff1868163f5cbf5785437af34cd610d8809f6c Mon Sep 17 00:00:00 2001 From: Pierre Ossman Date: Sun, 13 May 2007 22:39:23 +0200 Subject: [PATCH] --- yaml --- r: 56380 b: refs/heads/master c: 6ba736a10e4ae63b38ccfee9f22b3263a6e5d050 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/mmc/host/sdhci.c | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 2512772af0fc..d955fba5481a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c0f3b6c777af071063984fdbc4efb6c904f665f4 +refs/heads/master: 6ba736a10e4ae63b38ccfee9f22b3263a6e5d050 diff --git a/trunk/drivers/mmc/host/sdhci.c b/trunk/drivers/mmc/host/sdhci.c index ff5bf73cdd25..a359efdd77eb 100644 --- a/trunk/drivers/mmc/host/sdhci.c +++ b/trunk/drivers/mmc/host/sdhci.c @@ -963,6 +963,15 @@ static void sdhci_data_irq(struct sdhci_host *host, u32 intmask) if (intmask & (SDHCI_INT_DATA_AVAIL | SDHCI_INT_SPACE_AVAIL)) sdhci_transfer_pio(host); + /* + * We currently don't do anything fancy with DMA + * boundaries, but as we can't disable the feature + * we need to at least restart the transfer. + */ + if (intmask & SDHCI_INT_DMA_END) + writel(readl(host->ioaddr + SDHCI_DMA_ADDRESS), + host->ioaddr + SDHCI_DMA_ADDRESS); + if (intmask & SDHCI_INT_DATA_END) sdhci_finish_data(host); }