Lines Matching defs:pin_nid
64 hda_nid_t pin_nid;
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)
254 if ((per_pin->pin_nid == pin_nid) &&
259 codec_warn(codec, "HDMI: pin nid %d not registered\n", pin_nid);
423 static void hdmi_get_dip_index(struct hda_codec *codec, hda_nid_t pin_nid,
428 val = snd_hda_codec_read(codec, pin_nid, 0,
436 static void hdmi_set_dip_index(struct hda_codec *codec, hda_nid_t pin_nid,
443 snd_hda_codec_write(codec, pin_nid, 0, AC_VERB_SET_HDMI_DIP_INDEX, val);
446 static void hdmi_write_dip_byte(struct hda_codec *codec, hda_nid_t pin_nid,
449 snd_hda_codec_write(codec, pin_nid, 0, AC_VERB_SET_HDMI_DIP_DATA, val);
452 static void hdmi_init_pin(struct hda_codec *codec, hda_nid_t pin_nid)
458 if (get_wcaps(codec, pin_nid) & AC_WCAP_OUT_AMP)
459 snd_hda_codec_write(codec, pin_nid, 0,
471 snd_hda_codec_write(codec, pin_nid, 0,
546 hda_nid_t pin_nid)
548 hdmi_set_dip_index(codec, pin_nid, 0x0, 0x0);
549 snd_hda_codec_write(codec, pin_nid, 0, AC_VERB_SET_HDMI_DIP_XMIT,
557 hda_nid_t pin_nid)
559 hdmi_set_dip_index(codec, pin_nid, 0x0, 0x0);
560 snd_hda_codec_write(codec, pin_nid, 0, AC_VERB_SET_HDMI_DIP_XMIT,
564 static void hdmi_debug_dip_size(struct hda_codec *codec, hda_nid_t pin_nid)
570 size = snd_hdmi_get_eld_size(codec, pin_nid);
574 size = snd_hda_codec_read(codec, pin_nid, 0,
581 static void hdmi_clear_dip_buffers(struct hda_codec *codec, hda_nid_t pin_nid)
588 size = snd_hda_codec_read(codec, pin_nid, 0,
593 hdmi_set_dip_index(codec, pin_nid, i, 0x0);
595 hdmi_write_dip_byte(codec, pin_nid, 0x0);
596 hdmi_get_dip_index(codec, pin_nid, &pi, &bi);
625 hda_nid_t pin_nid,
630 hdmi_debug_dip_size(codec, pin_nid);
631 hdmi_clear_dip_buffers(codec, pin_nid); /* be paranoid */
633 hdmi_set_dip_index(codec, pin_nid, 0x0, 0x0);
635 hdmi_write_dip_byte(codec, pin_nid, dip[i]);
638 static bool hdmi_infoframe_uptodate(struct hda_codec *codec, hda_nid_t pin_nid,
644 if (snd_hda_codec_read(codec, pin_nid, 0, AC_VERB_GET_HDMI_DIP_XMIT, 0)
648 hdmi_set_dip_index(codec, pin_nid, 0x0, 0x0);
650 val = snd_hda_codec_read(codec, pin_nid, 0,
668 hda_nid_t pin_nid, int dev_id,
703 pin_nid);
707 snd_hda_set_dev_select(codec, pin_nid, dev_id);
714 if (!hdmi_infoframe_uptodate(codec, pin_nid, ai.bytes,
718 pin_nid,
720 hdmi_stop_infoframe_trans(codec, pin_nid);
721 hdmi_fill_audio_infoframe(codec, pin_nid,
723 hdmi_start_infoframe_trans(codec, pin_nid);
733 hda_nid_t pin_nid = per_pin->pin_nid;
743 snd_hda_set_dev_select(codec, pin_nid, dev_id);
746 if (get_wcaps(codec, pin_nid) & AC_WCAP_OUT_AMP)
747 snd_hda_codec_write(codec, pin_nid, 0,
767 pin_nid, non_pcm, ca, channels,
770 spec->ops.pin_setup_infoframe(codec, pin_nid, dev_id,
901 static int hdmi_pin_hbr_setup(struct hda_codec *codec, hda_nid_t pin_nid,
906 if (snd_hda_query_pin_caps(codec, pin_nid) & AC_PINCAP_HBR) {
907 snd_hda_set_dev_select(codec, pin_nid, dev_id);
908 pinctl = snd_hda_codec_read(codec, pin_nid, 0,
922 pin_nid,
927 snd_hda_codec_write(codec, pin_nid, 0,
937 hda_nid_t pin_nid, int dev_id,
944 err = spec->ops.pin_hbr_setup(codec, pin_nid, dev_id,
1038 hda_nid_t pin_nid = per_pin->pin_nid;
1042 curr = snd_hda_codec_read(codec, pin_nid, 0,
1045 snd_hda_codec_write_cache(codec, pin_nid, 0,
1074 hda_nid_t pin_nid,
1097 if ((per_pin->pin_nid == pin_nid) &&
1107 dev_num = snd_hda_get_num_devices(codec, per_pin->pin_nid) + 1;
1111 nid = per_pin->pin_nid;
1150 hda_nid_t pin_nid, int dev_id, hda_nid_t cvt_nid)
1162 intel_not_share_assigned_cvt(codec, pin_nid, dev_id, mux_idx);
1279 snd_hda_set_dev_select(codec, per_pin->pin_nid, per_pin->dev_id);
1280 snd_hda_codec_write_cache(codec, per_pin->pin_nid, 0,
1330 hda_nid_t pin_nid = per_pin->pin_nid;
1334 if (!(get_wcaps(codec, pin_nid) & AC_WCAP_CONN_LIST)) {
1337 pin_nid, get_wcaps(codec, pin_nid));
1341 snd_hda_set_dev_select(codec, pin_nid, dev_id);
1348 conns = snd_hda_get_raw_connections(codec, pin_nid,
1479 snd_hda_set_dev_select(codec, per_pin->pin_nid,
1481 snd_hda_codec_write_cache(codec, per_pin->pin_nid, 0,
1632 hda_nid_t pin_nid = per_pin->pin_nid;
1654 present = snd_hda_jack_pin_sense(codec, pin_nid, dev_id);
1665 codec->addr, pin_nid, eld->monitor_present, eld->eld_valid);
1668 if (spec->ops.pin_get_eld(codec, pin_nid, dev_id,
1700 pin_idx = pin_id_to_pin_index(codec, per_pin->pin_nid, per_pin->dev_id);
1713 per_pin->pin_nid, per_cvt->cvt_nid);
1715 snd_hda_set_dev_select(codec, per_pin->pin_nid, per_pin->dev_id);
1716 snd_hda_codec_write_cache(codec, per_pin->pin_nid, 0,
1723 snd_hdac_sync_audio_rate(&codec->core, per_pin->pin_nid,
1753 per_pin->pin_nid, per_pin->cvt_nid);
1779 eld->eld_size = snd_hdac_acomp_get_eld(&codec->core, per_pin->pin_nid,
1831 jack = snd_hda_jack_tbl_get_mst(codec, per_pin->pin_nid,
1844 static int hdmi_add_pin(struct hda_codec *codec, hda_nid_t pin_nid)
1853 caps = snd_hda_query_pin_caps(codec, pin_nid);
1861 config = snd_hda_codec_get_pincfg(codec, pin_nid);
1883 dev_num = snd_hda_get_num_devices(codec, pin_nid) + 1;
1914 per_pin->pin_nid = pin_nid;
1918 snd_hda_set_dev_select(codec, pin_nid, i);
2101 snd_hdac_sync_audio_rate(&codec->core, per_pin->pin_nid,
2120 snd_hda_set_dev_select(codec, per_pin->pin_nid,
2122 pinctl = snd_hda_codec_read(codec, per_pin->pin_nid, 0,
2124 snd_hda_codec_write(codec, per_pin->pin_nid, 0,
2130 err = spec->ops.setup_stream(codec, cvt_nid, per_pin->pin_nid,
2187 snd_hda_set_dev_select(codec, per_pin->pin_nid,
2189 pinctl = snd_hda_codec_read(codec, per_pin->pin_nid, 0,
2191 snd_hda_codec_write(codec, per_pin->pin_nid, 0,
2336 !is_jack_detectable(codec, per_pin->pin_nid))
2379 per_pin->pin_nid,
2443 hda_nid_t pin_nid = per_pin->pin_nid;
2446 snd_hda_set_dev_select(codec, pin_nid, dev_id);
2447 hdmi_init_pin(codec, pin_nid);
2450 snd_hda_jack_detect_enable_callback_mst(codec, pin_nid, dev_id,
2644 get_pin(spec, i)->pin_nid,
2682 hda_nid_t pin_nid = spec->port2pin(codec, port);
2684 if (!pin_nid)
2686 if (get_wcaps_type(get_wcaps(codec, pin_nid)) != AC_WID_PIN)
2694 check_presence_and_report(codec, pin_nid, dev_id);
2820 static int intel_pin2port(void *audio_ptr, int pin_nid)
2828 if (WARN_ON(pin_nid < base_nid || pin_nid >= base_nid + 3))
2830 return pin_nid - base_nid + 1;
2838 if (pin_nid == spec->port_map[i])
2842 codec_info(codec, "Can't find the HDMI/DP port for pin %d\n", pin_nid);
2865 int pin_nid;
2868 pin_nid = intel_port2pin(codec, port);
2869 if (!pin_nid)
2878 check_presence_and_report(codec, pin_nid, dev_id);
2902 hda_nid_t pin_nid, int dev_id, u32 stream_tag,
2905 haswell_verify_D0(codec, cvt_nid, pin_nid);
2906 return hdmi_setup_stream(codec, cvt_nid, pin_nid, dev_id,
2916 haswell_verify_D0(codec, per_pin->cvt_nid, per_pin->pin_nid);
2917 snd_hda_set_dev_select(codec, per_pin->pin_nid,
2920 intel_not_share_assigned_cvt(codec, per_pin->pin_nid,
3144 hda_nid_t pin = per_pin->pin_nid;
3321 hda_nid_t cvt_nid, hda_nid_t pin_nid)
3347 per_pin->pin_nid = pin_nid;
3639 static int nvhdmi_pin2port(void *audio_ptr, int pin_nid)
3641 return pin_nid - 4;
3943 hda_nid_t pin_nid, int dev_id, int ca,
3947 snd_hda_codec_write(codec, pin_nid, 0, ATI_VERB_SET_CHANNEL_ALLOCATION, ca);
4016 hda_nid_t pin_nid, int hdmi_slot, int stream_channel)
4048 return snd_hda_codec_write(codec, pin_nid, 0, verb, ati_channel_setup);
4052 hda_nid_t pin_nid, int asp_slot)
4073 ati_channel_setup = snd_hda_codec_read(codec, pin_nid, 0, verb, 0);
4136 static int atihdmi_pin_hbr_setup(struct hda_codec *codec, hda_nid_t pin_nid,
4143 hbr_ctl = snd_hda_codec_read(codec, pin_nid, 0, ATI_VERB_GET_HBR_CONTROL, 0);
4152 pin_nid,
4157 snd_hda_codec_write(codec, pin_nid, 0,
4168 hda_nid_t pin_nid, int dev_id,
4180 return hdmi_setup_stream(codec, cvt_nid, pin_nid, dev_id,
4199 snd_hda_codec_write(codec, per_pin->pin_nid, 0, ATI_VERB_SET_DOWNMIX_INFO, 0);
4203 snd_hda_codec_write(codec, per_pin->pin_nid, 0,
4214 static int atihdmi_pin2port(void *audio_ptr, int pin_nid)
4216 return pin_nid / 2 - 1;