Lines Matching refs:codec

36 #define param_read(codec, nid, parm) \  argument
37 snd_hdac_read_parm_uncached(&(codec)->core, nid, parm)
62 struct hda_codec *codec, hda_nid_t nid, in print_nid_array() argument
89 struct hda_codec *codec, hda_nid_t nid) in print_nid_pcms() argument
94 list_for_each_entry(cpcm, &codec->pcm_list_head, list) { in print_nid_pcms()
108 struct hda_codec *codec, hda_nid_t nid, int dir) in print_amp_caps() argument
111 caps = param_read(codec, nid, dir == HDA_OUTPUT ? in print_amp_caps()
126 static bool is_stereo_amps(struct hda_codec *codec, hda_nid_t nid, in is_stereo_amps() argument
140 if (snd_hda_get_raw_connections(codec, nid, &conn, 1) < 0) in is_stereo_amps()
143 wcaps = snd_hda_param_read(codec, conn, AC_PAR_AUDIO_WIDGET_CAP); in is_stereo_amps()
148 struct hda_codec *codec, hda_nid_t nid, in print_amp_vals() argument
155 stereo = is_stereo_amps(codec, nid, dir, wcaps, indices); in print_amp_vals()
160 val = snd_hda_codec_read(codec, nid, 0, in print_amp_vals()
165 val = snd_hda_codec_read(codec, nid, 0, in print_amp_vals()
214 struct hda_codec *codec, hda_nid_t nid) in print_pcm_caps() argument
216 unsigned int pcm = param_read(codec, nid, AC_PAR_PCM); in print_pcm_caps()
217 unsigned int stream = param_read(codec, nid, AC_PAR_STREAM); in print_pcm_caps()
319 struct hda_codec *codec, hda_nid_t nid, in print_pin_caps() argument
327 caps = param_read(codec, nid, AC_PAR_PIN_CAP); in print_pin_caps()
343 if ((codec->core.vendor_id >> 16) == 0x10ec) in print_pin_caps()
377 val = snd_hda_codec_read(codec, nid, 0, in print_pin_caps()
388 caps = snd_hda_codec_read(codec, nid, 0, AC_VERB_GET_CONFIG_DEFAULT, 0); in print_pin_caps()
415 struct hda_codec *codec, hda_nid_t nid, in print_pin_ctls() argument
420 pinctls = snd_hda_codec_read(codec, nid, 0, in print_pin_ctls()
453 struct hda_codec *codec, hda_nid_t nid) in print_vol_knob() argument
455 unsigned int cap = param_read(codec, nid, AC_PAR_VOL_KNB_CAP); in print_vol_knob()
458 cap = snd_hda_codec_read(codec, nid, 0, in print_vol_knob()
465 struct hda_codec *codec, hda_nid_t nid, in print_audio_io() argument
468 int conv = snd_hda_codec_read(codec, nid, 0, AC_VERB_GET_CONV, 0); in print_audio_io()
475 int sdi = snd_hda_codec_read(codec, nid, 0, in print_audio_io()
483 struct hda_codec *codec, hda_nid_t nid) in print_digital_conv() argument
485 unsigned int digi1 = snd_hda_codec_read(codec, nid, 0, in print_digital_conv()
527 struct hda_codec *codec, hda_nid_t nid) in print_power_state() argument
540 int sup = param_read(codec, nid, AC_PAR_POWER_STATE); in print_power_state()
541 int pwr = snd_hda_codec_read(codec, nid, 0, in print_power_state()
568 struct hda_codec *codec, hda_nid_t nid) in print_unsol_cap() argument
570 int unsol = snd_hda_codec_read(codec, nid, 0, in print_unsol_cap()
578 static inline bool can_dump_coef(struct hda_codec *codec) in can_dump_coef() argument
583 default: return codec->dump_coef; in can_dump_coef()
588 struct hda_codec *codec, hda_nid_t nid) in print_proc_caps() argument
591 unsigned int proc_caps = param_read(codec, nid, AC_PAR_PROC_CAP); in print_proc_caps()
596 if (!can_dump_coef(codec)) in print_proc_caps()
601 oldindex = snd_hda_codec_read(codec, nid, 0, AC_VERB_GET_COEF_INDEX, 0); in print_proc_caps()
604 snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_COEF_INDEX, i); in print_proc_caps()
605 val = snd_hda_codec_read(codec, nid, 0, AC_VERB_GET_PROC_COEF, in print_proc_caps()
609 snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_COEF_INDEX, oldindex); in print_proc_caps()
613 struct hda_codec *codec, hda_nid_t nid, in print_conn_list() argument
625 curr = snd_hda_codec_read(codec, nid, 0, in print_conn_list()
639 cache_len = snd_hda_get_conn_list(codec, nid, &list); in print_conn_list()
653 struct hda_codec *codec, hda_nid_t nid) in print_gpio() argument
656 param_read(codec, codec->core.afg, AC_PAR_GPIO_CAP); in print_gpio()
669 enable = snd_hda_codec_read(codec, nid, 0, in print_gpio()
671 direction = snd_hda_codec_read(codec, nid, 0, in print_gpio()
673 wake = snd_hda_codec_read(codec, nid, 0, in print_gpio()
675 unsol = snd_hda_codec_read(codec, nid, 0, in print_gpio()
677 sticky = snd_hda_codec_read(codec, nid, 0, in print_gpio()
679 data = snd_hda_codec_read(codec, nid, 0, in print_gpio()
692 print_nid_array(buffer, codec, nid, &codec->mixers); in print_gpio()
693 print_nid_array(buffer, codec, nid, &codec->nids); in print_gpio()
697 struct hda_codec *codec, hda_nid_t nid) in print_device_list() argument
703 devlist_len = snd_hda_get_devices(codec, nid, dev_list, in print_device_list()
709 curr = snd_hda_codec_read(codec, nid, 0, in print_device_list()
726 static void print_codec_core_info(struct hdac_device *codec, in print_codec_core_info() argument
730 if (codec->vendor_name && codec->chip_name) in print_codec_core_info()
732 codec->vendor_name, codec->chip_name); in print_codec_core_info()
735 snd_iprintf(buffer, "Address: %d\n", codec->addr); in print_codec_core_info()
736 if (codec->afg) in print_codec_core_info()
738 codec->afg_function_id, codec->afg_unsol); in print_codec_core_info()
739 if (codec->mfg) in print_codec_core_info()
741 codec->mfg_function_id, codec->mfg_unsol); in print_codec_core_info()
742 snd_iprintf(buffer, "Vendor Id: 0x%08x\n", codec->vendor_id); in print_codec_core_info()
743 snd_iprintf(buffer, "Subsystem Id: 0x%08x\n", codec->subsystem_id); in print_codec_core_info()
744 snd_iprintf(buffer, "Revision Id: 0x%x\n", codec->revision_id); in print_codec_core_info()
746 if (codec->mfg) in print_codec_core_info()
747 snd_iprintf(buffer, "Modem Function Group: 0x%x\n", codec->mfg); in print_codec_core_info()
755 struct hda_codec *codec = entry->private_data; in print_codec_info() local
759 print_codec_core_info(&codec->core, buffer); in print_codec_info()
760 fg = codec->core.afg; in print_codec_info()
763 snd_hda_power_up(codec); in print_codec_info()
765 print_pcm_caps(buffer, codec, fg); in print_codec_info()
767 print_amp_caps(buffer, codec, fg, HDA_INPUT); in print_codec_info()
769 print_amp_caps(buffer, codec, fg, HDA_OUTPUT); in print_codec_info()
771 print_power_state(buffer, codec, fg); in print_codec_info()
773 nodes = snd_hda_get_sub_nodes(codec, fg, &nid); in print_codec_info()
776 snd_hda_power_down(codec); in print_codec_info()
780 print_gpio(buffer, codec, fg); in print_codec_info()
781 if (codec->proc_widget_hook) in print_codec_info()
782 codec->proc_widget_hook(buffer, codec, fg); in print_codec_info()
786 param_read(codec, nid, AC_PAR_AUDIO_WIDGET_CAP); in print_codec_info()
815 print_nid_array(buffer, codec, nid, &codec->mixers); in print_codec_info()
816 print_nid_array(buffer, codec, nid, &codec->nids); in print_codec_info()
817 print_nid_pcms(buffer, codec, nid); in print_codec_info()
826 conn_len = snd_hda_get_num_raw_conns(codec, nid); in print_codec_info()
832 if (snd_hda_get_raw_connections(codec, nid, conn, in print_codec_info()
840 print_amp_caps(buffer, codec, nid, HDA_INPUT); in print_codec_info()
843 (codec->single_adc_amp && in print_codec_info()
845 print_amp_vals(buffer, codec, nid, HDA_INPUT, in print_codec_info()
848 print_amp_vals(buffer, codec, nid, HDA_INPUT, in print_codec_info()
853 print_amp_caps(buffer, codec, nid, HDA_OUTPUT); in print_codec_info()
856 codec->pin_amp_workaround) in print_codec_info()
857 print_amp_vals(buffer, codec, nid, HDA_OUTPUT, in print_codec_info()
860 print_amp_vals(buffer, codec, nid, HDA_OUTPUT, in print_codec_info()
867 print_pin_caps(buffer, codec, nid, &supports_vref); in print_codec_info()
868 print_pin_ctls(buffer, codec, nid, supports_vref); in print_codec_info()
872 print_vol_knob(buffer, codec, nid); in print_codec_info()
876 print_audio_io(buffer, codec, nid, wid_type); in print_codec_info()
878 print_digital_conv(buffer, codec, nid); in print_codec_info()
881 print_pcm_caps(buffer, codec, nid); in print_codec_info()
887 print_unsol_cap(buffer, codec, nid); in print_codec_info()
890 print_power_state(buffer, codec, nid); in print_codec_info()
897 if (wid_type == AC_WID_PIN && codec->dp_mst) in print_codec_info()
898 print_device_list(buffer, codec, nid); in print_codec_info()
901 print_conn_list(buffer, codec, nid, wid_type, in print_codec_info()
905 print_proc_caps(buffer, codec, nid); in print_codec_info()
907 if (codec->proc_widget_hook) in print_codec_info()
908 codec->proc_widget_hook(buffer, codec, nid); in print_codec_info()
912 snd_hda_power_down(codec); in print_codec_info()
918 int snd_hda_codec_proc_new(struct hda_codec *codec) in snd_hda_codec_proc_new() argument
924 snprintf(name, sizeof(name), "codec#%d", codec->core.addr); in snd_hda_codec_proc_new()
925 err = snd_card_proc_new(codec->card, name, &entry); in snd_hda_codec_proc_new()
929 snd_info_set_text_ops(entry, codec, print_codec_info); in snd_hda_codec_proc_new()