platform/x86: intel-vbtn: reports SW_TABLET_MODE=1 even if that's not the case

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,


it has been reported[1], the 'intel-vbtn' driver reports SW_TABLET_MODE=1
even if that doesn't  accurately represent reality. That renders the
built-in keyboard and touchpad unusable when using libinput.

The device in question is

 DMI: Hewlett-Packard HP Pavilion 11 x360 PC/8050, BIOS F.28 08/11/2015

with chassis type=10.


The ACPI[2] device is as follows:

 Device (VGBI)
 {
 	Name (_HID, "INT33D6" /* Intel Virtual Buttons Device */)  // _HID: Hardware ID
 	Name (VBDS, Zero)
 	Name (ONTM, One)
 	Method (_STA, 0, Serialized)  // _STA: Status
 	{
 		Return (0x0F)
 	}

 	Method (VBDL, 0, Serialized)
 	{
 		P80H = 0xD1
 		^^PCI0.LPCB.EC0.IVBD = One
 	}

 	Method (VGBS, 0, Serialized)
 	{
 		If ((^^PCI0.LPCB.EC0.ROLS == Zero))
 		{
 			VBDS = 0x10
 		}
 		Else
 		{
 			VBDS = Zero
 		}

 		Return (VBDS) /* \_SB_.VGBI.VBDS */
 	}
 }


Seemingly, the 4th bit is set instead of the 6th (that is what the driver expects)
when not in tablet mode. This causes the driver to always report SW_TABLET_MODE=1.

This issue has been (most probably) introduced by commit cfae58ed681c5fe0185db843013ecc71cd265ebf
("platform/x86: intel-vbtn: Only blacklist SW_TABLET_MODE on the 9 / "Laptop" chasis-type").

As a sidenote, another interesting thing is that seemingly no ACPI events are fired when
the device is "folded".

What would be the best course of action?


[1]: https://forum.manjaro.org/t/keyboard-and-touchpad-only-work-on-kernel-5-6/22668
[2]: https://filebin.net/e1x29ym3jjo9q5ah (expires in one week)


Regards,
Barnabás Pőcze




[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux