diff mbox

[8/9] lgdt3306a: QAM streaming improvement

Message ID 1515110659-20145-9-git-send-email-brad@nextdimension.cc (mailing list archive)
State New, archived
Headers show

Commit Message

Brad Love Jan. 5, 2018, 12:04 a.m. UTC
Add some register updates required for stable viewing
on Cablevision in NY. Does not adversely affect other providers.

Signed-off-by: Brad Love <brad@nextdimension.cc>
---
 drivers/media/dvb-frontends/lgdt3306a.c | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

Comments

Michael Ira Krufky Jan. 5, 2018, 12:26 a.m. UTC | #1
On Thu, Jan 4, 2018 at 7:04 PM, Brad Love <brad@nextdimension.cc> wrote:
> Add some register updates required for stable viewing
> on Cablevision in NY. Does not adversely affect other providers.
>
> Signed-off-by: Brad Love <brad@nextdimension.cc>
> ---
>  drivers/media/dvb-frontends/lgdt3306a.c | 22 ++++++++++++++++++++++
>  1 file changed, 22 insertions(+)
>
> diff --git a/drivers/media/dvb-frontends/lgdt3306a.c b/drivers/media/dvb-frontends/lgdt3306a.c
> index d2477ed..2f540f1 100644
> --- a/drivers/media/dvb-frontends/lgdt3306a.c
> +++ b/drivers/media/dvb-frontends/lgdt3306a.c
> @@ -598,6 +598,28 @@ static int lgdt3306a_set_qam(struct lgdt3306a_state *state, int modulation)
>         if (lg_chkerr(ret))
>                 goto fail;
>
> +       /* 5.1 V0.36 SRDCHKALWAYS : For better QAM detection */
> +       ret = lgdt3306a_read_reg(state, 0x000A, &val);
> +       val &= 0xFD;
> +       val |= 0x02;
> +       ret = lgdt3306a_write_reg(state, 0x000A, val);
> +       if (lg_chkerr(ret))
> +               goto fail;
> +
> +       /* 5.2 V0.36 Control of "no signal" detector function */
> +       ret = lgdt3306a_read_reg(state, 0x2849, &val);
> +       val &= 0xDF;
> +       ret = lgdt3306a_write_reg(state, 0x2849, val);
> +       if (lg_chkerr(ret))
> +               goto fail;
> +
> +       /* 5.3 Fix for Blonder Tongue HDE-2H-QAM and AQM modulators */
> +       ret = lgdt3306a_read_reg(state, 0x302B, &val);
> +       val &= 0x7F;  /* SELFSYNCFINDEN_CQS=0; disable auto reset */
> +       ret = lgdt3306a_write_reg(state, 0x302B, val);
> +       if (lg_chkerr(ret))
> +               goto fail;
> +
>         /* 6. Reset */
>         ret = lgdt3306a_soft_reset(state);
>         if (lg_chkerr(ret))

Brad,

The change looks good, but can you resubmit this using lowercase hex?

Cheers,

Michael Ira Krufky
Brad Love Jan. 5, 2018, 1:34 a.m. UTC | #2
On 2018-01-04 18:26, Michael Ira Krufky wrote:
> On Thu, Jan 4, 2018 at 7:04 PM, Brad Love <brad@nextdimension.cc> wrote:
>> Add some register updates required for stable viewing
>> on Cablevision in NY. Does not adversely affect other providers.
>>
>> Signed-off-by: Brad Love <brad@nextdimension.cc>
>> ---
>>  drivers/media/dvb-frontends/lgdt3306a.c | 22 ++++++++++++++++++++++
>>  1 file changed, 22 insertions(+)
>>
>> diff --git a/drivers/media/dvb-frontends/lgdt3306a.c b/drivers/media/dvb-frontends/lgdt3306a.c
>> index d2477ed..2f540f1 100644
>> --- a/drivers/media/dvb-frontends/lgdt3306a.c
>> +++ b/drivers/media/dvb-frontends/lgdt3306a.c
>> @@ -598,6 +598,28 @@ static int lgdt3306a_set_qam(struct lgdt3306a_state *state, int modulation)
>>         if (lg_chkerr(ret))
>>                 goto fail;
>>
>> +       /* 5.1 V0.36 SRDCHKALWAYS : For better QAM detection */
>> +       ret = lgdt3306a_read_reg(state, 0x000A, &val);
>> +       val &= 0xFD;
>> +       val |= 0x02;
>> +       ret = lgdt3306a_write_reg(state, 0x000A, val);
>> +       if (lg_chkerr(ret))
>> +               goto fail;
>> +
>> +       /* 5.2 V0.36 Control of "no signal" detector function */
>> +       ret = lgdt3306a_read_reg(state, 0x2849, &val);
>> +       val &= 0xDF;
>> +       ret = lgdt3306a_write_reg(state, 0x2849, val);
>> +       if (lg_chkerr(ret))
>> +               goto fail;
>> +
>> +       /* 5.3 Fix for Blonder Tongue HDE-2H-QAM and AQM modulators */
>> +       ret = lgdt3306a_read_reg(state, 0x302B, &val);
>> +       val &= 0x7F;  /* SELFSYNCFINDEN_CQS=0; disable auto reset */
>> +       ret = lgdt3306a_write_reg(state, 0x302B, val);
>> +       if (lg_chkerr(ret))
>> +               goto fail;
>> +
>>         /* 6. Reset */
>>         ret = lgdt3306a_soft_reset(state);
>>         if (lg_chkerr(ret))
> Brad,
>
> The change looks good, but can you resubmit this using lowercase hex?
>
> Cheers,
>
> Michael Ira Krufky

Done, v2 submitted.
diff mbox

Patch

diff --git a/drivers/media/dvb-frontends/lgdt3306a.c b/drivers/media/dvb-frontends/lgdt3306a.c
index d2477ed..2f540f1 100644
--- a/drivers/media/dvb-frontends/lgdt3306a.c
+++ b/drivers/media/dvb-frontends/lgdt3306a.c
@@ -598,6 +598,28 @@  static int lgdt3306a_set_qam(struct lgdt3306a_state *state, int modulation)
 	if (lg_chkerr(ret))
 		goto fail;
 
+	/* 5.1 V0.36 SRDCHKALWAYS : For better QAM detection */
+	ret = lgdt3306a_read_reg(state, 0x000A, &val);
+	val &= 0xFD;
+	val |= 0x02;
+	ret = lgdt3306a_write_reg(state, 0x000A, val);
+	if (lg_chkerr(ret))
+		goto fail;
+
+	/* 5.2 V0.36 Control of "no signal" detector function */
+	ret = lgdt3306a_read_reg(state, 0x2849, &val);
+	val &= 0xDF;
+	ret = lgdt3306a_write_reg(state, 0x2849, val);
+	if (lg_chkerr(ret))
+		goto fail;
+
+	/* 5.3 Fix for Blonder Tongue HDE-2H-QAM and AQM modulators */
+	ret = lgdt3306a_read_reg(state, 0x302B, &val);
+	val &= 0x7F;  /* SELFSYNCFINDEN_CQS=0; disable auto reset */
+	ret = lgdt3306a_write_reg(state, 0x302B, val);
+	if (lg_chkerr(ret))
+		goto fail;
+
 	/* 6. Reset */
 	ret = lgdt3306a_soft_reset(state);
 	if (lg_chkerr(ret))