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