From 745632147d54cd4db6812045351510ebd3981a24 Mon Sep 17 00:00:00 2001 From: Christophe Thommeret Date: Wed, 15 Oct 2008 20:01:32 -0300 Subject: 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 Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab --- drivers/media/dvb/frontends/cx24116.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'drivers/media') diff --git a/drivers/media/dvb/frontends/cx24116.c b/drivers/media/dvb/frontends/cx24116.c index 8afdfbec551..fe62f92f660 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; -- cgit v1.2.3