summaryrefslogtreecommitdiff
path: root/linux
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@linuxtv.org>2008-01-19 15:41:04 -0500
committerMichael Krufky <mkrufky@linuxtv.org>2008-01-19 15:41:04 -0500
commit9a3cca9ddec155f7c751f0e0dbc2facb344f66d9 (patch)
tree09466ae5616886f9e126ec0dc2bfbe2ebab47e17 /linux
parent8fc0933217b6f50fc0e535d90580b68f1c614db5 (diff)
downloadmediapointer-dvb-s2-9a3cca9ddec155f7c751f0e0dbc2facb344f66d9.tar.gz
mediapointer-dvb-s2-9a3cca9ddec155f7c751f0e0dbc2facb344f66d9.tar.bz2
tda18271: when tuning digital, the analog demod must be tri-stated
From: Michael Krufky <mkrufky@linuxtv.org> 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>
Diffstat (limited to 'linux')
-rw-r--r--linux/drivers/media/dvb/frontends/tda18271-fe.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/linux/drivers/media/dvb/frontends/tda18271-fe.c b/linux/drivers/media/dvb/frontends/tda18271-fe.c
index c0dbec28c..b9e857855 100644
--- a/linux/drivers/media/dvb/frontends/tda18271-fe.c
+++ b/linux/drivers/media/dvb/frontends/tda18271-fe.c
@@ -860,7 +860,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:
@@ -908,6 +907,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)