aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMisael Lopez Cruz <misael.lopez@ti.com>2011-06-17 18:32:11 -0500
committerSimon Wilson <simonwilson@google.com>2011-06-24 11:36:51 -0700
commita4efc1ed3c597f92a89263ab8f2d3d0811f5a69e (patch)
treed1375cc71504c4adc4da43117b8b768f104ad9e3
parent423e9b22881254b91b6262620d6b7054fbbb8976 (diff)
downloadkernel_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.c18
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,