diff options
author | Holger Waechtler <devnull@localhost> | 2003-03-19 13:25:26 +0000 |
---|---|---|
committer | Holger Waechtler <devnull@localhost> | 2003-03-19 13:25:26 +0000 |
commit | a203b0bbde8ce9e22fa785aa9f13136fe366f723 (patch) | |
tree | c628cb8a80b3f322a07587ffb9f0df29546d50a1 | |
parent | 8ebcde35b194c3d931f9387fc3cf430e4ccad026 (diff) | |
download | mediapointer-dvb-s2-a203b0bbde8ce9e22fa785aa9f13136fe366f723.tar.gz mediapointer-dvb-s2-a203b0bbde8ce9e22fa785aa9f13136fe366f723.tar.bz2 |
add a flag FE_CAN_RECOVER to frontend capabilities. When you set this flag
kdvb-fe won't try to tune multiple times, it won't try to zigzag, nothing.
-rw-r--r-- | linux/drivers/media/dvb/dvb-core/dvb_frontend.c | 13 | ||||
-rw-r--r-- | linux/drivers/media/dvb/frontends/alps_tdmb7.c | 2 | ||||
-rw-r--r-- | linux/drivers/media/dvb/frontends/ves1820.c | 2 | ||||
-rw-r--r-- | linux/include/linux/dvb/frontend.h | 5 |
4 files changed, 13 insertions, 9 deletions
diff --git a/linux/drivers/media/dvb/dvb-core/dvb_frontend.c b/linux/drivers/media/dvb/dvb-core/dvb_frontend.c index 7f63e26cd..34a337bf3 100644 --- a/linux/drivers/media/dvb/dvb-core/dvb_frontend.c +++ b/linux/drivers/media/dvb/dvb-core/dvb_frontend.c @@ -483,11 +483,14 @@ int dvb_frontend_thread (void *data) fe->lost_sync_count = 0; } else { fe->lost_sync_count++; - if (!(fe->info->caps & FE_CAN_CLEAN_SETUP)) - if (fe->lost_sync_count < 10) - continue; - dvb_frontend_recover (fe); - delay = HZ/5; + if (!(fe->info->caps & FE_CAN_RECOVER)) { + if (!(fe->info->caps & FE_CAN_CLEAN_SETUP)) { + if (fe->lost_sync_count < 10) + continue; + } + dvb_frontend_recover (fe); + delay = HZ/5; + } if (jiffies - fe->lost_sync_jiffies > TIMEOUT) { s |= FE_TIMEDOUT; if ((fe->status & FE_TIMEDOUT) == 0) diff --git a/linux/drivers/media/dvb/frontends/alps_tdmb7.c b/linux/drivers/media/dvb/frontends/alps_tdmb7.c index 1cc3377f6..65bccfed1 100644 --- a/linux/drivers/media/dvb/frontends/alps_tdmb7.c +++ b/linux/drivers/media/dvb/frontends/alps_tdmb7.c @@ -47,7 +47,7 @@ struct dvb_frontend_info tdmb7_info = { caps: FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 | FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO | FE_CAN_QPSK | FE_CAN_QAM_16 | FE_CAN_QAM_64 | - FE_CAN_CLEAN_SETUP + FE_CAN_CLEAN_SETUP | FE_CAN_RECOVER }; diff --git a/linux/drivers/media/dvb/frontends/ves1820.c b/linux/drivers/media/dvb/frontends/ves1820.c index 180de0861..e5cf4465c 100644 --- a/linux/drivers/media/dvb/frontends/ves1820.c +++ b/linux/drivers/media/dvb/frontends/ves1820.c @@ -89,7 +89,7 @@ struct dvb_frontend_info ves1820_info = { .caps = FE_CAN_QAM_16 | FE_CAN_QAM_32 | FE_CAN_QAM_64 | FE_CAN_QAM_128 | FE_CAN_QAM_256 | FE_CAN_FEC_AUTO | FE_CAN_INVERSION_AUTO | - FE_CAN_CLEAN_SETUP + FE_CAN_CLEAN_SETUP | FE_CAN_RECOVER }; diff --git a/linux/include/linux/dvb/frontend.h b/linux/include/linux/dvb/frontend.h index 6a5f38c90..8b17d6c2e 100644 --- a/linux/include/linux/dvb/frontend.h +++ b/linux/include/linux/dvb/frontend.h @@ -63,8 +63,9 @@ typedef enum fe_caps { FE_CAN_BANDWIDTH_AUTO = 0x40000, FE_CAN_GUARD_INTERVAL_AUTO = 0x80000, FE_CAN_HIERARCHY_AUTO = 0x100000, - FE_CAN_MUTE_TS = 0x80000000, - FE_CAN_CLEAN_SETUP = 0x40000000 + FE_CAN_RECOVER = 0x20000000, + FE_CAN_CLEAN_SETUP = 0x40000000, + FE_CAN_MUTE_TS = 0x80000000 } fe_caps_t; |