]> 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)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 21 Mar 2011 19:43:12 +0000 (12:43 -0700)
commita255b2005130c1e313461166a25b98956b2d6ef9
tree0ee27d8e21ae374a5dc3f0627b1a69a26321e652
parent1ce5058b79eb16d2b3de69141353a8c0192a9729
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: Greg Kroah-Hartman <gregkh@suse.de>
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