ASoc: Intel: Atom: add deep buffer definitions for atom platforms
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Fri, 18 Dec 2015 02:35:44 +0000 (20:35 -0600)
committerMark Brown <broonie@kernel.org>
Sat, 19 Dec 2015 11:49:56 +0000 (11:49 +0000)
Add definitions for MERR_DPCM_DEEP_BUFFER AND PIPE_MEDIA3_IN
Add relevant cpu-dai and dai link names

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
arch/x86/include/asm/platform_sst_audio.h
sound/soc/intel/atom/sst-atom-controls.c
sound/soc/intel/atom/sst-atom-controls.h
sound/soc/intel/atom/sst-mfld-platform-pcm.c

index 7249e6d0902da572fe635cf9a7af35d72cec62f4..5973a2f3db3d709dabc0c88171aecf6f65c4466a 100644 (file)
@@ -55,6 +55,7 @@ enum sst_audio_device_id_mrfld {
        PIPE_MEDIA0_IN = 0x8F,
        PIPE_MEDIA1_IN = 0x90,
        PIPE_MEDIA2_IN = 0x91,
+       PIPE_MEDIA3_IN = 0x9C,
        PIPE_RSVD = 0xFF,
 };
 
index d55388e082e18189b71693bacf3994fdc6372a7c..1727cc4c7f8a7b556a4cc6f50d3dd12b513e1f65 100644 (file)
@@ -1109,6 +1109,7 @@ static const struct snd_soc_dapm_route intercon[] = {
        {"media0_in", NULL, "Compress Playback"},
        {"media1_in", NULL, "Headset Playback"},
        {"media2_in", NULL, "pcm0_out"},
+       {"media3_in", NULL, "Deepbuffer Playback"},
 
        {"media0_out mix 0", "media0_in Switch", "media0_in"},
        {"media0_out mix 0", "media1_in Switch", "media1_in"},
index 93de8045d4e1ad2062e0c57f487dc1e2e1456fbb..e0113112f668d8c8d8a2fe8692b87d85d92181af 100644 (file)
@@ -28,6 +28,7 @@
 
 enum {
        MERR_DPCM_AUDIO = 0,
+       MERR_DPCM_DEEP_BUFFER,
        MERR_DPCM_COMPR,
 };
 
index 8e475e8232057f9e60febacdb7af7bb07d6be054..60b73b7eed0fd701c6c842f9784afd1df67a0a52 100644 (file)
@@ -98,6 +98,7 @@ static struct sst_dev_stream_map dpcm_strm_map[] = {
        {MERR_DPCM_AUDIO, 0, SNDRV_PCM_STREAM_PLAYBACK, PIPE_MEDIA1_IN, SST_TASK_ID_MEDIA, 0},
        {MERR_DPCM_COMPR, 0, SNDRV_PCM_STREAM_PLAYBACK, PIPE_MEDIA0_IN, SST_TASK_ID_MEDIA, 0},
        {MERR_DPCM_AUDIO, 0, SNDRV_PCM_STREAM_CAPTURE, PIPE_PCM1_OUT, SST_TASK_ID_MEDIA, 0},
+       {MERR_DPCM_DEEP_BUFFER, 0, SNDRV_PCM_STREAM_PLAYBACK, PIPE_MEDIA3_IN, SST_TASK_ID_MEDIA, 0},
 };
 
 static int sst_media_digital_mute(struct snd_soc_dai *dai, int mute, int stream)
@@ -510,6 +511,17 @@ static struct snd_soc_dai_driver sst_platform_dai[] = {
                .formats = SNDRV_PCM_FMTBIT_S16_LE,
        },
 },
+{
+       .name = "deepbuffer-cpu-dai",
+       .ops = &sst_media_dai_ops,
+       .playback = {
+               .stream_name = "Deepbuffer Playback",
+               .channels_min = SST_STEREO,
+               .channels_max = SST_STEREO,
+               .rates = SNDRV_PCM_RATE_44100|SNDRV_PCM_RATE_48000,
+               .formats = SNDRV_PCM_FMTBIT_S16_LE,
+       },
+},
 {
        .name = "compress-cpu-dai",
        .compress_new = snd_soc_new_compress,