From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: correctmost <cmlists@sent.com>
Cc: Mika Westerberg <mika.westerberg@linux.intel.com>,
dmaengine@vger.kernel.org, regressions@lists.linux.dev,
vkoul@kernel.org, linux-i2c@vger.kernel.org
Subject: Re: [REGRESSION][BISECTED] Lenovo IdeaPad touchpad does not work when idma64 is present in initramfs
Date: Wed, 4 Feb 2026 15:19:54 +0200 [thread overview]
Message-ID: <aYNHeqYYa9ixrksM@smile.fi.intel.com> (raw)
In-Reply-To: <5ed53c66-69e9-45e1-9b89-e3d555ff412c@app.fastmail.com>
On Wed, Feb 04, 2026 at 08:11:27AM -0500, correctmost wrote:
> On Wed, Feb 4, 2026, at 7:31 AM, Mika Westerberg wrote:
> > On Tue, Feb 03, 2026 at 07:39:36AM -0500, correctmost wrote:
> >> On Tue, Feb 3, 2026, at 5:04 AM, Mika Westerberg wrote:
> >> > On Mon, Feb 02, 2026 at 06:16:02AM -0500, correctmost wrote:
> >> >> > Could you drop the above hack again so that it should "fail". Then build
> >> >> > the kernel with CONFIG_PREEMPT_VOLUNTARY=y and add the below hack. Perhaps
> >> >> > this is just lucky timing? Please try a couple of boots and make sure the
> >> >> > results are the same each time.
> >> >>
> >> >> I cold booted five times and the touchpad did not work during any of those boots.
> >> >
> >> > Thanks!
> >> >
> >> >> I noticed that the "probe with driver" failure reports -22 instead of -110 now:
> >> >>
> >> >> [ 33.023932] i2c_hid_acpi i2c-ELAN06FA:00: Report Descriptor: 05 01 09 02 a1 01 85 01 09 01 a1 00 05 09 19 01 29 02 15 00 25 01 75 01 95 02 81 02 95 06 81 03 05 01 09 30 09 31 15 81 25 7f 75 08 95 02 81 06 75 08 95 05 81 03 c0 06 00 ff 09 01 85 0e 09 c5
> >> >> [ 33.026070] hid-generic 0018:04F3:327E.0001: item fetching failed at offset 638/675
> >> >> [ 33.027573] hid-generic 0018:04F3:327E.0001: probe with driver hid-generic failed with error -22
> >> >> ...
> >> >> [ 33.183959] hid-multitouch 0018:04F3:327E.0001: item fetching failed at offset 638/675
> >> >> [ 33.183975] hid-multitouch 0018:04F3:327E.0001: probe with driver hid-multitouch failed with error -22
> >> >>
> >> >
> >> > This is really odd because "item fetching" is not really accessing any
> >> > hardware bus - it just parses the descriptor and the descriptor looks fine
> >> > to me (and this is the same as in case of working run):
> >> >
> >> > Usage Page (Generic Desktop)
> >> > Usage (Generic Desktop.Mouse)
> >> > Collection (1)
> >> > Report ID (1)
> >> > Usage (Generic Desktop.Pointer)
> >> > Collection (0)
> >> > Usage Page (Button)
> >> > Usage Minimum (1)
> >> > Usage Maximum (2)
> >> > Logical Minimum (0)
> >> > Logical Maximum (1)
> >> > Report Size (1)
> >> > Report Count (2)
> >> > Input (2)
> >> > Report Count (6)
> >> > Input (3)
> >> > Usage Page (Generic Desktop)
> >> > Usage (Generic Desktop.X)
> >> > Usage (Generic Desktop.Y)
> >> > Logical Minimum (129)
> >> > Logical Maximum (127)
> >> > Report Size (8)
> >> > Report Count (2)
> >> > Input (6)
> >> > Report Size (8)
> >> > Report Count (5)
> >> > Input (3)
> >> > End Collection (0)
> >> > Usage Page (Vendor Defined Page 1)
> >> > Usage (Vendor Defined Page 1.Vendor Usage 1)
> >> > Report ID (14)
> >> > Usage (Vendor Defined Page 1.00c5)
> >> >
> >> > I noticed you still have:
> >> >
> >> > [ 0.069726] Dynamic Preempt: full
> >> >
> >> > Can you change that in .config to:
> >> >
> >> > CONFIG_PREEMPT_VOLUNTARY=y
> >>
> >> Strange, I did change that config. Do I need to change another config for it to take effect?
> >
> > Probably not.
> >
> >> CONFIG_PREEMPT_BUILD=y
> >> # CONFIG_PREEMPT_NONE is not set
> >> CONFIG_PREEMPT_VOLUNTARY=y
> >> CONFIG_PREEMPT=y
> >> # CONFIG_PREEMPT_LAZY is not set
> >> CONFIG_PREEMPT_COUNT=y
> >> CONFIG_PREEMPTION=y
> >> CONFIG_PREEMPT_DYNAMIC=y
> >> CONFIG_PREEMPT_RCU=y
> >> CONFIG_PREEMPT_NOTIFIERS=y
> >> # CONFIG_PREEMPT_TRACER is not set
> >> # CONFIG_PREEMPTIRQ_DELAY_TEST is not set
> >>
> >> >
> >> > Also let's add on top of everything one more hack patch, just in case ;-)
> >> >
> >> > diff --git a/drivers/i2c/i2c-core-acpi.c b/drivers/i2c/i2c-core-acpi.c
> >> > index ed90858a27b7..0297ebedb802 100644
> >> > --- a/drivers/i2c/i2c-core-acpi.c
> >> > +++ b/drivers/i2c/i2c-core-acpi.c
> >> > @@ -371,7 +371,7 @@ static const struct acpi_device_id
> >> > i2c_acpi_force_100khz_device_ids[] = {
> >> > * a 400KHz frequency. The root cause of the issue is not known.
> >> > */
> >> > { "DLL0945", 0 },
> >> > - { "ELAN06FA", 0 },
> >> > +// { "ELAN06FA", 0 },
> >> > {}
> >> > };
> >>
> >> The "DSDT uses known not-working I2C bus speed 400000, forcing it to 100000" message is now gone, but the touchpad still doesn't function (full log attached).
> >
> > Thanks again! It still fails in completely unexpected place I wonder if the
> > BPF quirsk somehow could affect it?
> >
> > Could you still try with CONFIG_HID_BPF=n and see if there is any change?
>
> I applied that config change and saw the same touchpad failure (full log attached).
Just to confirm, after you applied the change, compiled a kernel, the change is
visible in .config in the kernel output folder (by default it's the same where
kernel sources are located for compilation), correct?
--
With Best Regards,
Andy Shevchenko
next prev parent reply other threads:[~2026-02-04 13:19 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-16 17:57 [REGRESSION][BISECTED] Lenovo IdeaPad touchpad does not work when idma64 is present in initramfs correctmost
2026-01-12 14:35 ` Andy Shevchenko
2026-01-12 16:52 ` Andy Shevchenko
2026-01-15 22:50 ` correctmost
2026-01-16 10:03 ` Andy Shevchenko
2026-01-16 10:35 ` Andy Shevchenko
2026-01-17 0:25 ` correctmost
2026-01-19 10:39 ` Andy Shevchenko
2026-01-19 10:49 ` Andy Shevchenko
2026-01-20 9:33 ` Andy Shevchenko
2026-01-21 4:56 ` correctmost
2026-01-21 9:13 ` Andy Shevchenko
2026-01-21 13:58 ` Mika Westerberg
2026-01-21 14:54 ` Andy Shevchenko
2026-01-21 15:02 ` Mika Westerberg
2026-01-21 15:19 ` Andy Shevchenko
2026-01-22 11:00 ` Mika Westerberg
2026-01-22 22:29 ` correctmost
2026-01-23 6:36 ` Mika Westerberg
2026-01-25 3:38 ` correctmost
2026-01-26 13:53 ` Mika Westerberg
2026-01-27 6:52 ` correctmost
2026-01-27 8:42 ` Mika Westerberg
2026-01-27 10:11 ` correctmost
2026-01-27 10:19 ` Mika Westerberg
2026-01-27 10:56 ` correctmost
2026-01-27 14:43 ` Mika Westerberg
2026-01-27 15:09 ` Andy Shevchenko
2026-01-28 3:06 ` correctmost
2026-01-23 6:53 ` Andy Shevchenko
2026-01-28 9:34 ` Andy Shevchenko
2026-01-28 10:21 ` correctmost
2026-01-28 12:31 ` Mika Westerberg
2026-01-29 4:54 ` correctmost
2026-01-29 6:58 ` Mika Westerberg
2026-01-29 7:20 ` correctmost
2026-01-29 11:56 ` Mika Westerberg
2026-01-29 13:06 ` correctmost
2026-01-30 7:26 ` Mika Westerberg
2026-01-30 8:18 ` correctmost
2026-02-02 7:51 ` Mika Westerberg
2026-02-02 8:38 ` correctmost
2026-02-02 10:22 ` Mika Westerberg
2026-02-02 11:16 ` correctmost
2026-02-03 10:04 ` Mika Westerberg
2026-02-03 12:39 ` correctmost
2026-02-04 12:31 ` Mika Westerberg
2026-02-04 13:11 ` correctmost
2026-02-04 13:19 ` Andy Shevchenko [this message]
2026-02-04 14:01 ` correctmost
2026-02-04 15:12 ` correctmost
2026-02-04 15:34 ` Mika Westerberg
2026-02-04 15:53 ` correctmost
2026-02-05 10:31 ` Mika Westerberg
2026-02-14 20:17 ` correctmost
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=aYNHeqYYa9ixrksM@smile.fi.intel.com \
--to=andriy.shevchenko@linux.intel.com \
--cc=cmlists@sent.com \
--cc=dmaengine@vger.kernel.org \
--cc=linux-i2c@vger.kernel.org \
--cc=mika.westerberg@linux.intel.com \
--cc=regressions@lists.linux.dev \
--cc=vkoul@kernel.org \
/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