* [PATCH] i2c: acpi: Add ELAN0678 to i2c_acpi_force_100khz_device_ids
@ 2026-04-18 5:37 Niels Franke
2026-04-20 8:37 ` Mika Westerberg
2026-05-04 9:19 ` Wolfram Sang
0 siblings, 2 replies; 6+ messages in thread
From: Niels Franke @ 2026-04-18 5:37 UTC (permalink / raw)
To: westeri; +Cc: wsa+renesas, linux-i2c, linux-acpi, linux-kernel, Niels Franke
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
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: [PATCH] i2c: acpi: Add ELAN0678 to i2c_acpi_force_100khz_device_ids
2026-04-18 5:37 [PATCH] i2c: acpi: Add ELAN0678 to i2c_acpi_force_100khz_device_ids Niels Franke
@ 2026-04-20 8:37 ` Mika Westerberg
2026-05-04 9:19 ` Wolfram Sang
1 sibling, 0 replies; 6+ messages in thread
From: Mika Westerberg @ 2026-04-20 8:37 UTC (permalink / raw)
To: Niels Franke; +Cc: westeri, wsa+renesas, linux-i2c, linux-acpi, linux-kernel
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>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] i2c: acpi: Add ELAN0678 to i2c_acpi_force_100khz_device_ids
2026-04-18 5:37 [PATCH] i2c: acpi: Add ELAN0678 to i2c_acpi_force_100khz_device_ids Niels Franke
2026-04-20 8:37 ` Mika Westerberg
@ 2026-05-04 9:19 ` Wolfram Sang
2026-05-12 21:36 ` Odoben
1 sibling, 1 reply; 6+ messages in thread
From: Wolfram Sang @ 2026-05-04 9:19 UTC (permalink / raw)
To: Niels Franke; +Cc: westeri, linux-i2c, linux-acpi, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 630 bytes --]
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!
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] i2c: acpi: Add ELAN0678 to i2c_acpi_force_100khz_device_ids
2026-05-04 9:19 ` Wolfram Sang
@ 2026-05-12 21:36 ` Odoben
2026-05-13 4:50 ` Wolfram Sang
2026-05-13 4:55 ` Mika Westerberg
0 siblings, 2 replies; 6+ messages in thread
From: Odoben @ 2026-05-12 21:36 UTC (permalink / raw)
To: Wolfram Sang, Niels Franke; +Cc: westeri, linux-i2c, linux-acpi, linux-kernel
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!
>
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH] i2c: acpi: Add ELAN0678 to i2c_acpi_force_100khz_device_ids
2026-05-12 21:36 ` Odoben
@ 2026-05-13 4:50 ` Wolfram Sang
2026-05-13 4:55 ` Mika Westerberg
1 sibling, 0 replies; 6+ messages in thread
From: Wolfram Sang @ 2026-05-13 4:50 UTC (permalink / raw)
To: Odoben; +Cc: Niels Franke, westeri, linux-i2c, linux-acpi, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 397 bytes --]
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
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] i2c: acpi: Add ELAN0678 to i2c_acpi_force_100khz_device_ids
2026-05-12 21:36 ` Odoben
2026-05-13 4:50 ` Wolfram Sang
@ 2026-05-13 4:55 ` Mika Westerberg
1 sibling, 0 replies; 6+ messages in thread
From: Mika Westerberg @ 2026-05-13 4:55 UTC (permalink / raw)
To: Odoben
Cc: Wolfram Sang, Niels Franke, westeri, linux-i2c, linux-acpi,
linux-kernel
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.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-05-13 4:55 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-18 5:37 [PATCH] i2c: acpi: Add ELAN0678 to i2c_acpi_force_100khz_device_ids Niels Franke
2026-04-20 8:37 ` Mika Westerberg
2026-05-04 9:19 ` Wolfram Sang
2026-05-12 21:36 ` Odoben
2026-05-13 4:50 ` Wolfram Sang
2026-05-13 4:55 ` Mika Westerberg
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox