[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHp75VcOG9H8u+tZyNN682r7+jsRZi8VoPPZ2uJPch1gNyFgmQ@mail.gmail.com>
Date: Wed, 20 Mar 2019 19:18:27 +0200
From: Andy Shevchenko <andy.shevchenko@...il.com>
To: Kai-Heng Feng <kai.heng.feng@...onical.com>
Cc: Hans de Goede <hdegoede@...hat.com>,
Benjamin Tissoires <benjamin.tissoires@...hat.com>,
hotwater438@...anota.com, Jiri Kosina <jikos@...nel.org>,
Stephen Boyd <swboyd@...omium.org>,
Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
Dmitry Torokhov <dtor@...omium.org>,
"open list:HID CORE LAYER" <linux-input@...r.kernel.org>,
lkml <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] ELAN touchpad i2c_hid bugs fix
On Wed, Mar 20, 2019 at 6:55 PM Kai-Heng Feng
<kai.heng.feng@...onical.com> wrote:
> at 23:39, Hans de Goede <hdegoede@...hat.com> wrote:
> > On 3/20/19 3:37 PM, Benjamin Tissoires wrote:
> > Benjamin, what I find interesting here is that the BOGUS_IRQ quirk
> > is also used on Elan devices, I suspect that these Elan devices
> > likely also need the I2C_HID_QUIRK_FORCE_TRIGGER_FALLING quirk
> > and then they probably will no longer need the bogus IRQ flag,
> > if you know about bugreports with an acpidump for any of the devices
> > needing the bogus IRQ quirk, then I (or you) can check how the IRQ is
> > declared there, I suspect it will be declared as level-low, just like
> > with the laptop this patch was written for. And it probably need to
> > be edge-falling instead of level-low just like this case.
>
> First, I’ve already tried using IRQF_TRIGGER_FALLING, unfortunately it
> doesn’t solve the issue for me.
>
> I talked to Elan once, and they confirm the correct IRQ trigger is level
> low. So forcing falling trigger may break other platforms.
As far as I understood Vladislav the quirk he got from Elan as well.
> Recently we found that Elan touchpad doesn’t like GpioInt() from its _CRS.
> Once the Interrupt() is used instead, the issue goes away.
IIRC i2c core tries to get interrupt from Interrupt() resource and
then falls back to GpioInt().
See i2c_acpi_get_info() and i2c_device_probe().
> But I am not sure how to patch its DSDT/SSDT in i2c-hid.
--
With Best Regards,
Andy Shevchenko
Powered by blists - more mailing lists