Commit 425da159 authored by Christoph Hellwig's avatar Christoph Hellwig

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: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarTakashi Iwai <tiwai@suse.de>
parent e29ccc18
...@@ -220,13 +220,12 @@ static bool hw_support_mmap(struct snd_pcm_substream *substream) ...@@ -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 false;
#endif
return true; return true;
return dma_can_mmap(substream->dma_buffer.dev.dev);
} }
static int constrain_mask_params(struct snd_pcm_substream *substream, static int constrain_mask_params(struct snd_pcm_substream *substream,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment