aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrick Boettcher <pb@linuxtv.org>2005-09-09 16:02:38 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2005-09-09 16:57:39 -0400
commit593cbf3dcbffc852cf91a30951eb518b59bf7322 (patch)
tree9d369ee3d09001d11c497c2184337fb7a6ea239f
parentc589ebfce79834a9617c44d7ec0f608fa70eb42d (diff)
[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>
-rw-r--r--drivers/media/dvb/frontends/stv0297.c8
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
606 stv0297_set_inversion(state, inversion); 606 stv0297_set_inversion(state, inversion);
607 607
608 /* kick off lock */ 608 /* kick off lock */
609 stv0297_writereg_mask(state, 0x88, 0x08, 0x08); 609 /* Disable corner detection for higher QAMs */
610 if (p->u.qam.modulation == QAM_128 ||
611 p->u.qam.modulation == QAM_256)
612 stv0297_writereg_mask(state, 0x88, 0x08, 0x00);
613 else
614 stv0297_writereg_mask(state, 0x88, 0x08, 0x08);
615
610 stv0297_writereg_mask(state, 0x5a, 0x20, 0x00); 616 stv0297_writereg_mask(state, 0x5a, 0x20, 0x00);
611 stv0297_writereg_mask(state, 0x6a, 0x01, 0x01); 617 stv0297_writereg_mask(state, 0x6a, 0x01, 0x01);
612 stv0297_writereg_mask(state, 0x43, 0x40, 0x40); 618 stv0297_writereg_mask(state, 0x43, 0x40, 0x40);