From patchwork Tue Aug 15 19:01:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Takashi Iwai X-Patchwork-Id: 713820 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A6D04C0015E for ; Tue, 15 Aug 2023 19:03:25 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [207.180.221.201]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id 58F137F1; Tue, 15 Aug 2023 21:02:33 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz 58F137F1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1692126203; bh=U0HBdgqoC7I4o3lmJjsO8MzIDIlAWpoHvcKRhhdwpEE=; h=From:To:Cc:Subject:Date:List-Id:List-Archive:List-Help:List-Owner: List-Post:List-Subscribe:List-Unsubscribe:From; b=o7pz2rKG+dvc3RiF1rcotsU8vn6LNXygVnGnhtPU8kK4OahVRxmVPLlUnMZ/QOl1q AVRcb9HbHmoLZHL6zPTjqhnX/UznL/FV3OaPdei/vexthrbEeiQZCYph3si+QrHFIX +TsDn0hH1gQKRR36f0Rtvikxc4bFe6LzfQQvNJfY= Received: by alsa1.perex.cz (Postfix, from userid 50401) id 9E89DF80580; Tue, 15 Aug 2023 21:02:06 +0200 (CEST) Received: from mailman-core.alsa-project.org (mailman-core.alsa-project.org [10.254.200.10]) by alsa1.perex.cz (Postfix) with ESMTP id C5DD7F80579; Tue, 15 Aug 2023 21:02:05 +0200 (CEST) Received: by alsa1.perex.cz (Postfix, from userid 50401) id 1FB81F8057A; Tue, 15 Aug 2023 21:02:01 +0200 (CEST) Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id 1F39CF8016A for ; Tue, 15 Aug 2023 21:01:47 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz 1F39CF8016A Authentication-Results: alsa1.perex.cz; dkim=pass (1024-bit key, unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=lKC4tZf7; dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=7bAEkFaY Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 353B5211B8; Tue, 15 Aug 2023 19:01:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1692126107; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=//6lpnW6sCl4feNuAFbqi6XUsXoCWMdVSeRR25UImmk=; b=lKC4tZf7WG38nR/+S7P0hfukLxRpFMGV/R/rtIcnNlUGsWOO0WmwaXvEWgThkvB1ihsRXm HWmdV0Mo0Bwu13DaVDZt15C+28SU66ST57i/9JfQIAcomGTW0DEn3qM/Z7mh70VWRyUI0a tvIAUJZX0m1q1PB+9pcimyQjlw5iWL8= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1692126107; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=//6lpnW6sCl4feNuAFbqi6XUsXoCWMdVSeRR25UImmk=; b=7bAEkFaYSkQrYTqFUCvdJZuyzgiU44+C+bBhhQFbDIcKL7WJ0SParPiABaClmft1Gfd6Kg 2o7jLFBIu41otZBQ== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id C9CCC1353E; Tue, 15 Aug 2023 19:01:46 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id XZIxL5rL22QTVAAAMHmgww (envelope-from ); Tue, 15 Aug 2023 19:01:46 +0000 From: Takashi Iwai To: alsa-devel@alsa-project.org Cc: linux-kernel@vger.kernel.org, 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@vger.kernel.org, xen-devel@lists.xenproject.org Subject: [PATCH v2 00/25] ALSA: Generic PCM copy ops using iov_iter Date: Tue, 15 Aug 2023 21:01:11 +0200 Message-Id: <20230815190136.8987-1-tiwai@suse.de> X-Mailer: git-send-email 2.35.3 MIME-Version: 1.0 Message-ID-Hash: C3UPIWHOMPZCUJWET2RN557LDOTV6TVS X-Message-ID-Hash: C3UPIWHOMPZCUJWET2RN557LDOTV6TVS X-MailFrom: tiwai@suse.de X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-alsa-devel.alsa-project.org-0; header-match-alsa-devel.alsa-project.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.8 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" Archived-At: List-Archive: <> List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: 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@suse.de Takashi === Cc: Alexander Viro Cc: Andy Shevchenko Cc: Andrey Utkin Cc: Anton Sviridenko Cc: Arnaud Pouliquen Cc: Banajit Goswami Cc: Bluecherry Maintainers Cc: Claudiu Beznea Cc: Ismael Luceno Cc: Lars-Peter Clausen Cc: Mark Brown Cc: Mauro Carvalho Chehab Cc: Oleksandr Andrushchenko Cc: Olivier Moysan Cc: Srinivas Kandagatla 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 | 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(-)