Re: Is there a binding for IORESOURCE_DMA population?
From: Tabi Timur-B04825 <hidden>
Date: 2011-07-16 20:54:21
Arnd Bergmann wrote:
But that would mean that the code interpreting that property has to know about the specific dmaengine implementation, and needs to be changed every time we add a new one.
And like I said, the SSI driver will already need to know the specifics of
the DMA controller. The PowerPC device tree node for the SSI already
works this way:
ssi@15000 {
compatible = "fsl,mpc8610-ssi";
cell-index = <0>;
reg = <0x15000 0x100>;
interrupts = <75 2 0 0>;
fsl,mode = "i2s-slave";
codec-handle = <&wm8776>;
fsl,playback-dma = <&dma00>;
fsl,capture-dma = <&dma01>;
fsl,fifo-depth = <15>;
fsl,ssi-asynchronous;
};
On PowerPC, the SSI driver knows that "fsl,playback-dma" points to a
Freescale e500 DMA controller channel node. The driver currently does not
work with any other DMA controller. This is what needs to be fixed.
Alternatively, you'd end up with the device drivers having to read the properties themselves to get to the number and pass that to the common dmaengine code.
The SSI won't be able to use any common DMA engine code, because DMA needs to be set up in a very specific way for audio. -- Timur Tabi Linux kernel developer at Freescale