STRUCT NITROX_CMDQ(9)
π struct nitrox_cmdq(9) π
okay bestie, welcome to the Kernel API Manual β¨ β today's main character is struct nitrox_cmdq, aka the NITROX command queue. she's got locks, she's got DMA addresses, she's got a whole little backlog situation going on. let's get into it π
πΈ NAME πΈ
struct nitrox_cmdq β the NITROX command queue, no cap π
β¨ SYNOPSIS β¨
struct nitrox_cmdq {
spinlock_t cmd_qlock;
spinlock_t resp_qlock;
spinlock_t backlog_qlock;
struct nitrox_device *ndev;
struct list_head response_head;
struct list_head backlog_head;
u8 __iomem *dbell_csr_addr;
u8 __iomem *compl_cnt_csr_addr;
u8 *base;
dma_addr_t dma;
struct work_struct backlog_qflush;
atomic_t pending_count;
atomic_t backlog_count;
int write_idx;
u8 instr_size;
u8 qno;
u32 qsize;
u8 *unalign_base;
dma_addr_t unalign_dma;
};
like, look at her. every field is doing something. we love a structured queen π
π¦ Members π¦
okay so here's the member-by-member vibe check, and yes, we're doing all of them π
cmd_qlockβ the command queue lock. she's holding it down πresp_qlockβ the response queue lock. separate lock, separate energy β¨backlog_qlockβ the backlog queue lock. the third lock, because three locks is iconic πndevβ the NITROX device. the parent, the icon, the moment π«Άresponse_headβ the submitted request list. everything that's been sent out lives here πbacklog_headβ the backlog queue. the waiting room, lowkey πdbell_csr_addrβ doorbell register address for this queue. ding dong, the queue is calling πcompl_cnt_csr_addrβ completion count register address of the slc port. counting completions, fr fr π₯baseβ command queue base address. home base, literally πdmaβ dma address of the base. her mailing address in DMA-land π¬pending_countβ request pending at device. the "still cooking" counter β³backlog_countβ backlog request count. how much is piled up in the waiting room πwrite_idxβ next write index for the command. know where you're writing, bestie βοΈinstr_sizeβ command size. size matters (for commands) πqnoβ command queue number. her little ID badge π«qsizeβ command queue size. big queue energy πunalign_baseβ unaligned base address. not aligned, still thriving πunalign_dmaβ unaligned dma address. the unaligned one's DMA twin, matching outfits π―
not me listing all eighteen members with full commitment π but also like... you gotta know your fields, bestie.
π SEE ALSO π
Kernel file ./drivers/crypto/cavium/nitrox/nitrox_dev.h struct nitrox_hw(9), struct nitrox_iov(9), struct nitrox_device(9), nitrox_read_csr(9), nitrox_write_csr(9)
go read those next, iykyk πβ¨
aaaand that's the page π this came to you from ./drivers/crypto/cavium/nitrox, dated October 2026, titled struct nitrox_cmdq(9) β mwah, slay, 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