diff options
Diffstat (limited to 'sound')
-rw-r--r-- | sound/soc/tegra/tegra30_i2s.c | 4 |
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"); |