cppi5_hdesc_link_hbdesc(9)
π cppi5_hdesc_link_hbdesc(9) β the Kernel API Manual moment β¨
okay bestie, gather round, because this one is from the Kernel API Manual and it's short but it's important. It's a kernel function, it lives in the DMA/CPPI5 corner of the world, and it does exactly one little iconic thing. Let's go π«Ά
β¨ NAME β¨
cppi5_hdesc_link_hbdesc β link a Host Buffer Descriptor to an HDesc. that's it, that's the whole job, and it does it slayfully π
πΈ SYNOPSIS πΈ
void cppi5_hdesc_link_hbdesc (struct cppi5_host_desc_t *desc ,
dma_addr_t hbuf_desc );
void return, no drama, no error code, it just does the thing β¨
π ARGUMENTS π
descβ the Host Packet Descriptor. your main character struct, the one doing the linking π¦hbuf_descβ the Host Buffer Descriptor physical address. yes, physical, ngl that detail matters, don't hand it a virtual pointer and expect vibes to carry you π
π DESCRIPTION π
so what it does is: add and link the Host Buffer Descriptor to the HDesc. that's the description, no cap, no extra lore, no hidden side quest. it links them. they're linked now. periodt π
π SEE ALSO π
Kernel file ./include/linux/dma/ti-cppi5.h β and honestly the whole friend group is here, so let's shout them out π
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_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)
and that's the whole page, bestie!! π§ mwah π
this little gem comes from ./include/linux/dma, stamped October 2026, and yeah, that's the version + date drop, we love a timestamped queen βπ
π¦ 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