mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-01-02 23:30:04 +00:00
V4L/DVB (9002): S2API: Ensure cache->delivery_system is set at all times.
This helps complex demods which support different modulation types be better informed. Signed-off-by: Steven Toth <stoth@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
d7c1500183
commit
80a773c9bc
@ -1010,11 +1010,13 @@ void dtv_property_cache_sync(struct dvb_frontend *fe, struct dvb_frontend_parame
|
|||||||
case FE_QPSK:
|
case FE_QPSK:
|
||||||
c->symbol_rate = p->u.qpsk.symbol_rate;
|
c->symbol_rate = p->u.qpsk.symbol_rate;
|
||||||
c->fec_inner = p->u.qpsk.fec_inner;
|
c->fec_inner = p->u.qpsk.fec_inner;
|
||||||
|
c->delivery_system = SYS_DVBS;
|
||||||
break;
|
break;
|
||||||
case FE_QAM:
|
case FE_QAM:
|
||||||
c->symbol_rate = p->u.qam.symbol_rate;
|
c->symbol_rate = p->u.qam.symbol_rate;
|
||||||
c->fec_inner = p->u.qam.fec_inner;
|
c->fec_inner = p->u.qam.fec_inner;
|
||||||
c->modulation = p->u.qam.modulation;
|
c->modulation = p->u.qam.modulation;
|
||||||
|
c->delivery_system = SYS_DVBC_ANNEX_AC;
|
||||||
break;
|
break;
|
||||||
case FE_OFDM:
|
case FE_OFDM:
|
||||||
c->bandwidth = p->u.ofdm.bandwidth;
|
c->bandwidth = p->u.ofdm.bandwidth;
|
||||||
@ -1024,9 +1026,14 @@ void dtv_property_cache_sync(struct dvb_frontend *fe, struct dvb_frontend_parame
|
|||||||
c->transmission_mode = p->u.ofdm.transmission_mode;
|
c->transmission_mode = p->u.ofdm.transmission_mode;
|
||||||
c->guard_interval = p->u.ofdm.guard_interval;
|
c->guard_interval = p->u.ofdm.guard_interval;
|
||||||
c->hierarchy = p->u.ofdm.hierarchy_information;
|
c->hierarchy = p->u.ofdm.hierarchy_information;
|
||||||
|
c->delivery_system = SYS_DVBT;
|
||||||
break;
|
break;
|
||||||
case FE_ATSC:
|
case FE_ATSC:
|
||||||
c->modulation = p->u.vsb.modulation;
|
c->modulation = p->u.vsb.modulation;
|
||||||
|
if ((c->modulation == VSB_8) || (c->modulation == VSB_16))
|
||||||
|
c->delivery_system = SYS_ATSC;
|
||||||
|
else
|
||||||
|
c->delivery_system = SYS_DVBC_ANNEX_B;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1050,12 +1057,14 @@ void dtv_property_legacy_params_sync(struct dvb_frontend *fe)
|
|||||||
printk("%s() Preparing QPSK req\n", __FUNCTION__);
|
printk("%s() Preparing QPSK req\n", __FUNCTION__);
|
||||||
p->u.qpsk.symbol_rate = c->symbol_rate;
|
p->u.qpsk.symbol_rate = c->symbol_rate;
|
||||||
p->u.qpsk.fec_inner = c->fec_inner;
|
p->u.qpsk.fec_inner = c->fec_inner;
|
||||||
|
c->delivery_system = SYS_DVBS;
|
||||||
break;
|
break;
|
||||||
case FE_QAM:
|
case FE_QAM:
|
||||||
printk("%s() Preparing QAM req\n", __FUNCTION__);
|
printk("%s() Preparing QAM req\n", __FUNCTION__);
|
||||||
p->u.qam.symbol_rate = c->symbol_rate;
|
p->u.qam.symbol_rate = c->symbol_rate;
|
||||||
p->u.qam.fec_inner = c->fec_inner;
|
p->u.qam.fec_inner = c->fec_inner;
|
||||||
p->u.qam.modulation = c->modulation;
|
p->u.qam.modulation = c->modulation;
|
||||||
|
c->delivery_system = SYS_DVBC_ANNEX_AC;
|
||||||
break;
|
break;
|
||||||
case FE_OFDM:
|
case FE_OFDM:
|
||||||
printk("%s() Preparing OFDM req\n", __FUNCTION__);
|
printk("%s() Preparing OFDM req\n", __FUNCTION__);
|
||||||
@ -1066,10 +1075,15 @@ void dtv_property_legacy_params_sync(struct dvb_frontend *fe)
|
|||||||
p->u.ofdm.transmission_mode = c->transmission_mode;
|
p->u.ofdm.transmission_mode = c->transmission_mode;
|
||||||
p->u.ofdm.guard_interval = c->guard_interval;
|
p->u.ofdm.guard_interval = c->guard_interval;
|
||||||
p->u.ofdm.hierarchy_information = c->hierarchy;
|
p->u.ofdm.hierarchy_information = c->hierarchy;
|
||||||
|
c->delivery_system = SYS_DVBT;
|
||||||
break;
|
break;
|
||||||
case FE_ATSC:
|
case FE_ATSC:
|
||||||
printk("%s() Preparing VSB req\n", __FUNCTION__);
|
printk("%s() Preparing VSB req\n", __FUNCTION__);
|
||||||
p->u.vsb.modulation = c->modulation;
|
p->u.vsb.modulation = c->modulation;
|
||||||
|
if ((c->modulation == VSB_8) || (c->modulation == VSB_16))
|
||||||
|
c->delivery_system = SYS_ATSC;
|
||||||
|
else
|
||||||
|
c->delivery_system = SYS_DVBC_ANNEX_B;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user