linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/5] Add Tegra194 Dual ARM SMMU driver
@ 2018-12-04  1:36 Krishna Reddy
  2018-12-04  1:36 ` [PATCH v3 1/6] iommu/arm-smmu: create library for ARM SMMU Krishna Reddy
                   ` (5 more replies)
  0 siblings, 6 replies; 9+ messages in thread
From: Krishna Reddy @ 2018-12-04  1:36 UTC (permalink / raw)
  To: will.deacon, robin.murphy, joro
  Cc: linux-arm-kernel, iommu, linux-kernel, linux-tegra, treding,
	yhsu, snikam, praithatha, talho, avanbrunt, thomasz, olof,
	jtukkinen, mperttunen, Krishna Reddy

NVIDIA's Xavier (Tegra194) SOC has two ARM SMMU(MMU-500) instances, which
are used as one SMMU device in HW. The IOVA accesses from HW devices are
interleaved across these two SMMU instances and need to be programmed identical.

The existing ARM SMMU driver can't be used in its current form for programming
the two SMMU instances identically. But, Most of the code can be shared between
ARM SMMU driver and Tegra194 SMMU driver. To allow sharing the code, Created
a libray based on the current ARM SMMU driver and added suppport to program
multiple ARM SMMU Instances identically. Upated Current ARM SMMU driver and
Tegra194 SMMU driver to use the library functions.

Please review the patches and provide feedback.

Changes in v2:
* Added CONFIG_ARM_SMMU_TEGRA to protect Tegra194 SMMU driver compilation
* Enabled CONFIG_ARM_SMMU_TEGRA in defconfig
* Added SMMU nodes in Tegra194 device tree

Changes in v3:
* Created library for ARM SMMU based on arm-smmu.c
* Added support to program multiple ARM SMMU instances identically
* Updated arm-smmu.c/tegra194-smmu.c to use ARM SMMU library functions

Krishna Reddy (6):
  iommu/arm-smmu: create library for ARM SMMU
  iommu/arm-smmu: Add support to program multiple ARM SMMU's identically
  iommu/arm-smmu: update arm-smmu.c to use ARM SMMU library
  iommu/tegra194_smmu: Add Tegra194 SMMU driver
  arm64: defconfig: Enable ARM_SMMU_TEGRA
  arm64: tegra: Add SMMU nodes to Tegra194 device tree

 arch/arm64/boot/dts/nvidia/tegra194.dtsi |  148 +++
 arch/arm64/configs/defconfig             |    1 +
 drivers/iommu/Kconfig                    |   11 +
 drivers/iommu/Makefile                   |    2 +
 drivers/iommu/arm-smmu.c                 | 1709 +----------------------------
 drivers/iommu/lib-arm-smmu.c             | 1768 ++++++++++++++++++++++++++++++
 drivers/iommu/lib-arm-smmu.h             |  161 +++
 drivers/iommu/tegra194-smmu.c            |  394 +++++++
 8 files changed, 2496 insertions(+), 1698 deletions(-)
 create mode 100644 drivers/iommu/lib-arm-smmu.c
 create mode 100644 drivers/iommu/lib-arm-smmu.h
 create mode 100644 drivers/iommu/tegra194-smmu.c

-- 
2.1.4


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

end of thread, other threads:[~2018-12-19 20:37 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-12-04  1:36 [PATCH v3 0/5] Add Tegra194 Dual ARM SMMU driver Krishna Reddy
2018-12-04  1:36 ` [PATCH v3 1/6] iommu/arm-smmu: create library for ARM SMMU Krishna Reddy
2018-12-04  1:36 ` [PATCH v3 2/6] iommu/arm-smmu: Add support to program multiple ARM SMMU's identically Krishna Reddy
2018-12-19 18:07   ` Robin Murphy
2018-12-19 20:36     ` Krishna Reddy
2018-12-04  1:36 ` [PATCH v3 3/6] iommu/arm-smmu: update arm-smmu.c to use ARM SMMU library Krishna Reddy
2018-12-04  1:36 ` [PATCH v3 4/6] iommu/tegra194_smmu: Add Tegra194 SMMU driver Krishna Reddy
2018-12-04  1:36 ` [PATCH v3 5/6] arm64: defconfig: Enable ARM_SMMU_TEGRA Krishna Reddy
2018-12-04  1:36 ` [PATCH v3 6/6] arm64: tegra: Add SMMU nodes to Tegra194 device tree Krishna Reddy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).