On 7/14/25 10:49 AM, Mario Limonciello wrote: > On 7/14/25 10:01 AM, Arnd Bergmann wrote: >> On Mon, Jul 14, 2025, at 16:59, Limonciello, Mario wrote: >>> On 7/14/25 3:16 AM, Arnd Bergmann wrote: >>>> From: Arnd Bergmann <[email protected]> >>>> >>>> When power management is not enabled in the kernel build, the newly >>>> added hibernation changes cause a link failure: >>>> >>>> arm-linux-gnueabi-ld: drivers/gpu/drm/amd/amdgpu/amdgpu_drv.o: in >>>> function `amdgpu_pmops_thaw': >>>> amdgpu_drv.c:(.text+0x1514): undefined reference to >>>> `pm_hibernate_is_recovering' >>>> >>>> Make the power management code in this driver conditional on >>>> CONFIG_PM and CONFIG_PM_SLEEP >>>> >>>> Fixes: 530694f54dd5 ("drm/amdgpu: do not resume device in thaw for >>>> normal hibernation") >>>> Signed-off-by: Arnd Bergmann <[email protected]> >>> >>> We're going to fix it using this stub instead. >>> >>> https://lore.kernel.org/linux-pm/20250712233715.821424-1- >>> [email protected]/ >>> >>> It's in drm-misc-next as of this weekend and it should show up in >>> linux-next in the next day or two. >> >> That patch makes sense as well, but I think mine is useful as an >> improvement even if it doesn't address a link failure but only >> reduces the object size by reducing the amount of dead code. >> >> Arnd > > Thanks for pointing it out. You're right. I'll get it picked up. > > Reviewed-by: Mario Limonciello <[email protected]>
The internal AMD CI raised a problem on a dGPU (details below). I think that the diff might be a little overzealous, perhaps on the poweroff() callback? Here is the assertion that got raised. https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/blob/master/lib/amdgpu/amd_pci_unplug.c#L376 Failed test(s) ============== igt@amdgpu/amd_pci_unplug@amdgpu_hotunplug_with_exported_bo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Error message ------------- Starting subtest: amdgpu_hotunplug_with_exported_bo (amd_pci_unplug:981) amdgpu/amd_pci_unplug-CRITICAL: Test assertion failure function amdgpu_hotunplug_with_exported_bo, file ../lib/amdgpu/amd_pci_unplug.c:344: (amd_pci_unplug:981) amdgpu/amd_pci_unplug-CRITICAL: Failed assertion: r == 1 (amd_pci_unplug:981) amdgpu/amd_pci_unplug-CRITICAL: Last errno: 2, No such file or directory (amd_pci_unplug:981) amdgpu/amd_pci_unplug-CRITICAL: error: 0 != 1 Subtest amdgpu_hotunplug_with_exported_bo failed. **** DEBUG **** (amd_pci_unplug:981) amdgpu/amd_pci_unplug-CRITICAL: Test assertion failure function amdgpu_hotunplug_with_exported_bo, file ../lib/amdgpu/amd_pci_unplug.c:344: (amd_pci_unplug:981) amdgpu/amd_pci_unplug-CRITICAL: Failed assertion: r == 1 (amd_pci_unplug:981) amdgpu/amd_pci_unplug-CRITICAL: Last errno: 2, No such file or directory (amd_pci_unplug:981) amdgpu/amd_pci_unplug-CRITICAL: error: 0 != 1 (amd_pci_unplug:981) igt_core-INFO: Stack trace: (amd_pci_unplug:981) igt_core-INFO: #0 ../lib/igt_core.c:2075 __igt_fail_assert() (amd_pci_unplug:981) igt_core-INFO: #1 ../lib/amdgpu/amd_pci_unplug.c:377 amdgpu_hotunplug_with_exported_bo() (amd_pci_unplug:981) igt_core-INFO: #2 ../tests/amdgpu/amd_pci_unplug.c:50 __igt_unique____real_main34() (amd_pci_unplug:981) igt_core-INFO: #3 ../tests/amdgpu/amd_pci_unplug.c:34 main() (amd_pci_unplug:981) igt_core-INFO: #4 ../sysdeps/nptl/libc_start_call_main.h:58 __libc_start_call_main() (amd_pci_unplug:981) igt_core-INFO: #5 ../csu/libc-start.c:128 __libc_start_main@@GLIBC_2.34() (amd_pci_unplug:981) igt_core-INFO: #6 [_start+0x25] **** END **** Subtest amdgpu_hotunplug_with_exported_bo: FAIL (0.033s) Dmesg output ------------ <6> [701.429516] [IGT] amd_pci_unplug: executing <6> [701.434258] [IGT] amd_pci_unplug: starting subtest amdgpu_hotunplug_with_exported_bo <6> [701.475508] [IGT] amd_pci_unplug: finished subtest amdgpu_hotunplug_with_exported_bo, FAIL <6> [701.483839] [IGT] amd_pci_unplug: exiting, ret=98
