All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/2] ASoC: Use DMI name in sound card long name
@ 2017-01-14  8:12 mengdong.lin
  2017-01-14  8:13 ` [PATCH v4 1/2] ASoC: core: Add API to use " mengdong.lin
  2017-01-14  8:13 ` [PATCH v4 2/2] ASoC: Intel: Use DMI name for sound card long name in Broadwell machine driver mengdong.lin
  0 siblings, 2 replies; 8+ messages in thread
From: mengdong.lin @ 2017-01-14  8:12 UTC (permalink / raw)
  To: alsa-devel, broonie
  Cc: Mengdong Lin, tiwai, mengdong.lin, liam.r.girdwood, vinod.koul,
	pierre-louis.bossart

From: Mengdong Lin <mengdong.lin@linux.intel.com>

This series is based on Liam's idea to use DMI name as the sound card
short name in the audio workshop. Now we add DMI info to the card long
name:
- Not change the card short name, keep it simple. So the card ID
  won't change as well.
- Use DMI name to make the card long name.

Machine drivers can use a new API to get this feature.

In user space, when the sound server ask UCM to open a sound card, UCM
will try to find the best machine-specific configuration file based on
the card long name, and only if not avaiable, fallback to the default
configuration file that matches the card short name.

Please see patch:
ucm: Automatically load the best config file based on the card long name

History:
  v1 from RFC: Give up using a table to map DMI info to a simple string,
        since we cannot maintain such a table for each machine. Just do
        verbatim copy of DMI info and let user space decide how to use the
        DMI info in card long name to find the best UCM config file.

        If device driver adds a flavor string, just append it after the
        DMI info fields to the card long name.

  v2:   Exclude card name and only keep DMI name in the long name, to
        save the space since the long name cannot exceed 80 characters.
        Trim special characters like SPACE in the long name, because UCM
        configuration files & directories may use the same long name and
        Autoconf cannot handle special characters.

  v3:   Also include DMI product version in the long name, since vendors
        like Lenovo may only put self-explanatory name in this field.
 
  v4:   Use "-" as the separator between DMI names in the card long name,
        and replace "-" in the original DMI names with "_".

Liam Girdwood (1):
  ASoC: core: Add API to use DMI name in sound card long name

Mengdong Lin (1):
  ASoC: Intel: Use DMI name for sound card long name in Broadwell
    machine driver

 include/sound/soc.h                |   4 ++
 sound/soc/intel/boards/broadwell.c |   2 +
 sound/soc/soc-core.c               | 134 +++++++++++++++++++++++++++++++++++++
 3 files changed, 140 insertions(+)

-- 
2.5.0

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

* [PATCH v4 1/2] ASoC: core: Add API to use DMI name in sound card long name
  2017-01-14  8:12 [PATCH v4 0/2] ASoC: Use DMI name in sound card long name mengdong.lin
@ 2017-01-14  8:13 ` mengdong.lin
  2017-01-17 18:45   ` Applied "ASoC: core: Add API to use DMI name in sound card long name" to the asoc tree Mark Brown
  2017-01-14  8:13 ` [PATCH v4 2/2] ASoC: Intel: Use DMI name for sound card long name in Broadwell machine driver mengdong.lin
  1 sibling, 1 reply; 8+ messages in thread
From: mengdong.lin @ 2017-01-14  8:13 UTC (permalink / raw)
  To: alsa-devel, broonie
  Cc: Mengdong Lin, tiwai, mengdong.lin, liam.r.girdwood, vinod.koul,
	pierre-louis.bossart

From: Liam Girdwood <liam.r.girdwood@linux.intel.com>

Intel DSP platform drivers are used by many different devices but are
difficult for userspace to differentiate. This patch adds an API to allow
the DMI name to be used in the sound card long name, thereby helping
userspace load the correct UCM configuration. Usually machine drivers
uses their own name as the sound card name (short name), and leave the
long name and driver name blank. This API will use the DMI info like
vendor, product and board to make up the card long name. If the machine
driver has already explicitly set the long name, this API will do nothing.

This patch also allows for further differentiation as many devices that
share the same DMI name i.e. Minnowboards, UP boards may be configured
with different codecs or firmwares. The API supports flavoring the DMI
name into the card longname to provide the extra differentiation required
for these devices.

For Use Case Manager (UCM) in the user space, changing card long name by
this API is backward compatible, since the card name does not change. For
a given sound card, even if there is no device-specific UCM configuration
file that uses the card long name, UCM will fall back to load the default
configuration file that uses the card name.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Mengdong Lin <mengdong.lin@linux.intel.com>

diff --git a/include/sound/soc.h b/include/sound/soc.h
index 795e6c4..e4f1844 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -497,6 +497,8 @@ void snd_soc_runtime_deactivate(struct snd_soc_pcm_runtime *rtd, int stream);
 int snd_soc_runtime_set_dai_fmt(struct snd_soc_pcm_runtime *rtd,
 	unsigned int dai_fmt);
 
+int snd_soc_set_dmi_name(struct snd_soc_card *card, const char *flavour);
+
 /* Utility functions to get clock rates from various things */
 int snd_soc_calc_frame_size(int sample_size, int channels, int tdm_slots);
 int snd_soc_params_to_frame_size(struct snd_pcm_hw_params *params);
@@ -1094,6 +1096,8 @@ struct snd_soc_card {
 	const char *name;
 	const char *long_name;
 	const char *driver_name;
+	char dmi_longname[80];
+
 	struct device *dev;
 	struct snd_card *snd_card;
 	struct module *owner;
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index aaab26a..e558e19 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -34,6 +34,7 @@
 #include <linux/ctype.h>
 #include <linux/slab.h>
 #include <linux/of.h>
+#include <linux/dmi.h>
 #include <sound/core.h>
 #include <sound/jack.h>
 #include <sound/pcm.h>
@@ -1886,6 +1887,139 @@ int snd_soc_runtime_set_dai_fmt(struct snd_soc_pcm_runtime *rtd,
 }
 EXPORT_SYMBOL_GPL(snd_soc_runtime_set_dai_fmt);
 
+
+/* Trim special characters, and replace '-' with '_' since '-' is used to
+ * separate different DMI fields in the card long name. Only number and
+ * alphabet characters and a few separator characters are kept.
+ */
+static void cleanup_dmi_name(char *name)
+{
+	int i, j = 0;
+
+	for (i = 0; name[i]; i++) {
+		if (isalnum(name[i]) || (name[i] == '.')
+		    || (name[i] == '_'))
+			name[j++] = name[i];
+		else if (name[i] == '-')
+			name[j++] = '_';
+	}
+
+	name[j] = '\0';
+}
+
+/**
+ * snd_soc_set_dmi_name() - Register DMI names to card
+ * @card: The card to register DMI names
+ * @flavour: The flavour "differentiator" for the card amongst its peers.
+ *
+ * An Intel machine driver may be used by many different devices but are
+ * difficult for userspace to differentiate, since machine drivers ususally
+ * use their own name as the card short name and leave the card long name
+ * blank. To differentiate such devices and fix bugs due to lack of
+ * device-specific configurations, this function allows DMI info to be used
+ * as the sound card long name, in the format of
+ * "vendor-product-version-board"
+ * (Character '-' is used to separate different DMI fields here).
+ * This will help the user space to load the device-specific Use Case Manager
+ * (UCM) configurations for the card.
+ *
+ * Possible card long names may be:
+ * DellInc.-XPS139343-01-0310JH
+ * ASUSTeKCOMPUTERINC.-T100TA-1.0-T100TA
+ * Circuitco-MinnowboardMaxD0PLATFORM-D0-MinnowBoardMAX
+ *
+ * This function also supports flavoring the card longname to provide
+ * the extra differentiation, like "vendor-product-version-board-flavor".
+ *
+ * We only keep number and alphabet characters and a few separator characters
+ * in the card long name since UCM in the user space uses the card long names
+ * as card configuration directory names and AudoConf cannot support special
+ * charactors like SPACE.
+ *
+ * Returns 0 on success, otherwise a negative error code.
+ */
+int snd_soc_set_dmi_name(struct snd_soc_card *card, const char *flavour)
+{
+	const char *vendor, *product, *product_version, *board;
+	size_t longname_buf_size = sizeof(card->snd_card->longname);
+	size_t len;
+
+	if (card->long_name)
+		return 0; /* long name already set by driver or from DMI */
+
+	/* make up dmi long name as: vendor.product.version.board */
+	vendor = dmi_get_system_info(DMI_BOARD_VENDOR);
+	if (!vendor) {
+		dev_warn(card->dev, "ASoC: no DMI vendor name!\n");
+		return 0;
+	}
+
+	snprintf(card->dmi_longname, sizeof(card->snd_card->longname),
+			 "%s", vendor);
+	cleanup_dmi_name(card->dmi_longname);
+
+	product = dmi_get_system_info(DMI_PRODUCT_NAME);
+	if (product) {
+		len = strlen(card->dmi_longname);
+		snprintf(card->dmi_longname + len,
+			 longname_buf_size - len,
+			 "-%s", product);
+
+		len++;	/* skip the separator "-" */
+		if (len < longname_buf_size)
+			cleanup_dmi_name(card->dmi_longname + len);
+
+		/* some vendors like Lenovo may only put a self-explanatory
+		 * name in the product version field
+		 */
+		product_version = dmi_get_system_info(DMI_PRODUCT_VERSION);
+		if (product_version) {
+			len = strlen(card->dmi_longname);
+			snprintf(card->dmi_longname + len,
+				 longname_buf_size - len,
+				 "-%s", product_version);
+
+			len++;
+			if (len < longname_buf_size)
+				cleanup_dmi_name(card->dmi_longname + len);
+		}
+	}
+
+	board = dmi_get_system_info(DMI_BOARD_NAME);
+	if (board) {
+		len = strlen(card->dmi_longname);
+		snprintf(card->dmi_longname + len,
+			 longname_buf_size - len,
+			 "-%s", board);
+
+		len++;
+		if (len < longname_buf_size)
+			cleanup_dmi_name(card->dmi_longname + len);
+	} else if (!product) {
+		/* fall back to using legacy name */
+		dev_warn(card->dev, "ASoC: no DMI board/product name!\n");
+		return 0;
+	}
+
+	/* Add flavour to dmi long name */
+	if (flavour) {
+		len = strlen(card->dmi_longname);
+		snprintf(card->dmi_longname + len,
+			 longname_buf_size - len,
+			 "-%s", flavour);
+
+		len++;
+		if (len < longname_buf_size)
+			cleanup_dmi_name(card->dmi_longname + len);
+	}
+
+	/* set the card long name */
+	card->long_name = card->dmi_longname;
+
+	return 0;
+}
+EXPORT_SYMBOL_GPL(snd_soc_set_dmi_name);
+
 static int snd_soc_instantiate_card(struct snd_soc_card *card)
 {
 	struct snd_soc_codec *codec;
-- 
2.5.0

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

* [PATCH v4 2/2] ASoC: Intel: Use DMI name for sound card long name in Broadwell machine driver
  2017-01-14  8:12 [PATCH v4 0/2] ASoC: Use DMI name in sound card long name mengdong.lin
  2017-01-14  8:13 ` [PATCH v4 1/2] ASoC: core: Add API to use " mengdong.lin
@ 2017-01-14  8:13 ` mengdong.lin
  2017-01-17 17:56   ` Mark Brown
  1 sibling, 1 reply; 8+ messages in thread
From: mengdong.lin @ 2017-01-14  8:13 UTC (permalink / raw)
  To: alsa-devel, broonie
  Cc: Mengdong Lin, tiwai, mengdong.lin, liam.r.girdwood, vinod.koul,
	pierre-louis.bossart

From: Mengdong Lin <mengdong.lin@linux.intel.com>

Intel Broadwell machine driver will call API snd_soc_set_dmi_name() to
use DMI info to make the sound card long name.

For example, here are the changed long name for two Broadwell-based
machines:
Dell XPS-13(2015): DellInc.-XPS139343-01-0310JH
Intel WilsonBeach: Intel Corp.-BroadwellClientplatform-0.1-WilsonBeachSDS

They still share the same card name "broadwell-rt286".

Signed-off-by: Mengdong Lin <mengdong.lin@linux.intel.com>

diff --git a/sound/soc/intel/boards/broadwell.c b/sound/soc/intel/boards/broadwell.c
index 5bb64d1..cda73bb 100644
--- a/sound/soc/intel/boards/broadwell.c
+++ b/sound/soc/intel/boards/broadwell.c
@@ -266,6 +266,8 @@ static int broadwell_audio_probe(struct platform_device *pdev)
 {
 	broadwell_rt286.dev = &pdev->dev;
 
+	snd_soc_set_dmi_name(&broadwell_rt286, NULL);
+
 	return devm_snd_soc_register_card(&pdev->dev, &broadwell_rt286);
 }
 
-- 
2.5.0

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

* Re: [PATCH v4 2/2] ASoC: Intel: Use DMI name for sound card long name in Broadwell machine driver
  2017-01-14  8:13 ` [PATCH v4 2/2] ASoC: Intel: Use DMI name for sound card long name in Broadwell machine driver mengdong.lin
@ 2017-01-17 17:56   ` Mark Brown
  2017-01-18 16:44     ` Vinod Koul
  0 siblings, 1 reply; 8+ messages in thread
From: Mark Brown @ 2017-01-17 17:56 UTC (permalink / raw)
  To: mengdong.lin
  Cc: alsa-devel, tiwai, mengdong.lin, liam.r.girdwood, vinod.koul,
	pierre-louis.bossart


[-- Attachment #1.1: Type: text/plain, Size: 324 bytes --]

On Sat, Jan 14, 2017 at 04:13:09PM +0800, mengdong.lin@linux.intel.com wrote:
> From: Mengdong Lin <mengdong.lin@linux.intel.com>
> 
> Intel Broadwell machine driver will call API snd_soc_set_dmi_name() to
> use DMI info to make the sound card long name.

I guess we'll see further patches for other machine drivers?

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



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

* Applied "ASoC: core: Add API to use DMI name in sound card long name" to the asoc tree
  2017-01-14  8:13 ` [PATCH v4 1/2] ASoC: core: Add API to use " mengdong.lin
@ 2017-01-17 18:45   ` Mark Brown
  0 siblings, 0 replies; 8+ messages in thread
From: Mark Brown @ 2017-01-17 18:45 UTC (permalink / raw)
  Cc: alsa-devel, Mengdong Lin, tiwai, mengdong.lin, liam.r.girdwood,
	vinod.koul, broonie, pierre-louis.bossart

The patch

   ASoC: core: Add API to use DMI name in sound card long name

has been applied to the asoc tree at

   git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git 

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.  

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

>From 345233d7c6be80d4124140f2a0993880c7ae2453 Mon Sep 17 00:00:00 2001
From: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Date: Sat, 14 Jan 2017 16:13:02 +0800
Subject: [PATCH] ASoC: core: Add API to use DMI name in sound card long name

Intel DSP platform drivers are used by many different devices but are
difficult for userspace to differentiate. This patch adds an API to allow
the DMI name to be used in the sound card long name, thereby helping
userspace load the correct UCM configuration. Usually machine drivers
uses their own name as the sound card name (short name), and leave the
long name and driver name blank. This API will use the DMI info like
vendor, product and board to make up the card long name. If the machine
driver has already explicitly set the long name, this API will do nothing.

This patch also allows for further differentiation as many devices that
share the same DMI name i.e. Minnowboards, UP boards may be configured
with different codecs or firmwares. The API supports flavoring the DMI
name into the card longname to provide the extra differentiation required
for these devices.

For Use Case Manager (UCM) in the user space, changing card long name by
this API is backward compatible, since the card name does not change. For
a given sound card, even if there is no device-specific UCM configuration
file that uses the card long name, UCM will fall back to load the default
configuration file that uses the card name.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Mengdong Lin <mengdong.lin@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
 include/sound/soc.h  |   4 ++
 sound/soc/soc-core.c | 134 +++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 138 insertions(+)

diff --git a/include/sound/soc.h b/include/sound/soc.h
index 2b502f6cc6d0..8cad99dfb78c 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -497,6 +497,8 @@ void snd_soc_runtime_deactivate(struct snd_soc_pcm_runtime *rtd, int stream);
 int snd_soc_runtime_set_dai_fmt(struct snd_soc_pcm_runtime *rtd,
 	unsigned int dai_fmt);
 
+int snd_soc_set_dmi_name(struct snd_soc_card *card, const char *flavour);
+
 /* Utility functions to get clock rates from various things */
 int snd_soc_calc_frame_size(int sample_size, int channels, int tdm_slots);
 int snd_soc_params_to_frame_size(struct snd_pcm_hw_params *params);
@@ -1098,6 +1100,8 @@ struct snd_soc_card {
 	const char *name;
 	const char *long_name;
 	const char *driver_name;
+	char dmi_longname[80];
+
 	struct device *dev;
 	struct snd_card *snd_card;
 	struct module *owner;
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index f1901bb1466e..530a4dba0709 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -34,6 +34,7 @@
 #include <linux/ctype.h>
 #include <linux/slab.h>
 #include <linux/of.h>
+#include <linux/dmi.h>
 #include <sound/core.h>
 #include <sound/jack.h>
 #include <sound/pcm.h>
@@ -1888,6 +1889,139 @@ int snd_soc_runtime_set_dai_fmt(struct snd_soc_pcm_runtime *rtd,
 }
 EXPORT_SYMBOL_GPL(snd_soc_runtime_set_dai_fmt);
 
+
+/* Trim special characters, and replace '-' with '_' since '-' is used to
+ * separate different DMI fields in the card long name. Only number and
+ * alphabet characters and a few separator characters are kept.
+ */
+static void cleanup_dmi_name(char *name)
+{
+	int i, j = 0;
+
+	for (i = 0; name[i]; i++) {
+		if (isalnum(name[i]) || (name[i] == '.')
+		    || (name[i] == '_'))
+			name[j++] = name[i];
+		else if (name[i] == '-')
+			name[j++] = '_';
+	}
+
+	name[j] = '\0';
+}
+
+/**
+ * snd_soc_set_dmi_name() - Register DMI names to card
+ * @card: The card to register DMI names
+ * @flavour: The flavour "differentiator" for the card amongst its peers.
+ *
+ * An Intel machine driver may be used by many different devices but are
+ * difficult for userspace to differentiate, since machine drivers ususally
+ * use their own name as the card short name and leave the card long name
+ * blank. To differentiate such devices and fix bugs due to lack of
+ * device-specific configurations, this function allows DMI info to be used
+ * as the sound card long name, in the format of
+ * "vendor-product-version-board"
+ * (Character '-' is used to separate different DMI fields here).
+ * This will help the user space to load the device-specific Use Case Manager
+ * (UCM) configurations for the card.
+ *
+ * Possible card long names may be:
+ * DellInc.-XPS139343-01-0310JH
+ * ASUSTeKCOMPUTERINC.-T100TA-1.0-T100TA
+ * Circuitco-MinnowboardMaxD0PLATFORM-D0-MinnowBoardMAX
+ *
+ * This function also supports flavoring the card longname to provide
+ * the extra differentiation, like "vendor-product-version-board-flavor".
+ *
+ * We only keep number and alphabet characters and a few separator characters
+ * in the card long name since UCM in the user space uses the card long names
+ * as card configuration directory names and AudoConf cannot support special
+ * charactors like SPACE.
+ *
+ * Returns 0 on success, otherwise a negative error code.
+ */
+int snd_soc_set_dmi_name(struct snd_soc_card *card, const char *flavour)
+{
+	const char *vendor, *product, *product_version, *board;
+	size_t longname_buf_size = sizeof(card->snd_card->longname);
+	size_t len;
+
+	if (card->long_name)
+		return 0; /* long name already set by driver or from DMI */
+
+	/* make up dmi long name as: vendor.product.version.board */
+	vendor = dmi_get_system_info(DMI_BOARD_VENDOR);
+	if (!vendor) {
+		dev_warn(card->dev, "ASoC: no DMI vendor name!\n");
+		return 0;
+	}
+
+	snprintf(card->dmi_longname, sizeof(card->snd_card->longname),
+			 "%s", vendor);
+	cleanup_dmi_name(card->dmi_longname);
+
+	product = dmi_get_system_info(DMI_PRODUCT_NAME);
+	if (product) {
+		len = strlen(card->dmi_longname);
+		snprintf(card->dmi_longname + len,
+			 longname_buf_size - len,
+			 "-%s", product);
+
+		len++;	/* skip the separator "-" */
+		if (len < longname_buf_size)
+			cleanup_dmi_name(card->dmi_longname + len);
+
+		/* some vendors like Lenovo may only put a self-explanatory
+		 * name in the product version field
+		 */
+		product_version = dmi_get_system_info(DMI_PRODUCT_VERSION);
+		if (product_version) {
+			len = strlen(card->dmi_longname);
+			snprintf(card->dmi_longname + len,
+				 longname_buf_size - len,
+				 "-%s", product_version);
+
+			len++;
+			if (len < longname_buf_size)
+				cleanup_dmi_name(card->dmi_longname + len);
+		}
+	}
+
+	board = dmi_get_system_info(DMI_BOARD_NAME);
+	if (board) {
+		len = strlen(card->dmi_longname);
+		snprintf(card->dmi_longname + len,
+			 longname_buf_size - len,
+			 "-%s", board);
+
+		len++;
+		if (len < longname_buf_size)
+			cleanup_dmi_name(card->dmi_longname + len);
+	} else if (!product) {
+		/* fall back to using legacy name */
+		dev_warn(card->dev, "ASoC: no DMI board/product name!\n");
+		return 0;
+	}
+
+	/* Add flavour to dmi long name */
+	if (flavour) {
+		len = strlen(card->dmi_longname);
+		snprintf(card->dmi_longname + len,
+			 longname_buf_size - len,
+			 "-%s", flavour);
+
+		len++;
+		if (len < longname_buf_size)
+			cleanup_dmi_name(card->dmi_longname + len);
+	}
+
+	/* set the card long name */
+	card->long_name = card->dmi_longname;
+
+	return 0;
+}
+EXPORT_SYMBOL_GPL(snd_soc_set_dmi_name);
+
 static int snd_soc_instantiate_card(struct snd_soc_card *card)
 {
 	struct snd_soc_codec *codec;
-- 
2.11.0

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

* Re: [PATCH v4 2/2] ASoC: Intel: Use DMI name for sound card long name in Broadwell machine driver
  2017-01-17 17:56   ` Mark Brown
@ 2017-01-18 16:44     ` Vinod Koul
  2017-01-18 16:50       ` Takashi Iwai
  0 siblings, 1 reply; 8+ messages in thread
From: Vinod Koul @ 2017-01-18 16:44 UTC (permalink / raw)
  To: Mark Brown
  Cc: alsa-devel, mengdong.lin, tiwai, mengdong.lin, liam.r.girdwood,
	pierre-louis.bossart


[-- Attachment #1.1: Type: text/plain, Size: 566 bytes --]

On Tue, Jan 17, 2017 at 05:56:36PM +0000, Mark Brown wrote:
> On Sat, Jan 14, 2017 at 04:13:09PM +0800, mengdong.lin@linux.intel.com wrote:
> > From: Mengdong Lin <mengdong.lin@linux.intel.com>
> > 
> > Intel Broadwell machine driver will call API snd_soc_set_dmi_name() to
> > use DMI info to make the sound card long name.
> 
> I guess we'll see further patches for other machine drivers?

Yes that's the idea. At least we will convert the Skylake and Broxton ones,
after the current submitted patches and DP-MST ones are merged.

Thanks
-- 
~Vinod

[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



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

* Re: [PATCH v4 2/2] ASoC: Intel: Use DMI name for sound card long name in Broadwell machine driver
  2017-01-18 16:44     ` Vinod Koul
@ 2017-01-18 16:50       ` Takashi Iwai
  2017-01-18 17:23         ` Pierre-Louis Bossart
  0 siblings, 1 reply; 8+ messages in thread
From: Takashi Iwai @ 2017-01-18 16:50 UTC (permalink / raw)
  To: Vinod Koul
  Cc: alsa-devel, mengdong.lin, mengdong.lin, liam.r.girdwood,
	Mark Brown, pierre-louis.bossart

On Wed, 18 Jan 2017 17:44:59 +0100,
Vinod Koul wrote:
> 
> On Tue, Jan 17, 2017 at 05:56:36PM +0000, Mark Brown wrote:
> > On Sat, Jan 14, 2017 at 04:13:09PM +0800, mengdong.lin@linux.intel.com wrote:
> > > From: Mengdong Lin <mengdong.lin@linux.intel.com>
> > > 
> > > Intel Broadwell machine driver will call API snd_soc_set_dmi_name() to
> > > use DMI info to make the sound card long name.
> > 
> > I guess we'll see further patches for other machine drivers?
> 
> Yes that's the idea. At least we will convert the Skylake and Broxton ones,
> after the current submitted patches and DP-MST ones are merged.

I had an impression that rather BYT and CHT machines require urgently
this extension because there are quite lots of devices with the same
component but different configurations...


Takashi

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

* Re: [PATCH v4 2/2] ASoC: Intel: Use DMI name for sound card long name in Broadwell machine driver
  2017-01-18 16:50       ` Takashi Iwai
@ 2017-01-18 17:23         ` Pierre-Louis Bossart
  0 siblings, 0 replies; 8+ messages in thread
From: Pierre-Louis Bossart @ 2017-01-18 17:23 UTC (permalink / raw)
  To: Takashi Iwai, Vinod Koul
  Cc: mengdong.lin, liam.r.girdwood, alsa-devel, Mark Brown, mengdong.lin

On 1/18/17 10:50 AM, Takashi Iwai wrote:
> On Wed, 18 Jan 2017 17:44:59 +0100,
> Vinod Koul wrote:
>> On Tue, Jan 17, 2017 at 05:56:36PM +0000, Mark Brown wrote:
>>> On Sat, Jan 14, 2017 at 04:13:09PM +0800, mengdong.lin@linux.intel.com wrote:
>>>> From: Mengdong Lin <mengdong.lin@linux.intel.com>
>>>>
>>>> Intel Broadwell machine driver will call API snd_soc_set_dmi_name() to
>>>> use DMI info to make the sound card long name.
>>> I guess we'll see further patches for other machine drivers?
>> Yes that's the idea. At least we will convert the Skylake and Broxton ones,
>> after the current submitted patches and DP-MST ones are merged.
> I had an impression that rather BYT and CHT machines require urgently
> this extension because there are quite lots of devices with the same
> component but different configurations...

My first priority is to close on the set of known quirks and contribute 
them once the reworked MCLK patches are merged. We can add the DMI name 
at the same time for BYT/CHT.
Note that adding the name in the machine driver is only the first part 
required to be able to manage quirks. it'll take a bit of time to 
convert the existing UCM files, make use of the include mechanism and 
contribute them to a repository with a faster update rate than alsa-lib.

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

end of thread, other threads:[~2017-01-18 17:23 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-14  8:12 [PATCH v4 0/2] ASoC: Use DMI name in sound card long name mengdong.lin
2017-01-14  8:13 ` [PATCH v4 1/2] ASoC: core: Add API to use " mengdong.lin
2017-01-17 18:45   ` Applied "ASoC: core: Add API to use DMI name in sound card long name" to the asoc tree Mark Brown
2017-01-14  8:13 ` [PATCH v4 2/2] ASoC: Intel: Use DMI name for sound card long name in Broadwell machine driver mengdong.lin
2017-01-17 17:56   ` Mark Brown
2017-01-18 16:44     ` Vinod Koul
2017-01-18 16:50       ` Takashi Iwai
2017-01-18 17:23         ` Pierre-Louis Bossart

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.