]> git.hungrycats.org Git - linux/commitdiff
Merge AMD7xx PCI compliance quirk fix from 2.4.18.
authorJeff Garzik <jgarzik@mandrakesoft.com>
Wed, 27 Feb 2002 09:14:02 +0000 (04:14 -0500)
committerJeff Garzik <jgarzik@mandrakesoft.com>
Wed, 27 Feb 2002 09:14:02 +0000 (04:14 -0500)
drivers/pci/quirks.c

index ae1c793d7e4c2063931aa68dae5855cc00d0dec2..bbb91f188a71e92b6cba4e267fa008439eb99a61 100644 (file)
@@ -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);
        }
 }