From 497e5ff03f58583ada469db8a1aa34eced9dd63e Mon Sep 17 00:00:00 2001 From: Ralf Baechle Date: Wed, 6 Jun 2012 11:14:08 +0100 Subject: MIPS: Malta: Move PIIX4 PCI fixup to where it belongs. Signed-off-by: Ralf Baechle --- arch/mips/pci/fixup-malta.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'arch/mips/pci/fixup-malta.c') diff --git a/arch/mips/pci/fixup-malta.c b/arch/mips/pci/fixup-malta.c index 70073c98ed3..819622f93e9 100644 --- a/arch/mips/pci/fixup-malta.c +++ b/arch/mips/pci/fixup-malta.c @@ -101,3 +101,17 @@ static void __devinit malta_piix_func1_fixup(struct pci_dev *pdev) DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82371AB, malta_piix_func1_fixup); + +/* Enable PCI 2.1 compatibility in PIIX4 */ +static void __devinit 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); -- cgit v1.2.3