Skip to content

Commit

Permalink
ASoC: tegra: fix Tegra30 I2S capture parameter setup
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Stephen Warren authored and Mark Brown committed Aug 15, 2013
1 parent d4e4ab8 commit c90c0d7
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion sound/soc/tegra/tegra30_i2s.c
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,7 @@ static int tegra30_i2s_hw_params(struct snd_pcm_substream *substream,
reg = TEGRA30_I2S_CIF_RX_CTRL;
} else {
val |= TEGRA30_AUDIOCIF_CTRL_DIRECTION_TX;
reg = TEGRA30_I2S_CIF_RX_CTRL;
reg = TEGRA30_I2S_CIF_TX_CTRL;
}

regmap_write(i2s->regmap, reg, val);
Expand Down

0 comments on commit c90c0d7

Please sign in to comment.