Lines Matching refs:pin_nid

73 	hda_nid_t pin_nid;  member
99 int (*pin_get_eld)(struct hda_codec *codec, hda_nid_t pin_nid,
103 int (*pin_get_slot_channel)(struct hda_codec *codec, hda_nid_t pin_nid,
105 int (*pin_set_slot_channel)(struct hda_codec *codec, hda_nid_t pin_nid,
108 void (*pin_setup_infoframe)(struct hda_codec *codec, hda_nid_t pin_nid,
112 int (*pin_hbr_setup)(struct hda_codec *codec, hda_nid_t pin_nid, bool hbr);
115 hda_nid_t pin_nid, u32 stream_tag, int format);
360 static int pin_nid_to_pin_index(struct hda_codec *codec, hda_nid_t pin_nid) in pin_nid_to_pin_index() argument
366 if (get_pin(spec, pin_idx)->pin_nid == pin_nid) in pin_nid_to_pin_index()
369 codec_warn(codec, "HDMI: pin nid %d not registered\n", pin_nid); in pin_nid_to_pin_index()
474 err = snd_hda_ctl_add(codec, get_pin(spec, pin_idx)->pin_nid, kctl); in hdmi_create_eld_ctl()
483 static void hdmi_get_dip_index(struct hda_codec *codec, hda_nid_t pin_nid, in hdmi_get_dip_index() argument
488 val = snd_hda_codec_read(codec, pin_nid, 0, in hdmi_get_dip_index()
496 static void hdmi_set_dip_index(struct hda_codec *codec, hda_nid_t pin_nid, in hdmi_set_dip_index() argument
503 snd_hda_codec_write(codec, pin_nid, 0, AC_VERB_SET_HDMI_DIP_INDEX, val); in hdmi_set_dip_index()
506 static void hdmi_write_dip_byte(struct hda_codec *codec, hda_nid_t pin_nid, in hdmi_write_dip_byte() argument
509 snd_hda_codec_write(codec, pin_nid, 0, AC_VERB_SET_HDMI_DIP_DATA, val); in hdmi_write_dip_byte()
512 static void hdmi_init_pin(struct hda_codec *codec, hda_nid_t pin_nid) in hdmi_init_pin() argument
518 if (get_wcaps(codec, pin_nid) & AC_WCAP_OUT_AMP) in hdmi_init_pin()
519 snd_hda_codec_write(codec, pin_nid, 0, in hdmi_init_pin()
531 snd_hda_codec_write(codec, pin_nid, 0, in hdmi_init_pin()
709 hda_nid_t pin_nid) in hdmi_debug_channel_mapping() argument
717 channel = spec->ops.pin_get_slot_channel(codec, pin_nid, i); in hdmi_debug_channel_mapping()
725 hda_nid_t pin_nid, in hdmi_std_setup_channel_mapping() argument
765 err = spec->ops.pin_set_slot_channel(codec, pin_nid, hdmi_slot, channel); in hdmi_std_setup_channel_mapping()
870 hda_nid_t pin_nid, in hdmi_manual_setup_channel_mapping() argument
892 err = spec->ops.pin_set_slot_channel(codec, pin_nid, hdmi_slot, in hdmi_manual_setup_channel_mapping()
914 hda_nid_t pin_nid, bool non_pcm, int ca, in hdmi_setup_channel_mapping() argument
919 hdmi_manual_setup_channel_mapping(codec, pin_nid, in hdmi_setup_channel_mapping()
922 hdmi_std_setup_channel_mapping(codec, pin_nid, non_pcm, ca); in hdmi_setup_channel_mapping()
926 hdmi_debug_channel_mapping(codec, pin_nid); in hdmi_setup_channel_mapping()
929 static int hdmi_pin_set_slot_channel(struct hda_codec *codec, hda_nid_t pin_nid, in hdmi_pin_set_slot_channel() argument
932 return snd_hda_codec_write(codec, pin_nid, 0, in hdmi_pin_set_slot_channel()
937 static int hdmi_pin_get_slot_channel(struct hda_codec *codec, hda_nid_t pin_nid, in hdmi_pin_get_slot_channel() argument
940 return (snd_hda_codec_read(codec, pin_nid, 0, in hdmi_pin_get_slot_channel()
953 hda_nid_t pin_nid) in hdmi_start_infoframe_trans() argument
955 hdmi_set_dip_index(codec, pin_nid, 0x0, 0x0); in hdmi_start_infoframe_trans()
956 snd_hda_codec_write(codec, pin_nid, 0, AC_VERB_SET_HDMI_DIP_XMIT, in hdmi_start_infoframe_trans()
964 hda_nid_t pin_nid) in hdmi_stop_infoframe_trans() argument
966 hdmi_set_dip_index(codec, pin_nid, 0x0, 0x0); in hdmi_stop_infoframe_trans()
967 snd_hda_codec_write(codec, pin_nid, 0, AC_VERB_SET_HDMI_DIP_XMIT, in hdmi_stop_infoframe_trans()
971 static void hdmi_debug_dip_size(struct hda_codec *codec, hda_nid_t pin_nid) in hdmi_debug_dip_size() argument
977 size = snd_hdmi_get_eld_size(codec, pin_nid); in hdmi_debug_dip_size()
981 size = snd_hda_codec_read(codec, pin_nid, 0, in hdmi_debug_dip_size()
988 static void hdmi_clear_dip_buffers(struct hda_codec *codec, hda_nid_t pin_nid) in hdmi_clear_dip_buffers() argument
995 size = snd_hda_codec_read(codec, pin_nid, 0, in hdmi_clear_dip_buffers()
1000 hdmi_set_dip_index(codec, pin_nid, i, 0x0); in hdmi_clear_dip_buffers()
1002 hdmi_write_dip_byte(codec, pin_nid, 0x0); in hdmi_clear_dip_buffers()
1003 hdmi_get_dip_index(codec, pin_nid, &pi, &bi); in hdmi_clear_dip_buffers()
1032 hda_nid_t pin_nid, in hdmi_fill_audio_infoframe() argument
1037 hdmi_debug_dip_size(codec, pin_nid); in hdmi_fill_audio_infoframe()
1038 hdmi_clear_dip_buffers(codec, pin_nid); /* be paranoid */ in hdmi_fill_audio_infoframe()
1040 hdmi_set_dip_index(codec, pin_nid, 0x0, 0x0); in hdmi_fill_audio_infoframe()
1042 hdmi_write_dip_byte(codec, pin_nid, dip[i]); in hdmi_fill_audio_infoframe()
1045 static bool hdmi_infoframe_uptodate(struct hda_codec *codec, hda_nid_t pin_nid, in hdmi_infoframe_uptodate() argument
1051 if (snd_hda_codec_read(codec, pin_nid, 0, AC_VERB_GET_HDMI_DIP_XMIT, 0) in hdmi_infoframe_uptodate()
1055 hdmi_set_dip_index(codec, pin_nid, 0x0, 0x0); in hdmi_infoframe_uptodate()
1057 val = snd_hda_codec_read(codec, pin_nid, 0, in hdmi_infoframe_uptodate()
1067 hda_nid_t pin_nid, in hdmi_pin_setup_infoframe() argument
1093 pin_nid); in hdmi_pin_setup_infoframe()
1102 if (!hdmi_infoframe_uptodate(codec, pin_nid, ai.bytes, in hdmi_pin_setup_infoframe()
1106 pin_nid, in hdmi_pin_setup_infoframe()
1108 hdmi_stop_infoframe_trans(codec, pin_nid); in hdmi_pin_setup_infoframe()
1109 hdmi_fill_audio_infoframe(codec, pin_nid, in hdmi_pin_setup_infoframe()
1111 hdmi_start_infoframe_trans(codec, pin_nid); in hdmi_pin_setup_infoframe()
1120 hda_nid_t pin_nid = per_pin->pin_nid; in hdmi_setup_audio_infoframe() local
1130 snd_hda_codec_write(codec, pin_nid, 0, in hdmi_setup_audio_infoframe()
1152 hdmi_setup_channel_mapping(codec, pin_nid, non_pcm, ca, in hdmi_setup_audio_infoframe()
1156 spec->ops.pin_setup_infoframe(codec, pin_nid, ca, active_channels, in hdmi_setup_audio_infoframe()
1272 static int hdmi_pin_hbr_setup(struct hda_codec *codec, hda_nid_t pin_nid, in hdmi_pin_hbr_setup() argument
1277 if (snd_hda_query_pin_caps(codec, pin_nid) & AC_PINCAP_HBR) { in hdmi_pin_hbr_setup()
1278 pinctl = snd_hda_codec_read(codec, pin_nid, 0, in hdmi_pin_hbr_setup()
1292 pin_nid, in hdmi_pin_hbr_setup()
1297 snd_hda_codec_write(codec, pin_nid, 0, in hdmi_pin_hbr_setup()
1307 hda_nid_t pin_nid, u32 stream_tag, int format) in hdmi_setup_stream() argument
1313 haswell_verify_D0(codec, cvt_nid, pin_nid); in hdmi_setup_stream()
1315 err = spec->ops.pin_hbr_setup(codec, pin_nid, is_hbr_format(format)); in hdmi_setup_stream()
1371 hda_nid_t pin_nid = per_pin->pin_nid; in intel_verify_pin_cvt_connect() local
1375 curr = snd_hda_codec_read(codec, pin_nid, 0, in intel_verify_pin_cvt_connect()
1378 snd_hda_codec_write_cache(codec, pin_nid, 0, in intel_verify_pin_cvt_connect()
1393 hda_nid_t pin_nid, int mux_idx) in intel_not_share_assigned_cvt() argument
1408 if (nid == pin_nid) in intel_not_share_assigned_cvt()
1466 snd_hda_codec_write_cache(codec, per_pin->pin_nid, 0, in hdmi_pcm_open()
1472 intel_not_share_assigned_cvt(codec, per_pin->pin_nid, mux_idx); in hdmi_pcm_open()
1513 hda_nid_t pin_nid = per_pin->pin_nid; in hdmi_read_pin_conn() local
1515 if (!(get_wcaps(codec, pin_nid) & AC_WCAP_CONN_LIST)) { in hdmi_read_pin_conn()
1518 pin_nid, get_wcaps(codec, pin_nid)); in hdmi_read_pin_conn()
1522 per_pin->num_mux_nids = snd_hda_get_connections(codec, pin_nid, in hdmi_read_pin_conn()
1566 intel_not_share_assigned_cvt(codec, per_pin->pin_nid, in update_eld()
1587 hda_nid_t pin_nid = per_pin->pin_nid; in hdmi_present_sense() local
1600 present = snd_hda_pin_sense(codec, pin_nid); in hdmi_present_sense()
1613 codec->addr, pin_nid, pin_eld->monitor_present, eld->eld_valid); in hdmi_present_sense()
1616 if (spec->ops.pin_get_eld(codec, pin_nid, eld->eld_buffer, in hdmi_present_sense()
1634 jack = snd_hda_jack_tbl_get(codec, pin_nid); in hdmi_present_sense()
1658 static int hdmi_add_pin(struct hda_codec *codec, hda_nid_t pin_nid) in hdmi_add_pin() argument
1666 caps = snd_hda_query_pin_caps(codec, pin_nid); in hdmi_add_pin()
1670 config = snd_hda_codec_get_pincfg(codec, pin_nid); in hdmi_add_pin()
1675 intel_haswell_fixup_connect_list(codec, pin_nid); in hdmi_add_pin()
1682 per_pin->pin_nid = pin_nid; in hdmi_add_pin()
1793 hda_nid_t pin_nid = per_pin->pin_nid; in generic_hdmi_playback_pcm_prepare() local
1807 intel_not_share_assigned_cvt(codec, pin_nid, per_pin->mux_idx); in generic_hdmi_playback_pcm_prepare()
1819 pinctl = snd_hda_codec_read(codec, pin_nid, 0, in generic_hdmi_playback_pcm_prepare()
1821 snd_hda_codec_write(codec, pin_nid, 0, in generic_hdmi_playback_pcm_prepare()
1826 return spec->ops.setup_stream(codec, cvt_nid, pin_nid, stream_tag, format); in generic_hdmi_playback_pcm_prepare()
1863 pinctl = snd_hda_codec_read(codec, per_pin->pin_nid, 0, in hdmi_pcm_close()
1865 snd_hda_codec_write(codec, per_pin->pin_nid, 0, in hdmi_pcm_close()
2085 if (!is_jack_detectable(codec, per_pin->pin_nid)) in generic_hdmi_build_jack()
2089 return snd_hda_jack_add_kctl(codec, per_pin->pin_nid, hdmi_str, 0); in generic_hdmi_build_jack()
2106 per_pin->pin_nid, in generic_hdmi_build_controls()
2175 hda_nid_t pin_nid = per_pin->pin_nid; in generic_hdmi_init() local
2177 hdmi_init_pin(codec, pin_nid); in generic_hdmi_init()
2178 snd_hda_jack_detect_enable_callback(codec, pin_nid, in generic_hdmi_init()
2426 hda_nid_t pin = per_pin->pin_nid; in simple_playback_init()
2603 hda_nid_t cvt_nid, hda_nid_t pin_nid) in patch_simple_hdmi() argument
2628 per_pin->pin_nid = pin_nid; in patch_simple_hdmi()
2985 static void atihdmi_pin_setup_infoframe(struct hda_codec *codec, hda_nid_t pin_nid, int ca, in atihdmi_pin_setup_infoframe() argument
2988 snd_hda_codec_write(codec, pin_nid, 0, ATI_VERB_SET_CHANNEL_ALLOCATION, ca); in atihdmi_pin_setup_infoframe()
3055 static int atihdmi_pin_set_slot_channel(struct hda_codec *codec, hda_nid_t pin_nid, in atihdmi_pin_set_slot_channel() argument
3087 return snd_hda_codec_write(codec, pin_nid, 0, verb, ati_channel_setup); in atihdmi_pin_set_slot_channel()
3090 static int atihdmi_pin_get_slot_channel(struct hda_codec *codec, hda_nid_t pin_nid, in atihdmi_pin_get_slot_channel() argument
3111 ati_channel_setup = snd_hda_codec_read(codec, pin_nid, 0, verb, 0); in atihdmi_pin_get_slot_channel()
3171 static int atihdmi_pin_hbr_setup(struct hda_codec *codec, hda_nid_t pin_nid, in atihdmi_pin_hbr_setup() argument
3176 hbr_ctl = snd_hda_codec_read(codec, pin_nid, 0, ATI_VERB_GET_HBR_CONTROL, 0); in atihdmi_pin_hbr_setup()
3185 pin_nid, in atihdmi_pin_hbr_setup()
3190 snd_hda_codec_write(codec, pin_nid, 0, in atihdmi_pin_hbr_setup()
3201 hda_nid_t pin_nid, u32 stream_tag, int format) in atihdmi_setup_stream() argument
3213 return hdmi_setup_stream(codec, cvt_nid, pin_nid, stream_tag, format); in atihdmi_setup_stream()
3231 snd_hda_codec_write(codec, per_pin->pin_nid, 0, ATI_VERB_SET_DOWNMIX_INFO, 0); in atihdmi_init()
3235 snd_hda_codec_write(codec, per_pin->pin_nid, 0, in atihdmi_init()