sst_slot_put(9)
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)interleavercontrols 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 π¦
- Kernel file
./sound/soc/intel/atom/sst-atom-controls.c sst_fill_and_send_cmd(9)sst_slot_get(9)sst_find_and_send_pipe_algo(9)sst_send_gain_cmd(9)fill_swm_input(9)sst_send_pipe_gains(9)sst_fill_module_list(9)sst_fill_widget_module_info(9)sst_fill_linked_widgets(9)sst_map_modules_to_pipe(9)
Mwah π β this cutie comes from the ./sound/soc/intel/atom source and is dated October 2026. Byeee 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