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

Commit 927cdab3 authored by Takashi Iwai's avatar Takashi Iwai
Browse files

Merge tag 'asoc-v3.15-rc5-core' of...

Merge tag 'asoc-v3.15-rc5-core' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus

ASoC: Core fixes for v3.15

A few things here:

 - Fix the creation of spurious CODEC<->CODEC links which caused DAPM to
   have audio paths which shouldn't be present causing spurious powerups
   and potential audible issues for users.
 - Ensure the suspend->off transition doesn't have spurious transitions
   to prepare added to the sequence.
 - Fix incorrect skipping of PCM suspension for active audio streams.
 - Remove Timur Tabi from the CS4270 maintainers, Cirrus are now doing
   this and Timur no longer has the boards that he was using.
parents 7189eb9b cf86197e
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -2245,12 +2245,6 @@ L: linux-usb@vger.kernel.org
S:	Maintained
F:	drivers/usb/host/ohci-ep93xx.c

CIRRUS LOGIC CS4270 SOUND DRIVER
M:	Timur Tabi <timur@tabi.org>
L:	alsa-devel@alsa-project.org (moderated for non-subscribers)
S:	Odd Fixes
F:	sound/soc/codecs/cs4270*

CIRRUS LOGIC AUDIO CODEC DRIVERS
M:	Brian Austin <brian.austin@cirrus.com>
M:	Paul Handrigan <Paul.Handrigan@cirrus.com>
+10 −4
Original line number Diff line number Diff line
@@ -1612,8 +1612,11 @@ static void dapm_pre_sequence_async(void *data, async_cookie_t cookie)
				"ASoC: Failed to turn on bias: %d\n", ret);
	}

	/* Prepare for a STADDBY->ON or ON->STANDBY transition */
	if (d->bias_level != d->target_bias_level) {
	/* Prepare for a transition to ON or away from ON */
	if ((d->target_bias_level == SND_SOC_BIAS_ON &&
	     d->bias_level != SND_SOC_BIAS_ON) ||
	    (d->target_bias_level != SND_SOC_BIAS_ON &&
	     d->bias_level == SND_SOC_BIAS_ON)) {
		ret = snd_soc_dapm_set_bias_level(d, SND_SOC_BIAS_PREPARE);
		if (ret != 0)
			dev_err(d->dev,
@@ -3475,8 +3478,11 @@ void snd_soc_dapm_connect_dai_link_widgets(struct snd_soc_card *card)
		cpu_dai = rtd->cpu_dai;
		codec_dai = rtd->codec_dai;

		/* dynamic FE links have no fixed DAI mapping */
		if (rtd->dai_link->dynamic)
		/*
		 * dynamic FE links have no fixed DAI mapping.
		 * CODEC<->CODEC links have no direct connection.
		 */
		if (rtd->dai_link->dynamic || rtd->dai_link->params)
			continue;

		/* there is no point in connecting BE DAI links with dummies */
+1 −1
Original line number Diff line number Diff line
@@ -1675,7 +1675,7 @@ int dpcm_be_dai_trigger(struct snd_soc_pcm_runtime *fe, int stream,
			be->dpcm[stream].state = SND_SOC_DPCM_STATE_STOP;
			break;
		case SNDRV_PCM_TRIGGER_SUSPEND:
			if (be->dpcm[stream].state != SND_SOC_DPCM_STATE_STOP)
			if (be->dpcm[stream].state != SND_SOC_DPCM_STATE_START)
				continue;

			if (!snd_soc_dpcm_can_be_free_stop(fe, be, stream))