From 1f4bfd405551f411b5d92eff4d751fd40e327814 Mon Sep 17 00:00:00 2001 From: Sebastien Guiriec Date: Tue, 5 Jun 2012 21:43:46 +0200 Subject: ASoC: OMAP ABE: Split MM_EXT_IN and MM_EXT_OUT DAI links Exact stream name match is required to associate AIF widgets and BEs. Current MM_EXT backend DAI links didn't match the MM_EXT backend widgets: MM_EXT_IN (FM Capture) or MM_EXT_OUT (FM Playback), so it's required to split the original backend DAI links into two new links, one per each MM_EXT AIF widget. Signed-off-by: Sebastien Guiriec --- sound/soc/omap/omap-abe-priv.h | 3 ++- sound/soc/omap/omap-abe-twl6040.c | 42 +++++++++++++++++++++++++++++++++++---- 2 files changed, 40 insertions(+), 5 deletions(-) (limited to 'sound') diff --git a/sound/soc/omap/omap-abe-priv.h b/sound/soc/omap/omap-abe-priv.h index ec3f66e62249..c5dd844a8ee2 100644 --- a/sound/soc/omap/omap-abe-priv.h +++ b/sound/soc/omap/omap-abe-priv.h @@ -56,7 +56,8 @@ #define OMAP_ABE_BE_PDM_VIB "PDM-VIB" #define OMAP_ABE_BE_BT_VX_UL "BT-VX-UL" #define OMAP_ABE_BE_BT_VX_DL "BT-VX-DL" -#define OMAP_ABE_BE_MM_EXT0 "FM-EXT" +#define OMAP_ABE_BE_MM_EXT0_UL "FM-EXT-UL" +#define OMAP_ABE_BE_MM_EXT0_DL "FM-EXT-DL" #define OMAP_ABE_BE_MM_EXT1 "MODEM-EXT" #define OMAP_ABE_BE_DMIC0 "DMIC0" #define OMAP_ABE_BE_DMIC1 "DMIC1" diff --git a/sound/soc/omap/omap-abe-twl6040.c b/sound/soc/omap/omap-abe-twl6040.c index 6ead75fbb299..b54ed610d5fc 100644 --- a/sound/soc/omap/omap-abe-twl6040.c +++ b/sound/soc/omap/omap-abe-twl6040.c @@ -893,8 +893,8 @@ static struct snd_soc_dai_link omap_abe_dai[] = { .ignore_suspend = 1, }, { - .name = OMAP_ABE_BE_MM_EXT0, - .stream_name = "FM", + .name = OMAP_ABE_BE_MM_EXT0_DL, + .stream_name = "FM Playback", /* ABE components - MCBSP2 - MM-EXT */ .cpu_dai_name = "omap-mcbsp.2", @@ -910,6 +910,23 @@ static struct snd_soc_dai_link omap_abe_dai[] = { .be_id = OMAP_ABE_DAI_MM_FM, }, #if 0 + { + .name = OMAP_ABE_BE_MM_EXT0_UL, + .stream_name = "FM Capture", + + /* ABE components - MCBSP1 - MM-EXT */ + .cpu_dai_name = "omap-mcbsp.2", + .platform_name = "aess", + + /* FM */ + .codec_dai_name = "snd-soc-dummy-dai", + .codec_name = "snd-soc-dummy", + + .no_pcm = 1, /* don't create ALSA pcm for this */ + .be_hw_params_fixup = mcbsp_be_hw_params_fixup, + .ops = &omap_abe_mcbsp_ops, + .be_id = OMAP_ABE_DAI_MM_FM, + }, { .name = OMAP_ABE_BE_MM_EXT1, .stream_name = "MODEM", @@ -1230,8 +1247,25 @@ static struct snd_soc_dai_link omap_abe_no_dmic_dai[] = { .ignore_suspend = 1, }, { - .name = OMAP_ABE_BE_MM_EXT0, - .stream_name = "FM", + .name = OMAP_ABE_BE_MM_EXT0_DL, + .stream_name = "FM Playback", + + /* ABE components - MCBSP2 - MM-EXT */ + .cpu_dai_name = "omap-mcbsp.2", + .platform_name = "aess", + + /* FM */ + .codec_dai_name = "snd-soc-dummy-dai", + .codec_name = "snd-soc-dummy", + + .no_pcm = 1, /* don't create ALSA pcm for this */ + .be_hw_params_fixup = mcbsp_be_hw_params_fixup, + .ops = &omap_abe_mcbsp_ops, + .be_id = OMAP_ABE_DAI_MM_FM, + }, + { + .name = OMAP_ABE_BE_MM_EXT0_UL, + .stream_name = "FM Capture", /* ABE components - MCBSP2 - MM-EXT */ .cpu_dai_name = "omap-mcbsp.2", -- cgit v1.2.3