diff options
author | Patrick Boettcher <pboettcher@kernellabs.com> | 2009-08-17 17:53:51 +0200 |
---|---|---|
committer | Patrick Boettcher <pboettcher@kernellabs.com> | 2009-08-17 17:53:51 +0200 |
commit | eb80450edef873c9b5d0a839659da0a642e7716a (patch) | |
tree | 1a2be29778fca9738b1949d11efe051d042d4e37 /linux/drivers/media/dvb | |
parent | b651b32e5b4b73b2a95243d8e7e8ae4fa8ee3cdb (diff) | |
download | mediapointer-dvb-s2-eb80450edef873c9b5d0a839659da0a642e7716a.tar.gz mediapointer-dvb-s2-eb80450edef873c9b5d0a839659da0a642e7716a.tar.bz2 |
DiB8000: fix channel search parameter initialization
From: Patrick Boettcher <pboettcher@dibcom.fr>
This patch is fixing the initialization of the channel search parameters.
Priority: normal
Signed-off-by: Olivier Grenie <olivier.grenie@dibcom.fr>
Signed-off-by: Patrick Boettcher <pboettcher@dibcom.fr>
Diffstat (limited to 'linux/drivers/media/dvb')
-rw-r--r-- | linux/drivers/media/dvb/frontends/dib8000.c | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/linux/drivers/media/dvb/frontends/dib8000.c b/linux/drivers/media/dvb/frontends/dib8000.c index cc2fae3be..bb16712a0 100644 --- a/linux/drivers/media/dvb/frontends/dib8000.c +++ b/linux/drivers/media/dvb/frontends/dib8000.c @@ -23,7 +23,7 @@ #define FE_CALLBACK_TIME_NEVER 0xffffffff -static int debug = 0; +static int debug; module_param(debug, int, 0644); MODULE_PARM_DESC(debug, "turn on debugging (default: 0)"); @@ -1672,10 +1672,6 @@ static int dib8000_autosearch_start(struct dvb_frontend *fe) int slist = 0; - state->fe.dtv_property_cache.transmission_mode = TRANSMISSION_MODE_8K; - state->fe.dtv_property_cache.guard_interval = GUARD_INTERVAL_1_8; - //state->fe.dtv_property_cache.isdbt_sb_mode = 0; - //state->fe.dtv_property_cache.isdbt_partial_reception = 0; state->fe.dtv_property_cache.inversion = 0; if (!state->fe.dtv_property_cache.isdbt_sb_mode) state->fe.dtv_property_cache.layer[0].segment_count = 13; @@ -1685,6 +1681,8 @@ static int dib8000_autosearch_start(struct dvb_frontend *fe) //choose the right list, in sb, always do everything if (state->fe.dtv_property_cache.isdbt_sb_mode) { + state->fe.dtv_property_cache.transmission_mode = TRANSMISSION_MODE_8K; + state->fe.dtv_property_cache.guard_interval = GUARD_INTERVAL_1_8; slist = 7; dib8000_write_word(state, 0, (dib8000_read_word(state, 0) & 0x9fff) | (1 << 13)); } else { @@ -1692,22 +1690,21 @@ static int dib8000_autosearch_start(struct dvb_frontend *fe) if (state->fe.dtv_property_cache.transmission_mode == TRANSMISSION_MODE_AUTO) { slist = 7; dib8000_write_word(state, 0, (dib8000_read_word(state, 0) & 0x9fff) | (1 << 13)); // P_mode = 1 to have autosearch start ok with mode2 - } else { + } else slist = 3; - state->fe.dtv_property_cache.transmission_mode = state->fe.dtv_property_cache.transmission_mode; - } } else { if (state->fe.dtv_property_cache.transmission_mode == TRANSMISSION_MODE_AUTO) { slist = 2; - state->fe.dtv_property_cache.guard_interval = state->fe.dtv_property_cache.guard_interval; dib8000_write_word(state, 0, (dib8000_read_word(state, 0) & 0x9fff) | (1 << 13)); // P_mode = 1 - } else { + } else slist = 0; - state->fe.dtv_property_cache.transmission_mode = state->fe.dtv_property_cache.transmission_mode; - state->fe.dtv_property_cache.guard_interval = state->fe.dtv_property_cache.guard_interval; - } } + if (state->fe.dtv_property_cache.transmission_mode == TRANSMISSION_MODE_AUTO) + state->fe.dtv_property_cache.transmission_mode = TRANSMISSION_MODE_8K; + if (state->fe.dtv_property_cache.guard_interval == GUARD_INTERVAL_AUTO) + state->fe.dtv_property_cache.guard_interval = GUARD_INTERVAL_1_8; + dprintk("using list for autosearch : %d", slist); dib8000_set_channel(state, (unsigned char)slist, 1); //dib8000_write_word(state, 0, (dib8000_read_word(state, 0) & 0x9fff) | (1 << 13)); // P_mode = 1 @@ -1734,6 +1731,7 @@ static int dib8000_autosearch_start(struct dvb_frontend *fe) dib8000_write_word(state, 0, (u16) ((1 << 15) | value)); dib8000_read_word(state, 1284); // reset the INT. n_irq_pending dib8000_write_word(state, 0, (u16) value); + } return 0; |