[linux-dvb] SAA7146 glitch on cold boot
Andrew de Quincey
adq_dvb at lidskialf.net
Fri Jun 30 11:04:53 CEST 2006
Hi, I have found a glitch in the saa7146 when booting from cold. I'm not
entirely sure how to fix it. It affects the budget and budget-ci cards I have
tested, so it may affect others.
Test:
1) unplug a machine for 30 seconds
2) boot it up
3) run dvbtraffic
4) tune to a valid frequency (and ensure it _only_ tunes and does not open the
demux again)
Step 4 will lock fine, but dvbtraffic will never see any data. To fix the
problem, you have to start+stop dvbtraffic (i.e. close+open the demux).
After that, _everything_ works as normal; the same test can now be repeated,
and dvbtraffic will get data finie. This also only affects cold boots; warm
boots are fine.
Testing with debug on shows that when step 4 above locks, the saa7146 simply
stops sending VPE interrupts. Closing+reopening the demux causes the SAA7146
ts stream receive configuration to be reconfigured and that seems to fix the
problem.
Simply initialising the frontend and/or tuning to an invalid frequency is not
enough; I have to tune to a valid frequency and wait till it locks before I
can guarantee everything works correctly.
Note: if I tune, and then open the demux _before_ it has completely locked on
a cold boot, I see this same issue.
Anyone have any ideas? I've not tried a budget-av card yet, but I have a
suspicion they may be affected as well.
More information about the linux-dvb
mailing list