Comment 0 for bug 1931072

Revision history for this message
Chris Chiu (mschiu77) wrote :

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