mmc: tmio: Limit DMA to 32bit on R-Car Gen3
authorMarek Vasut <marek.vasut+renesas@gmail.com>
Tue, 2 Oct 2018 22:46:24 +0000 (00:46 +0200)
committerMarek Vasut <marex@denx.de>
Tue, 9 Oct 2018 15:21:44 +0000 (17:21 +0200)
The internal DMAC on Gen3 is 32bit only, limit the DMA address
range to 32bit.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
drivers/mmc/tmio-common.c

index 6b2194199145ef883008be84b304d6b644898cee..138de59470a7f606dd51ae3b500c6c57b9d84758 100644 (file)
@@ -379,6 +379,12 @@ static bool tmio_sd_addr_is_dmaable(const char *src)
        if (!IS_ALIGNED(addr, TMIO_SD_DMA_MINALIGN))
                return false;
 
+#if defined(CONFIG_RCAR_GEN3)
+       /* Gen3 DMA has 32bit limit */
+       if (addr >> 32)
+               return false;
+#endif
+
 #if defined(CONFIG_ARCH_UNIPHIER) && !defined(CONFIG_ARM64) && \
        defined(CONFIG_SPL_BUILD)
        /*