Patchwork [2/2] PCI: add PLX PCI 9050 workaround for some Meilhaus DAQ cards

login
register
mail settings
Submitter Ian Abbott
Date Oct. 29, 2012, 2:40 p.m.
Message ID <1351521618-6818-2-git-send-email-abbotti@mev.co.uk>
Download mbox | patch
Permalink /patch/195016/
State Accepted
Headers show

Comments

Ian Abbott - Oct. 29, 2012, 2:40 p.m.
The Meilhaus ME-2000i and ME-2600i data acquisition cards supported by
the Comedi "me_daq" driver use the PLX PCI 9050 PCI Target bridge chip
affected by the bug that prevents the chip's local configuration
registers being read from BAR0 or BAR1 base addresses that are an odd
multiple of 128 bytes.  Use the PLX PCI 9050 quirk handler for these
devices to re-allocate affected regions to a 256-byte boundary.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
---
 drivers/pci/quirks.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

Patch

diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 7e6be56..f9a1b33 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -1814,6 +1814,17 @@  static void __devinit quirk_plx_pci9050(struct pci_dev *dev)
 }
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050,
 			 quirk_plx_pci9050);
+/*
+ * The following Meilhaus (vendor ID 0x1402) device IDs (amongst others)
+ * may be using the PLX PCI 9050: 0x0630, 0x0940, 0x0950, 0x0960, 0x100b,
+ * 0x1400, 0x140a, 0x140b, 0x14e0, 0x14ea, 0x14eb, 0x1604, 0x1608, 0x160c,
+ * 0x168f, 0x2000, 0x2600, 0x3000, 0x810a, 0x810b.
+ *
+ * Currently, device IDs 0x2000 and 0x2600 are used by the Comedi "me_daq"
+ * driver.
+ */
+DECLARE_PCI_FIXUP_HEADER(0x1402, 0x2000, quirk_plx_pci9050);
+DECLARE_PCI_FIXUP_HEADER(0x1402, 0x2600, quirk_plx_pci9050);
 
 static void __devinit quirk_netmos(struct pci_dev *dev)
 {