Lines Matching refs:codec

19 MODULE_PARM_DESC(dump_coef, "Dump processing coefficients in codec proc file (-1=auto, 0=disable, 1=enable)");
22 #define param_read(codec, nid, parm) \
23 snd_hdac_read_parm_uncached(&(codec)->core, nid, parm)
48 struct hda_codec *codec, hda_nid_t nid,
75 struct hda_codec *codec, hda_nid_t nid)
80 list_for_each_entry(cpcm, &codec->pcm_list_head, list) {
94 struct hda_codec *codec, hda_nid_t nid, int dir)
97 caps = param_read(codec, nid, dir == HDA_OUTPUT ?
112 static bool is_stereo_amps(struct hda_codec *codec, hda_nid_t nid,
126 if (snd_hda_get_raw_connections(codec, nid, &conn, 1) < 0)
129 wcaps = snd_hda_param_read(codec, conn, AC_PAR_AUDIO_WIDGET_CAP);
134 struct hda_codec *codec, hda_nid_t nid,
141 stereo = is_stereo_amps(codec, nid, dir, wcaps, indices);
146 val = snd_hda_codec_read(codec, nid, 0,
151 val = snd_hda_codec_read(codec, nid, 0,
200 struct hda_codec *codec, hda_nid_t nid)
202 unsigned int pcm = param_read(codec, nid, AC_PAR_PCM);
203 unsigned int stream = param_read(codec, nid, AC_PAR_STREAM);
305 struct hda_codec *codec, hda_nid_t nid,
313 caps = param_read(codec, nid, AC_PAR_PIN_CAP);
329 if ((codec->core.vendor_id >> 16) == 0x10ec)
363 val = snd_hda_codec_read(codec, nid, 0,
374 caps = snd_hda_codec_read(codec, nid, 0, AC_VERB_GET_CONFIG_DEFAULT, 0);
401 struct hda_codec *codec, hda_nid_t nid,
406 pinctls = snd_hda_codec_read(codec, nid, 0,
439 struct hda_codec *codec, hda_nid_t nid)
441 unsigned int cap = param_read(codec, nid, AC_PAR_VOL_KNB_CAP);
444 cap = snd_hda_codec_read(codec, nid, 0,
451 struct hda_codec *codec, hda_nid_t nid,
454 int conv = snd_hda_codec_read(codec, nid, 0, AC_VERB_GET_CONV, 0);
461 int sdi = snd_hda_codec_read(codec, nid, 0,
469 struct hda_codec *codec, hda_nid_t nid)
471 unsigned int digi1 = snd_hda_codec_read(codec, nid, 0,
513 struct hda_codec *codec, hda_nid_t nid)
526 int sup = param_read(codec, nid, AC_PAR_POWER_STATE);
527 int pwr = snd_hda_codec_read(codec, nid, 0,
554 struct hda_codec *codec, hda_nid_t nid)
556 int unsol = snd_hda_codec_read(codec, nid, 0,
564 static inline bool can_dump_coef(struct hda_codec *codec)
569 default: return codec->dump_coef;
574 struct hda_codec *codec, hda_nid_t nid)
577 unsigned int proc_caps = param_read(codec, nid, AC_PAR_PROC_CAP);
582 if (!can_dump_coef(codec))
587 oldindex = snd_hda_codec_read(codec, nid, 0, AC_VERB_GET_COEF_INDEX, 0);
590 snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_COEF_INDEX, i);
591 val = snd_hda_codec_read(codec, nid, 0, AC_VERB_GET_PROC_COEF,
595 snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_COEF_INDEX, oldindex);
599 struct hda_codec *codec, hda_nid_t nid,
611 curr = snd_hda_codec_read(codec, nid, 0,
625 cache_len = snd_hda_get_conn_list(codec, nid, &list);
639 struct hda_codec *codec, hda_nid_t nid)
642 param_read(codec, codec->core.afg, AC_PAR_GPIO_CAP);
655 enable = snd_hda_codec_read(codec, nid, 0,
657 direction = snd_hda_codec_read(codec, nid, 0,
659 wake = snd_hda_codec_read(codec, nid, 0,
661 unsol = snd_hda_codec_read(codec, nid, 0,
663 sticky = snd_hda_codec_read(codec, nid, 0,
665 data = snd_hda_codec_read(codec, nid, 0,
678 print_nid_array(buffer, codec, nid, &codec->mixers);
679 print_nid_array(buffer, codec, nid, &codec->nids);
683 struct hda_codec *codec, hda_nid_t nid)
689 devlist_len = snd_hda_get_devices(codec, nid, dev_list,
695 curr = snd_hda_codec_read(codec, nid, 0,
712 static void print_codec_core_info(struct hdac_device *codec,
716 if (codec->vendor_name && codec->chip_name)
718 codec->vendor_name, codec->chip_name);
721 snd_iprintf(buffer, "Address: %d\n", codec->addr);
722 if (codec->afg)
724 codec->afg_function_id, codec->afg_unsol);
725 if (codec->mfg)
727 codec->mfg_function_id, codec->mfg_unsol);
728 snd_iprintf(buffer, "Vendor Id: 0x%08x\n", codec->vendor_id);
729 snd_iprintf(buffer, "Subsystem Id: 0x%08x\n", codec->subsystem_id);
730 snd_iprintf(buffer, "Revision Id: 0x%x\n", codec->revision_id);
732 if (codec->mfg)
733 snd_iprintf(buffer, "Modem Function Group: 0x%x\n", codec->mfg);
741 struct hda_codec *codec = entry->private_data;
745 print_codec_core_info(&codec->core, buffer);
746 fg = codec->core.afg;
749 snd_hda_power_up(codec);
751 print_pcm_caps(buffer, codec, fg);
753 print_amp_caps(buffer, codec, fg, HDA_INPUT);
755 print_amp_caps(buffer, codec, fg, HDA_OUTPUT);
757 print_power_state(buffer, codec, fg);
759 nodes = snd_hda_get_sub_nodes(codec, fg, &nid);
762 snd_hda_power_down(codec);
766 print_gpio(buffer, codec, fg);
767 if (codec->proc_widget_hook)
768 codec->proc_widget_hook(buffer, codec, fg);
772 param_read(codec, nid, AC_PAR_AUDIO_WIDGET_CAP);
801 print_nid_array(buffer, codec, nid, &codec->mixers);
802 print_nid_array(buffer, codec, nid, &codec->nids);
803 print_nid_pcms(buffer, codec, nid);
812 conn_len = snd_hda_get_num_raw_conns(codec, nid);
819 if (snd_hda_get_raw_connections(codec, nid, conn,
827 print_amp_caps(buffer, codec, nid, HDA_INPUT);
830 (codec->single_adc_amp &&
832 print_amp_vals(buffer, codec, nid, HDA_INPUT,
835 print_amp_vals(buffer, codec, nid, HDA_INPUT,
840 print_amp_caps(buffer, codec, nid, HDA_OUTPUT);
843 codec->pin_amp_workaround)
844 print_amp_vals(buffer, codec, nid, HDA_OUTPUT,
847 print_amp_vals(buffer, codec, nid, HDA_OUTPUT,
854 print_pin_caps(buffer, codec, nid, &supports_vref);
855 print_pin_ctls(buffer, codec, nid, supports_vref);
859 print_vol_knob(buffer, codec, nid);
863 print_audio_io(buffer, codec, nid, wid_type);
865 print_digital_conv(buffer, codec, nid);
868 print_pcm_caps(buffer, codec, nid);
874 print_unsol_cap(buffer, codec, nid);
877 print_power_state(buffer, codec, nid);
884 if (wid_type == AC_WID_PIN && codec->dp_mst)
885 print_device_list(buffer, codec, nid);
888 print_conn_list(buffer, codec, nid, wid_type,
892 print_proc_caps(buffer, codec, nid);
894 if (codec->proc_widget_hook)
895 codec->proc_widget_hook(buffer, codec, nid);
899 snd_hda_power_down(codec);
905 int snd_hda_codec_proc_new(struct hda_codec *codec)
909 snprintf(name, sizeof(name), "codec#%d", codec->core.addr);
910 return snd_card_ro_proc_new(codec->card, name, codec, print_codec_info);