> From: Greg Steuck <[email protected]>
> Date: Wed, 14 Aug 2024 21:16:08 -0700
>
> Jonathan Gray <[email protected]> writes:
>
> > for in_s0ix to be set the activate function needs to
> > call the pmops wrappers
> >
> > that may help
> >
> > amdgpu_pm_ops contains other function pointers that may
> > also be of interest
>
> Applying this (and undoing the return true stampede) gets me into a
> state where I can reliably zzz and wakeup with a caveat: the monitor
> remains ON :)
Well, you'll need to keep the return true stampede. Because:
> The trace has this new diagnostics:
>
> > drm:pid29637:amdgpu_acpi_is_s0ix_active *ERROR* Power consumption will be
> > higher as BIOS has not been configured for suspend-to-idle.
> > To use suspend-to-idle change the sleep mode in BIOS setup.
This will make amdgpu_acpi_is_s0ix_active return false, which means
the driver will skip any attempts to suspend your GPU.
The fact that it prints that message is a bit worrying though. It
suggests that they took away S3 but didn't actually gave you S0i?
Or maybe the code that checks S0i support is buggy?
> The whole thing is the same after each zzz/wakeup:
>
> > /usr/src/sys/kern/subr_suspend.c:65
> > /usr/src/sys/kern/subr_suspend.c:81
> > /usr/src/sys/kern/subr_suspend.c:84
> > /usr/src/sys/kern/subr_suspend.c:104
> > /usr/src/sys/kern/subr_suspend.c:106
> > config_suspend: enter scsibus0
> > config_suspend: scsibus0 0
> > config_suspend: enter acpihpet0
> > config_suspend: acpihpet0 0
> > config_suspend: enter com0
> > config_suspend: com0 0
> > config_suspend: enter acpibtn0
> > config_suspend: acpibtn0 0
> > config_suspend: enter amdgpio0
> > config_suspend: amdgpio0 0
> > config_suspend: enter tpm0
> > config_suspend: tpm0 0
> > config_suspend: enter cpu0
> > config_suspend: cpu0 0
> > config_suspend: enter cpu1
> > config_suspend: cpu1 0
> > config_suspend: enter cpu2
> > config_suspend: cpu2 0
> > config_suspend: enter cpu3
> > config_suspend: cpu3 0
> > config_suspend: enter cpu4
> > config_suspend: cpu4 0
> > config_suspend: enter cpu5
> > config_suspend: cpu5 0
> > config_suspend: enter cpu6
> > config_suspend: cpu6 0
> > config_suspend: enter cpu7
> > config_suspend: cpu7 0
> > config_suspend: enter ioapic0
> > config_suspend: ioapic0 0
> > config_suspend: enter ioapic1
> > config_suspend: ioapic1 0
> > config_suspend: enter pci0
> > config_suspend: enter pchb0
> > config_suspend: pchb0 0
> > config_suspend: enter ppb0
> > config_suspend: enter pci1
> > config_suspend: enter ppb1
> > config_suspend: enter pci2
> > config_suspend: enter ppb2
> > config_suspend: enter pci3
> > config_suspend: enter nvme0
> > config_suspend: enter scsibus1
> > config_suspend: enter sd0
> > config_suspend: sd0 0
> > config_suspend: scsibus1 0
> > config_suspend: nvme0 0
> > config_suspend: pci3 0
> > config_suspend: ppb2 0
> > config_suspend: enter ppb3
> > config_suspend: enter pci4
> > config_suspend: enter em0
> > config_suspend: em0 0
> > config_suspend: pci4 0
> > config_suspend: ppb3 0
> > config_suspend: enter ppb4
> > config_suspend: enter pci5
> > config_suspend: enter xhci0
> > config_suspend: enter usb0
> > uhub0 detached
> > config_suspend: usb0 0
> > config_suspend: xhci0 0
> > config_suspend: enter xhci1
> > config_suspend: enter usb1
> > uhub1 detached
> > config_suspend: usb1 0
> > config_suspend: xhci1 0
> > config_suspend: pci5 0
> > config_suspend: ppb4 0
> > config_suspend: enter ppb5
> > config_suspend: enter pci6
> > config_suspend: enter ahci0
> > config_suspend: enter scsibus2
> > config_suspend: scsibus2 0
> > config_suspend: ahci0 0
> > config_suspend: pci6 0
> > config_suspend: ppb5 0
> > config_suspend: enter ppb6
> > config_suspend: enter pci7
> > config_suspend: enter ahci1
> > config_suspend: enter scsibus3
> > config_suspend: enter cd0
> > config_suspend: cd0 0
> > config_suspend: scsibus3 0
> > config_suspend: ahci1 0
> > config_suspend: pci7 0
> > config_suspend: ppb6 0
> > config_suspend: pci2 0
> > config_suspend: ppb1 0
> > config_suspend: pci1 0
> > config_suspend: ppb0 0
> > config_suspend: enter pchb1
> > config_suspend: pchb1 0
> > config_suspend: enter ppb7
> > config_suspend: enter pci8
> > config_suspend: enter nvme1
> > config_suspend: enter scsibus4
> > config_suspend: enter sd1
> > config_suspend: sd1 0
> > config_suspend: scsibus4 0
> > config_suspend: nvme1 0
> > config_suspend: pci8 0
> > config_suspend: ppb7 0
> > config_suspend: enter pchb2
> > config_suspend: pchb2 0
> > config_suspend: enter ppb8
> > config_suspend: enter pci9
> > config_suspend: enter amdgpu0
> > config_suspend: enter drm0
> > config_suspend: drm0 0
> > config_suspend: enter wsdisplay0
> > config_suspend: wsdisplay0 0
> > drm:pid29637:amdgpu_acpi_is_s0ix_active *ERROR* Power consumption will be
> > higher as BIOS has not been configured for suspend-to-idle.
> > To use suspend-to-idle change the sleep mode in BIOS setup.
> > config_suspend: amdgpu0 0
> > config_suspend: enter azalia0
> > config_suspend: azalia0 0
> > config_suspend: enter xhci2
> > config_suspend: enter usb2
> > uhub2 detached
> > config_suspend: usb2 0
> > config_suspend: xhci2 0
> > config_suspend: enter xhci3
> > config_suspend: enter usb3
> > config_suspend: enter uhidev0
> > config_suspend: enter wskbd1
> > config_suspend: wskbd1 0
> > config_suspend: uhidev0 0
> > config_suspend: enter uhidev1
> > config_suspend: enter wsmouse0
> > config_suspend: wsmouse0 0
> > config_suspend: uhidev1 0
> > config_suspend: enter uhidev2
> > config_suspend: enter wsmouse1
> > config_suspend: wsmouse1 0
> > config_suspend: uhidev2 0
> > config_suspend: enter uhidev3
> > config_suspend: uhidev3 0
> > config_suspend: enter uhidev4
> > config_suspend: uhidev4 0
> > wskbd1: disconnecting from wsdisplay0
> > wskbd1 detached
> > ukbd0 detached
> > uhidev0 detached
> > wsmouse0 detached
> > ums0 detached
> > uhidev1 detached
> > wsmouse1 detached
> > ums1 detached
> > uhidev2 detached
> > fido0 detached
> > uhidev3 detached
> > uhid0 detached
> > uhidev4 detached
> > uhub4 detached
> > uhub3 detached
> > config_suspend: usb3 0
> > config_suspend: xhci3 0
> > config_suspend: enter azalia1
> > config_suspend: enter audio0
> > config_suspend: audio0 0
> > config_suspend: azalia1 0
> > config_suspend: pci9 0
> > config_suspend: ppb8 0
> > config_suspend: enter ppb9
> > config_suspend: enter pci10
> > config_suspend: enter ahci2
> > config_suspend: enter scsibus5
> > config_suspend: scsibus5 0
> > config_suspend: ahci2 0
> > config_suspend: enter ahci3
> > config_suspend: enter scsibus6
> > config_suspend: scsibus6 0
> > config_suspend: ahci3 0
> > config_suspend: pci10 0
> > config_suspend: ppb9 0
> > config_suspend: enter pckbc0
> > config_suspend: enter pckbd0
> > config_suspend: enter wskbd0
> > config_suspend: wskbd0 0
> > config_suspend: pckbd0 0
> > config_suspend: pckbc0 0
> > config_suspend: enter pchb3
> > config_suspend: pchb3 0
> > config_suspend: enter pchb4
> > config_suspend: pchb4 0
> > config_suspend: enter pchb5
> > config_suspend: pchb5 0
> > config_suspend: enter pchb6
> > config_suspend: pchb6 0
> > config_suspend: enter pchb7
> > config_suspend: pchb7 0
> > config_suspend: enter pchb8
> > config_suspend: pchb8 0
> > config_suspend: enter pchb9
> > config_suspend: pchb9 0
> > config_suspend: enter pchb10
> > config_suspend: pchb10 0
> > config_suspend: pci0 0
> > config_suspend: enter vmm0
> > config_suspend: vmm0 0
> > /usr/src/sys/kern/subr_suspend.c:114
> > /usr/src/sys/kern/subr_suspend.c:116
> > /usr/src/sys/kern/subr_suspend.c:119
> > /usr/src/sys/kern/subr_suspend.c:122
> > /usr/src/sys/kern/subr_suspend.c:132
> > /usr/src/sys/kern/subr_suspend.c:137
> > /usr/src/sys/kern/subr_suspend.c:151
> > /usr/src/sys/kern/subr_suspend.c:153
> > config_suspend: enter scsibus0
> > config_suspend: scsibus0 0
> > config_suspend: enter acpihpet0
> > config_suspend: acpihpet0 0
> > config_suspend: enter com0
> > config_suspend: com0 0
> > config_suspend: enter acpibtn0
> > config_suspend: acpibtn0 0
> > config_suspend: enter amdgpio0
> > config_suspend: amdgpio0 0
> > config_suspend: enter tpm0
> > config_suspend: tpm0 0
> > config_suspend: enter cpu0
> > config_suspend: cpu0 0
> > config_suspend: enter cpu1
> > config_suspend: cpu1 0
> > config_suspend: enter cpu2
> > config_suspend: cpu2 0
> > config_suspend: enter cpu3
> > config_suspend: cpu3 0
> > config_suspend: enter cpu4
> > config_suspend: cpu4 0
> > config_suspend: enter cpu5
> > config_suspend: cpu5 0
> > config_suspend: enter cpu6
> > config_suspend: cpu6 0
> > config_suspend: enter cpu7
> > config_suspend: cpu7 0
> > config_suspend: enter ioapic0
> > config_suspend: ioapic0 0
> > config_suspend: enter ioapic1
> > config_suspend: ioapic1 0
> > config_suspend: enter pci0
> > config_suspend: enter pchb0
> > config_suspend: pchb0 0
> > config_suspend: enter ppb0
> > config_suspend: enter pci1
> > config_suspend: enter ppb1
> > config_suspend: enter pci2
> > config_suspend: enter ppb2
> > config_suspend: enter pci3
> > config_suspend: enter nvme0
> > config_suspend: enter scsibus1
> > config_suspend: enter sd0
> > config_suspend: sd0 0
> > config_suspend: scsibus1 0
> > config_suspend: nvme0 0
> > config_suspend: pci3 0
> > config_suspend: ppb2 0
> > config_suspend: enter ppb3
> > config_suspend: enter pci4
> > config_suspend: enter em0
> > config_suspend: em0 0
> > config_suspend: pci4 0
> > config_suspend: ppb3 0
> > config_suspend: enter ppb4
> > config_suspend: enter pci5
> > config_suspend: enter xhci0
> > config_suspend: enter usb0
> > config_suspend: usb0 0
> > config_suspend: xhci0 0
> > config_suspend: enter xhci1
> > config_suspend: enter usb1
> > config_suspend: usb1 0
> > config_suspend: xhci1 0
> > config_suspend: pci5 0
> > config_suspend: ppb4 0
> > config_suspend: enter ppb5
> > config_suspend: enter pci6
> > config_suspend: enter ahci0
> > config_suspend: enter scsibus2
> > config_suspend: scsibus2 0
> > config_suspend: ahci0 0
> > config_suspend: pci6 0
> > config_suspend: ppb5 0
> > config_suspend: enter ppb6
> > config_suspend: enter pci7
> > config_suspend: enter ahci1
> > config_suspend: enter scsibus3
> > config_suspend: enter cd0
> > config_suspend: cd0 0
> > config_suspend: scsibus3 0
> > config_suspend: ahci1 0
> > config_suspend: pci7 0
> > config_suspend: ppb6 0
> > config_suspend: pci2 0
> > config_suspend: ppb1 0
> > config_suspend: pci1 0
> > config_suspend: ppb0 0
> > config_suspend: enter pchb1
> > config_suspend: pchb1 0
> > config_suspend: enter ppb7
> > config_suspend: enter pci8
> > config_suspend: enter nvme1
> > config_suspend: enter scsibus4
> > config_suspend: enter sd1
> > config_suspend: sd1 0
> > config_suspend: scsibus4 0
> > config_suspend: nvme1 0
> > config_suspend: pci8 0
> > config_suspend: ppb7 0
> > config_suspend: enter pchb2
> > config_suspend: pchb2 0
> > config_suspend: enter ppb8
> > config_suspend: enter pci9
> > config_suspend: enter amdgpu0
> > config_suspend: amdgpu0 0
> > config_suspend: enter azalia0
> > config_suspend: azalia0 0
> > config_suspend: enter xhci2
> > config_suspend: enter usb2
> > config_suspend: usb2 0
> > config_suspend: xhci2 0
> > config_suspend: enter xhci3
> > config_suspend: enter usb3
> > config_suspend: usb3 0
> > config_suspend: xhci3 0
> > config_suspend: enter azalia1
> > config_suspend: azalia1 0
> > config_suspend: pci9 0
> > config_suspend: ppb8 0
> > config_suspend: enter ppb9
> > config_suspend: enter pci10
> > config_suspend: enter ahci2
> > config_suspend: enter scsibus5
> > config_suspend: scsibus5 0
> > config_suspend: ahci2 0
> > config_suspend: enter ahci3
> > config_suspend: enter scsibus6
> > config_suspend: scsibus6 0
> > config_suspend: ahci3 0
> > config_suspend: pci10 0
> > config_suspend: ppb9 0
> > config_suspend: enter pckbc0
> > config_suspend: enter pckbd0
> > config_suspend: enter wskbd0
> > config_suspend: wskbd0 0
> > config_suspend: pckbd0 0
> > config_suspend: pckbc0 0
> > config_suspend: enter pchb3
> > config_suspend: pchb3 0
> > config_suspend: enter pchb4
> > config_suspend: pchb4 0
> > config_suspend: enter pchb5
> > config_suspend: pchb5 0
> > config_suspend: enter pchb6
> > config_suspend: pchb6 0
> > config_suspend: enter pchb7
> > config_suspend: pchb7 0
> > config_suspend: enter pchb8
> > config_suspend: pchb8 0
> > config_suspend: enter pchb9
> > config_suspend: pchb9 0
> > config_suspend: enter pchb10
> > config_suspend: pchb10 0
> > config_suspend: pci0 0
> > config_suspend: enter vmm0
> > config_suspend: vmm0 0
> > config_suspend: enter scsibus0
> > config_suspend: scsibus0 0
> > config_suspend: enter acpihpet0
> > config_suspend: acpihpet0 0
> > config_suspend: enter com0
> > config_suspend: com0 0
> > config_suspend: enter acpibtn0
> > config_suspend: acpibtn0 0
> > config_suspend: enter amdgpio0
> > config_suspend: amdgpio0 0
> > config_suspend: enter tpm0
> > config_suspend: tpm0 0
> > config_suspend: enter cpu0
> > config_suspend: cpu0 0
> > config_suspend: enter cpu1
> > config_suspend: cpu1 0
> > config_suspend: enter cpu2
> > config_suspend: cpu2 0
> > config_suspend: enter cpu3
> > config_suspend: cpu3 0
> > config_suspend: enter cpu4
> > config_suspend: cpu4 0
> > config_suspend: enter cpu5
> > config_suspend: cpu5 0
> > config_suspend: enter cpu6
> > config_suspend: cpu6 0
> > config_suspend: enter cpu7
> > config_suspend: cpu7 0
> > config_suspend: enter ioapic0
> > config_suspend: ioapic0 0
> > config_suspend: enter ioapic1
> > config_suspend: ioapic1 0
> > config_suspend: enter pci0
> > config_suspend: enter pchb0
> > config_suspend: pchb0 0
> > config_suspend: enter ppb0
> > config_suspend: enter pci1
> > config_suspend: enter ppb1
> > config_suspend: enter pci2
> > config_suspend: enter ppb2
> > config_suspend: enter pci3
> > config_suspend: enter nvme0
> > config_suspend: enter scsibus1
> > config_suspend: enter sd0
> > config_suspend: sd0 0
> > config_suspend: scsibus1 0
> > config_suspend: nvme0 0
> > config_suspend: pci3 0
> > config_suspend: ppb2 0
> > config_suspend: enter ppb3
> > config_suspend: enter pci4
> > config_suspend: enter em0
> > config_suspend: em0 0
> > config_suspend: pci4 0
> > config_suspend: ppb3 0
> > config_suspend: enter ppb4
> > config_suspend: enter pci5
> > config_suspend: enter xhci0
> > config_suspend: enter usb0
> > config_suspend: usb0 0
> > config_suspend: xhci0 0
> > config_suspend: enter xhci1
> > config_suspend: enter usb1
> > config_suspend: usb1 0
> > config_suspend: xhci1 0
> > config_suspend: pci5 0
> > config_suspend: ppb4 0
> > config_suspend: enter ppb5
> > config_suspend: enter pci6
> > config_suspend: enter ahci0
> > config_suspend: enter scsibus2
> > config_suspend: scsibus2 0
> > config_suspend: ahci0 0
> > config_suspend: pci6 0
> > config_suspend: ppb5 0
> > config_suspend: enter ppb6
> > config_suspend: enter pci7
> > config_suspend: enter ahci1
> > config_suspend: enter scsibus3
> > config_suspend: enter cd0
> > config_suspend: cd0 0
> > config_suspend: scsibus3 0
> > config_suspend: ahci1 0
> > config_suspend: pci7 0
> > config_suspend: ppb6 0
> > config_suspend: pci2 0
> > config_suspend: ppb1 0
> > config_suspend: pci1 0
> > config_suspend: ppb0 0
> > config_suspend: enter pchb1
> > config_suspend: pchb1 0
> > config_suspend: enter ppb7
> > config_suspend: enter pci8
> > config_suspend: enter nvme1
> > config_suspend: enter scsibus4
> > config_suspend: enter sd1
> > config_suspend: sd1 0
> > config_suspend: scsibus4 0
> > config_suspend: nvme1 0
> > config_suspend: pci8 0
> > config_suspend: ppb7 0
> > config_suspend: enter pchb2
> > config_suspend: pchb2 0
> > config_suspend: enter ppb8
> > config_suspend: enter pci9
> > config_suspend: enter amdgpu0
> > config_suspend: amdgpu0 0
> > config_suspend: enter azalia0
> > config_suspend: azalia0 0
> > config_suspend: enter xhci2
> > config_suspend: enter usb2
> > config_suspend: usb2 0
> > config_suspend: xhci2 0
> > config_suspend: enter xhci3
> > config_suspend: enter usb3
> > config_suspend: usb3 0
> > xhci3: save state timeout
> > config_suspend: xhci3 0
> > config_suspend: enter azalia1
> > config_suspend: azalia1 0
> > config_suspend: pci9 0
> > config_suspend: ppb8 0
> > config_suspend: enter ppb9
> > config_suspend: enter pci10
> > config_suspend: enter ahci2
> > config_suspend: enter scsibus5
> > config_suspend: scsibus5 0
> > config_suspend: ahci2 0
> > config_suspend: enter ahci3
> > config_suspend: enter scsibus6
> > config_suspend: scsibus6 0
> > config_suspend: ahci3 0
> > config_suspend: pci10 0
> > config_suspend: ppb9 0
> > config_suspend: enter pckbc0
> > config_suspend: enter pckbd0
> > config_suspend: enter wskbd0
> > config_suspend: wskbd0 0
> > config_suspend: pckbd0 0
> > config_suspend: pckbc0 0
> > config_suspend: enter pchb3
> > config_suspend: pchb3 0
> > config_suspend: enter pchb4
> > config_suspend: pchb4 0
> > config_suspend: enter pchb5
> > config_suspend: pchb5 0
> > config_suspend: enter pchb6
> > config_suspend: pchb6 0
> > config_suspend: enter pchb7
> > config_suspend: pchb7 0
> > config_suspend: enter pchb8
> > config_suspend: pchb8 0
> > config_suspend: enter pchb9
> > config_suspend: pchb9 0
> > config_suspend: enter pchb10
> > config_suspend: pchb10 0
> > config_suspend: pci0 0
> > config_suspend: enter vmm0
> > config_suspend: vmm0 0
> > suspend
> > resume 1
> > /usr/src/sys/kern/subr_suspend.c:194
> > config_suspend: enter acpihpet0
> > config_suspend: acpihpet0 0
> > config_suspend: enter com0
> > config_suspend: com0 0
> > config_suspend: enter acpibtn0
> > config_suspend: acpibtn0 0
> > config_suspend: enter amdgpio0
> > config_suspend: amdgpio0 0
> > config_suspend: enter tpm0
> > config_suspend: tpm0 0
> > config_suspend: enter cpu0
> > config_suspend: cpu0 0
> > config_suspend: enter cpu1
> > config_suspend: cpu1 0
> > config_suspend: enter cpu2
> > config_suspend: cpu2 0
> > config_suspend: enter cpu3
> > config_suspend: cpu3 0
> > config_suspend: enter cpu4
> > config_suspend: cpu4 0
> > config_suspend: enter cpu5
> > config_suspend: cpu5 0
> > config_suspend: enter cpu6
> > config_suspend: cpu6 0
> > config_suspend: enter cpu7
> > config_suspend: cpu7 0
> > config_suspend: enter ioapic0
> > config_suspend: ioapic0 0
> > config_suspend: enter ioapic1
> > config_suspend: ioapic1 0
> > config_suspend: enter pci0
> > config_suspend: enter pchb0
> > config_suspend: pchb0 0
> > config_suspend: enter ppb0
> > config_suspend: enter pci1
> > config_suspend: enter ppb1
> > config_suspend: enter pci2
> > config_suspend: enter ppb2
> > config_suspend: enter pci3
> > config_suspend: enter nvme0
> > config_suspend: enter scsibus1
> > config_suspend: enter sd0
> > config_suspend: sd0 0
> > config_suspend: scsibus1 0
> > config_suspend: nvme0 0
> > config_suspend: pci3 0
> > config_suspend: ppb2 0
> > config_suspend: enter ppb3
> > config_suspend: enter pci4
> > config_suspend: enter em0
> > config_suspend: em0 0
> > config_suspend: pci4 0
> > config_suspend: ppb3 0
> > config_suspend: enter ppb4
> > config_suspend: enter pci5
> > config_suspend: enter xhci0
> > config_suspend: enter usb0
> > config_suspend: usb0 0
> > config_suspend: xhci0 0
> > config_suspend: enter xhci1
> > config_suspend: enter usb1
> > config_suspend: usb1 0
> > config_suspend: xhci1 0
> > config_suspend: pci5 0
> > config_suspend: ppb4 0
> > config_suspend: enter ppb5
> > config_suspend: enter pci6
> > config_suspend: enter ahci0
> > config_suspend: enter scsibus2
> > config_suspend: scsibus2 0
> > config_suspend: ahci0 0
> > config_suspend: pci6 0
> > config_suspend: ppb5 0
> > config_suspend: enter ppb6
> > config_suspend: enter pci7
> > config_suspend: enter ahci1
> > config_suspend: enter scsibus3
> > config_suspend: enter cd0
> > config_suspend: cd0 0
> > config_suspend: scsibus3 0
> > config_suspend: ahci1 0
> > config_suspend: pci7 0
> > config_suspend: ppb6 0
> > config_suspend: pci2 0
> > config_suspend: ppb1 0
> > config_suspend: pci1 0
> > config_suspend: ppb0 0
> > config_suspend: enter pchb1
> > config_suspend: pchb1 0
> > config_suspend: enter ppb7
> > config_suspend: enter pci8
> > config_suspend: enter nvme1
> > config_suspend: enter scsibus4
> > config_suspend: enter sd1
> > config_suspend: sd1 0
> > config_suspend: scsibus4 0
> > config_suspend: nvme1 0
> > config_suspend: pci8 0
> > config_suspend: ppb7 0
> > config_suspend: enter pchb2
> > config_suspend: pchb2 0
> > config_suspend: enter ppb8
> > config_suspend: enter pci9
> > config_suspend: enter amdgpu0
> > config_suspend: amdgpu0 0
> > config_suspend: enter azalia0
> > config_suspend: azalia0 0
> > config_suspend: enter xhci2
> > config_suspend: enter usb2
> > config_suspend: usb2 0
> > config_suspend: xhci2 0
> > config_suspend: enter xhci3
> > config_suspend: enter usb3
> > config_suspend: usb3 0
> > config_suspend: xhci3 0
> > config_suspend: enter azalia1
> > config_suspend: enter audio0
> > config_suspend: audio0 0
> > config_suspend: azalia1 0
> > config_suspend: pci9 0
> > config_suspend: ppb8 0
> > config_suspend: enter ppb9
> > config_suspend: enter pci10
> > config_suspend: enter ahci2
> > config_suspend: enter scsibus5
> > config_suspend: scsibus5 0
> > config_suspend: ahci2 0
> > config_suspend: enter ahci3
> > config_suspend: enter scsibus6
> > config_suspend: scsibus6 0
> > config_suspend: ahci3 0
> > config_suspend: pci10 0
> > config_suspend: ppb9 0
> > config_suspend: enter pckbc0
> > config_suspend: enter pckbd0
> > config_suspend: enter wskbd0
> > config_suspend: wskbd0 0
> > config_suspend: pckbd0 0
> > config_suspend: pckbc0 0
> > config_suspend: enter pchb3
> > config_suspend: pchb3 0
> > config_suspend: enter pchb4
> > config_suspend: pchb4 0
> > config_suspend: enter pchb5
> > config_suspend: pchb5 0
> > config_suspend: enter pchb6
> > config_suspend: pchb6 0
> > config_suspend: enter pchb7
> > config_suspend: pchb7 0
> > config_suspend: enter pchb8
> > config_suspend: pchb8 0
> > config_suspend: enter pchb9
> > config_suspend: pchb9 0
> > config_suspend: enter pchb10
> > config_suspend: pchb10 0
> > config_suspend: pci0 0
> > config_suspend: enter vmm0
> > config_suspend: vmm0 0
> > config_suspend: enter scsibus0
> > config_suspend: scsibus0 0
> > /usr/src/sys/kern/subr_suspend.c:198
> > /usr/src/sys/kern/subr_suspend.c:217
> > /usr/src/sys/kern/subr_suspend.c:220
> > /usr/src/sys/kern/subr_suspend.c:222
> > /usr/src/sys/kern/subr_suspend.c:226
> > config_suspend: enter acpihpet0
> > config_suspend: acpihpet0 0
> > config_suspend: enter com0
> > config_suspend: com0 0
> > config_suspend: enter acpibtn0
> > config_suspend: acpibtn0 0
> > config_suspend: enter amdgpio0
> > config_suspend: amdgpio0 0
> > config_suspend: enter tpm0
> > config_suspend: tpm0 0
> > config_suspend: enter cpu0
> > config_suspend: cpu0 0
> > config_suspend: enter cpu1
> > config_suspend: cpu1 0
> > config_suspend: enter cpu2
> > config_suspend: cpu2 0
> > config_suspend: enter cpu3
> > config_suspend: cpu3 0
> > config_suspend: enter cpu4
> > config_suspend: cpu4 0
> > config_suspend: enter cpu5
> > config_suspend: cpu5 0
> > config_suspend: enter cpu6
> > config_suspend: cpu6 0
> > config_suspend: enter cpu7
> > config_suspend: cpu7 0
> > config_suspend: enter ioapic0
> > config_suspend: ioapic0 0
> > config_suspend: enter ioapic1
> > config_suspend: ioapic1 0
> > config_suspend: enter pci0
> > config_suspend: enter pchb0
> > config_suspend: pchb0 0
> > config_suspend: enter ppb0
> > config_suspend: enter pci1
> > config_suspend: enter ppb1
> > config_suspend: enter pci2
> > config_suspend: enter ppb2
> > config_suspend: enter pci3
> > config_suspend: enter nvme0
> > config_suspend: enter scsibus1
> > config_suspend: enter sd0
> > config_suspend: sd0 0
> > config_suspend: scsibus1 0
> > config_suspend: nvme0 0
> > config_suspend: pci3 0
> > config_suspend: ppb2 0
> > config_suspend: enter ppb3
> > config_suspend: enter pci4
> > config_suspend: enter em0
> > config_suspend: em0 0
> > config_suspend: pci4 0
> > config_suspend: ppb3 0
> > config_suspend: enter ppb4
> > config_suspend: enter pci5
> > config_suspend: enter xhci0
> > config_suspend: enter usb0
> > uhub0 at usb0 configuration 1 interface 0 "AMD xHCI root hub" rev 3.00/1.00
> > addr 1
> > config_suspend: usb0 0
> > config_suspend: xhci0 0
> > config_suspend: enter xhci1
> > config_suspend: enter usb1
> > uhub1 at usb1 configuration 1 interface 0 "AMD xHCI root hub" rev 3.00/1.00
> > addr 1
> > config_suspend: usb1 0
> > config_suspend: xhci1 0
> > config_suspend: pci5 0
> > config_suspend: ppb4 0
> > config_suspend: enter ppb5
> > config_suspend: enter pci6
> > config_suspend: enter ahci0
> > config_suspend: enter scsibus2
> > config_suspend: scsibus2 0
> > config_suspend: ahci0 0
> > config_suspend: pci6 0
> > config_suspend: ppb5 0
> > config_suspend: enter ppb6
> > config_suspend: enter pci7
> > config_suspend: enter ahci1
> > config_suspend: enter scsibus3
> > config_suspend: enter cd0
> > config_suspend: cd0 0
> > config_suspend: scsibus3 0
> > config_suspend: ahci1 0
> > config_suspend: pci7 0
> > config_suspend: ppb6 0
> > config_suspend: pci2 0
> > config_suspend: ppb1 0
> > config_suspend: pci1 0
> > config_suspend: ppb0 0
> > config_suspend: enter pchb1
> > config_suspend: pchb1 0
> > config_suspend: enter ppb7
> > config_suspend: enter pci8
> > config_suspend: enter nvme1
> > config_suspend: enter scsibus4
> > config_suspend: enter sd1
> > config_suspend: sd1 0
> > config_suspend: scsibus4 0
> > config_suspend: nvme1 0
> > config_suspend: pci8 0
> > config_suspend: ppb7 0
> > config_suspend: enter pchb2
> > config_suspend: pchb2 0
> > config_suspend: enter ppb8
> > config_suspend: enter pci9
> > config_suspend: enter amdgpu0
> > config_suspend: enter drm0
> > config_suspend: drm0 0
> > config_suspend: enter wsdisplay0
> > config_suspend: wsdisplay0 0
> > config_suspend: amdgpu0 0
> > config_suspend: enter azalia0
> > config_suspend: azalia0 0
> > config_suspend: enter xhci2
> > config_suspend: enter usb2
> > uhub2 at usb2 configuration 1 interface 0 "AMD xHCI root hub" rev 3.00/1.00
> > addr 1
> > config_suspend: usb2 0
> > config_suspend: xhci2 0
> > config_suspend: enter xhci3
> > config_suspend: enter usb3
> > uhub3 at usb3 configuration 1 interface 0 "AMD xHCI root hub" rev 3.00/1.00
> > addr 1
> > config_suspend: usb3 0
> > config_suspend: xhci3 0
> > config_suspend: enter azalia1
> > config_suspend: enter audio0
> > config_suspend: audio0 0
> > config_suspend: azalia1 0
> > config_suspend: pci9 0
> > config_suspend: ppb8 0
> > config_suspend: enter ppb9
> > config_suspend: enter pci10
> > config_suspend: enter ahci2
> > config_suspend: enter scsibus5
> > config_suspend: scsibus5 0
> > config_suspend: ahci2 0
> > config_suspend: enter ahci3
> > config_suspend: enter scsibus6
> > config_suspend: scsibus6 0
> > config_suspend: ahci3 0
> > config_suspend: pci10 0
> > config_suspend: ppb9 0
> > config_suspend: enter pckbc0
> > config_suspend: enter pckbd0
> > config_suspend: enter wskbd0
> > config_suspend: wskbd0 0
> > config_suspend: pckbd0 0
> > config_suspend: pckbc0 0
> > config_suspend: enter pchb3
> > config_suspend: pchb3 0
> > config_suspend: enter pchb4
> > config_suspend: pchb4 0
> > config_suspend: enter pchb5
> > config_suspend: pchb5 0
> > config_suspend: enter pchb6
> > config_suspend: pchb6 0
> > config_suspend: enter pchb7
> > config_suspend: pchb7 0
> > config_suspend: enter pchb8
> > config_suspend: pchb8 0
> > config_suspend: enter pchb9
> > config_suspend: pchb9 0
> > config_suspend: enter pchb10
> > config_suspend: pchb10 0
> > config_suspend: pci0 0
> > config_suspend: enter vmm0
> > config_suspend: vmm0 0
> > config_suspend: enter scsibus0
> > config_suspend: scsibus0 0
> > /usr/src/sys/kern/subr_suspend.c:228
> > /usr/src/sys/kern/subr_suspend.c:241
> > /usr/src/sys/kern/subr_suspend.c:244
> > /usr/src/sys/kern/subr_suspend.c:247
> > /usr/src/sys/kern/subr_suspend.c:249
> > /usr/src/sys/kern/subr_suspend.c:252
> > wakeup event: PWRBTN
> > /usr/src/sys/kern/subr_suspend.c:255
> > uhub4 at uhub3 port 1 configuration 1 interface 0 "Texas Instruments
> > product 0x8442" rev 2.10/1.00 addr 2
> > uhidev0 at uhub4 port 1 configuration 1 interface 0 "P.I. Engineering PC
> > Keyboard/Mouse to USB Adapter" rev 1.10/3.10 addr 3
> > uhidev0: iclass 3/1
> > ukbd0 at uhidev0: 8 variable keys, 6 key codes
> > wskbd1 at ukbd0 mux 1
> > wskbd1: connecting to wsdisplay0
> > uhidev1 at uhub4 port 1 configuration 1 interface 1 "P.I. Engineering PC
> > Keyboard/Mouse to USB Adapter" rev 1.10/3.10 addr 3
> > uhidev1: iclass 3/1
> > ums0 at uhidev1: 5 buttons, Z dir
> > wsmouse0 at ums0 mux 0
> > uhidev2 at uhub4 port 2 configuration 1 interface 0 "Microsoft Microsoft
> > 3-Button Mouse with IntelliEye(TM)" rev 1.10/3.00 addr 4
> > uhidev2: iclass 3/1
> > ums1 at uhidev2: 3 buttons, Z dir
> > wsmouse1 at ums1 mux 0
> > uhidev3 at uhub4 port 3 configuration 1 interface 0 "Yubico Yubico Gnubby
> > (gnubby1)" rev 2.00/0.97 addr 5
> > uhidev3: iclass 3/0
> > fido0 at uhidev3: input=64, output=64, feature=0
> > uhidev4 at uhub4 port 5 configuration 1 interface 0 "Texas Instruments
> > product 0x82ff" rev 2.01/1.00 addr 6
> > uhidev4: iclass 3/0
> > uhid0 at uhidev4: input=255, output=255, feature=2
>
>
> >
> > Index: sys/dev/pci/drm/amd/amdgpu/amdgpu_drv.c
> > ===================================================================
> > RCS file: /cvs/src/sys/dev/pci/drm/amd/amdgpu/amdgpu_drv.c,v
> > diff -u -p -r1.44 amdgpu_drv.c
> > --- sys/dev/pci/drm/amd/amdgpu/amdgpu_drv.c 14 May 2024 04:55:42 -0000
> > 1.44
> > +++ sys/dev/pci/drm/amd/amdgpu/amdgpu_drv.c 15 Aug 2024 03:45:44 -0000
> > @@ -2412,9 +2412,10 @@ static void amdgpu_pmops_complete(struct
> > /* nothing to do */
> > }
> >
> > -static int amdgpu_pmops_suspend(struct device *dev)
> > +#endif /* notyet */
> > +
> > +static int amdgpu_pmops_suspend(struct drm_device *drm_dev)
> > {
> > - struct drm_device *drm_dev = dev_get_drvdata(dev);
> > struct amdgpu_device *adev = drm_to_adev(drm_dev);
> >
> > adev->suspend_complete = false;
> > @@ -2427,9 +2428,8 @@ static int amdgpu_pmops_suspend(struct d
> > return amdgpu_device_suspend(drm_dev, true);
> > }
> >
> > -static int amdgpu_pmops_suspend_noirq(struct device *dev)
> > +static int amdgpu_pmops_suspend_noirq(struct drm_device *drm_dev)
> > {
> > - struct drm_device *drm_dev = dev_get_drvdata(dev);
> > struct amdgpu_device *adev = drm_to_adev(drm_dev);
> >
> > adev->suspend_complete = true;
> > @@ -2439,18 +2439,19 @@ static int amdgpu_pmops_suspend_noirq(st
> > return 0;
> > }
> >
> > -static int amdgpu_pmops_resume(struct device *dev)
> > +static int amdgpu_pmops_resume(struct drm_device *drm_dev)
> > {
> > - struct drm_device *drm_dev = dev_get_drvdata(dev);
> > struct amdgpu_device *adev = drm_to_adev(drm_dev);
> > int r;
> >
> > if (!adev->in_s0ix && !adev->in_s3)
> > return 0;
> >
> > +#ifdef notyet
> > /* Avoids registers access if device is physically gone */
> > if (!pci_device_is_present(adev->pdev))
> > adev->no_hw_access = true;
> > +#endif
> >
> > r = amdgpu_device_resume(drm_dev, true);
> > if (amdgpu_acpi_is_s0ix_active(adev))
> > @@ -2460,6 +2461,8 @@ static int amdgpu_pmops_resume(struct de
> > return r;
> > }
> >
> > +#ifdef notyet
> > +
> > static int amdgpu_pmops_freeze(struct device *dev)
> > {
> > struct drm_device *drm_dev = dev_get_drvdata(dev);
> > @@ -3672,14 +3675,15 @@ amdgpu_activate(struct device *self, int
> > case DVACT_QUIESCE:
> > rv = config_activate_children(self, act);
> > amdgpu_device_prepare(dev);
> > - amdgpu_device_suspend(dev, true);
> > + amdgpu_pmops_suspend(dev);
> > break;
> > case DVACT_SUSPEND:
> > + amdgpu_pmops_suspend_noirq(dev);
> > break;
> > case DVACT_RESUME:
> > break;
> > case DVACT_WAKEUP:
> > - amdgpu_device_resume(dev, true);
> > + amdgpu_pmops_resume(dev);
> > rv = config_activate_children(self, act);
> > break;
> > }
>
>