diff options
author | Andrew de Quincy <devnull@localhost> | 2004-03-12 11:22:40 +0000 |
---|---|---|
committer | Andrew de Quincy <devnull@localhost> | 2004-03-12 11:22:40 +0000 |
commit | fd16a8060d29217e4fe3ac26bf5484b6e6e24627 (patch) | |
tree | 2ff44c1109bfce30941330cf269a1681edd3bef9 /linux | |
parent | b58cd326c3f35fbcf4379e9f2afa41e6c8a10974 (diff) | |
download | mediapointer-dvb-s2-fd16a8060d29217e4fe3ac26bf5484b6e6e24627.tar.gz mediapointer-dvb-s2-fd16a8060d29217e4fe3ac26bf5484b6e6e24627.tar.bz2 |
Add instrumentation to debug tuning problems
Diffstat (limited to 'linux')
-rw-r--r-- | linux/drivers/media/dvb/dvb-core/dvb_frontend.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/linux/drivers/media/dvb/dvb-core/dvb_frontend.c b/linux/drivers/media/dvb/dvb-core/dvb_frontend.c index e80586daa..8e7f16b09 100644 --- a/linux/drivers/media/dvb/dvb-core/dvb_frontend.c +++ b/linux/drivers/media/dvb/dvb-core/dvb_frontend.c @@ -71,6 +71,7 @@ static int dvb_frontend_debug = 0; static int dvb_shutdown_timeout = 5; static int dvb_override_frequency_bending = 0; static int dvb_force_auto_inversion = 0; +static int dvb_override_tune_delay = 0; static int do_frequency_bending = 0; @@ -370,8 +371,6 @@ static int dvb_frontend_autotune(struct dvb_frontend_data *fe, int check_wrapped int original_inversion = fe->parameters.inversion; u32 original_frequency = fe->parameters.frequency; - dprintk ("%s\n", __FUNCTION__); - // are we using autoinversion? autoinversion = ((!(fe->info->caps & FE_CAN_INVERSION_AUTO)) && (fe->parameters.inversion == INVERSION_AUTO)); @@ -435,6 +434,11 @@ static int dvb_frontend_autotune(struct dvb_frontend_data *fe, int check_wrapped if ((dvb_override_frequency_bending != 1) && do_frequency_bending) dvb_bend_frequency(fe, 0); + // instrumentation + dprintk("%s: drift:%i bending:%i inversion:%i auto_step:%i auto_sub_step:%i started_auto_step:%i\n", + __FUNCTION__, fe->lnb_drift, fe->bending, fe->inversion, fe->auto_step, fe->auto_sub_step, + fe->started_auto_step); + // set the frontend itself fe->parameters.frequency += fe->lnb_drift + fe->bending; if (autoinversion) fe->parameters.inversion = fe->inversion; @@ -779,6 +783,9 @@ static int dvb_frontend_ioctl (struct inode *inode, struct file *file, break; } } + if (dvb_override_tune_delay > 0) { + fe->min_delay = (dvb_override_tune_delay * HZ) / 1000; + } dvb_frontend_add_event (fe, 0); break; @@ -1188,8 +1195,10 @@ MODULE_PARM(dvb_frontend_debug,"i"); MODULE_PARM(dvb_shutdown_timeout,"i"); MODULE_PARM(dvb_override_frequency_bending,"i"); MODULE_PARM(dvb_force_auto_inversion,"i"); +MODULE_PARM(dvb_override_tune_delay,"i"); MODULE_PARM_DESC(dvb_frontend_debug, "enable verbose debug messages"); MODULE_PARM_DESC(dvb_shutdown_timeout, "wait <shutdown_timeout> seconds after close() before suspending hardware"); MODULE_PARM_DESC(dvb_override_frequency_bending, "0: normal (default), 1: never use frequency bending, 2: always use frequency bending"); MODULE_PARM_DESC(dvb_force_auto_inversion, "0: normal (default), 1: INVERSION_AUTO forced always"); +MODULE_PARM_DESC(dvb_override_tune_delay, "0: normal (default), >0 => delay in milliseconds to wait for lock after a tune attempt"); |