|
@@ -1536,29 +1536,29 @@ int cx23885_video_irq(struct cx23885_dev *dev, u32 status)
|
|
|
|
|
|
cx_write(VID_A_INT_STAT, status);
|
|
|
|
|
|
- /* risc op code error */
|
|
|
+ /* risc op code error, fifo overflow or line sync detection error */
|
|
|
if ((status & VID_BC_MSK_OPC_ERR) ||
|
|
|
(status & VID_BC_MSK_SYNC) ||
|
|
|
(status & VID_BC_MSK_OF)) {
|
|
|
|
|
|
- if (status & VID_BC_MSK_OPC_ERR)
|
|
|
+ if (status & VID_BC_MSK_OPC_ERR) {
|
|
|
dprintk(7, " (VID_BC_MSK_OPC_ERR 0x%08x)\n",
|
|
|
VID_BC_MSK_OPC_ERR);
|
|
|
+ printk(KERN_WARNING "%s: video risc op code error\n",
|
|
|
+ dev->name);
|
|
|
+ cx23885_sram_channel_dump(dev,
|
|
|
+ &dev->sram_channels[SRAM_CH01]);
|
|
|
+ }
|
|
|
|
|
|
if (status & VID_BC_MSK_SYNC)
|
|
|
- dprintk(7, " (VID_BC_MSK_SYNC 0x%08x)\n",
|
|
|
+ dprintk(7, " (VID_BC_MSK_SYNC 0x%08x) "
|
|
|
+ "video lines miss-match\n",
|
|
|
VID_BC_MSK_SYNC);
|
|
|
|
|
|
if (status & VID_BC_MSK_OF)
|
|
|
- dprintk(7, " (VID_BC_MSK_OF 0x%08x)\n",
|
|
|
+ dprintk(7, " (VID_BC_MSK_OF 0x%08x) fifo overflow\n",
|
|
|
VID_BC_MSK_OF);
|
|
|
|
|
|
- printk(KERN_WARNING "%s: video risc op code error\n",
|
|
|
- dev->name);
|
|
|
-
|
|
|
- cx_clear(VID_A_DMA_CTL, 0x11);
|
|
|
- cx23885_sram_channel_dump(dev, &dev->sram_channels[SRAM_CH01]);
|
|
|
-
|
|
|
}
|
|
|
|
|
|
/* Video */
|