Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b8e0be79 authored by Takashi Iwai's avatar Takashi Iwai
Browse files

Merge tag 'asoc-v4.20-rc4' of...

Merge tag 'asoc-v4.20-rc4' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus

ASoC: Fixes for v4.20

Lots of fixes here, the majority of which are driver specific but
there's a couple of core things and one notable driver specific one:

 - A core fix for a DAPM regression introduced during the component
   refactoring, we'd lost the code that forced a reevaluation of the
   DAPM graph after probe (which we suppress during init to save lots
   of recalcuation) and have now restored it.
 - A core fix for error handling using the newly added
   for_each_rtd_codec_dai_rollback() macro.
 - A fix for the names of widgets in the newly introduced pcm3060
   driver, merged as a fix so we don't have a release with legacy names.
parents 1078bef0 ffdcc363
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -13915,6 +13915,7 @@ S: Supported
F:	Documentation/devicetree/bindings/sound/
F:	Documentation/sound/soc/
F:	sound/soc/
F:	include/dt-bindings/sound/
F:	include/sound/soc*

SOUNDWIRE SUBSYSTEM
+1 −1
Original line number Diff line number Diff line
@@ -1192,7 +1192,7 @@ struct snd_soc_pcm_runtime {
	     ((i) < rtd->num_codecs) && ((dai) = rtd->codec_dais[i]); \
	     (i)++)
#define for_each_rtd_codec_dai_rollback(rtd, i, dai)		\
	for (; ((i--) >= 0) && ((dai) = rtd->codec_dais[i]);)
	for (; ((--i) >= 0) && ((dai) = rtd->codec_dais[i]);)


/* mixer control */
+5 −6
Original line number Diff line number Diff line
@@ -2187,11 +2187,6 @@ static int hdac_hdmi_runtime_suspend(struct device *dev)
	 */
	snd_hdac_codec_read(hdev, hdev->afg, 0,	AC_VERB_SET_POWER_STATE,
							AC_PWRST_D3);
	err = snd_hdac_display_power(bus, false);
	if (err < 0) {
		dev_err(dev, "Cannot turn on display power on i915\n");
		return err;
	}

	hlink = snd_hdac_ext_bus_get_link(bus, dev_name(dev));
	if (!hlink) {
@@ -2201,7 +2196,11 @@ static int hdac_hdmi_runtime_suspend(struct device *dev)

	snd_hdac_ext_bus_link_put(bus, hlink);

	return 0;
	err = snd_hdac_display_power(bus, false);
	if (err < 0)
		dev_err(dev, "Cannot turn off display power on i915\n");

	return err;
}

static int hdac_hdmi_runtime_resume(struct device *dev)
+1 −1
Original line number Diff line number Diff line
@@ -139,7 +139,7 @@ enum pcm186x_type {
#define PCM186X_MAX_REGISTER		PCM186X_CURR_TRIM_CTRL

/* PCM186X_PAGE */
#define PCM186X_RESET			0xff
#define PCM186X_RESET			0xfe

/* PCM186X_ADCX_INPUT_SEL_X */
#define PCM186X_ADC_INPUT_SEL_POL	BIT(7)
+4 −8
Original line number Diff line number Diff line
@@ -198,20 +198,16 @@ static const struct snd_kcontrol_new pcm3060_dapm_controls[] = {
};

static const struct snd_soc_dapm_widget pcm3060_dapm_widgets[] = {
	SND_SOC_DAPM_OUTPUT("OUTL+"),
	SND_SOC_DAPM_OUTPUT("OUTR+"),
	SND_SOC_DAPM_OUTPUT("OUTL-"),
	SND_SOC_DAPM_OUTPUT("OUTR-"),
	SND_SOC_DAPM_OUTPUT("OUTL"),
	SND_SOC_DAPM_OUTPUT("OUTR"),

	SND_SOC_DAPM_INPUT("INL"),
	SND_SOC_DAPM_INPUT("INR"),
};

static const struct snd_soc_dapm_route pcm3060_dapm_map[] = {
	{ "OUTL+", NULL, "Playback" },
	{ "OUTR+", NULL, "Playback" },
	{ "OUTL-", NULL, "Playback" },
	{ "OUTR-", NULL, "Playback" },
	{ "OUTL", NULL, "Playback" },
	{ "OUTR", NULL, "Playback" },

	{ "Capture", NULL, "INL" },
	{ "Capture", NULL, "INR" },
Loading