On Wednesday 19 September 2012, Hiroshi Doyu wrote: > I guess that it would work. Originally I thought that using DMA-API > and IOMMU-API together in driver might be kind of layering violation > since IOMMU-API itself is used in DMA-API. Only DMA-API used in driver > might be cleaner. Considering that DMA API traditionally handling > anonymous {bus,iova} address only, introducing the concept of > specific address in DMA API may not be so encouraged, though. > > It would be nice to listen how other SoCs have solved similar needs. In general, I would recommend using only the IOMMU API when you have a device driver that needs to control the bus virtual address space and that manages a device that resides in its own IOMMU context. I would recommend using only the dma-mapping API when you have a device that lives in a shared bus virtual address space with other devices, and then never ask for a specific bus virtual address. Can you explain what devices you see that don't fit in one of those two categories? Arnd -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>