STRUCT CDNSP_RUN_REGS(9)
π struct cdnsp_run_regs(9) π
okay so bestie, welcome to the Kernel API Manual β this one's a struct page and honestly it's giving "quiet luxury" because the NAME section is literally just vibes and a dangling dash. Let's get into it π
β¨ NAME β¨
struct cdnsp_run_regs β
and that's it. That's the whole description. The dash just sits there. No notes. Iconic behaviour honestly π«Ά
πΈ SYNOPSIS πΈ
struct cdnsp_run_regs {
__le32 microframe_index;
__le32 rsvd[7];
struct cdnsp_intr_reg ir_set[128];
};
look at her. three fields. one of them is literally named rsvd and there are seven of them, and we respect that π
π¦ Members π¦
microframe_indexβ this is the MFINDEX register, and it's holding the current microframe number. that's it, that's the whole job. slay.ir_setβ an array of Interrupter registers. yes, it's an array. yes, it's ofstruct cdnsp_intr_reg. yes, there are 128 of them. no cap π
π Description π
These are the Device Controller Runtime Registers, bestie. and there's a rule, and I need you to hear it in your bones:
"Software should read and write these registers using only Dword (32 bit) or larger accesses"
fr fr. dword or bigger. no little byte-poking around here, that's the whole vibe check π
π₯ SEE ALSO π₯
the kernel file is at ./drivers/usb/cdns3/cdnsp-gadget.h, and then there is a whole friend group of structs you should go meet:
struct cdnsp_cap_regs(9)struct cdnsp_op_regs(9)struct cdnsp_port_regs(9)struct cdnsp_intr_reg(9)struct cdnsp_rev_cap(9)struct cdnsp_doorbell_array(9)struct cdnsp_container_ctx(9)struct cdnsp_slot_ctx(9)struct cdnsp_ep_ctx(9)struct cdnsp_stream_info(9)struct cdnsp_ep(9)struct cdnsp_device_context_array(9)struct cdnsp_transfer_event(9)struct cdnsp_link_trb(9)struct cdnsp_event_cmd(9)struct cdnsp_segment(9)struct cdnsp_td(9)struct cdnsp_dequeue_state(9)struct cdnsp_ring(9)struct cdnsp_erst_entry(9)struct cdnsp_erst(9)struct cdnsp_request(9)struct cdnsp_port(9)struct cdnsp_device(9)next_request(9)
that's the whole group chat, go say hi ππ
anyway, this page lives in ./drivers/usb/cdns3, dated October 2026, and yes it's still titled struct cdnsp_run_regs(9) at the bottom like a little signature. bye bestie, go read your registers properly πβ¨πΈ
π¦ 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