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

Edgar Toernig froese at gmx.de
Mon Sep 12 07:05:35 CEST 2005


Hamish Moffatt wrote:
>
> > >>>bt878(0): irq FDSR risc_pc=2c4bd008
>
> > 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.

Sure, you'll miss some packets.  But they are already lost even if you
get a message in the log.  Better a stream with some lost packets
than a full log and a complete stall.

> IMHO the BT878 buffer is too small, as it's not designed for this
> application.

I'm not that sure that it's the small audio dma fifo.  It's half as
big as the video fifo but video dma has much more than double the
bandwidth and I've never seen the error with video dma.  And both
are sitting in the same PCI slot.

My wild guess: maybe it's the MAX_LAT setting[1].  For the video dma
it's set to 10ms but for the audio channel its 64ms!  I googled
around for some MAX_LAT info but I found not much.  The only refer-
ences were pretty old and it seems that at that time no PCI-bridge
was honouring MAX_LAT.  But what about modern chipsets?  If they
really think that they could wait up to 64ms before giving the bus
to the bt878 audio dma channel then that explains everything.

Anybody got a manual for an ATIIXP?

Ciao, ET.

[1] I'm not talking about the latency register.  I'm talking about
    the read-only MIN_GNT/MAX_LAT registers.



More information about the linux-dvb mailing list