Bug 204063 - Touchscreen does not work after suspend-to-RAM/resume
Summary: Touchscreen does not work after suspend-to-RAM/resume
Status: NEW
Alias: None
Product: Drivers
Classification: Unclassified
Component: I2C (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Drivers/I2C virtual user
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-07-04 19:23 UTC by Ken Hughes
Modified: 2019-09-18 19:14 UTC (History)
2 users (show)

See Also:
Kernel Version: 5.1.8
Subsystem:
Regression: No
Bisected commit-id:


Attachments
dmesg output from start of suspend (32.45 KB, text/plain)
2019-07-04 19:23 UTC, Ken Hughes
Details
lspci -vv output, prior to suspend (19.33 KB, text/plain)
2019-07-04 19:25 UTC, Ken Hughes
Details
lspci -vv output, after resume (19.33 KB, text/plain)
2019-07-04 19:26 UTC, Ken Hughes
Details

Description Ken Hughes 2019-07-04 19:23:14 UTC
Created attachment 283543 [details]
dmesg output from start of suspend

Hardware: Dell Latitude 7400 2-in-1 with Wacom 0x48C9 touchscreen.  On resume from suspend-to-RAM, the touchscreen (and entire laptop LCD display) are non-functional; LCD displays "DELL" logo an nothing else, and touchpad is non-responsive.  External HDMI display works fine.  

Steps to reproduce:
1) echo deep > /sys/power/mem_sleep
2) systemctl suspend
3) press power button to resume 

logs show i2c_hid is unable to change the power settings for the Wacom controller, with a series of "kernel: i2c_designware i2c_designware.0: controller timed out" messages.  Removing and reloading the i2c_hid stop the "controller timed out" messages, but the touchscreen remains unresponsive.
Comment 1 Ken Hughes 2019-07-04 19:25:38 UTC
Created attachment 283545 [details]
lspci -vv output, prior to suspend
Comment 2 Ken Hughes 2019-07-04 19:26:09 UTC
Created attachment 283547 [details]
lspci -vv output, after resume
Comment 3 Leho Kraav 2019-08-25 13:55:16 UTC
Yes, I can confirm this happens exactly as described on Dell Latitude 7400 2-in-1. `mem_sleep deep` is the cause, as `s2idle` mode works at least for resume.

Ken, have you discovered any new with this recently?
Comment 4 Leho Kraav 2019-08-25 13:56:15 UTC
I'm experiencing the DELL logo syndrome on resume on kernel 5.2.9, latest stable as of writing.
Comment 5 Leho Kraav 2019-08-25 15:42:38 UTC
Same result with last week's 5.3-rc5, so I doubt this is currently on anyone's radar. Who would be the best person to ping?
Comment 6 Ken Hughes 2019-08-25 18:36:31 UTC
As of today, nothing new to add.  Still hangs on kernel 4.19.66.
Comment 7 Leho Kraav 2019-08-25 18:50:10 UTC
Yep. I'm sticking with `s2idle` mode and see how that works out for battery life (although search shows everybody trying to get with `deep`), until someone is able to fix this.

I wasn't aware of this suspend subsystem evolution at all, going from E7440 -> E7480 -> now this 7400 2-in-1 a few days ago.

Looks like overmodernized myself this time.
Comment 8 Mario Limonciello 2019-09-18 18:59:11 UTC
The firmware for this machine only supports s2idle (which should come up as the default).  I would recommend to stick to that with it.
Comment 9 Leho Kraav 2019-09-18 19:10:23 UTC
It does come as the default, but wondering why `deep` is even listed then? Too complicated to remove S3 option from firmware, or..?
Comment 10 Mario Limonciello 2019-09-18 19:14:36 UTC
Normal "Windows" behavior won't allow you to access ACPI S3 when the firmware has been configured for Modern Standby (S2idle in Linux).  So any artifacts from the BIOS that referred to S3 will be ignored in Windows.

The "Linux" behavior to allow switching between the two requires dedicated firmware development effort to make S3 and MS/S2I work simultaneously.

> It does come as the default, but wondering why `deep` is even listed then?
> Too complicated to remove S3 option from firmware, or..?

Because the Linux kernel has no idea whether S3 will "work" or not.  It will offer deep if the ACPI objects related to S3 are present in system firmware.

Note You need to log in before you can comment on or make changes to this bug.