Message ID | 2289340.7RydykYGjZ@jar7.dominio (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 02/04/2013 12:30 AM, Jose Alberto Reguero wrote: > This patch move the soft reset to the attach function because with dual > tuners, when one tuner do reset, the other one is perturbed, and the > stream has errors. > > Signed-off-by: Jose Alberto Reguero <jareguero@telefonica.net> Looks good for my eyes! Reviewed-by: Antti Palosaari <crope@iki.fi> > > diff -upr linux/drivers/media/tuners/mxl5007t.c linux.new/drivers/media/tuners/mxl5007t.c > --- linux/drivers/media/tuners/mxl5007t.c 2012-08-14 05:45:22.000000000 +0200 > +++ linux.new/drivers/media/tuners/mxl5007t.c 2013-02-03 23:03:03.784525410 +0100 > @@ -531,10 +531,6 @@ static int mxl5007t_tuner_init(struct mx > struct reg_pair_t *init_regs; > int ret; > > - ret = mxl5007t_soft_reset(state); > - if (mxl_fail(ret)) > - goto fail; > - > /* calculate initialization reg array */ > init_regs = mxl5007t_calc_init_regs(state, mode); > > @@ -900,7 +896,20 @@ struct dvb_frontend *mxl5007t_attach(str > /* existing tuner instance */ > break; > } > + > + if (fe->ops.i2c_gate_ctrl) > + fe->ops.i2c_gate_ctrl(fe, 1); > + > + ret = mxl5007t_soft_reset(state); > + > + if (fe->ops.i2c_gate_ctrl) > + fe->ops.i2c_gate_ctrl(fe, 0); > + > + if (mxl_fail(ret)) > + goto fail; > + > fe->tuner_priv = state; > + > mutex_unlock(&mxl5007t_list_mutex); > > memcpy(&fe->ops.tuner_ops, &mxl5007t_tuner_ops, >
diff -upr linux/drivers/media/tuners/mxl5007t.c linux.new/drivers/media/tuners/mxl5007t.c --- linux/drivers/media/tuners/mxl5007t.c 2012-08-14 05:45:22.000000000 +0200 +++ linux.new/drivers/media/tuners/mxl5007t.c 2013-02-03 23:03:03.784525410 +0100 @@ -531,10 +531,6 @@ static int mxl5007t_tuner_init(struct mx struct reg_pair_t *init_regs; int ret; - ret = mxl5007t_soft_reset(state); - if (mxl_fail(ret)) - goto fail; - /* calculate initialization reg array */ init_regs = mxl5007t_calc_init_regs(state, mode); @@ -900,7 +896,20 @@ struct dvb_frontend *mxl5007t_attach(str /* existing tuner instance */ break; } + + if (fe->ops.i2c_gate_ctrl) + fe->ops.i2c_gate_ctrl(fe, 1); + + ret = mxl5007t_soft_reset(state); + + if (fe->ops.i2c_gate_ctrl) + fe->ops.i2c_gate_ctrl(fe, 0); + + if (mxl_fail(ret)) + goto fail; + fe->tuner_priv = state; + mutex_unlock(&mxl5007t_list_mutex); memcpy(&fe->ops.tuner_ops, &mxl5007t_tuner_ops,
This patch move the soft reset to the attach function because with dual tuners, when one tuner do reset, the other one is perturbed, and the stream has errors. Signed-off-by: Jose Alberto Reguero <jareguero@telefonica.net> -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html