Hello,

This patch set adds a new driver for the Renesas IOMMU found in the R-Car H2
(r8a7790) and R-Car M2 (r8a7791) SoCs. Despite being called IPMMU like the
IOMMU present in older ARM Sh Mobile SoCs, the hardware has nothing in common
with the previous versions and thus requires a separate driver.

This IPMMU is compatible with the ARM VMSA short- and long-descriptor formats
(although some minor differences seem to exist, most probably due to hardware
bugs). The register set, however, is not compatible with the MMU-400 or
MMU-500. The existing arm-smmu driver can't thus be reused.

The second patch (not meant to be merged) in the set instanciates a platform
device for the IPMMU MX and associates it with the DU. The IPMMU can then be
tested using the rcar-du-drm driver. No modification is required to that
driver, as IOMMU integration is handled transparently by the ARM DMA
implementation.

One major problem still exist, in that the ARM DMA IOMMU backend doesn't seem
to mmap memory correctly to userspace. Tests carried on with the KMS modetest
application left the display hopelessly blank, until I decided to fill the KMS
buffers with a test pattern from inside the kernel. Although this makes the
IPMMU unusable at the moment, it shouldn't block review of the driver as it
shouldn't be involved in the problem. I'm of course investigating this.

Laurent Pinchart (2):
  iommu: Add driver for Renesas VMSA-compatible IPMMU
  [TEST] ARM: shmobile: koelsch-reference: Instantiate IPMMU-MX

 arch/arm/mach-shmobile/board-koelsch-reference.c |   30 +
 drivers/iommu/Kconfig                            |   12 +
 drivers/iommu/Makefile                           |    1 +
 drivers/iommu/ipmmu-vmsa.c                       | 1070 ++++++++++++++++++++++
 include/linux/platform_data/ipmmu-vmsa.h         |   24 +
 5 files changed, 1137 insertions(+)
 create mode 100644 drivers/iommu/ipmmu-vmsa.c
 create mode 100644 include/linux/platform_data/ipmmu-vmsa.h

-- 
Regards,

Laurent Pinchart

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

Reply via email to