[PATCH v2 00/25] ALSA: Generic PCM copy ops using iov_iter

From: Takashi Iwai
Date: Tue Aug 15 2023 - 15:03:23 EST


Hi,

this is a v2 patch set for cleaning up the PCM copy ops using
iov_iter to deal with kernel / user-space pointers consistently.

v1->v2:
* The error condition checks of copy_to/from_iter() are changed to
be more strictly
* Put Acked and Reviewed tags
* The indents in the patch in dmaengine was slightly changed

v1:
https://lore.kernel.org/r/20230814115523.15279-1-tiwai@xxxxxxx


Takashi

===

Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>
Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Cc: Andrey Utkin <andrey_utkin@xxxxxxxxxxxx>
Cc: Anton Sviridenko <anton@xxxxxxxxxxxxxxxxxxx>
Cc: Arnaud Pouliquen <arnaud.pouliquen@xxxxxxxxxxx>
Cc: Banajit Goswami <bgoswami@xxxxxxxxxxx>
Cc: Bluecherry Maintainers <maintainers@xxxxxxxxxxxxxxxxx>
Cc: Claudiu Beznea <claudiu.beznea@xxxxxxxxxxxxx>
Cc: Ismael Luceno <ismael@xxxxxxxxxxx>
Cc: Lars-Peter Clausen <lars@xxxxxxxxxx>
Cc: Mark Brown <broonie@xxxxxxxxxx>
Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@xxxxxxxx>
Cc: Olivier Moysan <olivier.moysan@xxxxxxxxxxx>
Cc: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx>
Cc: linux-media@xxxxxxxxxxxxxxx
Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx

===

Takashi Iwai (25):
iov_iter: Export import_ubuf()
ALSA: pcm: Add copy ops with iov_iter
ALSA: core: Add memory copy helpers between iov_iter and iomem
ALSA: dummy: Convert to generic PCM copy ops
ALSA: gus: Convert to generic PCM copy ops
ALSA: emu8000: Convert to generic PCM copy ops
ALSA: es1938: Convert to generic PCM copy ops
ALSA: korg1212: Convert to generic PCM copy ops
ALSA: nm256: Convert to generic PCM copy ops
ALSA: rme32: Convert to generic PCM copy ops
ALSA: rme96: Convert to generic PCM copy ops
ALSA: hdsp: Convert to generic PCM copy ops
ALSA: rme9652: Convert to generic PCM copy ops
ALSA: sh: Convert to generic PCM copy ops
ALSA: xen: Convert to generic PCM copy ops
ALSA: pcmtest: Update comment about PCM copy ops
media: solo6x10: Convert to generic PCM copy ops
ASoC: component: Add generic PCM copy ops
ASoC: mediatek: Convert to generic PCM copy ops
ASoC: qcom: Convert to generic PCM copy ops
ASoC: dmaengine: Convert to generic PCM copy ops
ASoC: dmaengine: Use iov_iter for process callback, too
ALSA: doc: Update description for the new PCM copy ops
ASoC: pcm: Drop obsoleted PCM copy_user ops
ALSA: pcm: Drop obsoleted PCM copy_user and copy_kernel ops

.../kernel-api/writing-an-alsa-driver.rst | 58 ++++-------
drivers/media/pci/solo6x10/solo6x10-g723.c | 39 ++------
include/sound/dmaengine_pcm.h | 2 +-
include/sound/pcm.h | 13 ++-
include/sound/soc-component.h | 14 +--
lib/iov_iter.c | 1 +
sound/core/memory.c | 56 +++++++++--
sound/core/pcm_lib.c | 95 ++++++++++---------
sound/core/pcm_native.c | 2 +-
sound/drivers/dummy.c | 12 +--
sound/drivers/pcmtest.c | 2 +-
sound/isa/gus/gus_pcm.c | 23 +----
sound/isa/sb/emu8000_pcm.c | 74 ++++-----------
sound/pci/es1938.c | 30 +-----
sound/pci/korg1212/korg1212.c | 50 +++-------
sound/pci/nm256/nm256.c | 42 ++------
sound/pci/rme32.c | 50 +++-------
sound/pci/rme96.c | 42 ++------
sound/pci/rme9652/hdsp.c | 42 ++------
sound/pci/rme9652/rme9652.c | 46 ++-------
sound/sh/sh_dac_audio.c | 25 +----
sound/soc/atmel/mchp-pdmc.c | 2 +-
sound/soc/mediatek/common/mtk-btcvsd.c | 27 ++----
sound/soc/qcom/lpass-platform.c | 13 +--
sound/soc/soc-component.c | 16 ++--
sound/soc/soc-generic-dmaengine-pcm.c | 18 ++--
sound/soc/soc-pcm.c | 4 +-
sound/soc/stm/stm32_sai_sub.c | 2 +-
sound/xen/xen_snd_front_alsa.c | 56 +++--------
29 files changed, 269 insertions(+), 587 deletions(-)

--
2.35.3