[linux-dvb] [patch] Add support for different tuning algorithms

Andrew de Quincey adq_dvb at lidskialf.net
Tue Nov 15 14:13:56 CET 2005

Hi, this patch allows frontends (and the user) to select from one of several 
different tuning algorithms. The patch adds four possibilities:

1) SW - the current dvb-kernel software zigzag code.
2) HW - the hardware supports zigzagging internally (e.g. DST), so use that as 
it will be faster.
3) ADAPTIVE - frontend-specific code exploiting frontend-specific features.
4) SIMPLE - just set the frontend once and do nothing else (e.g. for frequency 
scanner apps).

Frontends can specify which algorithms they support using 
FE_CAPS_CAN_TUNE_ALGO_*. They can also specify the default algorithm to use. 
Currently the default is SW for all frontends except the DST (which has HW).

ADAPTIVE is not implemented internally yet. Enough information to do this for 
many frontends is provided on their datasheets - for example I know roughly 
how to do it for the stv0299, stv0297, and sh1420 frontends. This needs 
experimentation before any real adaptive code can be committed to CVS 
however, but I thought it was better to change the API _once_ instead of 
several times. None of the frontends currently set the 
FE_CAN_TUNE_ALGO_ADAPTIVE flag, so it cannot be accidentally enabled.

The userspace app can also choose an algorithm using an IOCTL.

When a frontend device is opened read/write, the tuning algo will 
automatically be set back to whatever the frontend specified as the default - 
so that userspace apps don't have to care if something else changed algos.

Comments/ideas welcomed!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tunealgo.patch
Type: text/x-diff
Size: 36460 bytes
Desc: not available
Url : http://www.linuxtv.org/pipermail/linux-dvb/attachments/20051115/33c03654/tunealgo-0001.bin

More information about the linux-dvb mailing list