]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blame - releases/4.14.44/media-cx23885-override-888-impactvcbe-crystal-frequency.patch
4.9-stable patches
[thirdparty/kernel/stable-queue.git] / releases / 4.14.44 / media-cx23885-override-888-impactvcbe-crystal-frequency.patch
CommitLineData
06e23a17
GKH
1From foo@baz Thu May 24 11:09:34 CEST 2018
2From: Brad Love <brad@nextdimension.cc>
3Date: Tue, 6 Mar 2018 14:15:37 -0500
4Subject: media: cx23885: Override 888 ImpactVCBe crystal frequency
5
6From: Brad Love <brad@nextdimension.cc>
7
8[ Upstream commit 779c79d4b833ec646b0aed878da38edb45bbe156 ]
9
10Hauppauge produced a revision of ImpactVCBe using an 888,
11with a 25MHz crystal, instead of using the default third
12overtone 50Mhz crystal. This overrides that frequency so
13that the cx25840 is properly configured. Without the proper
14crystal setup the cx25840 cannot load the firmware or
15decode video.
16
17Signed-off-by: Brad Love <brad@nextdimension.cc>
18Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
19Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
20Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
21---
22 drivers/media/pci/cx23885/cx23885-core.c | 10 ++++++++++
23 1 file changed, 10 insertions(+)
24
25--- a/drivers/media/pci/cx23885/cx23885-core.c
26+++ b/drivers/media/pci/cx23885/cx23885-core.c
27@@ -873,6 +873,16 @@ static int cx23885_dev_setup(struct cx23
28 if (cx23885_boards[dev->board].clk_freq > 0)
29 dev->clk_freq = cx23885_boards[dev->board].clk_freq;
30
31+ if (dev->board == CX23885_BOARD_HAUPPAUGE_IMPACTVCBE &&
32+ dev->pci->subsystem_device == 0x7137) {
33+ /* Hauppauge ImpactVCBe device ID 0x7137 is populated
34+ * with an 888, and a 25Mhz crystal, instead of the
35+ * usual third overtone 50Mhz. The default clock rate must
36+ * be overridden so the cx25840 is properly configured
37+ */
38+ dev->clk_freq = 25000000;
39+ }
40+
41 dev->pci_bus = dev->pci->bus->number;
42 dev->pci_slot = PCI_SLOT(dev->pci->devfn);
43 cx23885_irq_add(dev, 0x001f00);