linux/sound/soc
Jie Yang 35c0a8c017 ASoC: Intel: Fix block is enabled multiple times issue
During FW parsing and loading, block_list_prepare() may
be called for each raw data block copying and this may
made the hsw_block_enable() called mutiple times, which
increase block->users many times. The result of this is
hsw_block_disable() can't power gated the related block
when trying to free the blocks during suspend, and the
power gating status also confused.

Here check the block user status, only calling enable()
for those blocks who has no user yet. Remember that
this works correctlly on current case, where there are
enough SRAM memory so different module won't share a
memory block. For further usage, we may need restructure
the struct sst_mem_block to save the module list who is
using it.

Signed-off-by: Jie Yang <yang.jie@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2014-10-30 13:41:22 +00:00
..
adi
atmel Merge remote-tracking branches 'asoc/topic/atmel', 'asoc/topic/cirrus' and 'asoc/topic/cleanup' into asoc-next 2014-08-04 16:31:29 +01:00
au1x MIPS: Alchemy: remove au_read/write/sync 2014-07-30 13:56:34 +02:00
bcm
blackfin ASoC: blackfin: use samples to set silence 2014-07-17 12:27:56 +01:00
cirrus Merge remote-tracking branch 'asoc/topic/cirrus' into asoc-next 2014-03-13 14:19:11 +00:00
codecs Changes to existing drivers: 2014-10-15 06:58:16 +02:00
davinci Merge remote-tracking branches 'asoc/topic/davinci', 'asoc/topic/dmic', 'asoc/topic/drivers', 'asoc/topic/es8328' and 'asoc/topic/fsl' into asoc-next 2014-10-06 12:48:57 +01:00
dwc ASoC: Update email id of the author 2014-09-09 10:49:41 +01:00
fsl Merge remote-tracking branches 'asoc/fix/88pm860x', 'asoc/fix/fsl', 'asoc/fix/imx', 'asoc/fix/mc13783', 'asoc/fix/rockchip' and 'asoc/fix/simple' into asoc-linus 2014-10-08 16:44:50 +01:00
generic ASoC: simple-card: Initialize headphone and mic GPIO numbers 2014-10-07 18:24:01 +01:00
intel ASoC: Intel: Fix block is enabled multiple times issue 2014-10-30 13:41:22 +00: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: kirkwood: Remove ARCH_KIRKWOOD dependency 2014-07-29 20:35:23 +01:00
mxs
nuc900 ASoC: nuc900: export nuc900_ac97_data 2014-04-30 20:32:20 -07:00
omap Merge remote-tracking branch 'asoc/topic/component' into asoc-next 2014-10-06 12:48:51 +01:00
pxa Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma 2014-10-18 18:11:04 -07:00
rockchip ASoC: rockchip-i2s: fix infinite loop in rockchip_snd_txctrl 2014-10-08 12:29:38 +01:00
s6000 ASoC: s6105-ipcam: Fix build for I2C dependencies 2014-07-05 18:00:34 +01:00
samsung Merge remote-tracking branches 'asoc/topic/rt5645', 'asoc/topic/rt5677', 'asoc/topic/samsung', 'asoc/topic/sgtl5000' and 'asoc/topic/sh' into asoc-next 2014-10-06 12:49:03 +01:00
sh Merge remote-tracking branches 'asoc/topic/rt5645', 'asoc/topic/rt5677', 'asoc/topic/samsung', 'asoc/topic/sgtl5000' and 'asoc/topic/sh' into asoc-next 2014-10-06 12:49:03 +01:00
sirf ASoC: sirf: usp: Add bitclock inversion support 2014-08-16 17:06:42 -05:00
spear ASoC: Update email id of the author 2014-09-09 10:49:41 +01:00
tegra Merge remote-tracking branches 'asoc/topic/suspend', 'asoc/topic/tas2552', 'asoc/topic/tegra', 'asoc/topic/tlv320aic31xx' and 'asoc/topic/tlv320aic3x' into asoc-next 2014-10-06 12:49:07 +01:00
txx9 ASoC: txx9: Don't opencode DMAengine API calls 2014-08-19 11:44:18 -05:00
ux500 ASoC: mop500_ab8500: Replace instances of rtd->codec->card with rtd->card 2014-05-20 22:55:39 +01:00
Kconfig ASoC: add driver for Rockchip RK3xxx I2S controller 2014-07-09 09:39:29 +02:00
Makefile ASoC: add driver for Rockchip RK3xxx I2S controller 2014-07-09 09:39:29 +02:00
soc-cache.c ASoC: Move name and id from CODEC/platform to component 2014-06-21 21:04:24 +01:00
soc-compress.c ASoC: soc-compress: fix double unlock of fe card mutex 2014-09-24 11:38:55 +01:00
soc-core.c Merge remote-tracking branch 'asoc/fix/core' into asoc-linus 2014-10-08 16:44:49 +01:00
soc-dapm.c ASoC: soc-dapm: fix use after free 2014-10-07 13:11:35 +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: Consolidate platform and CODEC probe/remove 2014-08-19 10:59:45 -05:00
soc-io.c ASoC: Automatically initialize regmap for all components 2014-08-19 10:59:47 -05:00
soc-jack.c ASoC: Move card field form platform/codec to component 2014-07-22 23:15:57 +01:00
soc-pcm.c Merge remote-tracking branch 'asoc/fix/core' into asoc-linus 2014-10-08 16:44:49 +01:00
soc-utils.c