]> err.no Git - linux-2.6/blobdiff - drivers/pci/quirks.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
[linux-2.6] / drivers / pci / quirks.c
index e887aa45c9cdd4ad41863f199f9f26f4551659a4..dabb563f51d9466e4379f9095c85d2ce04545925 100644 (file)
@@ -1502,9 +1502,8 @@ static void pci_do_fixups(struct pci_dev *dev, struct pci_fixup *f, struct pci_f
                if ((f->vendor == dev->vendor || f->vendor == (u16) PCI_ANY_ID) &&
                    (f->device == dev->device || f->device == (u16) PCI_ANY_ID)) {
 #ifdef DEBUG
-                       dev_dbg(&dev->dev, "calling quirk 0x%p", f->hook);
-                       print_fn_descriptor_symbol(": %s()\n",
-                               (unsigned long) f->hook);
+                       dev_dbg(&dev->dev, "calling ");
+                       print_fn_descriptor_symbol("%s\n", f->hook);
 #endif
                        f->hook(dev);
                }
@@ -1648,13 +1647,24 @@ static void __devinit quirk_via_cx700_pci_parking_caching(struct pci_dev *dev)
                        /* Turn off PCI Bus Parking */
                        pci_write_config_byte(dev, 0x76, b ^ 0x40);
 
+                       dev_info(&dev->dev,
+                               "Disabling VIA CX700 PCI parking\n");
+               }
+       }
+
+       if (pci_read_config_byte(dev, 0x72, &b) == 0) {
+               if (b != 0) {
                        /* Turn off PCI Master read caching */
                        pci_write_config_byte(dev, 0x72, 0x0);
+
+                       /* Set PCI Master Bus time-out to "1x16 PCLK" */
                        pci_write_config_byte(dev, 0x75, 0x1);
+
+                       /* Disable "Read FIFO Timer" */
                        pci_write_config_byte(dev, 0x77, 0x0);
 
                        dev_info(&dev->dev,
-                               "Disabling VIA CX700 PCI parking/caching\n");
+                               "Disabling VIA CX700 PCI caching\n");
                }
        }
 }
@@ -1815,6 +1825,7 @@ static void __devinit nv_msi_ht_cap_quirk(struct pci_dev *dev)
        }
 }
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, PCI_ANY_ID, nv_msi_ht_cap_quirk);
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AL, PCI_ANY_ID, nv_msi_ht_cap_quirk);
 
 static void __devinit quirk_msi_intx_disable_bug(struct pci_dev *dev)
 {