summaryrefslogtreecommitdiff
path: root/sound/soc/tegra/tegra30_i2s.c
diff options
context:
space:
mode:
authorNikesh Oswal <noswal@nvidia.com>2011-12-28 14:26:51 +0530
committerVarun Wadekar <vwadekar@nvidia.com>2011-12-30 10:48:00 +0530
commit440d5168436588fd72b74092cfd4aef0740c079f (patch)
tree06baa4dac4716a06ff5a4b3df15e4e709b97a28f /sound/soc/tegra/tegra30_i2s.c
parent891fb3bb263ca324e2324153dcf8d566120ae834 (diff)
asoc: tegra: handling of i2s capture in voice call recording
stop the enabling/disabling of i2s capture from i2s dai in voice call recording usecase because this would be handled by the voice call management functions and also add parameters for voice call record usecase in i2s structures. Bug: 912897 Change-Id: I9df117300121218fe7f258fd8c79092ab3e1f8e1 Signed-off-by: Nikesh Oswal <noswal@nvidia.com> Reviewed-on: http://git-master/r/72352 Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com> Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
Diffstat (limited to 'sound/soc/tegra/tegra30_i2s.c')
-rw-r--r--sound/soc/tegra/tegra30_i2s.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/sound/soc/tegra/tegra30_i2s.c b/sound/soc/tegra/tegra30_i2s.c
index f540e4bb11d3..c1de635765a5 100644
--- a/sound/soc/tegra/tegra30_i2s.c
+++ b/sound/soc/tegra/tegra30_i2s.c
@@ -432,15 +432,19 @@ static void tegra30_i2s_stop_playback(struct tegra30_i2s *i2s)
static void tegra30_i2s_start_capture(struct tegra30_i2s *i2s)
{
tegra30_ahub_enable_rx_fifo(i2s->rxcif);
- i2s->reg_ctrl |= TEGRA30_I2S_CTRL_XFER_EN_RX;
- tegra30_i2s_write(i2s, TEGRA30_I2S_CTRL, i2s->reg_ctrl);
+ if (!i2s->is_call_mode_rec) {
+ i2s->reg_ctrl |= TEGRA30_I2S_CTRL_XFER_EN_RX;
+ tegra30_i2s_write(i2s, TEGRA30_I2S_CTRL, i2s->reg_ctrl);
+ }
}
static void tegra30_i2s_stop_capture(struct tegra30_i2s *i2s)
{
tegra30_ahub_disable_rx_fifo(i2s->rxcif);
- i2s->reg_ctrl &= ~TEGRA30_I2S_CTRL_XFER_EN_RX;
- tegra30_i2s_write(i2s, TEGRA30_I2S_CTRL, i2s->reg_ctrl);
+ if (!i2s->is_call_mode_rec) {
+ i2s->reg_ctrl &= ~TEGRA30_I2S_CTRL_XFER_EN_RX;
+ tegra30_i2s_write(i2s, TEGRA30_I2S_CTRL, i2s->reg_ctrl);
+ }
}
static int tegra30_i2s_trigger(struct snd_pcm_substream *substream, int cmd,