Re: Keyboard regression by intel-vbtn

From: Barnabás Pőcze
Date: Tue Sep 29 2020 - 06:00:14 EST


Hi,

2020. szeptember 29., kedd 11:29 keltezéssel, Takashi Iwai írta:

> On Tue, 29 Sep 2020 11:21:27 +0200,
> Hans de Goede wrote:
>
> > Hi,
> > On 9/29/20 10:48 AM, Takashi Iwai wrote:
> >
> > > Hi Hans,
> > > it seems that the recent update of intel-vtn broke the keyboard input
> > > on some laptops with libinput:
> > > https://bugzilla.opensuse.org/show_bug.cgi?id=1175599
> > > Blacklisting intel-vtn fixes the issue, so it's likely the falsely
> > > reported tablet mode switch that leads libinput misbehaving. The
> > > affected machines are Acer E5-511 and ASUS X756UX laptops, and they
> > > shouldn't have the tablet mode at all, AFAIK.
> > > Could you take a look? I guess it's the commit cfae58ed681c that
> > > broke. The chassis type is Notebook on those, and this type should be
> > > excluded as well as Laptop.
> > > The dmidecode outputs and other info are found in the bugzilla above:
> > > https://bugzilla.opensuse.org/attachment.cgi?id=841999
> > > https://bugzilla.opensuse.org/attachment.cgi?id=842039
> > > The one for ASUS is embedded in hwinfo outpt:
> > > https://bugzilla.opensuse.org/attachment.cgi?id=841157
> >
> > Ugh. What a mess, sorry about this.
> > So as the commit message from commit cfae58ed681c
> > ("platform/x86: intel-vbtn: Only blacklist SW_TABLET_MODE on the 9 / "Laptop" chasis-type")
> > explains the reason to NOT NOT report SW_TABLET_MODE on devices
> > with a chassis type of 10 ("Notebook") is that at least
> > some HP ... 360 ... models use that chassis type and do
> > report a correct SW_TABLET_MODE through the intel-vbtn driver.
> > The SW_TABLET_MODE on these actually got regressed by
> > de9647efeaa9 ("platform/x86: intel-vbtn: Only activate tablet mode switch on 2-in-1's")
> > which first introduced the chassis-type check.
> > And to complicate things further even though some
> > HP ... 360 ... models use that chassis type and from the DSDT
> > it seems that they do report a correct SW_TABLET_MODE through the
> > intel-vbtn driver. In practice it is also broken on some
> > HP ... 360 ... models, see:
> > https://forum.manjaro.org/t/keyboard-and-touchpad-only-work-on-kernel-5-6/22668
> > http://git.infradead.org/linux-platform-drivers-x86.git/commit/d823346876a970522ff9e4d2b323c9b734dcc4de
> > "platform/x86: intel-vbtn: Fix SW_TABLET_MODE always reporting 1 on the HP Pavilion 11 x360"
>
> Oohoo, what a wonderful world :)
>


Splendid world, indeed. I'm wondering, however, why the incorrect state
is reported? Is it similar to the linked issue on the Manjaro forum, where a
different bit is seemingly used to report the tablet mode state, or something else?
I'm also wondering why it was chosen that a *set* bit means that the tablet
mode is *off*. All these problems could've been easily avoided... (given that
I'm not missing anything obvious).

> [...]


Regards,
Barnabás Pőcze