Commit c90c0d7a96e634a73ef1580f1d20993606545647

Authored by Stephen Warren
Committed by Mark Brown
1 parent d4e4ab86bc

ASoC: tegra: fix Tegra30 I2S capture parameter setup

The Tegra30 I2S driver was writing the AHUB interface parameters to the
playback path register rather than the capture path register. This
caused the capture parameters not to be configured at all, so if
capturing using non-HW-default parameters (e.g. 16-bit stereo rather
than 8-bit mono) the audio would be corrupted.

With this fixed, audio capture from an analog microphone works correctly
on the Cardhu board.

Cc: stable@vger.kernel.org
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Mark Brown <broonie@linaro.org>

Showing 1 changed file with 1 additions and 1 deletions Side-by-side Diff

sound/soc/tegra/tegra30_i2s.c
... ... @@ -228,7 +228,7 @@
228 228 reg = TEGRA30_I2S_CIF_RX_CTRL;
229 229 } else {
230 230 val |= TEGRA30_AUDIOCIF_CTRL_DIRECTION_TX;
231   - reg = TEGRA30_I2S_CIF_RX_CTRL;
  231 + reg = TEGRA30_I2S_CIF_TX_CTRL;
232 232 }
233 233  
234 234 regmap_write(i2s->regmap, reg, val);