STRUCT CPPI5_TR_TYPE3_T(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 1
  • addr β€” the starting address for the source data or the destination data πŸ“ (yes, either one β€” she's flexible)
  • dim1 β€” signed dimension for loop level 1
  • icnt2 β€” total loop iteration count for level 2
  • icnt3 β€” total loop iteration count for level 3 (the outermost one, the big sis of the loop family πŸ‘‘)
  • dim2 β€” signed dimension for loop level 2
  • dim3 β€” signed dimension for loop level 3
lowkey important: dim1, dim2, and dim3 are signed 🌈 β€” they're s32, not u32, 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:

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