]> 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>
Fri, 29 Oct 2010 04:51:16 +0000 (21:51 -0700)
commit1cd864ee52f2768c2701230b2d86dd9244947488
tree87660bf3b31e2e277ab22cfa00ea997edfe006e7
parentf686b1e07177ac4370ff25fe2f980c6961476c22
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