summaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/amd_iommu.h
diff options
context:
space:
mode:
authorJoerg Roedel <joerg.roedel@amd.com>2009-10-09 18:31:20 +0200
committerJoerg Roedel <joerg.roedel@amd.com>2009-10-09 18:37:46 +0200
commitc5cca146aa03e1f60fb179df65f0dbaf17bc64ed (patch)
tree457cdf7d8b3a12f58328d06a2bfd8665b395b9ba /arch/x86/include/asm/amd_iommu.h
parentc7084b35eb1a4d3353a501508baf9d3d82822c93 (diff)
downloadlinux-c5cca146aa03e1f60fb179df65f0dbaf17bc64ed.tar.gz
linux-c5cca146aa03e1f60fb179df65f0dbaf17bc64ed.tar.bz2
linux-c5cca146aa03e1f60fb179df65f0dbaf17bc64ed.zip
x86/amd-iommu: Workaround for erratum 63
There is an erratum for IOMMU hardware which documents undefined behavior when forwarding SMI requests from peripherals and the DTE of that peripheral has a sysmgt value of 01b. This problem caused weird IO_PAGE_FAULTS in my case. This patch implements the suggested workaround for that erratum into the AMD IOMMU driver. The erratum is documented with number 63. Cc: stable@kernel.org Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Diffstat (limited to 'arch/x86/include/asm/amd_iommu.h')
-rw-r--r--arch/x86/include/asm/amd_iommu.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/x86/include/asm/amd_iommu.h b/arch/x86/include/asm/amd_iommu.h
index bdf96f119f06..9dbd4030f0cd 100644
--- a/arch/x86/include/asm/amd_iommu.h
+++ b/arch/x86/include/asm/amd_iommu.h
@@ -30,6 +30,7 @@ extern irqreturn_t amd_iommu_int_handler(int irq, void *data);
extern void amd_iommu_flush_all_domains(void);
extern void amd_iommu_flush_all_devices(void);
extern void amd_iommu_shutdown(void);
+extern void amd_iommu_apply_erratum_63(u16 devid);
#else
static inline int amd_iommu_init(void) { return -ENODEV; }
static inline void amd_iommu_detect(void) { }