diff options
author | Francois Mazard <f-mazard@ti.com> | 2011-03-01 17:08:32 +0100 |
---|---|---|
committer | Ziyann <jaraidaniel@gmail.com> | 2014-10-01 13:00:02 +0200 |
commit | e2e72d6e42b93ffedf85dd9d6213ed9bb4f83149 (patch) | |
tree | 417c30b67ffe01c61c81938864dc75ecad7dccca /sound/soc/omap | |
parent | 2f7d53cc3edde93cd1b3672cd4f6d27314056ee4 (diff) | |
download | kernel_samsung_tuna-e2e72d6e42b93ffedf85dd9d6213ed9bb4f83149.zip kernel_samsung_tuna-e2e72d6e42b93ffedf85dd9d6213ed9bb4f83149.tar.gz kernel_samsung_tuna-e2e72d6e42b93ffedf85dd9d6213ed9bb4f83149.tar.bz2 |
ASoc: ABE VxREC: use VxREC audio back-end
VxREC is the back-end of MM_UL and MM_UL2.
VxREC back-end represents the Vx_REC input of the ROUTE_UL.
Vx_REC can be mono or stereo input even it mixes
different inputs such as Vx_UL, Vx_DL, TONES_DL and MM_DL.
This audio BE needs to start even none of its inputs
are enable. This is to avoid any cross-dependencies between
VxREC and Vx_UL, Vx_DL, TONES_DL and MM_DL that could make
userspace code much more complex.
Change-Id: Iebe8189951b9b77944f7ff8f180c7d977ecbef00
Signed-off-by: Francois Mazard <f-mazard@ti.com>
Signed-off-by: Pierre Moos <p-moos@ti.com>
Conflicts:
sound/soc/omap/sdp4430.c
Diffstat (limited to 'sound/soc/omap')
-rw-r--r-- | sound/soc/omap/omap-abe-dsp.c | 11 | ||||
-rw-r--r-- | sound/soc/omap/omap-abe-dsp.h | 5 | ||||
-rw-r--r-- | sound/soc/omap/omap-abe.h | 4 | ||||
-rwxr-xr-x | sound/soc/omap/sdp4430.c | 16 |
4 files changed, 29 insertions, 7 deletions
diff --git a/sound/soc/omap/omap-abe-dsp.c b/sound/soc/omap/omap-abe-dsp.c index 0ebe2a6..f522de3 100644 --- a/sound/soc/omap/omap-abe-dsp.c +++ b/sound/soc/omap/omap-abe-dsp.c @@ -1301,6 +1301,8 @@ static const struct snd_soc_dapm_widget abe_dapm_widgets[] = { W_AIF_DMIC1, ABE_OPP_50, 0), SND_SOC_DAPM_AIF_IN("DMIC2", "DMIC2 Capture", 0, W_AIF_DMIC2, ABE_OPP_50, 0), + SND_SOC_DAPM_AIF_IN("VXREC", "VXREC Capture", 0, + W_AIF_VXREC, ABE_OPP_50, 0), /* ROUTE_UL Capture Muxes */ SND_SOC_DAPM_MUX("MUX_UL00", @@ -1630,10 +1632,10 @@ static const struct snd_soc_dapm_route intercon[] = { {"PDM_DL2", NULL, "DL2 Mixer"}, /* VxREC Mixer */ - {"Capture Mixer", "Tones", "TONES_DL"}, - {"Capture Mixer", "Voice Playback", "VX DL VMixer"}, - {"Capture Mixer", "Voice Capture", "VX UL VMixer"}, - {"Capture Mixer", "Media Playback", "MM_DL VMixer"}, + {"Capture Mixer", "Tones", "VXREC"}, + {"Capture Mixer", "Voice Playback", "VXREC"}, + {"Capture Mixer", "Voice Capture", "VXREC"}, + {"Capture Mixer", "Media Playback", "VXREC"}, {"MM_DL VMixer", NULL, "MM_DL"}, {"MM_DL VMixer", NULL, "MM_DL_LP"}, @@ -1670,6 +1672,7 @@ static const struct snd_soc_dapm_route intercon[] = { {"DMIC0", NULL, "BE_IN"}, {"DMIC1", NULL, "BE_IN"}, {"DMIC2", NULL, "BE_IN"}, + {"VXREC", NULL, "BE_IN"}, }; #ifdef CONFIG_DEBUG_FS diff --git a/sound/soc/omap/omap-abe-dsp.h b/sound/soc/omap/omap-abe-dsp.h index 8462290..afcc052 100644 --- a/sound/soc/omap/omap-abe-dsp.h +++ b/sound/soc/omap/omap-abe-dsp.h @@ -96,6 +96,7 @@ #define W_AIF_DMIC0 ABE_WIDGET(17) #define W_AIF_DMIC1 ABE_WIDGET(18) #define W_AIF_DMIC2 ABE_WIDGET(19) +#define W_AIF_VXREC ABE_WIDGET(41) /* ABE ROUTE_UL MUX Widgets */ #define W_MUX_UL00 ABE_WIDGET(20) @@ -122,8 +123,8 @@ #define W_VSWITCH_DL1_BT_VX ABE_WIDGET(39) #define W_VSWITCH_DL1_MM_EXT ABE_WIDGET(40) -#define ABE_NUM_WIDGETS (W_VSWITCH_DL1_MM_EXT - W_AIF_TONES_DL) -#define ABE_WIDGET_LAST W_VSWITCH_DL1_MM_EXT +#define ABE_NUM_WIDGETS (W_AIF_VXREC - W_AIF_TONES_DL) +#define ABE_WIDGET_LAST W_AIF_VXREC #define ABE_NUM_DAPM_REG \ (ABE_NUM_MIXERS + ABE_NUM_MUXES + ABE_NUM_WIDGETS) diff --git a/sound/soc/omap/omap-abe.h b/sound/soc/omap/omap-abe.h index 91c5f1d..483995d 100644 --- a/sound/soc/omap/omap-abe.h +++ b/sound/soc/omap/omap-abe.h @@ -44,7 +44,8 @@ #define OMAP_ABE_DAI_DMIC0 7 #define OMAP_ABE_DAI_DMIC1 8 #define OMAP_ABE_DAI_DMIC2 9 -#define OMAP_ABE_DAI_NUM 10 +#define OMAP_ABE_DAI_VXREC 10 +#define OMAP_ABE_DAI_NUM 11 #define OMAP_ABE_BE_PDM_DL1 "PDM-DL1" #define OMAP_ABE_BE_PDM_UL1 "PDM-UL1" @@ -57,6 +58,7 @@ #define OMAP_ABE_BE_DMIC0 "DMIC0" #define OMAP_ABE_BE_DMIC1 "DMIC1" #define OMAP_ABE_BE_DMIC2 "DMIC2" +#define OMAP_ABE_BE_VXREC "VXREC" #define OMAP_ABE_DL1_NO_PDM 0 #define OMAP_ABE_DL1_HEADSET_LP 1 diff --git a/sound/soc/omap/sdp4430.c b/sound/soc/omap/sdp4430.c index ece0d24..cc09a50 100755 --- a/sound/soc/omap/sdp4430.c +++ b/sound/soc/omap/sdp4430.c @@ -924,6 +924,22 @@ static struct snd_soc_dai_link sdp4430_dai[] = { .be_id = OMAP_ABE_DAI_MODEM, .ignore_suspend = 1, }, + { + .name = OMAP_ABE_BE_VXREC, + .stream_name = "VXREC Capture", + + /* ABE components - VxREC */ + .cpu_dai_name = "omap-abe-vxrec-dai", + .platform_name = "aess", + + /* no codec needed */ + .codec_dai_name = "null-codec-dai", + + .no_pcm = 1, /* don't create ALSA pcm for this */ + .no_codec = 1, + .be_id = OMAP_ABE_DAI_VXREC, + .ignore_suspend = 1, + }, }; /* Audio machine driver */ |