diff options
author | Troy Kisky <troy.kisky@boundarydevices.com> | 2014-01-29 16:40:11 -0700 |
---|---|---|
committer | Philippe Schenker <philippe.schenker@toradex.com> | 2019-05-24 11:34:11 +0200 |
commit | 7f54d58a38410f9ce4551a388bda6cd4e84df15f (patch) | |
tree | 89e02cdd3bddcfa6a153291c16fc184461b6ff75 /drivers/pci | |
parent | 5e3ec9513f31db57a29b846135ddc759d8acc424 (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.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 5b03bad39805..0a8faed6ae6c 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -2998,6 +2998,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. */ |