[linux-dvb] [PATCH] XC5000 tuner improvement/clean up
Timothy E. Krantz
tkrantz at stahurabrenner.com
Sun Jan 27 16:58:28 CET 2008
> Hi, all,
> This patch improves the performance of the xc5000 tuner driver.
> 1. Now, only one xc5000_priv struct is used for each physical tuner
> instead of one for each attach (analog/digital). This
> avoids potential
> inconsistence such as the status of the firmware loading changed by
> one instance of the driver and the other instance not
> being aware of it.
> It is based on the tuner-xc2028.c code.
> 2. Removed a layer of function call for xc_reset().
> 3. Replaced all calls to xc_wait() by a direct msleep() call
> (which is all
> xc_wait does).
> 4. Changed the xc_wait(100) in xc_write_reg() to msleep(5).
> The comment
> says wait 5 ms, was the 100 a typo? In any case, this improved the
> tuner performace greatly (much faster lock).
> 5. Added a module parameter "allow_shutdown", which is defaulted to 0.
> If enabled, the xc5000_sleep() function will indeed shutdown the
> tuner device. On the 800i, this is fine with analog, but digital
> still cannot get a lock after shutdown and reinitialized, with no
> apparent error message. Please test this on other cards.
> 6. Some minor clean up.
> The patch is tested on the Pinnacle 800i. Before the patch,
> tvtime and azap works with analog/digital tv, but with very
> slow tuning and locking. Mythtv had problems with analog tv
> frequently (with the "errors are encountered during video
> play back" message). Most likely, that was due to the slow
> tuning of the xc5000.
> After the patch, both analog and digital tv saw great improvements.
> Mythtv can consistently lock in both analog and digital
> channels. I haven't run into the video play back errors yet
> so far after torturing mythtv with channel changing and
> switching between different input source/multiple cards
> several dozen times.
> I still could not get audio (analog) in mythtv, but I suspect
> that is a problem with my mythtv setup rather than the driver.
> Comments are welcome and please test and post your experience. Thanks!
Prior to your patch when using my 800i each time I tried to go from an
analog to a digital station or vice versa using mythtv I got the "errors
encountered during video playback" issue.
With this patch installed going from analog to digital works fine for me but
switching from digital to analog still results in the same error.
Channel lock is MUCH faster.
Thanks for your efforts!
More information about the linux-dvb