summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorTroy Kisky <troy.kisky@boundarydevices.com>2013-04-10 20:08:25 -0700
committerEric Nelson <eric.nelson@boundarydevices.com>2013-09-03 14:12:26 -0700
commit5af54cb947e5b94e33dc5d97d2789c2bdd3a20cb (patch)
tree1b47aa5ffff5357dada9639cbf2a6311681f2d56 /drivers
parent45ddf45f67072ea2ac2e2a9f561be602bc1609cb (diff)
PCI: Add quirk for setting valid class for TW6869 frame grabber
Based on commit d4ab3dedc3be1a033420de9daf03056f949c4e51 (PCI: Add quirk for setting valid class for TI816X Endpoint) Having class code = 0 makes kernel PCI bus code skip allocating BARs to these devices resulting in the following error: PCI: Device 0000:01:00.0 not available because of resource collisions This patch adds a ID specific (0x1797:6869) early fixup quirk to replace class code with PCI_CLASS_MULTIMEDIA_VIDEO. Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/pci/quirks.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index a6b07ddad715..4f19b549d489 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -2822,6 +2822,16 @@ static void __devinit fixup_ti816x_class(struct pci_dev* dev)
}
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_TI, 0xb800, fixup_ti816x_class);
+/* TW6869 Frame grabber has same problem as ti816x */
+static void __devinit fixup_tw6869_class(struct pci_dev* dev)
+{
+ if (dev->class == PCI_CLASS_NOT_DEFINED) {
+ dev_info(&dev->dev, "Setting PCI class for tw6869 PCIe device\n");
+ dev->class = PCI_CLASS_MULTIMEDIA_VIDEO;
+ }
+}
+DECLARE_PCI_FIXUP_EARLY(0x1797, 0x6869, fixup_tw6869_class);
+
/*
* Some BIOS implementations leave the Intel GPU interrupts enabled,
* even though no one is handling them (f.e. i915 driver is never loaded).