summaryrefslogtreecommitdiffstats
path: root/drivers/mtd/spi
diff options
context:
space:
mode:
authorMugunthan V N <mugunthanvnm@ti.com>2016-02-15 15:31:39 +0530
committerJagan Teki <jteki@openedev.com>2016-02-23 16:14:46 +0530
commit7bd1c59bdb5ccf5a0fbd8522fd35b9db1a450fb3 (patch)
treec01701562e8cd4ddfc956dd5227da9c5d2b81c6c /drivers/mtd/spi
parent58da672d49d03e9d7945901e59b9a1174b4f1f67 (diff)
downloadblackbird-obmc-uboot-7bd1c59bdb5ccf5a0fbd8522fd35b9db1a450fb3.tar.gz
blackbird-obmc-uboot-7bd1c59bdb5ccf5a0fbd8522fd35b9db1a450fb3.zip
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>
Diffstat (limited to 'drivers/mtd/spi')
-rw-r--r--drivers/mtd/spi/spi_flash.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/mtd/spi/spi_flash.c b/drivers/mtd/spi/spi_flash.c
index 8a60c72926..3c365d5e9a 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);
}
OpenPOWER on IntegriCloud