diff options
author | Bard Liao <bardliao@realtek.com> | 2016-03-07 08:09:37 +0100 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2016-03-07 08:39:38 +0100 |
commit | c467fc0e010b66069c0d5bb3e8e869adf267115f (patch) | |
tree | b47a331193cdd284b557bd6c2238490b6ce551f4 | |
parent | ASoC: rt5640: add master clock handling for rt5640 (diff) | |
download | linux-c467fc0e010b66069c0d5bb3e8e869adf267115f.tar.xz linux-c467fc0e010b66069c0d5bb3e8e869adf267115f.zip |
ASoC: rt5640: Set PLL src according to source
rt5640_set_dai_pll set pll source according to given source and
dai id. However, the pll source should be set according to given
source only.
Signed-off-by: Jack Yu <jack.yu@realtek.com>
Signed-off-by: Bard Liao <bardliao@realtek.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r-- | sound/soc/codecs/rt5640.c | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/sound/soc/codecs/rt5640.c b/sound/soc/codecs/rt5640.c index 6cd84fb2196a..863c190c5076 100644 --- a/sound/soc/codecs/rt5640.c +++ b/sound/soc/codecs/rt5640.c @@ -1902,21 +1902,12 @@ static int rt5640_set_dai_pll(struct snd_soc_dai *dai, int pll_id, int source, RT5640_PLL1_SRC_MASK, RT5640_PLL1_SRC_MCLK); break; case RT5640_PLL1_S_BCLK1: + snd_soc_update_bits(codec, RT5640_GLB_CLK, + RT5640_PLL1_SRC_MASK, RT5640_PLL1_SRC_BCLK1); + break; case RT5640_PLL1_S_BCLK2: - dai_sel = get_sdp_info(codec, dai->id); - if (dai_sel < 0) { - dev_err(codec->dev, - "Failed to get sdp info: %d\n", dai_sel); - return -EINVAL; - } - if (dai_sel & RT5640_U_IF1) { - snd_soc_update_bits(codec, RT5640_GLB_CLK, - RT5640_PLL1_SRC_MASK, RT5640_PLL1_SRC_BCLK1); - } - if (dai_sel & RT5640_U_IF2) { - snd_soc_update_bits(codec, RT5640_GLB_CLK, - RT5640_PLL1_SRC_MASK, RT5640_PLL1_SRC_BCLK2); - } + snd_soc_update_bits(codec, RT5640_GLB_CLK, + RT5640_PLL1_SRC_MASK, RT5640_PLL1_SRC_BCLK2); break; default: dev_err(codec->dev, "Unknown PLL source %d\n", source); |