]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
ASoC: rt5640: Set PLL src according to source
authorBard Liao <bardliao@realtek.com>
Mon, 7 Mar 2016 07:09:37 +0000 (15:09 +0800)
committerMark Brown <broonie@kernel.org>
Mon, 7 Mar 2016 07:39:38 +0000 (14:39 +0700)
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>
sound/soc/codecs/rt5640.c

index 6cd84fb2196a47149d9686c1ed36f62548309352..863c190c5076dd5ea3cd55763cbe5786ef98e3fc 100644 (file)
@@ -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);