summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/tegra/tegra30_i2s.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/soc/tegra/tegra30_i2s.c b/sound/soc/tegra/tegra30_i2s.c
index 9a0ed5a762ed..02d1038ea36e 100644
--- a/sound/soc/tegra/tegra30_i2s.c
+++ b/sound/soc/tegra/tegra30_i2s.c
@@ -338,6 +338,10 @@ static int tegra30_i2s_hw_params(struct snd_pcm_substream *substream,
} else {
i2sclock = srate * params_channels(params) * sample_size;
+ /* Additional "* 2" is needed for FSYNC mode */
+ if (i2s->reg_ctrl & TEGRA30_I2S_CTRL_FRAME_FORMAT_FSYNC)
+ i2sclock *= 2;
+
ret = clk_set_rate(i2s->clk_i2s_sync, i2sclock);
if (ret) {
dev_err(dev, "Can't set I2S sync clock rate\n");