Hi,

the attached patch fixes the increasing of the signal strength value (higher 
value = higher signal
strength).

- Hartmut


sugned-off-by: Hartmut Birr <[EMAIL PROTECTED]>
- The value of signal strength depends on the configuration of the agc polarity.
diff -r 4ae65d0844cf linux/drivers/media/dvb/frontends/tda10021.c
--- a/linux/drivers/media/dvb/frontends/tda10021.c	Thu Oct 18 16:25:58 2007 -0200
+++ b/linux/drivers/media/dvb/frontends/tda10021.c	Mon Oct 22 21:58:47 2007 +0200
@@ -310,7 +310,11 @@ static int tda10021_read_signal_strength
 {
 	struct tda10021_state* state = fe->demodulator_priv;
 
-	u8 gain = tda10021_readreg(state, 0x17);
+	u8 config = tda10021_readreg(state, 0x02);
+	u8 gain = tda10021_readreg(state, 0x17); 
+	if (config & 0x02)
+		/* the agc value is inverted */
+		gain = ~gain;
 	*strength = (gain << 8) | gain;
 
 	return 0;
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

Reply via email to