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

From: Odoben

Date: Tue May 12 2026 - 17:37:50 EST


Hi,

I have what appears to be the same issue on a ThinkPad X13 Gen 2 with Intel i5-1145G7, but with ACPI HID ELAN0676 instead of ELAN0678.

The touchpad is:

ELAN0676:00 04F3:3195 Touchpad

libinput reports:

Id: i2c:04f3:3195

dmesg shows:

i2c_designware.0 -> i2c-ELAN0676:00 -> hid-multitouch

The ACPI table contains:

Package (0x06)
{
0x04F3,
0x3195,
0x15,
One,
One,
"ELAN0676"
}

and the surrounding firmware logic maps the fifth field to speed:

Local5 == Zero -> SPED = 0x000186A0 = 100 kHz
Local5 == One -> SPED = 0x00061A80 = 400 kHz

So this machine also configures the 04F3:3195 ELAN touchpad at 400 kHz. The symptom is very frequent rubbery/sluggish pointer movement, consistent with the excessive smoothing described for ELAN0678.

Would it make sense to include ELAN0676 in the same i2c_acpi_force_100khz_device_ids quirk?

Thanks,
Odoben

On 2026-05-04 11:19, Wolfram Sang wrote:
On Sat, Apr 18, 2026 at 07:37:19AM +0200, Niels Franke wrote:
The ELAN0678 touchpad (04F3:3195) found in the Lenovo ThinkPad X13
exhibits excessive smoothing when the I2C bus runs at 400KHz, making
the touchpad feel sluggish when plugged into AC power. This is the
same issue previously fixed for ELAN06FA.

The device's ACPI table (Lenovo TP-R22) specifies 0x00061A80 (400KHz)
for the I2cSerialBusV2 descriptor. Forcing the bus to 100KHz eliminates
the sluggish behavior.

Signed-off-by: Niels Franke <nielsfranke@xxxxxxxxx>
Kept the sorting (alphanumeric) and applied to for-current, thanks!