[git pull] IOMMU Fixes for Linux v4.2-rc4

2015-07-31 Thread Joerg Roedel
Hi Linus, The following changes since commit cbfe8fa6cd672011c755c3cd85c9ffd4e2d10a6f: Linux 4.2-rc4 (2015-07-26 12:26:21 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git tags/iommu-fixes-v4.2-rc4 for you to fetch changes up to

[PATCH v5 3/3] arm64: Hook up IOMMU dma_ops

2015-07-31 Thread Robin Murphy
With iommu_dma_ops in place, hook them up to the configuration code, so IOMMU-fronted devices will get them automatically. Acked-by: Catalin Marinas catalin.mari...@arm.com Signed-off-by: Robin Murphy robin.mur...@arm.com --- arch/arm64/Kconfig | 1 +

[PATCH v5 1/3] iommu: Implement common IOMMU ops for DMA mapping

2015-07-31 Thread Robin Murphy
Taking inspiration from the existing arch/arm code, break out some generic functions to interface the DMA-API to the IOMMU-API. This will do the bulk of the heavy lifting for IOMMU-backed dma-mapping. Signed-off-by: Robin Murphy robin.mur...@arm.com --- drivers/iommu/Kconfig | 7 +

[PATCH v5 0/3] arm64: IOMMU-backed DMA mapping

2015-07-31 Thread Robin Murphy
Hi all, Here's an update following Catalin's feedback on v4[1]. Changes this round: - Rebased onto linux-next - IOVA alignment fix applied already - iommu_iova_cache_init() is now iova_cache_get() - Tidied up iommu_dma_alloc() - Simplified pgprot handling - Removed redundant memset -

Re: [PATCH v3 3/6] iommu: add ARM short descriptor page table allocator.

2015-07-31 Thread Yong Wu
On Mon, 2015-07-27 at 12:21 +0800, Yong Wu wrote: On Fri, 2015-07-24 at 17:53 +0100, Will Deacon wrote: On Fri, Jul 24, 2015 at 06:24:26AM +0100, Yong Wu wrote: On Tue, 2015-07-21 at 18:11 +0100, Will Deacon wrote: On Thu, Jul 16, 2015 at 10:04:32AM +0100, Yong Wu wrote: +/* level

Re: [PATCH] iommu/arm-smmu-v2: ThunderX(errata-23399) mis-extends 64bit registers

2015-07-31 Thread Russell King - ARM Linux
On Thu, Jul 30, 2015 at 08:54:04PM +, Chalamarla, Tirumalesh wrote: is some thing like this looks good +#ifdef CONFIG_64BIT +#define smmu_writeq(reg64, addr) writeq_relaxed((reg64), (addr)) +#else +#define smmu_writeq(reg64, addr) \ +

Re: [PATCH v2 1/9] iommu/io-pgtable-arm: Allow appropriate DMA API use

2015-07-31 Thread Will Deacon
Hi Robin, On Wed, Jul 29, 2015 at 07:46:04PM +0100, Robin Murphy wrote: Currently, users of the LPAE page table code are (ab)using dma_map_page() as a means to flush page table updates for non-coherent IOMMUs. Since from the CPU's point of view, creating IOMMU page tables *is* passing DMA

Re: [PATCH] iommu/arm-smmu-v2: ThunderX(errata-23399) mis-extends 64bit registers

2015-07-31 Thread Will Deacon
On Thu, Jul 30, 2015 at 09:54:04PM +0100, Chalamarla, Tirumalesh wrote: is some thing like this looks good That's the right sort of idea, but please send a proper patch that you've actually tested. The diff below mixes up reg64 and reg. Will +#ifdef CONFIG_64BIT +#define smmu_writeq(reg64,

Re: [PATCH v3 3/6] iommu: add ARM short descriptor page table allocator.

2015-07-31 Thread Will Deacon
On Fri, Jul 31, 2015 at 08:55:37AM +0100, Yong Wu wrote: About the AP bits, I may have to add a new quirk for it... Current I add AP in pte like this: #define ARM_SHORT_PTE_RD_WR(3 4) #define ARM_SHORT_PTE_RDONLY BIT(9) pteprot |= ARM_SHORT_PTE_RD_WR; If(!(prot