snd_hdac_re...e_amp_stereo(9)
π snd_hdac_regmap_update_amp_stereo β the stereo AMP glow-up π
okay so bestie, welcome to the Kernel API Manual β¨ this one lives in section 9, and it's literally called snd_hdac_regmap_update_amp_stereo. yes the title gets truncated to snd_hdac_re...e_amp_stereo(9) on the header line because man pages are dramatic like that π but the real, full, government name is the one up there. let's get into it π«Ά
πΈ NAME πΈ
snd_hdac_regmap_update_amp_stereo β update the stereo AMP value π
like, that's the whole job. she updates. she's stereo. she's an AMP value. iconic behavior honestly π
β¨ SYNOPSIS β¨
int snd_hdac_regmap_update_amp_stereo (struct hdac_device *codec ,
hda_nid_t nid , int dir , int idx , int mask , int val );
that's six whole arguments bestie, she is NOT low maintenance π but every single one of them is doing something, so let's go through them one by one, no cap π§
π ARGUMENTS π
codecβ the HD-audio codec π like, the whole device vibe, the main character of this function callnidβ the NID to read the AMP value π (yes, to read it β that's what the man page says, don't come for me)dirβ either#HDA_INPUTor#HDA_OUTPUTπ¦ pick your direction, bestie, you can't have bothidxβ the index value π and listen, this one's only for the input direction, so if you're outputting, she's not invited to the partymaskβ bit mask to set π― the bits you're allowed to touchvalβ the bits value to set β¨ the bits you're actually setting them to
π₯ DESCRIPTION π₯
so the way this works is: update the stereo AMP value with a bit mask ποΈ that's it, that's the plot.
and here's the little detail you cannot forget, iykyk:
the lower byte is left, the upper byte is right π
lower = left, upper = right. write it on your hand. put it in your notes app. tattoo it. because if you mix those up it's giving chaos and nobody wants that π
π RETURN π
0β the value is unchanged, nothing happened, she's unbothered, she's chilling π€1β the value changed, something moved, we love growth β- negative β an error π and yeah, negative means it went wrong, that's the whole mood
π¦ SEE ALSO π¦
the kernel file lives at ./include/sound/hda_regmap.h π and honestly? the whole friend group is in there:
snd_hdac_regmap_encode_verb(9)snd_hdac_regmap_encode_amp(9)snd_hdac_regmap_encode_amp_stereo(9)snd_hdac_regmap_write(9)snd_hdac_regmap_update(9)snd_hdac_regmap_read(9)snd_hdac_regmap_get_amp(9)snd_hdac_regmap_update_amp(9)snd_hdac_regmap_get_amp_stereo(9)snd_hdac_regmap_sync_node(9)
go read them, they're all slay in their own way π«Άβ¨
okay and for the cute little sign-off moment: this whole page is living under ./include/sound in the kernel tree, stamped October 2026 πΈ and she goes by snd_hdac_re...e_amp_stereo(9) when she's being shy about her full name. mwah, go update some stereo AMP values 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