diff options
author | Gary Zhang <b13634@freescale.com> | 2012-07-11 10:15:42 +0800 |
---|---|---|
committer | Terry Lv <r65388@freescale.com> | 2012-07-25 13:10:49 +0800 |
commit | 30293bc62550ebc14bb3848c5f9c326f7e792e69 (patch) | |
tree | 191701d86dfebe8f777c24963e460cab51a30381 /sound | |
parent | d53c7d0707ffc5b594b725e5140c880fc409f20e (diff) |
ENGR00209905 WM8962: support for continuously playback diff sample bit streams
support for continuously playback different sample bit audio
streams with -Dplughw:0,0 option
such as the command: 'aplay -Dplughw:0,0 16bit.wav 24bit.wav'
before prohibit reenter hw_params, now remove this limitation
to support this feature.
Signed-off-by: Gary Zhang <b13634@freescale.com>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/soc/codecs/wm8962.c | 6 | ||||
-rw-r--r-- | sound/soc/imx/imx-wm8962.c | 7 |
2 files changed, 2 insertions, 11 deletions
diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c index 2f5ce28d70a0..190720ec029d 100644 --- a/sound/soc/codecs/wm8962.c +++ b/sound/soc/codecs/wm8962.c @@ -3159,9 +3159,6 @@ static int wm8962_hw_params(struct snd_pcm_substream *substream, int aif0 = 0; int adctl3 = 0; - if (codec->dapm.bias_level != SND_SOC_BIAS_OFF) - return 0; - wm8962->bclk = snd_soc_params_to_bclk(params); if (params_channels(params) == 1) wm8962->bclk *= 2; @@ -3463,9 +3460,6 @@ static int wm8962_set_fll(struct snd_soc_codec *codec, int fll_id, int source, if (fll_div.theta || fll_div.lambda) fll1 |= WM8962_FLL_FRAC; - /* Stop the FLL while we reconfigure */ - snd_soc_update_bits(codec, WM8962_FLL_CONTROL_1, WM8962_FLL_ENA, 0); - snd_soc_update_bits(codec, WM8962_FLL_CONTROL_2, WM8962_FLL_OUTDIV_MASK | WM8962_FLL_REFCLK_DIV_MASK, diff --git a/sound/soc/imx/imx-wm8962.c b/sound/soc/imx/imx-wm8962.c index aa3122f6d765..76299a659b41 100644 --- a/sound/soc/imx/imx-wm8962.c +++ b/sound/soc/imx/imx-wm8962.c @@ -98,9 +98,6 @@ static int imx_hifi_hw_params(struct snd_pcm_substream *substream, u32 dai_format; unsigned int pll_out; - if (codec->dapm.bias_level != SND_SOC_BIAS_OFF) - return 0; - dai_format = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBM_CFM; @@ -128,8 +125,8 @@ static int imx_hifi_hw_params(struct snd_pcm_substream *substream, else pll_out = sample_rate * 256; - ret = snd_soc_dai_set_pll(codec_dai, WM8962_FLL_MCLK, - WM8962_FLL_MCLK, priv->sysclk, + ret = snd_soc_dai_set_pll(codec_dai, WM8962_FLL_OSC, + WM8962_FLL_OSC, priv->sysclk, pll_out); if (ret < 0) pr_err("Failed to start FLL: %d\n", ret); |