|
@@ -95,14 +95,14 @@ static int pxa2xx_soc_pcm_new(struct snd_card *card, struct snd_soc_dai *dai,
|
|
if (!card->dev->coherent_dma_mask)
|
|
if (!card->dev->coherent_dma_mask)
|
|
card->dev->coherent_dma_mask = DMA_BIT_MASK(32);
|
|
card->dev->coherent_dma_mask = DMA_BIT_MASK(32);
|
|
|
|
|
|
- if (dai->driver->playback.channels_min) {
|
|
|
|
|
|
+ if (pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].substream) {
|
|
ret = pxa2xx_pcm_preallocate_dma_buffer(pcm,
|
|
ret = pxa2xx_pcm_preallocate_dma_buffer(pcm,
|
|
SNDRV_PCM_STREAM_PLAYBACK);
|
|
SNDRV_PCM_STREAM_PLAYBACK);
|
|
if (ret)
|
|
if (ret)
|
|
goto out;
|
|
goto out;
|
|
}
|
|
}
|
|
|
|
|
|
- if (dai->driver->capture.channels_min) {
|
|
|
|
|
|
+ if (pcm->streams[SNDRV_PCM_STREAM_CAPTURE].substream) {
|
|
ret = pxa2xx_pcm_preallocate_dma_buffer(pcm,
|
|
ret = pxa2xx_pcm_preallocate_dma_buffer(pcm,
|
|
SNDRV_PCM_STREAM_CAPTURE);
|
|
SNDRV_PCM_STREAM_CAPTURE);
|
|
if (ret)
|
|
if (ret)
|