Hello, Matt! Matt Sealey schrieb: > IOAT and Intel's DMA engine driver is very IOAT specific in places.. > > I had a peek at it as I have a little interest in the concept; at least the > two platforms Genesi has been supporting (Pegasos and Efika) have quite > competant DMA engines which are woefully underused (i.e. not at all).
True. > There exists a Marvell DMA driver somewhere (I have a copy, someone on > this list posted it about a year ago) and while the MPC5200B doesn't have > explicit support for DMA from memory to memory (although memory to SRAM > might work in chunks, or memory to a FIFO wired as a loopback like in > the docs..??) > > There is so much you can do with most SoC DMA controllers, and it's not > even limited to PowerPC (most ARM/XScale SoCs have very capable devices > inside too). I can only imagine that nobody got excited over IOAT because > the entire programming interface stinks of "offloading gigabit ethernet" > and not much else. The main question remains: Is it possible to have a flexible cross platform DMA API which handles even complex requests and does scheduling, prioritizing, queuing, locking, (re-)building/caching of SG lists... automagically. It could fall back to CPU's memcpy if the hardware doesn't have the ability to use the DMA machine because all channels are already busy, or the requested memory isn't DMAable or the request is just too small that it doesn't make sense to setup a DMA channel. Filling memory with zero is also a simple task for a DMA engine. (Thinking about malloc() and memset()) The problem is IMHO similar to video acceleration. Within the Xorg's XAA/EXA/whatever framework, the drivers accelerate certain calls if the hardware has the capability to do so. Other calls fall back to some default non accelerated memcpy() & friends. Sounds like a lot of fun... replacing kernel's and libc's memcpy() with memcpy_with_dma_if_possible(). :-) Best regards, -- Clemens Koller __________________________________ R&D Imaging Devices Anagramm GmbH Rupert-Mayer-Straße 45/1 Linhof Werksgelände D-81379 München Tel.089-741518-50 Fax 089-741518-19 http://www.anagramm-technology.com _______________________________________________ Linuxppc-embedded mailing list [email protected] https://ozlabs.org/mailman/listinfo/linuxppc-embedded
