Messages in this thread | | | From | Arnd Bergmann <> | Subject | Re: Linux 3.4-rc1 | Date | Tue, 3 Apr 2012 09:07:28 +0000 |
| |
On Tuesday 03 April 2012, Kyungmin Park wrote: > > > > - DMA-mapping framework. The tree now has a few more acks from > > people, and it's largely in the same situation as HSI is: I'll > > probably pull, but I really wanted the users who are impacted to > > actually talk to me about it. > > > Hi, > > Now Marek and Nvidia persons are used it for DMA mapping based IOMMU. > > Are there other person who help to merge it? > (+CC related persons).
I can give a little more background information.
We used to have separate implementations of dma_map_ops for each architecture that had the need to abstract dma_alloc_coherent and dma_map_* across both IOMMU and linear (virt_to_bus style) mappings and/or swiotlb. Those dma_map_ops imlpementations were already merged before the start of the git history and subsequently got used on powerpc, ia64, x86_64, sparc, alpha, mips, unicore32 and hexagon, roughly in that order.
We are seeing lots of IOMMUs come up on ARM now, but unfortunately the existing dma_map_ops do not cover the need on ARM to have two different kind of coherent memory (write-combine and not write-combine) that we have traditionally abstracted using the dma_alloc_coherent and dma_alloc_writecombine functions on both arm and avr32. In order to support IOMMUs on ARM using the same API as everyone else, I've asked Marek to use dma_map_ops on ARM, which requires slightly extending the include/linux/dma-mapping.h interfaces so they cover this variation.
The actually interesting work to implement a better abstraction for IOMMUs, building the dma-mapping.h API on top of the iommu.h API in an architecture independent way has also been implemented but requires these changes as a prerequisite.
Arnd
| |