[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230814115523.15279-1-tiwai@suse.de>
Date: Mon, 14 Aug 2023 13:54:58 +0200
From: Takashi Iwai <tiwai@...e.de>
To: alsa-devel@...a-project.org
Cc: linux-kernel@...r.kernel.org, Takashi Iwai <tiwai@...e.de>,
Alexander Viro <viro@...iv.linux.org.uk>,
Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
Andrey Utkin <andrey_utkin@...tmail.com>,
Anton Sviridenko <anton@...p.bluecherry.net>,
Arnaud Pouliquen <arnaud.pouliquen@...s.st.com>,
Banajit Goswami <bgoswami@...cinc.com>,
Bluecherry Maintainers <maintainers@...echerrydvr.com>,
Claudiu Beznea <claudiu.beznea@...rochip.com>,
Ismael Luceno <ismael@...ev.co.uk>,
Lars-Peter Clausen <lars@...afoo.de>,
Mark Brown <broonie@...nel.org>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
Oleksandr Andrushchenko <oleksandr_andrushchenko@...m.com>,
Olivier Moysan <olivier.moysan@...s.st.com>,
Srinivas Kandagatla <srinivas.kandagatla@...aro.org>,
linux-media@...r.kernel.org, xen-devel@...ts.xenproject.org
Subject: [PATCH 00/25] ALSA: Generic PCM copy ops using iov_iter
Hi,
this is a revised patch set for cleaning up the PCM copy ops using
iov_iter to deal with kernel / user-space pointers consistently.
The previous patch set was based on sockptr_t:
https://lore.kernel.org/r/20230731154718.31048-1-tiwai@suse.de
But this approach was NAK'ed as iov_iter is a preferred way for
achieving the purpose:
https://lore.kernel.org/r/87edkce118.wl-tiwai@suse.de
The patch set starts with the missing export of import_ubuf()
function, followed by the new copy_ops using iov_iter, extensions of
some helpers and replacements of the existing code. It resulted in a
good amount of code reduction.
Takashi
===
Cc: Alexander Viro <viro@...iv.linux.org.uk>
Cc: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
Cc: Andrey Utkin <andrey_utkin@...tmail.com>
Cc: Anton Sviridenko <anton@...p.bluecherry.net>
Cc: Arnaud Pouliquen <arnaud.pouliquen@...s.st.com>
Cc: Banajit Goswami <bgoswami@...cinc.com>
Cc: Bluecherry Maintainers <maintainers@...echerrydvr.com>
Cc: Claudiu Beznea <claudiu.beznea@...rochip.com>
Cc: Ismael Luceno <ismael@...ev.co.uk>
Cc: Lars-Peter Clausen <lars@...afoo.de>
Cc: Mark Brown <broonie@...nel.org>
Cc: Mauro Carvalho Chehab <mchehab@...nel.org>
Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@...m.com>
Cc: Olivier Moysan <olivier.moysan@...s.st.com>
Cc: Srinivas Kandagatla <srinivas.kandagatla@...aro.org>
Cc: linux-media@...r.kernel.org
Cc: xen-devel@...ts.xenproject.org
===
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 | 38 +-------
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 | 23 ++---
sound/soc/qcom/lpass-platform.c | 13 +--
sound/soc/soc-component.c | 10 +-
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 | 55 ++---------
29 files changed, 263 insertions(+), 581 deletions(-)
--
2.35.3
Powered by blists - more mailing lists