diff options
Diffstat (limited to 'linux/drivers/media/dvb/frontends/nxt200x.c')
-rw-r--r-- | linux/drivers/media/dvb/frontends/nxt200x.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/linux/drivers/media/dvb/frontends/nxt200x.c b/linux/drivers/media/dvb/frontends/nxt200x.c index 87c286ee6..de4bc0156 100644 --- a/linux/drivers/media/dvb/frontends/nxt200x.c +++ b/linux/drivers/media/dvb/frontends/nxt200x.c @@ -560,18 +560,20 @@ static int nxt200x_setup_frontend_parameters (struct dvb_frontend* fe, if (state->config->set_ts_params) state->config->set_ts_params(fe, 1); - /* set input */ - if (state->config->set_pll_input) - state->config->set_pll_input(buf, 1); + /* set input for TUV1236d */ + if (state->config->is_tuv1236d) { + buf[4] |= 0x08; + } break; case VSB_8: /* Set non-punctured clock for VSB */ if (state->config->set_ts_params) state->config->set_ts_params(fe, 0); - /* set input */ - if (state->config->set_pll_input) - state->config->set_pll_input(buf, 0); + /* reset input for TUV1236d */ + if (state->config->is_tuv1236d) { + buf[4] &= ~0x08; + } break; default: return -EINVAL; @@ -579,7 +581,8 @@ static int nxt200x_setup_frontend_parameters (struct dvb_frontend* fe, } /* write frequency information */ - nxt200x_writetuner(state, buf); + if (fe->ops.tuner_ops.calc_regs) + nxt200x_writetuner(state, buf); /* reset the agc now that tuning has been completed */ nxt200x_agc_reset(state); |