Skip to content

Commit

Permalink
V4L/DVB (7052): tda18271: when tuning digital, the analog demod must …
Browse files Browse the repository at this point in the history
…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: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
  • Loading branch information
Michael Krufky authored and Mauro Carvalho Chehab committed Jan 25, 2008
1 parent 3473e34 commit ed73683
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion drivers/media/dvb/frontends/tda18271-fe.c
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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)
Expand Down

0 comments on commit ed73683

Please sign in to comment.