Skip to content

Commit

Permalink
Merge branches 's390', 'arm/renesas', 'arm/msm', 'arm/shmobile', 'arm…
Browse files Browse the repository at this point in the history
…/smmu', 'x86/amd' and 'x86/vt-d' into next
  • Loading branch information
Joerg Roedel committed Jan 19, 2016
8 parents afd2ff9 + 7cd7578 + 89ae54b + e7479a1 + ae50dc4 + 6d6c7e5 + 1fb260b + bc84745 commit 3270425
Show file tree
Hide file tree
Showing 17 changed files with 411 additions and 1,050 deletions.
12 changes: 10 additions & 2 deletions Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,15 @@ connected to the IPMMU through a port called micro-TLB.

Required Properties:

- compatible: Must contain "renesas,ipmmu-vmsa".
- compatible: Must contain SoC-specific and generic entries from below.

- "renesas,ipmmu-r8a73a4" for the R8A73A4 (R-Mobile APE6) IPMMU.
- "renesas,ipmmu-r8a7790" for the R8A7790 (R-Car H2) IPMMU.
- "renesas,ipmmu-r8a7791" for the R8A7791 (R-Car M2-W) IPMMU.
- "renesas,ipmmu-r8a7793" for the R8A7793 (R-Car M2-N) IPMMU.
- "renesas,ipmmu-r8a7794" for the R8A7794 (R-Car E2) IPMMU.
- "renesas,ipmmu-vmsa" for generic R-Car Gen2 VMSA-compatible IPMMU.

- reg: Base address and size of the IPMMU registers.
- interrupts: Specifiers for the MMU fault interrupts. For instances that
support secure mode two interrupts must be specified, for non-secure and
Expand All @@ -27,7 +35,7 @@ node with the following property:
Example: R8A7791 IPMMU-MX and VSP1-D0 bus master

ipmmu_mx: mmu@fe951000 {
compatible = "renasas,ipmmu-vmsa";
compatible = "renasas,ipmmu-r8a7791", "renasas,ipmmu-vmsa";
reg = <0 0xfe951000 0 0x1000>;
interrupts = <0 222 IRQ_TYPE_LEVEL_HIGH>,
<0 221 IRQ_TYPE_LEVEL_HIGH>;
Expand Down
75 changes: 0 additions & 75 deletions drivers/iommu/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -263,81 +263,6 @@ config EXYNOS_IOMMU_DEBUG

Say N unless you need kernel log message for IOMMU debugging.

config SHMOBILE_IPMMU
bool

config SHMOBILE_IPMMU_TLB
bool

config SHMOBILE_IOMMU
bool "IOMMU for Renesas IPMMU/IPMMUI"
default n
depends on ARM && MMU
depends on ARCH_SHMOBILE || COMPILE_TEST
select IOMMU_API
select ARM_DMA_USE_IOMMU
select SHMOBILE_IPMMU
select SHMOBILE_IPMMU_TLB
help
Support for Renesas IPMMU/IPMMUI. This option enables
remapping of DMA memory accesses from all of the IP blocks
on the ICB.

Warning: Drivers (including userspace drivers of UIO
devices) of the IP blocks on the ICB *must* use addresses
allocated from the IPMMU (iova) for DMA with this option
enabled.

If unsure, say N.

choice
prompt "IPMMU/IPMMUI address space size"
default SHMOBILE_IOMMU_ADDRSIZE_2048MB
depends on SHMOBILE_IOMMU
help
This option sets IPMMU/IPMMUI address space size by
adjusting the 1st level page table size. The page table size
is calculated as follows:

page table size = number of page table entries * 4 bytes
number of page table entries = address space size / 1 MiB

For example, when the address space size is 2048 MiB, the
1st level page table size is 8192 bytes.

config SHMOBILE_IOMMU_ADDRSIZE_2048MB
bool "2 GiB"

config SHMOBILE_IOMMU_ADDRSIZE_1024MB
bool "1 GiB"

config SHMOBILE_IOMMU_ADDRSIZE_512MB
bool "512 MiB"

config SHMOBILE_IOMMU_ADDRSIZE_256MB
bool "256 MiB"

config SHMOBILE_IOMMU_ADDRSIZE_128MB
bool "128 MiB"

config SHMOBILE_IOMMU_ADDRSIZE_64MB
bool "64 MiB"

config SHMOBILE_IOMMU_ADDRSIZE_32MB
bool "32 MiB"

endchoice

config SHMOBILE_IOMMU_L1SIZE
int
default 8192 if SHMOBILE_IOMMU_ADDRSIZE_2048MB
default 4096 if SHMOBILE_IOMMU_ADDRSIZE_1024MB
default 2048 if SHMOBILE_IOMMU_ADDRSIZE_512MB
default 1024 if SHMOBILE_IOMMU_ADDRSIZE_256MB
default 512 if SHMOBILE_IOMMU_ADDRSIZE_128MB
default 256 if SHMOBILE_IOMMU_ADDRSIZE_64MB
default 128 if SHMOBILE_IOMMU_ADDRSIZE_32MB

config IPMMU_VMSA
bool "Renesas VMSA-compatible IPMMU"
depends on ARM_LPAE
Expand Down
2 changes: 0 additions & 2 deletions drivers/iommu/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,5 @@ obj-$(CONFIG_ROCKCHIP_IOMMU) += rockchip-iommu.o
obj-$(CONFIG_TEGRA_IOMMU_GART) += tegra-gart.o
obj-$(CONFIG_TEGRA_IOMMU_SMMU) += tegra-smmu.o
obj-$(CONFIG_EXYNOS_IOMMU) += exynos-iommu.o
obj-$(CONFIG_SHMOBILE_IOMMU) += shmobile-iommu.o
obj-$(CONFIG_SHMOBILE_IPMMU) += shmobile-ipmmu.o
obj-$(CONFIG_FSL_PAMU) += fsl_pamu.o fsl_pamu_domain.o
obj-$(CONFIG_S390_IOMMU) += s390-iommu.o
Loading

0 comments on commit 3270425

Please sign in to comment.