pci_prepare_ats(9)
π pci_prepare_ats(9) π
okay bestie, welcome to the Kernel API Manual β this one's pci_prepare_ats(9) and it's lowkey a setup queen. she gets the PS ready for ATS, and honestly? she ate.
β¨ NAME β¨
pci_prepare_ats β Setup the PS for ATS β¨
πΈ SYNOPSIS πΈ
int pci_prepare_ats (struct pci_dev *dev , int ps );
π¦ ARGUMENTS π¦
devβ the PCI device, aka the main character of this whole situation πpsβ the IOMMU page shift π«Ά
π DESCRIPTION π
so here's the vibe check: the IOMMU driver has to call this on the PF before any VFs get created. no cap, this is literally mandatory β it's what makes sure the VF can have ATS enabled later. skip it and, like, don't. π
Returns 0 on success, or negative on failure. that's it, that's the whole return arc.
π₯ SEE ALSO π₯
Kernel file ./drivers/pci/ats.c β go read the source, bestie, it's giving iconic:
pci_ats_supported(9)pci_enable_ats(9)pci_disable_ats(9)pci_ats_queue_depth(9)pci_ats_page_aligned(9)pci_ats_required(9)pci_enable_pri(9)pci_disable_pri(9)pci_restore_pri_state(9)pci_reset_pri(9)pci_prg_resp_pasid_required(9)pci_pri_supported(9)pci_enable_pasid(9)pci_disable_pasid(9)pci_restore_pasid_state(9)pci_pasid_features(9)pci_max_pasids(9)pci_pasid_status(9)
β sign-off β
this lil beauty lives in ./drivers/pci and the version tag says October 2026 β so she's fresh, she's current, she's pci_prepare_ats(9). periodt. ππ§ββοΈπΈ
π¦ 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