public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
From: Randolph Ha <rha051117@gmail.com>
To: mika.westerberg@linux.intel.com,
	wsa+renesas@sang-engineering.com, linux-i2c@vger.kernel.org,
	linux-acpi@vger.kernel.org
Cc: trivial@kernel.org, Randolph Ha <rha051117@gmail.com>
Subject: [PATCH 0/1] Force I2C bus freq to 100KHz for ELAN06FA touchpad
Date: Thu,  2 Jan 2025 23:16:51 -0600	[thread overview]
Message-ID: <20250103051657.211966-1-rha051117@gmail.com> (raw)

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


             reply	other threads:[~2025-01-03  5:20 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-03  5:16 Randolph Ha [this message]
2025-01-03  5:16 ` [PATCH 1/1] Force ELAN06FA touchpad I2C bus freq to 100KHz Randolph Ha
2025-01-03  9:33   ` Mika Westerberg
2025-01-03 23:46     ` R Ha
2025-01-05  8:33       ` Mika Westerberg
2025-01-06  1:28         ` [PATCH] " Randolph Ha
2025-01-06  9:00         ` [PATCH 1/1] " R Ha
2025-01-07  7:27           ` Mika Westerberg
2025-01-07 12:16             ` R Ha
2025-01-08  5:51               ` Mika Westerberg
2025-01-08  9:29                 ` R Ha
2025-01-09 11:19                   ` Mika Westerberg
2025-01-10  8:31                     ` R Ha
2025-01-10 11:26                       ` Mika Westerberg
2025-01-10 11:45                         ` Jarkko Nikula
2025-01-10 12:07                           ` Mika Westerberg
2025-01-11 15:57                             ` [PATCH] " Randolph Ha
2025-01-13  6:48                               ` Mika Westerberg
2025-01-13 19:52                                 ` Randolph Ha
2025-01-14 11:58                                   ` Wolfram Sang
2025-01-15 19:39                                     ` R Ha
2025-01-11 16:05                             ` [PATCH 1/1] " R Ha
2025-01-13  6:49                               ` Mika Westerberg
2025-01-06  9:08         ` R Ha

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250103051657.211966-1-rha051117@gmail.com \
    --to=rha051117@gmail.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=mika.westerberg@linux.intel.com \
    --cc=trivial@kernel.org \
    --cc=wsa+renesas@sang-engineering.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox