|
@@ -831,7 +831,6 @@ static u64 davinci_pcm_dmamask = 0xffffffff;
|
|
|
static int davinci_pcm_new(struct snd_soc_pcm_runtime *rtd)
|
|
|
{
|
|
|
struct snd_card *card = rtd->card->snd_card;
|
|
|
- struct snd_soc_dai *dai = rtd->cpu_dai;
|
|
|
struct snd_pcm *pcm = rtd->pcm;
|
|
|
int ret;
|
|
|
|
|
@@ -840,7 +839,7 @@ static int davinci_pcm_new(struct snd_soc_pcm_runtime *rtd)
|
|
|
if (!card->dev->coherent_dma_mask)
|
|
|
card->dev->coherent_dma_mask = 0xffffffff;
|
|
|
|
|
|
- if (dai->driver->playback.channels_min) {
|
|
|
+ if (pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].substream) {
|
|
|
ret = davinci_pcm_preallocate_dma_buffer(pcm,
|
|
|
SNDRV_PCM_STREAM_PLAYBACK,
|
|
|
pcm_hardware_playback.buffer_bytes_max);
|
|
@@ -848,7 +847,7 @@ static int davinci_pcm_new(struct snd_soc_pcm_runtime *rtd)
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
- if (dai->driver->capture.channels_min) {
|
|
|
+ if (pcm->streams[SNDRV_PCM_STREAM_CAPTURE].substream) {
|
|
|
ret = davinci_pcm_preallocate_dma_buffer(pcm,
|
|
|
SNDRV_PCM_STREAM_CAPTURE,
|
|
|
pcm_hardware_capture.buffer_bytes_max);
|