|
@@ -26,7 +26,7 @@ int cxd2820r_set_frontend_t(struct dvb_frontend *fe,
|
|
|
{
|
|
|
struct cxd2820r_priv *priv = fe->demodulator_priv;
|
|
|
struct dtv_frontend_properties *c = &fe->dtv_property_cache;
|
|
|
- int ret, i;
|
|
|
+ int ret, i, bw_i;
|
|
|
u32 if_freq, if_ctl;
|
|
|
u64 num;
|
|
|
u8 buf[3], bw_param;
|
|
@@ -57,6 +57,23 @@ int cxd2820r_set_frontend_t(struct dvb_frontend *fe,
|
|
|
|
|
|
dbg("%s: RF=%d BW=%d", __func__, c->frequency, c->bandwidth_hz);
|
|
|
|
|
|
+ switch (c->bandwidth_hz) {
|
|
|
+ case 6000000:
|
|
|
+ bw_i = 0;
|
|
|
+ bw_param = 2;
|
|
|
+ break;
|
|
|
+ case 7000000:
|
|
|
+ bw_i = 1;
|
|
|
+ bw_param = 1;
|
|
|
+ break;
|
|
|
+ case 8000000:
|
|
|
+ bw_i = 2;
|
|
|
+ bw_param = 0;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ return -EINVAL;
|
|
|
+ }
|
|
|
+
|
|
|
/* update GPIOs */
|
|
|
ret = cxd2820r_gpio(fe);
|
|
|
if (ret)
|
|
@@ -78,23 +95,6 @@ int cxd2820r_set_frontend_t(struct dvb_frontend *fe,
|
|
|
priv->delivery_system = SYS_DVBT;
|
|
|
priv->ber_running = 0; /* tune stops BER counter */
|
|
|
|
|
|
- switch (c->bandwidth_hz) {
|
|
|
- case 6000000:
|
|
|
- i = 0;
|
|
|
- bw_param = 2;
|
|
|
- break;
|
|
|
- case 7000000:
|
|
|
- i = 1;
|
|
|
- bw_param = 1;
|
|
|
- break;
|
|
|
- case 8000000:
|
|
|
- i = 2;
|
|
|
- bw_param = 0;
|
|
|
- break;
|
|
|
- default:
|
|
|
- return -EINVAL;
|
|
|
- }
|
|
|
-
|
|
|
/* program IF frequency */
|
|
|
if (fe->ops.tuner_ops.get_if_frequency) {
|
|
|
ret = fe->ops.tuner_ops.get_if_frequency(fe, &if_freq);
|
|
@@ -116,7 +116,7 @@ int cxd2820r_set_frontend_t(struct dvb_frontend *fe,
|
|
|
if (ret)
|
|
|
goto error;
|
|
|
|
|
|
- ret = cxd2820r_wr_regs(priv, 0x0009f, bw_params1[i], 5);
|
|
|
+ ret = cxd2820r_wr_regs(priv, 0x0009f, bw_params1[bw_i], 5);
|
|
|
if (ret)
|
|
|
goto error;
|
|
|
|
|
@@ -124,7 +124,7 @@ int cxd2820r_set_frontend_t(struct dvb_frontend *fe,
|
|
|
if (ret)
|
|
|
goto error;
|
|
|
|
|
|
- ret = cxd2820r_wr_regs(priv, 0x000d9, bw_params2[i], 2);
|
|
|
+ ret = cxd2820r_wr_regs(priv, 0x000d9, bw_params2[bw_i], 2);
|
|
|
if (ret)
|
|
|
goto error;
|
|
|
|