[PATCH 1/5] dmaengine: dw_dmac: move to generic DMA binding

Andy Shevchenko
2013-01-29T13:45:40Z

On Tue, 2013-01-29 at 13:31 +0000, Arnd Bergmann wrote:
> On Tuesday 29 January 2013, Viresh Kumar wrote:
> > You can still keep fargs as is and just fill them as:
> >
> > fargs.cfg_lo = 0;
> >
> > if (DMA_TO_DEV)
> > // dest is periph
> > fargs.cfg_hi = be32_to_cpup(dma_spec->args+0) << 11;
> > else if (DEV_TO_DMA)
> > // src is periph
> > fargs.cfg_hi = be32_to_cpup(dma_spec->args+0) << 7;
> >
> > The field size is 4 bits.
>
> Ah, good. So I guess the "dma-requests" property should actually
> be "16" then.
>
> Does this mean that an implicit zero request line means memory?

No, it doesn't.
When dma is doing mem2mem transfers the request line field is ignored by
the hw.

> Could we have device-to-device DMAs with this controller, and if
> we can, should we have both 'src' and 'dst' fields?

As far as I know there is no driver under dmaengine that supports
per2per transfers.

> Are the
> two number ranges sharing the same address space, i.e. is
> request '7' as the destination guaranteed to be the same device
> as request '7' in the source?

Request line should be unique. It means a real wire from slave hw to the
dmac.

--
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Intel Finland Oy