Commit 020c62ae authored by Peter Ujfalusi's avatar Peter Ujfalusi Committed by Vinod Koul

dmaengine: omap-dma: Add support for DMA filter mapping to slave devices

Add support for providing device to filter_fn mapping so client drivers
can switch to use the dma_request_chan() API.
Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@ti.com>
Reviewed-by: default avatarArnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
parent 23e6723c
...@@ -1203,6 +1203,10 @@ static int omap_dma_probe(struct platform_device *pdev) ...@@ -1203,6 +1203,10 @@ static int omap_dma_probe(struct platform_device *pdev)
return rc; return rc;
} }
od->ddev.filter.map = od->plat->slave_map;
od->ddev.filter.mapcnt = od->plat->slavecnt;
od->ddev.filter.fn = omap_dma_filter_fn;
rc = dma_async_device_register(&od->ddev); rc = dma_async_device_register(&od->ddev);
if (rc) { if (rc) {
pr_warn("OMAP-DMA: failed to register slave DMA engine device: %d\n", pr_warn("OMAP-DMA: failed to register slave DMA engine device: %d\n",
......
...@@ -267,6 +267,9 @@ struct omap_dma_reg { ...@@ -267,6 +267,9 @@ struct omap_dma_reg {
u8 type; u8 type;
}; };
#define SDMA_FILTER_PARAM(hw_req) ((int[]) { (hw_req) })
struct dma_slave_map;
/* System DMA platform data structure */ /* System DMA platform data structure */
struct omap_system_dma_plat_info { struct omap_system_dma_plat_info {
const struct omap_dma_reg *reg_map; const struct omap_dma_reg *reg_map;
...@@ -278,6 +281,9 @@ struct omap_system_dma_plat_info { ...@@ -278,6 +281,9 @@ struct omap_system_dma_plat_info {
void (*clear_dma)(int lch); void (*clear_dma)(int lch);
void (*dma_write)(u32 val, int reg, int lch); void (*dma_write)(u32 val, int reg, int lch);
u32 (*dma_read)(int reg, int lch); u32 (*dma_read)(int reg, int lch);
const struct dma_slave_map *slave_map;
int slavecnt;
}; };
#ifdef CONFIG_ARCH_OMAP2PLUS #ifdef CONFIG_ARCH_OMAP2PLUS
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment