[PATCH v2 0/5] dmaengine: rcar-dmac: add iommu support for slave transfers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

This series add iommu support to rcar-dmac. It's tested on both lager
and koelsch with CONFIG_IPMMU_VMSA and by enabling the ipmmu_ds node in
r8a779{0,1}.dtsi. I verified operation by interacting with /dev/mmcblk1
which is a device behind the iommu.

Vinod can you clarify on whether or not the way forward for this issue
is to map the phys_addr to dma_addr in the client or as I do here in the
controller? I could not find a clear answer to this in the last
discussion about this in v1 of this series.

* Changes since v1
- Add and use a dma_{map,unmap}_page_attrs to be able to map the page
  using attributes DMA_ATTR_NO_KERNEL_MAPPING and
  DMA_ATTR_SKIP_CPU_SYNC. Thanks Laurent.
- Drop check if dmac is part of a iommu group or not, let the DMA
  mapping api handle it.
- Move slave configuration data around in rcar-dmac to avoid code
  duplication.
- Fix build issue reported by 'kbuild test robot' regarding phys_to_page
  not availability on some configurations.
- Add DT information for r8a7791.

* Changes since RFC
- Switch to use the dma-mapping api instead of using the iommu_map()
  directly. Turns out the dma-mapper is much smarter then me...
- Dropped the patch to expose domain->ops->pgsize_bitmap from within the
  iommu api.
- Dropped the patch showing how I tested the RFC.

Niklas Söderlund (5):
  dma-mapping: add dma_{map,unmap}_page_attrs
  dmaengine: rcar-dmac: group slave configuration
  dmaengine: rcar-dmac: add iommu support for slave transfers
  ARM: dts: r8a7790: add iommus to dmac0 and dmac1
  ARM: dts: r8a7791: add iommus to dmac0 and dmac1

 arch/arm/boot/dts/r8a7790.dtsi           | 30 +++++++++++
 arch/arm/boot/dts/r8a7791.dtsi           | 30 +++++++++++
 drivers/dma/sh/rcar-dmac.c               | 88 ++++++++++++++++++++++++++------
 include/asm-generic/dma-mapping-common.h | 20 +++++---
 4 files changed, 144 insertions(+), 24 deletions(-)

--
2.7.0

--
To unsubscribe from this list: send the line "unsubscribe dmaengine" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux PCI]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux