• Home
  • Raw
  • Download

Lines Matching refs:nid

197 make_codec_cmd(struct hda_codec *codec, hda_nid_t nid, int flags,  in make_codec_cmd()  argument
202 if ((codec->addr & ~0xf) || (nid & ~0x7f) || in make_codec_cmd()
205 codec->addr, nid, verb, parm); in make_codec_cmd()
210 val |= (u32)nid << 20; in make_codec_cmd()
277 unsigned int snd_hda_codec_read(struct hda_codec *codec, hda_nid_t nid, in snd_hda_codec_read() argument
281 unsigned cmd = make_codec_cmd(codec, nid, flags, verb, parm); in snd_hda_codec_read()
301 int snd_hda_codec_write(struct hda_codec *codec, hda_nid_t nid, int flags, in snd_hda_codec_write() argument
304 unsigned int cmd = make_codec_cmd(codec, nid, flags, verb, parm); in snd_hda_codec_write()
321 for (; seq->nid; seq++) in snd_hda_sequence_write()
322 snd_hda_codec_write(codec, seq->nid, 0, seq->verb, seq->param); in snd_hda_sequence_write()
335 int snd_hda_get_sub_nodes(struct hda_codec *codec, hda_nid_t nid, in snd_hda_get_sub_nodes() argument
340 parm = snd_hda_param_read(codec, nid, AC_PAR_NODE_COUNT); in snd_hda_get_sub_nodes()
354 hda_nid_t nid; member
360 lookup_conn_list(struct hda_codec *codec, hda_nid_t nid) in lookup_conn_list() argument
364 if (p->nid == nid) in lookup_conn_list()
370 static int add_conn_list(struct hda_codec *codec, hda_nid_t nid, int len, in add_conn_list() argument
379 p->nid = nid; in add_conn_list()
396 static int read_and_add_raw_conns(struct hda_codec *codec, hda_nid_t nid) in read_and_add_raw_conns() argument
402 len = snd_hda_get_raw_connections(codec, nid, list, ARRAY_SIZE(list)); in read_and_add_raw_conns()
404 len = snd_hda_get_num_raw_conns(codec, nid); in read_and_add_raw_conns()
408 len = snd_hda_get_raw_connections(codec, nid, result, len); in read_and_add_raw_conns()
411 len = snd_hda_override_conn_list(codec, nid, len, result); in read_and_add_raw_conns()
433 int snd_hda_get_conn_list(struct hda_codec *codec, hda_nid_t nid, in snd_hda_get_conn_list() argument
443 p = lookup_conn_list(codec, nid); in snd_hda_get_conn_list()
452 err = read_and_add_raw_conns(codec, nid); in snd_hda_get_conn_list()
472 int snd_hda_get_connections(struct hda_codec *codec, hda_nid_t nid, in snd_hda_get_connections() argument
476 int len = snd_hda_get_conn_list(codec, nid, &list); in snd_hda_get_connections()
481 len, nid); in snd_hda_get_connections()
492 static unsigned int get_num_conns(struct hda_codec *codec, hda_nid_t nid) in get_num_conns() argument
494 unsigned int wcaps = get_wcaps(codec, nid); in get_num_conns()
501 parm = snd_hda_param_read(codec, nid, AC_PAR_CONNLIST_LEN); in get_num_conns()
507 int snd_hda_get_num_raw_conns(struct hda_codec *codec, hda_nid_t nid) in snd_hda_get_num_raw_conns() argument
509 return snd_hda_get_raw_connections(codec, nid, NULL, 0); in snd_hda_get_num_raw_conns()
523 int snd_hda_get_raw_connections(struct hda_codec *codec, hda_nid_t nid, in snd_hda_get_raw_connections() argument
532 parm = get_num_conns(codec, nid); in snd_hda_get_raw_connections()
553 parm = snd_hda_codec_read(codec, nid, 0, in snd_hda_get_raw_connections()
570 parm = snd_hda_codec_read(codec, nid, 0, in snd_hda_get_raw_connections()
580 nid, i, parm); in snd_hda_get_raw_connections()
625 int snd_hda_override_conn_list(struct hda_codec *codec, hda_nid_t nid, int len, in snd_hda_override_conn_list() argument
630 p = lookup_conn_list(codec, nid); in snd_hda_override_conn_list()
636 return add_conn_list(codec, nid, len, list); in snd_hda_override_conn_list()
652 hda_nid_t nid, int recursive) in snd_hda_get_conn_index() argument
659 if (conn[i] == nid) in snd_hda_get_conn_index()
664 codec_dbg(codec, "too deep connection for 0x%x\n", nid); in snd_hda_get_conn_index()
672 if (snd_hda_get_conn_index(codec, conn[i], nid, recursive) >= 0) in snd_hda_get_conn_index()
681 static unsigned int get_num_devices(struct hda_codec *codec, hda_nid_t nid) in get_num_devices() argument
683 unsigned int wcaps = get_wcaps(codec, nid); in get_num_devices()
690 parm = snd_hda_param_read(codec, nid, AC_PAR_DEVLIST_LEN); in get_num_devices()
706 int snd_hda_get_devices(struct hda_codec *codec, hda_nid_t nid, in snd_hda_get_devices() argument
712 parm = get_num_devices(codec, nid); in snd_hda_get_devices()
721 parm = snd_hda_codec_read(codec, nid, 0, in snd_hda_get_devices()
1033 hda_nid_t nid; in setup_fg_nodes() local
1035 total_nodes = snd_hda_get_sub_nodes(codec, AC_NODE_ROOT, &nid); in setup_fg_nodes()
1036 for (i = 0; i < total_nodes; i++, nid++) { in setup_fg_nodes()
1037 function_id = snd_hda_param_read(codec, nid, in setup_fg_nodes()
1041 codec->afg = nid; in setup_fg_nodes()
1046 codec->mfg = nid; in setup_fg_nodes()
1062 hda_nid_t nid; in read_widget_caps() local
1069 nid = codec->start_nid; in read_widget_caps()
1070 for (i = 0; i < codec->num_nodes; i++, nid++) in read_widget_caps()
1071 codec->wcaps[i] = snd_hda_param_read(codec, nid, in read_widget_caps()
1080 hda_nid_t nid = codec->start_nid; in read_pin_defaults() local
1082 for (i = 0; i < codec->num_nodes; i++, nid++) { in read_pin_defaults()
1084 unsigned int wcaps = get_wcaps(codec, nid); in read_pin_defaults()
1091 pin->nid = nid; in read_pin_defaults()
1092 pin->cfg = snd_hda_codec_read(codec, nid, 0, in read_pin_defaults()
1094 pin->ctrl = snd_hda_codec_read(codec, nid, 0, in read_pin_defaults()
1104 hda_nid_t nid) in look_up_pincfg() argument
1109 if (pin->nid == nid) in look_up_pincfg()
1119 hda_nid_t nid, unsigned int cfg) in snd_hda_add_pincfg() argument
1132 pin = look_up_pincfg(codec, list, nid); in snd_hda_add_pincfg()
1137 pin->nid = nid; in snd_hda_add_pincfg()
1154 hda_nid_t nid, unsigned int cfg) in snd_hda_codec_set_pincfg() argument
1156 return snd_hda_add_pincfg(codec, &codec->driver_pins, nid, cfg); in snd_hda_codec_set_pincfg()
1169 unsigned int snd_hda_codec_get_pincfg(struct hda_codec *codec, hda_nid_t nid) in snd_hda_codec_get_pincfg() argument
1177 pin = look_up_pincfg(codec, &codec->user_pins, nid); in snd_hda_codec_get_pincfg()
1185 pin = look_up_pincfg(codec, &codec->driver_pins, nid); in snd_hda_codec_get_pincfg()
1188 pin = look_up_pincfg(codec, &codec->init_pins, nid); in snd_hda_codec_get_pincfg()
1196 int snd_hda_codec_set_pin_target(struct hda_codec *codec, hda_nid_t nid, in snd_hda_codec_set_pin_target() argument
1201 pin = look_up_pincfg(codec, &codec->init_pins, nid); in snd_hda_codec_set_pin_target()
1210 int snd_hda_codec_get_pin_target(struct hda_codec *codec, hda_nid_t nid) in snd_hda_codec_get_pin_target() argument
1214 pin = look_up_pincfg(codec, &codec->init_pins, nid); in snd_hda_codec_get_pin_target()
1239 snd_hda_codec_read(codec, pin->nid, 0, in snd_hda_shutup_pins()
1257 snd_hda_codec_write(codec, pin->nid, 0, in restore_shutup_pins()
1298 hda_nid_t nid; member
1308 get_hda_cvt_setup(struct hda_codec *codec, hda_nid_t nid) in get_hda_cvt_setup() argument
1315 if (p->nid == nid) in get_hda_cvt_setup()
1320 p->nid = nid; in get_hda_cvt_setup()
1609 hda_nid_t nid = codec->start_nid; in is_likely_hdmi_codec() local
1612 for (i = 0; i < codec->num_nodes; i++, nid++) { in is_likely_hdmi_codec()
1613 unsigned int wcaps = get_wcaps(codec, nid); in is_likely_hdmi_codec()
1698 struct hda_cvt_setup *p, hda_nid_t nid, in update_pcm_stream_id() argument
1704 oldval = snd_hda_codec_read(codec, nid, 0, AC_VERB_GET_CONV, 0); in update_pcm_stream_id()
1707 snd_hda_codec_write(codec, nid, 0, in update_pcm_stream_id()
1717 hda_nid_t nid, int format) in update_pcm_format() argument
1722 oldval = snd_hda_codec_read(codec, nid, 0, in update_pcm_format()
1726 snd_hda_codec_write(codec, nid, 0, in update_pcm_format()
1742 void snd_hda_codec_setup_stream(struct hda_codec *codec, hda_nid_t nid, in snd_hda_codec_setup_stream() argument
1751 if (!nid) in snd_hda_codec_setup_stream()
1756 nid, stream_tag, channel_id, format); in snd_hda_codec_setup_stream()
1757 p = get_hda_cvt_setup(codec, nid); in snd_hda_codec_setup_stream()
1762 update_pcm_format(codec, p, nid, format); in snd_hda_codec_setup_stream()
1763 update_pcm_stream_id(codec, p, nid, stream_tag, channel_id); in snd_hda_codec_setup_stream()
1765 update_pcm_format(codec, p, nid, format); in snd_hda_codec_setup_stream()
1771 type = get_wcaps_type(get_wcaps(codec, nid)); in snd_hda_codec_setup_stream()
1776 get_wcaps_type(get_wcaps(c, p->nid)) == type) in snd_hda_codec_setup_stream()
1792 void __snd_hda_codec_cleanup_stream(struct hda_codec *codec, hda_nid_t nid, in __snd_hda_codec_cleanup_stream() argument
1797 if (!nid) in __snd_hda_codec_cleanup_stream()
1803 codec_dbg(codec, "hda_codec_cleanup_stream: NID=0x%x\n", nid); in __snd_hda_codec_cleanup_stream()
1804 p = get_hda_cvt_setup(codec, nid); in __snd_hda_codec_cleanup_stream()
1821 hda_nid_t nid = q->nid; in really_cleanup_stream() local
1823 snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_CHANNEL_STREAMID, 0); in really_cleanup_stream()
1825 snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_STREAM_FORMAT, 0 in really_cleanup_stream()
1828 q->nid = nid; in really_cleanup_stream()
1866 #define HDA_HASH_KEY(nid, dir, idx) (u32)((nid) + ((idx) << 16) + ((dir) << 24)) argument
1867 #define HDA_HASH_PINCAP_KEY(nid) (u32)((nid) + (0x02 << 24)) argument
1868 #define HDA_HASH_PARPCM_KEY(nid) (u32)((nid) + (0x03 << 24)) argument
1869 #define HDA_HASH_PARSTR_KEY(nid) (u32)((nid) + (0x04 << 24)) argument
1953 query_caps_hash(struct hda_codec *codec, hda_nid_t nid, int dir, u32 key, in query_caps_hash() argument
1967 val = func(codec, nid, dir); in query_caps_hash()
1976 static unsigned int read_amp_cap(struct hda_codec *codec, hda_nid_t nid, in read_amp_cap() argument
1979 if (!(get_wcaps(codec, nid) & AC_WCAP_AMP_OVRD)) in read_amp_cap()
1980 nid = codec->afg; in read_amp_cap()
1981 return snd_hda_param_read(codec, nid, in read_amp_cap()
1998 u32 query_amp_caps(struct hda_codec *codec, hda_nid_t nid, int direction) in query_amp_caps() argument
2000 return query_caps_hash(codec, nid, direction, in query_amp_caps()
2001 HDA_HASH_KEY(nid, direction, 0), in query_amp_caps()
2014 bool snd_hda_check_amp_caps(struct hda_codec *codec, hda_nid_t nid, in snd_hda_check_amp_caps() argument
2017 if (!nid) in snd_hda_check_amp_caps()
2019 if (get_wcaps(codec, nid) & (1 << (dir + 1))) in snd_hda_check_amp_caps()
2020 if (query_amp_caps(codec, nid, dir) & bits) in snd_hda_check_amp_caps()
2039 int snd_hda_override_amp_caps(struct hda_codec *codec, hda_nid_t nid, int dir, in snd_hda_override_amp_caps() argument
2042 return write_caps_hash(codec, HDA_HASH_KEY(nid, dir, 0), caps); in snd_hda_override_amp_caps()
2046 static unsigned int read_pin_cap(struct hda_codec *codec, hda_nid_t nid, in read_pin_cap() argument
2049 return snd_hda_param_read(codec, nid, AC_PAR_PIN_CAP); in read_pin_cap()
2063 u32 snd_hda_query_pin_caps(struct hda_codec *codec, hda_nid_t nid) in snd_hda_query_pin_caps() argument
2065 return query_caps_hash(codec, nid, 0, HDA_HASH_PINCAP_KEY(nid), in snd_hda_query_pin_caps()
2080 int snd_hda_override_pin_caps(struct hda_codec *codec, hda_nid_t nid, in snd_hda_override_pin_caps() argument
2083 return write_caps_hash(codec, HDA_HASH_PINCAP_KEY(nid), caps); in snd_hda_override_pin_caps()
2091 update_amp_hash(struct hda_codec *codec, hda_nid_t nid, int ch, in update_amp_hash() argument
2099 info = get_alloc_amp_hash(codec, HDA_HASH_KEY(nid, direction, index)); in update_amp_hash()
2109 val = snd_hda_codec_read(codec, nid, 0, in update_amp_hash()
2127 hda_nid_t nid, int ch, int direction, int index, in put_vol_mute() argument
2140 snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_AMP_GAIN_MUTE, parm); in put_vol_mute()
2163 int snd_hda_codec_amp_read(struct hda_codec *codec, hda_nid_t nid, int ch, in snd_hda_codec_amp_read() argument
2170 info = update_amp_hash(codec, nid, ch, direction, index, false); in snd_hda_codec_amp_read()
2178 static int codec_amp_update(struct hda_codec *codec, hda_nid_t nid, int ch, in codec_amp_update() argument
2191 info = update_amp_hash(codec, nid, ch, direction, idx, init_only); in codec_amp_update()
2206 put_vol_mute(codec, caps, nid, ch, direction, idx, val); in codec_amp_update()
2223 int snd_hda_codec_amp_update(struct hda_codec *codec, hda_nid_t nid, int ch, in snd_hda_codec_amp_update() argument
2226 return codec_amp_update(codec, nid, ch, direction, idx, mask, val, false); in snd_hda_codec_amp_update()
2242 int snd_hda_codec_amp_stereo(struct hda_codec *codec, hda_nid_t nid, in snd_hda_codec_amp_stereo() argument
2250 ret |= snd_hda_codec_amp_update(codec, nid, ch, direction, in snd_hda_codec_amp_stereo()
2260 int snd_hda_codec_amp_init(struct hda_codec *codec, hda_nid_t nid, int ch, in snd_hda_codec_amp_init() argument
2263 return codec_amp_update(codec, nid, ch, dir, idx, mask, val, true); in snd_hda_codec_amp_init()
2267 int snd_hda_codec_amp_init_stereo(struct hda_codec *codec, hda_nid_t nid, in snd_hda_codec_amp_init_stereo() argument
2275 ret |= snd_hda_codec_amp_init(codec, nid, ch, dir, in snd_hda_codec_amp_init_stereo()
2296 hda_nid_t nid; in snd_hda_codec_resume_amp() local
2308 nid = key & 0xff; in snd_hda_codec_resume_amp()
2315 put_vol_mute(codec, info.amp_caps, nid, ch, dir, idx, in snd_hda_codec_resume_amp()
2324 static u32 get_amp_max_value(struct hda_codec *codec, hda_nid_t nid, int dir, in get_amp_max_value() argument
2327 u32 caps = query_amp_caps(codec, nid, dir); in get_amp_max_value()
2345 u16 nid = get_amp_nid(kcontrol); in snd_hda_mixer_amp_volume_info() local
2353 uinfo->value.integer.max = get_amp_max_value(codec, nid, dir, ofs); in snd_hda_mixer_amp_volume_info()
2357 nid, kcontrol->id.name); in snd_hda_mixer_amp_volume_info()
2366 read_amp_value(struct hda_codec *codec, hda_nid_t nid, in read_amp_value() argument
2370 val = snd_hda_codec_amp_read(codec, nid, ch, dir, idx); in read_amp_value()
2380 update_amp_value(struct hda_codec *codec, hda_nid_t nid, in update_amp_value() argument
2389 maxval = get_amp_max_value(codec, nid, dir, 0); in update_amp_value()
2392 return snd_hda_codec_amp_update(codec, nid, ch, dir, idx, in update_amp_value()
2406 hda_nid_t nid = get_amp_nid(kcontrol); in snd_hda_mixer_amp_volume_get() local
2414 *valp++ = read_amp_value(codec, nid, 0, dir, idx, ofs); in snd_hda_mixer_amp_volume_get()
2416 *valp = read_amp_value(codec, nid, 1, dir, idx, ofs); in snd_hda_mixer_amp_volume_get()
2431 hda_nid_t nid = get_amp_nid(kcontrol); in snd_hda_mixer_amp_volume_put() local
2441 change = update_amp_value(codec, nid, 0, dir, idx, ofs, *valp); in snd_hda_mixer_amp_volume_put()
2445 change |= update_amp_value(codec, nid, 1, dir, idx, ofs, *valp); in snd_hda_mixer_amp_volume_put()
2461 hda_nid_t nid = get_amp_nid(kcontrol); in snd_hda_mixer_amp_tlv() local
2469 caps = query_amp_caps(codec, nid, dir); in snd_hda_mixer_amp_tlv()
2500 void snd_hda_set_vmaster_tlv(struct hda_codec *codec, hda_nid_t nid, int dir, in snd_hda_set_vmaster_tlv() argument
2506 caps = query_amp_caps(codec, nid, dir); in snd_hda_set_vmaster_tlv()
2577 int snd_hda_ctl_add(struct hda_codec *codec, hda_nid_t nid, in snd_hda_ctl_add() argument
2586 if (nid == 0) in snd_hda_ctl_add()
2587 nid = get_amp_nid_(kctl->private_value); in snd_hda_ctl_add()
2589 if ((kctl->id.subdevice & HDA_SUBDEV_NID_FLAG) != 0 && nid == 0) in snd_hda_ctl_add()
2590 nid = kctl->id.subdevice & 0xffff; in snd_hda_ctl_add()
2600 item->nid = nid; in snd_hda_ctl_add()
2618 unsigned int index, hda_nid_t nid) in snd_hda_add_nid() argument
2622 if (nid > 0) { in snd_hda_add_nid()
2628 item->nid = nid; in snd_hda_add_nid()
3057 hda_nid_t nid = get_amp_nid(kcontrol); in snd_hda_mixer_amp_switch_get() local
3064 *valp++ = (snd_hda_codec_amp_read(codec, nid, 0, dir, idx) & in snd_hda_mixer_amp_switch_get()
3067 *valp = (snd_hda_codec_amp_read(codec, nid, 1, dir, idx) & in snd_hda_mixer_amp_switch_get()
3083 hda_nid_t nid = get_amp_nid(kcontrol); in snd_hda_mixer_amp_switch_put() local
3092 change = snd_hda_codec_amp_update(codec, nid, 0, dir, idx, in snd_hda_mixer_amp_switch_put()
3098 change |= snd_hda_codec_amp_update(codec, nid, 1, dir, idx, in snd_hda_mixer_amp_switch_put()
3101 hda_call_check_power_status(codec, nid); in snd_hda_mixer_amp_switch_put()
3388 static void set_dig_out(struct hda_codec *codec, hda_nid_t nid, in set_dig_out() argument
3393 snd_hda_codec_write_cache(codec, nid, 0, verb, val); in set_dig_out()
3401 static inline void set_dig_out_convert(struct hda_codec *codec, hda_nid_t nid, in set_dig_out_convert() argument
3405 set_dig_out(codec, nid, AC_VERB_SET_DIGI_CONVERT_1, dig1); in set_dig_out_convert()
3407 set_dig_out(codec, nid, AC_VERB_SET_DIGI_CONVERT_2, dig2); in set_dig_out_convert()
3416 hda_nid_t nid; in snd_hda_spdif_default_put() local
3422 nid = spdif->nid; in snd_hda_spdif_default_put()
3431 if (change && nid != (u16)-1) in snd_hda_spdif_default_put()
3432 set_dig_out_convert(codec, nid, val & 0xff, (val >> 8) & 0xff); in snd_hda_spdif_default_put()
3453 static inline void set_spdif_ctls(struct hda_codec *codec, hda_nid_t nid, in set_spdif_ctls() argument
3456 set_dig_out_convert(codec, nid, dig1, dig2); in set_spdif_ctls()
3458 if ((get_wcaps(codec, nid) & AC_WCAP_OUT_AMP) && in set_spdif_ctls()
3460 snd_hda_codec_amp_stereo(codec, nid, HDA_OUTPUT, 0, in set_spdif_ctls()
3470 hda_nid_t nid; in snd_hda_spdif_out_switch_put() local
3476 nid = spdif->nid; in snd_hda_spdif_out_switch_put()
3482 if (change && nid != (u16)-1) in snd_hda_spdif_out_switch_put()
3483 set_spdif_ctls(codec, nid, val & 0xff, -1); in snd_hda_spdif_out_switch_put()
3579 spdif->nid = cvt_nid; in snd_hda_create_dig_out_ctls()
3591 hda_nid_t nid) in snd_hda_spdif_out_of_nid() argument
3597 if (spdif->nid == nid) in snd_hda_spdif_out_of_nid()
3610 spdif->nid = (u16)-1; in snd_hda_spdif_ctls_unassign()
3615 void snd_hda_spdif_ctls_assign(struct hda_codec *codec, int idx, hda_nid_t nid) in snd_hda_spdif_ctls_assign() argument
3622 if (spdif->nid != nid) { in snd_hda_spdif_ctls_assign()
3623 spdif->nid = nid; in snd_hda_spdif_ctls_assign()
3625 set_spdif_ctls(codec, nid, val & 0xff, (val >> 8) & 0xff); in snd_hda_spdif_ctls_assign()
3698 hda_nid_t nid = kcontrol->private_value; in snd_hda_spdif_in_switch_put() local
3706 snd_hda_codec_write_cache(codec, nid, 0, in snd_hda_spdif_in_switch_put()
3717 hda_nid_t nid = kcontrol->private_value; in snd_hda_spdif_in_status_get() local
3721 val = snd_hda_codec_read(codec, nid, 0, AC_VERB_GET_DIGI_CONVERT_1, 0); in snd_hda_spdif_in_status_get()
3758 int snd_hda_create_spdif_in_ctls(struct hda_codec *codec, hda_nid_t nid) in snd_hda_create_spdif_in_ctls() argument
3774 kctl->private_value = nid; in snd_hda_create_spdif_in_ctls()
3775 err = snd_hda_ctl_add(codec, nid, kctl); in snd_hda_create_spdif_in_ctls()
3780 snd_hda_codec_read(codec, nid, 0, in snd_hda_create_spdif_in_ctls()
3792 #define build_cmd_cache_key(nid, verb) ((verb << 8) | nid) argument
3808 int snd_hda_codec_write_cache(struct hda_codec *codec, hda_nid_t nid, in snd_hda_codec_write_cache() argument
3818 err = snd_hda_codec_write(codec, nid, flags, verb, parm); in snd_hda_codec_write_cache()
3826 key = build_cmd_cache_key(nid, verb); in snd_hda_codec_write_cache()
3852 int snd_hda_codec_update_cache(struct hda_codec *codec, hda_nid_t nid, in snd_hda_codec_update_cache() argument
3861 key = build_cmd_cache_key(nid, verb); in snd_hda_codec_update_cache()
3869 return snd_hda_codec_write_cache(codec, nid, flags, verb, parm); in snd_hda_codec_update_cache()
3917 for (; seq->nid; seq++) in snd_hda_sequence_write_cache()
3918 snd_hda_codec_write_cache(codec, seq->nid, 0, seq->verb, in snd_hda_sequence_write_cache()
3937 hda_nid_t nid = codec->start_nid; in snd_hda_codec_set_power_to_all() local
3940 for (i = 0; i < codec->num_nodes; i++, nid++) { in snd_hda_codec_set_power_to_all()
3941 unsigned int wcaps = get_wcaps(codec, nid); in snd_hda_codec_set_power_to_all()
3946 state = codec->power_filter(codec, nid, power_state); in snd_hda_codec_set_power_to_all()
3950 snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_POWER_STATE, in snd_hda_codec_set_power_to_all()
4000 hda_nid_t nid, in snd_hda_codec_eapd_power_filter() argument
4003 if (nid == codec->afg || nid == codec->mfg) in snd_hda_codec_eapd_power_filter()
4006 get_wcaps_type(get_wcaps(codec, nid)) == AC_WID_PIN && in snd_hda_codec_eapd_power_filter()
4007 (snd_hda_query_pin_caps(codec, nid) & AC_PINCAP_EAPD)) { in snd_hda_codec_eapd_power_filter()
4008 int eapd = snd_hda_codec_read(codec, nid, 0, in snd_hda_codec_eapd_power_filter()
4065 hda_nid_t nid = codec->start_nid; in sync_power_up_states() local
4072 for (i = 0; i < codec->num_nodes; i++, nid++) { in sync_power_up_states()
4073 unsigned int wcaps = get_wcaps(codec, nid); in sync_power_up_states()
4077 target = codec->power_filter(codec, nid, AC_PWRST_D0); in sync_power_up_states()
4080 if (!snd_hda_check_power_state(codec, nid, target)) in sync_power_up_states()
4081 snd_hda_codec_write(codec, nid, 0, in sync_power_up_states()
4384 static unsigned int get_pcm_param(struct hda_codec *codec, hda_nid_t nid, in get_pcm_param() argument
4388 if (nid != codec->afg && in get_pcm_param()
4389 (get_wcaps(codec, nid) & AC_WCAP_FORMAT_OVRD)) in get_pcm_param()
4390 val = snd_hda_param_read(codec, nid, AC_PAR_PCM); in get_pcm_param()
4398 static unsigned int query_pcm_param(struct hda_codec *codec, hda_nid_t nid) in query_pcm_param() argument
4400 return query_caps_hash(codec, nid, 0, HDA_HASH_PARPCM_KEY(nid), in query_pcm_param()
4404 static unsigned int get_stream_param(struct hda_codec *codec, hda_nid_t nid, in get_stream_param() argument
4407 unsigned int streams = snd_hda_param_read(codec, nid, AC_PAR_STREAM); in get_stream_param()
4415 static unsigned int query_stream_param(struct hda_codec *codec, hda_nid_t nid) in query_stream_param() argument
4417 return query_caps_hash(codec, nid, 0, HDA_HASH_PARSTR_KEY(nid), in query_stream_param()
4434 int snd_hda_query_supported_pcm(struct hda_codec *codec, hda_nid_t nid, in snd_hda_query_supported_pcm() argument
4439 wcaps = get_wcaps(codec, nid); in snd_hda_query_supported_pcm()
4440 val = query_pcm_param(codec, nid); in snd_hda_query_supported_pcm()
4451 nid, val, in snd_hda_query_supported_pcm()
4462 streams = query_stream_param(codec, nid); in snd_hda_query_supported_pcm()
4514 nid, val, in snd_hda_query_supported_pcm()
4539 int snd_hda_is_supported_format(struct hda_codec *codec, hda_nid_t nid, in snd_hda_is_supported_format() argument
4545 val = query_pcm_param(codec, nid); in snd_hda_is_supported_format()
4559 stream = query_stream_param(codec, nid); in snd_hda_is_supported_format()
4612 snd_hda_codec_setup_stream(codec, hinfo->nid, stream_tag, 0, format); in hda_pcm_default_prepare()
4620 snd_hda_codec_cleanup_stream(codec, hinfo->nid); in hda_pcm_default_cleanup()
4630 if (info->nid && (!info->rates || !info->formats)) { in set_pcm_default_values()
4631 err = snd_hda_query_supported_pcm(codec, info->nid, in set_pcm_default_values()
4643 if (snd_BUG_ON(!info->nid)) in set_pcm_default_values()
4648 if (snd_BUG_ON(!info->nid)) in set_pcm_default_values()
5031 hda_nid_t nid) in snd_hda_check_amp_list_power() argument
5038 for (p = check->amplist; p->nid; p++) { in snd_hda_check_amp_list_power()
5039 if (p->nid == nid) in snd_hda_check_amp_list_power()
5042 if (!p->nid) in snd_hda_check_amp_list_power()
5045 for (p = check->amplist; p->nid; p++) { in snd_hda_check_amp_list_power()
5047 v = snd_hda_codec_amp_read(codec, p->nid, ch, p->dir, in snd_hda_check_amp_list_power()
5166 hda_nid_t nid, in snd_hda_input_mux_put() argument
5178 snd_hda_codec_write_cache(codec, nid, 0, AC_VERB_SET_CONNECT_SEL, in snd_hda_input_mux_put()
5219 static void setup_dig_out_stream(struct hda_codec *codec, hda_nid_t nid, in setup_dig_out_stream() argument
5226 spdif = snd_hda_spdif_out_of_nid(codec, nid); in setup_dig_out_stream()
5227 curr_fmt = snd_hda_codec_read(codec, nid, 0, in setup_dig_out_stream()
5236 set_dig_out_convert(codec, nid, in setup_dig_out_stream()
5239 snd_hda_codec_setup_stream(codec, nid, stream_tag, 0, format); in setup_dig_out_stream()
5248 set_dig_out_convert(codec, nid, in setup_dig_out_stream()
5252 static void cleanup_dig_out_stream(struct hda_codec *codec, hda_nid_t nid) in cleanup_dig_out_stream() argument
5254 snd_hda_codec_cleanup_stream(codec, nid); in cleanup_dig_out_stream()