Hi Will,

On 12/09/14 17:34, Will Deacon wrote:
Hi all,

Here is version three of the RFC I've previously posted here:

   RFCv1: 
http://lists.infradead.org/pipermail/linux-arm-kernel/2014-August/283023.html
   RFCv2: 
http://lists.infradead.org/pipermail/linux-arm-kernel/2014-September/283752.html

Changes since RFCv2 include:

   - Put the iommu_ops in iommu_data so of_iommu_configure can avoid using
     the bus_type
   - Initialise the offset and DMA masks on the dev in of_dma_configure
     instead of in the arch callback (as this would cause a regression on
     some architectures)
   - Added deconfigure/teardown code based on ref counting the iommu_dma_mapping
   - A bunch of small fixes (_OF_DECLARE,  some code shuffling, fix multiple
     IOMMU parsing)

All feedback welcome. Hopefully this is now at a point where people can
start looking to port dma-mapping and/or IOMMU drivers to it.


What about AMBA devices? Playing with this on Juno and wondering why my PL330 doesn't get any of_xlate callbacks, I see that of_amba_device_create doesn't call of_dma_configure or anything from that path. It's easy to work around by removing the arm,primecell compatible, but that feels pretty dirty.

Robin.

Cheers,

Will

--->8

Will Deacon (7):
   iommu: provide early initialisation hook for IOMMU drivers
   dma-mapping: replace set_arch_dma_coherent_ops with arch_setup_dma_ops
   iommu: add new iommu_ops callback for adding an OF device
   iommu: provide helper function to configure an IOMMU for an of master
   dma-mapping: detect and configure IOMMU in of_dma_configure
   arm: call iommu_init before of_platform_populate
   arm: dma-mapping: plumb our iommu mapping ops into arch_setup_dma_ops

  arch/arm/include/asm/dma-mapping.h |  9 ++--
  arch/arm/kernel/setup.c            |  2 +
  arch/arm/mm/dma-mapping.c          | 68 ++++++++++++++++++++++++++----
  drivers/iommu/Kconfig              |  2 +-
  drivers/iommu/of_iommu.c           | 84 ++++++++++++++++++++++++++++++++++++++
  drivers/of/platform.c              | 53 +++++++++++++-----------
  include/asm-generic/vmlinux.lds.h  |  2 +
  include/linux/dma-mapping.h        | 21 +++++++---
  include/linux/iommu.h              | 15 +++++++
  include/linux/of_iommu.h           | 35 ++++++++++++++++
  10 files changed, 247 insertions(+), 44 deletions(-)



_______________________________________________
iommu mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to