All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/3] support DP MST audio
@ 2016-12-06  2:48 libin.yang
  2016-12-06  2:48 ` [PATCH v4 1/3] ALSA: hda - add DP mst verb support libin.yang
                   ` (3 more replies)
  0 siblings, 4 replies; 16+ messages in thread
From: libin.yang @ 2016-12-06  2:48 UTC (permalink / raw)
  To: alsa-devel, tiwai; +Cc: libin.yang, mengdong.lin

From: Libin Yang <libin.yang@intel.com>

This patchset starts to support DP MST audio.

This patchset is based on drm-tip on
git://anongit.freedesktop.org/drm-tip

change log:
v4: refine some comments in 0001 and 0002 patches.
    refine the 0003 patch for the new ALSA-Configuration document

Libin Yang (3):
  ALSA: hda - add DP mst verb support
  ALSA: hda - add DP MST audio support
  ALSA: Documentation about HDA DP MST pin init and connection

 Documentation/sound/hd-audio/dp-mst.rst |  17 +++
 sound/pci/hda/hda_codec.c               |  76 +++++++++-
 sound/pci/hda/hda_codec.h               |   3 +
 sound/pci/hda/patch_hdmi.c              | 245 +++++++++++++++++++++++++-------
 4 files changed, 285 insertions(+), 56 deletions(-)

-- 
2.7.4

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH v4 1/3] ALSA: hda - add DP mst verb support
  2016-12-06  2:48 [PATCH v4 0/3] support DP MST audio libin.yang
@ 2016-12-06  2:48 ` libin.yang
  2016-12-06  2:48 ` [PATCH v4 2/3] ALSA: hda - add DP MST audio support libin.yang
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 16+ messages in thread
From: libin.yang @ 2016-12-06  2:48 UTC (permalink / raw)
  To: alsa-devel, tiwai; +Cc: libin.yang, mengdong.lin, Libin Yang

From: Libin Yang <libin.yang@linux.intel.com>

Add snd_hda_get_dev_select() and snd_hda_set_dev_select() functions
for DP MST audio support.

Signed-off-by: Libin Yang <libin.yang@linux.intel.com>
---
 sound/pci/hda/hda_codec.c | 72 ++++++++++++++++++++++++++++++++++++++++++++---
 sound/pci/hda/hda_codec.h |  3 ++
 2 files changed, 71 insertions(+), 4 deletions(-)

diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index 9913be8..9dc847d 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -311,9 +311,15 @@ int snd_hda_get_conn_index(struct hda_codec *codec, hda_nid_t mux,
 }
 EXPORT_SYMBOL_GPL(snd_hda_get_conn_index);
 
-
-/* return DEVLIST_LEN parameter of the given widget */
-static unsigned int get_num_devices(struct hda_codec *codec, hda_nid_t nid)
+/**
+ * snd_hda_get_num_devices - get DEVLIST_LEN parameter of the given widget
+ *  @codec: the HDA codec
+ *  @nid: NID of the pin to parse
+ *
+ * Get the device entry number on the given widget. This is a feature of
+ * DP MST audio. Each pin can have several device entries in it.
+ */
+unsigned int snd_hda_get_num_devices(struct hda_codec *codec, hda_nid_t nid)
 {
 	unsigned int wcaps = get_wcaps(codec, nid);
 	unsigned int parm;
@@ -327,6 +333,7 @@ static unsigned int get_num_devices(struct hda_codec *codec, hda_nid_t nid)
 		parm = 0;
 	return parm & AC_DEV_LIST_LEN_MASK;
 }
+EXPORT_SYMBOL_GPL(snd_hda_get_num_devices);
 
 /**
  * snd_hda_get_devices - copy device list without cache
@@ -344,7 +351,7 @@ int snd_hda_get_devices(struct hda_codec *codec, hda_nid_t nid,
 	unsigned int parm;
 	int i, dev_len, devices;
 
-	parm = get_num_devices(codec, nid);
+	parm = snd_hda_get_num_devices(codec, nid);
 	if (!parm)	/* not multi-stream capable */
 		return 0;
 
@@ -368,6 +375,63 @@ int snd_hda_get_devices(struct hda_codec *codec, hda_nid_t nid,
 	return devices;
 }
 
+/**
+ * snd_hda_get_dev_select - get device entry select on the pin
+ * @codec: the HDA codec
+ * @nid: NID of the pin to get device entry select
+ *
+ * Get the devcie entry select on the pin. Return the device entry
+ * id selected on the pin. Return 0 means the first device entry
+ * is selected or MST is not supported.
+ */
+int snd_hda_get_dev_select(struct hda_codec *codec, hda_nid_t nid)
+{
+	/* not support dp_mst will always return 0, using first dev_entry */
+	if (!codec->dp_mst)
+		return 0;
+
+	return snd_hda_codec_read(codec, nid, 0, AC_VERB_GET_DEVICE_SEL, 0);
+}
+EXPORT_SYMBOL_GPL(snd_hda_get_dev_select);
+
+/**
+ * snd_hda_set_dev_select - set device entry select on the pin
+ * @codec: the HDA codec
+ * @nid: NID of the pin to set device entry select
+ * @dev_id: device entry id to be set
+ *
+ * Set the device entry select on the pin nid.
+ */
+int snd_hda_set_dev_select(struct hda_codec *codec, hda_nid_t nid, int dev_id)
+{
+	int ret, num_devices;
+
+	/* not support dp_mst will always return 0, using first dev_entry */
+	if (!codec->dp_mst)
+		return 0;
+
+	/* AC_PAR_DEVLIST_LEN is 0 based. */
+	num_devices = snd_hda_get_num_devices(codec, nid) + 1;
+	/* If Device List Length is 0 (num_device = 1),
+	 * the pin is not multi stream capable.
+	 * Do nothing in this case.
+	 */
+	if (num_devices == 1)
+		return 0;
+
+	/* Behavior of setting index being equal to or greater than
+	 * Device List Length is not predictable
+	 */
+	if (num_devices <= dev_id)
+		return -EINVAL;
+
+	ret = snd_hda_codec_write(codec, nid, 0,
+			AC_VERB_SET_DEVICE_SEL, dev_id);
+
+	return ret;
+}
+EXPORT_SYMBOL_GPL(snd_hda_set_dev_select);
+
 /*
  * read widget caps for each widget and store in cache
  */
diff --git a/sound/pci/hda/hda_codec.h b/sound/pci/hda/hda_codec.h
index 373fcad..f17f252 100644
--- a/sound/pci/hda/hda_codec.h
+++ b/sound/pci/hda/hda_codec.h
@@ -347,8 +347,11 @@ int snd_hda_override_conn_list(struct hda_codec *codec, hda_nid_t nid, int nums,
 			  const hda_nid_t *list);
 int snd_hda_get_conn_index(struct hda_codec *codec, hda_nid_t mux,
 			   hda_nid_t nid, int recursive);
+unsigned int snd_hda_get_num_devices(struct hda_codec *codec, hda_nid_t nid);
 int snd_hda_get_devices(struct hda_codec *codec, hda_nid_t nid,
 			u8 *dev_list, int max_devices);
+int snd_hda_get_dev_select(struct hda_codec *codec, hda_nid_t nid);
+int snd_hda_set_dev_select(struct hda_codec *codec, hda_nid_t nid, int dev_id);
 
 struct hda_verb {
 	hda_nid_t nid;
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v4 2/3] ALSA: hda - add DP MST audio support
  2016-12-06  2:48 [PATCH v4 0/3] support DP MST audio libin.yang
  2016-12-06  2:48 ` [PATCH v4 1/3] ALSA: hda - add DP mst verb support libin.yang
@ 2016-12-06  2:48 ` libin.yang
  2016-12-06  2:48 ` [PATCH v4 3/3] ALSA: Documentation about HDA DP MST pin init and connection libin.yang
  2016-12-06  2:58 ` [PATCH v4 0/3] support DP MST audio Yang, Libin
  3 siblings, 0 replies; 16+ messages in thread
From: libin.yang @ 2016-12-06  2:48 UTC (permalink / raw)
  To: alsa-devel, tiwai; +Cc: libin.yang, mengdong.lin, Libin Yang

From: Libin Yang <libin.yang@linux.intel.com>

This patch adds the DP MST audio support on i915 platform and
it will enable dyn_pcm_assign feature.

DP MST supports several device entry on the same port and each
device entry can map to one pcm stream. For example, on i915,
there are 3 pins, and each pin has 3 device entries. This means
there should be 3x3 pcms. However, there is only 3 pipe lines in
i915. This means 3 pcms are actived at most at the same moment.
We will create 5 pcms (pin number + dev entry num - 1) in this case.
For the details, please refer commit a76056f2e57e
("ALSA: hda - hdmi dynamically bind PCM to pin when monitor hotplug")

Each device entry is a virtual pin. It is described by pin_nid and dev_id
in struct hdmi_spec_per_pin.

Signed-off-by: Libin Yang <libin.yang@linux.intel.com>
---
 sound/pci/hda/hda_codec.c  |   4 +
 sound/pci/hda/patch_hdmi.c | 245 +++++++++++++++++++++++++++++++++++----------
 2 files changed, 197 insertions(+), 52 deletions(-)

diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index 9dc847d..8fd745c 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -467,6 +467,10 @@ static int read_pin_defaults(struct hda_codec *codec)
 		pin->nid = nid;
 		pin->cfg = snd_hda_codec_read(codec, nid, 0,
 					      AC_VERB_GET_CONFIG_DEFAULT, 0);
+		/*
+		 * all device entries are the same widget control so far
+		 * fixme: if any codec is different, need fix here
+		 */
 		pin->ctrl = snd_hda_codec_read(codec, nid, 0,
 					       AC_VERB_GET_PIN_WIDGET_CONTROL,
 					       0);
diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
index cf9bc042..32105ce 100644
--- a/sound/pci/hda/patch_hdmi.c
+++ b/sound/pci/hda/patch_hdmi.c
@@ -76,6 +76,7 @@ struct hdmi_spec_per_cvt {
 
 struct hdmi_spec_per_pin {
 	hda_nid_t pin_nid;
+	int dev_id;
 	/* pin idx, different device entries on the same pin use the same idx */
 	int pin_nid_idx;
 	int num_mux_nids;
@@ -130,7 +131,23 @@ struct hdmi_spec {
 	struct snd_array cvts; /* struct hdmi_spec_per_cvt */
 	hda_nid_t cvt_nids[4]; /* only for haswell fix */
 
+	/*
+	 * num_pins is the number of virtual pins
+	 * for example, there are 3 pins, and each pin
+	 * has 4 device entries, then the num_pins is 12
+	 */
 	int num_pins;
+	/*
+	 * num_nids is the number of real pins
+	 * In the above example, num_nids is 3
+	 */
+	int num_nids;
+	/*
+	 * dev_num is the number of device entries
+	 * on each pin.
+	 * In the above example, dev_num is 4
+	 */
+	int dev_num;
 	struct snd_array pins; /* struct hdmi_spec_per_pin */
 	struct hdmi_pcm pcm_rec[16];
 	struct mutex pcm_lock;
@@ -217,14 +234,26 @@ union audio_infoframe {
 /* obtain hda_pcm object assigned to idx */
 #define get_pcm_rec(spec, idx)	(get_hdmi_pcm(spec, idx)->pcm)
 
-static int pin_nid_to_pin_index(struct hda_codec *codec, hda_nid_t pin_nid)
+static int pin_id_to_pin_index(struct hda_codec *codec,
+			       hda_nid_t pin_nid, int dev_id)
 {
 	struct hdmi_spec *spec = codec->spec;
 	int pin_idx;
+	struct hdmi_spec_per_pin *per_pin;
+
+	/*
+	 * (dev_id == -1) means it is NON-MST pin
+	 * return the first virtual pin on this port
+	 */
+	if (dev_id == -1)
+		dev_id = 0;
 
-	for (pin_idx = 0; pin_idx < spec->num_pins; pin_idx++)
-		if (get_pin(spec, pin_idx)->pin_nid == pin_nid)
+	for (pin_idx = 0; pin_idx < spec->num_pins; pin_idx++) {
+		per_pin = get_pin(spec, pin_idx);
+		if ((per_pin->pin_nid == pin_nid) &&
+			(per_pin->dev_id == dev_id))
 			return pin_idx;
+	}
 
 	codec_warn(codec, "HDMI: pin nid %d not registered\n", pin_nid);
 	return -EINVAL;
@@ -724,10 +753,11 @@ static void hdmi_setup_audio_infoframe(struct hda_codec *codec,
 
 static bool hdmi_present_sense(struct hdmi_spec_per_pin *per_pin, int repoll);
 
-static void check_presence_and_report(struct hda_codec *codec, hda_nid_t nid)
+static void check_presence_and_report(struct hda_codec *codec, hda_nid_t nid,
+				      int dev_id)
 {
 	struct hdmi_spec *spec = codec->spec;
-	int pin_idx = pin_nid_to_pin_index(codec, nid);
+	int pin_idx = pin_id_to_pin_index(codec, nid, dev_id);
 
 	if (pin_idx < 0)
 		return;
@@ -738,7 +768,8 @@ static void check_presence_and_report(struct hda_codec *codec, hda_nid_t nid)
 static void jack_callback(struct hda_codec *codec,
 			  struct hda_jack_callback *jack)
 {
-	check_presence_and_report(codec, jack->nid);
+	/* hda_jack don't support DP MST */
+	check_presence_and_report(codec, jack->nid, 0);
 }
 
 static void hdmi_intrinsic_event(struct hda_codec *codec, unsigned int res)
@@ -747,6 +778,12 @@ static void hdmi_intrinsic_event(struct hda_codec *codec, unsigned int res)
 	struct hda_jack_tbl *jack;
 	int dev_entry = (res & AC_UNSOL_RES_DE) >> AC_UNSOL_RES_DE_SHIFT;
 
+	/*
+	 * assume DP MST uses dyn_pcm_assign and acomp and
+	 * never comes here
+	 * if DP MST supports unsol event, below code need
+	 * consider dev_entry
+	 */
 	jack = snd_hda_jack_tbl_get_from_tag(codec, tag);
 	if (!jack)
 		return;
@@ -757,7 +794,8 @@ static void hdmi_intrinsic_event(struct hda_codec *codec, unsigned int res)
 		codec->addr, jack->nid, dev_entry, !!(res & AC_UNSOL_RES_IA),
 		!!(res & AC_UNSOL_RES_PD), !!(res & AC_UNSOL_RES_ELDV));
 
-	check_presence_and_report(codec, jack->nid);
+	/* hda_jack don't support DP MST */
+	check_presence_and_report(codec, jack->nid, 0);
 }
 
 static void hdmi_non_intrinsic_event(struct hda_codec *codec, unsigned int res)
@@ -970,28 +1008,60 @@ static int intel_cvt_id_to_mux_idx(struct hdmi_spec *spec,
  * by any other pins.
  */
 static void intel_not_share_assigned_cvt(struct hda_codec *codec,
-			hda_nid_t pin_nid, int mux_idx)
+					 hda_nid_t pin_nid,
+					 int dev_id, int mux_idx)
 {
 	struct hdmi_spec *spec = codec->spec;
 	hda_nid_t nid;
 	int cvt_idx, curr;
 	struct hdmi_spec_per_cvt *per_cvt;
+	struct hdmi_spec_per_pin *per_pin;
+	int pin_idx;
+
+	/* configure the pins connections */
+	for (pin_idx = 0; pin_idx < spec->num_pins; pin_idx++) {
+		int dev_id_saved;
+		int dev_num;
 
-	/* configure all pins, including "no physical connection" ones */
-	for_each_hda_codec_node(nid, codec) {
-		unsigned int wid_caps = get_wcaps(codec, nid);
-		unsigned int wid_type = get_wcaps_type(wid_caps);
+		per_pin = get_pin(spec, pin_idx);
+		/*
+		 * pin not connected to monitor
+		 * no need to operate on it
+		 */
+		if (!per_pin->pcm)
+			continue;
 
-		if (wid_type != AC_WID_PIN)
+		if ((per_pin->pin_nid == pin_nid) &&
+			(per_pin->dev_id == dev_id))
 			continue;
 
-		if (nid == pin_nid)
+		/*
+		 * if per_pin->dev_id >= dev_num,
+		 * snd_hda_get_dev_select() will fail,
+		 * and the following operation is unpredictable.
+		 * So skip this situation.
+		 */
+		dev_num = snd_hda_get_num_devices(codec, per_pin->pin_nid) + 1;
+		if (per_pin->dev_id >= dev_num)
 			continue;
 
+		nid = per_pin->pin_nid;
+
+		/*
+		 * Calling this function should not impact
+		 * on the device entry selection
+		 * So let's save the dev id for each pin,
+		 * and restore it when return
+		 */
+		dev_id_saved = snd_hda_get_dev_select(codec, nid);
+		snd_hda_set_dev_select(codec, nid, per_pin->dev_id);
 		curr = snd_hda_codec_read(codec, nid, 0,
 					  AC_VERB_GET_CONNECT_SEL, 0);
-		if (curr != mux_idx)
+		if (curr != mux_idx) {
+			snd_hda_set_dev_select(codec, nid, dev_id_saved);
 			continue;
+		}
+
 
 		/* choose an unassigned converter. The conveters in the
 		 * connection list are in the same order as in the codec.
@@ -1008,12 +1078,13 @@ static void intel_not_share_assigned_cvt(struct hda_codec *codec,
 				break;
 			}
 		}
+		snd_hda_set_dev_select(codec, nid, dev_id_saved);
 	}
 }
 
 /* A wrapper of intel_not_share_asigned_cvt() */
 static void intel_not_share_assigned_cvt_nid(struct hda_codec *codec,
-			hda_nid_t pin_nid, hda_nid_t cvt_nid)
+			hda_nid_t pin_nid, int dev_id, hda_nid_t cvt_nid)
 {
 	int mux_idx;
 	struct hdmi_spec *spec = codec->spec;
@@ -1025,7 +1096,7 @@ static void intel_not_share_assigned_cvt_nid(struct hda_codec *codec,
 	 */
 	mux_idx = intel_cvt_id_to_mux_idx(spec, cvt_nid);
 	if (mux_idx >= 0)
-		intel_not_share_assigned_cvt(codec, pin_nid, mux_idx);
+		intel_not_share_assigned_cvt(codec, pin_nid, dev_id, mux_idx);
 }
 
 /* skeleton caller of pin_cvt_fixup ops */
@@ -1140,6 +1211,7 @@ static int hdmi_pcm_open(struct hda_pcm_stream *hinfo,
 	per_pin->cvt_nid = per_cvt->cvt_nid;
 	hinfo->nid = per_cvt->cvt_nid;
 
+	snd_hda_set_dev_select(codec, per_pin->pin_nid, per_pin->dev_id);
 	snd_hda_codec_write_cache(codec, per_pin->pin_nid, 0,
 			    AC_VERB_SET_CONNECT_SEL,
 			    per_pin->mux_idx);
@@ -1198,6 +1270,7 @@ static int hdmi_read_pin_conn(struct hda_codec *codec, int pin_idx)
 		return -EINVAL;
 	}
 
+	/* all the device entries on the same pin have the same conn list */
 	per_pin->num_mux_nids = snd_hda_get_connections(codec, pin_nid,
 							per_pin->mux_nids,
 							HDA_MAX_CONNECTIONS);
@@ -1215,13 +1288,13 @@ static int hdmi_find_pcm_slot(struct hdmi_spec *spec,
 		return per_pin->pin_nid_idx;
 
 	/* have a second try; check the "reserved area" over num_pins */
-	for (i = spec->num_pins; i < spec->pcm_used; i++) {
+	for (i = spec->num_nids; i < spec->pcm_used; i++) {
 		if (!test_bit(i, &spec->pcm_bitmap))
 			return i;
 	}
 
 	/* the last try; check the empty slots in pins */
-	for (i = 0; i < spec->num_pins; i++) {
+	for (i = 0; i < spec->num_nids; i++) {
 		if (!test_bit(i, &spec->pcm_bitmap))
 			return i;
 	}
@@ -1296,10 +1369,13 @@ static void hdmi_pcm_setup_pin(struct hdmi_spec *spec,
 	per_pin->cvt_nid = hinfo->nid;
 
 	mux_idx = hdmi_get_pin_cvt_mux(spec, per_pin, hinfo->nid);
-	if (mux_idx < per_pin->num_mux_nids)
+	if (mux_idx < per_pin->num_mux_nids) {
+		snd_hda_set_dev_select(codec, per_pin->pin_nid,
+				   per_pin->dev_id);
 		snd_hda_codec_write_cache(codec, per_pin->pin_nid, 0,
 				AC_VERB_SET_CONNECT_SEL,
 				mux_idx);
+	}
 	snd_hda_spdif_ctls_assign(codec, per_pin->pcm_idx, hinfo->nid);
 
 	non_pcm = check_non_pcm_per_cvt(codec, hinfo->nid);
@@ -1467,6 +1543,11 @@ static struct snd_jack *pin_idx_to_jack(struct hda_codec *codec,
 	if (per_pin->pcm_idx >= 0 && spec->dyn_pcm_assign)
 		jack = spec->pcm_rec[per_pin->pcm_idx].jack;
 	else if (!spec->dyn_pcm_assign) {
+		/*
+		 * jack tbl doesn't support DP MST
+		 * DP MST will use dyn_pcm_assign,
+		 * so DP MST will never come here
+		 */
 		jack_tbl = snd_hda_jack_tbl_get(codec, per_pin->pin_nid);
 		if (jack_tbl)
 			jack = jack_tbl->jack;
@@ -1485,9 +1566,9 @@ static void sync_eld_via_acomp(struct hda_codec *codec,
 
 	mutex_lock(&per_pin->lock);
 	eld->monitor_present = false;
-	size = snd_hdac_acomp_get_eld(&codec->core, per_pin->pin_nid, -1,
-				      &eld->monitor_present, eld->eld_buffer,
-				      ELD_MAX_SIZE);
+	size = snd_hdac_acomp_get_eld(&codec->core, per_pin->pin_nid,
+				      per_pin->dev_id, &eld->monitor_present,
+				      eld->eld_buffer, ELD_MAX_SIZE);
 	if (size > 0) {
 		size = min(size, ELD_MAX_SIZE);
 		if (snd_hdmi_parse_eld(codec, &eld->info,
@@ -1565,38 +1646,81 @@ static int hdmi_add_pin(struct hda_codec *codec, hda_nid_t pin_nid)
 	int pin_idx;
 	struct hdmi_spec_per_pin *per_pin;
 	int err;
+	int dev_num, i;
 
 	caps = snd_hda_query_pin_caps(codec, pin_nid);
 	if (!(caps & (AC_PINCAP_HDMI | AC_PINCAP_DP)))
 		return 0;
 
+	/*
+	 * For DP MST audio, Configuration Default is the same for
+	 * all device entries on the same pin
+	 */
 	config = snd_hda_codec_get_pincfg(codec, pin_nid);
 	if (get_defcfg_connect(config) == AC_JACK_PORT_NONE)
 		return 0;
 
-	if (is_haswell_plus(codec))
-		intel_haswell_fixup_connect_list(codec, pin_nid);
-
-	pin_idx = spec->num_pins;
-	per_pin = snd_array_new(&spec->pins);
-	if (!per_pin)
-		return -ENOMEM;
-
-	per_pin->pin_nid = pin_nid;
-	per_pin->non_pcm = false;
-	if (spec->dyn_pcm_assign)
-		per_pin->pcm_idx = -1;
-	else {
-		per_pin->pcm = get_hdmi_pcm(spec, pin_idx);
-		per_pin->pcm_idx = pin_idx;
+	/*
+	 * To simplify the implementation, malloc all
+	 * the virtual pins in the initialization statically
+	 */
+	if (is_haswell_plus(codec)) {
+		/*
+		 * On Intel platforms, device entries number is
+		 * changed dynamically. If there is a DP MST
+		 * hub connected, the device entries number is 3.
+		 * Otherwise, it is 1.
+		 * Here we manually set dev_num to 3, so that
+		 * we can initialize all the device entries when
+		 * bootup statically.
+		 */
+		dev_num = 3;
+		spec->dev_num = 3;
+	} else if (spec->dyn_pcm_assign && codec->dp_mst) {
+		dev_num = snd_hda_get_num_devices(codec, pin_nid) + 1;
+		/*
+		 * spec->dev_num is the maxinum number of device entries
+		 * among all the pins
+		 */
+		spec->dev_num = (spec->dev_num > dev_num) ?
+			spec->dev_num : dev_num;
+	} else {
+		/*
+		 * If the platform doesn't support DP MST,
+		 * manually set dev_num to 1. This means
+		 * the pin has only one device entry.
+		 */
+		dev_num = 1;
+		spec->dev_num = 1;
 	}
-	per_pin->pin_nid_idx = pin_idx;
 
-	err = hdmi_read_pin_conn(codec, pin_idx);
-	if (err < 0)
-		return err;
+	for (i = 0; i < dev_num; i++) {
+		pin_idx = spec->num_pins;
+		per_pin = snd_array_new(&spec->pins);
 
-	spec->num_pins++;
+		if (!per_pin)
+			return -ENOMEM;
+
+		if (spec->dyn_pcm_assign) {
+			per_pin->pcm = NULL;
+			per_pin->pcm_idx = -1;
+		} else {
+			per_pin->pcm = get_hdmi_pcm(spec, pin_idx);
+			per_pin->pcm_idx = pin_idx;
+		}
+		per_pin->pin_nid = pin_nid;
+		per_pin->pin_nid_idx = spec->num_nids;
+		per_pin->dev_id = i;
+		per_pin->non_pcm = false;
+		snd_hda_set_dev_select(codec, pin_nid, i);
+		if (is_haswell_plus(codec))
+			intel_haswell_fixup_connect_list(codec, pin_nid);
+		err = hdmi_read_pin_conn(codec, pin_idx);
+		if (err < 0)
+			return err;
+		spec->num_pins++;
+	}
+	spec->num_nids++;
 
 	return 0;
 }
@@ -1744,7 +1868,7 @@ static int generic_hdmi_playback_pcm_prepare(struct hda_pcm_stream *hinfo,
 	/* Call sync_audio_rate to set the N/CTS/M manually if necessary */
 	/* Todo: add DP1.2 MST audio support later */
 	if (codec_has_acomp(codec))
-		snd_hdac_sync_audio_rate(&codec->core, pin_nid, -1,
+		snd_hdac_sync_audio_rate(&codec->core, pin_nid, per_pin->dev_id,
 					 runtime->rate);
 
 	non_pcm = check_non_pcm_per_cvt(codec, cvt_nid);
@@ -1762,6 +1886,7 @@ static int generic_hdmi_playback_pcm_prepare(struct hda_pcm_stream *hinfo,
 				    pinctl | PIN_OUT);
 	}
 
+	/* snd_hda_set_dev_select() has been called before */
 	err = spec->ops.setup_stream(codec, cvt_nid, pin_nid,
 				 stream_tag, format);
 	mutex_unlock(&spec->pcm_lock);
@@ -1897,17 +2022,23 @@ static bool is_hdmi_pcm_attached(struct hdac_device *hdac, int pcm_idx)
 static int generic_hdmi_build_pcms(struct hda_codec *codec)
 {
 	struct hdmi_spec *spec = codec->spec;
-	int pin_idx;
+	int idx;
 
-	for (pin_idx = 0; pin_idx < spec->num_pins; pin_idx++) {
+	/*
+	 * for non-mst mode, pcm number is the same as before
+	 * for DP MST mode, pcm number is (nid number + dev_num - 1)
+	 *  dev_num is the device entry number in a pin
+	 *
+	 */
+	for (idx = 0; idx < spec->num_nids + spec->dev_num - 1; idx++) {
 		struct hda_pcm *info;
 		struct hda_pcm_stream *pstr;
 
-		info = snd_hda_codec_pcm_new(codec, "HDMI %d", pin_idx);
+		info = snd_hda_codec_pcm_new(codec, "HDMI %d", idx);
 		if (!info)
 			return -ENOMEM;
 
-		spec->pcm_rec[pin_idx].pcm = info;
+		spec->pcm_rec[idx].pcm = info;
 		spec->pcm_used++;
 		info->pcm_type = HDA_PCM_TYPE_HDMI;
 		info->own_chmap = true;
@@ -1915,6 +2046,9 @@ static int generic_hdmi_build_pcms(struct hda_codec *codec)
 		pstr = &info->stream[SNDRV_PCM_STREAM_PLAYBACK];
 		pstr->substreams = 1;
 		pstr->ops = generic_ops;
+		/* pcm number is less than 16 */
+		if (spec->pcm_used >= 16)
+			break;
 		/* other pstr fields are set in open */
 	}
 
@@ -2070,7 +2204,9 @@ static int generic_hdmi_init(struct hda_codec *codec)
 	for (pin_idx = 0; pin_idx < spec->num_pins; pin_idx++) {
 		struct hdmi_spec_per_pin *per_pin = get_pin(spec, pin_idx);
 		hda_nid_t pin_nid = per_pin->pin_nid;
+		int dev_id = per_pin->dev_id;
 
+		snd_hda_set_dev_select(codec, pin_nid, dev_id);
 		hdmi_init_pin(codec, pin_nid);
 		if (!codec_has_acomp(codec))
 			snd_hda_jack_detect_enable_callback(codec, pin_nid,
@@ -2178,6 +2314,7 @@ static int alloc_generic_hdmi(struct hda_codec *codec)
 		return -ENOMEM;
 
 	spec->ops = generic_standard_hdmi_ops;
+	spec->dev_num = 1;	/* initialize to 1 */
 	mutex_init(&spec->pcm_lock);
 	snd_hdac_register_chmap_ops(&codec->core, &spec->chmap);
 
@@ -2295,6 +2432,7 @@ static void intel_pin_eld_notify(void *audio_ptr, int port, int pipe)
 {
 	struct hda_codec *codec = audio_ptr;
 	int pin_nid;
+	int dev_id = pipe;
 
 	/* we assume only from port-B to port-D */
 	if (port < 1 || port > 3)
@@ -2321,7 +2459,7 @@ static void intel_pin_eld_notify(void *audio_ptr, int port, int pipe)
 		return;
 
 	snd_hdac_i915_set_bclk(&codec->bus->core);
-	check_presence_and_report(codec, pin_nid);
+	check_presence_and_report(codec, pin_nid, dev_id);
 }
 
 /* register i915 component pin_eld_notify callback */
@@ -2354,11 +2492,13 @@ static void i915_pin_cvt_fixup(struct hda_codec *codec,
 			       hda_nid_t cvt_nid)
 {
 	if (per_pin) {
+		snd_hda_set_dev_select(codec, per_pin->pin_nid,
+			       per_pin->dev_id);
 		intel_verify_pin_cvt_connect(codec, per_pin);
 		intel_not_share_assigned_cvt(codec, per_pin->pin_nid,
-					     per_pin->mux_idx);
+				     per_pin->dev_id, per_pin->mux_idx);
 	} else {
-		intel_not_share_assigned_cvt_nid(codec, 0, cvt_nid);
+		intel_not_share_assigned_cvt_nid(codec, 0, 0, cvt_nid);
 	}
 }
 
@@ -2378,6 +2518,8 @@ static int patch_i915_hsw_hdmi(struct hda_codec *codec)
 	if (err < 0)
 		return err;
 	spec = codec->spec;
+	codec->dp_mst = true;
+	spec->dyn_pcm_assign = true;
 
 	intel_haswell_enable_all_pins(codec, true);
 	intel_haswell_fixup_enable_dp12(codec);
@@ -2389,7 +2531,6 @@ static int patch_i915_hsw_hdmi(struct hda_codec *codec)
 		codec->core.link_power_control = 1;
 
 	codec->patch_ops.set_power_state = haswell_set_power_state;
-	codec->dp_mst = true;
 	codec->depop_delay = 0;
 	codec->auto_runtime_pm = 1;
 
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v4 3/3] ALSA: Documentation about HDA DP MST pin init and connection
  2016-12-06  2:48 [PATCH v4 0/3] support DP MST audio libin.yang
  2016-12-06  2:48 ` [PATCH v4 1/3] ALSA: hda - add DP mst verb support libin.yang
  2016-12-06  2:48 ` [PATCH v4 2/3] ALSA: hda - add DP MST audio support libin.yang
@ 2016-12-06  2:48 ` libin.yang
  2016-12-06  2:58 ` [PATCH v4 0/3] support DP MST audio Yang, Libin
  3 siblings, 0 replies; 16+ messages in thread
From: libin.yang @ 2016-12-06  2:48 UTC (permalink / raw)
  To: alsa-devel, tiwai; +Cc: libin.yang, mengdong.lin

From: Libin Yang <libin.yang@intel.com>

Add the documentation about HD-audio DP MST:
1. pin initialization
2. device entry connection list

Signed-off-by: Libin Yang <libin.yang@intel.com>
---
 Documentation/sound/hd-audio/dp-mst.rst | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/Documentation/sound/hd-audio/dp-mst.rst b/Documentation/sound/hd-audio/dp-mst.rst
index 58b7243..1617459 100644
--- a/Documentation/sound/hd-audio/dp-mst.rst
+++ b/Documentation/sound/hd-audio/dp-mst.rst
@@ -19,6 +19,23 @@ PCM
 ===
 To be added
 
+Pin Initialization
+==================
+Each pin may have several device entries (virtual pins). On Intel platform,
+the device entries number is dynamically changed. If DP MST hub is connected,
+it is in DP MST mode, and the device entries number is 3. Otherwise, the
+device entries number is 1.
+
+To simplify the implementation, all the device entries will be initialized
+when bootup no matter whether it is in DP MST mode or not.
+
+Connection list
+===============
+DP MST reuses connection list code. The code can be reused because
+device entries on the same pin have the same connection list.
+
+This means DP MST gets the device entry connection list without the
+device entry setting.
 
 Jack
 ====
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: [PATCH v4 0/3] support DP MST audio
  2016-12-06  2:48 [PATCH v4 0/3] support DP MST audio libin.yang
                   ` (2 preceding siblings ...)
  2016-12-06  2:48 ` [PATCH v4 3/3] ALSA: Documentation about HDA DP MST pin init and connection libin.yang
@ 2016-12-06  2:58 ` Yang, Libin
  2016-12-06  7:20   ` Takashi Iwai
  3 siblings, 1 reply; 16+ messages in thread
From: Yang, Libin @ 2016-12-06  2:58 UTC (permalink / raw)
  To: alsa-devel, tiwai; +Cc: Lin, Mengdong

The patchset is based on drm-tip branch in
git://anongit.freedesktop.org/drm-tip

Regards,
Libin


>-----Original Message-----
>From: Yang, Libin
>Sent: Tuesday, December 6, 2016 10:49 AM
>To: alsa-devel@alsa-project.org; tiwai@suse.de
>Cc: Lin, Mengdong <mengdong.lin@intel.com>; Yang, Libin
><libin.yang@intel.com>
>Subject: [alsa-devel] [PATCH v4 0/3] support DP MST audio
>
>From: Libin Yang <libin.yang@intel.com>
>
>This patchset starts to support DP MST audio.
>
>This patchset is based on drm-tip on
>git://anongit.freedesktop.org/drm-tip
>
>change log:
>v4: refine some comments in 0001 and 0002 patches.
>    refine the 0003 patch for the new ALSA-Configuration document
>
>Libin Yang (3):
>  ALSA: hda - add DP mst verb support
>  ALSA: hda - add DP MST audio support
>  ALSA: Documentation about HDA DP MST pin init and connection
>
> Documentation/sound/hd-audio/dp-mst.rst |  17 +++
> sound/pci/hda/hda_codec.c               |  76 +++++++++-
> sound/pci/hda/hda_codec.h               |   3 +
> sound/pci/hda/patch_hdmi.c              | 245 +++++++++++++++++++++++++------
>-
> 4 files changed, 285 insertions(+), 56 deletions(-)
>
>--
>2.7.4

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v4 0/3] support DP MST audio
  2016-12-06  2:58 ` [PATCH v4 0/3] support DP MST audio Yang, Libin
@ 2016-12-06  7:20   ` Takashi Iwai
  2016-12-06  7:51     ` [alsa-devel] " Daniel Vetter
  0 siblings, 1 reply; 16+ messages in thread
From: Takashi Iwai @ 2016-12-06  7:20 UTC (permalink / raw)
  To: Yang, Libin; +Cc: Lin, Mengdong, alsa-devel, Daniel Vetter

On Tue, 06 Dec 2016 03:58:21 +0100,
Yang, Libin wrote:
> 
> The patchset is based on drm-tip branch in
> git://anongit.freedesktop.org/drm-tip

I'll review and merge if it's OK.

Daniel, do you guys have the stable branch that I can pull into sound
tree for DP-MST audio stuff for 4.10?


thanks,

Takashi


> Regards,
> Libin
> 
> 
> >-----Original Message-----
> >From: Yang, Libin
> >Sent: Tuesday, December 6, 2016 10:49 AM
> >To: alsa-devel@alsa-project.org; tiwai@suse.de
> >Cc: Lin, Mengdong <mengdong.lin@intel.com>; Yang, Libin
> ><libin.yang@intel.com>
> >Subject: [alsa-devel] [PATCH v4 0/3] support DP MST audio
> >
> >From: Libin Yang <libin.yang@intel.com>
> >
> >This patchset starts to support DP MST audio.
> >
> >This patchset is based on drm-tip on
> >git://anongit.freedesktop.org/drm-tip
> >
> >change log:
> >v4: refine some comments in 0001 and 0002 patches.
> >    refine the 0003 patch for the new ALSA-Configuration document
> >
> >Libin Yang (3):
> >  ALSA: hda - add DP mst verb support
> >  ALSA: hda - add DP MST audio support
> >  ALSA: Documentation about HDA DP MST pin init and connection
> >
> > Documentation/sound/hd-audio/dp-mst.rst |  17 +++
> > sound/pci/hda/hda_codec.c               |  76 +++++++++-
> > sound/pci/hda/hda_codec.h               |   3 +
> > sound/pci/hda/patch_hdmi.c              | 245 +++++++++++++++++++++++++------
> >-
> > 4 files changed, 285 insertions(+), 56 deletions(-)
> >
> >--
> >2.7.4
> 

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [alsa-devel] [PATCH v4 0/3] support DP MST audio
  2016-12-06  7:20   ` Takashi Iwai
@ 2016-12-06  7:51     ` Daniel Vetter
  2016-12-06  8:11       ` Takashi Iwai
  0 siblings, 1 reply; 16+ messages in thread
From: Daniel Vetter @ 2016-12-06  7:51 UTC (permalink / raw)
  To: Takashi Iwai, intel-gfx, Nikula, Jani; +Cc: alsa-devel

On Tue, Dec 6, 2016 at 8:20 AM, Takashi Iwai <tiwai@suse.de> wrote:
> On Tue, 06 Dec 2016 03:58:21 +0100,
> Yang, Libin wrote:
>>
>> The patchset is based on drm-tip branch in
>> git://anongit.freedesktop.org/drm-tip
>
> I'll review and merge if it's OK.
>
> Daniel, do you guys have the stable branch that I can pull into sound
> tree for DP-MST audio stuff for 4.10?

DP mst audio support missed 4.10 over here on the drm side. And I
wasn't aware that we need a topic branch for it, so I just smashed it
into our drm-intel-next queue ... I can send you the most recent
stable tag for that, but that's heading in only for 4.11.
-Daniel

>
>
> thanks,
>
> Takashi
>
>
>> Regards,
>> Libin
>>
>>
>> >-----Original Message-----
>> >From: Yang, Libin
>> >Sent: Tuesday, December 6, 2016 10:49 AM
>> >To: alsa-devel@alsa-project.org; tiwai@suse.de
>> >Cc: Lin, Mengdong <mengdong.lin@intel.com>; Yang, Libin
>> ><libin.yang@intel.com>
>> >Subject: [alsa-devel] [PATCH v4 0/3] support DP MST audio
>> >
>> >From: Libin Yang <libin.yang@intel.com>
>> >
>> >This patchset starts to support DP MST audio.
>> >
>> >This patchset is based on drm-tip on
>> >git://anongit.freedesktop.org/drm-tip
>> >
>> >change log:
>> >v4: refine some comments in 0001 and 0002 patches.
>> >    refine the 0003 patch for the new ALSA-Configuration document
>> >
>> >Libin Yang (3):
>> >  ALSA: hda - add DP mst verb support
>> >  ALSA: hda - add DP MST audio support
>> >  ALSA: Documentation about HDA DP MST pin init and connection
>> >
>> > Documentation/sound/hd-audio/dp-mst.rst |  17 +++
>> > sound/pci/hda/hda_codec.c               |  76 +++++++++-
>> > sound/pci/hda/hda_codec.h               |   3 +
>> > sound/pci/hda/patch_hdmi.c              | 245 +++++++++++++++++++++++++------
>> >-
>> > 4 files changed, 285 insertions(+), 56 deletions(-)
>> >
>> >--
>> >2.7.4
>>



-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [alsa-devel] [PATCH v4 0/3] support DP MST audio
  2016-12-06  7:51     ` [alsa-devel] " Daniel Vetter
@ 2016-12-06  8:11       ` Takashi Iwai
  2017-01-09  6:22         ` Yang, Libin
  0 siblings, 1 reply; 16+ messages in thread
From: Takashi Iwai @ 2016-12-06  8:11 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: intel-gfx, alsa-devel

On Tue, 06 Dec 2016 08:51:43 +0100,
Daniel Vetter wrote:
> 
> On Tue, Dec 6, 2016 at 8:20 AM, Takashi Iwai <tiwai@suse.de> wrote:
> > On Tue, 06 Dec 2016 03:58:21 +0100,
> > Yang, Libin wrote:
> >>
> >> The patchset is based on drm-tip branch in
> >> git://anongit.freedesktop.org/drm-tip
> >
> > I'll review and merge if it's OK.
> >
> > Daniel, do you guys have the stable branch that I can pull into sound
> > tree for DP-MST audio stuff for 4.10?
> 
> DP mst audio support missed 4.10 over here on the drm side. And I
> wasn't aware that we need a topic branch for it, so I just smashed it
> into our drm-intel-next queue ... I can send you the most recent
> stable tag for that, but that's heading in only for 4.11.

It's fine, we can postpone to 4.11 as well.  I just thought it were
already queued for 4.10.

If so, I'm going to queue these patches once after 4.10-rc1 is
released.


thanks,

Takashi


> -Daniel
> 
> >
> >
> > thanks,
> >
> > Takashi
> >
> >
> >> Regards,
> >> Libin
> >>
> >>
> >> >-----Original Message-----
> >> >From: Yang, Libin
> >> >Sent: Tuesday, December 6, 2016 10:49 AM
> >> >To: alsa-devel@alsa-project.org; tiwai@suse.de
> >> >Cc: Lin, Mengdong <mengdong.lin@intel.com>; Yang, Libin
> >> ><libin.yang@intel.com>
> >> >Subject: [alsa-devel] [PATCH v4 0/3] support DP MST audio
> >> >
> >> >From: Libin Yang <libin.yang@intel.com>
> >> >
> >> >This patchset starts to support DP MST audio.
> >> >
> >> >This patchset is based on drm-tip on
> >> >git://anongit.freedesktop.org/drm-tip
> >> >
> >> >change log:
> >> >v4: refine some comments in 0001 and 0002 patches.
> >> >    refine the 0003 patch for the new ALSA-Configuration document
> >> >
> >> >Libin Yang (3):
> >> >  ALSA: hda - add DP mst verb support
> >> >  ALSA: hda - add DP MST audio support
> >> >  ALSA: Documentation about HDA DP MST pin init and connection
> >> >
> >> > Documentation/sound/hd-audio/dp-mst.rst |  17 +++
> >> > sound/pci/hda/hda_codec.c               |  76 +++++++++-
> >> > sound/pci/hda/hda_codec.h               |   3 +
> >> > sound/pci/hda/patch_hdmi.c              | 245 +++++++++++++++++++++++++------
> >> >-
> >> > 4 files changed, 285 insertions(+), 56 deletions(-)
> >> >
> >> >--
> >> >2.7.4
> >>
> 
> 
> 
> -- 
> Daniel Vetter
> Software Engineer, Intel Corporation
> +41 (0) 79 365 57 48 - http://blog.ffwll.ch
> 
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [alsa-devel] [PATCH v4 0/3] support DP MST audio
  2016-12-06  8:11       ` Takashi Iwai
@ 2017-01-09  6:22         ` Yang, Libin
  2017-01-10  8:19           ` Takashi Iwai
  0 siblings, 1 reply; 16+ messages in thread
From: Yang, Libin @ 2017-01-09  6:22 UTC (permalink / raw)
  To: Takashi Iwai, Daniel Vetter; +Cc: intel-gfx, alsa-devel

Hi Takashi,

It seems the patches for DP MST in gfx is not merged into Linus branch.

Do we have plan to merge gfx branch manually and review the patches for audio? Or we will wait the DP MST patches for i915 merged into Linus branch?

Regards,
Libin


>-----Original Message-----
>From: Takashi Iwai [mailto:tiwai@suse.de]
>Sent: Tuesday, December 6, 2016 4:11 PM
>To: Daniel Vetter <daniel@ffwll.ch>
>Cc: intel-gfx <intel-gfx@lists.freedesktop.org>; Nikula, Jani
><jani.nikula@linux.intel.com>; Yang, Libin <libin.yang@intel.com>; alsa-
>devel@alsa-project.org; Lin, Mengdong <mengdong.lin@intel.com>
>Subject: Re: [alsa-devel] [PATCH v4 0/3] support DP MST audio
>
>On Tue, 06 Dec 2016 08:51:43 +0100,
>Daniel Vetter wrote:
>>
>> On Tue, Dec 6, 2016 at 8:20 AM, Takashi Iwai <tiwai@suse.de> wrote:
>> > On Tue, 06 Dec 2016 03:58:21 +0100,
>> > Yang, Libin wrote:
>> >>
>> >> The patchset is based on drm-tip branch in
>> >> git://anongit.freedesktop.org/drm-tip
>> >
>> > I'll review and merge if it's OK.
>> >
>> > Daniel, do you guys have the stable branch that I can pull into
>> > sound tree for DP-MST audio stuff for 4.10?
>>
>> DP mst audio support missed 4.10 over here on the drm side. And I
>> wasn't aware that we need a topic branch for it, so I just smashed it
>> into our drm-intel-next queue ... I can send you the most recent
>> stable tag for that, but that's heading in only for 4.11.
>
>It's fine, we can postpone to 4.11 as well.  I just thought it were already
>queued for 4.10.
>
>If so, I'm going to queue these patches once after 4.10-rc1 is released.
>
>
>thanks,
>
>Takashi
>
>
>> -Daniel
>>
>> >
>> >
>> > thanks,
>> >
>> > Takashi
>> >
>> >
>> >> Regards,
>> >> Libin
>> >>
>> >>
>> >> >-----Original Message-----
>> >> >From: Yang, Libin
>> >> >Sent: Tuesday, December 6, 2016 10:49 AM
>> >> >To: alsa-devel@alsa-project.org; tiwai@suse.de
>> >> >Cc: Lin, Mengdong <mengdong.lin@intel.com>; Yang, Libin
>> >> ><libin.yang@intel.com>
>> >> >Subject: [alsa-devel] [PATCH v4 0/3] support DP MST audio
>> >> >
>> >> >From: Libin Yang <libin.yang@intel.com>
>> >> >
>> >> >This patchset starts to support DP MST audio.
>> >> >
>> >> >This patchset is based on drm-tip on
>> >> >git://anongit.freedesktop.org/drm-tip
>> >> >
>> >> >change log:
>> >> >v4: refine some comments in 0001 and 0002 patches.
>> >> >    refine the 0003 patch for the new ALSA-Configuration document
>> >> >
>> >> >Libin Yang (3):
>> >> >  ALSA: hda - add DP mst verb support
>> >> >  ALSA: hda - add DP MST audio support
>> >> >  ALSA: Documentation about HDA DP MST pin init and connection
>> >> >
>> >> > Documentation/sound/hd-audio/dp-mst.rst |  17 +++
>> >> > sound/pci/hda/hda_codec.c               |  76 +++++++++-
>> >> > sound/pci/hda/hda_codec.h               |   3 +
>> >> > sound/pci/hda/patch_hdmi.c              | 245
>+++++++++++++++++++++++++------
>> >> >-
>> >> > 4 files changed, 285 insertions(+), 56 deletions(-)
>> >> >
>> >> >--
>> >> >2.7.4
>> >>
>>
>>
>>
>> --
>> Daniel Vetter
>> Software Engineer, Intel Corporation
>> +41 (0) 79 365 57 48 - http://blog.ffwll.ch
>>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [alsa-devel] [PATCH v4 0/3] support DP MST audio
  2017-01-09  6:22         ` Yang, Libin
@ 2017-01-10  8:19           ` Takashi Iwai
  2017-01-10  8:45             ` Yang, Libin
  0 siblings, 1 reply; 16+ messages in thread
From: Takashi Iwai @ 2017-01-10  8:19 UTC (permalink / raw)
  To: Yang, Libin; +Cc: intel-gfx, alsa-devel

On Mon, 09 Jan 2017 07:22:55 +0100,
Yang, Libin wrote:
> 
> Hi Takashi,
> 
> It seems the patches for DP MST in gfx is not merged into Linus branch.
> 
> Do we have plan to merge gfx branch manually and review the patches for audio? Or we will wait the DP MST patches for i915 merged into Linus branch?

Sorry, this was delayed due to the vacation.
Now I applied these three patches to topic/hda-dp-mst branch based on
4.10-rc2, and it was merged to for-next branch.

  git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git topic/hda-dp-mst

Daniel, Jani, if you guys need to merge to i915 tree, feel free to
pull from that branch.


thanks,

Takashi

> 
> Regards,
> Libin
> 
> 
> >-----Original Message-----
> >From: Takashi Iwai [mailto:tiwai@suse.de]
> >Sent: Tuesday, December 6, 2016 4:11 PM
> >To: Daniel Vetter <daniel@ffwll.ch>
> >Cc: intel-gfx <intel-gfx@lists.freedesktop.org>; Nikula, Jani
> ><jani.nikula@linux.intel.com>; Yang, Libin <libin.yang@intel.com>; alsa-
> >devel@alsa-project.org; Lin, Mengdong <mengdong.lin@intel.com>
> >Subject: Re: [alsa-devel] [PATCH v4 0/3] support DP MST audio
> >
> >On Tue, 06 Dec 2016 08:51:43 +0100,
> >Daniel Vetter wrote:
> >>
> >> On Tue, Dec 6, 2016 at 8:20 AM, Takashi Iwai <tiwai@suse.de> wrote:
> >> > On Tue, 06 Dec 2016 03:58:21 +0100,
> >> > Yang, Libin wrote:
> >> >>
> >> >> The patchset is based on drm-tip branch in
> >> >> git://anongit.freedesktop.org/drm-tip
> >> >
> >> > I'll review and merge if it's OK.
> >> >
> >> > Daniel, do you guys have the stable branch that I can pull into
> >> > sound tree for DP-MST audio stuff for 4.10?
> >>
> >> DP mst audio support missed 4.10 over here on the drm side. And I
> >> wasn't aware that we need a topic branch for it, so I just smashed it
> >> into our drm-intel-next queue ... I can send you the most recent
> >> stable tag for that, but that's heading in only for 4.11.
> >
> >It's fine, we can postpone to 4.11 as well.  I just thought it were already
> >queued for 4.10.
> >
> >If so, I'm going to queue these patches once after 4.10-rc1 is released.
> >
> >
> >thanks,
> >
> >Takashi
> >
> >
> >> -Daniel
> >>
> >> >
> >> >
> >> > thanks,
> >> >
> >> > Takashi
> >> >
> >> >
> >> >> Regards,
> >> >> Libin
> >> >>
> >> >>
> >> >> >-----Original Message-----
> >> >> >From: Yang, Libin
> >> >> >Sent: Tuesday, December 6, 2016 10:49 AM
> >> >> >To: alsa-devel@alsa-project.org; tiwai@suse.de
> >> >> >Cc: Lin, Mengdong <mengdong.lin@intel.com>; Yang, Libin
> >> >> ><libin.yang@intel.com>
> >> >> >Subject: [alsa-devel] [PATCH v4 0/3] support DP MST audio
> >> >> >
> >> >> >From: Libin Yang <libin.yang@intel.com>
> >> >> >
> >> >> >This patchset starts to support DP MST audio.
> >> >> >
> >> >> >This patchset is based on drm-tip on
> >> >> >git://anongit.freedesktop.org/drm-tip
> >> >> >
> >> >> >change log:
> >> >> >v4: refine some comments in 0001 and 0002 patches.
> >> >> >    refine the 0003 patch for the new ALSA-Configuration document
> >> >> >
> >> >> >Libin Yang (3):
> >> >> >  ALSA: hda - add DP mst verb support
> >> >> >  ALSA: hda - add DP MST audio support
> >> >> >  ALSA: Documentation about HDA DP MST pin init and connection
> >> >> >
> >> >> > Documentation/sound/hd-audio/dp-mst.rst |  17 +++
> >> >> > sound/pci/hda/hda_codec.c               |  76 +++++++++-
> >> >> > sound/pci/hda/hda_codec.h               |   3 +
> >> >> > sound/pci/hda/patch_hdmi.c              | 245
> >+++++++++++++++++++++++++------
> >> >> >-
> >> >> > 4 files changed, 285 insertions(+), 56 deletions(-)
> >> >> >
> >> >> >--
> >> >> >2.7.4
> >> >>
> >>
> >>
> >>
> >> --
> >> Daniel Vetter
> >> Software Engineer, Intel Corporation
> >> +41 (0) 79 365 57 48 - http://blog.ffwll.ch
> >>
> 
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [alsa-devel] [PATCH v4 0/3] support DP MST audio
  2017-01-10  8:19           ` Takashi Iwai
@ 2017-01-10  8:45             ` Yang, Libin
  2017-01-10  8:49               ` Takashi Iwai
  0 siblings, 1 reply; 16+ messages in thread
From: Yang, Libin @ 2017-01-10  8:45 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: intel-gfx, alsa-devel

Hi Takashi,

>-----Original Message-----
>From: Takashi Iwai [mailto:tiwai@suse.de]
>Sent: Tuesday, January 10, 2017 4:19 PM
>To: Yang, Libin <libin.yang@intel.com>
>Cc: Daniel Vetter <daniel@ffwll.ch>; intel-gfx <intel-gfx@lists.freedesktop.org>;
>Nikula, Jani <jani.nikula@linux.intel.com>; alsa-devel@alsa-project.org; Lin,
>Mengdong <mengdong.lin@intel.com>
>Subject: Re: [alsa-devel] [PATCH v4 0/3] support DP MST audio
>
>On Mon, 09 Jan 2017 07:22:55 +0100,
>Yang, Libin wrote:
>>
>> Hi Takashi,
>>
>> It seems the patches for DP MST in gfx is not merged into Linus branch.
>>
>> Do we have plan to merge gfx branch manually and review the patches for
>audio? Or we will wait the DP MST patches for i915 merged into Linus branch?
>
>Sorry, this was delayed due to the vacation.
>Now I applied these three patches to topic/hda-dp-mst branch based on 4.10-
>rc2, and it was merged to for-next branch.
>
>  git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git topic/hda-dp-
>mst

Thanks. These audio patches are based on the i915 dp mst patches. Without
I915 driver patches support, it will make errors.

Regards,
Libin

>
>Daniel, Jani, if you guys need to merge to i915 tree, feel free to pull from that
>branch.
>
>
>thanks,
>
>Takashi
>
>>
>> Regards,
>> Libin
>>
>>
>> >-----Original Message-----
>> >From: Takashi Iwai [mailto:tiwai@suse.de]
>> >Sent: Tuesday, December 6, 2016 4:11 PM
>> >To: Daniel Vetter <daniel@ffwll.ch>
>> >Cc: intel-gfx <intel-gfx@lists.freedesktop.org>; Nikula, Jani
>> ><jani.nikula@linux.intel.com>; Yang, Libin <libin.yang@intel.com>;
>> >alsa- devel@alsa-project.org; Lin, Mengdong <mengdong.lin@intel.com>
>> >Subject: Re: [alsa-devel] [PATCH v4 0/3] support DP MST audio
>> >
>> >On Tue, 06 Dec 2016 08:51:43 +0100,
>> >Daniel Vetter wrote:
>> >>
>> >> On Tue, Dec 6, 2016 at 8:20 AM, Takashi Iwai <tiwai@suse.de> wrote:
>> >> > On Tue, 06 Dec 2016 03:58:21 +0100, Yang, Libin wrote:
>> >> >>
>> >> >> The patchset is based on drm-tip branch in
>> >> >> git://anongit.freedesktop.org/drm-tip
>> >> >
>> >> > I'll review and merge if it's OK.
>> >> >
>> >> > Daniel, do you guys have the stable branch that I can pull into
>> >> > sound tree for DP-MST audio stuff for 4.10?
>> >>
>> >> DP mst audio support missed 4.10 over here on the drm side. And I
>> >> wasn't aware that we need a topic branch for it, so I just smashed
>> >> it into our drm-intel-next queue ... I can send you the most recent
>> >> stable tag for that, but that's heading in only for 4.11.
>> >
>> >It's fine, we can postpone to 4.11 as well.  I just thought it were
>> >already queued for 4.10.
>> >
>> >If so, I'm going to queue these patches once after 4.10-rc1 is released.
>> >
>> >
>> >thanks,
>> >
>> >Takashi
>> >
>> >
>> >> -Daniel
>> >>
>> >> >
>> >> >
>> >> > thanks,
>> >> >
>> >> > Takashi
>> >> >
>> >> >
>> >> >> Regards,
>> >> >> Libin
>> >> >>
>> >> >>
>> >> >> >-----Original Message-----
>> >> >> >From: Yang, Libin
>> >> >> >Sent: Tuesday, December 6, 2016 10:49 AM
>> >> >> >To: alsa-devel@alsa-project.org; tiwai@suse.de
>> >> >> >Cc: Lin, Mengdong <mengdong.lin@intel.com>; Yang, Libin
>> >> >> ><libin.yang@intel.com>
>> >> >> >Subject: [alsa-devel] [PATCH v4 0/3] support DP MST audio
>> >> >> >
>> >> >> >From: Libin Yang <libin.yang@intel.com>
>> >> >> >
>> >> >> >This patchset starts to support DP MST audio.
>> >> >> >
>> >> >> >This patchset is based on drm-tip on
>> >> >> >git://anongit.freedesktop.org/drm-tip
>> >> >> >
>> >> >> >change log:
>> >> >> >v4: refine some comments in 0001 and 0002 patches.
>> >> >> >    refine the 0003 patch for the new ALSA-Configuration
>> >> >> >document
>> >> >> >
>> >> >> >Libin Yang (3):
>> >> >> >  ALSA: hda - add DP mst verb support
>> >> >> >  ALSA: hda - add DP MST audio support
>> >> >> >  ALSA: Documentation about HDA DP MST pin init and connection
>> >> >> >
>> >> >> > Documentation/sound/hd-audio/dp-mst.rst |  17 +++
>> >> >> > sound/pci/hda/hda_codec.c               |  76 +++++++++-
>> >> >> > sound/pci/hda/hda_codec.h               |   3 +
>> >> >> > sound/pci/hda/patch_hdmi.c              | 245
>> >+++++++++++++++++++++++++------
>> >> >> >-
>> >> >> > 4 files changed, 285 insertions(+), 56 deletions(-)
>> >> >> >
>> >> >> >--
>> >> >> >2.7.4
>> >> >>
>> >>
>> >>
>> >>
>> >> --
>> >> Daniel Vetter
>> >> Software Engineer, Intel Corporation
>> >> +41 (0) 79 365 57 48 - http://blog.ffwll.ch
>> >>
>>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [alsa-devel] [PATCH v4 0/3] support DP MST audio
  2017-01-10  8:45             ` Yang, Libin
@ 2017-01-10  8:49               ` Takashi Iwai
  2017-01-11  7:39                 ` Daniel Vetter
  0 siblings, 1 reply; 16+ messages in thread
From: Takashi Iwai @ 2017-01-10  8:49 UTC (permalink / raw)
  To: Yang, Libin; +Cc: intel-gfx, alsa-devel

On Tue, 10 Jan 2017 09:45:31 +0100,
Yang, Libin wrote:
> 
> Hi Takashi,
> 
> >-----Original Message-----
> >From: Takashi Iwai [mailto:tiwai@suse.de]
> >Sent: Tuesday, January 10, 2017 4:19 PM
> >To: Yang, Libin <libin.yang@intel.com>
> >Cc: Daniel Vetter <daniel@ffwll.ch>; intel-gfx <intel-gfx@lists.freedesktop.org>;
> >Nikula, Jani <jani.nikula@linux.intel.com>; alsa-devel@alsa-project.org; Lin,
> >Mengdong <mengdong.lin@intel.com>
> >Subject: Re: [alsa-devel] [PATCH v4 0/3] support DP MST audio
> >
> >On Mon, 09 Jan 2017 07:22:55 +0100,
> >Yang, Libin wrote:
> >>
> >> Hi Takashi,
> >>
> >> It seems the patches for DP MST in gfx is not merged into Linus branch.
> >>
> >> Do we have plan to merge gfx branch manually and review the patches for
> >audio? Or we will wait the DP MST patches for i915 merged into Linus branch?
> >
> >Sorry, this was delayed due to the vacation.
> >Now I applied these three patches to topic/hda-dp-mst branch based on 4.10-
> >rc2, and it was merged to for-next branch.
> >
> >  git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git topic/hda-dp-
> >mst
> 
> Thanks. These audio patches are based on the i915 dp mst patches. Without
> I915 driver patches support, it will make errors.

Ah yeah, I forgot it.  So I removed it from for-next branch, but
topic/hda-dp-mst branch is kept so that it can be merged to i915
tree.

Let me know if there is any i915 branch I can pull into sound tree.


thanks,

Takashi

> 
> Regards,
> Libin
> 
> >
> >Daniel, Jani, if you guys need to merge to i915 tree, feel free to pull from that
> >branch.
> >
> >
> >thanks,
> >
> >Takashi
> >
> >>
> >> Regards,
> >> Libin
> >>
> >>
> >> >-----Original Message-----
> >> >From: Takashi Iwai [mailto:tiwai@suse.de]
> >> >Sent: Tuesday, December 6, 2016 4:11 PM
> >> >To: Daniel Vetter <daniel@ffwll.ch>
> >> >Cc: intel-gfx <intel-gfx@lists.freedesktop.org>; Nikula, Jani
> >> ><jani.nikula@linux.intel.com>; Yang, Libin <libin.yang@intel.com>;
> >> >alsa- devel@alsa-project.org; Lin, Mengdong <mengdong.lin@intel.com>
> >> >Subject: Re: [alsa-devel] [PATCH v4 0/3] support DP MST audio
> >> >
> >> >On Tue, 06 Dec 2016 08:51:43 +0100,
> >> >Daniel Vetter wrote:
> >> >>
> >> >> On Tue, Dec 6, 2016 at 8:20 AM, Takashi Iwai <tiwai@suse.de> wrote:
> >> >> > On Tue, 06 Dec 2016 03:58:21 +0100, Yang, Libin wrote:
> >> >> >>
> >> >> >> The patchset is based on drm-tip branch in
> >> >> >> git://anongit.freedesktop.org/drm-tip
> >> >> >
> >> >> > I'll review and merge if it's OK.
> >> >> >
> >> >> > Daniel, do you guys have the stable branch that I can pull into
> >> >> > sound tree for DP-MST audio stuff for 4.10?
> >> >>
> >> >> DP mst audio support missed 4.10 over here on the drm side. And I
> >> >> wasn't aware that we need a topic branch for it, so I just smashed
> >> >> it into our drm-intel-next queue ... I can send you the most recent
> >> >> stable tag for that, but that's heading in only for 4.11.
> >> >
> >> >It's fine, we can postpone to 4.11 as well.  I just thought it were
> >> >already queued for 4.10.
> >> >
> >> >If so, I'm going to queue these patches once after 4.10-rc1 is released.
> >> >
> >> >
> >> >thanks,
> >> >
> >> >Takashi
> >> >
> >> >
> >> >> -Daniel
> >> >>
> >> >> >
> >> >> >
> >> >> > thanks,
> >> >> >
> >> >> > Takashi
> >> >> >
> >> >> >
> >> >> >> Regards,
> >> >> >> Libin
> >> >> >>
> >> >> >>
> >> >> >> >-----Original Message-----
> >> >> >> >From: Yang, Libin
> >> >> >> >Sent: Tuesday, December 6, 2016 10:49 AM
> >> >> >> >To: alsa-devel@alsa-project.org; tiwai@suse.de
> >> >> >> >Cc: Lin, Mengdong <mengdong.lin@intel.com>; Yang, Libin
> >> >> >> ><libin.yang@intel.com>
> >> >> >> >Subject: [alsa-devel] [PATCH v4 0/3] support DP MST audio
> >> >> >> >
> >> >> >> >From: Libin Yang <libin.yang@intel.com>
> >> >> >> >
> >> >> >> >This patchset starts to support DP MST audio.
> >> >> >> >
> >> >> >> >This patchset is based on drm-tip on
> >> >> >> >git://anongit.freedesktop.org/drm-tip
> >> >> >> >
> >> >> >> >change log:
> >> >> >> >v4: refine some comments in 0001 and 0002 patches.
> >> >> >> >    refine the 0003 patch for the new ALSA-Configuration
> >> >> >> >document
> >> >> >> >
> >> >> >> >Libin Yang (3):
> >> >> >> >  ALSA: hda - add DP mst verb support
> >> >> >> >  ALSA: hda - add DP MST audio support
> >> >> >> >  ALSA: Documentation about HDA DP MST pin init and connection
> >> >> >> >
> >> >> >> > Documentation/sound/hd-audio/dp-mst.rst |  17 +++
> >> >> >> > sound/pci/hda/hda_codec.c               |  76 +++++++++-
> >> >> >> > sound/pci/hda/hda_codec.h               |   3 +
> >> >> >> > sound/pci/hda/patch_hdmi.c              | 245
> >> >+++++++++++++++++++++++++------
> >> >> >> >-
> >> >> >> > 4 files changed, 285 insertions(+), 56 deletions(-)
> >> >> >> >
> >> >> >> >--
> >> >> >> >2.7.4
> >> >> >>
> >> >>
> >> >>
> >> >>
> >> >> --
> >> >> Daniel Vetter
> >> >> Software Engineer, Intel Corporation
> >> >> +41 (0) 79 365 57 48 - http://blog.ffwll.ch
> >> >>
> >>
> 
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [alsa-devel] [PATCH v4 0/3] support DP MST audio
  2017-01-10  8:49               ` Takashi Iwai
@ 2017-01-11  7:39                 ` Daniel Vetter
  2017-01-11  8:00                   ` Takashi Iwai
  0 siblings, 1 reply; 16+ messages in thread
From: Daniel Vetter @ 2017-01-11  7:39 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: intel-gfx, alsa-devel

On Tue, Jan 10, 2017 at 9:49 AM, Takashi Iwai <tiwai@suse.de> wrote:
> On Tue, 10 Jan 2017 09:45:31 +0100,
>> >-----Original Message-----
>> >From: Takashi Iwai [mailto:tiwai@suse.de]
>> >Sent: Tuesday, January 10, 2017 4:19 PM
>> >To: Yang, Libin <libin.yang@intel.com>
>> >Cc: Daniel Vetter <daniel@ffwll.ch>; intel-gfx <intel-gfx@lists.freedesktop.org>;
>> >Nikula, Jani <jani.nikula@linux.intel.com>; alsa-devel@alsa-project.org; Lin,
>> >Mengdong <mengdong.lin@intel.com>
>> >Subject: Re: [alsa-devel] [PATCH v4 0/3] support DP MST audio
>> >
>> >On Mon, 09 Jan 2017 07:22:55 +0100,
>> >Yang, Libin wrote:
>> >>
>> >> Hi Takashi,
>> >>
>> >> It seems the patches for DP MST in gfx is not merged into Linus branch.
>> >>
>> >> Do we have plan to merge gfx branch manually and review the patches for
>> >audio? Or we will wait the DP MST patches for i915 merged into Linus branch?
>> >
>> >Sorry, this was delayed due to the vacation.
>> >Now I applied these three patches to topic/hda-dp-mst branch based on 4.10-
>> >rc2, and it was merged to for-next branch.
>> >
>> >  git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git topic/hda-dp-
>> >mst
>>
>> Thanks. These audio patches are based on the i915 dp mst patches. Without
>> I915 driver patches support, it will make errors.
>
> Ah yeah, I forgot it.  So I removed it from for-next branch, but
> topic/hda-dp-mst branch is kept so that it can be merged to i915
> tree.
>
> Let me know if there is any i915 branch I can pull into sound tree.

Aw, I didn't know that the depency goes this way round, the dp mst
patches (I'm not even sure which ones they are) on the i915 are just
on the general pile. So not anywhere near a place where I can make a
topic branch.

I guess what needs to be done now is a cherry-picked list of just the
patches we need, on top of -rc3, that I can then pull into
drm-intel.git plus send a pull request for that to Takashi. That means
the patches are twice in drm-intel.git, but if we cherry-pick
reference them correctly then that should be all ok and can't really
be helped.

Or we just delay the audio side for 4.12, dp mst audio support is 4
years late anyway, so one more release won'thurt that much ;-)
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [alsa-devel] [PATCH v4 0/3] support DP MST audio
  2017-01-11  7:39                 ` Daniel Vetter
@ 2017-01-11  8:00                   ` Takashi Iwai
  2017-01-11  8:35                     ` Daniel Vetter
  0 siblings, 1 reply; 16+ messages in thread
From: Takashi Iwai @ 2017-01-11  8:00 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: intel-gfx, alsa-devel

On Wed, 11 Jan 2017 08:39:13 +0100,
Daniel Vetter wrote:
> 
> On Tue, Jan 10, 2017 at 9:49 AM, Takashi Iwai <tiwai@suse.de> wrote:
> > On Tue, 10 Jan 2017 09:45:31 +0100,
> >> >-----Original Message-----
> >> >From: Takashi Iwai [mailto:tiwai@suse.de]
> >> >Sent: Tuesday, January 10, 2017 4:19 PM
> >> >To: Yang, Libin <libin.yang@intel.com>
> >> >Cc: Daniel Vetter <daniel@ffwll.ch>; intel-gfx <intel-gfx@lists.freedesktop.org>;
> >> >Nikula, Jani <jani.nikula@linux.intel.com>; alsa-devel@alsa-project.org; Lin,
> >> >Mengdong <mengdong.lin@intel.com>
> >> >Subject: Re: [alsa-devel] [PATCH v4 0/3] support DP MST audio
> >> >
> >> >On Mon, 09 Jan 2017 07:22:55 +0100,
> >> >Yang, Libin wrote:
> >> >>
> >> >> Hi Takashi,
> >> >>
> >> >> It seems the patches for DP MST in gfx is not merged into Linus branch.
> >> >>
> >> >> Do we have plan to merge gfx branch manually and review the patches for
> >> >audio? Or we will wait the DP MST patches for i915 merged into Linus branch?
> >> >
> >> >Sorry, this was delayed due to the vacation.
> >> >Now I applied these three patches to topic/hda-dp-mst branch based on 4.10-
> >> >rc2, and it was merged to for-next branch.
> >> >
> >> >  git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git topic/hda-dp-
> >> >mst
> >>
> >> Thanks. These audio patches are based on the i915 dp mst patches. Without
> >> I915 driver patches support, it will make errors.
> >
> > Ah yeah, I forgot it.  So I removed it from for-next branch, but
> > topic/hda-dp-mst branch is kept so that it can be merged to i915
> > tree.
> >
> > Let me know if there is any i915 branch I can pull into sound tree.
> 
> Aw, I didn't know that the depency goes this way round, the dp mst
> patches (I'm not even sure which ones they are) on the i915 are just
> on the general pile. So not anywhere near a place where I can make a
> topic branch.
> 
> I guess what needs to be done now is a cherry-picked list of just the
> patches we need, on top of -rc3, that I can then pull into
> drm-intel.git plus send a pull request for that to Takashi. That means
> the patches are twice in drm-intel.git, but if we cherry-pick
> reference them correctly then that should be all ok and can't really
> be helped.
> 
> Or we just delay the audio side for 4.12, dp mst audio support is 4
> years late anyway, so one more release won'thurt that much ;-)

Well, thinking of the amount of patches, I guess we can do other way
round: basically it's fine to apply Libin's latest patches to drm tree
for 4.11, if it makes things easier.  I don't think we'll have a big
conflict with these changes for others during 4.11 development.  If
any, I can pull some of stable point from drm tree.

Does it work for you?  If yes, feel free to apply these three sound
patches to drm or i915 tree with my ack.

Reviewed-by: Takashi Iwai <tiwai@suse.de>


thanks,

Takashi
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [alsa-devel] [PATCH v4 0/3] support DP MST audio
  2017-01-11  8:00                   ` Takashi Iwai
@ 2017-01-11  8:35                     ` Daniel Vetter
  2017-01-11  8:44                       ` Yang, Libin
  0 siblings, 1 reply; 16+ messages in thread
From: Daniel Vetter @ 2017-01-11  8:35 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel, intel-gfx

On Wed, Jan 11, 2017 at 09:00:27AM +0100, Takashi Iwai wrote:
> On Wed, 11 Jan 2017 08:39:13 +0100,
> Daniel Vetter wrote:
> > 
> > On Tue, Jan 10, 2017 at 9:49 AM, Takashi Iwai <tiwai@suse.de> wrote:
> > > On Tue, 10 Jan 2017 09:45:31 +0100,
> > >> >-----Original Message-----
> > >> >From: Takashi Iwai [mailto:tiwai@suse.de]
> > >> >Sent: Tuesday, January 10, 2017 4:19 PM
> > >> >To: Yang, Libin <libin.yang@intel.com>
> > >> >Cc: Daniel Vetter <daniel@ffwll.ch>; intel-gfx <intel-gfx@lists.freedesktop.org>;
> > >> >Nikula, Jani <jani.nikula@linux.intel.com>; alsa-devel@alsa-project.org; Lin,
> > >> >Mengdong <mengdong.lin@intel.com>
> > >> >Subject: Re: [alsa-devel] [PATCH v4 0/3] support DP MST audio
> > >> >
> > >> >On Mon, 09 Jan 2017 07:22:55 +0100,
> > >> >Yang, Libin wrote:
> > >> >>
> > >> >> Hi Takashi,
> > >> >>
> > >> >> It seems the patches for DP MST in gfx is not merged into Linus branch.
> > >> >>
> > >> >> Do we have plan to merge gfx branch manually and review the patches for
> > >> >audio? Or we will wait the DP MST patches for i915 merged into Linus branch?
> > >> >
> > >> >Sorry, this was delayed due to the vacation.
> > >> >Now I applied these three patches to topic/hda-dp-mst branch based on 4.10-
> > >> >rc2, and it was merged to for-next branch.
> > >> >
> > >> >  git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git topic/hda-dp-
> > >> >mst
> > >>
> > >> Thanks. These audio patches are based on the i915 dp mst patches. Without
> > >> I915 driver patches support, it will make errors.
> > >
> > > Ah yeah, I forgot it.  So I removed it from for-next branch, but
> > > topic/hda-dp-mst branch is kept so that it can be merged to i915
> > > tree.
> > >
> > > Let me know if there is any i915 branch I can pull into sound tree.
> > 
> > Aw, I didn't know that the depency goes this way round, the dp mst
> > patches (I'm not even sure which ones they are) on the i915 are just
> > on the general pile. So not anywhere near a place where I can make a
> > topic branch.
> > 
> > I guess what needs to be done now is a cherry-picked list of just the
> > patches we need, on top of -rc3, that I can then pull into
> > drm-intel.git plus send a pull request for that to Takashi. That means
> > the patches are twice in drm-intel.git, but if we cherry-pick
> > reference them correctly then that should be all ok and can't really
> > be helped.
> > 
> > Or we just delay the audio side for 4.12, dp mst audio support is 4
> > years late anyway, so one more release won'thurt that much ;-)
> 
> Well, thinking of the amount of patches, I guess we can do other way
> round: basically it's fine to apply Libin's latest patches to drm tree
> for 4.11, if it makes things easier.  I don't think we'll have a big
> conflict with these changes for others during 4.11 development.  If
> any, I can pull some of stable point from drm tree.
> 
> Does it work for you?  If yes, feel free to apply these three sound
> patches to drm or i915 tree with my ack.
> 
> Reviewed-by: Takashi Iwai <tiwai@suse.de>

Works for me too. Libin, can you pls resend (somehow this thread
disconnected from the patches for me), with Takashi's r-b + ack for
merging through drm-intel?

Thanks, Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [alsa-devel] [PATCH v4 0/3] support DP MST audio
  2017-01-11  8:35                     ` Daniel Vetter
@ 2017-01-11  8:44                       ` Yang, Libin
  0 siblings, 0 replies; 16+ messages in thread
From: Yang, Libin @ 2017-01-11  8:44 UTC (permalink / raw)
  To: Daniel Vetter, Takashi Iwai; +Cc: intel-gfx, alsa-devel, Pandiyan, Dhinakaran

Hi Daniel,

OK, I will resend the patches tomorrow. Thanks.

Hi Takashi,

In case you still need the patches for i915, it is on
git://anongit.freedesktop.org/drm-tip:drm-tip

My patches are:

commit 9a148a96fc3a654ddcf142a7ab7db37b972ba5d8
drm/i915/debugfs: add dp mst info

commit 9935f7fa2854355203e3976762eecfb218079aac
drm/i915: abstract ddi being audio enabled

commit 7f9e77545b92bcb894b8e2be5646535e8ba8da9e
drm/i915: enable dp mst audio

commit 31613268c0a6f7abdb0c19487a084249bcf203ba
drm/i915/audio: extend get_saved_enc() to support more scenarios

commit f55d23be11ed15f493957246f3b81fc530e79d70
drm/i915/audio: extend audio sync rate support for DP MST

And you may still need the patches in gfx to fix the flicker issue, which Dhinakaran
can help.

Regards,
Libin


>-----Original Message-----
>From: Daniel Vetter [mailto:daniel.vetter@ffwll.ch] On Behalf Of Daniel Vetter
>Sent: Wednesday, January 11, 2017 4:35 PM
>To: Takashi Iwai <tiwai@suse.de>
>Cc: Daniel Vetter <daniel@ffwll.ch>; Yang, Libin <libin.yang@intel.com>; intel-
>gfx <intel-gfx@lists.freedesktop.org>; Nikula, Jani
><jani.nikula@linux.intel.com>; alsa-devel@alsa-project.org; Lin, Mengdong
><mengdong.lin@intel.com>
>Subject: Re: [alsa-devel] [PATCH v4 0/3] support DP MST audio
>
>On Wed, Jan 11, 2017 at 09:00:27AM +0100, Takashi Iwai wrote:
>> On Wed, 11 Jan 2017 08:39:13 +0100,
>> Daniel Vetter wrote:
>> >
>> > On Tue, Jan 10, 2017 at 9:49 AM, Takashi Iwai <tiwai@suse.de> wrote:
>> > > On Tue, 10 Jan 2017 09:45:31 +0100,
>> > >> >-----Original Message-----
>> > >> >From: Takashi Iwai [mailto:tiwai@suse.de]
>> > >> >Sent: Tuesday, January 10, 2017 4:19 PM
>> > >> >To: Yang, Libin <libin.yang@intel.com>
>> > >> >Cc: Daniel Vetter <daniel@ffwll.ch>; intel-gfx
>> > >> ><intel-gfx@lists.freedesktop.org>;
>> > >> >Nikula, Jani <jani.nikula@linux.intel.com>;
>> > >> >alsa-devel@alsa-project.org; Lin, Mengdong
>> > >> ><mengdong.lin@intel.com>
>> > >> >Subject: Re: [alsa-devel] [PATCH v4 0/3] support DP MST audio
>> > >> >
>> > >> >On Mon, 09 Jan 2017 07:22:55 +0100, Yang, Libin wrote:
>> > >> >>
>> > >> >> Hi Takashi,
>> > >> >>
>> > >> >> It seems the patches for DP MST in gfx is not merged into Linus
>branch.
>> > >> >>
>> > >> >> Do we have plan to merge gfx branch manually and review the
>> > >> >> patches for
>> > >> >audio? Or we will wait the DP MST patches for i915 merged into Linus
>branch?
>> > >> >
>> > >> >Sorry, this was delayed due to the vacation.
>> > >> >Now I applied these three patches to topic/hda-dp-mst branch
>> > >> >based on 4.10- rc2, and it was merged to for-next branch.
>> > >> >
>> > >> >  git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
>> > >> >topic/hda-dp- mst
>> > >>
>> > >> Thanks. These audio patches are based on the i915 dp mst patches.
>> > >> Without
>> > >> I915 driver patches support, it will make errors.
>> > >
>> > > Ah yeah, I forgot it.  So I removed it from for-next branch, but
>> > > topic/hda-dp-mst branch is kept so that it can be merged to i915
>> > > tree.
>> > >
>> > > Let me know if there is any i915 branch I can pull into sound tree.
>> >
>> > Aw, I didn't know that the depency goes this way round, the dp mst
>> > patches (I'm not even sure which ones they are) on the i915 are just
>> > on the general pile. So not anywhere near a place where I can make a
>> > topic branch.
>> >
>> > I guess what needs to be done now is a cherry-picked list of just
>> > the patches we need, on top of -rc3, that I can then pull into
>> > drm-intel.git plus send a pull request for that to Takashi. That
>> > means the patches are twice in drm-intel.git, but if we cherry-pick
>> > reference them correctly then that should be all ok and can't really
>> > be helped.
>> >
>> > Or we just delay the audio side for 4.12, dp mst audio support is 4
>> > years late anyway, so one more release won'thurt that much ;-)
>>
>> Well, thinking of the amount of patches, I guess we can do other way
>> round: basically it's fine to apply Libin's latest patches to drm tree
>> for 4.11, if it makes things easier.  I don't think we'll have a big
>> conflict with these changes for others during 4.11 development.  If
>> any, I can pull some of stable point from drm tree.
>>
>> Does it work for you?  If yes, feel free to apply these three sound
>> patches to drm or i915 tree with my ack.
>>
>> Reviewed-by: Takashi Iwai <tiwai@suse.de>
>
>Works for me too. Libin, can you pls resend (somehow this thread
>disconnected from the patches for me), with Takashi's r-b + ack for merging
>through drm-intel?
>
>Thanks, Daniel
>--
>Daniel Vetter
>Software Engineer, Intel Corporation
>http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2017-01-11  8:44 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-12-06  2:48 [PATCH v4 0/3] support DP MST audio libin.yang
2016-12-06  2:48 ` [PATCH v4 1/3] ALSA: hda - add DP mst verb support libin.yang
2016-12-06  2:48 ` [PATCH v4 2/3] ALSA: hda - add DP MST audio support libin.yang
2016-12-06  2:48 ` [PATCH v4 3/3] ALSA: Documentation about HDA DP MST pin init and connection libin.yang
2016-12-06  2:58 ` [PATCH v4 0/3] support DP MST audio Yang, Libin
2016-12-06  7:20   ` Takashi Iwai
2016-12-06  7:51     ` [alsa-devel] " Daniel Vetter
2016-12-06  8:11       ` Takashi Iwai
2017-01-09  6:22         ` Yang, Libin
2017-01-10  8:19           ` Takashi Iwai
2017-01-10  8:45             ` Yang, Libin
2017-01-10  8:49               ` Takashi Iwai
2017-01-11  7:39                 ` Daniel Vetter
2017-01-11  8:00                   ` Takashi Iwai
2017-01-11  8:35                     ` Daniel Vetter
2017-01-11  8:44                       ` Yang, Libin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.