X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=drivers%2Fpci%2Fquirks.c;h=afd914ebe2153aeca5bb78be50dcfed26c7d2603;hb=4b7227ca321ccf447cdc04538687c895db8b77f5;hp=e887aa45c9cdd4ad41863f199f9f26f4551659a4;hpb=2a467d5f7d6bdc90c365db167a10022dd8351894;p=mv-sheeva.git diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index e887aa45c9c..afd914ebe21 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 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", + dev_dbg(&dev->dev, "calling "); + print_fn_descriptor_symbol("%s()\n", (unsigned long) f->hook); #endif f->hook(dev); @@ -1648,13 +1648,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"); } } }