Re: [PATCH 0/3] ACPI / sleep: Support power button wakeup from S2I on recent Dell laptops
From: "Rafael J. Wysocki" <rafael@kernel.org>
Date: 2017-06-12 19:13:17
Also in:
linux-acpi
On Mon, Jun 12, 2017 at 5:54 PM, Srinivas Pandruvada [off-list ref] wrote:
On Mon, 2017-06-12 at 00:01 +0200, Jérôme de Bretagne wrote:quoted
Hi Mario, Hi Rafael,quoted
quoted
Some assumptions now: either the SCI is ignored erroneously or it's not interpreted correctly by the expected driver? I guess that's the 2 possibilities I'll try to investigate.Well that's too bad. Yes, you're correct that the EC has changed between those versions. Are you testing on or off AC adapter?I haven't detected a pattern specific to the state of the AC adapter. Good news on another front. By adding some more logs in the s2idle-dell-test branch, I've been able to check and confirm that notify_handler() from intel-hid.c is actually called upon short power key press during s2idle on my Latitude 7275. However, the system with BIOS 1.1.31 doesn't match (anymore?) the current criteria to call pm_wakeup_hard_event introduced in commit: platform: x86: intel-hid: Wake up the system from suspend-to-idle 7871dc61497a71be93c4f80d43ac109152510e7e This ugly 3-line modification I've added on the actual patch here: + if (priv->wakeup_mode) { + + /* Wake up Dell Latitude 7275 BIOS 1.1.31. */ + if (event == 0xce) + pm_wakeup_hard_event(&device->dev);0xce is a 5 button array press and 0xcf is release.
Right. And it is there in intel_array_keymap[].
quoted
+ + /* Wake up on 5-button array events only. */ + if (event == 0xc0 || !priv->array) + return;I don't think 0xc0 is any valid 5 button code.quoted
+ + if (sparse_keymap_entry_from_scancode(priv->array, event)) + pm_wakeup_hard_event(&device->dev); + else + dev_info(&device->dev, "unknown event 0x%x\n", event); + + return; + } make the system wake up on a standard short press finally! Is the "Wake up on 5-button array events only." assumption broad enough to cover the various Intel systems that need this behavior?For the platforms which supported Win 8.1 only the event should be handled by vbtn driver.
This is not intel-vbtn, but intel-hid. Thanks, Rafael