Re: [PATCH 6/12] tm6000: tuner reset timeing optimation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Stefan Ringel wrote:
> Am 08.02.2010 12:23, schrieb Mauro Carvalho Chehab:
>> stefan.ringel@xxxxxxxx wrote:
>>   
>>> From: Stefan Ringel <stefan.ringel@xxxxxxxx>
>>>
>>> Signed-off-by: Stefan Ringel <stefan.ringel@xxxxxxxx>
>>> ---
>>>  drivers/staging/tm6000/tm6000-cards.c |   11 +++++++----
>>>  1 files changed, 7 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/drivers/staging/tm6000/tm6000-cards.c b/drivers/staging/tm6000/tm6000-cards.c
>>> index 1167b01..5cf5d58 100644
>>> --- a/drivers/staging/tm6000/tm6000-cards.c
>>> +++ b/drivers/staging/tm6000/tm6000-cards.c
>>> @@ -271,11 +271,14 @@ static int tm6000_tuner_callback(void *ptr, int component, int command, int arg)
>>>  		switch (arg) {
>>>  		case 0:
>>>  			tm6000_set_reg (dev, REQ_03_SET_GET_MCU_PIN,
>>> +					dev->tuner_reset_gpio, 0x01);
>>> +			msleep(60);
>>> +			tm6000_set_reg (dev, REQ_03_SET_GET_MCU_PIN,
>>>  					dev->tuner_reset_gpio, 0x00);
>>> -			msleep(130);
>>> +			msleep(75);
>>>  			tm6000_set_reg (dev, REQ_03_SET_GET_MCU_PIN,
>>>  					dev->tuner_reset_gpio, 0x01);
>>> -			msleep(130);
>>> +			msleep(60);
>>>  			break;
>>>  		case 1:
>>>  			tm6000_set_reg (dev, REQ_04_EN_DISABLE_MCU_INT,
>>> @@ -288,10 +291,10 @@ static int tm6000_tuner_callback(void *ptr, int component, int command, int arg)
>>>  						TM6000_GPIO_CLK, 0);
>>>  			if (rc<0)
>>>  				return rc;
>>> -			msleep(100);
>>> +			msleep(10);
>>>  			rc=tm6000_set_reg (dev, REQ_03_SET_GET_MCU_PIN,
>>>  						TM6000_GPIO_CLK, 1);
>>> -			msleep(100);
>>> +			msleep(10);
>>>  			break;
>>>  		}
>>>  	}
>>>     
>> This sequence and the timeouts are board-specific. Please add a switch(dev->model) and
>> test for your specific board, since your sequence will break for example 10moons, where
>> you really need a longer delay to work.
>>
>>   
> What for tuner modell have you, xc2028, xc3028 or xc3028L ? I have
> xc3028L, And it can reset faster. I'm adding a switch(dev->modell).

I have one device with each of the above, but the one with xc3028 stopped working when
I tried to replace the tm6000revA by a tm6000revD.

The newest one has tm6010/xc3028L. I suspect that it supports a faster reset, but I
don't remember the exact timings measured based on the m$ driver. the 10moons has
a xc2028 and a tm5600, and it hangs if commands are sent too fast to the device.

-- 

Cheers,
Mauro
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux