summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/quirks.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-05-19 17:10:24 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2010-05-19 17:10:24 -0700
commit6fa0fddd5f60064f22f8d389f5aeb7dd1646dfe1 (patch)
treebf3cd405213c37f1ed363c3b2f542088e05ea571 /arch/x86/kernel/quirks.c
parent7d02093e29de9efc4a72d5e93baae9506969b789 (diff)
parentfec84e330719c20d2146c8dbdc9ff50b3a1d7039 (diff)
downloadblackbird-obmc-linux-6fa0fddd5f60064f22f8d389f5aeb7dd1646dfe1.tar.gz
blackbird-obmc-linux-6fa0fddd5f60064f22f8d389f5aeb7dd1646dfe1.zip
Merge branch 'timers-for-linus-hpet' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'timers-for-linus-hpet' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, hpet: Add reference to chipset erratum documentation for disable-hpet-msi-quirk x86, hpet: Restrict read back to affected ATI chipsets
Diffstat (limited to 'arch/x86/kernel/quirks.c')
-rw-r--r--arch/x86/kernel/quirks.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/x86/kernel/quirks.c b/arch/x86/kernel/quirks.c
index 12e9feaa2f7a..e72d3fc6547d 100644
--- a/arch/x86/kernel/quirks.c
+++ b/arch/x86/kernel/quirks.c
@@ -495,10 +495,18 @@ void force_hpet_resume(void)
/*
* HPET MSI on some boards (ATI SB700/SB800) has side effect on
* floppy DMA. Disable HPET MSI on such platforms.
+ * See erratum #27 (Misinterpreted MSI Requests May Result in
+ * Corrupted LPC DMA Data) in AMD Publication #46837,
+ * "SB700 Family Product Errata", Rev. 1.0, March 2010.
+ *
+ * Also force the read back of the CMP register in hpet_next_event()
+ * to work around the problem that the CMP register write seems to be
+ * delayed. See hpet_next_event() for details.
*/
static void force_disable_hpet_msi(struct pci_dev *unused)
{
hpet_msi_disable = 1;
+ hpet_readback_cmp = 1;
}
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_SBX00_SMBUS,
OpenPOWER on IntegriCloud