summaryrefslogtreecommitdiff
path: root/linux
diff options
context:
space:
mode:
authorManu Abraham <manu@linuxtv.org>2006-06-21 17:27:31 +0400
committerManu Abraham <manu@linuxtv.org>2006-06-21 17:27:31 +0400
commit9006a320c35a4fb4cdb0b9025c063df292451628 (patch)
tree7bc544ca812f7ada81c9b90645eebaf116dd7abf /linux
parent629cadbd09870ccc9a193c430f2bd201ea3437b5 (diff)
downloadmediapointer-dvb-s2-9006a320c35a4fb4cdb0b9025c063df292451628.tar.gz
mediapointer-dvb-s2-9006a320c35a4fb4cdb0b9025c063df292451628.tar.bz2
Use device specific algorithms
From: Manu Abraham <abraham.manu@gmail.com> Signed-off-by: Manu Abraham <manu@linuxtv.org>
Diffstat (limited to 'linux')
-rw-r--r--linux/drivers/media/dvb/dvb-core/dvb_frontend.c4
-rw-r--r--linux/drivers/media/dvb/dvb-core/dvb_frontend.h2
2 files changed, 5 insertions, 1 deletions
diff --git a/linux/drivers/media/dvb/dvb-core/dvb_frontend.c b/linux/drivers/media/dvb/dvb-core/dvb_frontend.c
index 2c86a1fd4..ce5e60e7a 100644
--- a/linux/drivers/media/dvb/dvb-core/dvb_frontend.c
+++ b/linux/drivers/media/dvb/dvb-core/dvb_frontend.c
@@ -72,6 +72,8 @@ MODULE_PARM_DESC(dvb_powerdown_on_sleep, "0: do not power down, 1: turn LNB volt
#define FESTATE_SEARCHING_FAST (FESTATE_TUNING_FAST | FESTATE_ZIGZAG_FAST)
#define FESTATE_SEARCHING_SLOW (FESTATE_TUNING_SLOW | FESTATE_ZIGZAG_SLOW)
#define FESTATE_LOSTLOCK (FESTATE_ZIGZAG_FAST | FESTATE_ZIGZAG_SLOW)
+
+#define FE_ALGO_HW 1
/*
* FESTATE_IDLE. No tuning parameters have been supplied and the loop is idling.
* FESTATE_RETUNE. Parameters have been supplied, but we have not yet performed the first tune.
@@ -560,7 +562,7 @@ static int dvb_frontend_thread(void *data)
}
/* do an iteration of the tuning loop */
- if (fe->ops.tune) {
+ if (fe->ops.get_frontend_algo(fe) == FE_ALGO_HW) {
/* have we been asked to retune? */
params = NULL;
if (fepriv->state & FESTATE_RETUNE) {
diff --git a/linux/drivers/media/dvb/dvb-core/dvb_frontend.h b/linux/drivers/media/dvb/dvb-core/dvb_frontend.h
index fee52baa1..2887e2b86 100644
--- a/linux/drivers/media/dvb/dvb-core/dvb_frontend.h
+++ b/linux/drivers/media/dvb/dvb-core/dvb_frontend.h
@@ -102,6 +102,8 @@ struct dvb_frontend_ops {
unsigned int mode_flags,
int *delay,
fe_status_t *status);
+ /* get frontend tuning algorithm from the module */
+ int (*get_frontend_algo)(struct dvb_frontend *fe);
/* these two are only used for the swzigzag code */
int (*set_frontend)(struct dvb_frontend* fe, struct dvb_frontend_parameters* params);