mbox series

[SRU,H,0/1] Fix the TGL-H system freeze problem after exiting s2idle

Message ID 20210618065942.415528-1-chris.chiu@canonical.com
Headers show
Series Fix the TGL-H system freeze problem after exiting s2idle | expand

Message

Chris Chiu June 18, 2021, 6:59 a.m. UTC
From: Chris Chiu <chris.chiu@canonical.com>

BugLink: https://bugs.launchpad.net/bugs/1931072

[Impact]
The system will be hold by the infinite loop in ACPI method IPCS after exiting s2idle in TGL-H systems if the docking station with external display connected is unplugged when the system is still in s2idle. It's because the system is unaware of the unplug event and it seems keep something asserted which will never be released while the system trying to exit s2idle.

[Fix]
Disconnect TypeC PHYs during system suspend and shutdown, even with the
corresponding TypeC sink still plugged to its connector. The HPD event is no longer triggered when the system is in s2idle so the resume process will not be hindered.

[Test Case]
1. On all TigerLake-H and later platforms with NVIDIA GPU, make sure the NVIDIA GPU is running in either On-Demand mode or Performance mode.
2. Connect the docking station with the external display connected.
3. Suspend the system.
4. Remove the docking station when the system is suspended.
5. Press power button to wake up the system and wait > 1 minutes to make sure if the display comes back.

[Where problems could occur]
Low. This will only make a difference in the TypeC DP alternate mode, and the display driver will detect the display connector after resume.

Imre Deak (1):
  drm/i915: Force a TypeC PHY disconnect during suspend/shutdown

 drivers/gpu/drm/i915/display/intel_ddi.c | 34 ++++++++++++++++++++++--
 drivers/gpu/drm/i915/display/intel_tc.c  | 34 +++++++++++++++++++-----
 drivers/gpu/drm/i915/display/intel_tc.h  |  2 ++
 3 files changed, 61 insertions(+), 9 deletions(-)

Comments

Stefan Bader June 25, 2021, 8:27 a.m. UTC | #1
On 18.06.21 08:59, chris.chiu@canonical.com wrote:
> From: Chris Chiu <chris.chiu@canonical.com>
> 
> BugLink: https://bugs.launchpad.net/bugs/1931072
> 
> [Impact]
> The system will be hold by the infinite loop in ACPI method IPCS after exiting s2idle in TGL-H systems if the docking station with external display connected is unplugged when the system is still in s2idle. It's because the system is unaware of the unplug event and it seems keep something asserted which will never be released while the system trying to exit s2idle.
> 
> [Fix]
> Disconnect TypeC PHYs during system suspend and shutdown, even with the
> corresponding TypeC sink still plugged to its connector. The HPD event is no longer triggered when the system is in s2idle so the resume process will not be hindered.
> 
> [Test Case]
> 1. On all TigerLake-H and later platforms with NVIDIA GPU, make sure the NVIDIA GPU is running in either On-Demand mode or Performance mode.
> 2. Connect the docking station with the external display connected.
> 3. Suspend the system.
> 4. Remove the docking station when the system is suspended.
> 5. Press power button to wake up the system and wait > 1 minutes to make sure if the display comes back.
> 
> [Where problems could occur]
> Low. This will only make a difference in the TypeC DP alternate mode, and the display driver will detect the display connector after resume.
> 
> Imre Deak (1):
>    drm/i915: Force a TypeC PHY disconnect during suspend/shutdown
> 
>   drivers/gpu/drm/i915/display/intel_ddi.c | 34 ++++++++++++++++++++++--
>   drivers/gpu/drm/i915/display/intel_tc.c  | 34 +++++++++++++++++++-----
>   drivers/gpu/drm/i915/display/intel_tc.h  |  2 ++
>   3 files changed, 61 insertions(+), 9 deletions(-)
> 

The SHA1 which this is claimed to be a backport of cannot be found on 
linux-next. Nor did I find a matching commit message on linux-next / linux.

-Stefan