Message ID | 20171014122213.7769-1-hdegoede@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 10/14/17 7:22 AM, Hans de Goede wrote: > Just like on Bay Trail the codec mclk is also controlled by the common > clk framework as pmc_plt_clk_3 on Cherry Trail and the cht-bsw-rt5645 > needs to control it so that it has the right frequency and gets > en/disabled as appropriate. This is already merged by Mark, I submitted this change a couple of weeks ago. > > This fixes the sound crackling (like a bonfire) when the clock was not > set up properly before Linux boots and turns the clock off when not in > use saving power. > > BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=196351 > Signed-off-by: Hans de Goede <hdegoede@redhat.com> > --- > sound/soc/intel/boards/cht_bsw_rt5645.c | 14 ++++++-------- > 1 file changed, 6 insertions(+), 8 deletions(-) > > diff --git a/sound/soc/intel/boards/cht_bsw_rt5645.c b/sound/soc/intel/boards/cht_bsw_rt5645.c > index 5bcde01d15e6..d553e2b67c92 100644 > --- a/sound/soc/intel/boards/cht_bsw_rt5645.c > +++ b/sound/soc/intel/boards/cht_bsw_rt5645.c > @@ -682,14 +682,12 @@ static int snd_cht_mc_probe(struct platform_device *pdev) > cht_rt5645_cpu_dai_name; > } > > - if (is_valleyview()) { > - drv->mclk = devm_clk_get(&pdev->dev, "pmc_plt_clk_3"); > - if (IS_ERR(drv->mclk)) { > - dev_err(&pdev->dev, > - "Failed to get MCLK from pmc_plt_clk_3: %ld\n", > - PTR_ERR(drv->mclk)); > - return PTR_ERR(drv->mclk); > - } > + drv->mclk = devm_clk_get(&pdev->dev, "pmc_plt_clk_3"); > + if (IS_ERR(drv->mclk)) { > + dev_err(&pdev->dev, > + "Failed to get MCLK from pmc_plt_clk_3: %ld\n", > + PTR_ERR(drv->mclk)); > + return PTR_ERR(drv->mclk); > } > > snd_soc_card_set_drvdata(card, drv); >
diff --git a/sound/soc/intel/boards/cht_bsw_rt5645.c b/sound/soc/intel/boards/cht_bsw_rt5645.c index 5bcde01d15e6..d553e2b67c92 100644 --- a/sound/soc/intel/boards/cht_bsw_rt5645.c +++ b/sound/soc/intel/boards/cht_bsw_rt5645.c @@ -682,14 +682,12 @@ static int snd_cht_mc_probe(struct platform_device *pdev) cht_rt5645_cpu_dai_name; } - if (is_valleyview()) { - drv->mclk = devm_clk_get(&pdev->dev, "pmc_plt_clk_3"); - if (IS_ERR(drv->mclk)) { - dev_err(&pdev->dev, - "Failed to get MCLK from pmc_plt_clk_3: %ld\n", - PTR_ERR(drv->mclk)); - return PTR_ERR(drv->mclk); - } + drv->mclk = devm_clk_get(&pdev->dev, "pmc_plt_clk_3"); + if (IS_ERR(drv->mclk)) { + dev_err(&pdev->dev, + "Failed to get MCLK from pmc_plt_clk_3: %ld\n", + PTR_ERR(drv->mclk)); + return PTR_ERR(drv->mclk); } snd_soc_card_set_drvdata(card, drv);
Just like on Bay Trail the codec mclk is also controlled by the common clk framework as pmc_plt_clk_3 on Cherry Trail and the cht-bsw-rt5645 needs to control it so that it has the right frequency and gets en/disabled as appropriate. This fixes the sound crackling (like a bonfire) when the clock was not set up properly before Linux boots and turns the clock off when not in use saving power. BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=196351 Signed-off-by: Hans de Goede <hdegoede@redhat.com> --- sound/soc/intel/boards/cht_bsw_rt5645.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-)