29.01.2019 1:15, Sowjanya Komatineni пишет:
> 
> 
>>>>> Update I2C transfer timeout based on transfer bytes and I2C bus rate 
>>>>> to allow enough time during max transfer size based on the speed.
>>>>
>>>> Could it be that I2C device is busy and just slowly handling the transfer 
>>>> requests? Maybe better to leave the timeout as-is and assume the worst 
>>>> case scenario?
>>>>
>>> This change includes min transfer time out of 100ms in addition to computed 
>>> timeout based on transfer bytes and speed which can account in cases of 
>>> slave devices running at slower speed.
>>> Also Tegra I2C Master supports Clock stretching by the slave.
>>
>> Okay, I suppose in reality this shouldn't break anything.
>>
>> Please explain what benefits this change brings. Does it fix or improve 
>> anything? The commit message only describes changes done in the patch and 
>> has no word on justification of those changes. Transfer timeout is an 
>> extreme case that doesn't happen often and > > when it happens, usually only 
>> the fact of timeout matters. If there is no real value in shortening of the 
>> timeout, why bother then?
> 
> Original transfer timeout in existing driver is 1Sec and incases of transfer 
> size more than 10Kbytes at STD bus rate, timeout is not sufficient.
> Also Tegra194 platform supports max of 64K bytes of transfer and to allow 
> full transfer size at lowest bus rate it takes almost ~5.8 Sec.
> In cases if large transfer at low bus rates 1 Sec timeout is not enough and 
> in those cases transfers will timeout before it waits for complete transfer 
> to happen.
> 
> So this patch uses transfer time based on transfer bytes and bus rate.
> 

Please add that to the commit message.

And then seems you also need to set I2C adapter timeout to a some larger value. 
Currently Tegra's I2C doesn't explicitly specify the "adapter.timeout" and I2C 
core sets it to 1 second if it is 0.

Reply via email to