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 <plros...@gmail.com>
> Signed-off-by: Mika Westerberg <mika.westerb...@linux.intel.com>

Pavel, have you tested this patch?

Attachment: signature.asc
Description: Digital signature

Reply via email to