|
@@ -3306,6 +3306,10 @@ static int cxd2841er_set_frontend_s(struct dvb_frontend *fe)
|
|
|
__func__,
|
|
|
(p->delivery_system == SYS_DVBS ? "DVB-S" : "DVB-S2"),
|
|
|
p->frequency, symbol_rate, priv->xtal);
|
|
|
+
|
|
|
+ if (priv->flags & CXD2841ER_EARLY_TUNE)
|
|
|
+ cxd2841er_tuner_set(fe);
|
|
|
+
|
|
|
switch (priv->state) {
|
|
|
case STATE_SLEEP_S:
|
|
|
ret = cxd2841er_sleep_s_to_active_s(
|
|
@@ -3325,7 +3329,8 @@ static int cxd2841er_set_frontend_s(struct dvb_frontend *fe)
|
|
|
goto done;
|
|
|
}
|
|
|
|
|
|
- cxd2841er_tuner_set(fe);
|
|
|
+ if (!(priv->flags & CXD2841ER_EARLY_TUNE))
|
|
|
+ cxd2841er_tuner_set(fe);
|
|
|
|
|
|
cxd2841er_tune_done(priv);
|
|
|
timeout = ((3000000 + (symbol_rate - 1)) / symbol_rate) + 150;
|
|
@@ -3365,6 +3370,10 @@ static int cxd2841er_set_frontend_tc(struct dvb_frontend *fe)
|
|
|
|
|
|
dev_dbg(&priv->i2c->dev, "%s() delivery_system=%d bandwidth_hz=%d\n",
|
|
|
__func__, p->delivery_system, p->bandwidth_hz);
|
|
|
+
|
|
|
+ if (priv->flags & CXD2841ER_EARLY_TUNE)
|
|
|
+ cxd2841er_tuner_set(fe);
|
|
|
+
|
|
|
if (p->delivery_system == SYS_DVBT) {
|
|
|
priv->system = SYS_DVBT;
|
|
|
switch (priv->state) {
|
|
@@ -3447,7 +3456,8 @@ static int cxd2841er_set_frontend_tc(struct dvb_frontend *fe)
|
|
|
if (ret)
|
|
|
goto done;
|
|
|
|
|
|
- cxd2841er_tuner_set(fe);
|
|
|
+ if (!(priv->flags & CXD2841ER_EARLY_TUNE))
|
|
|
+ cxd2841er_tuner_set(fe);
|
|
|
|
|
|
cxd2841er_tune_done(priv);
|
|
|
timeout = 2500;
|