Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b67ad2f7 authored by Joerg Roedel's avatar Joerg Roedel
Browse files

Merge branches 'x86/vt-d', 'arm/omap', 'arm/smmu', 's390', 'core' and 'x86/amd' into next

Conflicts:
	drivers/iommu/amd_iommu_types.h
Loading
Loading
Loading
Loading
+19 −0
Original line number Original line Diff line number Diff line
@@ -36,5 +36,24 @@ the PCIe specification.
                      NOTE: this only applies to the SMMU itself, not
                      NOTE: this only applies to the SMMU itself, not
                      masters connected upstream of the SMMU.
                      masters connected upstream of the SMMU.


- msi-parent        : See the generic MSI binding described in
                        devicetree/bindings/interrupt-controller/msi.txt
                      for a description of the msi-parent property.

- hisilicon,broken-prefetch-cmd
- hisilicon,broken-prefetch-cmd
                    : Avoid sending CMD_PREFETCH_* commands to the SMMU.
                    : Avoid sending CMD_PREFETCH_* commands to the SMMU.

** Example

        smmu@2b400000 {
                compatible = "arm,smmu-v3";
                reg = <0x0 0x2b400000 0x0 0x20000>;
                interrupts = <GIC_SPI 74 IRQ_TYPE_EDGE_RISING>,
                             <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>,
                             <GIC_SPI 77 IRQ_TYPE_EDGE_RISING>,
                             <GIC_SPI 79 IRQ_TYPE_EDGE_RISING>;
                interrupt-names = "eventq", "priq", "cmdq-sync", "gerror";
                dma-coherent;
                #iommu-cells = <0>;
                msi-parent = <&its 0xff0000>;
        };
+27 −0
Original line number Original line Diff line number Diff line
@@ -4,6 +4,7 @@ Required properties:
- compatible : Should be one of,
- compatible : Should be one of,
		"ti,omap2-iommu" for OMAP2/OMAP3 IOMMU instances
		"ti,omap2-iommu" for OMAP2/OMAP3 IOMMU instances
		"ti,omap4-iommu" for OMAP4/OMAP5 IOMMU instances
		"ti,omap4-iommu" for OMAP4/OMAP5 IOMMU instances
		"ti,dra7-dsp-iommu" for DRA7xx DSP IOMMU instances
		"ti,dra7-iommu" for DRA7xx IOMMU instances
		"ti,dra7-iommu" for DRA7xx IOMMU instances
- ti,hwmods  : Name of the hwmod associated with the IOMMU instance
- ti,hwmods  : Name of the hwmod associated with the IOMMU instance
- reg        : Address space for the configuration registers
- reg        : Address space for the configuration registers
@@ -19,6 +20,13 @@ Optional properties:
                    Should be either 8 or 32 (default: 32)
                    Should be either 8 or 32 (default: 32)
- ti,iommu-bus-err-back : Indicates the IOMMU instance supports throwing
- ti,iommu-bus-err-back : Indicates the IOMMU instance supports throwing
		          back a bus error response on MMU faults.
		          back a bus error response on MMU faults.
- ti,syscon-mmuconfig : Should be a pair of the phandle to the DSP_SYSTEM
                        syscon node that contains the additional control
                        register for enabling the MMU, and the MMU instance
                        number (0-indexed) within the sub-system. This property
                        is required for DSP IOMMU instances on DRA7xx SoCs. The
                        instance number should be 0 for DSP MDMA MMUs and 1 for
                        DSP EDMA MMUs.


Example:
Example:
	/* OMAP3 ISP MMU */
	/* OMAP3 ISP MMU */
@@ -30,3 +38,22 @@ Example:
		ti,hwmods = "mmu_isp";
		ti,hwmods = "mmu_isp";
		ti,#tlb-entries = <8>;
		ti,#tlb-entries = <8>;
	};
	};

	/* DRA74x DSP2 MMUs */
	mmu0_dsp2: mmu@41501000 {
		compatible = "ti,dra7-dsp-iommu";
		reg = <0x41501000 0x100>;
		interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
		ti,hwmods = "mmu0_dsp2";
		#iommu-cells = <0>;
		ti,syscon-mmuconfig = <&dsp2_system 0x0>;
	};

	mmu1_dsp2: mmu@41502000 {
		compatible = "ti,dra7-dsp-iommu";
		reg = <0x41502000 0x100>;
		interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
		ti,hwmods = "mmu1_dsp2";
		#iommu-cells = <0>;
		ti,syscon-mmuconfig = <&dsp2_system 0x1>;
	};
+7 −0
Original line number Original line Diff line number Diff line
@@ -8966,6 +8966,13 @@ F: drivers/s390/net/*iucv*
F:	include/net/iucv/
F:	include/net/iucv/
F:	net/iucv/
F:	net/iucv/


S390 IOMMU (PCI)
M:	Gerald Schaefer <gerald.schaefer@de.ibm.com>
L:	linux-s390@vger.kernel.org
W:	http://www.ibm.com/developerworks/linux/linux390/
S:	Supported
F:	drivers/iommu/s390-iommu.c

S3C24XX SD/MMC Driver
S3C24XX SD/MMC Driver
M:	Ben Dooks <ben-linux@fluff.org>
M:	Ben Dooks <ben-linux@fluff.org>
L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
+1 −0
Original line number Original line Diff line number Diff line
@@ -75,6 +75,7 @@ config ARM64
	select HAVE_PERF_USER_STACK_DUMP
	select HAVE_PERF_USER_STACK_DUMP
	select HAVE_RCU_TABLE_FREE
	select HAVE_RCU_TABLE_FREE
	select HAVE_SYSCALL_TRACEPOINTS
	select HAVE_SYSCALL_TRACEPOINTS
	select IOMMU_DMA if IOMMU_SUPPORT
	select IRQ_DOMAIN
	select IRQ_DOMAIN
	select IRQ_FORCED_THREADING
	select IRQ_FORCED_THREADING
	select MODULES_USE_ELF_RELA
	select MODULES_USE_ELF_RELA
+7 −8
Original line number Original line Diff line number Diff line
@@ -54,16 +54,15 @@ static inline struct dma_map_ops *get_dma_ops(struct device *dev)
		return __generic_dma_ops(dev);
		return __generic_dma_ops(dev);
}
}


static inline void arch_setup_dma_ops(struct device *dev, u64 dma_base, u64 size,
void arch_setup_dma_ops(struct device *dev, u64 dma_base, u64 size,
				      struct iommu_ops *iommu, bool coherent)
			struct iommu_ops *iommu, bool coherent);
{
	if (!acpi_disabled && !dev->archdata.dma_ops)
		dev->archdata.dma_ops = dma_ops;

	dev->archdata.dma_coherent = coherent;
}
#define arch_setup_dma_ops	arch_setup_dma_ops
#define arch_setup_dma_ops	arch_setup_dma_ops


#ifdef CONFIG_IOMMU_DMA
void arch_teardown_dma_ops(struct device *dev);
#define arch_teardown_dma_ops	arch_teardown_dma_ops
#endif

/* do not use this function in a driver */
/* do not use this function in a driver */
static inline bool is_device_dma_coherent(struct device *dev)
static inline bool is_device_dma_coherent(struct device *dev)
{
{
Loading