STRUCT NITROX_DEVICE(9)
π struct nitrox_device(9) π
okay bestie, so this is the Kernel API Manual page for struct nitrox_device β the NITROX Device Information struct β¨. if you've ever wondered "what even is a nitrox device, and what's living inside it," this is literally the whole vibe check. scroll with me π«Ά
β¨ NAME β¨
struct nitrox_device β NITROX Device Information. that's it, that's the whole thing, she's a struct and she's iconic π
πΈ SYNOPSIS πΈ
here's the literal anatomy of her, no cap, copy-pasted straight from the source so you don't get any funny ideas:
struct nitrox_device {
struct list_head list;
u8 __iomem *bar_addr;
struct pci_dev *pdev;
atomic_t state;
unsigned long flags;
unsigned long timeout;
refcount_t refcnt;
u8 idx;
int node;
u16 qlen;
u16 nr_queues;
enum vf_mode mode;
struct dma_pool *ctx_pool;
struct nitrox_cmdq *pkt_inq;
struct nitrox_cmdq *aqmq[MAX_DEV_QUEUES];
struct nitrox_q_vector *qvec;
struct nitrox_iov iov;
int num_vecs;
struct nitrox_stats stats;
struct nitrox_hw hw;
#if IS_ENABLED(CONFIG_DEBUG_FS);
struct dentry *debugfs_dir;
#endif;
};
like, look at all those fields. main character energy fr π₯
π Members π
this is the part where we meet every single field one by one, like a little meet-and-greet but for struct members π§
listβ pointer to the linked list of devices. she's connected, she has friends π«bar_addrβ the iomap address. that's where the memory-mapped action happens β¨pdevβ PCI device information, so you know which physical device we're talking about π¦stateβ NITROX device state. how's she doing? this tells you πflagsβ flags to indicate device the features. yes, that's the wording, love that for us πtimeoutβ Request timeout, measured in jiffies. tick tock bestie β°refcntβ Device usage count. how many people are holding onto her rn πidxβ device index, in the range0..Nπ’nodeβ the NUMA node id she's attached to. she knows her local memory πΈqlenβ Command queue length πnr_queuesβ Number of command queues. the more the merrier honestly πmodeβ Device mode,PF/VFβ she's either physical or virtual, pick a lane π«ctx_poolβ DMA pool for crypto context. spa day for your crypto context πpkt_inqβ Packet input rings πaqmqβ AQM command queues π£οΈqvecβ MSI-X queue vectors information π¬iovβ SR-IOV informatin (yes, that's literally how it's spelled in the source β don't come for me, I don't make the typos π)num_vecsβ number of MSI-X vectors π’statsβ request statistics. the receipts πhwβ hardware information π οΈdebugfs_dirβ the debugfs directory. peek behind the curtain bestie π
π SEE ALSO π
go read these next, they're giving the same energy:
- Kernel file
./drivers/crypto/cavium/nitrox/nitrox_dev.hstruct nitrox_cmdq(9)struct nitrox_hw(9)struct nitrox_iov(9)nitrox_read_csr(9)nitrox_write_csr(9)
okay that's the whole page, you ate that bestie π and for the cute sign-off: this one lives at ./drivers/crypto/cavium/nitrox, it's dated October 2026, and it goes by struct nitrox_device(9) π¦π mwah, bye!! β
π¦ 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