From 61559b25ba6578cc4c02e2f83641469cf7f6fdcc Mon Sep 17 00:00:00 2001 From: Sugar Zhang Date: Mon, 10 Aug 2020 18:00:23 +0800 Subject: [PATCH] ASoC: rockchip: i2s: Set clk rate when master mode There is no need to set clk for slave mode. Change-Id: I3004cea42cd1ce2a093502c13ca77e984964efc8 Signed-off-by: Sugar Zhang --- sound/soc/rockchip/rockchip_i2s_tdm.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/sound/soc/rockchip/rockchip_i2s_tdm.c b/sound/soc/rockchip/rockchip_i2s_tdm.c index 7c59d54d8d8e..993169701692 100644 --- a/sound/soc/rockchip/rockchip_i2s_tdm.c +++ b/sound/soc/rockchip/rockchip_i2s_tdm.c @@ -749,14 +749,6 @@ static int rockchip_i2s_tdm_hw_params(struct snd_pcm_substream *substream, unsigned int val = 0; unsigned int mclk_rate, bclk_rate, div_bclk, div_lrck; - if (i2s_tdm->mclk_calibrate) - rockchip_i2s_tdm_calibrate_mclk(i2s_tdm, substream, - params_rate(params)); - - ret = rockchip_i2s_tdm_set_mclk(i2s_tdm, substream, &mclk); - if (ret) - return ret; - if (i2s_tdm->clk_trcm) { spin_lock(&i2s_tdm->lock); if (atomic_read(&i2s_tdm->refcount)) @@ -764,6 +756,14 @@ static int rockchip_i2s_tdm_hw_params(struct snd_pcm_substream *substream, } if (i2s_tdm->is_master_mode) { + if (i2s_tdm->mclk_calibrate) + rockchip_i2s_tdm_calibrate_mclk(i2s_tdm, substream, + params_rate(params)); + + ret = rockchip_i2s_tdm_set_mclk(i2s_tdm, substream, &mclk); + if (ret) + goto err; + mclk_rate = clk_get_rate(mclk); bclk_rate = i2s_tdm->bclk_fs * params_rate(params); if (!bclk_rate) {