[PATCH 1/5] dmaengine: dw_dmac: move to generic DMA binding
Andy Shevchenko
andriy.shevchenko at linux.intel.com
Tue Jan 29 08:45:40 EST 2013
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 at linux.intel.com>
Intel Finland Oy
More information about the linux-arm-kernel
mailing list