STRUCT CDNSP_STREAM_INFO(9)
π NAME π
Okay bestie, this is the struct cdnsp_stream_info(9) page from the Kernel API Manual, and it's giving βsupport system for stream-capable endpoints.β
struct cdnsp_stream_info β representing everything that is needed to supports stream capable endpoints. That's the name description, no cap: she's the struct holding all the stream-info pieces. π«Ά
π¦ SYNOPSIS π¦
Here's the struct in all her glory β copy it exactly, bestie:
struct cdnsp_stream_info {
struct cdnsp_ring **stream_rings;
unsigned int num_streams;
struct cdnsp_stream_ctx *stream_ctx_array;
unsigned int num_stream_ctxs;
dma_addr_t ctx_array_dma;
struct radix_tree_root trb_address_map;
int td_count;
u8 first_prime_det;
#define STREAM_DRBL_FIFO_DEPTH 2;
u8 drbls_count;
};
And yes, that #define STREAM_DRBL_FIFO_DEPTH 2; is literally sitting inside the struct block in the synopsis. Not me double-checking it three times. π
π Members π
Okay, roster time β every member and exactly what the page says about her:
stream_ringsβ array of pointers containing Transfer rings for all supported streams. πnum_streamsβ number of streams, including stream 0. Stream 0 is invited to the party, bestie.stream_ctx_arrayβ the stream context array may be bigger than the number of streams the driver asked for. She can be extra, okay?num_stream_ctxsβ number of streams. That's what the page says; we're not renegotiating it. πctx_array_dmaβ Dma address of Context Stream Array.trb_address_mapβ for mapping physical TRB addresses to segments in stream rings.td_countβ number of TDs associated with endpoint.first_prime_detβ first PRIME packet detected.drbls_countβ number of allowed doorbells. π
π SEE ALSO π
This page is linked with the Kernel file ./drivers/usb/cdns3/cdnsp-gadget.h and the whole friend group:
- Kernel file
./drivers/usb/cdns3/cdnsp-gadget.h 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_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)
Catch you later, bestie π«Ά β source/path: ./drivers/usb/cdns3; version/date: October 2026; page: struct cdnsp_stream_info(9).
π¦ 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