pci_host_co...old_possible(9)
π pci_host_co...old_possible(9) β the Kernel API Manual, but make it make sense
okay so bestie, this is a page from the Kernel API Manual, and the function name is pci_host_common_d3cold_possible. Yes, the header truncates it to pci_host_co...old_possible(9) β not me being lazy, that's just how the man page renders it. We move. π«Ά
β¨ NAME β¨
pci_host_common_d3cold_possible β figure out whether the host bridge is allowed to yeet the devices into D3cold. π§
β¨ SYNOPSIS β¨
bool pci_host_common_d3cold_possible (struct pci_host_bridge *bridge ,
bool *pme_capable );
literally just that. two args, one bool back. slay.
β¨ ARGUMENTS β¨
bridgeβ the PCI host bridge we're checking. that's our main character for this function πpme_capableβ a pointer that gets updated if there's any device that can generate PME from D3cold. think of it as the "hey, somebody here can still wake you up" flag πΈ
β¨ DESCRIPTION β¨
So what it does: it walks the downstream PCIe endpoint devices πΆββοΈ and works out whether the host bridge is permitted to transition those devices into D3cold.
Here's the vibe check for when devices under a host bridge can actually enter D3cold:
- like, all the active PCIe endpoints have to be in
PCI_D3hot, and - any wakeup-enabled endpoint has to be capable of generating PME from D3cold.
Inactive endpoints? Ignored. not invited to the party π
And the pme_capable output is there so PCIe controller drivers can apply their own platform-specific handling to preserve wakeup functionality. it's giving "you handle your platform, i'll hand you the info" π
β¨ RETURN β¨
trueβ yes bestie, the host bridge may enter D3cold βfalseβ nope, not today β
β¨ SEE ALSO β¨
- Kernel file
./drivers/pci/controller/pci-host-common.c pci_host_common_delete_ports(9)pci_host_common_parse_perst(9)pci_host_common_parse_port(9)pci_host_common_parse_ports(9)
ngl, go read the other pci_host_common_* pages too β they're a whole friend group and this one is only one member of it π
okay that's the whole page!! source: ./drivers/pci/controller, dated October 2026, from the Kernel API Manual. mwah, go read some C ππ¦β
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms