mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-19 18:24:14 +08:00
V4L/DVB (7355): tuner-simple: use separate inputs for vsb and qam on tuv1236d & fcv1236d
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
parent
f4173d0f75
commit
02f5f44484
@ -268,6 +268,37 @@ static int simple_config_lookup(struct dvb_frontend *fe,
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
static void simple_set_rf_input(struct dvb_frontend *fe,
|
||||
u8 *config, u8 *cb, unsigned int rf)
|
||||
{
|
||||
struct tuner_simple_priv *priv = fe->tuner_priv;
|
||||
|
||||
switch (priv->type) {
|
||||
case TUNER_PHILIPS_TUV1236D:
|
||||
switch (rf) {
|
||||
case 1:
|
||||
*cb |= 0x08;
|
||||
break;
|
||||
default:
|
||||
*cb &= ~0x08;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case TUNER_PHILIPS_ATSC:
|
||||
switch (rf) {
|
||||
case 1:
|
||||
*cb |= 0x01;
|
||||
break;
|
||||
default:
|
||||
*cb &= ~0x01;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static int simple_std_setup(struct dvb_frontend *fe,
|
||||
struct analog_parameters *params,
|
||||
u8 *config, u8 *cb)
|
||||
@ -725,6 +756,24 @@ static void simple_set_dvb(struct dvb_frontend *fe, u8 *buf,
|
||||
params->frequency >= 158870000)
|
||||
buf[3] |= 0x08;
|
||||
break;
|
||||
case TUNER_PHILIPS_TUV1236D:
|
||||
case TUNER_PHILIPS_ATSC:
|
||||
{
|
||||
unsigned int new_rf;
|
||||
|
||||
switch (params->u.vsb.modulation) {
|
||||
case QAM_64:
|
||||
case QAM_256:
|
||||
new_rf = 1;
|
||||
break;
|
||||
case VSB_8:
|
||||
default:
|
||||
new_rf = 0;
|
||||
break;
|
||||
}
|
||||
simple_set_rf_input(fe, &buf[2], &buf[3], new_rf);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user