[PATCH V3 1/2] of: Add generic device tree DMA helpers

Vinod Koul vinod.koul at linux.intel.com
Fri Jul 20 05:41:25 EDT 2012


On Fri, 2012-07-20 at 11:08 +0200, Robert Jarzmik wrote:
> Vinod Koul <vinod.koul at linux.intel.com> writes:
> 
> >> 4. A dma controller requiring complex configuration:
> >> 
> >>        dma: dmaengine at 48000000 {
> >>                compatible = "foo,foo-sdma"
> >>                reg = <0x48000000 0x1000>;
> >>                interrupts = <4>;
> >>                #dma-cells = <6>; /* phandle, flag, request, channel,
> >> 					 input-width, output-width */
> > Why would we want the widths to be here?
> > Assuming a DMA from System memory to a peripheral, source width should
> > be system memory width and destination the peripheral width. IMO these
> > should not be in dma property even if we need these
> Hi Vinod,
> 
> I know at least one peripheral which accepts 2 widths, 8bit and 16bit, namely the
> M-Systems DiskOnChip G3 NAND chip.
> This device has to configured to choose either 8bit data bus access or 16bit
> data bus access.
That would be configured by the client (peripheral) driver and passed to
dmaengine driver using the slave config. The point is that it has
nothing to do with dma.

> 
> I'm just wondering if that usecase will fit in without the width information
> embedded, and how will the driver choose the width to use ?
It you need, this should be the client property and passed as argument
to dma, not a dma property :)


-- 
~Vinod




More information about the linux-arm-kernel mailing list