Re: Discussion about iopa()
From: Kumar Gala <hidden>
Date: 2007-02-09 23:44:43
On Feb 9, 2007, at 5:33 PM, Timur Tabi wrote:
Kumar Gala wrote:quoted
We should fix it so the driver just has to do dma_alloc_coherent, dma_free_coherent, and dma_map_*/dma_unmap_*Ok, I'm getting confused now. The driver currently uses ioremap (). You're saying that it should use the dma_xxx functions instead, but not until those functions support MURAM? When that happens, won't that make ioremap() obsolete?
ioremap() is for IO space not normal memory or things that behave like normal memory (MURAM, on chip SRAM, etc). ioremap will always be needed to ensure proper non-cachable/guarded access to registers on devices, etc... The problem is that we don't have a mechanism between kmalloc/vmalloc (for system memory) and ioremap (for devices) to handle other memories in the system. So we end up with a specialized allocator (rheap + muram wrappers) to deal with it. So, I'd rather mapping also be specialized for MURAM. I don't see any benefit in making mapping behave the same while not addressing the other functionality (allocation, deallocation, etc.) - k