diff options
| -rw-r--r-- | drivers/mmc/host/sdhci-of-esdhc.c | 7 | 
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/mmc/host/sdhci-of-esdhc.c b/drivers/mmc/host/sdhci-of-esdhc.c index 3271c2d76629..1d1953dfc54b 100644 --- a/drivers/mmc/host/sdhci-of-esdhc.c +++ b/drivers/mmc/host/sdhci-of-esdhc.c @@ -495,7 +495,12 @@ static int esdhc_of_enable_dma(struct sdhci_host *host)  		dma_set_mask_and_coherent(dev, DMA_BIT_MASK(40));  	value = sdhci_readl(host, ESDHC_DMA_SYSCTL); -	value |= ESDHC_DMA_SNOOP; + +	if (of_dma_is_coherent(dev->of_node)) +		value |= ESDHC_DMA_SNOOP; +	else +		value &= ~ESDHC_DMA_SNOOP; +  	sdhci_writel(host, value, ESDHC_DMA_SYSCTL);  	return 0;  }  | 

