Bug 204763
Summary: | Powerbutton press not recognized on Lenovo X1 Tablet 2nd gen | ||
---|---|---|---|
Product: | ACPI | Reporter: | Jannis Schmidt (jschmidt) |
Component: | EC | Assignee: | acpi_ec |
Status: | CLOSED INSUFFICIENT_DATA | ||
Severity: | normal | CC: | a-kobel, rui.zhang |
Priority: | P1 | ||
Hardware: | Intel | ||
OS: | Linux | ||
Kernel Version: | 5.2.11 | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: | Original DSDT file |
Description
Jannis Schmidt
2019-09-03 18:58:08 UTC
please confirm 1. does your kernel have CONFIG_INTEL_VBTN set? 2. if no, does the original DSDT works well with CONFIG_INTEL_VBTN set? It is compiled as a module and the module intel_vbtn is loaded. Without the modified DSDT it does not work as described above. Same result with the newer kernel 5.2.13 I tested just after. Method (VBDL, 0, Serialized) { ADBG ("VBDL") PB1E |= 0x20 ADBG ("VBDL EN") If (CondRefOf (\_SB.PWRB.PBST)) { \_SB.PWRB.PBST = 0x00 Notify (\_SB.PWRB, 0x01) // Device Check } VBTN = 0x01 \_SB.PCI0.LPCB.EC.B10E = 0x01 RSDE = 0x01 } when PBST is set, we're using ACPI Power Button, PWRB._STA returns present, and notifications are sent to PWRB device. when PBST is cleared, PWRB is gone and the power button events are sent to another device, Method (_Q75, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { If (((OSYS >= 0x07DF) && \_SB.HIDD.BTLD)) { ADBG ("Notify _HID 0xCE") Notify (\_SB.HIDD, 0xCE) // Hardware-Specific } ElseIf ((\_SB.PWRB.PBST == 0x01)) { Notify (\_SB.PWRB, 0x80) // Status Change \_SB.PWRB.PBLV = 0x01 } } Device (HIDD) { Name (_HID, "INT33D5") // _HID: Hardware ID ... } HIDD is the intel-hid device, so please make sure if you have intel-hid driver is built or not (CONFIG_INTEL_HID_EVENT). Bug closed as there is no response from the bug reporter. Please feel free to reopen it if the problem still exists in latest upstream kernel. Still relevant on 5.10.16. intel-hid doesn't help, either: similar to intel-vbtn (which works nicely for the functions it supports), it's built as a module and loaded by default on my machine, but doesn't help. Amazing community. Few minutes later, Alban Bedel produced this: https://lore.kernel.org/platform-driver-x86/20210222141559.3775-1-albeu@free.fr/ |