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

Andy Shevchenko 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 mailing list