summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb/frontends
diff options
context:
space:
mode:
authordarron@kewl.org <darron@kewl.org>2008-10-16 00:01:32 +0100
committerdarron@kewl.org <darron@kewl.org>2008-10-16 00:01:32 +0100
commit88ad9b4d994c8b8e301d0097ae3d6e27bf717683 (patch)
treebd2466713a78a7d9fbf38c493e2c60f11ed4bee0 /linux/drivers/media/dvb/frontends
parent2082ad419513b9aa806e180da67b925b514df28d (diff)
downloadmediapointer-dvb-s2-88ad9b4d994c8b8e301d0097ae3d6e27bf717683.tar.gz
mediapointer-dvb-s2-88ad9b4d994c8b8e301d0097ae3d6e27bf717683.tar.bz2
cx24116: optimise emulated auto-pilot
From: Christophe Thommeret <hftom@free.fr> Christophe divulged the following: "Since 8PSK (and higher mod) signals are very likely to have pilot symbols, pilot_auto should start with pilot_on for 8PSK. And since QPSK signals are unlikely to have pilot, pilot_auto should start with pilot_off for QPSK. Without the patch: QPSK tuning delay: ~100ms 8PSK tuning delay: ~900ms with patch: QPSK tuning delay: ~100ms 8PSK tuning delay: ~100ms " This patch does as Cristophe asks. In emulated auto-pilot we choose pilot-on for tuning PSK_8 and pilot-off for tuning QPSK. Priority: normal Signed-off-by: Darron Broad <darron@kewl.org> Signed-off-by: Steven Toth <stoth@linuxtv.org>
Diffstat (limited to 'linux/drivers/media/dvb/frontends')
-rw-r--r--linux/drivers/media/dvb/frontends/cx24116.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/linux/drivers/media/dvb/frontends/cx24116.c b/linux/drivers/media/dvb/frontends/cx24116.c
index fa6dc1843..955e8cfe3 100644
--- a/linux/drivers/media/dvb/frontends/cx24116.c
+++ b/linux/drivers/media/dvb/frontends/cx24116.c
@@ -1265,7 +1265,10 @@ static int cx24116_set_frontend(struct dvb_frontend *fe,
switch (c->pilot) {
case PILOT_AUTO: /* Not supported but emulated */
- retune = 2; /* Fall-through */
+ state->dnxt.pilot_val = (c->modulation == QPSK)
+ ? CX24116_PILOT_OFF : CX24116_PILOT_ON;
+ retune = 2;
+ break;
case PILOT_OFF:
state->dnxt.pilot_val = CX24116_PILOT_OFF;
break;