* [PATH 1/2] mxl5007 move reset to attach
@ 2013-02-03 22:30 Jose Alberto Reguero
2013-02-03 22:40 ` [PATH 2/2] mxl5007 move loop_thru " Jose Alberto Reguero
2013-02-03 22:47 ` [PATH 1/2] mxl5007 move reset " Antti Palosaari
0 siblings, 2 replies; 4+ messages in thread
From: Jose Alberto Reguero @ 2013-02-03 22:30 UTC (permalink / raw)
To: Michael Krufky, Antti Palosaari, Gianluca Gennari, LMML
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>
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,
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATH 2/2] mxl5007 move loop_thru to attach
2013-02-03 22:30 [PATH 1/2] mxl5007 move reset to attach Jose Alberto Reguero
@ 2013-02-03 22:40 ` Jose Alberto Reguero
2013-02-03 22:50 ` Antti Palosaari
2013-02-03 22:47 ` [PATH 1/2] mxl5007 move reset " Antti Palosaari
1 sibling, 1 reply; 4+ messages in thread
From: Jose Alberto Reguero @ 2013-02-03 22:40 UTC (permalink / raw)
To: Michael Krufky; +Cc: Antti Palosaari, Gianluca Gennari, LMML
This patch move the loop_thru configuration to the attach function,
because with dual tuners until loop_tru configuration the other tuner
don't work.
Signed-off-by: Jose Alberto Reguero <jareguero@telefonica.net>
diff -upr linux/drivers/media/tuners/mxl5007t.c linux.new/drivers/media/tuners/mxl5007t.c
--- linux/drivers/media/tuners/mxl5007t.c 2013-02-03 23:16:08.031628907 +0100
+++ linux.new/drivers/media/tuners/mxl5007t.c 2013-02-03 23:14:12.196089297 +0100
@@ -374,7 +374,6 @@ static struct reg_pair_t *mxl5007t_calc_
mxl5007t_set_if_freq_bits(state, cfg->if_freq_hz, cfg->invert_if);
mxl5007t_set_xtal_freq_bits(state, cfg->xtal_freq_hz);
- set_reg_bits(state->tab_init, 0x04, 0x01, cfg->loop_thru_enable);
set_reg_bits(state->tab_init, 0x03, 0x08, cfg->clk_out_enable << 3);
set_reg_bits(state->tab_init, 0x03, 0x07, cfg->clk_out_amp);
@@ -908,6 +907,18 @@ struct dvb_frontend *mxl5007t_attach(str
if (mxl_fail(ret))
goto fail;
+ if (fe->ops.i2c_gate_ctrl)
+ fe->ops.i2c_gate_ctrl(fe, 1);
+
+ ret = mxl5007t_write_reg(state, 0x04,
+ state->config->loop_thru_enable);
+
+ 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);
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATH 1/2] mxl5007 move reset to attach
2013-02-03 22:30 [PATH 1/2] mxl5007 move reset to attach Jose Alberto Reguero
2013-02-03 22:40 ` [PATH 2/2] mxl5007 move loop_thru " Jose Alberto Reguero
@ 2013-02-03 22:47 ` Antti Palosaari
1 sibling, 0 replies; 4+ messages in thread
From: Antti Palosaari @ 2013-02-03 22:47 UTC (permalink / raw)
To: Jose Alberto Reguero; +Cc: Michael Krufky, Gianluca Gennari, LMML
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,
>
--
http://palosaari.fi/
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATH 2/2] mxl5007 move loop_thru to attach
2013-02-03 22:40 ` [PATH 2/2] mxl5007 move loop_thru " Jose Alberto Reguero
@ 2013-02-03 22:50 ` Antti Palosaari
0 siblings, 0 replies; 4+ messages in thread
From: Antti Palosaari @ 2013-02-03 22:50 UTC (permalink / raw)
To: Jose Alberto Reguero; +Cc: Michael Krufky, Gianluca Gennari, LMML
On 02/04/2013 12:40 AM, Jose Alberto Reguero wrote:
> This patch move the loop_thru configuration to the attach function,
> because with dual tuners until loop_tru configuration the other tuner
> don't work.
>
> Signed-off-by: Jose Alberto Reguero <jareguero@telefonica.net>
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 2013-02-03 23:16:08.031628907 +0100
> +++ linux.new/drivers/media/tuners/mxl5007t.c 2013-02-03 23:14:12.196089297 +0100
> @@ -374,7 +374,6 @@ static struct reg_pair_t *mxl5007t_calc_
> mxl5007t_set_if_freq_bits(state, cfg->if_freq_hz, cfg->invert_if);
> mxl5007t_set_xtal_freq_bits(state, cfg->xtal_freq_hz);
>
> - set_reg_bits(state->tab_init, 0x04, 0x01, cfg->loop_thru_enable);
> set_reg_bits(state->tab_init, 0x03, 0x08, cfg->clk_out_enable << 3);
> set_reg_bits(state->tab_init, 0x03, 0x07, cfg->clk_out_amp);
>
> @@ -908,6 +907,18 @@ struct dvb_frontend *mxl5007t_attach(str
> if (mxl_fail(ret))
> goto fail;
>
> + if (fe->ops.i2c_gate_ctrl)
> + fe->ops.i2c_gate_ctrl(fe, 1);
> +
> + ret = mxl5007t_write_reg(state, 0x04,
> + state->config->loop_thru_enable);
> +
> + 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);
>
Looks good for my eyes!
Is clock output is enabled by default?
Are these two patches enough in order to get it working?
regards
Antti
--
http://palosaari.fi/
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-02-03 22:50 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-02-03 22:30 [PATH 1/2] mxl5007 move reset to attach Jose Alberto Reguero
2013-02-03 22:40 ` [PATH 2/2] mxl5007 move loop_thru " Jose Alberto Reguero
2013-02-03 22:50 ` Antti Palosaari
2013-02-03 22:47 ` [PATH 1/2] mxl5007 move reset " Antti Palosaari
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).