STRUCT CPPI5_MONOLITHIC_DESC_T(9)
π struct cppi5_monolithic_desc_t(9) π
okay bestie, welcome to the Kernel API Manual β yes we're reading kernel headers together, this is our bonding era π«Ά
β¨ NAME β¨
struct cppi5_monolithic_desc_t β the Monolithic-mode packet descriptor. that's it, that's the whole vibe. it's giving "one descriptor to rule them all" energy π
πΈ SYNOPSIS πΈ
struct cppi5_monolithic_desc_t {
struct cppi5_desc_hdr_t hdr;
u32 epib[];
};
literally the whole struct, no cap. it's a header plus a lil flexible array, and the flex array is where the ~drama~ lives π
π Members π
hdrβ the Descriptor header. every icon needs her header first, she's the main character of this struct.epibβ okay so this is the flexible part and she's got RANGE, bestie:- Extended Packet Info Data β optional, 4 words
- and/or Protocol Specific Data β optional, 0-128 bytes in multiples of 4
- and/or Other Software Data β 0-N bytes, optional
so yeah, epib is the "and/or" queen π three different flavours of payload can live in there, it's a whole vibe check every time you read it. iykyk.
π¦ SEE ALSO π¦
the full squad, appearing in the order the original gave us (do NOT come for me, this is verbatim and I respect the source π):
- Kernel file
./include/linux/dma/ti-cppi5.h struct cppi5_desc_hdr_t(9)struct cppi5_host_desc_t(9)struct cppi5_desc_epib_t(9)cppi5_desc_is_tdcm(9)cppi5_desc_get_type(9)cppi5_desc_get_errflags(9)cppi5_desc_get_pktids(9)cppi5_desc_set_pktids(9)cppi5_desc_set_retpolicy(9)cppi5_desc_get_tags_ids(9)cppi5_desc_set_tags_ids(9)cppi5_hdesc_calc_size(9)cppi5_hdesc_init(9)cppi5_hdesc_update_flags(9)cppi5_hdesc_update_psdata_size(9)cppi5_hdesc_get_psdata_size(9)cppi5_hdesc_get_pktlen(9)cppi5_hdesc_set_pktlen(9)cppi5_hdesc_get_psflags(9)cppi5_hdesc_set_psflags(9)cppi5_hdesc_get_pkttype(9)cppi5_hdesc_set_pkttype(9)cppi5_hdesc_attach_buf(9)cppi5_hdesc_link_hbdesc(9)cppi5_hdesc_epib_present(9)cppi5_hdesc_get_psdata(9)cppi5_hdesc_get_swdata(9)enum cppi5_tr_types(9)enum cppi5_tr_event_size(9)enum cppi5_tr_trigger(9)enum cppi5_tr_trigger_type(9)struct cppi5_tr_type0_t(9)struct cppi5_tr_type1_t(9)struct cppi5_tr_type2_t(9)struct cppi5_tr_type3_t(9)struct cppi5_tr_type15_t(9)struct cppi5_tr_resp_t(9)enum cppi5_tr_resp_status_type(9)enum cppi5_tr_resp_status_submission(9)enum cppi5_tr_resp_status_unsupported(9)cppi5_trdesc_calc_size(9)cppi5_trdesc_init(9)cppi5_tr_init(9)cppi5_tr_set_trigger(9)cppi5_tr_csf_set(9)
like, that's 45 references plus the kernel file. she's thorough. she ate and left no crumbs π₯
quick reminder for the girlies: the file path is ./include/linux/dma/ti-cppi5.h β go read it, it's free real estate π
and that's the page! brought to you by the fine people at ./include/linux/dma, dated October 2026, from the one and only Kernel API Manual β bye bestie, go read some struct cppi5_desc_hdr_t(9) next, slay π§π
π¦ 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