[2/5] tm6000: add dtv78 parameter

Message ID 1301948324-27186-2-git-send-email-stefan.ringel@arcor.de (mailing list archive)
State Superseded, archived
Headers

Commit Message

Stefan Ringel April 4, 2011, 8:18 p.m. UTC
  From: Stefan Ringel <stefan.ringel@arcor.de>

add dtv78 parameter


Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
---
 drivers/staging/tm6000/tm6000-cards.c |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)
  

Comments

Mauro Carvalho Chehab April 19, 2011, 9:22 p.m. UTC | #1
Em 04-04-2011 17:18, stefan.ringel@arcor.de escreveu:
> From: Stefan Ringel <stefan.ringel@arcor.de>
> 
> add dtv78 parameter

The dtv78 entry is a hack meant for card usage in Australia, that
speeds up channel detection there. Again, it should be specified
only when needed, and at per-board basis.
> 
> 
> Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
> ---
>  drivers/staging/tm6000/tm6000-cards.c |   11 +++++++++--
>  1 files changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/staging/tm6000/tm6000-cards.c b/drivers/staging/tm6000/tm6000-cards.c
> index eef58da..cf2e76c 100644
> --- a/drivers/staging/tm6000/tm6000-cards.c
> +++ b/drivers/staging/tm6000/tm6000-cards.c
> @@ -65,6 +65,9 @@ static unsigned int xc2028_mts;
>  module_param(xc2028_mts, int, 0644);
>  MODULE_PARM_DESC(xc2028_mts, "enable mts firmware (xc2028/3028 only)");
>  
> +static unsigned int xc2028_dtv78;
> +module_param(xc2028_dtv78, int, 0644);
> +MODULE_PARM_DESC(xc2028_dtv78, "enable dualband config (xc2028/3028 only)");
>  
>  struct tm6000_board {
>  	char            *name;
> @@ -687,8 +690,12 @@ static void tm6000_config_tuner(struct tm6000_core *dev)
>  		ctl.read_not_reliable = 0;
>  		ctl.msleep = 10;
>  		ctl.demod = XC3028_FE_ZARLINK456;
> -		ctl.vhfbw7 = 1;
> -		ctl.uhfbw8 = 1;
> +
> +		if (xc2028_dtv78) {
> +			ctl.vhfbw7 = 1;
> +			ctl.uhfbw8 = 1;
> +		}
> +
>  		if (xc2028_mts)
>  			ctl.mts = 1;
>  

--
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
  
Stefan Ringel April 20, 2011, 8:36 a.m. UTC | #2
Am 19.04.2011 23:22, schrieb Mauro Carvalho Chehab:
> Em 04-04-2011 17:18, stefan.ringel@arcor.de escreveu:
>> From: Stefan Ringel<stefan.ringel@arcor.de>
>>
>> add dtv78 parameter
> The dtv78 entry is a hack meant for card usage in Australia, that
> speeds up channel detection there. Again, it should be specified
> only when needed, and at per-board basis.
I have test and auto detect doesn't work right. That is also region 
specific staff and it's better to set outside. In other words in Germany 
it must set this param and in other country, which use only 7MHz or 8MHz 
it doesn't set (i.e. Australia).
>>
>> Signed-off-by: Stefan Ringel<stefan.ringel@arcor.de>
>> ---
>>   drivers/staging/tm6000/tm6000-cards.c |   11 +++++++++--
>>   1 files changed, 9 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/staging/tm6000/tm6000-cards.c b/drivers/staging/tm6000/tm6000-cards.c
>> index eef58da..cf2e76c 100644
>> --- a/drivers/staging/tm6000/tm6000-cards.c
>> +++ b/drivers/staging/tm6000/tm6000-cards.c
>> @@ -65,6 +65,9 @@ static unsigned int xc2028_mts;
>>   module_param(xc2028_mts, int, 0644);
>>   MODULE_PARM_DESC(xc2028_mts, "enable mts firmware (xc2028/3028 only)");
>>
>> +static unsigned int xc2028_dtv78;
>> +module_param(xc2028_dtv78, int, 0644);
>> +MODULE_PARM_DESC(xc2028_dtv78, "enable dualband config (xc2028/3028 only)");
>>
>>   struct tm6000_board {
>>   	char            *name;
>> @@ -687,8 +690,12 @@ static void tm6000_config_tuner(struct tm6000_core *dev)
>>   		ctl.read_not_reliable = 0;
>>   		ctl.msleep = 10;
>>   		ctl.demod = XC3028_FE_ZARLINK456;
>> -		ctl.vhfbw7 = 1;
>> -		ctl.uhfbw8 = 1;
>> +
>> +		if (xc2028_dtv78) {
>> +			ctl.vhfbw7 = 1;
>> +			ctl.uhfbw8 = 1;
>> +		}
>> +
>>   		if (xc2028_mts)
>>   			ctl.mts = 1;
>>
> --
> 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

--
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
  
Stefan Ringel April 20, 2011, 2:30 p.m. UTC | #3
Am 20.04.2011 14:38, schrieb Mauro Carvalho Chehab:
> Em 20-04-2011 05:19, Stefan Ringel escreveu:
>> Am 19.04.2011 23:22, schrieb Mauro Carvalho Chehab:
>>> Em 04-04-2011 17:18, stefan.ringel@arcor.de escreveu:
>>>> From: Stefan Ringel<stefan.ringel@arcor.de>
>>>>
>>>> add dtv78 parameter
>>> The dtv78 entry is a hack meant for card usage in Australia, that
>>> speeds up channel detection there. Again, it should be specified
>>> only when needed, and at per-board basis.
>> I have test and auto detect doesn't work right. That is also region
>> specific staff and it's better to set outside. In other words in Germany
>> it must set this param and in other country, which use only 7MHz or 8MHz it doesn't set (i.e. Australia).
> xc3028 has a logic to detect and work on both Australia and Europe.
> If that logic is broken, we should fix it, not adding a manual
> parameter for it.
>
It positively a bug. When I use lower band (7MHz, load DTV7 SCODE) it 
doesn't work, then I go in the high band (8MHz, load DTV78, DTV8 SCODE) 
and have channels and can watch TV. If I go now in the lower band (7MHz, 
don't reload SCODE) it works. This effect is for me a bug.
>>>> Signed-off-by: Stefan Ringel<stefan.ringel@arcor.de>
>>>> ---
>>>>    drivers/staging/tm6000/tm6000-cards.c |   11 +++++++++--
>>>>    1 files changed, 9 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/drivers/staging/tm6000/tm6000-cards.c b/drivers/staging/tm6000/tm6000-cards.c
>>>> index eef58da..cf2e76c 100644
>>>> --- a/drivers/staging/tm6000/tm6000-cards.c
>>>> +++ b/drivers/staging/tm6000/tm6000-cards.c
>>>> @@ -65,6 +65,9 @@ static unsigned int xc2028_mts;
>>>>    module_param(xc2028_mts, int, 0644);
>>>>    MODULE_PARM_DESC(xc2028_mts, "enable mts firmware (xc2028/3028 only)");
>>>>
>>>> +static unsigned int xc2028_dtv78;
>>>> +module_param(xc2028_dtv78, int, 0644);
>>>> +MODULE_PARM_DESC(xc2028_dtv78, "enable dualband config (xc2028/3028 only)");
>>>>
>>>>    struct tm6000_board {
>>>>        char            *name;
>>>> @@ -687,8 +690,12 @@ static void tm6000_config_tuner(struct tm6000_core *dev)
>>>>            ctl.read_not_reliable = 0;
>>>>            ctl.msleep = 10;
>>>>            ctl.demod = XC3028_FE_ZARLINK456;
>>>> -        ctl.vhfbw7 = 1;
>>>> -        ctl.uhfbw8 = 1;
>>>> +
>>>> +        if (xc2028_dtv78) {
>>>> +            ctl.vhfbw7 = 1;
>>>> +            ctl.uhfbw8 = 1;
>>>> +        }
>>>> +
>>>>            if (xc2028_mts)
>>>>                ctl.mts = 1;
>>>>
>>> -- 
>>> 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

--
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
  
Mauro Carvalho Chehab May 3, 2011, 10:04 a.m. UTC | #4
Em 20-04-2011 11:30, Stefan Ringel escreveu:
> Am 20.04.2011 14:38, schrieb Mauro Carvalho Chehab:
>> Em 20-04-2011 05:19, Stefan Ringel escreveu:
>>> Am 19.04.2011 23:22, schrieb Mauro Carvalho Chehab:
>>>> Em 04-04-2011 17:18, stefan.ringel@arcor.de escreveu:
>>>>> From: Stefan Ringel<stefan.ringel@arcor.de>
>>>>>
>>>>> add dtv78 parameter
>>>> The dtv78 entry is a hack meant for card usage in Australia, that
>>>> speeds up channel detection there. Again, it should be specified
>>>> only when needed, and at per-board basis.
>>> I have test and auto detect doesn't work right. That is also region
>>> specific staff and it's better to set outside. In other words in Germany
>>> it must set this param and in other country, which use only 7MHz or 8MHz it doesn't set (i.e. Australia).
>> xc3028 has a logic to detect and work on both Australia and Europe.
>> If that logic is broken, we should fix it, not adding a manual
>> parameter for it.
>>
> It positively a bug. When I use lower band (7MHz, load DTV7 SCODE) it doesn't work, then I go in the high band (8MHz, load DTV78, DTV8 SCODE) and have channels and can watch TV. If I go now in the lower band (7MHz, don't reload SCODE) it works. This effect is for me a bug.

The fix for it should be at xc3028. Please propose a patch for it. Maybe we should add there
a parameter for auto-detection, or to force it to use dtv78, if bandwith is > 6MHz.


>>>>> Signed-off-by: Stefan Ringel<stefan.ringel@arcor.de>
>>>>> ---
>>>>>    drivers/staging/tm6000/tm6000-cards.c |   11 +++++++++--
>>>>>    1 files changed, 9 insertions(+), 2 deletions(-)
>>>>>
>>>>> diff --git a/drivers/staging/tm6000/tm6000-cards.c b/drivers/staging/tm6000/tm6000-cards.c
>>>>> index eef58da..cf2e76c 100644
>>>>> --- a/drivers/staging/tm6000/tm6000-cards.c
>>>>> +++ b/drivers/staging/tm6000/tm6000-cards.c
>>>>> @@ -65,6 +65,9 @@ static unsigned int xc2028_mts;
>>>>>    module_param(xc2028_mts, int, 0644);
>>>>>    MODULE_PARM_DESC(xc2028_mts, "enable mts firmware (xc2028/3028 only)");
>>>>>
>>>>> +static unsigned int xc2028_dtv78;
>>>>> +module_param(xc2028_dtv78, int, 0644);
>>>>> +MODULE_PARM_DESC(xc2028_dtv78, "enable dualband config (xc2028/3028 only)");
>>>>>
>>>>>    struct tm6000_board {
>>>>>        char            *name;
>>>>> @@ -687,8 +690,12 @@ static void tm6000_config_tuner(struct tm6000_core *dev)
>>>>>            ctl.read_not_reliable = 0;
>>>>>            ctl.msleep = 10;
>>>>>            ctl.demod = XC3028_FE_ZARLINK456;
>>>>> -        ctl.vhfbw7 = 1;
>>>>> -        ctl.uhfbw8 = 1;
>>>>> +
>>>>> +        if (xc2028_dtv78) {
>>>>> +            ctl.vhfbw7 = 1;
>>>>> +            ctl.uhfbw8 = 1;
>>>>> +        }
>>>>> +
>>>>>            if (xc2028_mts)
>>>>>                ctl.mts = 1;
>>>>>
>>>> -- 
>>>> 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
> 
> -- 
> 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

--
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
  
Stefan Ringel May 3, 2011, 4:37 p.m. UTC | #5
Am 03.05.2011 12:04, schrieb Mauro Carvalho Chehab:
> Em 20-04-2011 11:30, Stefan Ringel escreveu:
>> Am 20.04.2011 14:38, schrieb Mauro Carvalho Chehab:
>>> Em 20-04-2011 05:19, Stefan Ringel escreveu:
>>>> Am 19.04.2011 23:22, schrieb Mauro Carvalho Chehab:
>>>>> Em 04-04-2011 17:18, stefan.ringel@arcor.de escreveu:
>>>>>> From: Stefan Ringel<stefan.ringel@arcor.de>
>>>>>>
>>>>>> add dtv78 parameter
>>>>> The dtv78 entry is a hack meant for card usage in Australia, that
>>>>> speeds up channel detection there. Again, it should be specified
>>>>> only when needed, and at per-board basis.
>>>> I have test and auto detect doesn't work right. That is also region
>>>> specific staff and it's better to set outside. In other words in Germany
>>>> it must set this param and in other country, which use only 7MHz or 8MHz it doesn't set (i.e. Australia).
>>> xc3028 has a logic to detect and work on both Australia and Europe.
>>> If that logic is broken, we should fix it, not adding a manual
>>> parameter for it.
>>>
>> It positively a bug. When I use lower band (7MHz, load DTV7 SCODE) it doesn't work, then I go in the high band (8MHz, load DTV78, DTV8 SCODE) and have channels and can watch TV. If I go now in the lower band (7MHz, don't reload SCODE) it works. This effect is for me a bug.
> The fix for it should be at xc3028. Please propose a patch for it. Maybe we should add there
> a parameter for auto-detection, or to force it to use dtv78, if bandwith is>  6MHz.
>
>
The last I have scanned and used in auto mode was last year. And now 
work fine :-) . When have you change the code?
>>>>>> Signed-off-by: Stefan Ringel<stefan.ringel@arcor.de>
>>>>>> ---
>>>>>>     drivers/staging/tm6000/tm6000-cards.c |   11 +++++++++--
>>>>>>     1 files changed, 9 insertions(+), 2 deletions(-)
>>>>>>
>>>>>> diff --git a/drivers/staging/tm6000/tm6000-cards.c b/drivers/staging/tm6000/tm6000-cards.c
>>>>>> index eef58da..cf2e76c 100644
>>>>>> --- a/drivers/staging/tm6000/tm6000-cards.c
>>>>>> +++ b/drivers/staging/tm6000/tm6000-cards.c
>>>>>> @@ -65,6 +65,9 @@ static unsigned int xc2028_mts;
>>>>>>     module_param(xc2028_mts, int, 0644);
>>>>>>     MODULE_PARM_DESC(xc2028_mts, "enable mts firmware (xc2028/3028 only)");
>>>>>>
>>>>>> +static unsigned int xc2028_dtv78;
>>>>>> +module_param(xc2028_dtv78, int, 0644);
>>>>>> +MODULE_PARM_DESC(xc2028_dtv78, "enable dualband config (xc2028/3028 only)");
>>>>>>
>>>>>>     struct tm6000_board {
>>>>>>         char            *name;
>>>>>> @@ -687,8 +690,12 @@ static void tm6000_config_tuner(struct tm6000_core *dev)
>>>>>>             ctl.read_not_reliable = 0;
>>>>>>             ctl.msleep = 10;
>>>>>>             ctl.demod = XC3028_FE_ZARLINK456;
>>>>>> -        ctl.vhfbw7 = 1;
>>>>>> -        ctl.uhfbw8 = 1;
>>>>>> +
>>>>>> +        if (xc2028_dtv78) {
>>>>>> +            ctl.vhfbw7 = 1;
>>>>>> +            ctl.uhfbw8 = 1;
>>>>>> +        }
>>>>>> +
>>>>>>             if (xc2028_mts)
>>>>>>                 ctl.mts = 1;
>>>>>>
>>>>> -- 
>>>>> 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
>> -- 
>> 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
> --
> 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

--
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
  

Patch

diff --git a/drivers/staging/tm6000/tm6000-cards.c b/drivers/staging/tm6000/tm6000-cards.c
index eef58da..cf2e76c 100644
--- a/drivers/staging/tm6000/tm6000-cards.c
+++ b/drivers/staging/tm6000/tm6000-cards.c
@@ -65,6 +65,9 @@  static unsigned int xc2028_mts;
 module_param(xc2028_mts, int, 0644);
 MODULE_PARM_DESC(xc2028_mts, "enable mts firmware (xc2028/3028 only)");
 
+static unsigned int xc2028_dtv78;
+module_param(xc2028_dtv78, int, 0644);
+MODULE_PARM_DESC(xc2028_dtv78, "enable dualband config (xc2028/3028 only)");
 
 struct tm6000_board {
 	char            *name;
@@ -687,8 +690,12 @@  static void tm6000_config_tuner(struct tm6000_core *dev)
 		ctl.read_not_reliable = 0;
 		ctl.msleep = 10;
 		ctl.demod = XC3028_FE_ZARLINK456;
-		ctl.vhfbw7 = 1;
-		ctl.uhfbw8 = 1;
+
+		if (xc2028_dtv78) {
+			ctl.vhfbw7 = 1;
+			ctl.uhfbw8 = 1;
+		}
+
 		if (xc2028_mts)
 			ctl.mts = 1;