On 09/19/2012 07:44 PM, Krishna Reddy wrote:
When a device driver would only use the IOMMU-API and needs small DMA- able areas it has to re-implement something like the DMA-API (basically an address allocator) for that. So I don't see a reason why both can't be used in a device driver.
On Tegra, the following use cases need specific IOVA mapping.
- Few MMIO blocks need IOVA=PA mapping setup.
In that case, why would we enable the IOMMU for that one device; IOMMU disabled means VA==PA, right? Perhaps isolation of the device so it can only access certain PA ranges for security?