Re: [PATCH] i2c: acpi: Add ELAN0662 to i2c_acpi_force_100khz_device_ids

From: Mika Westerberg

Date: Fri Sep 18 2026 - 01:57:12 EST


On Fri, Sep 18, 2026 at 01:41:09PM +0800, Yuqi Xu wrote:
> The ELAN0662 touchpad (04F3:317C) in the Lenovo ThinkBook 14 G4+ ARA
> (21D0) intermittently stutters and drops touches. libinput discards
> invalid touch coordinates and logs (rate limited to five messages per
> 24 hours):
>
> libinput error: event6 - ELAN0662:00 04F3:317C Touchpad: kernel
> bug: Touch jump detected and discarded.
>
> The ACPI DSDT describes the touchpad's I2cSerialBus resource on an
> AMDI0010 controller with a connection speed of 0x00061A80 (400 kHz),
> and the kernel does not lower it for this device, so the touchpad runs
> at 400 kHz. This is the same issue previously fixed for ELAN06FA and
> ELAN0678.
>
> Forcing the bus to 100 kHz was tested with a DSDT override on the
> affected machine, and the kernel confirmed the override:
>
> ACPI: Table Upgrade: override [DSDT-LENOVO-CB-01]
>
> Before the change libinput discarded three touch jumps within about a
> minute of touchpad use; after the change no touch jumps were logged
> during more than an hour of normal use. The patch itself was not build
> tested; the behaviour was validated through the ACPI table override
> above.
>
> Assisted-by: DeepSeek:deepseek-v4.1-flash
> Signed-off-by: Yuqi Xu <xuyuqiabc@xxxxxxxxx>

Acked-by: Mika Westerberg (Intel) <westeri@xxxxxxxxxx>