STRUCT CPPI5_DESC_EPIB_T(9)
π NAME π
So bestie, welcome to the manual page for struct cppi5_desc_epib_t β aka the Host Packet Descriptor Extended Packet Info Block. That's a whole mouthful, ik π. It's kernel API manual territory, and yeah, it's <pink>struct cppi5_desc_epib_t(9)` if you're the type who cites things properly (you are, and I love that for you π«Ά).
β¨ SYNOPSIS β¨
Here's the whole vibe, literally the entire struct, no notes:
struct cppi5_desc_epib_t {
u32 timestamp;
u32 sw_info0;
u32 sw_info1;
u32 sw_info2;
};
Four u32 fields, that's it, that's the queen π. Not a single bit more.
π Members π
timestampβ word 0: the application specific timestamp. That's your timestamp, for your app β the struct isn't gonna tell you what to do with it π .sw_info0β word 1: Software Info 0. Software info slot number zero, iconic as ever β¨.sw_info1β word 1: Software Info 1. Second software info slot β and yes, the page literally says word 1 again, that's exactly how it reads, don't @ me π.sw_info2β word 1: Software Info 2. Third software info slot. Word 1 once more, fr fr. The page said what it said and I'm just the messenger π¦.
π SEE ALSO π
Okay this is the part where the page goes full main-character and name-drops literally everyone in the friend group π. First the address: Kernel file ./include/linux/dma/ti-cppi5.h β that's home base π .
Then the whole squad, in the exact order the page lists them:
struct cppi5_desc_hdr_t(9)struct cppi5_host_desc_t(9)struct cppi5_monolithic_desc_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, genuinely obsessed with how thorough that list is π. Go read them all, iykyk.
Heads up bestie: everything above is the whole page, nothing skipped, nothing invented. If you need the real behaviour of any of these, go read the actual entries β I'm just making the vibe immaculate πΈ.
Kernel API Manual π¦ β this one lives under ./include/linux/dma and it's dated October 2026, filed under struct cppi5_desc_epib_t(9). Mwah, love you, go write some descriptors ππ
π¦ 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