diff options
author | Vignesh Raghavendra | 2019-12-04 22:17:20 +0530 |
---|---|---|
committer | Joe Hershberger | 2019-12-09 09:47:43 -0600 |
commit | b8a4dd28f3b719d176fed5dc8d23a898463b072c (patch) | |
tree | 24165070b5a39e8a4a63d5e11a5673815bcf6af3 /include/dma.h | |
parent | 08b3e90a0168c9053c9bdd7df5d187cb6668a4c6 (diff) |
dma: Introduce dma_get_cfg() interface
Sometimes, there would be a need to exchange data between DMA provider
and DMA client which are very specific to DMA driver of the SoC/platform
and are not generic enough to be put into struct dma. Therefore, introduce
dma_get_cfg() interface to get DMA provider specific data from client
device. Clients can use unique configuration ID flags to get different
configuration data from DMA driver.
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>
Diffstat (limited to 'include/dma.h')
-rw-r--r-- | include/dma.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/dma.h b/include/dma.h index d1c3d0df7d9..6c55aa3a004 100644 --- a/include/dma.h +++ b/include/dma.h @@ -290,6 +290,18 @@ int dma_receive(struct dma *dma, void **dst, void *metadata); * @return zero on success, or -ve error code. */ int dma_send(struct dma *dma, void *src, size_t len, void *metadata); + +/** + * dma_get_cfg() - Get DMA channel configuration for client's use + * + * @dma: The DMA Channel to manipulate + * @cfg_id: DMA provider specific ID to identify what + * configuration data client needs + * @cfg_data: Pointer to store pointer to DMA driver specific + * configuration data for the given cfg_id (output param) + * @return zero on success, or -ve error code. + */ +int dma_get_cfg(struct dma *dma, u32 cfg_id, void **cfg_data); #endif /* CONFIG_DMA_CHANNELS */ /* |