Lines Matching refs:pin_nid

75 	hda_nid_t pin_nid;  member
101 int (*pin_get_eld)(struct hda_codec *codec, hda_nid_t pin_nid,
105 int (*pin_get_slot_channel)(struct hda_codec *codec, hda_nid_t pin_nid,
107 int (*pin_set_slot_channel)(struct hda_codec *codec, hda_nid_t pin_nid,
110 void (*pin_setup_infoframe)(struct hda_codec *codec, hda_nid_t pin_nid,
114 int (*pin_hbr_setup)(struct hda_codec *codec, hda_nid_t pin_nid, bool hbr);
117 hda_nid_t pin_nid, u32 stream_tag, int format);
365 static int pin_nid_to_pin_index(struct hda_codec *codec, hda_nid_t pin_nid) in pin_nid_to_pin_index() argument
371 if (get_pin(spec, pin_idx)->pin_nid == pin_nid) in pin_nid_to_pin_index()
374 codec_warn(codec, "HDMI: pin nid %d not registered\n", pin_nid); in pin_nid_to_pin_index()
479 err = snd_hda_ctl_add(codec, get_pin(spec, pin_idx)->pin_nid, kctl); in hdmi_create_eld_ctl()
488 static void hdmi_get_dip_index(struct hda_codec *codec, hda_nid_t pin_nid, in hdmi_get_dip_index() argument
493 val = snd_hda_codec_read(codec, pin_nid, 0, in hdmi_get_dip_index()
501 static void hdmi_set_dip_index(struct hda_codec *codec, hda_nid_t pin_nid, in hdmi_set_dip_index() argument
508 snd_hda_codec_write(codec, pin_nid, 0, AC_VERB_SET_HDMI_DIP_INDEX, val); in hdmi_set_dip_index()
511 static void hdmi_write_dip_byte(struct hda_codec *codec, hda_nid_t pin_nid, in hdmi_write_dip_byte() argument
514 snd_hda_codec_write(codec, pin_nid, 0, AC_VERB_SET_HDMI_DIP_DATA, val); in hdmi_write_dip_byte()
517 static void hdmi_init_pin(struct hda_codec *codec, hda_nid_t pin_nid) in hdmi_init_pin() argument
523 if (get_wcaps(codec, pin_nid) & AC_WCAP_OUT_AMP) in hdmi_init_pin()
524 snd_hda_codec_write(codec, pin_nid, 0, in hdmi_init_pin()
536 snd_hda_codec_write(codec, pin_nid, 0, in hdmi_init_pin()
714 hda_nid_t pin_nid) in hdmi_debug_channel_mapping() argument
722 channel = spec->ops.pin_get_slot_channel(codec, pin_nid, i); in hdmi_debug_channel_mapping()
730 hda_nid_t pin_nid, in hdmi_std_setup_channel_mapping() argument
770 err = spec->ops.pin_set_slot_channel(codec, pin_nid, hdmi_slot, channel); in hdmi_std_setup_channel_mapping()
875 hda_nid_t pin_nid, in hdmi_manual_setup_channel_mapping() argument
897 err = spec->ops.pin_set_slot_channel(codec, pin_nid, hdmi_slot, in hdmi_manual_setup_channel_mapping()
919 hda_nid_t pin_nid, bool non_pcm, int ca, in hdmi_setup_channel_mapping() argument
924 hdmi_manual_setup_channel_mapping(codec, pin_nid, in hdmi_setup_channel_mapping()
927 hdmi_std_setup_channel_mapping(codec, pin_nid, non_pcm, ca); in hdmi_setup_channel_mapping()
931 hdmi_debug_channel_mapping(codec, pin_nid); in hdmi_setup_channel_mapping()
934 static int hdmi_pin_set_slot_channel(struct hda_codec *codec, hda_nid_t pin_nid, in hdmi_pin_set_slot_channel() argument
937 return snd_hda_codec_write(codec, pin_nid, 0, in hdmi_pin_set_slot_channel()
942 static int hdmi_pin_get_slot_channel(struct hda_codec *codec, hda_nid_t pin_nid, in hdmi_pin_get_slot_channel() argument
945 return (snd_hda_codec_read(codec, pin_nid, 0, in hdmi_pin_get_slot_channel()
958 hda_nid_t pin_nid) in hdmi_start_infoframe_trans() argument
960 hdmi_set_dip_index(codec, pin_nid, 0x0, 0x0); in hdmi_start_infoframe_trans()
961 snd_hda_codec_write(codec, pin_nid, 0, AC_VERB_SET_HDMI_DIP_XMIT, in hdmi_start_infoframe_trans()
969 hda_nid_t pin_nid) in hdmi_stop_infoframe_trans() argument
971 hdmi_set_dip_index(codec, pin_nid, 0x0, 0x0); in hdmi_stop_infoframe_trans()
972 snd_hda_codec_write(codec, pin_nid, 0, AC_VERB_SET_HDMI_DIP_XMIT, in hdmi_stop_infoframe_trans()
976 static void hdmi_debug_dip_size(struct hda_codec *codec, hda_nid_t pin_nid) in hdmi_debug_dip_size() argument
982 size = snd_hdmi_get_eld_size(codec, pin_nid); in hdmi_debug_dip_size()
986 size = snd_hda_codec_read(codec, pin_nid, 0, in hdmi_debug_dip_size()
993 static void hdmi_clear_dip_buffers(struct hda_codec *codec, hda_nid_t pin_nid) in hdmi_clear_dip_buffers() argument
1000 size = snd_hda_codec_read(codec, pin_nid, 0, in hdmi_clear_dip_buffers()
1005 hdmi_set_dip_index(codec, pin_nid, i, 0x0); in hdmi_clear_dip_buffers()
1007 hdmi_write_dip_byte(codec, pin_nid, 0x0); in hdmi_clear_dip_buffers()
1008 hdmi_get_dip_index(codec, pin_nid, &pi, &bi); in hdmi_clear_dip_buffers()
1037 hda_nid_t pin_nid, in hdmi_fill_audio_infoframe() argument
1042 hdmi_debug_dip_size(codec, pin_nid); in hdmi_fill_audio_infoframe()
1043 hdmi_clear_dip_buffers(codec, pin_nid); /* be paranoid */ in hdmi_fill_audio_infoframe()
1045 hdmi_set_dip_index(codec, pin_nid, 0x0, 0x0); in hdmi_fill_audio_infoframe()
1047 hdmi_write_dip_byte(codec, pin_nid, dip[i]); in hdmi_fill_audio_infoframe()
1050 static bool hdmi_infoframe_uptodate(struct hda_codec *codec, hda_nid_t pin_nid, in hdmi_infoframe_uptodate() argument
1056 if (snd_hda_codec_read(codec, pin_nid, 0, AC_VERB_GET_HDMI_DIP_XMIT, 0) in hdmi_infoframe_uptodate()
1060 hdmi_set_dip_index(codec, pin_nid, 0x0, 0x0); in hdmi_infoframe_uptodate()
1062 val = snd_hda_codec_read(codec, pin_nid, 0, in hdmi_infoframe_uptodate()
1072 hda_nid_t pin_nid, in hdmi_pin_setup_infoframe() argument
1098 pin_nid); in hdmi_pin_setup_infoframe()
1107 if (!hdmi_infoframe_uptodate(codec, pin_nid, ai.bytes, in hdmi_pin_setup_infoframe()
1111 pin_nid, in hdmi_pin_setup_infoframe()
1113 hdmi_stop_infoframe_trans(codec, pin_nid); in hdmi_pin_setup_infoframe()
1114 hdmi_fill_audio_infoframe(codec, pin_nid, in hdmi_pin_setup_infoframe()
1116 hdmi_start_infoframe_trans(codec, pin_nid); in hdmi_pin_setup_infoframe()
1125 hda_nid_t pin_nid = per_pin->pin_nid; in hdmi_setup_audio_infoframe() local
1135 snd_hda_codec_write(codec, pin_nid, 0, in hdmi_setup_audio_infoframe()
1157 hdmi_setup_channel_mapping(codec, pin_nid, non_pcm, ca, in hdmi_setup_audio_infoframe()
1161 spec->ops.pin_setup_infoframe(codec, pin_nid, ca, active_channels, in hdmi_setup_audio_infoframe()
1277 static int hdmi_pin_hbr_setup(struct hda_codec *codec, hda_nid_t pin_nid, in hdmi_pin_hbr_setup() argument
1282 if (snd_hda_query_pin_caps(codec, pin_nid) & AC_PINCAP_HBR) { in hdmi_pin_hbr_setup()
1283 pinctl = snd_hda_codec_read(codec, pin_nid, 0, in hdmi_pin_hbr_setup()
1297 pin_nid, in hdmi_pin_hbr_setup()
1302 snd_hda_codec_write(codec, pin_nid, 0, in hdmi_pin_hbr_setup()
1312 hda_nid_t pin_nid, u32 stream_tag, int format) in hdmi_setup_stream() argument
1318 haswell_verify_D0(codec, cvt_nid, pin_nid); in hdmi_setup_stream()
1320 err = spec->ops.pin_hbr_setup(codec, pin_nid, is_hbr_format(format)); in hdmi_setup_stream()
1376 hda_nid_t pin_nid = per_pin->pin_nid; in intel_verify_pin_cvt_connect() local
1380 curr = snd_hda_codec_read(codec, pin_nid, 0, in intel_verify_pin_cvt_connect()
1383 snd_hda_codec_write_cache(codec, pin_nid, 0, in intel_verify_pin_cvt_connect()
1398 hda_nid_t pin_nid, int mux_idx) in intel_not_share_assigned_cvt() argument
1413 if (nid == pin_nid) in intel_not_share_assigned_cvt()
1471 snd_hda_codec_write_cache(codec, per_pin->pin_nid, 0, in hdmi_pcm_open()
1477 intel_not_share_assigned_cvt(codec, per_pin->pin_nid, mux_idx); in hdmi_pcm_open()
1518 hda_nid_t pin_nid = per_pin->pin_nid; in hdmi_read_pin_conn() local
1520 if (!(get_wcaps(codec, pin_nid) & AC_WCAP_CONN_LIST)) { in hdmi_read_pin_conn()
1523 pin_nid, get_wcaps(codec, pin_nid)); in hdmi_read_pin_conn()
1527 per_pin->num_mux_nids = snd_hda_get_connections(codec, pin_nid, in hdmi_read_pin_conn()
1541 hda_nid_t pin_nid = per_pin->pin_nid; in hdmi_present_sense() local
1556 present = snd_hda_pin_sense(codec, pin_nid); in hdmi_present_sense()
1567 codec->addr, pin_nid, pin_eld->monitor_present, eld->eld_valid); in hdmi_present_sense()
1570 if (spec->ops.pin_get_eld(codec, pin_nid, eld->eld_buffer, in hdmi_present_sense()
1620 intel_not_share_assigned_cvt(codec, pin_nid, in hdmi_present_sense()
1636 jack = snd_hda_jack_tbl_get(codec, pin_nid); in hdmi_present_sense()
1660 static int hdmi_add_pin(struct hda_codec *codec, hda_nid_t pin_nid) in hdmi_add_pin() argument
1668 caps = snd_hda_query_pin_caps(codec, pin_nid); in hdmi_add_pin()
1672 config = snd_hda_codec_get_pincfg(codec, pin_nid); in hdmi_add_pin()
1677 intel_haswell_fixup_connect_list(codec, pin_nid); in hdmi_add_pin()
1684 per_pin->pin_nid = pin_nid; in hdmi_add_pin()
1786 static int intel_pin2port(hda_nid_t pin_nid) in intel_pin2port() argument
1788 return pin_nid - 4; in intel_pin2port()
1805 hda_nid_t pin_nid = per_pin->pin_nid; in generic_hdmi_playback_pcm_prepare() local
1821 intel_not_share_assigned_cvt(codec, pin_nid, per_pin->mux_idx); in generic_hdmi_playback_pcm_prepare()
1828 intel_pin2port(pin_nid), in generic_hdmi_playback_pcm_prepare()
1840 pinctl = snd_hda_codec_read(codec, pin_nid, 0, in generic_hdmi_playback_pcm_prepare()
1842 snd_hda_codec_write(codec, pin_nid, 0, in generic_hdmi_playback_pcm_prepare()
1847 return spec->ops.setup_stream(codec, cvt_nid, pin_nid, stream_tag, format); in generic_hdmi_playback_pcm_prepare()
1884 pinctl = snd_hda_codec_read(codec, per_pin->pin_nid, 0, in hdmi_pcm_close()
1886 snd_hda_codec_write(codec, per_pin->pin_nid, 0, in hdmi_pcm_close()
2105 phantom_jack = !is_jack_detectable(codec, per_pin->pin_nid); in generic_hdmi_build_jack()
2110 return snd_hda_jack_add_kctl(codec, per_pin->pin_nid, hdmi_str, in generic_hdmi_build_jack()
2128 per_pin->pin_nid, in generic_hdmi_build_controls()
2197 hda_nid_t pin_nid = per_pin->pin_nid; in generic_hdmi_init() local
2199 hdmi_init_pin(codec, pin_nid); in generic_hdmi_init()
2200 snd_hda_jack_detect_enable_callback(codec, pin_nid, in generic_hdmi_init()
2354 int pin_nid = port + 0x04; in intel_pin_eld_notify() local
2366 check_presence_and_report(codec, pin_nid); in intel_pin_eld_notify()
2487 hda_nid_t pin = per_pin->pin_nid; in simple_playback_init()
2664 hda_nid_t cvt_nid, hda_nid_t pin_nid) in patch_simple_hdmi() argument
2689 per_pin->pin_nid = pin_nid; in patch_simple_hdmi()
3211 static void atihdmi_pin_setup_infoframe(struct hda_codec *codec, hda_nid_t pin_nid, int ca, in atihdmi_pin_setup_infoframe() argument
3214 snd_hda_codec_write(codec, pin_nid, 0, ATI_VERB_SET_CHANNEL_ALLOCATION, ca); in atihdmi_pin_setup_infoframe()
3281 static int atihdmi_pin_set_slot_channel(struct hda_codec *codec, hda_nid_t pin_nid, in atihdmi_pin_set_slot_channel() argument
3313 return snd_hda_codec_write(codec, pin_nid, 0, verb, ati_channel_setup); in atihdmi_pin_set_slot_channel()
3316 static int atihdmi_pin_get_slot_channel(struct hda_codec *codec, hda_nid_t pin_nid, in atihdmi_pin_get_slot_channel() argument
3337 ati_channel_setup = snd_hda_codec_read(codec, pin_nid, 0, verb, 0); in atihdmi_pin_get_slot_channel()
3397 static int atihdmi_pin_hbr_setup(struct hda_codec *codec, hda_nid_t pin_nid, in atihdmi_pin_hbr_setup() argument
3402 hbr_ctl = snd_hda_codec_read(codec, pin_nid, 0, ATI_VERB_GET_HBR_CONTROL, 0); in atihdmi_pin_hbr_setup()
3411 pin_nid, in atihdmi_pin_hbr_setup()
3416 snd_hda_codec_write(codec, pin_nid, 0, in atihdmi_pin_hbr_setup()
3427 hda_nid_t pin_nid, u32 stream_tag, int format) in atihdmi_setup_stream() argument
3439 return hdmi_setup_stream(codec, cvt_nid, pin_nid, stream_tag, format); in atihdmi_setup_stream()
3457 snd_hda_codec_write(codec, per_pin->pin_nid, 0, ATI_VERB_SET_DOWNMIX_INFO, 0); in atihdmi_init()
3461 snd_hda_codec_write(codec, per_pin->pin_nid, 0, in atihdmi_init()