STRUCT CDNSP_SEGMENT(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

struct cdnsp_segment(9) πŸ’«

okay bestie, welcome to the Kernel API Manual, we're talking about struct cdnsp_segment today and honestly? it's giving "glorified container" but like, in a cute way πŸŽ€


✨ NAME ✨

struct cdnsp_segment β€” segment related data. that's it, that's the vibe. it holds segment stuff. slay.


🌸 SYNOPSIS 🌸

struct cdnsp_segment {
    union cdnsp_trb *trbs;
    struct cdnsp_segment *next;
    dma_addr_t dma;
    dma_addr_t bounce_dma;
    void *bounce_buf;
    unsigned int bounce_offs;
    unsigned int bounce_len;
 };

like, look at her. seven whole members. no cap, she's organized πŸ’…


πŸ’œ MEMBERS πŸ’œ

okay so let's meet the cast, main character energy all around:

  • trbs β€” Array of Transfer Request Blocks. the actual payload bestie, the reason we're all here.
  • next β€” Pointer to the next segment. linked-list queen behavior, she knows her neighbors πŸ¦‹
  • dma β€” DMA address of current segment. that's her literal address fr fr.
  • bounce_dma β€” Bounce buffer DMA address . yes there's a space before that period in the original, i don't make the rules, i just report them πŸ™ˆ
  • bounce_buf β€” Bounce buffer virtual address.
  • bounce_offs β€” Bounce buffer offset.
  • bounce_len β€” Bounce buffer length.

the way these last three all hang out together, it's giving bounce squad 🌈


πŸ‘‘ SEE ALSO πŸ‘‘

Kernel file ./drivers/usb/cdns3/cdnsp-gadget.h β€” and like, the whole extended friend group:

  • struct cdnsp_cap_regs(9)
  • struct cdnsp_op_regs(9)
  • struct cdnsp_port_regs(9)
  • struct cdnsp_intr_reg(9)
  • struct cdnsp_run_regs(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_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 πŸ’–


aaaand that's the page!! no thoughts, just segments. this cutie lives over in ./drivers/usb/cdns3 and she's dated October 2026 β€” mark your calendars bestie, periodt β­πŸŽ€

πŸ“¦ where this page comes from