]> git.karo-electronics.de Git - karo-tx-linux.git/commit
x86/amd-iommu: Work around S3 BIOS bug
authorJoerg Roedel <joerg.roedel@amd.com>
Thu, 23 Sep 2010 13:15:19 +0000 (15:15 +0200)
committerPaul Gortmaker <paul.gortmaker@windriver.com>
Thu, 6 Jan 2011 23:08:08 +0000 (18:08 -0500)
commited2afedbe1d7dd018d4a6df84c663ed5c1c3bd21
treeb720e4b0da751662c3b812bb65867a9c5ae42258
parent6038fae202d6c2127ca16864bf40f6739ef2e1ec
x86/amd-iommu: Work around S3 BIOS bug

commit 4c894f47bb49284008073d351c0ddaac8860864e upstream.

This patch adds a workaround for an IOMMU BIOS problem to
the AMD IOMMU driver. The result of the bug is that the
IOMMU does not execute commands anymore when the system
comes out of the S3 state resulting in system failure. The
bug in the BIOS is that is does not restore certain hardware
specific registers correctly. This workaround reads out the
contents of these registers at boot time and restores them
on resume from S3. The workaround is limited to the specific
IOMMU chipset where this problem occurs.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
arch/x86/include/asm/amd_iommu_proto.h
arch/x86/include/asm/amd_iommu_types.h
arch/x86/kernel/amd_iommu_init.c
include/linux/pci_ids.h