[PATCH 1/5] dmaengine: dw_dmac: move to generic DMA binding
andriy.shevchenko at linux.intel.com
Tue Jan 29 05:54:46 EST 2013
On Tue, 2013-01-29 at 16:19 +0530, Viresh Kumar wrote:
> On 29 January 2013 16:05, Arnd Bergmann <arnd at arndb.de> wrote:
> > On Tuesday 29 January 2013, Viresh Kumar wrote:
> >> > + /* FIXME: This binding is rather clumsy. Can't we use the
> >> > + request line numbers here instead? */
> >> yes.
> > Ok, Very good. What is the encoding of the registers then?
> 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;
We have macros for such shifts.
drivers/dma/dw_dmac.c:187: cfghi = DWC_CFGH_DST_PER(...
drivers/dma/dw_dmac.c:189: cfghi = DWC_CFGH_SRC_PER(...
Andy Shevchenko <andriy.shevchenko at linux.intel.com>
Intel Finland Oy
More information about the linux-arm-kernel