linux/sound/soc/samsung
Tushar Behera d66eac3e2b ASoC: samsung: Don't clear clock setting during i2s_startup
In exiting kernel, if DAIFMT flags are set in dai_link and I2S is
set to run in master mode, the I2S clocks are not getting configured
resulting in no output.

Existing code clears the current I2S clock settings during i2s_startup
and requires that the clocks are reconfigured. It then assumes that
sound-card driver would call snd_soc_dai_{set_sysclk/set_fmt} to
configure the root clock.

1. Since I2S clock settings remain fixed for a board, it would be better
to set the clocks once during sound-card probe.

2. Also if the DAIFMT flags are set in dai_link, snd_soc_dai_set_fmt is
called during DAI probe.

If both these conditions are true, then I2S clock remains unconfigured
during audio playback. Fix this by removing the code to clear
rclk_srcrate in i2s_startup. Instead, reset this during DAI probe.

Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-23 12:30:12 +01:00
..
ac97.c ASoC: samsung: Fix build on multiplatform 2014-04-08 12:51:57 +01:00
bells.c ASoC: bells: Add missing route to power up DSP clock 2013-09-17 00:43:09 +01:00
dma.c ASoC: samsung: Don't set unused struct snd_pcm_hardware fields 2013-12-30 13:57:17 +00:00
dma.h ASoC: samsung: Fix build on multiplatform 2014-04-08 12:51:57 +01:00
dmaengine.c ASoC: samsung: Remove SND_DMAENGINE_PCM_FLAG_NO_RESIDUE flag 2014-01-14 21:28:39 +00:00
goni_wm8994.c ASoC: switch over to use snd_soc_register_component() on goni_wm8994 2013-03-26 21:57:42 +00:00
h1940_uda1380.c ASoC: h1940_uda1380: Don't modify runtime->hw 2014-02-03 18:41:59 +00:00
i2s-regs.h ASoC: Samsung: I2S: Modify the I2S driver to support I2S on Exynos5420 2013-08-13 13:44:09 +01:00
i2s.c ASoC: samsung: Don't clear clock setting during i2s_startup 2014-04-23 12:30:12 +01:00
i2s.h ASoC: samsung: Rename samsung i2s secondary device name 2013-01-24 14:40:13 +08:00
idma.c ASoC: samsung: Don't set unused struct snd_pcm_hardware fields 2013-12-30 13:57:17 +00:00
idma.h ASoC: Fix __iomem annotation for IDMA registers 2011-11-29 17:28:16 +00:00
jive_wm8750.c ASoC: Samsung: Do not register samsung audio dma device as pdev 2012-12-07 19:36:07 +09:00
Kconfig Merge remote-tracking branches 'asoc/topic/da7213', 'asoc/topic/da732x', 'asoc/topic/da9055', 'asoc/topic/davinci', 'asoc/topic/fsl', 'asoc/topic/fsl-esai', 'asoc/topic/fsl-sai' and 'asoc/topic/fsl-spdif' into asoc-next 2014-03-12 23:04:22 +00:00
littlemill.c ASoC: Samsung: remove __dev* attributes 2012-12-10 00:30:19 +09:00
ln2440sbc_alc650.c ASoC: Samsung: Do not register samsung audio dma device as pdev 2012-12-07 19:36:07 +09:00
lowland.c ASoC: Samsung: remove __dev* attributes 2012-12-10 00:30:19 +09:00
Makefile ASoC: samsung: Use ASoC dmaengine code where possible 2013-12-12 00:29:00 +00:00
neo1973_wm8753.c ASoC: neo1973_wm8753: Convert to table based setup 2014-03-03 10:35:04 +09:00
pcm.c ASoC: samsung: Fix build on multiplatform 2014-04-08 12:51:57 +01:00
pcm.h
regs-ac97.h ASoC: samsung: Trivial cleanups in header files 2013-12-30 12:05:56 +00:00
regs-i2s-v2.h
regs-iis.h ASoC: samsung: Trivial cleanups in header files 2013-12-30 12:05:56 +00:00
rx1950_uda1380.c ASoC: rx1950_uda1380: Don't modify runtime->hw 2014-02-03 18:42:02 +00:00
s3c24xx_simtec_hermes.c ASoC: Samsung: remove __dev* attributes 2012-12-10 00:30:19 +09:00
s3c24xx_simtec_tlv320aic23.c ASoC: Samsung: remove __dev* attributes 2012-12-10 00:30:19 +09:00
s3c24xx_simtec.c ASoC: Samsung: remove __dev* attributes 2012-12-10 00:30:19 +09:00
s3c24xx_simtec.h
s3c24xx_uda134x.c ASoC: samsung: move plat/ headers to local directory 2013-04-11 18:17:38 +01:00
s3c24xx-i2s.c ASoC: samsung: Fix build on multiplatform 2014-04-08 12:51:57 +01:00
s3c24xx-i2s.h
s3c2412-i2s.c ASoC: samsung: Fix build on multiplatform 2014-04-08 12:51:57 +01:00
s3c2412-i2s.h
s3c-i2s-v2.c ASoC: Samsung: s3c-i2s-v2: Fix build error 2014-01-22 17:13:45 +00:00
s3c-i2s-v2.h ASoC: switch over to use snd_soc_register_component() on s3c i2s 2013-03-26 21:57:31 +00:00
smartq_wm8987.c ASoC: samsung: Fix build regressions due to gpio re-org 2014-01-22 17:13:45 +00:00
smdk2443_wm9710.c ASoC: Samsung: Do not register samsung audio dma device as pdev 2012-12-07 19:36:07 +09:00
smdk_spdif.c ASoC: Samsung: Do not register samsung audio dma device as pdev 2012-12-07 19:36:07 +09:00
smdk_wm8580.c ASoC: samsung: Rename samsung i2s secondary device name 2013-01-24 14:40:13 +08:00
smdk_wm8580pcm.c ASoC: Samsung: Remove redundant platform_set_drvdata() 2013-05-12 20:49:13 +04:00
smdk_wm8994.c ASoC: smdk_wm8994: Fix typo "wm8894" 2014-02-11 16:39:36 +00:00
smdk_wm8994pcm.c ASoC: Samsung: Remove redundant platform_set_drvdata() 2013-05-12 20:49:13 +04:00
smdk_wm9713.c ASoC: Samsung: Do not register samsung audio dma device as pdev 2012-12-07 19:36:07 +09:00
spdif.c ASoC: samsung: Fix build on multiplatform 2014-04-08 12:51:57 +01:00
spdif.h
speyside.c ASoC: Samsung: remove __dev* attributes 2012-12-10 00:30:19 +09:00
tobermory.c ASoC: tobermory: Stop the FLL if we fail to switch SYSCLK to it 2014-02-11 16:39:32 +00:00