Re: [U-Boot] [PATCH 3/5] drivers: dma: Factor out dma_get_device from DMA class function

2018-06-01 Thread Simon Glass
On 31 May 2018 at 02:08,   wrote:
> From: Tien Fong Chee 
>
> Factor out the dma_get_device from DMA class function so caller can
> set some configuration and changes on the DMA device structure which
> is return by calling dma_get_device before device instance is processed by
> DMA class functions.
>
> Signed-off-by: Tien Fong Chee 
> ---
>  drivers/dma/dma-uclass.c| 8 +---
>  drivers/mtd/spi/spi_flash.c | 9 -
>  include/dma.h   | 3 ++-
>  3 files changed, 11 insertions(+), 9 deletions(-)

Reviewed-by: Simon Glass 
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH 3/5] drivers: dma: Factor out dma_get_device from DMA class function

2018-05-31 Thread tien . fong . chee
From: Tien Fong Chee 

Factor out the dma_get_device from DMA class function so caller can
set some configuration and changes on the DMA device structure which
is return by calling dma_get_device before device instance is processed by
DMA class functions.

Signed-off-by: Tien Fong Chee 
---
 drivers/dma/dma-uclass.c| 8 +---
 drivers/mtd/spi/spi_flash.c | 9 -
 include/dma.h   | 3 ++-
 3 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/drivers/dma/dma-uclass.c b/drivers/dma/dma-uclass.c
index cb83c24..5663be8 100644
--- a/drivers/dma/dma-uclass.c
+++ b/drivers/dma/dma-uclass.c
@@ -40,15 +40,9 @@ int dma_get_device(u32 transfer_type, struct udevice **devp)
return ret;
 }
 
-int dma_memcpy(void *dst, void *src, size_t len)
+int dma_memcpy(struct udevice *dev, void *dst, void *src, size_t len)
 {
-   struct udevice *dev;
const struct dma_ops *ops;
-   int ret;
-
-   ret = dma_get_device(DMA_SUPPORTS_MEM_TO_MEM, );
-   if (ret < 0)
-   return ret;
 
ops = device_get_ops(dev);
if (!ops->transfer)
diff --git a/drivers/mtd/spi/spi_flash.c b/drivers/mtd/spi/spi_flash.c
index 2911729..7aa66b6 100644
--- a/drivers/mtd/spi/spi_flash.c
+++ b/drivers/mtd/spi/spi_flash.c
@@ -457,7 +457,14 @@ int spi_flash_read_common(struct spi_flash *flash, const 
u8 *cmd,
 void __weak spi_flash_copy_mmap(void *data, void *offset, size_t len)
 {
 #ifdef CONFIG_DMA
-   if (!dma_memcpy(data, offset, len))
+   struct udevice *dev;
+   int ret;
+
+   ret = dma_get_device(DMA_SUPPORTS_MEM_TO_MEM, );
+   if (ret < 0)
+   return;
+
+   if (!dma_memcpy(dev, data, offset, len))
return;
 #endif
memcpy(data, offset, len);
diff --git a/include/dma.h b/include/dma.h
index 6bad2264..0a0c9dd 100644
--- a/include/dma.h
+++ b/include/dma.h
@@ -75,13 +75,14 @@ int dma_get_device(u32 transfer_type, struct udevice 
**devp);
  * dma_memcpy - try to use DMA to do a mem copy which will be
  * much faster than CPU mem copy
  *
+ * @dev - The DMA device
  * @dst - destination pointer
  * @src - souce pointer
  * @len - data length to be copied
  * @return - on successful transfer returns no of bytes
 transferred and on failure return error code.
  */
-int dma_memcpy(void *dst, void *src, size_t len);
+int dma_memcpy(struct udevice *dev, void *dst, void *src, size_t len);
 
 /*
  * dma_memcpy_zeroes - Fill up destination with zeros through DMA.
-- 
2.2.0

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot