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>
 
                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;