Re: [PATCH] ACPI/IORT: Make dma masks set-up IORT specific

2016-12-06 Thread Joerg Roedel
Hi Lorenzo, On Tue, Dec 06, 2016 at 09:37:10AM +, Lorenzo Pieralisi wrote: > I can apply Rafael and Hanjun's tags and resend a v2 to you if you > prefer, it would be great if you could apply this patch to your arm/smmu > branch for v4.10 as per description above, please let me know. Yes, plea

Re: [PATCH v2] ACPI/IORT: Make dma masks set-up IORT specific

2016-12-06 Thread Joerg Roedel
On Tue, Dec 06, 2016 at 02:20:11PM +, Lorenzo Pieralisi wrote: > drivers/acpi/arm64/iort.c | 22 ++ > drivers/acpi/scan.c | 14 +- > include/linux/acpi_iort.h | 2 ++ > 3 files changed, 25 insertions(+), 13 deletions(-) Applied, thanks. _

Re: [PATCH v3] iommu/vt-d: Flush old iommu caches for kdump when the device gets context mapped

2016-12-06 Thread Joerg Roedel
On Mon, Dec 05, 2016 at 08:09:07PM +0800, Xunlei Pang wrote: > drivers/iommu/intel-iommu.c | 19 +++ > 1 file changed, 19 insertions(+) Applied, thanks. ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundati

Re: [PATCH] iommu/intel-iommu: fix pasid table size encoding

2016-12-06 Thread Joerg Roedel
Hi Jacob, On Thu, Dec 01, 2016 at 01:50:26PM -0800, Jacob Pan wrote: > diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c > index 27596e6..f112aa9 100644 > --- a/drivers/iommu/intel-iommu.c > +++ b/drivers/iommu/intel-iommu.c > @@ -5173,6 +5173,29 @@ static void intel_iommu_rem

[git pull] IOMMU Updates for Linux v4.10

2016-12-15 Thread Joerg Roedel
1): driver-core: add test module for asynchronous probing Geliang Tang (1): iommu/s390: Drop duplicate header pci.h Greg Kroah-Hartman (1): Merge 4.9-rc3 into driver-core-next Joerg Roedel (3): Merge remote-tracking branch 'gregkh-driver-core/driver-core-next'

Re: [PATCH v2] iommu/intel-iommu: fix pasid table size encoding

2016-12-15 Thread Joerg Roedel
On Thu, Dec 15, 2016 at 12:07:10PM -0800, Raj, Ashok wrote: > Haven't heard about it from David yet, but can we queue this for 4.10? > If you have any questions/concerns please let us know. I'll queue the fix when rc1 is out. Joerg ___ iommu

Re: possible dmar_init_reserved_ranges() error

2016-12-22 Thread Joerg Roedel
Hi Bjorn, On Mon, Dec 19, 2016 at 03:20:44PM -0600, Bjorn Helgaas wrote: > I have some questions about dmar_init_reserved_ranges(). On systems > where CPU physical address space is not identity-mapped to PCI bus > address space, e.g., where the PCI host bridge windows have _TRA > offsets, I'm not

Re: possible dmar_init_reserved_ranges() error

2016-12-23 Thread Joerg Roedel
On Thu, Dec 22, 2016 at 06:48:01PM -0600, Bjorn Helgaas wrote: > If we didn't want to use pcibios_resource_to_bus() here for some > reason, we should at least add a comment about why we think it's OK to > use a CPU physical address as an IOVA. Even if there are no such x86 systems out there, I thi

Re: [PATCH v3] iommu/vt-d: Flush old iommu caches for kdump when the device gets context mapped

2017-01-03 Thread Joerg Roedel
On Tue, Jan 03, 2017 at 08:23:23AM -0700, Myron Stowe wrote: > This didn't seem to make the 4.10 merge window. Was that on purpose? > Any idea when you might include this in a pull request for Linus? I will collect fixes this week and send them to Linus, they will also include this patch.

Re: [PATCH v3] iommu/vt-d: Flush old iommu caches for kdump when the device gets context mapped

2017-01-04 Thread Joerg Roedel
On Mon, Dec 05, 2016 at 08:09:07PM +0800, Xunlei Pang wrote: > v2->v3: > Flush context cache only and add Fixes-tag, according to Joerg's comments. > > drivers/iommu/intel-iommu.c | 19 +++ > 1 file changed, 19 insertions(+) Applied to the fixes branch, thanks.

Re: [PATCH v2] iommu/intel-iommu: fix pasid table size encoding

2017-01-04 Thread Joerg Roedel
On Tue, Dec 06, 2016 at 10:14:23AM -0800, Jacob Pan wrote: > drivers/iommu/intel-iommu.c | 23 ++- > 1 file changed, 22 insertions(+), 1 deletion(-) Applied to the fixes branch, thanks. ___ iommu mailing list iommu@lists.linux-found

Re: [PATCH] iommu/amd: fix the left value check of cmd buffer

2017-01-04 Thread Joerg Roedel
On Mon, Dec 12, 2016 at 07:28:26AM -0500, Huang Rui wrote: > The generic command buffer entry is 128 bits (16 bytes), so the offset > of tail and head pointer should be 16 bytes aligned and increased with > 0x10 per command. > > When cmd buf is full, head = (tail + 0x10) % CMD_BUFFER_SIZE. > > So

Re: [PATCH] iommu/iova: use rb_entry()

2017-01-04 Thread Joerg Roedel
On Mon, Dec 19, 2016 at 10:46:58PM +0800, Geliang Tang wrote: > To make the code clearer, use rb_entry() instead of container_of() to > deal with rbtree. > > Signed-off-by: Geliang Tang > --- > drivers/iommu/iova.c | 23 +++ > 1 file changed, 11 insertions(+), 12 deletions(-)

Re: possible dmar_init_reserved_ranges() error

2017-01-04 Thread Joerg Roedel
On Tue, Dec 27, 2016 at 07:21:39PM -0800, Raj, Ashok wrote: > This sounds reasonable, if we can reserve from the host bridge apertures > it should take care of hot-plug cases as well, and should simply how the > reservation is made. Agreed, I have this on my todo list already since I converted th

Re: [PATCH V6 2/7] perf/amd/iommu: Modify functions to query max banks and counters

2017-01-04 Thread Joerg Roedel
On Fri, Dec 23, 2016 at 08:38:45PM +0700, Suravee Suthikulpanit wrote: > --- a/arch/x86/events/amd/iommu.h > +++ b/arch/x86/events/amd/iommu.h > @@ -24,15 +24,12 @@ > #define PC_MAX_SPEC_BNKS 64 > #define PC_MAX_SPEC_CNTRS16 > > -/* iommu pc reg masks*/ >

Re: [PATCH v6 01/18] iommu/dma: Allow MSI-only cookies

2017-01-06 Thread Joerg Roedel
On Thu, Jan 05, 2017 at 07:04:29PM +, Eric Auger wrote: > struct iommu_dma_cookie { > - struct iova_domain iovad; > - struct list_headmsi_page_list; > - spinlock_t msi_lock; > + union { > + struct iova_domain iovad; > + dma

Re: [PATCH v6 07/18] iommu: Implement reserved_regions iommu-group sysfs file

2017-01-06 Thread Joerg Roedel
On Thu, Jan 05, 2017 at 07:04:35PM +, Eric Auger wrote: > + list_for_each_entry_safe(region, next, &group_resv_regions, list) { > + str += sprintf(str, "0x%016llx 0x%016llx\n", > +(long long int)region->start, > +(long long

Re: [PATCH v6 08/18] iommu/vt-d: Implement reserved region get/put callbacks

2017-01-06 Thread Joerg Roedel
On Thu, Jan 05, 2017 at 07:04:36PM +, Eric Auger wrote: > +static void intel_iommu_get_resv_regions(struct device *device, > + struct list_head *head) > +{ > + struct iommu_resv_region *reg; > + > + reg = iommu_alloc_resv_region(IOAPIC_RANGE_START, >

Re: [PATCH v6 00/18] KVM PCIe/MSI passthrough on ARM/ARM64 and IOVA reserved regions

2017-01-06 Thread Joerg Roedel
On Thu, Jan 05, 2017 at 07:04:28PM +, Eric Auger wrote: > iommu/dma: Allow MSI-only cookies > iommu: Rename iommu_dm_regions into iommu_resv_regions > iommu: Add a new type field in iommu_resv_region > iommu: iommu_alloc_resv_region > iommu: Only map direct mapped regions > iommu: i

Re: [PATCH V8 1/9] iommu: add IOMMU_PRIV attribute

2017-01-06 Thread Joerg Roedel
On Mon, Jan 02, 2017 at 06:42:36PM +0530, Sricharan R wrote: > From: Mitchel Humpherys > > Add the IOMMU_PRIV attribute, which is used to indicate privileged > mappings. > > Reviewed-by: Robin Murphy > Tested-by: Robin Murphy > Signed-off-by: Mitchel Humpherys > Acked-by: Will Deacon > --- >

Re: [PATCH v6 08/18] iommu/vt-d: Implement reserved region get/put callbacks

2017-01-06 Thread Joerg Roedel
On Fri, Jan 06, 2017 at 12:45:54PM +0100, Auger Eric wrote: > On 06/01/2017 12:01, Joerg Roedel wrote: > > On Thu, Jan 05, 2017 at 07:04:36PM +, Eric Auger wrote: > > That is different from what AMD does, can you also report the RMRR > > regions for the device here (

Re: [PATCH v6 07/18] iommu: Implement reserved_regions iommu-group sysfs file

2017-01-06 Thread Joerg Roedel
On Fri, Jan 06, 2017 at 12:46:05PM +0100, Auger Eric wrote: > On 06/01/2017 12:00, Joerg Roedel wrote: > > I think it also makes sense to report the type of the reserved region. > > What is the best practice in that case? Shall we put the type enum > values as strings s

[git pull] IOMMU Fixes for Linux v4.10-rc2

2017-01-06 Thread Joerg Roedel
Hi Linus, The following changes since commit 0c744ea4f77d72b3dcebb7a8f2684633ec79be88: Linux 4.10-rc2 (2017-01-01 14:31:53 -0800) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git tags/iommu-fixes-v4.10-rc2 for you to fetch changes up to

Re: [PATCH v2 0/4] Fixes for Exynos IOMMU driver

2017-01-10 Thread Joerg Roedel
On Mon, Jan 09, 2017 at 01:03:52PM +0100, Marek Szyprowski wrote: > Marek Szyprowski (4): > iommu/exynos: Improve page fault debug message > iommu/exynos: Fix warnings from DMA-debug > iommu/exynos: Ensure that SYSMMU is added only once to its master > device > iommu/exynos: Properly re

Re: [PATCH v7 00/19] KVM PCIe/MSI passthrough on ARM/ARM64 and IOVA reserved regions

2017-01-10 Thread Joerg Roedel
On Mon, Jan 09, 2017 at 01:45:51PM +, Eric Auger wrote: > Eric Auger (17): > iommu: Rename iommu_dm_regions into iommu_resv_regions > iommu: Add a new type field in iommu_resv_region > iommu: iommu_alloc_resv_region > iommu: Only map direct mapped regions > iommu: iommu_get_group_resv

Re: [PATCH v7 2/7] perf/amd/iommu: Modify functions to query max banks and counters

2017-01-10 Thread Joerg Roedel
On Mon, Jan 09, 2017 at 09:33:42PM -0600, Suthikulpanit, Suravee wrote: > +static struct amd_iommu *get_amd_iommu(uint idx) > +{ > + uint i = 0; > + struct amd_iommu *iommu = NULL; > + > + for_each_iommu(iommu) { > + if (i == idx) > + break; > +

Re: [PATCH v7 08/19] iommu: Implement reserved_regions iommu-group sysfs file

2017-01-10 Thread Joerg Roedel
On Tue, Jan 10, 2017 at 05:20:34PM +0100, Auger Eric wrote: > The /sys/kernel/iommu_groups/n directory seems to be removed before this > gets called and this may produce a WARNING when devices get removed from > the group. I intend to remove the call since I have the feeling > everything gets clean

Re: [PATCH v8 0/9] perf/amd/iommu: Enable multi-IOMMU support

2017-01-17 Thread Joerg Roedel
perf/amd/iommu: Fix sysfs perf attribute groups > perf/amd/iommu: Enable support for multiple IOMMUs For the iommu changes: Acked-by: Joerg Roedel ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu

Re: [PATCH] iommu: Handle default domain attach failure

2017-01-17 Thread Joerg Roedel
On Mon, Jan 16, 2017 at 12:58:07PM +, Robin Murphy wrote: > We wouldn't normally expect ops->attach_dev() to fail, but on IOMMUs > with limited hardware resources, or generally misconfigured systems, > it is certainly possible. We report failure correctly from the external > iommu_attach_device

Re: [PATCH 1/5] iommu/arm-smmu: Restrict domain attributes to UNMANAGED domains

2017-01-26 Thread Joerg Roedel
On Thu, Jan 19, 2017 at 06:19:11PM +, Will Deacon wrote: > The ARM SMMU drivers provide a DOMAIN_ATTR_NESTING domain attribute, > which allows callers of the IOMMU API to request that the page table > for a domain is installed at stage-2, if supported by the hardware. > > Since setting this at

Re: [PATCH 1/5] iommu/arm-smmu: Restrict domain attributes to UNMANAGED domains

2017-01-26 Thread Joerg Roedel
On Thu, Jan 19, 2017 at 06:41:34PM +, Robin Murphy wrote: > For the sake of discussion, would it make sense to enforce this in > domain_set_attr() itself? The intersection of drivers providing these > callbacks and drivers supporting anything other than unmanaged domains > is currently these tw

Re: [PATCH 1/5] iommu: Generalize MSM_IOMMU config to ARCH_QCOM

2017-01-26 Thread Joerg Roedel
On Wed, Jan 18, 2017 at 03:27:22PM -0800, Stephen Boyd wrote: > We want to get rid of the ARCH_MSM* configs in the future, but > this still depends on them. Generalize to the ARCH_QCOM config, > which isn't going away. > > Cc: Joerg Roedel > Signed-off-by: Stephen Boyd

Re: [PATCH 5/5] iommu: Allow default domain type to be set on the kernel command line

2017-01-26 Thread Joerg Roedel
On Thu, Jan 19, 2017 at 06:19:15PM +, Will Deacon wrote: > Rather than modify each IOMMU driver to provide different semantics for > DMA domains, instead we introduce a command line parameter that can be > used to change the type of the default domain. Passthrough can then be > specified using

Re: [PATCH 0/5] Implement SMMU passthrough using the default domain

2017-01-26 Thread Joerg Roedel
On Tue, Jan 24, 2017 at 08:42:23PM +0530, Sricharan wrote: > Thanks for this series. We had a case with the GPU. > The GPU's iommu was setup by kernel and the GPU > also does dynamic updates for on-the-fly switching between > process pagetables. GPU driver was not using DMA domain and > the GPU's

Re: [PATCH v2 2/3] iommu/ipmmu-vmsa: Increase maximum micro-TLBS to 48

2017-01-27 Thread Joerg Roedel
On Mon, Jan 23, 2017 at 08:40:29PM +0900, Magnus Damm wrote: > From: Magnus Damm > > Bump up the maximum numbers of micro-TLBS to 48. > > Each IPMMU device instance get micro-TLB assignment via > the "iommus" property in DT. Older SoCs tend to use a > maximum number of 32 micro-TLBs per IPMMU in

Re: [GIT PULL] iommu: KVM PCIe/MSI passthrough on ARM/ARM64 for 4.11

2017-01-30 Thread Joerg Roedel
On Fri, Jan 27, 2017 at 04:50:22PM +, Will Deacon wrote: > Hi Joerg, > > Please pull Eric's guest-MSI series for 4.11. This has been through > considerable review and associated rework (including a session at LPC), > but it has stabilised at last and we all seem to be happy with it. Eric's > d

Re: [GIT PULL] iommu/arm-smmu: Updates for 4.11

2017-01-30 Thread Joerg Roedel
On Fri, Jan 27, 2017 at 04:44:21PM +, Will Deacon wrote: > The following changes since commit a121103c922847ba5010819a3f250f1f7fc84ab8: > > Linux 4.10-rc3 (2017-01-08 14:18:17 -0800) > > are available in the git repository at: > > git://git.kernel.org/pub/scm/linux/kernel/git/will/linux.

Re: [GIT PULL] iommu: IOMMU_PRIV support for 4.11

2017-01-30 Thread Joerg Roedel
On Fri, Jan 27, 2017 at 04:46:21PM +, Will Deacon wrote: > The following changes since commit a121103c922847ba5010819a3f250f1f7fc84ab8: > > Linux 4.10-rc3 (2017-01-08 14:18:17 -0800) > > are available in the git repository at: > > git://git.kernel.org/pub/scm/linux/kernel/git/will/linux.

Re: [PATCH 1/2] iommu/vt-d: Fix some macros that are incorrectly specified in intel-iommu

2017-01-30 Thread Joerg Roedel
errors. > > To: Joerg Roedel > To: David Woodhouse > Cc: iommu@lists.linux-foundation.org > Cc: linux-ker...@vger.kernel.org > Cc: sta...@vger.kernel.org > Cc: CQ Tang > Cc: Ashok Raj Can you please also add valid Fixes: tags to

Re: [PATCH v2 1/2] iommu/dma: Stop getting dma_32bit_pfn wrong

2017-01-30 Thread Joerg Roedel
On Mon, Jan 16, 2017 at 01:24:54PM +, Robin Murphy wrote: > iommu_dma_init_domain() was originally written under the misconception > that dma_32bit_pfn represented some sort of size limit for IOVA domains. > Since the truth is almost the exact opposite of that, rework the logic > and comments t

Re: [PATCH 1/2] iommu/vt-d: Fix some macros that are incorrectly specified in intel-iommu

2017-01-31 Thread Joerg Roedel
On Mon, Jan 30, 2017 at 09:39:52AM -0800, Ashok Raj wrote: > From: CQ Tang > > Some of the macros are incorrect with wrong bit-shifts resulting in picking > the incorrect invalidation granularity. Incorrect Source-ID in extended > devtlb invalidation caused device side errors.

Re: [PATCH] iommu/vt-d: don't over-free page table directories

2017-01-31 Thread Joerg Roedel
On Mon, Jan 30, 2017 at 07:11:11PM -0800, David Dillow wrote: > Fixes: 3269ee0bd668 ("intel-iommu: Fix leaks in pagetable freeing") > Reviewed-by: Benjamin Serebrin > Signed-off-by: David Dillow > --- > drivers/iommu/intel-iommu.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Applied,

[PATCH 03/10] iommu: Introduce new 'struct iommu_device'

2017-02-03 Thread Joerg Roedel
From: Joerg Roedel This struct represents one hardware iommu in the iommu core code. For now it only has the iommu-ops associated with it, but that will be extended soon. The register/unregister interface is also added, as well as making use of it in the Intel and AMD IOMMU drivers. Signed-off

[PATCH 00/10] Let IOMMU core know about individual IOMMUs

2017-02-03 Thread Joerg Roedel
rdware and an AMD Seattle ARM64 system. Please review, test and provide feedback! Thanks a lot, Joerg Joerg Roedel (10): iommu: Rename iommu_get_instance() iommu: Rename struct iommu_device iommu: Introduce new 'struct iommu_device' iommu: Add sysfs bindings for struct

[PATCH 02/10] iommu: Rename struct iommu_device

2017-02-03 Thread Joerg Roedel
From: Joerg Roedel The struct is used to link devices to iommu-groups, so 'struct group_device' is a better name. Further this makes the name iommu_device available for a struct representing hardware iommus. Signed-off-by: Joerg Roedel --- drivers/iommu/iommu.c | 10 +- 1 fi

[PATCH 01/10] iommu: Rename iommu_get_instance()

2017-02-03 Thread Joerg Roedel
From: Joerg Roedel Rename the function to iommu_ops_from_fwnode(), because that is what the function actually does. The new name is much more descriptive about what the function does. Signed-off-by: Joerg Roedel --- drivers/acpi/arm64/iort.c | 2 +- drivers/iommu/iommu.c | 2 +- include

[PATCH 06/10] iommu/arm-smmu: Make use of the iommu_register interface

2017-02-03 Thread Joerg Roedel
From: Joerg Roedel Also add the smmu devices to sysfs. Signed-off-by: Joerg Roedel --- drivers/iommu/arm-smmu-v3.c | 20 +++- drivers/iommu/arm-smmu.c| 29 + 2 files changed, 48 insertions(+), 1 deletion(-) diff --git a/drivers/iommu/arm-smmu

[PATCH 04/10] iommu: Add sysfs bindings for struct iommu_device

2017-02-03 Thread Joerg Roedel
From: Joerg Roedel There is currently support for iommu sysfs bindings, but those need to be implemented in the IOMMU drivers. Add a more generic version of this by adding a struct device to struct iommu_device and use that for the sysfs bindings. Also convert the AMD and Intel IOMMU driver to

[PATCH 08/10] iommu/mediatek: Make use of iommu_device_register interface

2017-02-03 Thread Joerg Roedel
From: Joerg Roedel Register individual Mediatek IOMMUs to the iommu core and add sysfs entries. Cc: Matthias Brugger Cc: linux-arm-ker...@lists.infradead.org Cc: linux-media...@lists.infradead.org Signed-off-by: Joerg Roedel --- drivers/iommu/mtk_iommu.c | 26

[PATCH 07/10] iommu/msm: Make use of iommu_device_register interface

2017-02-03 Thread Joerg Roedel
From: Joerg Roedel Register the MSM IOMMUs to the iommu core and add sysfs entries for that driver. Signed-off-by: Joerg Roedel --- drivers/iommu/msm_iommu.c | 73 +++ drivers/iommu/msm_iommu.h | 3 ++ 2 files changed, 76 insertions(+) diff --git

[PATCH 09/10] iommu/exynos: Make use of iommu_device_register interface

2017-02-03 Thread Joerg Roedel
From: Joerg Roedel Register Exynos IOMMUs to the IOMMU core and make them visible in sysfs. This patch does not add the links between IOMMUs and translated devices yet. Cc: Marek Szyprowski Cc: linux-arm-ker...@lists.infradead.org Cc: linux-samsung-...@vger.kernel.org Signed-off-by: Joerg

[PATCH 05/10] iommu: Make iommu_device_link/unlink take a struct iommu_device

2017-02-03 Thread Joerg Roedel
From: Joerg Roedel This makes the interface more consistent with iommu_device_sysfs_add/remove. Signed-off-by: Joerg Roedel --- drivers/iommu/amd_iommu.c | 4 ++-- drivers/iommu/intel-iommu.c | 4 ++-- drivers/iommu/iommu-sysfs.c | 16 include/linux/iommu.h | 4

[PATCH 10/10] iommu: Remove iommu_register_instance interface

2017-02-03 Thread Joerg Roedel
From: Joerg Roedel And also move its remaining functionality to iommu_device_register() and 'struct iommu_device'. Cc: Rob Herring Cc: Frank Rowand Cc: Matthias Brugger Cc: Marek Szyprowski Cc: devicet...@vger.kernel.org Cc: linux-arm-ker...@lists.infradead.org Signed-off-by: Jo

Re: [PATCH v2] iommu/ipmmu-vmsa: Restrict IOMMU Domain Geometry to 32-bit address space

2017-02-06 Thread Joerg Roedel
On Tue, Jan 31, 2017 at 12:17:07PM +0100, Geert Uytterhoeven wrote: > Currently, the IPMMU/VMSA driver supports 32-bit I/O Virtual Addresses > only, and thus sets io_pgtable_cfg.ias = 32. However, it doesn't force > a 32-bit IOVA space through the IOMMU Domain Geometry. > > Hence if a device (e.g

Re: [PATCH] iommu/dma: Remove bogus dma_supported() implementation

2017-02-06 Thread Joerg Roedel
On Wed, Feb 01, 2017 at 05:53:04PM +, Robin Murphy wrote: > Back when this was first written, dma_supported() was somewhat of a > murky mess, with subtly different interpretations being relied upon in > various places. The "does device X support DMA to address range Y?" > uses assuming Y to be

Re: [PATCH] iommu: mtk: remove bogus 'select' statements

2017-02-06 Thread Joerg Roedel
On Thu, Feb 02, 2017 at 03:29:03PM +0100, Arnd Bergmann wrote: > The mediatek IOMMU driver enables some drivers that it does not directly > rely on, and that causes a warning for build testing: > > warning: (MTK_IOMMU_V1) selects COMMON_CLK_MT2701_VDECSYS which has unmet > direct dependencies (CO

Re: [PATCH 1/1] iommu: to avoid an unnecessary assignment

2017-02-06 Thread Joerg Roedel
On Fri, Feb 03, 2017 at 05:35:02PM +0800, Zhen Lei wrote: > Move the assignment statement into if branch above, where it only > needs to be. > > Signed-off-by: Zhen Lei > --- > drivers/iommu/iommu.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) Applied, thanks.

Re: [PATCH] iommu: fix static checker warning in iommu_insert_device_resv_regions

2017-02-06 Thread Joerg Roedel
On Mon, Feb 06, 2017 at 10:11:38AM +0100, Eric Auger wrote: > In case the device reserved region list is void, the returned value > of iommu_insert_device_resv_regions is uninitialized. Let's return 0 > in that case. > > This fixes commit 6c65fb318e8b ("iommu: iommu_get_group_resv_regions"). > >

[PATCH 02/10] iommu: Rename struct iommu_device

2017-02-06 Thread Joerg Roedel
From: Joerg Roedel The struct is used to link devices to iommu-groups, so 'struct group_device' is a better name. Further this makes the name iommu_device available for a struct representing hardware iommus. Signed-off-by: Joerg Roedel --- drivers/iommu/iommu.c | 10 +- 1 fi

[PATCH 06/10] iommu/arm-smmu: Make use of the iommu_register interface

2017-02-06 Thread Joerg Roedel
From: Joerg Roedel Also add the smmu devices to sysfs. Signed-off-by: Joerg Roedel --- drivers/iommu/arm-smmu-v3.c | 20 +++- drivers/iommu/arm-smmu.c| 29 + 2 files changed, 48 insertions(+), 1 deletion(-) diff --git a/drivers/iommu/arm-smmu

[PATCH 04/10] iommu: Add sysfs bindings for struct iommu_device

2017-02-06 Thread Joerg Roedel
From: Joerg Roedel There is currently support for iommu sysfs bindings, but those need to be implemented in the IOMMU drivers. Add a more generic version of this by adding a struct device to struct iommu_device and use that for the sysfs bindings. Also convert the AMD and Intel IOMMU driver to

[PATCH 05/10] iommu: Make iommu_device_link/unlink take a struct iommu_device

2017-02-06 Thread Joerg Roedel
From: Joerg Roedel This makes the interface more consistent with iommu_device_sysfs_add/remove. Signed-off-by: Joerg Roedel --- drivers/iommu/amd_iommu.c | 4 ++-- drivers/iommu/intel-iommu.c | 4 ++-- drivers/iommu/iommu-sysfs.c | 16 include/linux/iommu.h | 4

[PATCH 10/10] iommu: Remove iommu_register_instance interface

2017-02-06 Thread Joerg Roedel
From: Joerg Roedel And also move its remaining functionality to iommu_device_register() and 'struct iommu_device'. Cc: Rob Herring Cc: Frank Rowand Cc: Matthias Brugger Cc: Marek Szyprowski Cc: devicet...@vger.kernel.org Cc: linux-arm-ker...@lists.infradead.org Signed-off-by: Jo

[PATCH 00/10 v2] Let IOMMU core know about individual IOMMUs

2017-02-06 Thread Joerg Roedel
tep to get rid of the per-bus iommu_ops, and a pointer to a firmware-node structure. The patches have been tested on x86 hardware and an AMD Seattle ARM64 system. Please review, test and provide feedback! Thanks a lot, Joerg Joerg Roedel (10): iommu: Rename iommu_get_instance() iom

[PATCH 07/10] iommu/msm: Make use of iommu_device_register interface

2017-02-06 Thread Joerg Roedel
From: Joerg Roedel Register the MSM IOMMUs to the iommu core and add sysfs entries for that driver. Signed-off-by: Joerg Roedel --- drivers/iommu/msm_iommu.c | 73 +++ drivers/iommu/msm_iommu.h | 3 ++ 2 files changed, 76 insertions(+) diff --git

[PATCH 08/10] iommu/mediatek: Make use of iommu_device_register interface

2017-02-06 Thread Joerg Roedel
From: Joerg Roedel Register individual Mediatek IOMMUs to the iommu core and add sysfs entries. Cc: Matthias Brugger Cc: linux-arm-ker...@lists.infradead.org Cc: linux-media...@lists.infradead.org Signed-off-by: Joerg Roedel --- drivers/iommu/mtk_iommu.c | 26

[PATCH 09/10] iommu/exynos: Make use of iommu_device_register interface

2017-02-06 Thread Joerg Roedel
From: Joerg Roedel Register Exynos IOMMUs to the IOMMU core and make them visible in sysfs. This patch does not add the links between IOMMUs and translated devices yet. Cc: Marek Szyprowski Cc: linux-arm-ker...@lists.infradead.org Cc: linux-samsung-...@vger.kernel.org Signed-off-by: Joerg

[PATCH 01/10] iommu: Rename iommu_get_instance()

2017-02-06 Thread Joerg Roedel
From: Joerg Roedel Rename the function to iommu_ops_from_fwnode(), because that is what the function actually does. The new name is much more descriptive about what the function does. Signed-off-by: Joerg Roedel --- drivers/acpi/arm64/iort.c | 2 +- drivers/iommu/iommu.c | 2 +- include

[PATCH 03/10] iommu: Introduce new 'struct iommu_device'

2017-02-06 Thread Joerg Roedel
From: Joerg Roedel This struct represents one hardware iommu in the iommu core code. For now it only has the iommu-ops associated with it, but that will be extended soon. The register/unregister interface is also added, as well as making use of it in the Intel and AMD IOMMU drivers. Signed-off

Re: [PATCH 09/10] iommu/exynos: Make use of iommu_device_register interface

2017-02-08 Thread Joerg Roedel
Hi Marek, On Tue, Feb 07, 2017 at 01:36:15PM +0100, Marek Szyprowski wrote: > >+ret = iommu_device_sysfs_add(&data->iommu, &pdev->dev, NULL, > >+ "sysmmu.%pa", &ioaddr); > > Can we stick to the common name across the /sysfs and use > dev_name(data->sysmmu) > or

[PATCH 01/11] iommu: Rename iommu_get_instance()

2017-02-09 Thread Joerg Roedel
From: Joerg Roedel Rename the function to iommu_ops_from_fwnode(), because that is what the function actually does. The new name is much more descriptive about what the function does. Signed-off-by: Joerg Roedel --- drivers/acpi/arm64/iort.c | 2 +- drivers/iommu/iommu.c | 2 +- include

[PATCH 03/11] iommu: Introduce new 'struct iommu_device'

2017-02-09 Thread Joerg Roedel
From: Joerg Roedel This struct represents one hardware iommu in the iommu core code. For now it only has the iommu-ops associated with it, but that will be extended soon. The register/unregister interface is also added, as well as making use of it in the Intel and AMD IOMMU drivers. Signed-off

[PATCH 00/11 v3] Let IOMMU core know about individual IOMMUs

2017-02-09 Thread Joerg Roedel
e code. For now the struct contains a pointer to the iommu_ops, which is a step to get rid of the per-bus iommu_ops, and a pointer to a firmware-node structure. The patches have been tested on x86 hardware and an AMD Seattle ARM64 system. Please review, test and provide feedback! Thanks a lot,

[PATCH 02/11] iommu: Rename struct iommu_device

2017-02-09 Thread Joerg Roedel
From: Joerg Roedel The struct is used to link devices to iommu-groups, so 'struct group_device' is a better name. Further this makes the name iommu_device available for a struct representing hardware iommus. Signed-off-by: Joerg Roedel --- drivers/iommu/iommu.c | 10 +- 1 fi

[PATCH 11/11] iommu: Remove iommu_register_instance interface

2017-02-09 Thread Joerg Roedel
From: Joerg Roedel And also move its remaining functionality to iommu_device_register() and 'struct iommu_device'. Cc: Rob Herring Cc: Frank Rowand Cc: Matthias Brugger Cc: Marek Szyprowski Cc: devicet...@vger.kernel.org Cc: linux-arm-ker...@lists.infradead.org Signed-off-by: Jo

[PATCH 05/11] iommu: Make iommu_device_link/unlink take a struct iommu_device

2017-02-09 Thread Joerg Roedel
From: Joerg Roedel This makes the interface more consistent with iommu_device_sysfs_add/remove. Signed-off-by: Joerg Roedel --- drivers/iommu/amd_iommu.c | 4 ++-- drivers/iommu/intel-iommu.c | 4 ++-- drivers/iommu/iommu-sysfs.c | 16 include/linux/iommu.h | 4

[PATCH 04/11] iommu: Add sysfs bindings for struct iommu_device

2017-02-09 Thread Joerg Roedel
From: Joerg Roedel There is currently support for iommu sysfs bindings, but those need to be implemented in the IOMMU drivers. Add a more generic version of this by adding a struct device to struct iommu_device and use that for the sysfs bindings. Also convert the AMD and Intel IOMMU driver to

[PATCH 07/11] iommu/arm-smmu: Make use of the iommu_register interface

2017-02-09 Thread Joerg Roedel
From: Joerg Roedel Also add the smmu devices to sysfs. Signed-off-by: Joerg Roedel --- drivers/iommu/arm-smmu-v3.c | 22 +- drivers/iommu/arm-smmu.c| 30 ++ 2 files changed, 51 insertions(+), 1 deletion(-) diff --git a/drivers/iommu/arm

[PATCH 08/11] iommu/msm: Make use of iommu_device_register interface

2017-02-09 Thread Joerg Roedel
From: Joerg Roedel Register the MSM IOMMUs to the iommu core and add sysfs entries for that driver. Signed-off-by: Joerg Roedel --- drivers/iommu/msm_iommu.c | 73 +++ drivers/iommu/msm_iommu.h | 3 ++ 2 files changed, 76 insertions(+) diff --git

[PATCH 09/11] iommu/mediatek: Make use of iommu_device_register interface

2017-02-09 Thread Joerg Roedel
From: Joerg Roedel Register individual Mediatek IOMMUs to the iommu core and add sysfs entries. Cc: Matthias Brugger Cc: linux-arm-ker...@lists.infradead.org Cc: linux-media...@lists.infradead.org Signed-off-by: Joerg Roedel --- drivers/iommu/mtk_iommu.c | 26

[PATCH 10/11] iommu/exynos: Make use of iommu_device_register interface

2017-02-09 Thread Joerg Roedel
From: Joerg Roedel Register Exynos IOMMUs to the IOMMU core and make them visible in sysfs. This patch does not add the links between IOMMUs and translated devices yet. Cc: Marek Szyprowski Cc: linux-arm-ker...@lists.infradead.org Cc: linux-samsung-...@vger.kernel.org Signed-off-by: Joerg

[PATCH 06/11] iommu: Add iommu_device_set_fwnode() interface

2017-02-09 Thread Joerg Roedel
From: Joerg Roedel Allow to store a fwnode in 'struct iommu_device'; Signed-off-by: Joerg Roedel --- include/linux/iommu.h | 12 1 file changed, 12 insertions(+) diff --git a/include/linux/iommu.h b/include/linux/iommu.h index bae3cfc..626c935 100644 --- a/include/lin

Re: [PATCH 10/11] iommu/exynos: Make use of iommu_device_register interface

2017-02-10 Thread Joerg Roedel
On Fri, Feb 10, 2017 at 02:46:59PM +0100, Marek Szyprowski wrote: > Hi > > On 2017-02-09 12:32, Joerg Roedel wrote: > >From: Joerg Roedel > > > >Register Exynos IOMMUs to the IOMMU core and make them > >visible in sysfs. This patch does not add the links between

Re: [PATCH 06/11] iommu: Add iommu_device_set_fwnode() interface

2017-02-10 Thread Joerg Roedel
Hi Robin, On Fri, Feb 10, 2017 at 02:16:54PM +, Robin Murphy wrote: > > +static inline void iommu_device_set_fwnode(struct iommu_device *iommu, > > + struct fwnode_handle *fwnode) > > +{ > > + iommu->fwnode = fwnode; > > +} > > Would it make sense to sim

Re: [PATCH 07/11] iommu/arm-smmu: Make use of the iommu_register interface

2017-02-10 Thread Joerg Roedel
On Fri, Feb 10, 2017 at 02:20:34PM +, Robin Murphy wrote: > > @@ -1795,8 +1798,10 @@ static int arm_smmu_add_device(struct device *dev) > > } > > > > group = iommu_group_get_for_dev(dev); > > - if (!IS_ERR(group)) > > + if (!IS_ERR(group)) { > > iommu_group_put(group);

Re: [PATCH 08/11] iommu/msm: Make use of iommu_device_register interface

2017-02-10 Thread Joerg Roedel
On Fri, Feb 10, 2017 at 02:35:39PM +, Robin Murphy wrote: > On 09/02/17 11:32, Joerg Roedel wrote: > > + ret = iommu_device_sysfs_add(&iommu->iommu, iommu->dev, NULL, > > +"msm-smmu.%pa", &ioaddr); > > + if (ret

Re: [PATCH 01/11] iommu: Rename iommu_get_instance()

2017-02-10 Thread Joerg Roedel
Hi Robin, On Fri, Feb 10, 2017 at 02:12:54PM +, Robin Murphy wrote: > I'm really liking this series! Superficially it doesn't seem to break > anything on my Juno, but I'll give it a more thorough workout soon. Great, thanks for testing! Any problems in this series should show up on boot anywa

Re: [PATCH 06/11] iommu: Add iommu_device_set_fwnode() interface

2017-02-10 Thread Joerg Roedel
On Fri, Feb 10, 2017 at 04:03:07PM +, Robin Murphy wrote: > Yeah, on reflection explicit initialisation is certainly easier to read > than a bunch of arguments handled implicitly by register(), but then > from that angle, even more clear would be to simply have the drivers > write the relevant

[git pull] IOMMU Updates for Linux v4.11

2017-02-20 Thread Joerg Roedel
msa: Restrict IOMMU Domain Geometry to 32-bit address space Geliang Tang (1): iommu/iova: Use rb_entry() Jeremy Gebben (1): iommu/io-pgtable-arm: add support for the IOMMU_PRIV flag Joerg Roedel (15): Merge branch 'iommu/guest-msi' of git://git.kernel.org/.../will/lin

Re: [bug report] iommu/arm-smmu: Make use of the iommu_register interface

2017-02-22 Thread Joerg Roedel
Hi Dan, thanks for the report! There are more bogus things going on here. On Wed, Feb 15, 2017 at 11:36:48AM +0300, Dan Carpenter wrote: > The patch 9648cbc9625b: "iommu/arm-smmu: Make use of the > iommu_register interface" from Feb 1, 2017, leads to the following > Smatch complaint: > > drive

Re: [PATCH v1 1/6] iommu/dmar: Fix crash on boot when DMAR is disabled

2017-02-22 Thread Joerg Roedel
008 > IP: iommu_device_unregister+0x31/0x60 > > Make unregister procedure conditional in free_iommu(). > > Fixes: b0119e870837 ("iommu: Introduce new 'struct iommu_device'") > Cc: Joerg Roedel > Signed-off-by:

Re: [bug report] iommu/arm-smmu: Make use of the iommu_register interface

2017-02-22 Thread Joerg Roedel
On Wed, Feb 22, 2017 at 11:26:48AM +, Robin Murphy wrote: > The pointer isn't cleared because the whole fwspec is freed on the very > next line. You are right, stupid me :/ Sorry for the noise. Joerg ___ iommu mailing list iommu@lists.lin

[git pull] IOMMU Fix for Linux v4.11-rc0

2017-02-22 Thread Joerg Roedel
Hi Linus, The following changes since commit ebb4949eb32ff500602f960525592fc4e614c5a7: Merge tag 'iommu-updates-v4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu (2017-02-20 16:42:43 -0800) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/

Re: intel-iommu sysfs oops.

2017-02-23 Thread Joerg Roedel
Hi Dave, On Thu, Feb 23, 2017 at 02:44:06PM -0500, Dave Jones wrote: > cat /sys/devices/virtual/iommu/dmar0/intel-iommu/version > > Oops: [#1] PREEMPT SMP DEBUG_PAGEALLOC Thanks for the report, the problem reproduces easily here. The diff below fixes the issue on Intel, AMD has the same pro

[PATCH 2/2] iommu/amd: Fix crash when accessing AMD-Vi sysfs entries

2017-02-28 Thread Joerg Roedel
From: Joerg Roedel The link between the iommu sysfs-device and the struct amd_iommu is no longer stored as driver-data. Update the code to the new correct way of getting from device to amd_iommu. Reported-by: Dave Jones Fixes: 39ab9555c241 ('iommu: Add sysfs bindings for struct iommu_d

[PATCH 1/2] iommu/vt-d: Fix crash when accessing VT-d sysfs entries

2017-02-28 Thread Joerg Roedel
From: Joerg Roedel The link between the iommu sysfs-device and the struct intel_iommu is no longer stored as driver-data. Update the code to use the new access method. Reported-by: Dave Jones Fixes: 39ab9555c241 ('iommu: Add sysfs bindings for struct iommu_device') Signed-off-by: Jo

[git pull] IOMMU Fixes for Linux v4.11-rc1

2017-02-28 Thread Joerg Roedel
the iommu-core. -------- Joerg Roedel (2): iommu/vt-d: Fix crash when accessing VT-d sysfs entries iommu/amd: Fix crash when accessing AMD-Vi sysfs entries drivers/iommu/amd_iommu_init.c | 4 ++-- drivers/iommu/amd_iommu_types.h | 5

Re: [PATCH 1/2] iommu/vt-d: Fix crash when accessing VT-d sysfs entries

2017-03-01 Thread Joerg Roedel
On Wed, Mar 01, 2017 at 08:19:30AM +0800, kbuild test robot wrote: > >> include/linux/intel-iommu.h:457:52: error: 'struct iommu_device' has no > >> member named 'dev' > return container_of(dev, struct intel_iommu, iommu.dev); Yeah, I noticed that issue too and fixed it before sending the pu

Re: Partial BAR Address Allocation

2017-03-06 Thread Joerg Roedel
On Wed, Feb 22, 2017 at 05:39:44PM -0600, Bjorn Helgaas wrote: > [+cc Joerg, iommu list] > > On Wed, Feb 22, 2017 at 03:44:53PM -0500, Sinan Kaya wrote: > > On 2/22/2017 1:44 PM, Bjorn Helgaas wrote: > > > There is no way for a driver to say "I only need this memory BAR and > > > not the other one

Re: [PATCH v2] iommu: iova: Consolidate code for adding new node to iovad domain rbtree

2017-03-21 Thread Joerg Roedel
On Fri, Feb 24, 2017 at 12:13:37PM +0100, Marek Szyprowski wrote: > This patch consolidates almost the same code used in iova_insert_rbtree() > and __alloc_and_insert_iova_range() functions. While touching this code, > replace BUG() with WARN_ON(1) to avoid taking down the whole system in > case of

  1   2   3   4   5   6   7   8   9   10   >