diff options
author | Mugunthan V N <mugunthanvnm@ti.com> | 2016-02-15 10:01:39 (GMT) |
---|---|---|
committer | Jagan Teki <jteki@openedev.com> | 2016-02-23 10:44:46 (GMT) |
commit | 7bd1c59bdb5ccf5a0fbd8522fd35b9db1a450fb3 (patch) | |
tree | c01701562e8cd4ddfc956dd5227da9c5d2b81c6c | |
parent | 58da672d49d03e9d7945901e59b9a1174b4f1f67 (diff) | |
download | u-boot-7bd1c59bdb5ccf5a0fbd8522fd35b9db1a450fb3.tar.xz |
sf: spi_flash: use dma to copy data from mmap region if platform supports
Add dma memcpy api to the default spi_flash_copy_mmap(), so that
dma will be used to copy data when CONFIG_DMA is defined for the
platform.
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Jagan Teki <jteki@openedev.com>
-rw-r--r-- | drivers/mtd/spi/spi_flash.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/mtd/spi/spi_flash.c b/drivers/mtd/spi/spi_flash.c index 8a60c72..3c365d5 100644 --- a/drivers/mtd/spi/spi_flash.c +++ b/drivers/mtd/spi/spi_flash.c @@ -16,6 +16,7 @@ #include <spi.h> #include <spi_flash.h> #include <linux/log2.h> +#include <dma.h> #include "sf_internal.h" @@ -454,8 +455,16 @@ int spi_flash_read_common(struct spi_flash *flash, const u8 *cmd, return ret; } +/* + * TODO: remove the weak after all the other spi_flash_copy_mmap + * implementations removed from drivers + */ void __weak spi_flash_copy_mmap(void *data, void *offset, size_t len) { +#ifdef CONFIG_DMA + if (!dma_memcpy(data, offset, len)) + return; +#endif memcpy(data, offset, len); } |