On Tue, 2010-04-13 at 08:42 -0400, Mark Lord wrote: > On 13/04/10 06:35 AM, Andy Walls wrote: > > On Mon, 2010-04-12 at 22:34 -0400, Mark Lord wrote: > .. > >> As soon as I quit from LiveTV, the next recording still needed > >> a new fallback. So the chip is still in some weird state where > >> auto-audio will continue to fail until I reload the module. > .. > > The *only* other thing I can think of, that I have control over, is the > > PLL charge pump current in the analog tuner. Right now it is set to low > > current to minimize phase noise when tuned to a channel. Perhaps > > setting the PLL charge pump to high current while chaning the channel to > > get a faster lock, and low current after a short time, will help get a > > good SIF output from the analog tuner assembly sooner. Perhaps when I > > have time.... > .. > > What's weird, is that things work most of the time. > But as soon as one fallback is needed, the chip then fails > continuously afterward, requiring fallback after fallback. > Until the driver is reloaded. Hmmm. Interesting observation. > So to me, that suggests that perhaps some register has gotten corrupted, > or some part of the chip has gone wanky. > > Perhaps if the driver could re-init more of the chip when tuning, > which might correct whatever bits/state happen to need fixing? If needed, once we're in a forced mode, we could stop the microcontroller, reload all of the microcontroller firmware, and restart it. Kind of heavy handed, but it may work. > I might have a look later, and see if there are any obvious registers > that perhaps I could have it dump out prior to doing the fallback, > and then compare that state with a "good" tuning state. Or something. # v4l2-dbg -d /dev/video0 -c host1 --list-registers=min=0x800,max=0x9ff Keep in mind that some of these registers aren't settable and only read out the state of various hardware blocks and functions. Dumping the state of the microcontroller memory could also be done, but I'd have to modify the driver to do it. cx18-av-firmware.c:cx18_av_verifyfw() has code that's really close to doing that. Regards, Andy -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html