linux/drivers/iommu
Yong Wu 1afe23194d iommu/io-pgtable: Add MTK 4GB mode in Short-descriptor
In MT8173, Normally the first 1GB PA is for the HW SRAM and Regs,
so the PA will be 33bits if the dram size is 4GB. We have a
"DRAM 4GB mode" toggle bit for this. If it's enabled, from CPU's
point of view, the dram PA will be from 0x1_00000000~0x1_ffffffff.

In short descriptor, the pagetable descriptor is always 32bit.
Mediatek extend bit9 in the lvl1 and lvl2 pgtable descriptor
as the 4GB mode.

In the 4GB mode, the bit9 must be set, then M4U help add 0x1_00000000
based on the PA in pagetable. Thus the M4U output address to EMI is
always 33bits(the input address is still 32bits).

We add a special quirk for this MTK-4GB mode. And in the standard
spec, Bit9 in the lvl1 is "IMPLEMENTATION DEFINED", while it's AP[2]
in the lvl2, therefore if this quirk is enabled, NO_PERMS is also
expected.

Signed-off-by: Yong Wu <yong.wu@mediatek.com>
Reviewed-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
2016-04-05 15:39:37 +02:00
..
amd_iommu_init.c iommu/amd: Apply workaround for ATS write permission check 2016-02-25 16:53:49 +01:00
amd_iommu_proto.h
amd_iommu_types.h iommu/amd: Move 'struct dma_ops_domain' definition to amd_iommu.c 2015-12-28 17:18:50 +01:00
amd_iommu_v2.c mm/core: Do not enforce PKEY permissions on remote mm access 2016-02-18 19:46:28 +01:00
amd_iommu.c iommu/amd: Detach device from domain before removal 2016-02-29 17:25:25 +01:00
arm-smmu-v3.c iommu/arm-smmu: Treat IOMMU_DOMAIN_DMA as bypass for now 2016-02-18 15:02:44 +00:00
arm-smmu.c iommu/arm-smmu: Treat IOMMU_DOMAIN_DMA as bypass for now 2016-02-18 15:02:44 +00:00
dma-iommu.c iommu/dma: Use correct offset in map_sg 2016-01-07 13:36:41 +01:00
dmar.c iommu/vt-d: Use BUS_NOTIFY_REMOVED_DEVICE in hotplug path 2016-02-29 23:55:16 +01:00
exynos-iommu.c iommu/exynos: Use proper readl/writel register interface 2016-02-29 16:44:24 +01:00
fsl_pamu_domain.c iommu/fsl: Convert to device_group call-back 2015-10-22 00:00:49 +02:00
fsl_pamu_domain.h
fsl_pamu.c powerpc/fsl: Move fsl_guts.h out of arch/powerpc 2015-10-21 18:05:50 -05:00
fsl_pamu.h
intel_irq_remapping.c SVM fixes for Linux 4.5 2016-02-16 08:04:06 -08:00
intel-iommu.c iommu/vt-d: Use BUS_NOTIFY_REMOVED_DEVICE in hotplug path 2016-02-29 23:55:16 +01:00
intel-svm.c iommu/vt-d: Clear PPR bit to ensure we get more page request interrupts 2016-02-15 12:42:38 +00:00
io-pgtable-arm-v7s.c iommu/io-pgtable: Add MTK 4GB mode in Short-descriptor 2016-04-05 15:39:37 +02:00
io-pgtable-arm.c iommu/io-pgtable: Rationalise quirk handling 2016-02-17 14:15:09 +00:00
io-pgtable.c iommu/io-pgtable: Fix a brace coding style issue. 2016-04-05 15:34:29 +02:00
io-pgtable.h iommu/io-pgtable: Add MTK 4GB mode in Short-descriptor 2016-04-05 15:39:37 +02:00
iommu-sysfs.c
iommu-traces.c
iommu.c iommu: Fix second argument of trace_map() to report correct paddr 2016-02-25 14:57:22 +01:00
iova.c
ipmmu-vmsa.c Merge branches 's390', 'arm/renesas', 'arm/msm', 'arm/shmobile', 'arm/smmu', 'x86/amd' and 'x86/vt-d' into next 2016-01-19 15:30:43 +01:00
irq_remapping.c iommu/vt-d: Add a command line parameter for VT-d posted-interrupts 2015-10-01 15:06:54 +02:00
irq_remapping.h
Kconfig Merge branches 'arm/rockchip', 'arm/exynos', 'arm/smmu', 'arm/mediatek', 'arm/io-pgtable', 'arm/renesas' and 'core' into next 2016-03-21 14:58:47 +01:00
Makefile iommu/mediatek: Add mt8173 IOMMU driver 2016-02-25 16:49:08 +01:00
msm_iommu_dev.c iommu/msm: Use platform_register/unregister_drivers() 2015-12-14 15:51:21 +01:00
msm_iommu_hw-8xxx.h
msm_iommu.c
msm_iommu.h
mtk_iommu.c iommu/mediatek: Check for NULL instead of IS_ERR() 2016-03-02 15:49:21 +01:00
of_iommu.c of: iommu: Increment DT node refcount in of_iommu_set_ops() 2016-02-18 15:02:43 +00:00
omap-iommu-debug.c
omap-iommu.c iommu/omap: Add support for configuring dsp iommus on DRA7xx 2015-10-14 14:35:47 +02:00
omap-iommu.h iommu/omap: Add support for configuring dsp iommus on DRA7xx 2015-10-14 14:35:47 +02:00
omap-iopgtable.h
rockchip-iommu.c iommu/rockchip: Reconstruct to support multi slaves 2016-01-29 12:26:06 +01:00
s390-iommu.c iommu/s390: Fix sparse warnings 2015-11-26 14:41:01 +01:00
tegra-gart.c
tegra-smmu.c