sst_slot_put(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

Okay bestie, welcome to the sst_slot_put(9) page from the Kernel API Manual β€” this is the little kernel helper that sets the status of interleaver/deinterleaver control, and it is lowkey doing something clever with register addresses. πŸ’…βœ¨

🌸 NAME 🌸

sst_slot_put β€” set the status of interleaver/deinterleaver control πŸŽ€

✨ SYNOPSIS ✨

int sst_slot_put (struct snd_kcontrol *kcontrol , struct
       snd_ctl_elem_value *ucontrol );

πŸŽ€ ARGUMENTS πŸŽ€

  • kcontrol β€” control pointer, literally the control pointer bestie 🫢
  • ucontrol β€” User data; (de)interleaver controls are defined in opposite sense to be user-friendly πŸ™ˆπŸ’–

πŸ’… DESCRIPTION πŸ’…

Okay so here’s the plot twist, and it’s kind of iconic πŸ”₯: instead of the enum value being the value written to the register, it is the register address. And the kcontrol number (register num) is the value written to the register. That’s the whole vibe check.

Why though? Because this is so that there can be only one value for each slot/channel β€” since there is only one control for each slot/channel. Periodt. πŸ‘‘

Which means whenever an enum is set, we need to clear the bit for that kcontrol_no for all the interleaver OR deinterleaver registers. No cap, that bit-clearing step matters πŸ’€βœ¨

πŸ¦‹ SEE ALSO πŸ¦‹


Mwah πŸ’– β€” this cutie comes from the ./sound/soc/intel/atom source and is dated October 2026. Byeee bestie 🫢🌈

πŸ“¦ where this page comes from