aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci/quirks.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-04-21 18:58:35 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-04-21 18:58:35 -0400
commitbda0c0afa7a694bb1459fd023515aca681e4d79a (patch)
treecd8b9d9811463de2065cbe79d59689082d6c53cf /drivers/pci/quirks.c
parent904e0ab54b7591b9cb01cfc0dbbedcc8bc0d949b (diff)
parentaf40b485ea2d957ae2f237ab0e33539ae8f29562 (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6: (42 commits) PCI: Change PCI subsystem MAINTAINER PCI: pci-iommu-iotlb-flushing-speedup PCI: pci_setup_bridge() mustn't be __devinit PCI: pci_bus_size_cardbus() mustn't be __devinit PCI: pci_scan_device() mustn't be __devinit PCI: pci_alloc_child_bus() mustn't be __devinit PCI: replace remaining __FUNCTION__ occurrences PCI: Hotplug: fakephp: Return success, not ENODEV, when bus rescan is triggered PCI: Hotplug: Fix leaks in IBM Hot Plug Controller Driver - ibmphp_init_devno() PCI: clean up resource alignment management PCI: aerdrv_acpi.c: remove unneeded NULL check PCI: Update VIA CX700 quirk PCI: Expose PCI VPD through sysfs PCI: iommu: iotlb flushing PCI: simplify quirk debug output PCI: iova RB tree setup tweak PCI: parisc: use generic pci_enable_resources() PCI: ppc: use generic pci_enable_resources() PCI: powerpc: use generic pci_enable_resources() PCI: ia64: use generic pci_enable_resources() ...
Diffstat (limited to 'drivers/pci/quirks.c')
-rw-r--r--drivers/pci/quirks.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index e887aa45c9cd..afd914ebe215 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -1502,8 +1502,8 @@ static void pci_do_fixups(struct pci_dev *dev, struct pci_fixup *f, struct pci_f
1502 if ((f->vendor == dev->vendor || f->vendor == (u16) PCI_ANY_ID) && 1502 if ((f->vendor == dev->vendor || f->vendor == (u16) PCI_ANY_ID) &&
1503 (f->device == dev->device || f->device == (u16) PCI_ANY_ID)) { 1503 (f->device == dev->device || f->device == (u16) PCI_ANY_ID)) {
1504#ifdef DEBUG 1504#ifdef DEBUG
1505 dev_dbg(&dev->dev, "calling quirk 0x%p", f->hook); 1505 dev_dbg(&dev->dev, "calling ");
1506 print_fn_descriptor_symbol(": %s()\n", 1506 print_fn_descriptor_symbol("%s()\n",
1507 (unsigned long) f->hook); 1507 (unsigned long) f->hook);
1508#endif 1508#endif
1509 f->hook(dev); 1509 f->hook(dev);
@@ -1648,13 +1648,24 @@ static void __devinit quirk_via_cx700_pci_parking_caching(struct pci_dev *dev)
1648 /* Turn off PCI Bus Parking */ 1648 /* Turn off PCI Bus Parking */
1649 pci_write_config_byte(dev, 0x76, b ^ 0x40); 1649 pci_write_config_byte(dev, 0x76, b ^ 0x40);
1650 1650
1651 dev_info(&dev->dev,
1652 "Disabling VIA CX700 PCI parking\n");
1653 }
1654 }
1655
1656 if (pci_read_config_byte(dev, 0x72, &b) == 0) {
1657 if (b != 0) {
1651 /* Turn off PCI Master read caching */ 1658 /* Turn off PCI Master read caching */
1652 pci_write_config_byte(dev, 0x72, 0x0); 1659 pci_write_config_byte(dev, 0x72, 0x0);
1660
1661 /* Set PCI Master Bus time-out to "1x16 PCLK" */
1653 pci_write_config_byte(dev, 0x75, 0x1); 1662 pci_write_config_byte(dev, 0x75, 0x1);
1663
1664 /* Disable "Read FIFO Timer" */
1654 pci_write_config_byte(dev, 0x77, 0x0); 1665 pci_write_config_byte(dev, 0x77, 0x0);
1655 1666
1656 dev_info(&dev->dev, 1667 dev_info(&dev->dev,
1657 "Disabling VIA CX700 PCI parking/caching\n"); 1668 "Disabling VIA CX700 PCI caching\n");
1658 } 1669 }
1659 } 1670 }
1660} 1671}