public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/25] ALSA: Generic PCM copy ops using iov_iter
@ 2023-08-14 11:54 Takashi Iwai
  2023-08-14 11:54 ` [PATCH 01/25] iov_iter: Export import_ubuf() Takashi Iwai
                   ` (24 more replies)
  0 siblings, 25 replies; 44+ messages in thread
From: Takashi Iwai @ 2023-08-14 11:54 UTC (permalink / raw)
  To: alsa-devel
  Cc: linux-kernel, Takashi Iwai, Alexander Viro, Andy Shevchenko,
	Andrey Utkin, Anton Sviridenko, Arnaud Pouliquen, Banajit Goswami,
	Bluecherry Maintainers, Claudiu Beznea, Ismael Luceno,
	Lars-Peter Clausen, Mark Brown, Mauro Carvalho Chehab,
	Oleksandr Andrushchenko, Olivier Moysan, Srinivas Kandagatla,
	linux-media, xen-devel

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@zeniv.linux.org.uk>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Andrey Utkin <andrey_utkin@fastmail.com>
Cc: Anton Sviridenko <anton@corp.bluecherry.net>
Cc: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
Cc: Banajit Goswami <bgoswami@quicinc.com>
Cc: Bluecherry Maintainers <maintainers@bluecherrydvr.com>
Cc: Claudiu Beznea <claudiu.beznea@microchip.com>
Cc: Ismael Luceno <ismael@iodev.co.uk>
Cc: Lars-Peter Clausen <lars@metafoo.de>
Cc: Mark Brown <broonie@kernel.org>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Cc: Olivier Moysan <olivier.moysan@foss.st.com>
Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Cc: linux-media@vger.kernel.org
Cc: xen-devel@lists.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


^ permalink raw reply	[flat|nested] 44+ messages in thread

end of thread, other threads:[~2023-08-15 15:46 UTC | newest]

Thread overview: 44+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-14 11:54 [PATCH 00/25] ALSA: Generic PCM copy ops using iov_iter Takashi Iwai
2023-08-14 11:54 ` [PATCH 01/25] iov_iter: Export import_ubuf() Takashi Iwai
2023-08-14 11:55 ` [PATCH 02/25] ALSA: pcm: Add copy ops with iov_iter Takashi Iwai
2023-08-14 11:55 ` [PATCH 03/25] ALSA: core: Add memory copy helpers between iov_iter and iomem Takashi Iwai
2023-08-15 13:51   ` Andy Shevchenko
2023-08-15 13:54     ` Takashi Iwai
2023-08-14 11:55 ` [PATCH 04/25] ALSA: dummy: Convert to generic PCM copy ops Takashi Iwai
2023-08-15 13:52   ` Andy Shevchenko
2023-08-14 11:55 ` [PATCH 05/25] ALSA: gus: " Takashi Iwai
2023-08-14 11:55 ` [PATCH 06/25] ALSA: emu8000: " Takashi Iwai
2023-08-14 11:55 ` [PATCH 07/25] ALSA: es1938: " Takashi Iwai
2023-08-14 11:55 ` [PATCH 08/25] ALSA: korg1212: " Takashi Iwai
2023-08-15 13:55   ` Andy Shevchenko
2023-08-14 11:55 ` [PATCH 09/25] ALSA: nm256: " Takashi Iwai
2023-08-14 11:55 ` [PATCH 10/25] ALSA: rme32: " Takashi Iwai
2023-08-14 11:55 ` [PATCH 11/25] ALSA: rme96: " Takashi Iwai
2023-08-14 11:55 ` [PATCH 12/25] ALSA: hdsp: " Takashi Iwai
2023-08-14 11:55 ` [PATCH 13/25] ALSA: rme9652: " Takashi Iwai
2023-08-14 11:55 ` [PATCH 14/25] ALSA: sh: " Takashi Iwai
2023-08-14 11:55 ` [PATCH 15/25] ALSA: xen: " Takashi Iwai
2023-08-14 11:55 ` [PATCH 16/25] ALSA: pcmtest: Update comment about " Takashi Iwai
2023-08-14 11:55 ` [PATCH 17/25] media: solo6x10: Convert to generic " Takashi Iwai
2023-08-14 12:15   ` Ismael Luceno
2023-08-14 12:17     ` Takashi Iwai
2023-08-14 12:26       ` Ismael Luceno
2023-08-14 11:55 ` [PATCH 18/25] ASoC: component: Add " Takashi Iwai
2023-08-14 12:59   ` Mark Brown
2023-08-15 13:56   ` Andy Shevchenko
2023-08-14 11:55 ` [PATCH 19/25] ASoC: mediatek: Convert to " Takashi Iwai
2023-08-14 13:00   ` Mark Brown
2023-08-15 13:58   ` Andy Shevchenko
2023-08-14 11:55 ` [PATCH 20/25] ASoC: qcom: " Takashi Iwai
2023-08-14 13:06   ` Mark Brown
2023-08-14 11:55 ` [PATCH 21/25] ASoC: dmaengine: " Takashi Iwai
2023-08-14 13:18   ` Mark Brown
2023-08-15 14:00   ` Andy Shevchenko
2023-08-15 14:55     ` Takashi Iwai
2023-08-15 15:45       ` Andy Shevchenko
2023-08-14 11:55 ` [PATCH 22/25] ASoC: dmaengine: Use iov_iter for process callback, too Takashi Iwai
2023-08-14 13:19   ` Mark Brown
2023-08-14 11:55 ` [PATCH 23/25] ALSA: doc: Update description for the new PCM copy ops Takashi Iwai
2023-08-14 11:55 ` [PATCH 24/25] ASoC: pcm: Drop obsoleted PCM copy_user ops Takashi Iwai
2023-08-14 13:19   ` Mark Brown
2023-08-14 11:55 ` [PATCH 25/25] ALSA: pcm: Drop obsoleted PCM copy_user and copy_kernel ops Takashi Iwai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox