Linux ACPI
 help / color / mirror / Atom feed
* [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