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 :)
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.
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;
> }