summaryrefslogtreecommitdiff
path: root/linux
diff options
context:
space:
mode:
authorAndrew de Quincy <devnull@localhost>2004-03-12 11:22:40 +0000
committerAndrew de Quincy <devnull@localhost>2004-03-12 11:22:40 +0000
commitfd16a8060d29217e4fe3ac26bf5484b6e6e24627 (patch)
tree2ff44c1109bfce30941330cf269a1681edd3bef9 /linux
parentb58cd326c3f35fbcf4379e9f2afa41e6c8a10974 (diff)
downloadmediapointer-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.c13
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");