diff options
author | Misael Lopez Cruz <misael.lopez@ti.com> | 2011-06-17 18:32:11 -0500 |
---|---|---|
committer | Simon Wilson <simonwilson@google.com> | 2011-06-24 11:36:51 -0700 |
commit | a4efc1ed3c597f92a89263ab8f2d3d0811f5a69e (patch) | |
tree | d1375cc71504c4adc4da43117b8b768f104ad9e3 | |
parent | 423e9b22881254b91b6262620d6b7054fbbb8976 (diff) | |
download | kernel_samsung_tuna-a4efc1ed3c597f92a89263ab8f2d3d0811f5a69e.zip kernel_samsung_tuna-a4efc1ed3c597f92a89263ab8f2d3d0811f5a69e.tar.gz kernel_samsung_tuna-a4efc1ed3c597f92a89263ab8f2d3d0811f5a69e.tar.bz2 |
ASoC: ABE DAI: Call modem trigger in bespoke_trigger()
Modem DAI is a special case because requires explicit ALSA PCM
calls to the DAI associated with the serial port (e.g. McBSP).
The trigger() call was missing and the serial port was not
initiating any transfer.
Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
-rw-r--r-- | sound/soc/omap/omap-abe.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/sound/soc/omap/omap-abe.c b/sound/soc/omap/omap-abe.c index 8113131..b644e4e 100644 --- a/sound/soc/omap/omap-abe.c +++ b/sound/soc/omap/omap-abe.c @@ -1000,14 +1000,30 @@ static int omap_abe_dai_trigger(struct snd_pcm_substream *substream, static int omap_abe_dai_bespoke_trigger(struct snd_pcm_substream *substream, int cmd, struct snd_soc_dai *dai) { + struct omap_abe_data *abe_priv = snd_soc_dai_get_drvdata(dai); + int ret = 0; + dev_dbg(dai->dev, "%s: %s cmd %d\n", __func__, dai->name, cmd); + if (dai->id == ABE_FRONTEND_DAI_MODEM) { + + dev_dbg(abe_priv->modem_dai->dev, "%s: MODEM stream %d cmd %d\n", + __func__, substream->stream, cmd); + + ret = snd_soc_dai_trigger(abe_priv->modem_substream[substream->stream], + cmd, abe_priv->modem_dai); + if (ret < 0) { + dev_err(abe_priv->modem_dai->dev, "MODEM trigger failed\n"); + return ret; + } + } + if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) playback_trigger(substream, dai, cmd); else capture_trigger(substream, dai, cmd); - return 0; + return ret; } static int omap_abe_dai_hw_free(struct snd_pcm_substream *substream, |