In my device (Lenovo V15 G4 IRU) it appears that, even with the latest BIOS update, the ACPI tables do not specify that the ELAN06FA touchpad only works properly at a 100KHz I2C frequency, with other frequencies causing excessive smoothing to be applied intermittently. On some busses (designware-i2c), the default frequency is 400KHz. This smoothing causes the touchpad to be unusable under Linux, and the support request I filed with Lenovo was ignored. After adding a device ID check to force the frequency to 100KHz for this touchpad, the excessive smoothing disappears. As a similar patch was previously accepted for the Silead MSSL1680 touchscreen in [1], I hope this patch can be added into the kernel as well. Additional Notes: 1. I speculate that this issue was caused by the touchpad firmware interpreting the higher clock frequency as noise, since the smoothing effect is similar to that caused by using a noisy third-party charger. 2. Based on the coil whine emitted by my laptop, it appears as though the driver is ran at 100KHz under Windows by default as well, so I believe this is the fix, not a workaround. 3. This fix should also apply to the Lenovo V15 G4 AMN and the Ideapad Slim 3 15IAH8, but I do not have the devices to confirm. [1]: Commit 7574c0db2e68c ("i2c: acpi: Force bus speed to 400KHz if a Silead touchscreen is present") Randolph Ha (1): Force ELAN06FA touchpad I2C bus freq to 100KHz drivers/i2c/i2c-core-acpi.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) -- 2.47.1