diff options
Diffstat (limited to 'drivers/mmc/host/sdhci.c')
| -rw-r--r-- | drivers/mmc/host/sdhci.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c index ff5bf73cdd25..a359efdd77eb 100644 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c | |||
| @@ -963,6 +963,15 @@ static void sdhci_data_irq(struct sdhci_host *host, u32 intmask) | |||
| 963 | if (intmask & (SDHCI_INT_DATA_AVAIL | SDHCI_INT_SPACE_AVAIL)) | 963 | if (intmask & (SDHCI_INT_DATA_AVAIL | SDHCI_INT_SPACE_AVAIL)) |
| 964 | sdhci_transfer_pio(host); | 964 | sdhci_transfer_pio(host); |
| 965 | 965 | ||
| 966 | /* | ||
| 967 | * We currently don't do anything fancy with DMA | ||
| 968 | * boundaries, but as we can't disable the feature | ||
| 969 | * we need to at least restart the transfer. | ||
| 970 | */ | ||
| 971 | if (intmask & SDHCI_INT_DMA_END) | ||
| 972 | writel(readl(host->ioaddr + SDHCI_DMA_ADDRESS), | ||
| 973 | host->ioaddr + SDHCI_DMA_ADDRESS); | ||
| 974 | |||
| 966 | if (intmask & SDHCI_INT_DATA_END) | 975 | if (intmask & SDHCI_INT_DATA_END) |
| 967 | sdhci_finish_data(host); | 976 | sdhci_finish_data(host); |
| 968 | } | 977 | } |
