Revert "ALSA: pcm: Use SG-buffer only when direct DMA is available"
commit 7d50b295c4af16f814ee82369c4a234df5228801 upstream.
This reverts commit 3ad796cbc36a ("ALSA: pcm: Use SG-buffer only when
direct DMA is available") also the modification commit 467fd0e82b62
("ALSA: pcm: Fix build error on m68k and others").
Poking the DMA internal helper is a layer violation, so we should
avoid that. Meanwhile the actual bug has been addressed by the
Kconfig fix in commit dbed452a078d ("dma-pool: decouple DMA_REMAP from
DMA_COHERENT_POOL"), so we can live without this hack.
Link: https://lore.kernel.org/r/20200717064130.22957-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
52a7c86e63
commit
456a7a7340
@@ -11,7 +11,6 @@
|
||||
#include <linux/moduleparam.h>
|
||||
#include <linux/vmalloc.h>
|
||||
#include <linux/export.h>
|
||||
#include <linux/dma-mapping.h>
|
||||
#include <sound/core.h>
|
||||
#include <sound/pcm.h>
|
||||
#include <sound/info.h>
|
||||
@@ -66,19 +65,6 @@ static int do_alloc_pages(struct snd_card *card, int type, struct device *dev,
|
||||
__update_allocated_size(card, size);
|
||||
mutex_unlock(&card->memory_mutex);
|
||||
|
||||
|
||||
#ifdef CONFIG_SND_DMA_SGBUF
|
||||
if ((type == SNDRV_DMA_TYPE_DEV_SG || type == SNDRV_DMA_TYPE_DEV_UC_SG) &&
|
||||
!dma_is_direct(get_dma_ops(dev))) {
|
||||
/* mutate to continuous page allocation */
|
||||
dev_dbg(dev, "Use continuous page allocator\n");
|
||||
if (type == SNDRV_DMA_TYPE_DEV_SG)
|
||||
type = SNDRV_DMA_TYPE_DEV;
|
||||
else
|
||||
type = SNDRV_DMA_TYPE_DEV_UC;
|
||||
}
|
||||
#endif /* CONFIG_SND_DMA_SGBUF */
|
||||
|
||||
err = snd_dma_alloc_pages(type, dev, size, dmab);
|
||||
if (!err) {
|
||||
/* the actual allocation size might be bigger than requested,
|
||||
|
||||
Reference in New Issue
Block a user