On Mon, Nov 30, 2015 at 05:11:42PM +0200, Andy Shevchenko wrote:
> From: Mika Westerberg <[email protected]>
> 
> Intel Skylake the LPSS I2C pad circuit has internal delays that require
> programming non-zero SDA hold time for the I2C host controller. If this is
> not done communication to slave devices may fail with arbitration lost
> errors like the one seen below taken from Lenovo Yoga 900:
> 
>   i2c_hid i2c-SYNA2B29:00: Fetching the HID descriptor
>   i2c_hid i2c-SYNA2B29:00: __i2c_hid_command: cmd=20 00
>   i2c_designware i2c_designware.1: i2c_dw_handle_tx_abort: lost arbitration
> 
> To fix this we follow what the Windows driver is doing and pass the default
> SDA hold time of 230 ns to all Intel Skylake host controllers. This still
> allows the platform to override these values by passing special ACPI
> methods SSCN and FMCN.
> 
> Reported-by: Kevin Fenzi <[email protected]>
> Signed-off-by: Mika Westerberg <[email protected]>
> Signed-off-by: Andy Shevchenko <[email protected]>

There has been a request to get this into stable:

https://bugzilla.kernel.org/show_bug.cgi?id=108581

Since we probably don't want to backport the whole device_property
series, is there a simpler fix to backport for stable?

Attachment: signature.asc
Description: PGP signature

Reply via email to