[linux-dvb] bt878(Pinnacle PCTV-SAT) driver from 2.6.12 kernel broken

Edgar Toernig froese at gmx.de
Mon Jul 11 22:01:35 CEST 2005

Some kind of [non-]progress report...

I wrote:
> Jun 24 00:35:06 smutje kernel: bt878(0): irq FDSR risc_pc=019e11a8
> Jun 24 00:35:06 smutje kernel: bt878(0): irq FDSR FBUS risc_pc=019e1008
> Jun 24 00:35:06 smutje last message repeated 21 times
> Jun 24 00:35:06 smutje kernel: bt878(0): IRQ lockup, cleared int mask
> and then xawtv gets no data any more - it times out after a while
> and shows the "idle" picture.
> The driver from the SuSE 9.2 kernel (2.6.8-24.16-smp) works without
> problems.

I still can't find why these errors occur but after a lot of
tweaking I'm pretty sure that the cx24110 really sends too much
data.  I can make it work by resetting the DMA when this error
condition happens and after a couple of resets data is coming.
But that's only an ugly hack.

I manged to get video capture via the video-port and satellite
reception work at the same time (one uses the video section, the
other the audio section of the bt878).  These FDSR errors occur
even if xawtv is running on the video-in.  So, the DMA of the
bt878 *is* working - it's only the audio-section which gets too
much data.

I noticed that the cx24110 has a serial mode.  Is it possible that
this mode is enabled sometimes?  Afaics, the bt878 DMA is started
before the cx24110 is initialised.  Is there possibly a timing
window where the data clock of the cx24110 is undefined?  I found
no data sheets for the cx24110 - any idea where I can get them?

Another solution would be to start the DMA only after the cx24110
has valid data.  But the interaction between the different modules
is ... hmm ... kind of strange - I yet have to figure out how to
invoke bt878_start/stop from within the frontend driver.  Any pointers?

Ciao, ET.

More information about the linux-dvb mailing list