diff options
author | Patrick Boettcher <pb@linuxtv.org> | 2005-09-09 22:02:38 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-09-09 22:57:39 +0200 |
commit | 593cbf3dcbffc852cf91a30951eb518b59bf7322 (patch) | |
tree | 9d369ee3d09001d11c497c2184337fb7a6ea239f /drivers/media/dvb/frontends/stv0297.c | |
parent | [PATCH] dvb: frontend: cx24110: clean up timeout handling. (diff) | |
download | linux-593cbf3dcbffc852cf91a30951eb518b59bf7322.tar.xz linux-593cbf3dcbffc852cf91a30951eb518b59bf7322.zip |
[PATCH] dvb: frontend: stv0297: QAM128 tuning improvement
while investigating the QAM_128-issue with the stv0297-driver for the
Cablestar (which is not the same as the one in dvb-kernel CVS, yet), I fixed
it, not by increasing the timeout, but by disabling the corner-detection for
QAM_128 and higher.
This patch has been tested on dvb-kernel cvs, and has been reported to work by
multiple users. Some cards still need timeout increase on top of this patch.
This will be addressed later.
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Johannes Stezenbach <js@linuxtv.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/media/dvb/frontends/stv0297.c')
-rw-r--r-- | drivers/media/dvb/frontends/stv0297.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/media/dvb/frontends/stv0297.c b/drivers/media/dvb/frontends/stv0297.c index 928aca052afe..01eb41990e8a 100644 --- a/drivers/media/dvb/frontends/stv0297.c +++ b/drivers/media/dvb/frontends/stv0297.c @@ -606,7 +606,13 @@ static int stv0297_set_frontend(struct dvb_frontend *fe, struct dvb_frontend_par stv0297_set_inversion(state, inversion); /* kick off lock */ - stv0297_writereg_mask(state, 0x88, 0x08, 0x08); + /* Disable corner detection for higher QAMs */ + if (p->u.qam.modulation == QAM_128 || + p->u.qam.modulation == QAM_256) + stv0297_writereg_mask(state, 0x88, 0x08, 0x00); + else + stv0297_writereg_mask(state, 0x88, 0x08, 0x08); + stv0297_writereg_mask(state, 0x5a, 0x20, 0x00); stv0297_writereg_mask(state, 0x6a, 0x01, 0x01); stv0297_writereg_mask(state, 0x43, 0x40, 0x40); |