STRUCT CPPI5_TR_TYPE2_T(9)
β¨ struct cppi5_tr_type2_t(9) β¨
okay bestie, buckle up π this is a page straight out of the Kernel API Manual and it's all about struct cppi5_tr_type2_t β which is, and I quote, a Type 2 (Three dimensional data move) TR (32 byte). yes. three whole dimensions. 32 whole bytes. she's giving main character energy and honestly? she ate. π
πΈ NAME πΈ
struct cppi5_tr_type2_t β the Type 2 (Three dimensional data move) TR (32 byte). that's the whole vibe. that's her. π
π¦ SYNOPSIS π¦
struct cppi5_tr_type2_t {
cppi5_tr_flags_t flags;
u16 icnt0;
u16 icnt1;
u64 addr;
s32 dim1;
u16 icnt2;
u16 _reserved;
s32 dim2;
};
like, look at that little layout. so cozy. so structured. 32 bytes of pure purpose β¨
π Members π
okay so meeting the whole squad, one by one π«Ά
flagsβ the TR flags, aka the full personality package: type, triggers, event, configuration. she contains multitudes. πicnt0β total loop iteration count for level 0 (innermost). the baby of the loop family, the innermost one, iykyk. πicnt1β total loop iteration count for level 1. moving on up, queen. πΈaddrβ starting address for the source data or destination data. where the data actually lives. literally the address, bestie. πdim1β signed dimension for loop level 1. signed! so she can go negative, no cap. πicnt2β total loop iteration count for level 2. the outermost loop, the big sister, the one in charge. π_reservedβ not used. she's just there. sitting. vibing. do not perceive her πdim2β signed dimension for loop level 2. also signed. also spicy. π₯
β SEE ALSO β
okay so the kernel file lives at ./include/linux/dma/ti-cppi5.h and honestly the whole friend group is listed here so let's do a roll call, bestie, because everyone's invited to the group chat π«Άπ
struct cppi5_desc_hdr_t(9)struct cppi5_host_desc_t(9)struct cppi5_desc_epib_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_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 okay that's a LOT of friends but every single one of them matters, periodt. π β¨
and that's the whole page bestie!! π this little gem came from ./include/linux/dma and it's dated October 2026, so yeah β go forth, read your type 2 TRs, and 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