Commit 728765b3 authored by Wu Fengguang's avatar Wu Fengguang Committed by Takashi Iwai

ALSA: intelhdmi - accept DisplayPort pin

HDA036 spec states:
  DP (Display Port) indicates whether the Pin Complex Widget supports
  connection to a Display Port sink.  Supported if set to 1. Note that
  it is possible for the pin widget to support more than one digital
  display connection type, e.g. HDMI and DP bit are both set to 1.

Also export the DP pin cap in procfs.
Signed-off-by: default avatarWu Fengguang <fengguang.wu@intel.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent b923528e
...@@ -255,6 +255,9 @@ enum { ...@@ -255,6 +255,9 @@ enum {
* in HD-audio specification * in HD-audio specification
*/ */
#define AC_PINCAP_HDMI (1<<7) /* HDMI pin */ #define AC_PINCAP_HDMI (1<<7) /* HDMI pin */
#define AC_PINCAP_DP (1<<24) /* DisplayPort pin, can
* coexist with AC_PINCAP_HDMI
*/
#define AC_PINCAP_VREF (0x37<<8) #define AC_PINCAP_VREF (0x37<<8)
#define AC_PINCAP_VREF_SHIFT 8 #define AC_PINCAP_VREF_SHIFT 8
#define AC_PINCAP_EAPD (1<<16) /* EAPD capable */ #define AC_PINCAP_EAPD (1<<16) /* EAPD capable */
......
...@@ -246,6 +246,8 @@ static void print_pin_caps(struct snd_info_buffer *buffer, ...@@ -246,6 +246,8 @@ static void print_pin_caps(struct snd_info_buffer *buffer,
snd_iprintf(buffer, " HDMI"); snd_iprintf(buffer, " HDMI");
} }
} }
if (caps & AC_PINCAP_DP)
snd_iprintf(buffer, " DP");
if (caps & AC_PINCAP_TRIG_REQ) if (caps & AC_PINCAP_TRIG_REQ)
snd_iprintf(buffer, " Trigger"); snd_iprintf(buffer, " Trigger");
if (caps & AC_PINCAP_IMP_SENSE) if (caps & AC_PINCAP_IMP_SENSE)
......
...@@ -344,7 +344,7 @@ static int intel_hdmi_parse_codec(struct hda_codec *codec) ...@@ -344,7 +344,7 @@ static int intel_hdmi_parse_codec(struct hda_codec *codec)
break; break;
case AC_WID_PIN: case AC_WID_PIN:
caps = snd_hda_param_read(codec, nid, AC_PAR_PIN_CAP); caps = snd_hda_param_read(codec, nid, AC_PAR_PIN_CAP);
if (!(caps & AC_PINCAP_HDMI)) if (!(caps & (AC_PINCAP_HDMI | AC_PINCAP_DP)))
continue; continue;
if (intel_hdmi_add_pin(codec, nid) < 0) if (intel_hdmi_add_pin(codec, nid) < 0)
return -EINVAL; return -EINVAL;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment