ALSA: memalloc: Convert x86 SG-buffer handling with non-contiguous type
authorTakashi Iwai <tiwai@suse.de>
Sun, 17 Oct 2021 07:48:59 +0000 (09:48 +0200)
committerTakashi Iwai <tiwai@suse.de>
Mon, 18 Oct 2021 11:32:13 +0000 (13:32 +0200)
commit2d9ea39917a4e4293bc2caea902c7059a330b611
tree07b9ee3a8103a1f1f0872c63caac39321cbe5f13
parent73325f60e2ed28f04032d43c2828b73776cfefd0
ALSA: memalloc: Convert x86 SG-buffer handling with non-contiguous type

We've had an x86-specific SG-buffer handling code, but now it can be
merged gracefully with the standard non-contiguous DMA pages.

After the migration, SNDRV_DMA_TYPE_DMA_SG becomes identical with
SNDRV_DMA_TYPE_NONCONTIG on x86, while others still fall back to
SNDRV_DMA_TYPE_DEV.

The remaining problem is about the SG-buffer with WC pages: the DMA
core stuff on x86 doesn't treat it well, so we still need some special
handling to manipulate the page attribute manually.  The mmap handler
for SNDRV_DMA_TYPE_DEV_SG_WC still returns -ENOENT intentionally for
the fallback to the default handler.

Link: https://lore.kernel.org/r/20211017074859.24112-4-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
include/sound/memalloc.h
sound/core/Makefile
sound/core/memalloc.c
sound/core/sgbuf.c [deleted file]