pci_enable_l...state_locked(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ‘‘ pci_enable_l...state_locked(9) πŸ‘‘

okay so this page is from the Kernel API Manual, and the function is literally pci_enable_link_state_locked. We are so back. πŸ’…

πŸ’– NAME πŸ’–

pci_enable_link_state_locked β€” Clear and set the default device link state so that the link may be allowed to enter the specified states. ✨

Heads up bestie: if the BIOS didn't grant ASPM control to the OS, this does nothing because we can't touch the LNKCTL register. Also note that this does not enable states disabled by pci_disable_link_state(). Return 0 or a negative errno. 🫢

🌸 SYNOPSIS 🌸

int pci_enable_link_state_locked (struct pci_dev *pdev , int state );

πŸŽ€ ARGUMENTS πŸŽ€

  • pdev β€” PCI device.
  • state β€” Mask of ASPM link states to enable.

πŸ¦‹ NOTE πŸ¦‹

Ensure devices are in D0 before enabling PCI-PM L1 PM Substates, per PCIe r6.0, sec 5.5.4. no cap, do the vibe check first. ✨

πŸ’œ CONTEXT πŸ’œ

Caller holds pci_bus_sem read lock. periodt. πŸ”’

🌈 SEE ALSO 🌈

Kernel file ./drivers/pci/pcie/aspm.c also sends you over to:


cute sign-off: the source/version on this one is ./drivers/pci/pcie, and the date is October 2026. mwah πŸ’–

πŸ“¦ where this page comes from