[linux-dvb] Re: [BUG] FusionHDTV5 Lite

Michael Krufky mkrufky at linuxtv.org
Mon Sep 12 01:03:43 CEST 2005

Hamish Moffatt wrote:
 > On Sun, Sep 11, 2005 at 03:26:34PM -0400, Michael Krufky wrote:
 >>Manu Abraham wrote:
 >>>Michael Krufky wrote:
 >>>>>bt878(0): irq FDSR risc_pc=2c4bd008
 >>>>>bt878(0): irq FDSR risc_pc=2c4bd008
 >>>>>bt878(0): irq SCERR risc_pc=2c4bd000
 >>>>>bt878(0): irq FDSR risc_pc=2c4bd008
 >>>>>bt878(0): irq FDSR risc_pc=2c4bd008
 >>>>>bt878(0): irq FDSR risc_pc=2c4bd008
 >>>>>bt878(0): IRQ lockup, cleared int mask
 >>>Looks like you had too many a IRQ's due to FDSR errors, why don't you
 >>>try ignoring the FBUS errors
 >>I applied both of the changes above and it fixes the problem.  ie:
 > It prevents the lockup, but do you get data stream corruption when the
 > (now masked) interrupts occur? The buffers in the BT878 overflowed
 > causing the interrupt, and ignoring the interrupt won't prevent the
 > buffers from overflowing.
 > (Potentially it might, actually. Logging the interrupts may be making
 > the PCI latency longer, especially if syslog is flushing each line to
 > disk rather than allowing the write-back cache to handle it.)
 > IMHO the BT878 buffer is too small, as it's not designed for this
 > application. The CX2388x chips have much larger buffers.
 > Hamish

Doesn't seem to be any stream corruption.  Here's the change that I 
settled on:

diff -u -r1.49 -r1.50
--- dvb-kernel/linux/drivers/media/dvb/bt8xx/dvb-bt8xx.c	2005/09/10 
07:26:02	1.49
+++ dvb-kernel/linux/drivers/media/dvb/bt8xx/dvb-bt8xx.c	2005/09/11 
21:00:34	1.50
@@ -828,8 +828,8 @@
  		card->gpio_mode = 0x0400c060;
-		card->op_sync_orin = 0;
-		card->irq_err_ignore = 0;
+		card->op_sync_orin = BT878_RISC_SYNC_MASK;
+		card->irq_err_ignore = BT878_AFBUS | BT878_AFDSR;

I don't think I'm ignoring too much here...

Michael Krufky

More information about the linux-dvb mailing list