ALSA: pcm - Export snd_pcm_lib_default_mmap() helper
Export the default mmap function, snd_pcm_lib_default_mmap(). The upcoming non-snooping support in HD-audio driver will use this to override the mmap method. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
a597310331
commit
18a2b96233
@ -1035,6 +1035,8 @@ static inline void snd_pcm_mmap_data_close(struct vm_area_struct *area)
|
|||||||
atomic_dec(&substream->mmap_count);
|
atomic_dec(&substream->mmap_count);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int snd_pcm_lib_default_mmap(struct snd_pcm_substream *substream,
|
||||||
|
struct vm_area_struct *area);
|
||||||
/* mmap for io-memory area */
|
/* mmap for io-memory area */
|
||||||
#if defined(CONFIG_X86) || defined(CONFIG_PPC) || defined(CONFIG_ALPHA)
|
#if defined(CONFIG_X86) || defined(CONFIG_PPC) || defined(CONFIG_ALPHA)
|
||||||
#define SNDRV_PCM_INFO_MMAP_IOMEM SNDRV_PCM_INFO_MMAP
|
#define SNDRV_PCM_INFO_MMAP_IOMEM SNDRV_PCM_INFO_MMAP
|
||||||
|
@ -3156,7 +3156,7 @@ static const struct vm_operations_struct snd_pcm_vm_ops_data_fault = {
|
|||||||
/*
|
/*
|
||||||
* mmap the DMA buffer on RAM
|
* mmap the DMA buffer on RAM
|
||||||
*/
|
*/
|
||||||
static int snd_pcm_default_mmap(struct snd_pcm_substream *substream,
|
int snd_pcm_lib_default_mmap(struct snd_pcm_substream *substream,
|
||||||
struct vm_area_struct *area)
|
struct vm_area_struct *area)
|
||||||
{
|
{
|
||||||
area->vm_flags |= VM_RESERVED;
|
area->vm_flags |= VM_RESERVED;
|
||||||
@ -3177,6 +3177,7 @@ static int snd_pcm_default_mmap(struct snd_pcm_substream *substream,
|
|||||||
area->vm_ops = &snd_pcm_vm_ops_data_fault;
|
area->vm_ops = &snd_pcm_vm_ops_data_fault;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(snd_pcm_lib_default_mmap);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* mmap the DMA buffer on I/O memory area
|
* mmap the DMA buffer on I/O memory area
|
||||||
@ -3242,7 +3243,7 @@ int snd_pcm_mmap_data(struct snd_pcm_substream *substream, struct file *file,
|
|||||||
if (substream->ops->mmap)
|
if (substream->ops->mmap)
|
||||||
err = substream->ops->mmap(substream, area);
|
err = substream->ops->mmap(substream, area);
|
||||||
else
|
else
|
||||||
err = snd_pcm_default_mmap(substream, area);
|
err = snd_pcm_lib_default_mmap(substream, area);
|
||||||
if (!err)
|
if (!err)
|
||||||
atomic_inc(&substream->mmap_count);
|
atomic_inc(&substream->mmap_count);
|
||||||
return err;
|
return err;
|
||||||
|
Loading…
Reference in New Issue
Block a user