* [PATCH] media: cx88-mpeg: clear interrupt status register before streaming video
@ 2022-02-13 20:40 Daniel González Cabanelas
0 siblings, 0 replies; only message in thread
From: Daniel González Cabanelas @ 2022-02-13 20:40 UTC (permalink / raw)
To: linux-media; +Cc: mchehab, hverkuil-cisco
Some cx88 video cards may have transport stream status interrupts set
to 1 from cold start. This may lead to errors like this one after
initializing the video card:
cx88xx: cx88_print_irqbits: core:irq mpeg [0x100000] ts_err?*
cx8802: cx8802_mpeg_irq: mpeg:general errors: 0x00100000
According to CX2388x datasheet the interrupt status register should be
cleared before enabling IRQs to stream video.
Fix it clearing the status register matching the transport stream
interrupt mask in the cx8802_start_dma function.
Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
---
drivers/media/pci/cx88/cx88-mpeg.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/media/pci/cx88/cx88-mpeg.c b/drivers/media/pci/cx88/cx88-mpeg.c
index 680e1e3fe..9e25fd585 100644
--- a/drivers/media/pci/cx88/cx88-mpeg.c
+++ b/drivers/media/pci/cx88/cx88-mpeg.c
@@ -162,6 +162,9 @@ int cx8802_start_dma(struct cx8802_dev *dev,
cx_write(MO_TS_GPCNTRL, GP_COUNT_CONTROL_RESET);
q->count = 0;
+ /* clear interrupt status register */
+ cx_write(MO_TS_INTSTAT, 0x1f0011);
+
/* enable irqs */
dprintk(1, "setting the interrupt mask\n");
cx_set(MO_PCI_INTMSK, core->pci_irqmask | PCI_INT_TSINT);
--
2.35.1
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2022-02-13 20:42 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-02-13 20:40 [PATCH] media: cx88-mpeg: clear interrupt status register before streaming video Daniel González Cabanelas
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox