[DVB patch 21/54] frontend: stv0297: QAM128 tuning improvement

From: Johannes Stezenbach
Date: Sun Sep 04 2005 - 18:51:07 EST


From: Patrick Boettcher <pb@xxxxxxxxxxx>

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@xxxxxxxxxxx>
Signed-off-by: Michael Krufky <mkrufky@xxxxxxx>
Signed-off-by: Johannes Stezenbach <js@xxxxxxxxxxx>

drivers/media/dvb/frontends/stv0297.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)

--- linux-2.6.13-git4.orig/drivers/media/dvb/frontends/stv0297.c 2005-09-04 22:24:24.000000000 +0200
+++ linux-2.6.13-git4/drivers/media/dvb/frontends/stv0297.c 2005-09-04 22:28:12.000000000 +0200
@@ -606,7 +606,13 @@ static int stv0297_set_frontend(struct d
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);

--

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/