pci_ats_queue_depth(9)
π pci_ats_queue_depth(9)
okay bestie, welcome to the Kernel API Manual β yes we're reading kernel docs together, that's the vibe now π«Ά this page is literally called pci_ats_queue_depth, and it's here to answer one (1) very specific question: what's the Invalidate Queue Depth on this PCI device? β¨
π NAME
pci_ats_queue_depth β query the ATS Invalidate Queue Depth
like, it goes and asks the device "hey how deep is your invalidate queue" and reports back π
πΈ SYNOPSIS
int pci_ats_queue_depth (struct pci_dev *dev );
one function, one argument, one int coming back at ya. simple. iconic. no cap π
π¦ ARGUMENTS
devβ the PCI device. that's it, that's the whole argument. the PCI device in question, the main character of this call π
β¨ DESCRIPTION
Returns the queue depth on success, or negative on failure. so like, positive number = slay, negative number = it's giving error π
now here's the part you actually need to know, bestie, because the numbering is lowkey cursed π
The ATS spec uses 0 in the Invalidate Queue Depth field to indicate that the function can accept 32 Invalidate Request. but in this function we use the real values (i.e. 1~32) for the Queue Depth π₯
and 0 here means the function shares the Queue with other functions (doesn't exclusively own a Queue) β so 0 is not "32 requests" in this context, it's "sharing is caring, no exclusive queue for me" π«Ά
β οΈ real talk: don't read the raw spec value and this function's return value the same way, because 0 means a whole different thing in each. the spec-vs-here mismatch is exactly the kind of thing that'll have you debugging for an hour at 2am π
π§ SEE ALSO
Kernel file ./drivers/pci/ats.c β and the whole friend group:
pci_ats_supported(9)pci_prepare_ats(9)pci_enable_ats(9)pci_disable_ats(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)
okay that's the whole page, you ate that π this came out of ./drivers/pci in October 2026 β go forth and query those queue depths, bestie, and remember: 0 is not a number here, it's a lifestyle πβ¨
π¦ 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