summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Krufky <devnull@localhost>2005-08-20 17:09:52 +0000
committerMichael Krufky <devnull@localhost>2005-08-20 17:09:52 +0000
commitcad2c36136fd0aa81dd02d679ce3f6b8dc90e043 (patch)
treeb9c3912ba8fea56349116d5ebe72fcf9a74ada2a
parent01ab242a6a65b254fe775781480f3fae230f2be6 (diff)
downloadmediapointer-dvb-s2-cad2c36136fd0aa81dd02d679ce3f6b8dc90e043.tar.gz
mediapointer-dvb-s2-cad2c36136fd0aa81dd02d679ce3f6b8dc90e043.tar.bz2
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>
-rw-r--r--linux/drivers/media/dvb/frontends/stv0297.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/linux/drivers/media/dvb/frontends/stv0297.c b/linux/drivers/media/dvb/frontends/stv0297.c
index 9746045a9..8d09afd75 100644
--- a/linux/drivers/media/dvb/frontends/stv0297.c
+++ b/linux/drivers/media/dvb/frontends/stv0297.c
@@ -492,7 +492,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);