aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/pci/fixup.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/arch/x86/pci/fixup.c b/arch/x86/pci/fixup.c
index d0e6e403b4f6..5dd467bd6121 100644
--- a/arch/x86/pci/fixup.c
+++ b/arch/x86/pci/fixup.c
@@ -519,3 +519,20 @@ static void sb600_disable_hpet_bar(struct pci_dev *dev)
519 } 519 }
520} 520}
521DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_ATI, 0x4385, sb600_disable_hpet_bar); 521DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_ATI, 0x4385, sb600_disable_hpet_bar);
522
523/*
524 * Twinhead H12Y needs us to block out a region otherwise we map devices
525 * there and any access kills the box.
526 *
527 * See: https://bugzilla.kernel.org/show_bug.cgi?id=10231
528 *
529 * Match off the LPC and svid/sdid (older kernels lose the bridge subvendor)
530 */
531static void __devinit twinhead_reserve_killing_zone(struct pci_dev *dev)
532{
533 if (dev->subsystem_vendor == 0x14FF && dev->subsystem_device == 0xA003) {
534 pr_info("Reserving memory on Twinhead H12Y\n");
535 request_mem_region(0xFFB00000, 0x100000, "twinhead");
536 }
537}
538DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x27B9, twinhead_reserve_killing_zone);