STRUCT CPPI5_TR_TYPE3_T(9)
π struct cppi5_tr_type3_t(9) β the Kernel API Manual tea π
okay so bestie, welcome to the glow-up of struct cppi5_tr_type3_t(9) β it's a Type 3 (Four dimensional data move) TR (32 byte) and honestly? it's giving main character energy in the DMA world β¨ (this lil page lives in the Kernel API Manual, iykyk π¦)
β¨ NAME β¨
struct cppi5_tr_type3_t β a Type 3 (Four dimensional data move) TR (32 byte). four whole dimensions of data-move realness, no cap π
πΈ SYNOPSIS πΈ
struct cppi5_tr_type3_t {
cppi5_tr_flags_t flags;
u16 icnt0;
u16 icnt1;
u64 addr;
s32 dim1;
u16 icnt2;
u16 icnt3;
s32 dim2;
s32 dim3;
};
look at her π«Ά nine fields, perfectly stacked, absolutely iconic.
π MEMBERS π
flagsβ the TR flags, aka the whole personality: type, triggers, event, configuration πicnt0β total loop iteration count for level 0 (the innermost one, the baby of the loop family π)icnt1β total loop iteration count for level 1addrβ the starting address for the source data or the destination data π (yes, either one β she's flexible)dim1β signed dimension for loop level 1icnt2β total loop iteration count for level 2icnt3β total loop iteration count for level 3 (the outermost one, the big sis of the loop family π)dim2β signed dimension for loop level 2dim3β signed dimension for loop level 3
lowkey important:dim1,dim2, anddim3are signed π β they'res32, notu32, so don't come for me when negative values show up. that's literally the point, bestie π
π¦ SEE ALSO π¦
the whole friend group fr fr, all chillin' in the 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)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_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 the entire group chat and every single one of them ate π₯
and that's the whole page babes, mwah π«Ά this came straight out of ./include/linux/dma, dated October 2026, and yes the page itself is literally named struct cppi5_tr_type3_t(9) β periodt π
β
π¦ 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