MIPS: Malta: Enable PCI 2.1 compatibility in PIIX4
authorRalf Baechle <ralf@linux-mips.org>
Mon, 12 Oct 2009 20:54:47 +0000 (22:54 +0200)
committerRalf Baechle <ralf@linux-mips.org>
Mon, 2 Nov 2009 11:00:04 +0000 (12:00 +0100)
Based on original patch by Chris Dearman <chris@mips.com>.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/mti-malta/malta-pci.c

index b9743190609a0aab3d3effffc8d5ad4d746871bf..efdb4f66ffcf70050da25653f2c493894da977ce 100644 (file)
@@ -241,3 +241,16 @@ void __init mips_pcibios_init(void)
 
        register_pci_controller(controller);
 }
+
+/* Enable PCI 2.1 compatibility in PIIX4 */
+static void __init quirk_dlcsetup(struct pci_dev *dev)
+{
+       u8 odlc, ndlc;
+       (void) pci_read_config_byte(dev, 0x82, &odlc);
+       /* Enable passive releases and delayed transaction */
+       ndlc = odlc | 7;
+       (void) pci_write_config_byte(dev, 0x82, ndlc);
+}
+
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82371AB_0,
+       quirk_dlcsetup);