STRUCT LIBIE_CTLQ_REG(9)
π struct libie_ctlq_reg(9) β a Kernel API Manual moment
okay bestie, welcome to the struct libie_ctlq_reg(9) page, straight out of the Kernel API Manual β¨ this one's short and sweet and honestly? iconic. let's get into it π«Ά
πΈ NAME πΈ
struct libie_ctlq_reg β the structure that represents the virtual addresses of the controlq registers and their masks. that's it, that's the vibe π
β¨ SYNOPSIS β¨
here's the whole shape of her, no cap, copy it exactly:
struct libie_ctlq_reg {
void __iomem *head;
void __iomem *tail;
void __iomem *len;
void __iomem *addr_high;
void __iomem *addr_low;
u32 len_mask;
u32 len_ena_mask;
u32 head_mask;
};
look at that alignment. the little }; at the end doing its own thing. we love a consistent queen π
π¦ Members π¦
okay so let's meet the cast, one by one, main character energy only:
headβ the controlq head register address β¨tailβ the controlq tail register address πlenβ the register address where you write the controlq length and the enable bit. two jobs, one register, she's booked and busy πaddr_highβ the register address to write the upper 32b of the ring physical address πaddr_lowβ the register address to write the lower 32b of the ring physical address π«Άlen_maskβ the mask to read the controlq length πlen_ena_maskβ the mask to write the controlq enable bit β‘head_maskβ the mask to read the head value π
note the pattern bestie:len_maskandhead_maskare for reading,len_ena_maskis for writing. don't mix them up, that's the whole point of having them π
π SEE ALSO π
the whole friend group, fr fr β go read these next:
- Kernel file
./include/linux/net/intel/libie/controlq.henum libie_ctlq_type(9)struct libie_ctlq_ctx(9)struct libie_cp_dma_mem(9)struct libie_ctlq_msg(9)struct libie_ctlq_create_info(9)struct libie_ctlq_info(9)struct libie_ctlq_desc(9)struct libie_ctlq_clean_params(9)libie_ctlq_release_rx_buf(9)enum libie_ctlq_xn_state(9)struct libie_ctlq_xn(9)struct libie_ctlq_xn_manager(9)struct libie_ctlq_xn_send_params(9)libie_cp_can_send_onstack(9)struct libie_ctlq_xn_recv_params(9)struct libie_ctlq_xn_init_params(9)
that's a long list and every single one of them is a baddie, iykyk π
π sign-off π
and that's the page!! sourced from ./include/linux/net/intel/libie, dated October 2026, and yes the footer still says struct libie_ctlq_reg(9) because she knows exactly who she is πβ¨ go forth and register responsibly, bestie π¦π
π¦ 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