Lines Matching refs:pin_nid
64 hda_nid_t pin_nid; member
93 int (*pin_get_eld)(struct hda_codec *codec, hda_nid_t pin_nid,
96 void (*pin_setup_infoframe)(struct hda_codec *codec, hda_nid_t pin_nid,
101 int (*pin_hbr_setup)(struct hda_codec *codec, hda_nid_t pin_nid,
105 hda_nid_t pin_nid, int dev_id, u32 stream_tag,
239 hda_nid_t pin_nid, int dev_id) in pin_id_to_pin_index() argument
254 if ((per_pin->pin_nid == pin_nid) && in pin_id_to_pin_index()
259 codec_warn(codec, "HDMI: pin nid %d not registered\n", pin_nid); in pin_id_to_pin_index()
423 static void hdmi_get_dip_index(struct hda_codec *codec, hda_nid_t pin_nid, in hdmi_get_dip_index() argument
428 val = snd_hda_codec_read(codec, pin_nid, 0, in hdmi_get_dip_index()
436 static void hdmi_set_dip_index(struct hda_codec *codec, hda_nid_t pin_nid, in hdmi_set_dip_index() argument
443 snd_hda_codec_write(codec, pin_nid, 0, AC_VERB_SET_HDMI_DIP_INDEX, val); in hdmi_set_dip_index()
446 static void hdmi_write_dip_byte(struct hda_codec *codec, hda_nid_t pin_nid, in hdmi_write_dip_byte() argument
449 snd_hda_codec_write(codec, pin_nid, 0, AC_VERB_SET_HDMI_DIP_DATA, val); in hdmi_write_dip_byte()
452 static void hdmi_init_pin(struct hda_codec *codec, hda_nid_t pin_nid) in hdmi_init_pin() argument
458 if (get_wcaps(codec, pin_nid) & AC_WCAP_OUT_AMP) in hdmi_init_pin()
459 snd_hda_codec_write(codec, pin_nid, 0, in hdmi_init_pin()
471 snd_hda_codec_write(codec, pin_nid, 0, in hdmi_init_pin()
546 hda_nid_t pin_nid) in hdmi_start_infoframe_trans() argument
548 hdmi_set_dip_index(codec, pin_nid, 0x0, 0x0); in hdmi_start_infoframe_trans()
549 snd_hda_codec_write(codec, pin_nid, 0, AC_VERB_SET_HDMI_DIP_XMIT, in hdmi_start_infoframe_trans()
557 hda_nid_t pin_nid) in hdmi_stop_infoframe_trans() argument
559 hdmi_set_dip_index(codec, pin_nid, 0x0, 0x0); in hdmi_stop_infoframe_trans()
560 snd_hda_codec_write(codec, pin_nid, 0, AC_VERB_SET_HDMI_DIP_XMIT, in hdmi_stop_infoframe_trans()
564 static void hdmi_debug_dip_size(struct hda_codec *codec, hda_nid_t pin_nid) in hdmi_debug_dip_size() argument
570 size = snd_hdmi_get_eld_size(codec, pin_nid); in hdmi_debug_dip_size()
574 size = snd_hda_codec_read(codec, pin_nid, 0, in hdmi_debug_dip_size()
581 static void hdmi_clear_dip_buffers(struct hda_codec *codec, hda_nid_t pin_nid) in hdmi_clear_dip_buffers() argument
588 size = snd_hda_codec_read(codec, pin_nid, 0, in hdmi_clear_dip_buffers()
593 hdmi_set_dip_index(codec, pin_nid, i, 0x0); in hdmi_clear_dip_buffers()
595 hdmi_write_dip_byte(codec, pin_nid, 0x0); in hdmi_clear_dip_buffers()
596 hdmi_get_dip_index(codec, pin_nid, &pi, &bi); in hdmi_clear_dip_buffers()
625 hda_nid_t pin_nid, in hdmi_fill_audio_infoframe() argument
630 hdmi_debug_dip_size(codec, pin_nid); in hdmi_fill_audio_infoframe()
631 hdmi_clear_dip_buffers(codec, pin_nid); /* be paranoid */ in hdmi_fill_audio_infoframe()
633 hdmi_set_dip_index(codec, pin_nid, 0x0, 0x0); in hdmi_fill_audio_infoframe()
635 hdmi_write_dip_byte(codec, pin_nid, dip[i]); in hdmi_fill_audio_infoframe()
638 static bool hdmi_infoframe_uptodate(struct hda_codec *codec, hda_nid_t pin_nid, in hdmi_infoframe_uptodate() argument
644 if (snd_hda_codec_read(codec, pin_nid, 0, AC_VERB_GET_HDMI_DIP_XMIT, 0) in hdmi_infoframe_uptodate()
648 hdmi_set_dip_index(codec, pin_nid, 0x0, 0x0); in hdmi_infoframe_uptodate()
650 val = snd_hda_codec_read(codec, pin_nid, 0, in hdmi_infoframe_uptodate()
668 hda_nid_t pin_nid, int dev_id, in hdmi_pin_setup_infoframe() argument
703 pin_nid); in hdmi_pin_setup_infoframe()
707 snd_hda_set_dev_select(codec, pin_nid, dev_id); in hdmi_pin_setup_infoframe()
714 if (!hdmi_infoframe_uptodate(codec, pin_nid, ai.bytes, in hdmi_pin_setup_infoframe()
718 pin_nid, in hdmi_pin_setup_infoframe()
720 hdmi_stop_infoframe_trans(codec, pin_nid); in hdmi_pin_setup_infoframe()
721 hdmi_fill_audio_infoframe(codec, pin_nid, in hdmi_pin_setup_infoframe()
723 hdmi_start_infoframe_trans(codec, pin_nid); in hdmi_pin_setup_infoframe()
733 hda_nid_t pin_nid = per_pin->pin_nid; in hdmi_setup_audio_infoframe() local
743 snd_hda_set_dev_select(codec, pin_nid, dev_id); in hdmi_setup_audio_infoframe()
746 if (get_wcaps(codec, pin_nid) & AC_WCAP_OUT_AMP) in hdmi_setup_audio_infoframe()
747 snd_hda_codec_write(codec, pin_nid, 0, in hdmi_setup_audio_infoframe()
767 pin_nid, non_pcm, ca, channels, in hdmi_setup_audio_infoframe()
770 spec->ops.pin_setup_infoframe(codec, pin_nid, dev_id, in hdmi_setup_audio_infoframe()
901 static int hdmi_pin_hbr_setup(struct hda_codec *codec, hda_nid_t pin_nid, in hdmi_pin_hbr_setup() argument
906 if (snd_hda_query_pin_caps(codec, pin_nid) & AC_PINCAP_HBR) { in hdmi_pin_hbr_setup()
907 snd_hda_set_dev_select(codec, pin_nid, dev_id); in hdmi_pin_hbr_setup()
908 pinctl = snd_hda_codec_read(codec, pin_nid, 0, in hdmi_pin_hbr_setup()
922 pin_nid, in hdmi_pin_hbr_setup()
927 snd_hda_codec_write(codec, pin_nid, 0, in hdmi_pin_hbr_setup()
937 hda_nid_t pin_nid, int dev_id, in hdmi_setup_stream() argument
944 err = spec->ops.pin_hbr_setup(codec, pin_nid, dev_id, in hdmi_setup_stream()
1038 hda_nid_t pin_nid = per_pin->pin_nid; in intel_verify_pin_cvt_connect() local
1042 curr = snd_hda_codec_read(codec, pin_nid, 0, in intel_verify_pin_cvt_connect()
1045 snd_hda_codec_write_cache(codec, pin_nid, 0, in intel_verify_pin_cvt_connect()
1074 hda_nid_t pin_nid, in intel_not_share_assigned_cvt() argument
1097 if ((per_pin->pin_nid == pin_nid) && in intel_not_share_assigned_cvt()
1107 dev_num = snd_hda_get_num_devices(codec, per_pin->pin_nid) + 1; in intel_not_share_assigned_cvt()
1111 nid = per_pin->pin_nid; in intel_not_share_assigned_cvt()
1150 hda_nid_t pin_nid, int dev_id, hda_nid_t cvt_nid) in intel_not_share_assigned_cvt_nid() argument
1162 intel_not_share_assigned_cvt(codec, pin_nid, dev_id, mux_idx); in intel_not_share_assigned_cvt_nid()
1279 snd_hda_set_dev_select(codec, per_pin->pin_nid, per_pin->dev_id); in hdmi_pcm_open()
1280 snd_hda_codec_write_cache(codec, per_pin->pin_nid, 0, in hdmi_pcm_open()
1330 hda_nid_t pin_nid = per_pin->pin_nid; in hdmi_read_pin_conn() local
1334 if (!(get_wcaps(codec, pin_nid) & AC_WCAP_CONN_LIST)) { in hdmi_read_pin_conn()
1337 pin_nid, get_wcaps(codec, pin_nid)); in hdmi_read_pin_conn()
1341 snd_hda_set_dev_select(codec, pin_nid, dev_id); in hdmi_read_pin_conn()
1348 conns = snd_hda_get_raw_connections(codec, pin_nid, in hdmi_read_pin_conn()
1479 snd_hda_set_dev_select(codec, per_pin->pin_nid, in hdmi_pcm_setup_pin()
1481 snd_hda_codec_write_cache(codec, per_pin->pin_nid, 0, in hdmi_pcm_setup_pin()
1632 hda_nid_t pin_nid = per_pin->pin_nid; in hdmi_present_sense_via_verbs() local
1654 present = snd_hda_jack_pin_sense(codec, pin_nid, dev_id); in hdmi_present_sense_via_verbs()
1665 codec->addr, pin_nid, eld->monitor_present, eld->eld_valid); in hdmi_present_sense_via_verbs()
1668 if (spec->ops.pin_get_eld(codec, pin_nid, dev_id, in hdmi_present_sense_via_verbs()
1700 pin_idx = pin_id_to_pin_index(codec, per_pin->pin_nid, per_pin->dev_id); in silent_stream_enable()
1713 per_pin->pin_nid, per_cvt->cvt_nid); in silent_stream_enable()
1715 snd_hda_set_dev_select(codec, per_pin->pin_nid, per_pin->dev_id); in silent_stream_enable()
1716 snd_hda_codec_write_cache(codec, per_pin->pin_nid, 0, in silent_stream_enable()
1723 snd_hdac_sync_audio_rate(&codec->core, per_pin->pin_nid, in silent_stream_enable()
1753 per_pin->pin_nid, per_pin->cvt_nid); in silent_stream_disable()
1779 eld->eld_size = snd_hdac_acomp_get_eld(&codec->core, per_pin->pin_nid, in sync_eld_via_acomp()
1831 jack = snd_hda_jack_tbl_get_mst(codec, per_pin->pin_nid, in hdmi_repoll_eld()
1844 static int hdmi_add_pin(struct hda_codec *codec, hda_nid_t pin_nid) in hdmi_add_pin() argument
1853 caps = snd_hda_query_pin_caps(codec, pin_nid); in hdmi_add_pin()
1861 config = snd_hda_codec_get_pincfg(codec, pin_nid); in hdmi_add_pin()
1883 dev_num = snd_hda_get_num_devices(codec, pin_nid) + 1; in hdmi_add_pin()
1914 per_pin->pin_nid = pin_nid; in hdmi_add_pin()
1918 snd_hda_set_dev_select(codec, pin_nid, i); in hdmi_add_pin()
2095 snd_hdac_sync_audio_rate(&codec->core, per_pin->pin_nid, in generic_hdmi_playback_pcm_prepare()
2114 snd_hda_set_dev_select(codec, per_pin->pin_nid, in generic_hdmi_playback_pcm_prepare()
2116 pinctl = snd_hda_codec_read(codec, per_pin->pin_nid, 0, in generic_hdmi_playback_pcm_prepare()
2118 snd_hda_codec_write(codec, per_pin->pin_nid, 0, in generic_hdmi_playback_pcm_prepare()
2124 err = spec->ops.setup_stream(codec, cvt_nid, per_pin->pin_nid, in generic_hdmi_playback_pcm_prepare()
2181 snd_hda_set_dev_select(codec, per_pin->pin_nid, in hdmi_pcm_close()
2183 pinctl = snd_hda_codec_read(codec, per_pin->pin_nid, 0, in hdmi_pcm_close()
2185 snd_hda_codec_write(codec, per_pin->pin_nid, 0, in hdmi_pcm_close()
2330 !is_jack_detectable(codec, per_pin->pin_nid)) in generic_hdmi_build_jack()
2373 per_pin->pin_nid, in generic_hdmi_build_controls()
2437 hda_nid_t pin_nid = per_pin->pin_nid; in generic_hdmi_init() local
2440 snd_hda_set_dev_select(codec, pin_nid, dev_id); in generic_hdmi_init()
2441 hdmi_init_pin(codec, pin_nid); in generic_hdmi_init()
2444 snd_hda_jack_detect_enable_callback_mst(codec, pin_nid, dev_id, in generic_hdmi_init()
2638 get_pin(spec, i)->pin_nid, in generic_acomp_notifier_set()
2676 hda_nid_t pin_nid = spec->port2pin(codec, port); in generic_acomp_pin_eld_notify() local
2678 if (!pin_nid) in generic_acomp_pin_eld_notify()
2680 if (get_wcaps_type(get_wcaps(codec, pin_nid)) != AC_WID_PIN) in generic_acomp_pin_eld_notify()
2688 check_presence_and_report(codec, pin_nid, dev_id); in generic_acomp_pin_eld_notify()
2814 static int intel_pin2port(void *audio_ptr, int pin_nid) in intel_pin2port() argument
2822 if (WARN_ON(pin_nid < base_nid || pin_nid >= base_nid + 3)) in intel_pin2port()
2824 return pin_nid - base_nid + 1; in intel_pin2port()
2832 if (pin_nid == spec->port_map[i]) in intel_pin2port()
2836 codec_info(codec, "Can't find the HDMI/DP port for pin %d\n", pin_nid); in intel_pin2port()
2859 int pin_nid; in intel_pin_eld_notify() local
2862 pin_nid = intel_port2pin(codec, port); in intel_pin_eld_notify()
2863 if (!pin_nid) in intel_pin_eld_notify()
2872 check_presence_and_report(codec, pin_nid, dev_id); in intel_pin_eld_notify()
2896 hda_nid_t pin_nid, int dev_id, u32 stream_tag, in i915_hsw_setup_stream() argument
2899 haswell_verify_D0(codec, cvt_nid, pin_nid); in i915_hsw_setup_stream()
2900 return hdmi_setup_stream(codec, cvt_nid, pin_nid, dev_id, in i915_hsw_setup_stream()
2910 haswell_verify_D0(codec, per_pin->cvt_nid, per_pin->pin_nid); in i915_pin_cvt_fixup()
2911 snd_hda_set_dev_select(codec, per_pin->pin_nid, in i915_pin_cvt_fixup()
2914 intel_not_share_assigned_cvt(codec, per_pin->pin_nid, in i915_pin_cvt_fixup()
3138 hda_nid_t pin = per_pin->pin_nid; in simple_playback_init()
3315 hda_nid_t cvt_nid, hda_nid_t pin_nid) in patch_simple_hdmi() argument
3341 per_pin->pin_nid = pin_nid; in patch_simple_hdmi()
3633 static int nvhdmi_pin2port(void *audio_ptr, int pin_nid) in nvhdmi_pin2port() argument
3635 return pin_nid - 4; in nvhdmi_pin2port()
3937 hda_nid_t pin_nid, int dev_id, int ca, in atihdmi_pin_setup_infoframe() argument
3941 snd_hda_codec_write(codec, pin_nid, 0, ATI_VERB_SET_CHANNEL_ALLOCATION, ca); in atihdmi_pin_setup_infoframe()
4010 hda_nid_t pin_nid, int hdmi_slot, int stream_channel) in atihdmi_pin_set_slot_channel() argument
4042 return snd_hda_codec_write(codec, pin_nid, 0, verb, ati_channel_setup); in atihdmi_pin_set_slot_channel()
4046 hda_nid_t pin_nid, int asp_slot) in atihdmi_pin_get_slot_channel() argument
4067 ati_channel_setup = snd_hda_codec_read(codec, pin_nid, 0, verb, 0); in atihdmi_pin_get_slot_channel()
4130 static int atihdmi_pin_hbr_setup(struct hda_codec *codec, hda_nid_t pin_nid, in atihdmi_pin_hbr_setup() argument
4137 hbr_ctl = snd_hda_codec_read(codec, pin_nid, 0, ATI_VERB_GET_HBR_CONTROL, 0); in atihdmi_pin_hbr_setup()
4146 pin_nid, in atihdmi_pin_hbr_setup()
4151 snd_hda_codec_write(codec, pin_nid, 0, in atihdmi_pin_hbr_setup()
4162 hda_nid_t pin_nid, int dev_id, in atihdmi_setup_stream() argument
4174 return hdmi_setup_stream(codec, cvt_nid, pin_nid, dev_id, in atihdmi_setup_stream()
4193 snd_hda_codec_write(codec, per_pin->pin_nid, 0, ATI_VERB_SET_DOWNMIX_INFO, 0); in atihdmi_init()
4197 snd_hda_codec_write(codec, per_pin->pin_nid, 0, in atihdmi_init()
4208 static int atihdmi_pin2port(void *audio_ptr, int pin_nid) in atihdmi_pin2port() argument
4210 return pin_nid / 2 - 1; in atihdmi_pin2port()