All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] ASoC: Intel: bxt-da7219-max98357a: support MAX98390 speaker amp
@ 2020-07-01  9:36 ` Brent Lu
  0 siblings, 0 replies; 12+ messages in thread
From: Brent Lu @ 2020-07-01  9:36 UTC (permalink / raw)
  To: alsa-devel
  Cc: Guennadi Liakhovetski, Cezary Rojewski, Kuninori Morimoto,
	Jie Yang, Liam Girdwood, Mac Chiang, Amery Song, Libin Yang,
	Bard Liao, Pierre-Louis Bossart, Krzysztof Kozlowski,
	Ranjani Sridharan, Rander Wang, Yong Zhi, Mark Brown,
	Christophe JAILLET, Naveen Manohar, Brent Lu, Kai Vehmanen,
	Jason Yan, Takashi Iwai, linux-kernel

Support MAX98390 speaker amplifier on cometlake platform. Driver now
detects amplifier type in the probe function and installs corresponding
controls and DAPM widgets/routes in the late_probe function.

Signed-off-by: Brent Lu <brent.lu@intel.com>
---
 sound/soc/intel/boards/Kconfig                    |   5 +-
 sound/soc/intel/boards/bxt_da7219_max98357a.c     | 117 ++++++++++++++++++++--
 sound/soc/intel/common/soc-acpi-intel-cml-match.c |  13 +++
 3 files changed, 127 insertions(+), 8 deletions(-)

diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig
index 3d820e1..f176df2 100644
--- a/sound/soc/intel/boards/Kconfig
+++ b/sound/soc/intel/boards/Kconfig
@@ -288,6 +288,7 @@ config SND_SOC_INTEL_DA7219_MAX98357A_GENERIC
 	tristate
 	select SND_SOC_DA7219
 	select SND_SOC_MAX98357A
+	select SND_SOC_MAX98390
 	select SND_SOC_DMIC
 	select SND_SOC_HDAC_HDMI
 
@@ -298,14 +299,14 @@ config SND_SOC_INTEL_BXT_DA7219_MAX98357A_COMMON
 if SND_SOC_INTEL_APL
 
 config SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH
-	tristate "Broxton with DA7219 and MAX98357A in I2S Mode"
+	tristate "Broxton with DA7219 and MAX98357A/MAX98390 in I2S Mode"
 	depends on I2C && ACPI && GPIOLIB
 	depends on MFD_INTEL_LPSS || COMPILE_TEST
 	depends on SND_HDA_CODEC_HDMI
 	select SND_SOC_INTEL_BXT_DA7219_MAX98357A_COMMON
 	help
 	   This adds support for ASoC machine driver for Broxton-P platforms
-	   with DA7219 + MAX98357A I2S audio codec.
+	   with DA7219 + MAX98357A/MAX98390 I2S audio codec.
 	   Say Y or m if you have such a device. This is a recommended option.
 	   If unsure select "N".
 
diff --git a/sound/soc/intel/boards/bxt_da7219_max98357a.c b/sound/soc/intel/boards/bxt_da7219_max98357a.c
index 44016c1..4d39253 100644
--- a/sound/soc/intel/boards/bxt_da7219_max98357a.c
+++ b/sound/soc/intel/boards/bxt_da7219_max98357a.c
@@ -25,9 +25,14 @@
 
 #define BXT_DIALOG_CODEC_DAI	"da7219-hifi"
 #define BXT_MAXIM_CODEC_DAI	"HiFi"
+#define MAX98390_DEV0_NAME	"i2c-MX98390:00"
+#define MAX98390_DEV1_NAME	"i2c-MX98390:01"
 #define DUAL_CHANNEL		2
 #define QUAD_CHANNEL		4
 
+#define SPKAMP_MAX98357A	1
+#define SPKAMP_MAX98390	2
+
 static struct snd_soc_jack broxton_headset;
 static struct snd_soc_jack broxton_hdmi[3];
 
@@ -40,6 +45,7 @@ struct bxt_hdmi_pcm {
 struct bxt_card_private {
 	struct list_head hdmi_pcm_list;
 	bool common_hdmi_codec_drv;
+	int spkamp;
 };
 
 enum {
@@ -85,13 +91,20 @@ static int platform_clock_control(struct snd_soc_dapm_widget *w,
 static const struct snd_kcontrol_new broxton_controls[] = {
 	SOC_DAPM_PIN_SWITCH("Headphone Jack"),
 	SOC_DAPM_PIN_SWITCH("Headset Mic"),
+};
+
+static const struct snd_kcontrol_new max98357a_controls[] = {
 	SOC_DAPM_PIN_SWITCH("Spk"),
 };
 
+static const struct snd_kcontrol_new max98390_controls[] = {
+	SOC_DAPM_PIN_SWITCH("Left Spk"),
+	SOC_DAPM_PIN_SWITCH("Right Spk"),
+};
+
 static const struct snd_soc_dapm_widget broxton_widgets[] = {
 	SND_SOC_DAPM_HP("Headphone Jack", NULL),
 	SND_SOC_DAPM_MIC("Headset Mic", NULL),
-	SND_SOC_DAPM_SPK("Spk", NULL),
 	SND_SOC_DAPM_MIC("SoC DMIC", NULL),
 	SND_SOC_DAPM_SPK("HDMI1", NULL),
 	SND_SOC_DAPM_SPK("HDMI2", NULL),
@@ -100,14 +113,20 @@ static const struct snd_soc_dapm_widget broxton_widgets[] = {
 			platform_clock_control,	SND_SOC_DAPM_POST_PMD|SND_SOC_DAPM_PRE_PMU),
 };
 
+static const struct snd_soc_dapm_widget max98357a_widgets[] = {
+	SND_SOC_DAPM_SPK("Spk", NULL),
+};
+
+static const struct snd_soc_dapm_widget max98390_widgets[] = {
+	SND_SOC_DAPM_SPK("Left Spk", NULL),
+	SND_SOC_DAPM_SPK("Right Spk", NULL),
+};
+
 static const struct snd_soc_dapm_route audio_map[] = {
 	/* HP jack connectors - unknown if we have jack detection */
 	{"Headphone Jack", NULL, "HPL"},
 	{"Headphone Jack", NULL, "HPR"},
 
-	/* speaker */
-	{"Spk", NULL, "Speaker"},
-
 	/* other jacks */
 	{"MIC", NULL, "Headset Mic"},
 
@@ -134,6 +153,17 @@ static const struct snd_soc_dapm_route audio_map[] = {
 	{ "Headset Mic", NULL, "Platform Clock" },
 };
 
+static const struct snd_soc_dapm_route max98357a_routes[] = {
+	/* speaker */
+	{"Spk", NULL, "Speaker"},
+};
+
+static const struct snd_soc_dapm_route max98390_routes[] = {
+	/* Speaker */
+	{"Left Spk", NULL, "Left BE_OUT"},
+	{"Right Spk", NULL, "Right BE_OUT"},
+};
+
 static const struct snd_soc_dapm_route broxton_map[] = {
 	{"HiFi Playback", NULL, "ssp5 Tx"},
 	{"ssp5 Tx", NULL, "codec0_out"},
@@ -404,6 +434,10 @@ SND_SOC_DAILINK_DEF(ssp5_pin,
 SND_SOC_DAILINK_DEF(ssp5_codec,
 	DAILINK_COMP_ARRAY(COMP_CODEC("MX98357A:00",
 				      BXT_MAXIM_CODEC_DAI)));
+SND_SOC_DAILINK_DEF(max98390_codec,
+	DAILINK_COMP_ARRAY(
+	/* Left */	COMP_CODEC(MAX98390_DEV0_NAME, "max98390-aif1"),
+	/* Right */	COMP_CODEC(MAX98390_DEV1_NAME, "max98390-aif1")));
 
 SND_SOC_DAILINK_DEF(ssp1_pin,
 	DAILINK_COMP_ARRAY(COMP_CPU("SSP1 Pin")));
@@ -601,15 +635,69 @@ static struct snd_soc_dai_link broxton_dais[] = {
 	},
 };
 
+static struct snd_soc_codec_conf max98390_codec_confs[] = {
+	{
+		.dlc = COMP_CODEC_CONF(MAX98390_DEV0_NAME),
+		.name_prefix = "Left",
+	},
+	{
+		.dlc = COMP_CODEC_CONF(MAX98390_DEV1_NAME),
+		.name_prefix = "Right",
+	},
+};
+
 #define NAME_SIZE	32
 static int bxt_card_late_probe(struct snd_soc_card *card)
 {
 	struct bxt_card_private *ctx = snd_soc_card_get_drvdata(card);
 	struct bxt_hdmi_pcm *pcm;
 	struct snd_soc_component *component = NULL;
-	int err, i = 0;
+	const struct snd_kcontrol_new *controls;
+	const struct snd_soc_dapm_widget *widgets;
+	const struct snd_soc_dapm_route *routes;
+	int num_controls, num_widgets, num_routes, err, i = 0;
 	char jack_name[NAME_SIZE];
 
+	switch (ctx->spkamp) {
+	case SPKAMP_MAX98357A:
+		controls = max98357a_controls;
+		num_controls = ARRAY_SIZE(max98357a_controls);
+		widgets = max98357a_widgets;
+		num_widgets = ARRAY_SIZE(max98357a_widgets);
+		routes = max98357a_routes;
+		num_routes = ARRAY_SIZE(max98357a_routes);
+		break;
+	case SPKAMP_MAX98390:
+		controls = max98390_controls;
+		num_controls = ARRAY_SIZE(max98390_controls);
+		widgets = max98390_widgets;
+		num_widgets = ARRAY_SIZE(max98390_widgets);
+		routes = max98390_routes;
+		num_routes = ARRAY_SIZE(max98390_routes);
+		break;
+	default:
+		dev_err(card->dev, "Invalid speaker amplifier %d\n", ctx->spkamp);
+		break;
+	}
+
+	err = snd_soc_dapm_new_controls(&card->dapm, widgets, num_widgets);
+	if (err) {
+		dev_err(card->dev, "Fail to new widgets\n");
+		return err;
+	}
+
+	err = snd_soc_add_card_controls(card, controls, num_controls);
+	if (err) {
+		dev_err(card->dev, "Fail to add controls\n");
+		return err;
+	}
+
+	err = snd_soc_dapm_add_routes(&card->dapm, routes, num_routes);
+	if (err) {
+		dev_err(card->dev, "Fail to add routes\n");
+		return err;
+	}
+
 	if (soc_intel_is_glk())
 		snd_soc_dapm_add_routes(&card->dapm, gemini_map,
 					ARRAY_SIZE(gemini_map));
@@ -678,6 +766,11 @@ static int broxton_audio_probe(struct platform_device *pdev)
 
 	INIT_LIST_HEAD(&ctx->hdmi_pcm_list);
 
+	if (acpi_dev_present("MX98390", NULL, -1))
+		ctx->spkamp = SPKAMP_MAX98390;
+	else
+		ctx->spkamp = SPKAMP_MAX98357A;
+
 	broxton_audio_card.dev = &pdev->dev;
 	snd_soc_card_set_drvdata(&broxton_audio_card, ctx);
 	if (soc_intel_is_glk()) {
@@ -702,7 +795,13 @@ static int broxton_audio_probe(struct platform_device *pdev)
 	} else if (soc_intel_is_cml()) {
 		unsigned int i;
 
-		broxton_audio_card.name = "cmlda7219max";
+		if (ctx->spkamp == SPKAMP_MAX98390) {
+			broxton_audio_card.name = "cml_max98390_da7219";
+
+			broxton_audio_card.codec_conf = max98390_codec_confs;
+			broxton_audio_card.num_configs = ARRAY_SIZE(max98390_codec_confs);
+		} else
+			broxton_audio_card.name = "cmlda7219max";
 
 		for (i = 0; i < ARRAY_SIZE(broxton_dais); i++) {
 			/* MAXIM_CODEC is connected to SSP1. */
@@ -710,6 +809,11 @@ static int broxton_audio_probe(struct platform_device *pdev)
 					BXT_MAXIM_CODEC_DAI)) {
 				broxton_dais[i].name = "SSP1-Codec";
 				broxton_dais[i].cpus->dai_name = "SSP1 Pin";
+
+				if (ctx->spkamp == SPKAMP_MAX98390) {
+					broxton_dais[i].codecs = max98390_codec;
+					broxton_dais[i].num_codecs = ARRAY_SIZE(max98390_codec);
+				}
 			}
 			/* DIALOG_CODEC is connected to SSP0 */
 			else if (!strcmp(broxton_dais[i].codecs->dai_name,
@@ -759,6 +863,7 @@ MODULE_AUTHOR("Harsha Priya <harshapriya.n@intel.com>");
 MODULE_AUTHOR("Conrad Cooke <conrad.cooke@intel.com>");
 MODULE_AUTHOR("Naveen Manohar <naveen.m@intel.com>");
 MODULE_AUTHOR("Mac Chiang <mac.chiang@intel.com>");
+MODULE_AUTHOR("Brent Lu <brent.lu@intel.com>");
 MODULE_LICENSE("GPL v2");
 MODULE_ALIAS("platform:bxt_da7219_max98357a");
 MODULE_ALIAS("platform:glk_da7219_max98357a");
diff --git a/sound/soc/intel/common/soc-acpi-intel-cml-match.c b/sound/soc/intel/common/soc-acpi-intel-cml-match.c
index cdea0c0..dee1f0f 100644
--- a/sound/soc/intel/common/soc-acpi-intel-cml-match.c
+++ b/sound/soc/intel/common/soc-acpi-intel-cml-match.c
@@ -19,6 +19,11 @@ static struct snd_soc_acpi_codecs max98357a_spk_codecs = {
 	.codecs = {"MX98357A"}
 };
 
+static struct snd_soc_acpi_codecs max98390_spk_codecs = {
+	.num_codecs = 1,
+	.codecs = {"MX98390"}
+};
+
 /*
  * The order of the three entries with .id = "10EC5682" matters
  * here, because DSDT tables expose an ACPI HID for the MAX98357A
@@ -55,6 +60,14 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_cml_machines[] = {
 		.sof_fw_filename = "sof-cml.ri",
 		.sof_tplg_filename = "sof-cml-da7219-max98357a.tplg",
 	},
+	{
+		.id = "DLGS7219",
+		.drv_name = "cml_da7219_max98357a",
+		.machine_quirk = snd_soc_acpi_codec_list,
+		.quirk_data = &max98390_spk_codecs,
+		.sof_fw_filename = "sof-cml.ri",
+		.sof_tplg_filename = "sof-cml-da7219-max98357a.tplg",
+	},
 	{},
 };
 EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_cml_machines);
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 12+ messages in thread
* Re: [PATCH v2] ASoC: Intel: bxt-da7219-max98357a: support MAX98390 speaker amp
@ 2020-07-01 18:52 kernel test robot
  0 siblings, 0 replies; 12+ messages in thread
From: kernel test robot @ 2020-07-01 18:52 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 10253 bytes --]

CC: kbuild-all(a)lists.01.org
In-Reply-To: <1593596211-28344-1-git-send-email-brent.lu@intel.com>
References: <1593596211-28344-1-git-send-email-brent.lu@intel.com>
TO: Brent Lu <brent.lu@intel.com>
TO: alsa-devel(a)alsa-project.org
CC: Cezary Rojewski <cezary.rojewski@intel.com>
CC: "Pierre-Louis Bossart" <pierre-louis.bossart@linux.intel.com>
CC: Liam Girdwood <liam.r.girdwood@linux.intel.com>
CC: Jie Yang <yang.jie@linux.intel.com>
CC: Mark Brown <broonie@kernel.org>
CC: Jaroslav Kysela <perex@perex.cz>
CC: Takashi Iwai <tiwai@suse.com>
CC: Kai Vehmanen <kai.vehmanen@linux.intel.com>
CC: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>

Hi Brent,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on asoc/for-next]
[also build test WARNING on sound/for-next v5.8-rc3 next-20200701]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use  as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Brent-Lu/ASoC-Intel-bxt-da7219-max98357a-support-MAX98390-speaker-amp/20200701-174420
base:   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
:::::: branch date: 9 hours ago
:::::: commit date: 9 hours ago
config: i386-randconfig-m021-20200701 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
sound/soc/intel/boards/bxt_da7219_max98357a.c:683 bxt_card_late_probe() error: uninitialized symbol 'widgets'.
sound/soc/intel/boards/bxt_da7219_max98357a.c:683 bxt_card_late_probe() error: uninitialized symbol 'num_widgets'.
sound/soc/intel/boards/bxt_da7219_max98357a.c:689 bxt_card_late_probe() error: uninitialized symbol 'controls'.
sound/soc/intel/boards/bxt_da7219_max98357a.c:689 bxt_card_late_probe() error: uninitialized symbol 'num_controls'.
sound/soc/intel/boards/bxt_da7219_max98357a.c:695 bxt_card_late_probe() error: uninitialized symbol 'routes'.
sound/soc/intel/boards/bxt_da7219_max98357a.c:695 bxt_card_late_probe() error: uninitialized symbol 'num_routes'.

# https://github.com/0day-ci/linux/commit/27dccaf17142fa2cfe38b279782b1d72aa6dd041
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout 27dccaf17142fa2cfe38b279782b1d72aa6dd041
vim +/widgets +683 sound/soc/intel/boards/bxt_da7219_max98357a.c

27dccaf17142fa Brent Lu              2020-07-01  648  
625de2bf2ed163 Jeeja KP              2017-02-07  649  #define NAME_SIZE	32
ba210346779464 Jeeja KP              2017-01-24  650  static int bxt_card_late_probe(struct snd_soc_card *card)
ba210346779464 Jeeja KP              2017-01-24  651  {
ba210346779464 Jeeja KP              2017-01-24  652  	struct bxt_card_private *ctx = snd_soc_card_get_drvdata(card);
ba210346779464 Jeeja KP              2017-01-24  653  	struct bxt_hdmi_pcm *pcm;
4510112217116d Kuninori Morimoto     2018-01-29  654  	struct snd_soc_component *component = NULL;
27dccaf17142fa Brent Lu              2020-07-01  655  	const struct snd_kcontrol_new *controls;
27dccaf17142fa Brent Lu              2020-07-01  656  	const struct snd_soc_dapm_widget *widgets;
27dccaf17142fa Brent Lu              2020-07-01  657  	const struct snd_soc_dapm_route *routes;
27dccaf17142fa Brent Lu              2020-07-01  658  	int num_controls, num_widgets, num_routes, err, i = 0;
625de2bf2ed163 Jeeja KP              2017-02-07  659  	char jack_name[NAME_SIZE];
ba210346779464 Jeeja KP              2017-01-24  660  
27dccaf17142fa Brent Lu              2020-07-01  661  	switch (ctx->spkamp) {
27dccaf17142fa Brent Lu              2020-07-01  662  	case SPKAMP_MAX98357A:
27dccaf17142fa Brent Lu              2020-07-01  663  		controls = max98357a_controls;
27dccaf17142fa Brent Lu              2020-07-01  664  		num_controls = ARRAY_SIZE(max98357a_controls);
27dccaf17142fa Brent Lu              2020-07-01  665  		widgets = max98357a_widgets;
27dccaf17142fa Brent Lu              2020-07-01  666  		num_widgets = ARRAY_SIZE(max98357a_widgets);
27dccaf17142fa Brent Lu              2020-07-01  667  		routes = max98357a_routes;
27dccaf17142fa Brent Lu              2020-07-01  668  		num_routes = ARRAY_SIZE(max98357a_routes);
27dccaf17142fa Brent Lu              2020-07-01  669  		break;
27dccaf17142fa Brent Lu              2020-07-01  670  	case SPKAMP_MAX98390:
27dccaf17142fa Brent Lu              2020-07-01  671  		controls = max98390_controls;
27dccaf17142fa Brent Lu              2020-07-01  672  		num_controls = ARRAY_SIZE(max98390_controls);
27dccaf17142fa Brent Lu              2020-07-01  673  		widgets = max98390_widgets;
27dccaf17142fa Brent Lu              2020-07-01  674  		num_widgets = ARRAY_SIZE(max98390_widgets);
27dccaf17142fa Brent Lu              2020-07-01  675  		routes = max98390_routes;
27dccaf17142fa Brent Lu              2020-07-01  676  		num_routes = ARRAY_SIZE(max98390_routes);
27dccaf17142fa Brent Lu              2020-07-01  677  		break;
27dccaf17142fa Brent Lu              2020-07-01  678  	default:
27dccaf17142fa Brent Lu              2020-07-01  679  		dev_err(card->dev, "Invalid speaker amplifier %d\n", ctx->spkamp);
27dccaf17142fa Brent Lu              2020-07-01  680  		break;
27dccaf17142fa Brent Lu              2020-07-01  681  	}
27dccaf17142fa Brent Lu              2020-07-01  682  
27dccaf17142fa Brent Lu              2020-07-01 @683  	err = snd_soc_dapm_new_controls(&card->dapm, widgets, num_widgets);
27dccaf17142fa Brent Lu              2020-07-01  684  	if (err) {
27dccaf17142fa Brent Lu              2020-07-01  685  		dev_err(card->dev, "Fail to new widgets\n");
27dccaf17142fa Brent Lu              2020-07-01  686  		return err;
27dccaf17142fa Brent Lu              2020-07-01  687  	}
27dccaf17142fa Brent Lu              2020-07-01  688  
27dccaf17142fa Brent Lu              2020-07-01 @689  	err = snd_soc_add_card_controls(card, controls, num_controls);
27dccaf17142fa Brent Lu              2020-07-01  690  	if (err) {
27dccaf17142fa Brent Lu              2020-07-01  691  		dev_err(card->dev, "Fail to add controls\n");
27dccaf17142fa Brent Lu              2020-07-01  692  		return err;
27dccaf17142fa Brent Lu              2020-07-01  693  	}
27dccaf17142fa Brent Lu              2020-07-01  694  
27dccaf17142fa Brent Lu              2020-07-01 @695  	err = snd_soc_dapm_add_routes(&card->dapm, routes, num_routes);
27dccaf17142fa Brent Lu              2020-07-01  696  	if (err) {
27dccaf17142fa Brent Lu              2020-07-01  697  		dev_err(card->dev, "Fail to add routes\n");
27dccaf17142fa Brent Lu              2020-07-01  698  		return err;
27dccaf17142fa Brent Lu              2020-07-01  699  	}
27dccaf17142fa Brent Lu              2020-07-01  700  
536cfd2f375d36 Pierre-Louis Bossart  2019-05-30  701  	if (soc_intel_is_glk())
c011245a197017 Yong Zhi              2019-02-13  702  		snd_soc_dapm_add_routes(&card->dapm, gemini_map,
c011245a197017 Yong Zhi              2019-02-13  703  					ARRAY_SIZE(gemini_map));
c011245a197017 Yong Zhi              2019-02-13  704  	else
c011245a197017 Yong Zhi              2019-02-13  705  		snd_soc_dapm_add_routes(&card->dapm, broxton_map,
c011245a197017 Yong Zhi              2019-02-13  706  					ARRAY_SIZE(broxton_map));
c011245a197017 Yong Zhi              2019-02-13  707  
98ff5c262f27aa Guennadi Liakhovetski 2020-01-24  708  	if (list_empty(&ctx->hdmi_pcm_list))
98ff5c262f27aa Guennadi Liakhovetski 2020-01-24  709  		return -EINVAL;
98ff5c262f27aa Guennadi Liakhovetski 2020-01-24  710  
98ff5c262f27aa Guennadi Liakhovetski 2020-01-24  711  	if (ctx->common_hdmi_codec_drv) {
57ad18906f2427 Kai Vehmanen          2019-10-29  712  		pcm = list_first_entry(&ctx->hdmi_pcm_list, struct bxt_hdmi_pcm,
57ad18906f2427 Kai Vehmanen          2019-10-29  713  				       head);
57ad18906f2427 Kai Vehmanen          2019-10-29  714  		component = pcm->codec_dai->component;
57ad18906f2427 Kai Vehmanen          2019-10-29  715  		return hda_dsp_hdmi_build_controls(card, component);
98ff5c262f27aa Guennadi Liakhovetski 2020-01-24  716  	}
57ad18906f2427 Kai Vehmanen          2019-10-29  717  
ba210346779464 Jeeja KP              2017-01-24  718  	list_for_each_entry(pcm, &ctx->hdmi_pcm_list, head) {
4510112217116d Kuninori Morimoto     2018-01-29  719  		component = pcm->codec_dai->component;
625de2bf2ed163 Jeeja KP              2017-02-07  720  		snprintf(jack_name, sizeof(jack_name),
625de2bf2ed163 Jeeja KP              2017-02-07  721  			"HDMI/DP, pcm=%d Jack", pcm->device);
625de2bf2ed163 Jeeja KP              2017-02-07  722  		err = snd_soc_card_jack_new(card, jack_name,
625de2bf2ed163 Jeeja KP              2017-02-07  723  					SND_JACK_AVOUT, &broxton_hdmi[i],
625de2bf2ed163 Jeeja KP              2017-02-07  724  					NULL, 0);
625de2bf2ed163 Jeeja KP              2017-02-07  725  
625de2bf2ed163 Jeeja KP              2017-02-07  726  		if (err)
625de2bf2ed163 Jeeja KP              2017-02-07  727  			return err;
625de2bf2ed163 Jeeja KP              2017-02-07  728  
625de2bf2ed163 Jeeja KP              2017-02-07  729  		err = hdac_hdmi_jack_init(pcm->codec_dai, pcm->device,
625de2bf2ed163 Jeeja KP              2017-02-07  730  						&broxton_hdmi[i]);
ba210346779464 Jeeja KP              2017-01-24  731  		if (err < 0)
ba210346779464 Jeeja KP              2017-01-24  732  			return err;
625de2bf2ed163 Jeeja KP              2017-02-07  733  
625de2bf2ed163 Jeeja KP              2017-02-07  734  		i++;
ba210346779464 Jeeja KP              2017-01-24  735  	}
ba210346779464 Jeeja KP              2017-01-24  736  
4510112217116d Kuninori Morimoto     2018-01-29  737  	return hdac_hdmi_jack_port_init(component, &card->dapm);
ba210346779464 Jeeja KP              2017-01-24  738  }
ba210346779464 Jeeja KP              2017-01-24  739  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 41848 bytes --]

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

end of thread, other threads:[~2020-07-07 15:58 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-07-01  9:36 [PATCH v2] ASoC: Intel: bxt-da7219-max98357a: support MAX98390 speaker amp Brent Lu
2020-07-01  9:36 ` Brent Lu
2020-07-01 15:49 ` Pierre-Louis Bossart
2020-07-01 15:49   ` Pierre-Louis Bossart
2020-07-01 22:23 ` Mark Brown
2020-07-01 22:23   ` Mark Brown
2020-07-07 13:22 ` Dan Carpenter
2020-07-07 13:22   ` Dan Carpenter
2020-07-07 13:22   ` Dan Carpenter
2020-07-07 15:57   ` Pierre-Louis Bossart
2020-07-07 15:57     ` Pierre-Louis Bossart
  -- strict thread matches above, loose matches on Subject: below --
2020-07-01 18:52 kernel test robot

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.