All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH 0/5] iommu: Introduce default domains for iommu groups
@ 2015-01-27  0:08 ` Joerg Roedel
  0 siblings, 0 replies; 32+ messages in thread
From: Joerg Roedel @ 2015-01-27  0:08 UTC (permalink / raw)
  To: iommu
  Cc: Will Deacon, Kukjin Kim, David Woodhouse, Heiko Stuebner,
	Hiroshi Doyu, Thierry Reding, Alex Williamson, Arnd Bergmann,
	linux-kernel, Robin Murphy, Laurent Pinchart, Joerg Roedel,
	jroedel

Hi,

this is a patch-set to add a default domain to each
iommu-group present in the system. The default domain is
used for devices that are not assigned to any other domain.

This means, when a device is detached from a domain, it
is automatically re-assigned to its default domain. These
changes make use of the domain types introduced in another
patch-set. The default domain is allocated with type
IOMMU_DOMAIN_DMA to be used in a common DMA-API implemention
later.

For now the default-domain handling is an opt-in for iommu
drivers, as some changes are required in them. First of all,
the semantics of the attach_domain callback has changed.
This callback must not fail if a device is already attached
to a domain, but just overwrite the existing attachment.
This semantic change allows to get rid of the detach_domain
callback when all drivers are converted.

A driver can enable default domains for itself by
implementing a domain_alloc callback that can return domains
of the IOMMU_DOMAIN_DMA type. But these patches only
implement domains in the core code and do not convert any
driver yet.

This patch-set also makes the difference between
attach/detach_device and attach/detach_group more explict.
With patch 3 applied, attach/detach_device will only succeed
when the device is the only one in its group. This probably
requires changes in the callers, which are not included
here.

Any useful comments and feedback appreciated.

Thanks,

	Joerg

Joerg Roedel (5):
  iommu: Add default domain to iommu-groups
  iommu: Allocate a default domain for iommu groups
  iommu: Limit iommu_attach/detach_device to devices with their own
    group
  iommu: Make sure a device is always attached to a domain
  iommu: Add iommu_get_domain_for_dev function

 drivers/iommu/iommu.c | 142 ++++++++++++++++++++++++++++++++++++++++++++++----
 include/linux/iommu.h |   6 +++
 2 files changed, 138 insertions(+), 10 deletions(-)

-- 
1.9.1


^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2015-02-03 12:59 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-27  0:08 [RFC PATCH 0/5] iommu: Introduce default domains for iommu groups Joerg Roedel
2015-01-27  0:08 ` Joerg Roedel
2015-01-27  0:08 ` [PATCH 1/5] iommu: Add default domain to iommu-groups Joerg Roedel
2015-01-27  0:08   ` Joerg Roedel
2015-01-27  0:08 ` [PATCH 2/5] iommu: Allocate a default domain for iommu groups Joerg Roedel
2015-01-27  0:08   ` Joerg Roedel
2015-01-28 14:30   ` Will Deacon
2015-01-28 14:30     ` Will Deacon
2015-01-28 15:11     ` Robin Murphy
2015-01-28 15:11       ` Robin Murphy
2015-01-30 12:25     ` Joerg Roedel
2015-01-30 12:25       ` Joerg Roedel
2015-01-27  0:08 ` [PATCH 3/5] iommu: Limit iommu_attach/detach_device to devices with their own group Joerg Roedel
2015-01-27  0:08   ` Joerg Roedel
2015-01-28 14:35   ` Will Deacon
2015-01-28 14:35     ` Will Deacon
2015-01-30 12:28     ` Joerg Roedel
2015-01-30 12:28       ` Joerg Roedel
2015-02-02 16:45       ` Will Deacon
2015-02-02 16:45         ` Will Deacon
2015-02-03 12:25   ` Thierry Reding
2015-02-03 12:25     ` Thierry Reding
2015-02-03 12:59     ` Joerg Roedel
2015-02-03 12:59       ` Joerg Roedel
2015-01-27  0:08 ` [PATCH 4/5] iommu: Make sure a device is always attached to a domain Joerg Roedel
2015-01-27  0:08   ` Joerg Roedel
2015-01-28 14:38   ` Will Deacon
2015-01-28 14:38     ` Will Deacon
2015-01-30 12:29     ` Joerg Roedel
2015-01-30 12:29       ` Joerg Roedel
2015-01-27  0:08 ` [PATCH 5/5] iommu: Add iommu_get_domain_for_dev function Joerg Roedel
2015-01-27  0:08   ` Joerg Roedel

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.