From d7814fa5506892ab5695fa5b70a2482b08b2958a Mon Sep 17 00:00:00 2001 From: Jeff Garzik Date: Wed, 27 Feb 2002 04:14:02 -0500 Subject: [PATCH] Merge AMD7xx PCI compliance quirk fix from 2.4.18. --- drivers/pci/quirks.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index ae1c793d7e4c..bbb91f188a71 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -444,13 +444,15 @@ static void __init quirk_amd_ioapic(struct pci_dev *dev) static void __init quirk_amd_ordering(struct pci_dev *dev) { u32 pcic; - - pci_read_config_dword(dev, 0x42, &pcic); - if((pcic&2)==0) + pci_read_config_dword(dev, 0x4C, &pcic); + if((pcic&6)!=6) { - pcic |= 2; - printk(KERN_WARNING "BIOS disabled PCI ordering compliance, so we enabled it again.\n"); - pci_write_config_dword(dev, 0x42, pcic); + pcic |= 6; + printk(KERN_WARNING "BIOS failed to enable PCI standards compliance, fixing this error.\n"); + pci_write_config_dword(dev, 0x4C, pcic); + pci_read_config_dword(dev, 0x84, &pcic); + pcic |= (1<<23); /* Required in this mode */ + pci_write_config_dword(dev, 0x84, pcic); } } -- 2.39.5