Re: [PATCH linux-next] iommu: add iommu for s390 platform
From: Joerg Roedel
Date: Mon Oct 27 2014 - 12:25:15 EST
On Mon, Oct 27, 2014 at 03:32:01PM +0100, Gerald Schaefer wrote:
> Not sure if I understood the concept of IOMMU domains right. But if this
> is about having multiple devices in the same domain, so that iommu_ops->map
> will establish the _same_ DMA mapping on _all_ registered devices, then
> this should be possible.
Yes, this is what domains are about. A domain describes a set of DMA
mappings which can be assigned to multiple devices in parallel.
> We cannot have shared DMA tables because each device gets its own DMA table
> allocated during device initialization.
Is there some hardware reason for this or is that just an implementation
detail that can be changed. In other words, does the hardware allow to
use the same DMA table for multiple devices?
> But we could just keep all devices from one domain in a list and then
> call dma_update_trans() for all devices during iommu_ops->map/unmap.
This sounds complicated. Note that a device can be assigned to a domain that
already has existing mappings. In this case you need to make sure that
the new device inherits these mappings (and destroy all old mappings for
the device that possibly exist).
I think it is much easier to use the same DMA table for all devices in a
domain, if the hardware allows that.
Joerg
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/