[linux-dvb] [PATCH] cx24116 DVB-S modulation fix
Christophe Thommeret
hftom at free.fr
Wed Oct 15 20:59:26 CEST 2008
Le Wednesday 15 October 2008 19:22:35 Darron Broad, vous avez écrit :
> In message <200810151846.59042.hftom at free.fr>, Christophe Thommeret wrote:
>
> hi.
>
> <snip>
>
> >Other subject:
> >Would you accept some patch to enhance cx24116 pilot_auto emulation?
>
> If you present your patch and it enhances or fixes something
> then I am sure people will support it.
I don't know to which tree to apply, so i give the code as is (it's pretty
simple):
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
static int cx24116_set_frontend(struct dvb_frontend* fe, struct
dvb_frontend_parameters *p)
....
....
case SYS_DVBS2:
...
...
switch(c->pilot) {
case PILOT_AUTO: /* Not supported but emulated */
retune = 2; /* Fall-through */
if ( c->modulation==QPSK )
state->dnxt.pilot_val = CX24116_PILOT_OFF;
else
state->dnxt.pilot_val = CX24116_PILOT_ON;
break;
...
...
/* Toggle pilot bit when in auto-pilot */
if(state->dcur.pilot == PILOT_AUTO) {
if ( state->dnxt.pilot_val== CX24116_PILOT_OFF )
cmd.args[0x07] ^= CX24116_PILOT_ON;
else
cmd.args[0x07] ^= CX24116_PILOT_OFF;
}
....
...
--
Christophe Thommeret
More information about the linux-dvb
mailing list