ALSA: pcm: use dma_can_mmap() to check if a device supports dma_mmap_*

Replace the local hack with the dma_can_mmap helper to check if
a given device supports mapping DMA allocations to userspace.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Christoph Hellwig 2019-08-03 13:31:59 +03:00
parent e29ccc188f
commit 425da15970
1 changed files with 6 additions and 7 deletions

View File

@ -220,13 +220,12 @@ static bool hw_support_mmap(struct snd_pcm_substream *substream)
{ {
if (!(substream->runtime->hw.info & SNDRV_PCM_INFO_MMAP)) if (!(substream->runtime->hw.info & SNDRV_PCM_INFO_MMAP))
return false; return false;
/* architecture supports dma_mmap_coherent()? */
#if defined(CONFIG_ARCH_NO_COHERENT_DMA_MMAP) || !defined(CONFIG_HAS_DMA) if (substream->ops->mmap ||
if (!substream->ops->mmap && substream->dma_buffer.dev.type != SNDRV_DMA_TYPE_DEV)
substream->dma_buffer.dev.type == SNDRV_DMA_TYPE_DEV) return true;
return false;
#endif return dma_can_mmap(substream->dma_buffer.dev.dev);
return true;
} }
static int constrain_mask_params(struct snd_pcm_substream *substream, static int constrain_mask_params(struct snd_pcm_substream *substream,