提交 ed73683f 编写于 作者: M Michael Krufky 提交者: Mauro Carvalho Chehab

V4L/DVB (7052): tda18271: when tuning digital, the analog demod must be tri-stated

Call analog_ops.standby during tda18271_set_params, to put the tda8295
in tri-state when tuning digital channels.  Otherwise the tda8295 will
interfere with the signal coming from the tda18271 into the digital
demodulator.
Signed-off-by: NMichael Krufky <mkrufky@linuxtv.org>
Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
上级 3473e342
......@@ -836,7 +836,6 @@ static int tda18271_set_params(struct dvb_frontend *fe,
priv->mode = TDA18271_DIGITAL;
/* see table 22 */
if (fe->ops.info.type == FE_ATSC) {
switch (params->u.vsb.modulation) {
case VSB_8:
......@@ -884,6 +883,10 @@ static int tda18271_set_params(struct dvb_frontend *fe,
return -EINVAL;
}
/* When tuning digital, the analog demod must be tri-stated */
if (fe->ops.analog_ops.standby)
fe->ops.analog_ops.standby(fe);
ret = tda18271_tune(fe, sgIF * 1000, freq, bw, std, 0);
if (ret < 0)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册