summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Lee Kruse <daniel.lee.kruse@protonmail.com>2020-09-30 05:36:35 +0200
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>2020-12-03 07:29:12 +0100
commitdbf0b3a7b719eb3f72cb53c2ce7d34a012a9c261 (patch)
treee143d12a1b399356a04eb1fec5fab0eb00b3c481
parenta109073bb9ec69ed9ec6eb541485e1dae63c13b4 (diff)
downloadlinux-dbf0b3a7b719eb3f72cb53c2ce7d34a012a9c261.tar.gz
linux-dbf0b3a7b719eb3f72cb53c2ce7d34a012a9c261.tar.bz2
linux-dbf0b3a7b719eb3f72cb53c2ce7d34a012a9c261.zip
media: cx23885: add more quirks for reset DMA on some AMD IOMMU
On AMD Family 15h (Models 30h-3fh), I/O Memory Management Unit RiSC engine sometimes stalls, requiring a reset. As result, MythTV and w-scan won't scan channels on the AMD Kaveri APU with the Hauppauge QuadHD TV tuner card. For the solution I added the Input/Output Memory Management Unit's PCI Identity of 0x1423 to the broken_dev_id[] array, which is used by a quirks logic meant to fix similar problems with other AMD chipsets. Signed-off-by: Daniel Lee Kruse <daniel.lee.kruse@protonmail.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-rw-r--r--drivers/media/pci/cx23885/cx23885-core.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/media/pci/cx23885/cx23885-core.c b/drivers/media/pci/cx23885/cx23885-core.c
index 16eb4ab0e73e..22f55a7840a6 100644
--- a/drivers/media/pci/cx23885/cx23885-core.c
+++ b/drivers/media/pci/cx23885/cx23885-core.c
@@ -2073,6 +2073,10 @@ static struct {
* 0x1451 is PCI ID for the IOMMU found on Ryzen
*/
{ PCI_VENDOR_ID_AMD, 0x1451 },
+ /* According to sudo lspci -nn,
+ * 0x1423 is the PCI ID for the IOMMU found on Kaveri
+ */
+ { PCI_VENDOR_ID_AMD, 0x1423 },
};
static bool cx23885_does_need_dma_reset(void)