On Wed, Jun 11, 2014 at 10:25 AM, Chen-Yu Tsai <[email protected]> wrote: > On Wed, Jun 11, 2014 at 10:23 PM, [email protected] <[email protected]> > wrote: >> On Wed, Jun 11, 2014 at 10:17 AM, Chen-Yu Tsai <[email protected]> wrote: >>> On Wed, Jun 11, 2014 at 10:05 PM, [email protected] <[email protected]> >>> wrote: >>>> Is there a DMAEngine implementation for the A20? >>>> Audio drivers will want that. >>> >>> Emilio (CC-ed) has been working on one, and he pushed out a branch I think. >>> >>> Depending on how much time it would take to implement the audio drivers,
Audio support is fairly easy if DMAEngine is there and cyclic buffers have been implemented. Audio does need a DMA feature that not all DMA hardware implements. It needs to be able to ask the DMA hardware what address (or how far along) the transfer is currently at. That info is needed to implement the mixer. For example. You set audio up on a cyclic 16Kb DMA buffer playing music. Now you want to make a beep that new email has arrived. The audio system needs to be able to ask the DMA hardware where it is inside that 16Kb buffer. Once it knows where the DMA pointer is, it will mix that beep into music already existing in the buffer that hasn't played yet. Without this capability audio drivers will implement lots of little chained buffers. Then as each one completes if knows where the DMA pointer is. Finally there is code in ALSA that just guesses where the DMA pointer is based on the system clock. Does the A20 DMA hardware expose the current DMA pointer address in a register? >>> I think it'd be a good device to stress test it. EMAC is another. >> >> How is this stmmac GbE driver Cubietruck is using now doing DMA? Or is >> it using DMA? > > Like some of the other IP blocks (EHCI/OHCI, AHCI, MMC), GMAC has it's > own hardware DMA engine. > >>>> I hope there is DMAEngine support around somewhere. Last time I tried >>>> doing one (LPC3130) I worked on it for two months and then gave up. >>>> It's not that implementing DMAEngine is that difficult, the switch to >>>> DMAEngine had the side effect of forcing almost every LPC3130 device >>>> driver to be rewritten and that was too much for me to do alone. >>> >>> Most drivers are generic I think. Most of the devices really needing DMA >>> don't have mainline drivers at all. That includes display, HDMI and audio. -- Jon Smirl [email protected] -- You received this message because you are subscribed to the Google Groups "linux-sunxi" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
