Hello,

On 2016-04-25 17:58, Sricharan R wrote:
This is mostly a repost of the probe deferral series from
Laurent Pinchart [1]. Added a check to fix boot with ACPI.
Adapted arm-smmu driver to work with deferred probing and added
a new api for the below reason. This is based on the generic iommu binding
series from Robin Murphy <robin.mur...@arm.com>.

Thanks for this patchset. I'm working on some serious rework in exynos power
domains and clocks support code and it turned out that I need this feature
to resolve probing order. It works fine on my internal tree, where some
iommu controllers cannot get their clocks early enough.

Tested-by: Marek Szyprowski <m.szyprow...@samsung.com>

Now associating a group with an master has become mandatory and happens
when the master is added to the bus using BUS_ADD_DEVICE from iommu core.
But the iommu has to be ready before this using early iommu registration
and also master should have been added to the iommu using xlate. So, when
trying to get rid of the early registration and using late probing for iommu
devices to sort out the probing order, the newly added api is meant to be
called during the late probing to add the master to the iommu. add_iommu_group
could be modified to do the same though.

The one issue here is the DRIVER_BIND notifier from iommu core
might be called at a wrong point since the addition of a group to the device
happens after this.

Will be good to know the right direction to proceed on this fully.

[1] http://lists.linuxfoundation.org/pipermail/iommu/2015-May/013016.html

Laurent Pinchart (6):
   arm: dma-mapping: Don't override dma_ops in arch_setup_dma_ops()
   of: dma: Move range size workaround to of_dma_get_range()
   of: dma: Make of_dma_deconfigure() public
   of: dma: Split of_configure_dma() into mask and ops configuration
   drivers: platform: Configure dma operations at probe time
   iommu: of: Handle IOMMU lookup failure with deferred probing or error

Sricharan R (3):
   drivers: iommu: Add a new add device api
   drivers: of: call iommu_bus_add_dev after iommu_configure_ops
   drivers: iommu: arm-smmu: Set iommu_ops in probe

  arch/arm/mm/dma-mapping.c |  9 ++++++
  drivers/base/platform.c   | 13 ++++++++
  drivers/iommu/arm-smmu.c  | 34 ++------------------
  drivers/iommu/iommu.c     | 12 +++++++
  drivers/iommu/of_iommu.c  | 16 ++++++++--
  drivers/of/address.c      | 20 ++++++++++--
  drivers/of/device.c       | 81 +++++++++++++++++++++++++++++++----------------
  drivers/of/platform.c     | 16 ++++------
  drivers/pci/probe.c       |  3 +-
  include/linux/iommu.h     |  1 +
  include/linux/of_device.h | 14 ++++++--
  11 files changed, 141 insertions(+), 78 deletions(-)


Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to