linux_dsm_epyc7002/drivers/iommu
Hiroshi Doyu a6870e928d iommu/tegra: smmu: Support variable MMIO ranges/blocks
Presently SMMU registers are located in discontiguous 3 blocks. They
are interleaved by MC registers. Ideally SMMU register blocks should
be in an independent one block, but it is too late to change this H/W
design. In the future Tegra chips over some generations, it is
expected that some of register block "size" can be extended towards
the end and also more new register blocks will be added at most a few
blocks. The starting address of each existing block won't change. This
patch allocates multiple number of register blocks dynamically based
on the info passed from DT. Those ranges are verified in the
accessors{read,write}. This may sacrifice some performance because a
new accessors prevents compiler optimization of a fixed size register
offset calculation. Since SMMU register accesses are not so frequent,
this would be acceptable. This patch is necessary to unify
"tegra-smmu.ko" over some Tegra SoC generations.

Signed-off-by: Hiroshi Doyu <hdoyu@nvidia.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Joerg Roedel <joro@8bytes.org>
2013-02-05 14:18:01 +01:00
..
amd_iommu_init.c IOMMU, AMD Family15h Model10-1Fh erratum 746 Workaround 2013-01-28 15:26:54 +01:00
amd_iommu_proto.h iommu/amd: Add initialization routines for AMD interrupt remapping 2012-09-28 17:43:52 +02:00
amd_iommu_types.h iommu/amd: Properly account for virtual aliases in IOMMU groups 2012-10-24 17:30:22 +02:00
amd_iommu_v2.c IOMMU Updates for Linux v3.6-rc1 2012-07-24 16:24:11 -07:00
amd_iommu.c iommu/amd: Remove obsolete comment 2012-12-02 16:07:43 +01:00
dmar.c iommu/dmar: Use pr_format() instead of PREFIX to tidy up pr_*() calls 2012-06-11 10:27:44 +02:00
exynos-iommu.c iommu/exynos: use list_del_init instead of list_del/INIT_LIST_HEAD 2012-09-18 12:44:02 +02:00
intel_irq_remapping.c irq_remap: disable IRQ remapping if any IOAPIC lacks an IOMMU 2012-08-10 11:28:16 +02:00
intel-iommu.c iommu/intel: disable DMAR for g4x integrated gfx 2013-01-23 01:00:41 +01:00
iommu.c Merge branches 'iommu/fixes', 'x86/amd', 'groups', 'arm/tegra' and 'api/domain-attr' into next 2012-07-23 12:17:00 +02:00
iova.c iommu: Fix typo in iommu 2012-07-24 12:58:49 +02:00
irq_remapping.c iommu/irq: Use amd_iommu_irq_ops if supported 2012-09-28 17:43:53 +02:00
irq_remapping.h iommu/amd: Add initialization routines for AMD interrupt remapping 2012-09-28 17:43:52 +02:00
Kconfig iommu/amd: Check if IOAPIC information is correct 2012-09-28 17:31:09 +02:00
Makefile ARM: OMAP2+: Move iommu2 to drivers/iommu/omap-iommu2.c 2012-11-20 10:04:41 -08:00
msm_iommu_dev.c msm: iommu: move to drivers/iommu/ 2011-06-21 10:48:50 +02:00
msm_iommu.c iommu/msm: Implement DOMAIN_ATTR_GEOMETRY attribute 2012-07-11 12:20:05 +02:00
of_iommu.c iommu: Add DMA window parser, of_get_dma_window() 2012-06-25 13:50:28 +02:00
omap-iommu2.c iommu/omap: Adapt to runtime pm 2012-12-03 18:48:23 +01:00
omap-iommu-debug.c ARM: OMAP2+: Move iommu/iovmm headers to platform_data 2012-11-20 10:05:01 -08:00
omap-iommu.c Drivers: iommu: remove __dev* attributes. 2013-01-03 15:57:14 -08:00
omap-iommu.h iommu/omap: Adapt to runtime pm 2012-12-03 18:48:23 +01:00
omap-iopgtable.h ARM: OMAP2+: Move iommu2 to drivers/iommu/omap-iommu2.c 2012-11-20 10:04:41 -08:00
omap-iovmm.c ARM: OMAP2+: Move iommu/iovmm headers to platform_data 2012-11-20 10:05:01 -08:00
tegra-gart.c Drivers: iommu: remove __dev* attributes. 2013-01-03 15:57:14 -08:00
tegra-smmu.c iommu/tegra: smmu: Support variable MMIO ranges/blocks 2013-02-05 14:18:01 +01:00