On Wed, Nov 21, 2012 at 1:08 PM, Olof Johansson <o...@lixom.net> wrote:
> On Tue, Nov 20, 2012 at 8:12 PM, Mark Brown
> <broo...@opensource.wolfsonmicro.com> wrote:
>> The changes in "i2c-s3c2410: use exponential back off while polling for
>> bus idle" remove the initial busy wait for I2C transfers to complete and
>> replace it with usleep_range() calls which will schedule.
>>
>> Since for older SoCs I2C transfers would usually complete within an
>> extremely small number of CPU cycles there is a win from not having to
>> schedule.  This happens because on the older SoCs the cores run at a
>> smaller multiple of the speeds that the I2C bus is operating at; on more
>> modern SoCs the busy wait is less likely to be effective.
>>
>> Fix the issue by restoring the busy wait, reducing the number of spins
>> from 20 to 3 which covers the overwhelming majority of I2C transfers on
>> the SoCs where the busy wait is effective.
>>
>> Signed-off-by: Mark Brown <broo...@opensource.wolfsonmicro.com>
>
> Acked-by: Olof Johansson <o...@lixom.net>

Reviewed-by: Daniel Kurtz <djku...@chromium.org>

>
> -Olof
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to