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. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJTc1qXAAoJELSic+t+oim9rQsP/0plEA4KmnSUAD5l+LnFLZVI l4PrbTM9BrjdNpGk/dn0yeF9xAmKvlEa6hcclhPMSF5QIVWUxK5wiNZ4ZN1W64as VQsh9XHnD0AHSCD1v7ugz3vh4bvDk2cQkQUsJb9CS4Eh4Dgt1T2bjk74K3AnUBCV 3yDkGW+15Yumo7WW8TKB1Qd7fIsuo95qua+caC1btnFz2VLWkdWixZ5D/t7tp4G2 SriITNMqUF6gT0RWCue9sDKyfMkCN8tIOh5mvckHEYWLC5/pSgi7zKabDulUayS9 GgG8mQIto49LL6NmzeyzBsDlf8Gk0O50BZOrEHvHQWw4dMiQ6ml8NTTxuz6oynzE k/b1aBUlnOf7wFHA1ILIgAHq3rMah9+/XVkxnHqPBxmP9IgIZoL//rc3DwCtqMbs CiIgHOPONdfiHtxMPJwCiBNqfQKDCerYVq4dmZTwU3m99Zn1keFKSZ2dcEWJK02S s3kQlYQ6sStpGjPrlrDbS7UcNtX+pqSI2c46GXHHRsLZbAAhHe2kwQ2y/Iry0ntc eh1ztL8FLZylEiXmYWjC2Sx5azKOhWVMJGdlKBbX3CNtxFTKzG0NXwHjXJXH72Y3 Zm8SS9lK4uuJz4IKr7k2RHXETxFb1vdFlijYN5VvkGmYBoGo69G/dFDv6QAg0Ow/ ANnqLBtrgKir3q49T2YQ =s9u3 -----END PGP SIGNATURE----- Merge tag 'asoc-v3.15-rc5-core' into asoc-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. # gpg: Signature made Wed 14 May 2014 12:59:19 BST using RSA key ID 7EA229BD # gpg: Good signature from "Mark Brown <broonie@sirena.org.uk>" # gpg: aka "Mark Brown <broonie@debian.org>" # gpg: aka "Mark Brown <broonie@kernel.org>" # gpg: aka "Mark Brown <broonie@tardis.ed.ac.uk>" # gpg: aka "Mark Brown <broonie@linaro.org>" # gpg: aka "Mark Brown <Mark.Brown@linaro.org>"
This commit is contained in:
Коммит
266bd275b9
|
@ -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>
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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))
|
||||
|
|
Загрузка…
Ссылка в новой задаче