dmaengine: sa11x0: add DMA filters
Add DMA filters for the sa11x0 DMA channels. This will allow us to migrate away from directly using the DMA filter function in drivers. Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
This commit is contained in:
parent
2bd6bf03f4
commit
73d2a3cef4
1 changed files with 11 additions and 0 deletions
|
@ -823,6 +823,13 @@ static const struct sa11x0_dma_channel_desc chan_desc[] = {
|
||||||
CD(Ser4SSPRc, DDAR_RW),
|
CD(Ser4SSPRc, DDAR_RW),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const struct dma_slave_map sa11x0_dma_map[] = {
|
||||||
|
{ "sa11x0-ir", "tx", "Ser2ICPTr" },
|
||||||
|
{ "sa11x0-ir", "rx", "Ser2ICPRc" },
|
||||||
|
{ "sa11x0-ssp", "tx", "Ser4SSPTr" },
|
||||||
|
{ "sa11x0-ssp", "rx", "Ser4SSPRc" },
|
||||||
|
};
|
||||||
|
|
||||||
static int sa11x0_dma_init_dmadev(struct dma_device *dmadev,
|
static int sa11x0_dma_init_dmadev(struct dma_device *dmadev,
|
||||||
struct device *dev)
|
struct device *dev)
|
||||||
{
|
{
|
||||||
|
@ -909,6 +916,10 @@ static int sa11x0_dma_probe(struct platform_device *pdev)
|
||||||
spin_lock_init(&d->lock);
|
spin_lock_init(&d->lock);
|
||||||
INIT_LIST_HEAD(&d->chan_pending);
|
INIT_LIST_HEAD(&d->chan_pending);
|
||||||
|
|
||||||
|
d->slave.filter.fn = sa11x0_dma_filter_fn;
|
||||||
|
d->slave.filter.mapcnt = ARRAY_SIZE(sa11x0_dma_map);
|
||||||
|
d->slave.filter.map = sa11x0_dma_map;
|
||||||
|
|
||||||
d->base = ioremap(res->start, resource_size(res));
|
d->base = ioremap(res->start, resource_size(res));
|
||||||
if (!d->base) {
|
if (!d->base) {
|
||||||
ret = -ENOMEM;
|
ret = -ENOMEM;
|
||||||
|
|
Loading…
Add table
Reference in a new issue