ASoC: davinci-mcasp: Support for one channel (mono) audio
Mono audio can be achieved by configuring McASP to transmit/receive only during one timeslot. McASP will still going to generate clocks for the other slot(s), but will only use the single slot to transmit/receive. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
2ea659a9ef
commit
e4798d2654
1 changed files with 6 additions and 6 deletions
|
@ -629,7 +629,7 @@ static int davinci_mcasp_ch_constraint(struct davinci_mcasp *mcasp, int stream,
|
|||
if (mcasp->tdm_mask[stream])
|
||||
slots = hweight32(mcasp->tdm_mask[stream]);
|
||||
|
||||
for (i = 2; i <= slots; i++)
|
||||
for (i = 1; i <= slots; i++)
|
||||
list[count++] = i;
|
||||
|
||||
for (i = 2; i <= serializers; i++)
|
||||
|
@ -1297,7 +1297,7 @@ static int davinci_mcasp_startup(struct snd_pcm_substream *substream,
|
|||
|
||||
snd_pcm_hw_constraint_minmax(substream->runtime,
|
||||
SNDRV_PCM_HW_PARAM_CHANNELS,
|
||||
2, max_channels);
|
||||
0, max_channels);
|
||||
|
||||
snd_pcm_hw_constraint_list(substream->runtime,
|
||||
0, SNDRV_PCM_HW_PARAM_CHANNELS,
|
||||
|
@ -1459,13 +1459,13 @@ static struct snd_soc_dai_driver davinci_mcasp_dai[] = {
|
|||
.suspend = davinci_mcasp_suspend,
|
||||
.resume = davinci_mcasp_resume,
|
||||
.playback = {
|
||||
.channels_min = 2,
|
||||
.channels_min = 1,
|
||||
.channels_max = 32 * 16,
|
||||
.rates = DAVINCI_MCASP_RATES,
|
||||
.formats = DAVINCI_MCASP_PCM_FMTS,
|
||||
},
|
||||
.capture = {
|
||||
.channels_min = 2,
|
||||
.channels_min = 1,
|
||||
.channels_max = 32 * 16,
|
||||
.rates = DAVINCI_MCASP_RATES,
|
||||
.formats = DAVINCI_MCASP_PCM_FMTS,
|
||||
|
@ -1971,12 +1971,12 @@ static int davinci_mcasp_probe(struct platform_device *pdev)
|
|||
*/
|
||||
mcasp->chconstr[SNDRV_PCM_STREAM_PLAYBACK].list =
|
||||
devm_kzalloc(mcasp->dev, sizeof(unsigned int) *
|
||||
(32 + mcasp->num_serializer - 2),
|
||||
(32 + mcasp->num_serializer - 1),
|
||||
GFP_KERNEL);
|
||||
|
||||
mcasp->chconstr[SNDRV_PCM_STREAM_CAPTURE].list =
|
||||
devm_kzalloc(mcasp->dev, sizeof(unsigned int) *
|
||||
(32 + mcasp->num_serializer - 2),
|
||||
(32 + mcasp->num_serializer - 1),
|
||||
GFP_KERNEL);
|
||||
|
||||
if (!mcasp->chconstr[SNDRV_PCM_STREAM_PLAYBACK].list ||
|
||||
|
|
Loading…
Reference in a new issue