]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
i2c: Force ELAN06FA touchpad I2C bus freq to 100KHz
authorRandolph Ha <rha051117@gmail.com>
Mon, 13 Jan 2025 19:52:37 +0000 (14:52 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 21 Feb 2025 12:49:32 +0000 (13:49 +0100)
commitf2e5a46a27d794a5cb115990d3e59ca45f84f5f6
tree2489fb96b1142ae2521d030e9e0391ad80b5bdc4
parent7ce13d8b59ce95122feb4996ec99a0c2c5f56bfd
i2c: Force ELAN06FA touchpad I2C bus freq to 100KHz

[ Upstream commit bfd74cd1fbc026f04446e67d6915c7e199c2bffd ]

When a 400KHz freq is used on this model of ELAN touchpad in Linux,
excessive smoothing (similar to when the touchpad's firmware detects
a noisy signal) is sometimes applied. As some devices' (e.g, Lenovo
V15 G4) ACPI tables specify a 400KHz frequency for this device and
some I2C busses (e.g, Designware I2C) default to a 400KHz freq,
force the speed to 100KHz as a workaround.

For future investigation: This problem may be related to the default
HCNT/LCNT values given by some busses' drivers, because they are not
specified in the aforementioned devices' ACPI tables, and because
the device works without issues on Windows at what is expected to be
a 400KHz frequency. The root cause of the issue is not known.

Signed-off-by: Randolph Ha <rha051117@gmail.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/i2c/i2c-core-acpi.c