snd_pcm_trigger_done(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ snd_pcm_trigger_done(9) ✨

okay so bestie, welcome to the Kernel API Manual πŸ’– this one's a lil function called snd_pcm_trigger_done, and honestly? it's giving "quiet main character of the trigger loop" energy. let's get into it πŸŽ€


🌸 NAME 🌸

snd_pcm_trigger_done β€” mark the master substream πŸ‘‘


πŸ¦‹ SYNOPSIS πŸ¦‹

void snd_pcm_trigger_done (struct snd_pcm_substream *substream , struct
snd_pcm_substream *master );

πŸŽ€ ARGUMENTS πŸŽ€

  • substream β€” the pcm substream instance, aka the one you're touching rn 🫢
  • master β€” the linked master substream, aka the one actually running the show πŸ’…

πŸ’œ DESCRIPTION πŸ’œ

okay so picture this: multiple substreams of the same card are linked together, and the hardware supports single-shot operation. in that case, the driver calls this function inside the loop in snd_pcm_group_for_each_entry β€” and what it does is mark the substream as "done" βœ….

then, because of that mark, most of the trigger operations get performed only to the given master substream. like, the master is the one carrying the whole group, no cap πŸ‘‘

and the trigger_master mark? it gets cleared at timestamp updates at the end of trigger operations. so it doesn't linger, it's not messy, it knows when to leave the party 🌈. literally the cleanest little lifecycle.

ngl this is one of those tiny functions that looks like nothing and then you realize the entire group trigger flow depends on it. respect the icon 🫑

⭐ SEE ALSO ⭐

Kernel file ./include/sound/pcm.h β€” plus the whole extended friend group:


and that's the whole page, bestie!! πŸ§šπŸ’« this lil drop of wisdom lives in ./include/sound, stamped October 2026 β€” scream it, cite it, cite it again, periodt πŸ’…πŸ’–

πŸ“¦ where this page comes from