summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorVinod G <vinodg@nvidia.com>2011-05-20 18:39:52 -0700
committerNiket Sirsi <nsirsi@nvidia.com>2011-07-07 12:19:53 -0700
commit696378cdf4647e45c0af7608f4293a8bdb56470a (patch)
tree221023112767ec38f3b331dc2a7698f67ec36cd5 /sound
parent5ba9e86ceebcff712a959225879b802e47274662 (diff)
arm: tegra: use DAM for playback path
DAM rx1 is used for playback path. DAM is added as default so for voicecall no need to teardown the existing connection that is being used. Needed for bug 804696 Change-Id: Iba4cec350595a32dfd71ede9e224620ebe84b1ba Reviewed-on: http://git-master/r/38676 Reviewed-by: Ravindra Lokhande <rlokhande@nvidia.com> Tested-by: Ravindra Lokhande <rlokhande@nvidia.com> Reviewed-by: Niket Sirsi <nsirsi@nvidia.com> Tested-by: Niket Sirsi <nsirsi@nvidia.com>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/tegra/tegra_spdif.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/sound/soc/tegra/tegra_spdif.c b/sound/soc/tegra/tegra_spdif.c
index 10a8abe630dc..84f36120f4c3 100644
--- a/sound/soc/tegra/tegra_spdif.c
+++ b/sound/soc/tegra/tegra_spdif.c
@@ -160,7 +160,38 @@ static int tegra_spdif_hw_params(struct snd_pcm_substream *substream,
return -EINVAL;
}
+ fmt.samplerate = val;
+
+ switch (params_channels(params)) {
+ case 1:
+ val = AUDIO_CHANNEL_1;
+ break;
+ case 2:
+ val = AUDIO_CHANNEL_2;
+ break;
+ case 3:
+ val = AUDIO_CHANNEL_3;
+ break;
+ case 4:
+ val = AUDIO_CHANNEL_4;
+ break;
+ case 5:
+ val = AUDIO_CHANNEL_5;
+ break;
+ case 6:
+ val = AUDIO_CHANNEL_6;
+ break;
+ case 7:
+ val = AUDIO_CHANNEL_7;
+ break;
+ case 8:
+ val = AUDIO_CHANNEL_8;
+ break;
+ default:
+ return -EINVAL;
+ }
fmt.channels = val;
+
fmt.buffersize = params_period_bytes(params);
am_set_stream_format(&info->spdev_info, &fmt);