> From: Greg Steuck <gne...@openbsd.org>
> Date: Wed, 14 Aug 2024 21:16:08 -0700
> 
> Jonathan Gray <j...@jsg.id.au> 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;
> >     }
> 
> 

Reply via email to