summaryrefslogtreecommitdiff
path: root/drivers/pci
diff options
context:
space:
mode:
authorTroy Kisky <troy.kisky@boundarydevices.com>2014-01-29 16:40:11 -0700
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2018-12-24 01:27:24 +0100
commita2ce8d1d774d8f4e44f6ec3fc8cacde64498202b (patch)
treeb93ded36fba26c82340b2e90797fa1f213968711 /drivers/pci
parent615310565c7efc87621a73d46e0483bfa7b63d4b (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> Acked-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit d422c15213c4e353896846e64bb03491af5f472d) (cherry picked from commit 41feae56c994735781a3a9339c3ac72774550845)
Diffstat (limited to 'drivers/pci')
-rw-r--r--drivers/pci/quirks.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index dedb12083d86..4b89faff5f2e 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -2957,6 +2957,15 @@ static void fixup_ti816x_class(struct pci_dev *dev)
DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_VENDOR_ID_TI, 0xb800,
PCI_CLASS_NOT_DEFINED, 8, fixup_ti816x_class);
+/* TW6869 Frame grabber has same problem as ti816x */
+static void fixup_tw6869_class(struct pci_dev* dev)
+{
+ dev_info(&dev->dev, "Setting PCI class for tw6869 PCIe device\n");
+ dev->class = PCI_CLASS_MULTIMEDIA_VIDEO;
+}
+DECLARE_PCI_FIXUP_CLASS_EARLY(0x1797, 0x6869,
+ PCI_CLASS_NOT_DEFINED, 0, fixup_tw6869_class);
+
/* Some PCIe devices do not work reliably with the claimed maximum
* payload size supported.
*/