On Wed, Jul 06, 2011 at 11:05:00AM -0500, Christoph Lameter wrote: > On Wed, 6 Jul 2011, Russell King - ARM Linux wrote: > > > > > they typically don't fall into the highmem zone. As the dmabounce > > > > code allocates from the DMA coherent allocator to provide it with > > > > guaranteed DMA-able memory, that would be rather inconvenient. > > > > > > True. The dmabounce code would consequently have to allocate > > > the memory through an internal function that avoids the > > > contiguous allocation area and goes straight to ZONE_DMA memory > > > as it does today. > > > > CMA's whole purpose for existing is to provide _dma-able_ contiguous > > memory for things like cameras and such like found on crippled non- > > scatter-gather hardware. If that memory is not DMA-able what's the > > point? > > ZONE_DMA is a zone for memory of legacy (crippled) devices that cannot DMA > into all of memory (and so is ZONE_DMA32). Memory from ZONE_NORMAL can be > used for DMA as well and a fully capable device would be expected to > handle any memory in the system for DMA transfers. > > "guaranteed" dmaable memory? DMA abilities are device specific. Well maybe > you can call ZONE_DMA memory to be guaranteed if you guarantee that any > device must at mininum be able to perform DMA into ZONE_DMA memory. But > there may not be much of that memory around so you would want to limit > the use of that scarce resource. Precisely, which is what ZONE_DMA is all about. I *have* been a Linux kernel hacker for the last 18 years and do know these things, especially as ARM has had various issues with DMA memory limitations over those years - and have successfully had platforms working reliably given that and ZONE_DMA. -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html