Messages in this thread Patch in this message | | | Date | Tue, 01 Nov 2005 03:12:24 -0500 | From | Michael Krufky <> | Subject | [PATCH 03/37] dvb: stv0299: revert improper method |
| |
From: Andrew de Quincey <adq_dvb@lidskialf.net>
Remove my badly thought out patch. This does need done, but in a proper way.
Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
drivers/media/dvb/frontends/stv0299.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-)
--- linux-2.6.14-git3.orig/drivers/media/dvb/frontends/stv0299.c +++ linux-2.6.14-git3/drivers/media/dvb/frontends/stv0299.c @@ -64,8 +64,12 @@ u32 tuner_frequency; u32 symbol_rate; fe_code_rate_t fec_inner; + int errmode; }; +#define STATUS_BER 0 +#define STATUS_UCBLOCKS 1 + static int debug; static int debug_legacy_dish_switch; #define dprintk(args...) \ @@ -517,8 +521,7 @@ { struct stv0299_state* state = fe->demodulator_priv; - stv0299_writeregI(state, 0x34, (stv0299_readreg(state, 0x34) & 0xcf) | 0x10); - msleep(100); + if (state->errmode != STATUS_BER) return 0; *ber = (stv0299_readreg (state, 0x1d) << 8) | stv0299_readreg (state, 0x1e); return 0; @@ -557,9 +560,8 @@ { struct stv0299_state* state = fe->demodulator_priv; - stv0299_writeregI(state, 0x34, (stv0299_readreg(state, 0x34) & 0xcf) | 0x30); - msleep(100); - *ucblocks = (stv0299_readreg (state, 0x1d) << 8) | stv0299_readreg (state, 0x1e); + if (state->errmode != STATUS_UCBLOCKS) *ucblocks = 0; + else *ucblocks = (stv0299_readreg (state, 0x1d) << 8) | stv0299_readreg (state, 0x1e); return 0; } @@ -708,6 +710,7 @@ state->tuner_frequency = 0; state->symbol_rate = 0; state->fec_inner = 0; + state->errmode = STATUS_BER; /* check if the demod is there */ stv0299_writeregI(state, 0x02, 0x34); /* standby off */
| |