mirror of
https://github.com/u-boot/u-boot.git
synced 2025-05-08 19:11:53 +00:00
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>
This commit is contained in:
parent
08b3e90a01
commit
b8a4dd28f3
3 changed files with 35 additions and 0 deletions
|
@ -108,6 +108,17 @@ struct dma_ops {
|
|||
* @return zero on success, or -ve error code.
|
||||
*/
|
||||
int (*send)(struct dma *dma, void *src, size_t len, void *metadata);
|
||||
/**
|
||||
* 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
|
||||
* @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 (*get_cfg)(struct dma *dma, u32 cfg_id, void **data);
|
||||
#endif /* CONFIG_DMA_CHANNELS */
|
||||
/**
|
||||
* transfer() - Issue a DMA transfer. The implementation must
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue