diff options
author | Takashi Iwai <tiwai@suse.de> | 2008-06-17 16:39:06 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-07-08 14:20:20 +0200 |
commit | cc6a8acdeee932f6911d8b236d2c7d6bcc4616f6 (patch) | |
tree | ebaadf1a406cf073fd4ce59d5f1f20d499f9cde1 /sound/core/pcm_memory.c | |
parent | 8e4a718ff38d8539938ec3421935904c27e00c39 (diff) | |
download | talos-obmc-linux-cc6a8acdeee932f6911d8b236d2c7d6bcc4616f6.tar.gz talos-obmc-linux-cc6a8acdeee932f6911d8b236d2c7d6bcc4616f6.zip |
ALSA: Fix SG-buffer DMA with non-coherent architectures
Using SG-buffers with dma_alloc_coherent() is often very inefficient
on non-coherent architectures because a tracking record could be
allocated in addition for each dma_alloc_coherent() call.
Instead, simply disable SG-buffers but just allocate normal continuous
buffers on non-supported (currently all but x86) architectures.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/core/pcm_memory.c')
-rw-r--r-- | sound/core/pcm_memory.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/core/pcm_memory.c b/sound/core/pcm_memory.c index a6d42808828c..caa7796bc2f5 100644 --- a/sound/core/pcm_memory.c +++ b/sound/core/pcm_memory.c @@ -304,6 +304,7 @@ int snd_pcm_lib_preallocate_pages_for_all(struct snd_pcm *pcm, EXPORT_SYMBOL(snd_pcm_lib_preallocate_pages_for_all); +#ifdef CONFIG_SND_DMA_SGBUF /** * snd_pcm_sgbuf_ops_page - get the page struct at the given offset * @substream: the pcm substream instance @@ -349,6 +350,7 @@ unsigned int snd_pcm_sgbuf_get_chunk_size(struct snd_pcm_substream *substream, return size; } EXPORT_SYMBOL(snd_pcm_sgbuf_get_chunk_size); +#endif /* CONFIG_SND_DMA_SGBUF */ /** * snd_pcm_lib_malloc_pages - allocate the DMA buffer |