summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorStephen Warren <swarren@nvidia.com>2013-08-14 14:24:16 -0600
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-08-20 08:43:04 -0700
commite54f0e6c230d511f3159a6e773ab5f790c548390 (patch)
tree2c5c6b22976f719f8baacc01111e801ffe0da2cc /sound
parent6b907d955284264b28692338e9a10fa3586704c6 (diff)
downloadlinux-3.10-e54f0e6c230d511f3159a6e773ab5f790c548390.tar.gz
linux-3.10-e54f0e6c230d511f3159a6e773ab5f790c548390.tar.bz2
linux-3.10-e54f0e6c230d511f3159a6e773ab5f790c548390.zip
ASoC: tegra: fix Tegra30 I2S capture parameter setup
commit c90c0d7a96e634a73ef1580f1d20993606545647 upstream. 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. Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Mark Brown <broonie@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/tegra/tegra30_i2s.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/soc/tegra/tegra30_i2s.c b/sound/soc/tegra/tegra30_i2s.c
index 31d092d83c7..a5432b10eac 100644
--- a/sound/soc/tegra/tegra30_i2s.c
+++ b/sound/soc/tegra/tegra30_i2s.c
@@ -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);