snd_hda_codec_prepare(9)
π NAME π
okay bestie, meet snd_hda_codec_prepare β the snd_hda_codec_prepare(9) page from the Kernel API Manual, and its whole job is literally: Prepare a stream. That's the vibe. π
π SYNOPSIS π
int snd_hda_codec_prepare (struct hda_codec *codec , struct
hda_pcm_stream *hinfo , unsigned int stream , unsigned int format ,
struct snd_pcm_substream *substream );
π ARGUMENTS π
codecβ the HDA codec. the main character device struct, no cap.hinfoβ PCM information. the PCM info bestie.streamβ stream tag to assign. yes, assign it.formatβ format id to assign. also getting assigned, periodt.substreamβ PCM substream to assign. the substream in question. π«Ά
β¨ DESCRIPTION β¨
So it calls the prepare callback that the codec set, handing over the given arguments. And when that succeeds? It cleans up the inactive streams. iconic cleanup behavior, honestly. π§
π¦ SEE ALSO π¦
Kernel file: ./sound/hda/common/codec.c β and here's the full bestie roll call, every single one:
snd_hda_sequence_write(9), snd_hda_get_conn_list(9), snd_hda_get_connections(9),
snd_hda_override_conn_list(9), snd_hda_get_conn_index(9),
snd_hda_get_num_devices(9), snd_hda_get_devices(9),
snd_hda_get_dev_select(9), snd_hda_set_dev_select(9),
snd_hda_codec_set_pincfg(9), snd_hda_codec_get_pincfg(9),
snd_hda_codec_set_pin_target(9), snd_hda_codec_get_pin_target(9),
snd_hda_shutup_pins(9), snd_hda_codec_cleanup_for_unbind(9),
snd_hda_codec_register(9), snd_hda_codec_unregister(9),
snd_hda_codec_device_init(9), snd_hda_codec_new(9),
snd_hda_codec_update_widgets(9), snd_hda_codec_setup_stream(9),
__snd_hda_codec_cleanup_stream(9), query_amp_caps(9),
snd_hda_check_amp_caps(9), snd_hda_override_amp_caps(9),
snd_hda_codec_amp_update(9), snd_hda_codec_amp_stereo(9),
snd_hda_codec_amp_init(9), snd_hda_codec_amp_init_stereo(9),
snd_hda_mixer_amp_volume_info(9), snd_hda_mixer_amp_volume_get(9),
snd_hda_mixer_amp_volume_put(9), snd_hda_mixer_amp_tlv(9),
snd_hda_set_vmaster_tlv(9), snd_hda_find_mixer_ctl(9),
snd_hda_ctl_add(9), snd_hda_ctls_clear(9), snd_hda_lock_devices(9),
snd_hda_unlock_devices(9), snd_hda_codec_reset(9),
__snd_hda_add_vmaster(9), snd_hda_add_vmaster_hook(9),
snd_hda_sync_vmaster_hook(9), snd_hda_mixer_amp_switch_info(9),
snd_hda_mixer_amp_switch_get(9), snd_hda_mixer_amp_switch_put(9),
snd_hda_create_dig_out_ctls(9), snd_hda_spdif_out_of_nid(9),
snd_hda_spdif_ctls_unassign(9), snd_hda_spdif_ctls_assign(9),
snd_hda_create_spdif_share_sw(9), snd_hda_create_spdif_in_ctls(9),
snd_hda_codec_set_power_to_all(9), snd_hda_codec_eapd_power_filter(9),
snd_hda_codec_cleanup(9), snd_hda_add_new_ctls(9),
snd_hda_codec_set_power_save(9), snd_hda_set_power_save(9),
snd_hda_check_amp_list_power(9), snd_hda_input_mux_info(9),
snd_hda_input_mux_put(9), snd_hda_enum_helper_info(9),
snd_hda_multi_out_dig_open(9), snd_hda_multi_out_dig_prepare(9),
snd_hda_multi_out_dig_cleanup(9), snd_hda_multi_out_dig_close(9),
snd_hda_multi_out_analog_open(9), snd_hda_multi_out_analog_prepare(9),
snd_hda_multi_out_analog_cleanup(9), snd_hda_get_default_vref(9),
snd_hda_correct_pin_ctl(9), _snd_hda_set_pin_ctl(9),
snd_hda_add_imux_item(9), snd_hda_bus_reset_codecs(9),
snd_hda_codec_set_gpio(9), snd_print_pcm_bits(9)
mwah π this page is from the Kernel API Manual, source/version ./sound/hda/common, dated October 2026 β snd_hda_codec_prepare(9) out. π«Άβ¨
π¦ 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