From 88ad9b4d994c8b8e301d0097ae3d6e27bf717683 Mon Sep 17 00:00:00 2001 From: "darron@kewl.org" Date: Thu, 16 Oct 2008 00:01:32 +0100 Subject: cx24116: optimise emulated auto-pilot From: Christophe Thommeret 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 Signed-off-by: Steven Toth --- linux/drivers/media/dvb/frontends/cx24116.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'linux/drivers/media') 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; -- cgit v1.2.3