pci buses missing from suspend/resume powerstate
J.R. Oldroyd
fbsd at opal.com
Sat Apr 2 15:30:04 UTC 2011
I've been looking at why some devices do not work after ACPI
suspend/resume sequence on a laptop here, and have discovered that two
of the system's four PCI buses are not being powered down and up again
during the ACPI suspend/resume sequence. This is, I'm guessing, why the
devices on those buses no longer work after the resume. Devices on the
other PCI buses that are being powered down/up do work OK after the
resume.
Why would entire PCI buses be omitted from the:
acpi_pci_set_powerstate_method
power down/up sequence?
Laptop has device tree:
nexus0
ram0
cryptosoft0
apic0
acpi0
cpu0
hwpstate0
acpi_perf0
cpufreq0
cpu1
acpi_perf1
pcib0
pci0
hostb0
pcib1
pci1
vgapci0
vgapm0
scpm0
acpi_video0
drm0
hdac1
pcm2
pcib2
pci2
ath0
pcib3
pci3
re0
miibus0
rgephy0
If I instrument acpi_pci_set_powerstate_method, it is being called on
the suspend/resume for pci0 and pci1 but NOT for pci2 or pci3. After
the resume, devices ath0 and re0 no longer work.
Any thoughts?
Lots more info (devinfo, dmesg, dsdt, verbose boot, pciconf, etc) here:
http://opal.com/jr/toshiba_l675d/
-jr
More information about the freebsd-acpi
mailing list