mirror of
https://xff.cz/git/u-boot/
synced 2025-09-01 08:42:12 +02: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:
committed by
Joe Hershberger
parent
08b3e90a01
commit
b8a4dd28f3
@@ -187,6 +187,18 @@ int dma_send(struct dma *dma, void *src, size_t len, void *metadata)
|
||||
|
||||
return ops->send(dma, src, len, metadata);
|
||||
}
|
||||
|
||||
int dma_get_cfg(struct dma *dma, u32 cfg_id, void **cfg_data)
|
||||
{
|
||||
struct dma_ops *ops = dma_dev_ops(dma->dev);
|
||||
|
||||
debug("%s(dma=%p)\n", __func__, dma);
|
||||
|
||||
if (!ops->get_cfg)
|
||||
return -ENOSYS;
|
||||
|
||||
return ops->get_cfg(dma, cfg_id, cfg_data);
|
||||
}
|
||||
#endif /* CONFIG_DMA_CHANNELS */
|
||||
|
||||
int dma_get_device(u32 transfer_type, struct udevice **devp)
|
||||
|
Reference in New Issue
Block a user