[linux-dvb] patch "budget-av: Remove polarity switching of the clock for the DVB-C cards" causes corrupt stream

Matthias Dahl mldvb at mortal-soul.de
Sun Apr 29 13:16:45 CEST 2007


Hi.

A few days ago I upgraded to 2.6.21-rc7-git8 and along that way also to a 
recent checkout of the v4l-dvb hg tree. After that most of the DVB-C streams 
I receive are corrupt. (lot of a/v artefacts)

After some digging around, I was able to spot the above mentioned patch as the 
culprit. Everything works fine till hg r5541, starting with r5542 the streams 
get corrupted.

I have a KNC One DVB-C Plus with a Cineview module connected, running with 
budget_av and budget_ci:

01:08.0 Multimedia controller: Philips Semiconductors SAA7146 (rev 01)
        Subsystem: KNC One Unknown device 0021
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 32 (3750ns min, 9500ns max)
        Interrupt: pin A routed to IRQ 16
        Region 0: Memory at f2000000 (32-bit, non-prefetchable) [size=512]

This is the output of r5541 (working):

Linux video capture interface: v2.00
saa7146: register extension 'budget_av'.
ACPI: PCI Interrupt 0000:01:08.0[A] -> Link [APC1] -> GSI 16 (level, low) -> 
IRQ 16
saa7146: found saa7146 @ mem ffffc20000016000 (revision 1, irq 16) 
(0x1894,0x0021).
 saa7146 (0): dma buffer size 1443840
 DVB: registering new adapter (KNC1 DVB-C Plus).
adapter failed MAC signature check
encoded MAC from EEPROM was 
ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff
budget_av: saa7113_init(): saa7113 detected and initializing
budget_av: saa7113_init(): saa7113  status=d0
saa7146_vv: saa7146 (0): registered device video0 [v4l2]
KNC1-0: MAC addr = 00:09:d6:6d:61:b5
DVB: registering frontend 0 (Philips TDA10021 DVB-C)...
budget-av: ci interface initialised.
budget-av: cam inserted A
budget_av: ciintf_slot_reset(): ciintf_slot_reset
saa7146: register extension 'budget_ci dvb'.
budget_av: ciintf_slot_ts_enable(): ciintf_slot_ts_enable: 8
dvb_ca adapter 0: DVB CAM detected and initialised successfully

This is the output of r5542 (non-working):

Apr 29 12:39:29 dreamgate Linux video capture interface: v2.00
saa7146: register extension 'budget_av'.
ACPI: PCI Interrupt 0000:01:08.0[A] -> Link [APC1] -> GSI 16 (level, low) -> 
IRQ 16
saa7146: found saa7146 @ mem ffffc20000016000 (revision 1, irq 16) 
(0x1894,0x0021).
saa7146 (0): dma buffer size 1347584
DVB: registering new adapter (KNC1 DVB-C Plus).
adapter failed MAC signature check
encoded MAC from EEPROM was 
ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff
saa7146_vv: saa7146 (0): registered device video0 [v4l2]
KNC1-0: MAC addr = 00:09:d6:6d:61:b5
DVB: registering frontend 0 (Philips TDA10021 DVB-C)...
budget-av: ci interface initialised.
budget-av: cam inserted A
dvb_ca adapter 0: DVB CAM detected and initialised successfully
saa7146: register extension 'budget_ci dvb'.

What's strange, even though I pass bufsize=1410 to budget_core, the buffer 
size is somewhat lower with >r5541 than with <=r5541.

If I can be of any help with solving this problem, please just let me know.

Have a nice sunday,
matthew.



More information about the linux-dvb mailing list