[alsa-devel] [PATCH 0/8] ALSA: pcm: API cleanups and extensions
Takashi Iwai
tiwai at suse.de
Sun Nov 17 09:53:00 CET 2019
Hi,
this is a patch series for a few ALSA PCM API changes.
Basically the patch set introduces three changes:
* Add the "managed buffer allocation" mode;
this allows many drivers to drop hw_params and hw_free callbacks
that simply call snd_pcm_lib_malloc_pages() and *_free_pages().
* Make PCM ioctl ops optional;
almost all driver can drop the lines to define pcm_ops.ioctl.
* The new sync_stop PCM ops and card->sync_irq;
it's used to synchronize the pending task after stopping the stream,
for fixing the use-after-free or such problem.
I planned originally merging these changes to 5.6. But since the API
changes would influence on many drivers outside sound git tree, it
might be easier to merge only these core changes at first during 5.5
merge window while keeping the rest (the actual driver
implementations) intact -- that's why I post now for reviews. The
changes are additional, and they won't break things by themselves.
The drivers can / need to change the call patterns for following these
new APIs.
thanks,
Takashi
===
Takashi Iwai (8):
ALSA: pcm: Introduce managed buffer allocation mode
ALSA: docs: Update for managed buffer allocation mode
ALSA: pcm: Allow NULL ioctl ops
ALSA: docs: Update document about the default PCM ioctl ops
ALSA: pcm: Move PCM_RUNTIME_CHECK() macro into local header
ALSA: pcm: Add the support for sync-stop operation
ALSA: pcm: Add card sync_irq field
ALSA: docs: Update about the new PCM sync_stop ops
.../sound/kernel-api/writing-an-alsa-driver.rst | 148 +++++++++++++++------
include/sound/core.h | 1 +
include/sound/pcm.h | 12 +-
sound/core/init.c | 1 +
sound/core/pcm_local.h | 2 +
sound/core/pcm_memory.c | 83 ++++++++++--
sound/core/pcm_native.c | 48 ++++++-
7 files changed, 237 insertions(+), 58 deletions(-)
--
2.16.4
More information about the Alsa-devel
mailing list