Bug 218124

Summary: [REGRESSION]: acpi/nouveau: Hardware unavailable upon resume or suspend fails
Product: ACPI Reporter: Owen T. Heisler (writer)
Component: Power-VideoAssignee: acpi_power-video
Status: RESOLVED CODE_FIX    
Severity: normal CC: jwrdegoede, writer
Priority: P3    
Hardware: Intel   
OS: Linux   
URL: https://gitlab.freedesktop.org/drm/nouveau/-/issues/273
Kernel Version: v6.6 Subsystem:
Regression: Yes Bisected commit-id: 89c290ea758911e660878e26270e084d862c03b0

Description Owen T. Heisler 2023-11-10 03:54:00 UTC
#regzbot introduced: 89c290ea758911e660878e26270e084d862c03b0
#regzbot link: https://gitlab.freedesktop.org/drm/nouveau/-/issues/273

## Reproducing

1. Boot system to framebuffer console.
2. Run `systemctl suspend`. If undocked without secondary display, suspend fails. If docked with secondary display, suspend succeeds.
3. Resume from suspend if applicable.
4. System is now in a broken state.

## Testing

- culprit commit is 89c290ea758911e660878e26270e084d862c03b0
- v6.6 fails
- v6.6 with culprit commit reverted does not fail
- Compiled with <https://gitlab.freedesktop.org/drm/nouveau/uploads/788d7faf22ba2884dcc09d7be931e813/v6.6-config1>

## Hardware

- ThinkPad W530 2438-52U
- Dock with Nvidia-connected DVI ports
- Secondary display connected via DVI
- Nvidia Optimus GPU switching system

```console
$ lspci | grep -i vga
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
01:00.0 VGA compatible controller: NVIDIA Corporation GK107GLM [Quadro K2000M] (rev a1)
```

## Decoded logs from v6.6

- System is not docked and fails to suspend: <https://gitlab.freedesktop.org/drm/nouveau/uploads/fb8fdf5a6bed1b1491d2544ab67fa257/undocked.log>
- System is docked and fails after resume: <https://gitlab.freedesktop.org/drm/nouveau/uploads/cb3d5ac55c01f663cd80fa000cd6a3b5/docked.log>
Comment 1 Hans de Goede 2023-11-10 13:22:39 UTC
I have posted a potential (to be tested) fix for this here:
https://lore.kernel.org/regressions/a592ce0c-64f0-477d-80fa-8f5a52ba29ea@redhat.com/
Comment 2 Owen T. Heisler 2023-11-16 20:17:14 UTC
That patch series works and has been tested by both Kai-Heng Feng (the author of the culprit commit) and me. See:

https://lore.kernel.org/regressions/20231112203627.34059-1-hdegoede@redhat.com/
Comment 3 Owen T. Heisler 2023-12-02 17:30:51 UTC
This is fixed in mainline with commit c93695494606326d7fd72b46a2a657139ccb0dec and (I think) the fix will be included in v6.6.4. Thanks to everyone involved!