On Mon, Nov 30, 2015 at 05:11:42PM +0200, Andy Shevchenko wrote: > From: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> > > 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 <kevin@xxxxxxxxx> > Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> 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