snd_hda_codec_prepare(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– 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