drivers/i2c/i2c-core-acpi.c | 1 + 1 file changed, 1 insertion(+)
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@gmail.com>
---
drivers/i2c/i2c-core-acpi.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/i2c/i2c-core-acpi.c b/drivers/i2c/i2c-core-acpi.c
index 2cbd31f77..96d339df0 100644
--- a/drivers/i2c/i2c-core-acpi.c
+++ b/drivers/i2c/i2c-core-acpi.c
@@ -372,6 +372,7 @@ static const struct acpi_device_id i2c_acpi_force_100khz_device_ids[] = {
*/
{ "DLL0945", 0 },
{ "ELAN06FA", 0 },
+ { "ELAN0678", 0 },
{}
};
--
2.53.0
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@gmail.com> Kept the sorting (alphanumeric) and applied to for-current, thanks!
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@gmail.com>
> Kept the sorting (alphanumeric) and applied to for-current, thanks!
>
Hi,
On Tue, May 12, 2026 at 11:36:26PM +0200, Odoben wrote:
> 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?
Did you try 100Hz and it made the problem go away? In that case yes it
makes sense to add the quirk.
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. ... > Would it make sense to include ELAN0676 in the > same i2c_acpi_force_100khz_device_ids quirk? Sounds much like it. Can you create such a patch? Or can you test such a patch if we provide you one? Happy hacking, Wolfram
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@gmail.com> Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
© 2016 - 2026 Red Hat, Inc.