From 79fd74ec4271a16be4293e863bfa90ed7004d964 Mon Sep 17 00:00:00 2001 From: Andreas Oberritter Date: Sun, 30 Jan 2005 19:45:10 +0000 Subject: fix unhandled invert_pwm option (needed on dbox2 hardware) submitted by Carsten Juttner --- linux/drivers/media/dvb/frontends/ves1x93.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/linux/drivers/media/dvb/frontends/ves1x93.c b/linux/drivers/media/dvb/frontends/ves1x93.c index 7a147d18a..1c511ef6b 100644 --- a/linux/drivers/media/dvb/frontends/ves1x93.c +++ b/linux/drivers/media/dvb/frontends/ves1x93.c @@ -185,7 +185,7 @@ static int ves1x93_set_symbolrate (struct ves1x93_state* state, u32 srate) { u32 BDR; u32 ratio; - u8 ADCONF, FCONF, FNR; + u8 ADCONF, FCONF, FNR, AGCR; u32 BDRI; u32 tmp; u32 FIN; @@ -253,10 +253,16 @@ static int ves1x93_set_symbolrate (struct ves1x93_state* state, u32 srate) ves1x93_writereg (state, 0x20, ADCONF); ves1x93_writereg (state, 0x21, FCONF); + AGCR = state->init_1x93_tab[0x05]; + if (state->config->invert_pwm) + AGCR |= 0x20; + if (srate < 6000000) - ves1x93_writereg (state, 0x05, state->init_1x93_tab[0x05] | 0x80); + AGCR |= 0x80; else - ves1x93_writereg (state, 0x05, state->init_1x93_tab[0x05] & 0x7f); + AGCR &= ~0x80; + + ves1x93_writereg (state, 0x05, AGCR); /* ves1993 hates this, will lose lock */ if (state->demod_type != DEMOD_VES1993) -- cgit v1.2.3