From e44d3c31d015566bf77269bf19b665147cef6ab2 Mon Sep 17 00:00:00 2001 From: Patrick Boettcher Date: Mon, 17 Aug 2009 12:53:51 -0300 Subject: [PATCH] --- yaml --- r: 164127 b: refs/heads/master c: 78f3bc631f39fbfa4eaf039f0664265e71f725fb h: refs/heads/master i: 164125: 0a140179057c3504b70fe38361b3a33c754bc4d0 164123: a41b9d1ed8fe69ac130c5b0e5c5d32ed36366320 164119: dd8b9b4259e7c423a8be64f67457277519efd62d 164111: d3e7714377359aedbcbc6e7d507c334dc6497ce0 164095: b4f5e5e90b8e648d1b70cb265b414799988d354e v: v3 --- [refs] | 2 +- trunk/drivers/media/dvb/frontends/dib8000.c | 24 ++++++++++----------- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/[refs] b/[refs] index 01bee501ebd3..9ff7b8d09522 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b8423ee91ff250006907e58099450c923dc19c62 +refs/heads/master: 78f3bc631f39fbfa4eaf039f0664265e71f725fb diff --git a/trunk/drivers/media/dvb/frontends/dib8000.c b/trunk/drivers/media/dvb/frontends/dib8000.c index 99ee6b09ce1d..852c790d09d9 100644 --- a/trunk/drivers/media/dvb/frontends/dib8000.c +++ b/trunk/drivers/media/dvb/frontends/dib8000.c @@ -22,7 +22,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)"); @@ -1671,10 +1671,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; @@ -1684,6 +1680,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 { @@ -1691,22 +1689,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 @@ -1733,6 +1730,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;