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 :)

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;
>       }

Reply via email to