summaryrefslogtreecommitdiff
path: root/drivers/media
diff options
context:
space:
mode:
authorChristophe Thommeret <hftom@free.fr>2008-10-16 03:01:32 +0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2008-10-18 00:29:46 +0400
commit745632147d54cd4db6812045351510ebd3981a24 (patch)
treecc1e0d8dada7b2ce4bad2851c3ffea320bd61322 /drivers/media
parent430189da042f8cc3305b8fbbce18ea103501fb90 (diff)
downloadlinux-745632147d54cd4db6812045351510ebd3981a24.tar.xz
V4L/DVB (9270): cx24116: optimise emulated auto-pilot
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. Signed-off-by: Darron Broad <darron@kewl.org> Signed-off-by: Steven Toth <stoth@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/dvb/frontends/cx24116.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/media/dvb/frontends/cx24116.c b/drivers/media/dvb/frontends/cx24116.c
index 8afdfbec551b..fe62f92f6601 100644
--- a/drivers/media/dvb/frontends/cx24116.c
+++ b/drivers/media/dvb/frontends/cx24116.c
@@ -1248,7 +1248,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;