diff options
author | Sylwester Nawrocki <s.nawrocki@samsung.com> | 2018-03-09 18:48:55 +0100 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2018-03-12 19:03:13 +0100 |
commit | 995e73e55f46dcfae863d72de674447008a85887 (patch) | |
tree | 20210629deb748d709275278a411f7537c95857d /sound | |
parent | Merge branch 'topic/of' of https://git.kernel.org/pub/scm/linux/kernel/git/br... (diff) | |
download | linux-995e73e55f46dcfae863d72de674447008a85887.tar.xz linux-995e73e55f46dcfae863d72de674447008a85887.zip |
ASoC: samsung: i2s: Fix rclk_srcrate handling
As the RCLK clock may be updated through the common clk API before each
snd_soc_dai_ops::trigger call, it is not enough to update i2s->rclk_srcrate
only once after it has been initially set to 0. To avoid wrong PSR values
we always get RCLK frequency from the CLK_I2S_RCLK_SRC clock, when that
clock is available.
Fixes: e1417fdf3011 "ASoC: samsung: i2s: Ensure the RCLK rate is properly determined"
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/soc/samsung/i2s.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/soc/samsung/i2s.c b/sound/soc/samsung/i2s.c index b6407fbabdd1..f914ed45db7d 100644 --- a/sound/soc/samsung/i2s.c +++ b/sound/soc/samsung/i2s.c @@ -887,7 +887,7 @@ static int config_setup(struct i2s_dai *i2s) if (!(i2s->quirks & QUIRK_NO_MUXPSR)) { struct clk *rclksrc = i2s->clk_table[CLK_I2S_RCLK_SRC]; - if (i2s->rclk_srcrate == 0 && rclksrc && !IS_ERR(rclksrc)) + if (rclksrc && !IS_ERR(rclksrc)) i2s->rclk_srcrate = clk_get_rate(rclksrc); psr = i2s->rclk_srcrate / i2s->frmclk / rfs; |