aboutsummaryrefslogtreecommitdiff
path: root/drivers/media/dvb/frontends/tda10021.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-11-05 13:50:28 -0800
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-11-05 13:50:28 -0800
commit41557e7c56dc96ddd0b068fe76d5118d516d4f04 (patch)
treee72711f46dbed6bd6d8ccab2dda25c36dc1e8070 /drivers/media/dvb/frontends/tda10021.c
parentb285e0b78464f9a15a5095ac1dd5458ee7938714 (diff)
parent4f663bdc65307e38401aa3b787a7a7569f28b920 (diff)
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb
* 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (26 commits) V4L/DVB (6548): pvrusb2: Fix oops on module removal V4L/DVB (6547): V4L: remove PCI from VIDEO_VIVI depends V4L/DVB (6532): Add the remaining addresses for tda9887 V4L/DVB (6531): Fix a regression caused by commit 153962364dc6fa4a24571885fbe76506d8968610 V4L/DVB (6518): Fix tvp5150 default values V4L/DVB (6514): em28xx: Include linux/mm.h V4L/DVB (6506): saa7134-alsa: Fix mmap support V4L/DVB (6504): pvrusb2: Remove dead sysfs code V4L/DVB (6503): pvrusb2: Fix associativity logic error V4L/DVB (6501): stv0297: Signal strength fixes V4L/DVB (6500): tda10021: Fix reported signal strength V4L/DVB (6499): tda10021: Bit error counting fixed V4L/DVB (6498): ves1820: Change the acquisition range for clock recovery from 120 ppm to 240ppm V4L/DVB (6495): saa7146: saa7146_wait_for_debi_done fixes V4L/DVB (6479): use input functions, should depend on INPUT V4L/DVB (6478): ir-functions use input functions, should depend on INPUT V4L/DVB (6432): tuner: fix CONFIG_TUNER_TEA5761=m V4L/DVB (6407): planb: fix obvious interrupt handling bugs V4L/DVB (6406): saa7134: fix analog audio in on medion md8800 quadro V4L/DVB (6403): mt2131: replace comma with semicolon fix ...
Diffstat (limited to 'drivers/media/dvb/frontends/tda10021.c')
-rw-r--r--drivers/media/dvb/frontends/tda10021.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/media/dvb/frontends/tda10021.c b/drivers/media/dvb/frontends/tda10021.c
index 4cd9e82c466..45137d2ebfb 100644
--- a/drivers/media/dvb/frontends/tda10021.c
+++ b/drivers/media/dvb/frontends/tda10021.c
@@ -301,6 +301,8 @@ static int tda10021_read_ber(struct dvb_frontend* fe, u32* ber)
u32 _ber = tda10021_readreg(state, 0x14) |
(tda10021_readreg(state, 0x15) << 8) |
((tda10021_readreg(state, 0x16) & 0x0f) << 16);
+ _tda10021_writereg(state, 0x10, (tda10021_readreg(state, 0x10) & ~0xc0)
+ | (tda10021_inittab[0x10] & 0xc0));
*ber = 10 * _ber;
return 0;
@@ -310,7 +312,11 @@ static int tda10021_read_signal_strength(struct dvb_frontend* fe, u16* strength)
{
struct tda10021_state* state = fe->demodulator_priv;
+ 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;