09 Jan, 2012
1 commit
-
Conflicts:
drivers/iommu/amd_iommu.c
drivers/iommu/intel-iommu.c
include/linux/iommu.h
22 Dec, 2011
1 commit
-
The IOMMUv2 driver added a few statistic counter which are
interesting in the iommu=pt mode too. So initialize the
statistic counter for that mode too.Signed-off-by: Joerg Roedel
15 Dec, 2011
2 commits
-
This function can be used to find out which features
necessary for IOMMUv2 usage are available on a given device.Signed-off-by: Joerg Roedel
-
The symbolic register names for PCI and PASID changed in
PCI code. This patch adapts the AMD IOMMU driver to these
changes.Signed-off-by: Joerg Roedel
14 Dec, 2011
1 commit
-
Conflicts:
drivers/iommu/amd_iommu.c
12 Dec, 2011
11 commits
-
Add some interesting statistic counters for events when
IOMMUv2 is active.Signed-off-by: Joerg Roedel
-
Add infrastructure for errata-handling and handle two known
erratas in the IOMMUv2 code.Signed-off-by: Joerg Roedel
-
The AMD IOMMUv2 driver needs to get the IOMMUv2 domain
associated with a particular device. This patch adds a
function to get this information.Signed-off-by: Joerg Roedel
-
To send completions for PPR requests this patch adds a
function which can be used by the IOMMUv2 driver.Signed-off-by: Joerg Roedel
-
This patch adds functions necessary to set and clear the
GCR3 values associated with a particular PASID in an IOMMUv2
domain.Signed-off-by: Joerg Roedel
-
The functions added with this patch allow to manage the
IOMMU and the device TLBs for all devices in an IOMMUv2
domain.Signed-off-by: Joerg Roedel
-
This patch adds support for protection domains that
implement two-level paging for devices.Signed-off-by: Joerg Roedel
-
This function can be used to switch a domain into
paging-mode 0. In this mode all devices can access physical
system memory directly without any remapping.Signed-off-by: Joerg Roedel
-
Add a notifer at which a module can attach to get informed
about incoming PPR faults.Signed-off-by: Joerg Roedel
-
If the device starts to use IOMMUv2 features the dma handles
need to stay valid. The only sane way to do this is to use a
identity mapping for the device and not translate it by the
iommu. This is implemented with this patch. Since this lifts
the device-isolation there is also a new kernel parameter
which allows to disable that feature.Signed-off-by: Joerg Roedel
-
Convert the contents of 'struct dev_table_entry' to u64 to
allow updating the DTE wit 64bit writes as required by the
spec.Signed-off-by: Joerg Roedel
15 Nov, 2011
2 commits
-
The option iommu=group_mf indicates the that the iommu driver should
expose all functions of a multi-function PCI device as the same
iommu_device_group. This is useful for disallowing individual functions
being exposed as independent devices to userspace as there are often
hidden dependencies. Virtual functions are not affected by this option.Signed-off-by: Alex Williamson
Signed-off-by: Joerg Roedel -
Just use the amd_iommu_alias_table directly.
Signed-off-by: Alex Williamson
Signed-off-by: Joerg Roedel
10 Nov, 2011
2 commits
-
Let the IOMMU core know we support arbitrary page sizes (as long as
they're an order of 4KiB).This way the IOMMU core will retain the existing behavior we're used to;
it will let us map regions that:
- their size is an order of 4KiB
- they are naturally alignedSigned-off-by: Ohad Ben-Cohen
Cc: Joerg Roedel
Signed-off-by: Joerg Roedel -
Express sizes in bytes rather than in page order, to eliminate the
size->order->size conversions we have whenever the IOMMU API is calling
the low level drivers' map/unmap methods.Adopt all existing drivers.
Signed-off-by: Ohad Ben-Cohen
Cc: David Brown
Cc: David Woodhouse
Cc: Joerg Roedel
Cc: Stepan Moskovchenko
Cc: KyongHo Cho
Cc: Hiroshi DOYU
Cc: Laurent Pinchart
Signed-off-by: Joerg Roedel
21 Oct, 2011
2 commits
-
…mu/fault-reporting' and 'api/iommu-ops-per-bus' into next
Conflicts:
drivers/iommu/amd_iommu.c
drivers/iommu/iommu.c -
Convert the AMD IOMMU driver to use the new interface for
publishing the iommu_ops.Signed-off-by: Joerg Roedel
11 Oct, 2011
1 commit
-
The shift direction was wrong because the function takes a
page number and i is the address is the loop.Cc: stable@kernel.org
Signed-off-by: Joerg Roedel
02 Sep, 2011
2 commits
-
The domain_flush_devices() function takes the domain->lock.
But this function is only called from update_domain() which
itself is already called unter the domain->lock. This causes
a deadlock situation when the dma-address-space of a domain
grows larger than 1GB.Cc: stable@kernel.org
Signed-off-by: Joerg Roedel -
The value is only set to true but never set back to false,
which causes to many completion-wait commands to be sent to
hardware. Fix it with this patch.Cc: stable@kernel.org
Signed-off-by: Joerg Roedel
06 Jul, 2011
1 commit
-
Reserve the MSI address range in the address allocator so
that MSI addresses are not handed out as dma handles.Cc: stable@kernel.org
Signed-off-by: Joerg Roedel
21 Jun, 2011
3 commits
-
Conflicts:
arch/x86/include/asm/amd_iommu_types.h
arch/x86/kernel/amd_iommu.cSigned-off-by: Joerg Roedel
-
A few parts of the driver were missing in drivers/iommu.
Move them there to have the complete driver in that
directory.Signed-off-by: Joerg Roedel
-
This should ease finding similarities with different platforms,
with the intention of solving problems once in a generic framework
which everyone can use.Compile-tested on x86_64.
Signed-off-by: Ohad Ben-Cohen
Signed-off-by: Joerg Roedel