linux/sound/soc
Jarkko Nikula b80d19c166 ASoC: Intel: Restore Baytrail ADSP streams only when ADSP was in reset
There is no need to restore and restart PCM streams in case ADSP didn't
reach reset and power off state during system suspend/resume cycle. In that
case stream is still active but paused and firmware doesn't allow allocating
a new stream before paused stream is freed.

ADSP remains active in case suspend sequence didn't go to suspend_late
stage. This can happen when either suspend sequence is aborted by a wakeup
or by letting only devices suspend by "echo devices >/sys/power/pm_test".

Currently stream restoring fails in these suspend cases. Fix this by adding
a flag that indicates is complete stream reinitialization needed or is it
enough to resume paused stream. Flag is set when we know that ADSP reached
suspend_late.

Initial fix to this issue came from Fang Yang. I modified it a little and
forward ported it to top of two other suspend/resume patches from me.

Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Tested-by: Borun Fu <borun.fu@intel.com>
Cc: yang fang <yang.a.fang@intel.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-08-11 13:40:24 +01:00
..
adi ASoC: axi-{spdif,i2s}: Remove SND_DMAENGINE_PCM_FLAG_NO_RESIDUE flag 2014-01-14 21:28:39 +00:00
atmel sound updates for 3.16-rc1 2014-06-04 09:08:25 -07:00
au1x ASoC: au1x: Don't set unused struct snd_pcm_hardware fields 2013-12-21 14:23:20 +00:00
bcm ASoC: bcm: Remove obsoleted Kconfig dependency 2014-01-08 20:00:04 +00:00
blackfin ASoC: Blackfin: ADAU1X81 eval board support 2014-05-27 20:54:51 +01:00
cirrus Merge remote-tracking branch 'asoc/topic/cirrus' into asoc-next 2014-03-13 14:19:11 +00:00
codecs Merge remote-tracking branches 'asoc/topic/wm8804' and 'asoc/topic/wm9713' into asoc-next 2014-06-03 10:40:00 +01:00
davinci Merge remote-tracking branches 'asoc/topic/omap' and 'asoc/topic/rcar' into asoc-next 2014-06-03 10:39:53 +01:00
dwc
fsl Merge remote-tracking branch 'asoc/topic/fsl-ssi' into asoc-next 2014-06-03 10:39:49 +01:00
generic ASoC: simple-card: Support setting mclk via a fixed factor 2014-05-26 14:29:30 +01:00
intel ASoC: Intel: Restore Baytrail ADSP streams only when ADSP was in reset 2014-08-11 13:40:24 +01:00
jz4740 Merge remote-tracking branches 'asoc/topic/headers', 'asoc/topic/intel', 'asoc/topic/jz4740', 'asoc/topic/max98090', 'asoc/topic/max98095', 'asoc/topic/mc13783' and 'asoc/topic/multicodec' into asoc-next 2014-05-22 00:23:54 +01:00
kirkwood ASoC: Remove needless snd_soc_dapm_enable_pin() from machine driver inits 2014-05-19 17:19:18 +01:00
mxs Merge remote-tracking branches 'asoc/topic/adsp', 'asoc/topic/atmel', 'asoc/topic/bcm2835', 'asoc/topic/docs', 'asoc/topic/fsl', 'asoc/topic/generic', 'asoc/topic/kirkwood', 'asoc/topic/mc13783', 'asoc/topic/mxs', 'asoc/topic/nuc900', 'asoc/topic/sai', 'asoc/topic/sh', 'asoc/topic/ssm2602', 'asoc/topic/tlv320aic3x', 'asoc/topic/twl4030', 'asoc/topic/ux500', 'asoc/topic/width' and 'asoc/topic/x86' into for-tiwai 2014-01-16 12:44:01 +00:00
nuc900 ASoC: nuc900: export nuc900_ac97_data 2014-04-30 20:32:20 -07:00
omap ASoC: Fix wrong argument for card remove callbacks 2014-06-03 12:52:21 +02:00
pxa ASoC: Fix wrong argument for card remove callbacks 2014-06-03 12:52:21 +02:00
s6000 ASoC: s6105-ipcam: Convert to table based DAPM setup 2014-03-13 11:43:30 +00:00
samsung ASoC: Fix wrong argument for card remove callbacks 2014-06-03 12:52:21 +02:00
sh Merge remote-tracking branches 'asoc/topic/omap' and 'asoc/topic/rcar' into asoc-next 2014-06-03 10:39:53 +01:00
sirf ASoC: sirf: Move the tx rx enable from port to codec, that will not need register sharing 2014-04-14 17:28:17 +01:00
spear ASoC: spear: spdif_out: Fix mute control 2014-03-10 17:43:15 +00:00
tegra Merge remote-tracking branch 'asoc/topic/tegra' into asoc-next 2014-06-03 10:39:59 +01:00
txx9 ASoC: txx9aclc_ac97: Fix kernel crash on probe 2014-02-16 08:36:40 +08:00
ux500 ASoC: mop500_ab8500: Replace instances of rtd->codec->card with rtd->card 2014-05-20 22:55:39 +01:00
Kconfig ASoC: sirf: Add SiRF audio port driver is used by SiRF internal audio codec 2014-03-06 17:20:08 +08:00
Makefile ASoC: sirf: Add SiRF audio port driver is used by SiRF internal audio codec 2014-03-06 17:20:08 +08:00
soc-cache.c ASoC: cache: Fix error code when not using ASoC level cache 2014-06-02 16:08:21 +01:00
soc-compress.c ASoC: compress: indent an if statement 2014-05-14 16:15:03 +01:00
soc-core.c Merge remote-tracking branches 'asoc/topic/rt5651', 'asoc/topic/samsung', 'asoc/topic/sgtl5000', 'asoc/topic/sh', 'asoc/topic/simple', 'asoc/topic/sirf', 'asoc/topic/sta350' and 'asoc/topic/tlv320dac33' into asoc-next 2014-05-22 00:24:00 +01:00
soc-dapm.c Merge remote-tracking branch 'asoc/topic/dapm' into asoc-next 2014-05-22 00:23:42 +01:00
soc-devres.c ASoC: Export devm_snd_soc_register_platform() 2014-04-22 22:00:42 +01:00
soc-generic-dmaengine-pcm.c ASoC: core: Fix possible NULL pointer dereference of pcm->config 2014-01-16 14:11:49 +00:00
soc-io.c ASoC: Remove ASoC level IO tracing 2014-04-22 13:24:24 +01:00
soc-jack.c ASoC: jack: Add support for GPIO descriptor defined jack pins 2014-05-26 15:26:00 +01:00
soc-pcm.c Merge remote-tracking branches 'asoc/topic/headers', 'asoc/topic/intel', 'asoc/topic/jz4740', 'asoc/topic/max98090', 'asoc/topic/max98095', 'asoc/topic/mc13783' and 'asoc/topic/multicodec' into asoc-next 2014-05-22 00:23:54 +01:00
soc-utils.c Merge remote-tracking branch 'asoc/topic/dapm' into for-tiwai 2014-01-16 12:42:53 +00:00