STRUCT NITROX_CMDQ(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– 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