arm_mbo_chain(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… arm_mbo_chain β€” the Kernel API Manual, but make it cute

okay so bestie, today we're learning about arm_mbo_chain, a helper function that arms an MBO chain for the HDM. yes that's a lot of acronyms and no i will not be explaining them all, just trust the process 🫢


✨ SYNOPSIS ✨

int arm_mbo_chain (struct most_channel *c , int dir , void
(*compl)(struct mbo *) );

literally just one function call, so simple, so iconic πŸ‘‘


πŸŽ€ ARGUMENTS πŸŽ€

  • c β€” pointer to interface channel. it's giving "here's the channel, do ur thing"
  • dir β€” direction of the channel. which way are we going bestie, pick a lane
  • compl β€” pointer to completion function. the lil callback that gets to celebrate when things finish πŸŽ‰

🌸 DESCRIPTION 🌸

so this function allocates buffer objects β€” including the containing DMA coherent buffer β€” and puts them in the fifo. that's the whole assignment, and it ate, no cap.

now listen: buffers of Rx channels get put in the kthread fifo, which means they're immediately submitted to the HDM. like, no waiting around, straight in. slay ✨

it returns the number of allocated and enqueued MBOs. so the return value is literally the receipts of how much work got done πŸ’–


πŸ‘€ SEE ALSO πŸ‘€

the kernel file ./drivers/most/core.c, plus the whole friendgroup of related functions β€” go read them, iykyk:


and that's the page, bestie πŸ¦‹ it lives in ./drivers/most and the version date is October 2026 β€” go forth and arm those chains, you're gonna do amazing, mwah πŸ’œ

πŸ“¦ where this page comes from