diff options
Diffstat (limited to 'arch/x86/kernel/quirks.c')
-rw-r--r-- | arch/x86/kernel/quirks.c | 8 |
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) | |||
495 | /* | 495 | /* |
496 | * HPET MSI on some boards (ATI SB700/SB800) has side effect on | 496 | * HPET MSI on some boards (ATI SB700/SB800) has side effect on |
497 | * floppy DMA. Disable HPET MSI on such platforms. | 497 | * floppy DMA. Disable HPET MSI on such platforms. |
498 | * See erratum #27 (Misinterpreted MSI Requests May Result in | ||
499 | * Corrupted LPC DMA Data) in AMD Publication #46837, | ||
500 | * "SB700 Family Product Errata", Rev. 1.0, March 2010. | ||
501 | * | ||
502 | * Also force the read back of the CMP register in hpet_next_event() | ||
503 | * to work around the problem that the CMP register write seems to be | ||
504 | * delayed. See hpet_next_event() for details. | ||
498 | */ | 505 | */ |
499 | static void force_disable_hpet_msi(struct pci_dev *unused) | 506 | static void force_disable_hpet_msi(struct pci_dev *unused) |
500 | { | 507 | { |
501 | hpet_msi_disable = 1; | 508 | hpet_msi_disable = 1; |
509 | hpet_readback_cmp = 1; | ||
502 | } | 510 | } |
503 | 511 | ||
504 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_SBX00_SMBUS, | 512 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_SBX00_SMBUS, |