diff options
author | Nelson Victor Cruz Hernandez <nelson.v.cruz.hernandez@intel.com> | 2015-09-29 07:20:51 -0500 |
---|---|---|
committer | Mihai Serban <mihai.serban@intel.com> | 2016-01-07 17:54:54 +0200 |
commit | 875095b97f092405a154c72ec9b7fa811e7587c8 (patch) | |
tree | 78e5199553e2918f120bee9f67d99d5c965363c8 | |
parent | ee8e6ffcbf71bc467e472996282d8f0652d03270 (diff) | |
download | minnowboard-v3.14-875095b97f092405a154c72ec9b7fa811e7587c8.tar.gz |
ASoC:Intel:BYT: Enables Deep buffer feature
Add deep buffer DAI link to the machine driver.
Additionally enables mixers in DAPM matrix.
Change-Id: I15e4fe9a34b89007efdf4dd378fed9bbff8ae440
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-4150
Signed-off-by: Nelson Victor Cruz Hernandez <nelson.v.cruz.hernandez@intel.com>
Signed-off-by: Francisco Mendez <francisco.mendez@intel.com>
-rw-r--r-- | arch/x86/include/asm/platform_byt_audio.h | 1 | ||||
-rw-r--r-- | sound/soc/intel/board/byt_cr_dpcm_rt5640.c | 12 | ||||
-rw-r--r-- | sound/soc/intel/platform-libs/controls_v2_dpcm.c | 5 | ||||
-rw-r--r-- | sound/soc/intel/sst/sst_platform.c | 2 |
4 files changed, 20 insertions, 0 deletions
diff --git a/arch/x86/include/asm/platform_byt_audio.h b/arch/x86/include/asm/platform_byt_audio.h index 29ebc2f5f6e..74d31575c94 100644 --- a/arch/x86/include/asm/platform_byt_audio.h +++ b/arch/x86/include/asm/platform_byt_audio.h @@ -14,6 +14,7 @@ enum { BYT_DPCM_AUDIO = 0, + BYT_DPCM_DB, BYT_DPCM_VOIP, }; diff --git a/sound/soc/intel/board/byt_cr_dpcm_rt5640.c b/sound/soc/intel/board/byt_cr_dpcm_rt5640.c index edeaa858127..27a3b0ea7cf 100644 --- a/sound/soc/intel/board/byt_cr_dpcm_rt5640.c +++ b/sound/soc/intel/board/byt_cr_dpcm_rt5640.c @@ -914,6 +914,18 @@ static struct snd_soc_dai_link byt_dailink[] = { .dynamic = 1, .ops = &byt_aif1_ops, }, + [BYT_DPCM_DB] = { + .name = "Baytrail DB Audio Port", + .stream_name = "Deep Buffer Audio", + .cpu_dai_name = "Deepbuffer-cpu-dai", + .codec_dai_name = "snd-soc-dummy-dai", + .codec_name = "snd-soc-dummy", + .platform_name = "sst-platform", + .ignore_suspend = 1, + .dynamic = 1, + .ops = &byt_aif1_ops, + .dpcm_playback = 1, + }, [BYT_DPCM_VOIP] = { .name = "Baytrail VOIP Port", .stream_name = "Baytrail Voip", diff --git a/sound/soc/intel/platform-libs/controls_v2_dpcm.c b/sound/soc/intel/platform-libs/controls_v2_dpcm.c index b70cc2fcd2c..7a017443b4e 100644 --- a/sound/soc/intel/platform-libs/controls_v2_dpcm.c +++ b/sound/soc/intel/platform-libs/controls_v2_dpcm.c @@ -1809,11 +1809,16 @@ static const struct snd_soc_dapm_widget sst_dapm_widgets[] = { static const struct snd_soc_dapm_route intercon[] = { {"media1_in", NULL, "Headset Playback"}, {"media2_in", NULL, "pcm0_out"}, + {"media3_in", NULL, "Deepbuffer Playback"}, + {"media0_out mix 0", "media0_in", "media0_in"}, {"media0_out mix 0", "media1_in", "media1_in"}, {"media0_out mix 0", "media2_in", "media2_in"}, + {"media0_out mix 0", "media3_in", "media3_in"}, + {"media1_out mix 0", "media0_in", "media0_in"}, {"media1_out mix 0", "media1_in", "media1_in"}, {"media1_out mix 0", "media2_in", "media2_in"}, + {"media1_out mix 0", "media3_in", "media3_in"}, {"media0_out", NULL, "media0_out mix 0"}, {"media1_out", NULL, "media1_out mix 0"}, diff --git a/sound/soc/intel/sst/sst_platform.c b/sound/soc/intel/sst/sst_platform.c index bc009aab7f2..0083d7c3fed 100644 --- a/sound/soc/intel/sst/sst_platform.c +++ b/sound/soc/intel/sst/sst_platform.c @@ -31,6 +31,8 @@ static struct sst_dev_stream_map dpcm_strm_map_byt[] = { {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, /* Reserved, not in use */ {BYT_DPCM_AUDIO, 0, SNDRV_PCM_STREAM_PLAYBACK, PIPE_MEDIA1_IN, SST_TASK_ID_MEDIA, SST_DEV_MAP_IN_USE}, + {BYT_DPCM_DB, 0, SNDRV_PCM_STREAM_PLAYBACK, PIPE_MEDIA3_IN, + SST_TASK_ID_MEDIA, SST_DEV_MAP_IN_USE}, {BYT_DPCM_VOIP, 0, SNDRV_PCM_STREAM_PLAYBACK, PIPE_VOIP_IN, SST_TASK_ID_MEDIA, SST_DEV_MAP_IN_USE}, {BYT_DPCM_AUDIO, 0, SNDRV_PCM_STREAM_CAPTURE, PIPE_PCM1_OUT, |