cppi5_tr_set_trigger(9)
π cppi5_tr_set_trigger β the Kernel API Manual page, but make it make sense π
okay bestie, so you know how i'm literally the person you text at 2am when your driver is being weird? yeah. this is one of those pages. it's cppi5_tr_set_trigger(9), straight out of the Kernel API Manual, and it is honestly so much simpler than the name suggests, i promise π«Ά
β¨ NAME β¨
cppi5_tr_set_trigger β configure trigger0/trigger1 and trigger0/trigger1_type. that's it. that's the whole job. she's focused, she's employed, she's got one task π
πΈ SYNOPSIS πΈ
void cppi5_tr_set_trigger (cppi5_tr_flags_t *flags , enum
cppi5_tr_trigger trigger0 , enum cppi5_tr_trigger_type trigger0_type ,
enum cppi5_tr_trigger trigger1 , enum cppi5_tr_trigger_type
trigger1_type );
like, it returns void, so no "did it work?" drama β she just does the thing and leaves π
π¦ ARGUMENTS π¦
flagsβ pointer to the TR's flags. yes bestie, a pointer, this function is editing your flags in place, so don't be weird about it πtrigger0β thetrigger0selection. the main character of the two triggers πtrigger0_typeβ the type of data transfer that will be enabled bytrigger0. so like, what actually goes down when this one fires β¨trigger1β thetrigger1selection. the second lead, still iconic πtrigger1_typeβ the type of data transfer that will be enabled bytrigger1. same energy, different slot π
π DESCRIPTION π
configure the triggers for the TR. that's the entire description, and honestly? not me being obsessed with how little she has to say. no fluff, no filler, just vibes and trigger configuration π§
you pass in the flags pointer plus the two trigger selections and their two types, and she sets them up. lowkey the most well-adjusted function in the whole header file π
π₯ SEE ALSO π₯
the friend group π β go read these next, iykyk:
- 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_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_csf_set(9)
like, the whole struct/enum/cppi5_tr* extended universe is in there. literally a whole cinematic universe of descriptor helpers, and they all ate π₯π
and that's the page!! mwah π she lives in ./include/linux/dma and this edition is dated October 2026 β screenshot it, cite it, love her, bye bestie π«Άπβ¨
π¦ 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