On Thu, Sep 24, 2015 at 12:06:54PM +0300, Mika Westerberg wrote: > ACPI SSCN/FMCN methods were originally added because then the platform can > provide the most accurate HCNT/LCNT values to the driver. However, this > seems not to be true for Dell Inspiron 7348 where using these causes the > touchpad to fail in boot: > > i2c_hid i2c-DLL0675:00: failed to retrieve report from device. > i2c_designware INT3433:00: i2c_dw_handle_tx_abort: lost arbitration > i2c_hid i2c-DLL0675:00: failed to retrieve report from device. > i2c_designware INT3433:00: controller timed out > > The values received from ACPI are (in fast mode): > > HCNT: 72 > LCNT: 160 > > this translates to following timings (input clock is 100MHz on Broadwell): > > tHIGH: 720 ns (spec min 600 ns) > tLOW: 1600 ns (spec min 1300 ns) > Bus period: 2920 ns (assuming 300 ns tf and tr) > Bus speed: 342.5 kHz > > Both tHIGH and tLOW are within the I2C specification. > > The calculated values when ACPI parameters are not used are (in fast mode): > > HCNT: 87 > LCNT: 159 > > which translates to: > > tHIGH: 870 ns (spec min 600 ns) > tLOW: 1590 ns (spec min 1300 ns) > Bus period 3060 ns (assuming 300 ns tf and tr) > Bus speed 326.8 kHz > > These values are also within the I2C specification. > > Since both ACPI and calculated values meet the I2C specification timing > requirements it is hard to say why the touchpad does not function properly > with the ACPI values except that the bus speed is higher in this case (but > still well below the max 400kHz). > > Solve this by adding DMI quirk to the driver that disables using ACPI > parameters on this particulare machine. > > Reported-by: Pavel Roskin <plroskin@xxxxxxxxx> > Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Applied to for-current with Pavel's Tested-by:, thanks!
Attachment:
signature.asc
Description: Digital signature