diff options
author | Tom Rini <trini@konsulko.com> | 2020-01-25 12:04:59 -0500 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2020-01-25 12:04:59 -0500 |
commit | d31dd3b596190bdecbd109e404f16bd208fe32ba (patch) | |
tree | d862bd67736079799b474d876f38b75032ade5b6 /drivers/mmc | |
parent | 2c871f9e084b2c03d1961884228a6901387ab8d6 (diff) | |
parent | 683b7c2a170a71bded99bb9e7dfd26372427ca1c (diff) |
Merge branch '2020-01-24-master-imports'
- Enable fastboot on some MediaTek platforms
- DMA enchancements
- Assorted bugfixes
Diffstat (limited to 'drivers/mmc')
-rw-r--r-- | drivers/mmc/tmio-common.c | 25 |
1 files changed, 3 insertions, 22 deletions
diff --git a/drivers/mmc/tmio-common.c b/drivers/mmc/tmio-common.c index 669410d97f6..5a8506dcb6b 100644 --- a/drivers/mmc/tmio-common.c +++ b/drivers/mmc/tmio-common.c @@ -4,6 +4,7 @@ * Author: Masahiro Yamada <yamada.masahiro@socionext.com> */ +#include <asm/dma-mapping.h> #include <common.h> #include <clk.h> #include <cpu_func.h> @@ -76,26 +77,6 @@ void tmio_sd_writel(struct tmio_sd_priv *priv, writel(val, priv->regbase + reg); } -static dma_addr_t __dma_map_single(void *ptr, size_t size, - enum dma_data_direction dir) -{ - unsigned long addr = (unsigned long)ptr; - - if (dir == DMA_FROM_DEVICE) - invalidate_dcache_range(addr, addr + size); - else - flush_dcache_range(addr, addr + size); - - return addr; -} - -static void __dma_unmap_single(dma_addr_t addr, size_t size, - enum dma_data_direction dir) -{ - if (dir != DMA_TO_DEVICE) - invalidate_dcache_range(addr, addr + size); -} - static int tmio_sd_check_error(struct udevice *dev, struct mmc_cmd *cmd) { struct tmio_sd_priv *priv = dev_get_priv(dev); @@ -362,7 +343,7 @@ static int tmio_sd_dma_xfer(struct udevice *dev, struct mmc_data *data) tmio_sd_writel(priv, tmp, TMIO_SD_DMA_MODE); - dma_addr = __dma_map_single(buf, len, dir); + dma_addr = dma_map_single(buf, len, dir); tmio_sd_dma_start(priv, dma_addr); @@ -371,7 +352,7 @@ static int tmio_sd_dma_xfer(struct udevice *dev, struct mmc_data *data) if (poll_flag == TMIO_SD_DMA_INFO1_END_RD) udelay(1); - __dma_unmap_single(dma_addr, len, dir); + dma_unmap_single(buf, len, dir); return ret; } |