This bug is awaiting verification that the kernel in -proposed solves
the problem. Please test the kernel and update this bug with the
results. If the problem is solved, change the tag 'verification-needed-
focal' to 'verification-done-focal'. If the problem still exists, change
the tag 'verification-needed-focal' to 'verification-failed-focal'.

If verification is not done by 5 working days from today, this fix will
be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how
to enable and use -proposed. Thank you!


** Tags added: verification-needed-focal

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux-oem-5.10 in Ubuntu.
https://bugs.launchpad.net/bugs/1931072

Title:
  USB Type-C hotplug event not handled properly in TGL-H system during
  s2idle

Status in HWE Next:
  New
Status in linux package in Ubuntu:
  New
Status in linux-oem-5.10 package in Ubuntu:
  Invalid
Status in linux source package in Focal:
  Invalid
Status in linux-oem-5.10 source package in Focal:
  Fix Committed
Status in linux source package in Hirsute:
  In Progress
Status in linux-oem-5.10 source package in Hirsute:
  Invalid

Bug description:
  [SRU Justification]

  [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.

  ========== Original Bug Description ==========

  [Summary]
  As mentioned in #1929166, the NVIDIA GPU will fall off the bus after exiting 
s2idle in TGL-H systems if the USB Type-C docking/dongle with external display 
connected is unplugged when the system is still in s2idle. The system will be 
hold by the infinite loop in ACPI method IPCS and then the PCIe root port of 
NVIDIA gpu fails the power transition from D3cold to D0. It's because the 
display connector hotplug event not handled properly in graphics drivers and 
the system will freeze for > 30 seconds to wait for ACPI method IPCS to exit.

  [ 154.446781]
  [ 154.446783]
  [ 154.446783] Initialized Local Variables for Method [IPCS]:
  [ 154.446784] Local0: 000000009863e365 <Obj> Integer 00000000000009C5
  [ 154.446790]
  [ 154.446791] Initialized Arguments for Method [IPCS]: (7 arguments
  defined for method invocation)
  [ 154.446792] Arg0: 0000000025568fbd <Obj> Integer 00000000000000AC
  [ 154.446795] Arg1: 000000009ef30e76 <Obj> Integer 0000000000000000
  [ 154.446798] Arg2: 00000000fdf820f0 <Obj> Integer 0000000000000010
  [ 154.446801] Arg3: 000000009fc2a088 <Obj> Integer 0000000000000001
  [ 154.446804] Arg4: 000000003a3418f7 <Obj> Integer 0000000000000001
  [ 154.446807] Arg5: 0000000020c4b87c <Obj> Integer 0000000000000000
  [ 154.446810] Arg6: 000000008b965a8a <Obj> Integer 0000000000000000
  [ 154.446813]
  [ 154.446815] ACPI Error: Aborting method \IPCS due to previous error
  (AE_AML_LOOP_TIMEOUT) (20200925/psparse-529)
  [ 154.446824] ACPI Error: Aborting method \MCUI due to previous error
  (AE_AML_LOOP_TIMEOUT) (20200925/psparse-529)
  [ 154.446829] ACPI Error: Aborting method \SPCX due to previous error
  (AE_AML_LOOP_TIMEOUT) (20200925/psparse-529)
  [ 154.446835] ACPI Error: Aborting method \_SB.PC00.PGSC due to
  previous error (AE_AML_LOOP_TIMEOUT) (20200925/psparse-529)
  [ 154.446841] ACPI Error: Aborting method \_SB.PC00.PGON due to
  previous error (AE_AML_LOOP_TIMEOUT) (20200925/psparse-529)
  [ 154.446846] ACPI Error: Aborting method \_SB.PC00.PEG1.NPON due to
  previous error (AE_AML_LOOP_TIMEOUT) (20200925/psparse-529)
  [ 154.446852] ACPI Error: Aborting method \_SB.PC00.PEG1.PG01._ON due
  to previous error (AE_AML_LOOP_TIMEOUT) (20200925/psparse-529)
  [ 154.446860] acpi device:02: Failed to change power state to D0
  [ 154.690760] video LNXVIDEO:00: Cannot transition to power state D0
  for parent in (unknown)

  [Reproduce Steps]
  1. Connect either Dell WD19SC/DC/TB docking station(USB Type-C) to the system.
  2. Connect to external display to HDMI/DisplayPort of the docking
  3. Suspend the system
  4. Unplug the USB Type-C connector which connects to the system
  5. Press power button to wake up the system
  6. Check if the internal/external display come back within 10 seconds.

  [Results]
  Expected:
    System works with the internal/external display

  Actual:
    System takes > 30 seconds to get back the display.

To manage notifications about this bug go to:
https://bugs.launchpad.net/hwe-next/+bug/1931072/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to