All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/30] ASoC: hdac_hdmi: Add support to enable MST audio
@ 2017-01-16 17:57 jeeja.kp
  2017-01-16 17:57 ` [PATCH 01/30] ASoC: hdac_hdmi: use audio component framework to read ELD jeeja.kp
                   ` (30 more replies)
  0 siblings, 31 replies; 56+ messages in thread
From: jeeja.kp @ 2017-01-16 17:57 UTC (permalink / raw)
  To: alsa-devel; +Cc: tiwai, patches.audio, broonie, liam.r.girdwood, Jeeja KP

From: Jeeja KP <jeeja.kp@intel.com>

Display port 1.2 introduces new capability Multi-stream transport (MST)
which will allow multiple stream to route to single display port where
multiple monitors are connected. Multiple monitors will be connected by
a MST Hub or a monitor capable of daisy-chaining.

With MST support, a pin can support multiple ports and on each port a
monitor can be connected.

This patch series enables DP MST Audio by extending the current design
from pin to port.
o With MST, pin mux for CVT selection will be used to select CVT for
pin-port instead of pin. So create the pin mux accordingly.

o Pin is marked as MST capable when connect event reports pipe as valid.
if pipe is -1, then pin is not MST capable and default to port 0.
if pipe is valid, then pin is MST capable and port = pipe.

o For MST capable pin, select the device entry before configuring the pin
widget verbs controlling the sink device operations.

o Add support to handle multiple Port mapped to same converter by creating
as port list in pcm and report jack event based on the no of ports 
connected/disconnected .

o i915 acomp APIs are now used to read the ELD info and support is extended
for MST port as well.

o Configure port/pin/audio infoframe in widget event handlers for dynamic
routing when monitor is connected/disconnected instead of DAI ops. 

o Use set_tdm slot to set the stream tag instead of dai params and store it
in pcm context and use this in configuring the converter in widget event
handler.

o Use pin widget to represent the output to enable/disable path when a device
is connected/disconnected. Added API to create the pin widget and this will be
called by the machine driver after jack creation.

o Add channel map support for bxt machine.

o Move from snd_jack to ASOC jack framework, create the jack in machine driver.

o Create port pin widget to enable and disable the path dynamically when a jack
is connected/disconnected.

Note: This patch series has dependency on the series
"ASoC: Intel: Skylake: Driver updates"  

Jeeja KP (29):
  ASoC: hdac_hdmi: Register widget event handlers
  ASoC: Intel: Skylake: Use set_tdm_slot to set the dma channel
  ASoC: hdac_hdmi: Move channel info from pin to PCM structure
  ASoC: Intel: bxt: add channel map support in rt298 machine
  ASoC: Intel: bxt: add channel map support in bxt_da7219_max98357a    
    machine
  ASoC: hdac_hdmi: Begin to add support for DP Multi-stream audio
  ASoC: Intel: Skylake: Add route change to rt286 machine
  ASoC: Intel: Skylake: Add route change to nau88l25_max98357a machine
  ASoC: Intel: Skylake: Add route change to nau88l25_ssm4567 machine
  ASoC: Intel: bxt: Add route change to rt298 machine
  ASoC: Intel: bxt: Add route change to da7219_max98357a machine
  ASoC: hdac_hdmi: Add support to handle MST capable pin
  ASoC: hdac_hdmi: Add MST verb support
  ASoC: hdac_hdmi: Handle MST pin jack detection at boot/resume
  ASoc: hdac_hdmi: Configure pin verbs for MST
  ASoC: hdac_hdmi: Add support for multiple ports to a PCM
  ASoC: hdac_hdmi: Use ASoC jack instead of snd_jack
  ASoC: Intel: Skylake: Create ASoC jack for hdmi in rt286 machine
  ASoC: Intel: Skylake: Create ASoC jack for hdmi in    
    skl_nau88l25_max98357a machine
  ASoC: Intel: Skylake: Create ASoC jack for hdmi in
    skl_nau88l25_ssm4567     machine
  ASoC: Intel: bxt: Create ASoC jack for hdmi in bxt_rt298 machine
  ASoC: Intel: bxt: Create ASoC jack for hdmi in bxt_da7219_max98357    
    machine
  ASoC: hdac_hdmi: Add machine pin widget for each port
  ASoC: Intel: Skylake: Add jack port initialize in rt286 machine
  ASoC: Intel: Skylake: Add jack port initialize in
    skl_nau88l25_max98357a machine
  ASoC: Intel: Skylake: Add jack port initialize in skl_nau88l25_ssm4567
    machine
  ASoC: Intel: Skylake: Add jack port initialize in bxt_rt298 machine
  ASoC: Intel: Skylake: Add jack port initialize in bxt_da7219_max98357a
        machine
  ASoC: Intel: Skylake: Fix to delete DSP pipe after stopping pipe

Sandeep Tayal (1):
  ASoC: hdac_hdmi: use audio component framework to read ELD

 sound/soc/codecs/hdac_hdmi.c                    | 1331 ++++++++++++++---------
 sound/soc/codecs/hdac_hdmi.h                    |    5 +-
 sound/soc/intel/boards/bxt_da7219_max98357a.c   |   75 +-
 sound/soc/intel/boards/bxt_rt298.c              |   78 +-
 sound/soc/intel/boards/skl_nau88l25_max98357a.c |   34 +-
 sound/soc/intel/boards/skl_nau88l25_ssm4567.c   |   33 +-
 sound/soc/intel/boards/skl_rt286.c              |   30 +-
 sound/soc/intel/skylake/skl-messages.c          |    2 +-
 sound/soc/intel/skylake/skl-pcm.c               |   10 +-
 9 files changed, 1045 insertions(+), 553 deletions(-)

-- 
2.5.0

^ permalink raw reply	[flat|nested] 56+ messages in thread
* [RFC 01/16] ASoC: hdac_hdmi: use audio component framework to read ELD
@ 2016-09-20 13:46 jeeja.kp
  2016-09-25  5:58 ` Applied "ASoC: hdac_hdmi: use audio component framework to read ELD" to the asoc tree Mark Brown
  0 siblings, 1 reply; 56+ messages in thread
From: jeeja.kp @ 2016-09-20 13:46 UTC (permalink / raw)
  To: alsa-devel
  Cc: tiwai, patches.audio, broonie, liam.r.girdwood, Jeeja KP, Sandeep Tayal

From: Sandeep Tayal <sandeepx.tayal@intel.com>

With codec read sometimes the pin_sense shows invalid monitor present
and eld_valid. Currently driver polls for few times to get the valid
ELD data.

To avoid the latency, Instead of reading ELD from codec, read it
directly from the display driver using audio component framework.

Removed the direct codec helper functions.

Signed-off-by: Sandeep Tayal <sandeepx.tayal@intel.com>
Signed-off-by: Jeeja KP <jeeja.kp@intel.com>
---
 sound/soc/codecs/hdac_hdmi.c | 201 ++++++++++++-------------------------------
 1 file changed, 56 insertions(+), 145 deletions(-)

diff --git a/sound/soc/codecs/hdac_hdmi.c b/sound/soc/codecs/hdac_hdmi.c
index dc0129b..c504e98 100644
--- a/sound/soc/codecs/hdac_hdmi.c
+++ b/sound/soc/codecs/hdac_hdmi.c
@@ -46,6 +46,10 @@
 #define ELD_MAX_SIZE    256
 #define ELD_FIXED_BYTES	20
 
+#define ELD_VER_CEA_861D 2
+#define ELD_VER_PARTIAL 31
+#define ELD_MAX_MNL     16
+
 struct hdac_hdmi_cvt_params {
 	unsigned int channels_min;
 	unsigned int channels_max;
@@ -81,8 +85,6 @@ struct hdac_hdmi_pin {
 	hda_nid_t mux_nids[HDA_MAX_CONNECTIONS];
 	struct hdac_hdmi_eld eld;
 	struct hdac_ext_device *edev;
-	int repoll_count;
-	struct delayed_work work;
 	struct mutex lock;
 	bool chmap_set;
 	unsigned char chmap[8]; /* ALSA API channel-map */
@@ -173,80 +175,6 @@ format_constraint:
 
 }
 
- /* HDMI ELD routines */
-static unsigned int hdac_hdmi_get_eld_data(struct hdac_device *codec,
-				hda_nid_t nid, int byte_index)
-{
-	unsigned int val;
-
-	val = snd_hdac_codec_read(codec, nid, 0, AC_VERB_GET_HDMI_ELDD,
-							byte_index);
-
-	dev_dbg(&codec->dev, "HDMI: ELD data byte %d: 0x%x\n",
-					byte_index, val);
-
-	return val;
-}
-
-static int hdac_hdmi_get_eld_size(struct hdac_device *codec, hda_nid_t nid)
-{
-	return snd_hdac_codec_read(codec, nid, 0, AC_VERB_GET_HDMI_DIP_SIZE,
-						 AC_DIPSIZE_ELD_BUF);
-}
-
-/*
- * This function queries the ELD size and ELD data and fills in the buffer
- * passed by user
- */
-static int hdac_hdmi_get_eld(struct hdac_device *codec, hda_nid_t nid,
-			     unsigned char *buf, int *eld_size)
-{
-	int i, size, ret = 0;
-
-	/*
-	 * ELD size is initialized to zero in caller function. If no errors and
-	 * ELD is valid, actual eld_size is assigned.
-	 */
-
-	size = hdac_hdmi_get_eld_size(codec, nid);
-	if (size < ELD_FIXED_BYTES || size > ELD_MAX_SIZE) {
-		dev_err(&codec->dev, "HDMI: invalid ELD buf size %d\n", size);
-		return -ERANGE;
-	}
-
-	/* set ELD buffer */
-	for (i = 0; i < size; i++) {
-		unsigned int val = hdac_hdmi_get_eld_data(codec, nid, i);
-		/*
-		 * Graphics driver might be writing to ELD buffer right now.
-		 * Just abort. The caller will repoll after a while.
-		 */
-		if (!(val & AC_ELDD_ELD_VALID)) {
-			dev_err(&codec->dev,
-				"HDMI: invalid ELD data byte %d\n", i);
-			ret = -EINVAL;
-			goto error;
-		}
-		val &= AC_ELDD_ELD_DATA;
-		/*
-		 * The first byte cannot be zero. This can happen on some DVI
-		 * connections. Some Intel chips may also need some 250ms delay
-		 * to return non-zero ELD data, even when the graphics driver
-		 * correctly writes ELD content before setting ELD_valid bit.
-		 */
-		if (!val && !i) {
-			dev_err(&codec->dev, "HDMI: 0 ELD data\n");
-			ret = -EINVAL;
-			goto error;
-		}
-		buf[i] = val;
-	}
-
-	*eld_size = size;
-error:
-	return ret;
-}
-
 static int hdac_hdmi_setup_stream(struct hdac_ext_device *hdac,
 				hda_nid_t cvt_nid, hda_nid_t pin_nid,
 				u32 stream_tag, int format)
@@ -1059,32 +987,59 @@ static int hdac_hdmi_add_cvt(struct hdac_ext_device *edev, hda_nid_t nid)
 	return hdac_hdmi_query_cvt_params(&edev->hdac, cvt);
 }
 
-static void hdac_hdmi_parse_eld(struct hdac_ext_device *edev,
+static int  hdac_hdmi_parse_eld(struct hdac_ext_device *edev,
 			struct hdac_hdmi_pin *pin)
 {
+	unsigned int ver, mnl;
+
+	ver = (pin->eld.eld_buffer[DRM_ELD_VER] & DRM_ELD_VER_MASK)
+						>> DRM_ELD_VER_SHIFT;
+
+	if (ver != ELD_VER_CEA_861D && ver != ELD_VER_PARTIAL) {
+		dev_dbg(&edev->hdac.dev, "HDMI: Unknown ELD version %d\n", ver);
+		return -EINVAL;
+	}
+
+	mnl = (pin->eld.eld_buffer[DRM_ELD_CEA_EDID_VER_MNL] &
+		DRM_ELD_MNL_MASK) >> DRM_ELD_MNL_SHIFT;
+
+	if (mnl > ELD_MAX_MNL) {
+		dev_dbg(&edev->hdac.dev, "HDMI: MNL Invalid %d\n", mnl);
+		return -EINVAL;
+	}
+
 	pin->eld.info.spk_alloc = pin->eld.eld_buffer[DRM_ELD_SPEAKER];
+
+	return 0;
 }
 
-static void hdac_hdmi_present_sense(struct hdac_hdmi_pin *pin, int repoll)
+static void hdac_hdmi_present_sense(struct hdac_hdmi_pin *pin)
 {
 	struct hdac_ext_device *edev = pin->edev;
 	struct hdac_hdmi_priv *hdmi = edev->private_data;
 	struct hdac_hdmi_pcm *pcm;
-	int val;
-
-	pin->repoll_count = repoll;
+	int size;
 
-	pm_runtime_get_sync(&edev->hdac.dev);
-	val = snd_hdac_codec_read(&edev->hdac, pin->nid, 0,
-					AC_VERB_GET_PIN_SENSE, 0);
+	mutex_lock(&hdmi->pin_mutex);
+	pin->eld.monitor_present = false;
 
-	dev_dbg(&edev->hdac.dev, "Pin sense val %x for pin: %d\n",
-						val, pin->nid);
+	size = snd_hdac_acomp_get_eld(&edev->hdac, pin->nid, -1,
+				&pin->eld.monitor_present, pin->eld.eld_buffer,
+				ELD_MAX_SIZE);
 
+	if (size > 0) {
+		size = min(size, ELD_MAX_SIZE);
+		if (hdac_hdmi_parse_eld(edev, pin) < 0)
+			size = -EINVAL;
+	}
 
-	mutex_lock(&hdmi->pin_mutex);
-	pin->eld.monitor_present = !!(val & AC_PINSENSE_PRESENCE);
-	pin->eld.eld_valid = !!(val & AC_PINSENSE_ELDV);
+	if (size > 0) {
+		pin->eld.eld_valid = true;
+		pin->eld.eld_size = size;
+	} else {
+		pin->eld.eld_valid = false;
+		pin->eld.eld_size = 0;
+	}
 
 	pcm = hdac_hdmi_get_pcm(edev, pin);
 
@@ -1106,66 +1061,23 @@ static void hdac_hdmi_present_sense(struct hdac_hdmi_pin *pin, int repoll)
 		}
 
 		mutex_unlock(&hdmi->pin_mutex);
-		goto put_hdac_device;
+		return;
 	}
 
 	if (pin->eld.monitor_present && pin->eld.eld_valid) {
-		/* TODO: use i915 component for reading ELD later */
-		if (hdac_hdmi_get_eld(&edev->hdac, pin->nid,
-				pin->eld.eld_buffer,
-				&pin->eld.eld_size) == 0) {
-
-			if (pcm) {
-				dev_dbg(&edev->hdac.dev,
-					"jack report for pcm=%d\n",
-					pcm->pcm_id);
-
-				snd_jack_report(pcm->jack, SND_JACK_AVOUT);
-			}
-			hdac_hdmi_parse_eld(edev, pin);
-
-			print_hex_dump_debug("ELD: ",
-					DUMP_PREFIX_OFFSET, 16, 1,
-					pin->eld.eld_buffer, pin->eld.eld_size,
-					true);
-		} else {
-			pin->eld.monitor_present = false;
-			pin->eld.eld_valid = false;
-
-			if (pcm) {
-				dev_dbg(&edev->hdac.dev,
-					"jack report for pcm=%d\n",
-					pcm->pcm_id);
+		if (pcm) {
+			dev_dbg(&edev->hdac.dev,
+				"jack report for pcm=%d\n",
+				pcm->pcm_id);
 
-				snd_jack_report(pcm->jack, 0);
-			}
+			snd_jack_report(pcm->jack, SND_JACK_AVOUT);
 		}
+
+		print_hex_dump_debug("ELD: ", DUMP_PREFIX_OFFSET, 16, 1,
+			  pin->eld.eld_buffer, pin->eld.eld_size, false);
 	}
 
 	mutex_unlock(&hdmi->pin_mutex);
-
-	/*
-	 * Sometimes the pin_sense may present invalid monitor
-	 * present and eld_valid. If ELD data is not valid, loop few
-	 * more times to get correct pin sense and valid ELD.
-	 */
-	if ((!pin->eld.monitor_present || !pin->eld.eld_valid) && repoll)
-		schedule_delayed_work(&pin->work, msecs_to_jiffies(300));
-
-put_hdac_device:
-	pm_runtime_put_sync(&edev->hdac.dev);
-}
-
-static void hdac_hdmi_repoll_eld(struct work_struct *work)
-{
-	struct hdac_hdmi_pin *pin =
-		container_of(to_delayed_work(work), struct hdac_hdmi_pin, work);
-
-	/* picked from legacy HDA driver */
-	if (pin->repoll_count++ > 6)
-		pin->repoll_count = 0;
-
-	hdac_hdmi_present_sense(pin, pin->repoll_count);
 }
 
 static int hdac_hdmi_add_pin(struct hdac_ext_device *edev, hda_nid_t nid)
@@ -1184,7 +1096,6 @@ static int hdac_hdmi_add_pin(struct hdac_ext_device *edev, hda_nid_t nid)
 
 	pin->edev = edev;
 	mutex_init(&pin->lock);
-	INIT_DELAYED_WORK(&pin->work, hdac_hdmi_repoll_eld);
 
 	return 0;
 }
@@ -1395,7 +1306,7 @@ static void hdac_hdmi_eld_notify_cb(void *aptr, int port, int pipe)
 
 	list_for_each_entry(pin, &hdmi->pin_list, head) {
 		if (pin->nid == pin_nid)
-			hdac_hdmi_present_sense(pin, 1);
+			hdac_hdmi_present_sense(pin);
 	}
 }
 
@@ -1496,7 +1407,7 @@ static int hdmi_codec_probe(struct snd_soc_codec *codec)
 	}
 
 	list_for_each_entry(pin, &hdmi->pin_list, head)
-		hdac_hdmi_present_sense(pin, 1);
+		hdac_hdmi_present_sense(pin);
 
 	/* Imp: Store the card pointer in hda_codec */
 	edev->card = dapm->card->snd_card;
@@ -1561,7 +1472,7 @@ static void hdmi_codec_complete(struct device *dev)
 	 * all pins here.
 	 */
 	list_for_each_entry(pin, &hdmi->pin_list, head)
-		hdac_hdmi_present_sense(pin, 1);
+		hdac_hdmi_present_sense(pin);
 
 	pm_runtime_put_sync(&edev->hdac.dev);
 }
-- 
2.5.0

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

end of thread, other threads:[~2017-03-15 18:13 UTC | newest]

Thread overview: 56+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-16 17:57 [PATCH 00/30] ASoC: hdac_hdmi: Add support to enable MST audio jeeja.kp
2017-01-16 17:57 ` [PATCH 01/30] ASoC: hdac_hdmi: use audio component framework to read ELD jeeja.kp
2017-01-20 13:37   ` Applied "ASoC: hdac_hdmi: use audio component framework to read ELD" to the asoc tree Mark Brown
2017-01-16 17:57 ` [PATCH 02/30] ASoC: hdac_hdmi: Register widget event handlers jeeja.kp
2017-01-16 17:57 ` [PATCH 03/30] ASoC: Intel: Skylake: Use set_tdm_slot to set the dma channel jeeja.kp
2017-01-24 18:40   ` Applied "ASoC: Intel: Skylake: Use set_tdm_slot to set the dma channel" to the asoc tree Mark Brown
2017-01-16 17:57 ` [PATCH 04/30] ASoC: hdac_hdmi: Move channel info from pin to PCM structure jeeja.kp
2017-02-04 12:12   ` Applied "ASoC: hdac_hdmi: Move channel info from pin to PCM structure" to the asoc tree Mark Brown
2017-01-16 17:57 ` [PATCH 05/30] ASoC: Intel: bxt: add channel map support in rt298 machine jeeja.kp
2017-02-04 12:12   ` Applied "ASoC: Intel: bxt: add channel map support in rt298 machine" to the asoc tree Mark Brown
2017-01-16 17:57 ` [PATCH 06/30] ASoC: Intel: bxt: add channel map support in bxt_da7219_max98357a machine jeeja.kp
2017-02-04 12:12   ` Applied "ASoC: Intel: bxt: add channel map support in bxt_da7219_max98357a machine" to the asoc tree Mark Brown
2017-01-16 17:57 ` [PATCH 07/30] ASoC: hdac_hdmi: Begin to add support for DP Multi-stream audio jeeja.kp
2017-01-16 17:57 ` [PATCH 08/30] ASoC: Intel: Skylake: Add route change to rt286 machine jeeja.kp
2017-01-16 17:57 ` [PATCH 09/30] ASoC: Intel: Skylake: Add route change to nau88l25_max98357a machine jeeja.kp
2017-01-16 17:57 ` [PATCH 10/30] ASoC: Intel: Skylake: Add route change to nau88l25_ssm4567 machine jeeja.kp
2017-01-16 17:57 ` [PATCH 11/30] ASoC: Intel: bxt: Add route change to rt298 machine jeeja.kp
2017-01-16 17:57 ` [PATCH 12/30] ASoC: Intel: bxt: Add route change to da7219_max98357a machine jeeja.kp
2017-01-16 17:57 ` [PATCH 13/30] ASoC: hdac_hdmi: Add support to handle MST capable pin jeeja.kp
2017-01-16 17:57 ` [PATCH 14/30] ASoC: hdac_hdmi: Add MST verb support jeeja.kp
2017-02-16 19:04   ` Applied "ASoC: hdac_hdmi: Add MST verb support" to the asoc tree Mark Brown
2017-01-16 17:57 ` [PATCH 15/30] ASoC: hdac_hdmi: Handle MST pin jack detection at boot/resume jeeja.kp
2017-02-16 19:04   ` Applied "ASoC: hdac_hdmi: Handle MST pin jack detection at boot/resume" to the asoc tree Mark Brown
2017-01-16 17:57 ` [PATCH 16/30] ASoc: hdac_hdmi: Configure pin verbs for MST jeeja.kp
2017-02-16 19:04   ` Applied "ASoc: hdac_hdmi: Configure pin verbs for MST" to the asoc tree Mark Brown
2017-01-16 17:57 ` [PATCH 17/30] ASoC: hdac_hdmi: Add support for multiple ports to a PCM jeeja.kp
2017-02-16 19:04   ` Applied "ASoC: hdac_hdmi: Add support for multiple ports to a PCM" to the asoc tree Mark Brown
2017-01-16 17:57 ` [PATCH 18/30] ASoC: hdac_hdmi: Use ASoC jack instead of snd_jack jeeja.kp
2017-02-16 19:04   ` Applied "ASoC: hdac_hdmi: Use ASoC jack instead of snd_jack" to the asoc tree Mark Brown
2017-01-16 17:57 ` [PATCH 19/30] ASoC: Intel: Skylake: Create ASoC jack for hdmi in rt286 machine jeeja.kp
2017-02-16 19:04   ` Applied "ASoC: Intel: Skylake: Create ASoC jack for hdmi in rt286 machine" to the asoc tree Mark Brown
2017-01-16 17:57 ` [PATCH 20/30] ASoC: Intel: Skylake: Create ASoC jack for hdmi in skl_nau88l25_max98357a machine jeeja.kp
2017-02-16 19:04   ` Applied "ASoC: Intel: Skylake: Create ASoC jack for hdmi in skl_nau88l25_max98357a machine" to the asoc tree Mark Brown
2017-01-16 17:57 ` [PATCH 21/30] ASoC: Intel: Skylake: Create ASoC jack for hdmi in skl_nau88l25_ssm4567 machine jeeja.kp
2017-02-16 19:04   ` Applied "ASoC: Intel: Skylake: Create ASoC jack for hdmi in nau88l25_ssm4567 machine" to the asoc tree Mark Brown
2017-01-16 17:57 ` [PATCH 22/30] ASoC: Intel: bxt: Create ASoC jack for hdmi in bxt_rt298 machine jeeja.kp
2017-02-16 19:04   ` Applied "ASoC: Intel: bxt: Create ASoC jack for hdmi in bxt_rt298 machine" to the asoc tree Mark Brown
2017-01-16 17:57 ` [PATCH 23/30] ASoC: Intel: bxt: Create ASoC jack for hdmi in bxt_da7219_max98357 machine jeeja.kp
2017-02-16 19:04   ` Applied "ASoC: Intel: bxt: Create ASoC jack for hdmi in bxt_da7219_max98357 machine" to the asoc tree Mark Brown
2017-01-16 17:57 ` [PATCH 24/30] ASoC: hdac_hdmi: Add machine pin widget for each port jeeja.kp
2017-02-16 19:04   ` Applied "ASoC: hdac_hdmi: Add machine pin widget for each port" to the asoc tree Mark Brown
2017-01-16 17:57 ` [PATCH 25/30] ASoC: Intel: Skylake: Add jack port initialize in rt286 machine jeeja.kp
2017-02-16 19:04   ` Applied "ASoC: Intel: Skylake: Add jack port initialize in rt286 machine" to the asoc tree Mark Brown
2017-01-16 17:57 ` [PATCH 26/30] ASoC: Intel: Skylake: Add jack port initialize in skl_nau88l25_max98357a machine jeeja.kp
2017-02-16 19:04   ` Applied "ASoC: Intel: Skylake: Add jack port initialize in nau88l25_max98357a machine" to the asoc tree Mark Brown
2017-01-16 17:57 ` [PATCH 27/30] ASoC: Intel: Skylake: Add jack port initialize in skl_nau88l25_ssm4567 machine jeeja.kp
2017-02-16 19:04   ` Applied "ASoC: Intel: Skylake: Add jack port initialize in nau88l25_ssm4567 machine" to the asoc tree Mark Brown
2017-01-16 17:57 ` [PATCH 28/30] ASoC: Intel: Skylake: Add jack port initialize in bxt_rt298 machine jeeja.kp
2017-02-17 13:22   ` Applied "ASoC: Intel: bxt: Add jack port initialize in bxt_rt298 machine" to the asoc tree Mark Brown
2017-01-16 17:57 ` [PATCH 29/30] ASoC: Intel: Skylake: Add jack port initialize in bxt_da7219_max98357a machine jeeja.kp
2017-02-16 19:04   ` Applied "ASoC: Intel: bxt: Add jack port initialize in da7219_max98357a machine" to the asoc tree Mark Brown
2017-01-16 17:57 ` [PATCH 30/30] ASoC: Intel: Skylake: Fix to delete DSP pipe after stopping pipe jeeja.kp
2017-03-15 18:13   ` Applied "ASoC: Intel: Skylake: Fix to delete DSP pipe after stopping pipe" to the asoc tree Mark Brown
2017-01-17 17:54 ` [PATCH 00/30] ASoC: hdac_hdmi: Add support to enable MST audio Mark Brown
2017-01-18 12:44   ` Jeeja KP
  -- strict thread matches above, loose matches on Subject: below --
2016-09-20 13:46 [RFC 01/16] ASoC: hdac_hdmi: use audio component framework to read ELD jeeja.kp
2016-09-25  5:58 ` Applied "ASoC: hdac_hdmi: use audio component framework to read ELD" to the asoc tree Mark Brown

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.