[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