summaryrefslogtreecommitdiffstats
path: root/drivers/iommu/amd_iommu_types.h
Commit message (Collapse)AuthorAgeFilesLines
* iommu/amd: Cache pdev pointer to root-bridgeJoerg Roedel2012-06-041-0/+3
| | | | | | | | | | | | At some point pci_get_bus_and_slot started to enable interrupts. Since this function is used in the amd_iommu_resume path it will enable interrupts on resume which causes a warning. The fix will use a cached pointer to the root-bridge to re-enable the IOMMU in case the BIOS is broken. Cc: stable@vger.kernel.org Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* iommu/amd: Set IOTLB invalidation timeoutJoerg Roedel2011-12-221-0/+10
| | | | | | | | To protect the command buffer from hanging when a device does not respond to an IOTLB invalidation, set a timeout of 1s for outstanding IOTLB invalidations. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* iommu/amd: Add device errata handlingJoerg Roedel2011-12-121-0/+1
| | | | | | | Add infrastructure for errata-handling and handle two known erratas in the IOMMUv2 code. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* iommu/amd: Add function to get IOMMUv2 domain for pdevJoerg Roedel2011-12-121-0/+4
| | | | | | | | 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 <joerg.roedel@amd.com>
* iommu/amd: Implement function to send PPR completionsJoerg Roedel2011-12-121-0/+6
| | | | | | | To send completions for PPR requests this patch adds a function which can be used by the IOMMUv2 driver. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* iommu/amd: Implement functions to manage GCR3 tableJoerg Roedel2011-12-121-0/+1
| | | | | | | | 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 <joerg.roedel@amd.com>
* iommu/amd: Implement IOMMUv2 TLB flushing routinesJoerg Roedel2011-12-121-0/+1
| | | | | | | | 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 <joerg.roedel@amd.com>
* iommu/amd: Add support for IOMMUv2 domain modeJoerg Roedel2011-12-121-0/+27
| | | | | | | This patch adds support for protection domains that implement two-level paging for devices. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* iommu/amd: Implement notifier for PPR faultsJoerg Roedel2011-12-121-1/+33
| | | | | | | Add a notifer at which a module can attach to get informed about incoming PPR faults. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* iommu/amd: Put IOMMUv2 capable devices in pt_domainJoerg Roedel2011-12-121-0/+4
| | | | | | | | | | | 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 <joerg.roedel@amd.com>
* iommu/amd: Add iommuv2 flag to struct amd_iommuJoerg Roedel2011-12-121-0/+5
| | | | | | | | | | In mixed IOMMU setups this flag inidicates whether an IOMMU supports the v2 features or not. This patch also adds a global flag together with a function to query that flag from other code. The flag shows if at least one IOMMUv2 is in the system. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* iommu/amd: Enable GT mode when supported by IOMMUJoerg Roedel2011-12-121-0/+1
| | | | | | | This feature needs to be enabled before IOMMUv2 DTEs can be set up. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* iommu/amd: Setup PPR log when supported by IOMMUJoerg Roedel2011-12-121-0/+14
| | | | | | | Allocate and enable a log buffer for peripheral page faults when the IOMMU supports this feature. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* iommu/amd: Get the maximum number of PASIDs supportedJoerg Roedel2011-12-121-0/+6
| | | | | | | | Read the number of PASIDs supported by each IOMMU in the system and take the smallest number as the maximum value supported by the IOMMU driver. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* iommu/amd: Convert dev_table_entry to u64Joerg Roedel2011-12-121-2/+2
| | | | | | | | 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 <joerg.roedel@amd.com>
* Merge branches 'amd/transparent-bridge' and 'core'Joerg Roedel2011-06-211-2/+7
| | | | | | | | Conflicts: arch/x86/include/asm/amd_iommu_types.h arch/x86/kernel/amd_iommu.c Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* iommu/amd: Move missing parts to drivers/iommuJoerg Roedel2011-06-211-0/+580
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 <joerg.roedel@amd.com>
OpenPOWER on IntegriCloud