From nobody Sat Jul 25 05:35:00 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3B9C33A7F52 for ; Fri, 17 Jul 2026 08:36:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784277418; cv=none; b=fM1eMzeisjGQ1YHC31x/I2PwXIwjWCfoyUwfrSu72gMuXS4BhfEItzBDxCg8JZj7Hps8e8jY1on9/FR6ukUFf6yNJ7xdY2/2rdZCo3q4uQAxfWH7CvTaZnoQcTbwlvpwLMisGW/o5k391+EDYzYRoNnJEhu8dwrJO1KigDrfK+Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784277418; c=relaxed/simple; bh=T0ZAEoPGlcD+MBsHOs7IR7iXvbxs2FRnDbpOdt9CWCM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=DhohAimc5BHFOo9lCvSQ16ss9vG0Twh+RrBAIrUAREVngrUKSAbw0V0i0EjHMEW/U4N303Yb9MhpdGCUGxjAnvqu5wBa5517GasY8OdOTuSkv8rjZKsuQ5m2xjYCDgI8tgPQYgjcLW9JTjuYIZdKxwMl68CMaSfBBYJOo2J5N/U= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=AjNCwr+s; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=TIlNdFTt; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="AjNCwr+s"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="TIlNdFTt" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66H6cRu6794310 for ; Fri, 17 Jul 2026 08:36:55 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= ssHW8XScr3JWgrcOFJ5LiFi8t9CrlHFACuaOrI33AwM=; b=AjNCwr+sRv9g2AVU iB6pKffGqXeOIXQzg7vFLBhvIyfneNHz+YE9Y0Bes7ETVA184wtriOyFrGGKtFNB mEtSjM8z1AqK7d3g/siVC+5OqIh8PHEiBCuCJEstZjbWpYeX2VYC1V+eDsZtY9nL sDVh1hH+62WYoailE1GN0r1yIilONmSPw9yXz7rWe/QrlUiUw0wFMCmc65CVV3gO OUtfmUkcuWUcLlF7O0mpaoDhJZrSwlaNFUD3uUlEQlKPcBXYc3fbucI0Xido/R/0 lcD83hg5A29jbFJ2XWS4UFjWlN617O4XAKURLLqb7aGZsLPhS4itq7NX4w83k9ip 4laPOg== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ff3u8jvce-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 08:36:55 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-51c1d137a68so180450441cf.3 for ; Fri, 17 Jul 2026 01:36:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784277414; x=1784882214; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=ssHW8XScr3JWgrcOFJ5LiFi8t9CrlHFACuaOrI33AwM=; b=TIlNdFTtnsINtIvlljX44TFg2tOsEq909hhNfdoF69yFj/J/3Xc12lKA4+lZTMypby qTgsuvvl+38Zk5yugJV52KlW5r+DH373IauwufMBxHOkxtZbSqw396BcU5jfb4yaBBKl Gmhe47+pjBBWzoJq5qocMf8PeYvLG36zUbzaC2B0Jymk0USQmFm8une8xpB13wGCKwKh AaibWcmGlQv8aGGS/QgTiNtAi4cvSKnoQ8a+ILC9zlEcSrdr7EAx17ZAK3Vsqd+JoTjq xoLED4rXCulV4PSJTkh4zXo8bXgBocF/OoA4pZyTUjU/2dlECX7vmF9BriFQ0sH/a74V v+pA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784277414; x=1784882214; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=ssHW8XScr3JWgrcOFJ5LiFi8t9CrlHFACuaOrI33AwM=; b=SSAi11L5ob3Q1xpZz1jfhNVkJXWo4m+7a37ytsdKWHMN6w68xNihIB+BTmZ2FbLLpG dMuPPhVxay33ta223ywJzJjJxDnMmBXHh+B7a6XfYCCfRFcUrqAoiJpjumO1vnqL61v9 ND/q3SyD2D+JQR85YdCGMfsZLteWA3yR20PZ9rDP3LXa+KTIOTEJZ0QjZYTf5/IqI7ea chehWjhernwT7rvRG601T7qRlVPxESS8T/JViRGc1Batw4U/29Jjjspz/V6d3F0LQJEB Kn1Uwg3l5hYoj99YJ+ctg+r1iy8MYBDRuCjsclmUJwtL22THzDxHFu/VZ2ZeZnsutPEI IT9Q== X-Forwarded-Encrypted: i=1; AHgh+RpIANLeKoHTgMuigVnIbLWgyRSR0LlhZFCjhLfX2wrBOrPJA0MIgqaBUAIc5APBZ0UhEUKc7A8t9eJ+a60=@vger.kernel.org X-Gm-Message-State: AOJu0YxNPR1vAlONhq3IIioMZrKhoJYWfbjDsGAiJOkDR2W7elJiG0G3 JAp5IsSuO0fLktsG/F/yXdHHvnwBvGKVtV1ZSB1K++MHzOghrx4KCWgRAWUJyJVIevTrID7bnso NEyPf11iIWrV4JoI6rvLik5CiosECuL6S1oKxa3ikDsTmD/kjQse6tuWtzDJaFaZogWY= X-Gm-Gg: AfdE7cmc2QhhjhFr+YPkkOBxIiYopjr0D9Rej69TAzoRObNNL2Xv5V4t8paT+zyBlgT bmR+F/CIIuUm6r7pxgidBCTI7bsaRBYHXSFZnkSxQuMjq+VeA88RwqNkvIEkwZtCJV+KCJnM5Qw DxxYR/I6+nJvpd1a9Xtj1yh3BSbS6jb+VKZ976Zlx8g+s8449GJ+9Vu8zuEGLP6P3UzSdonB4/V WRQ9KBwF3PvUr/voKEQgrrl3XoFXI6kA0DymPqn+d6wcEgN5xZu5M37mKcPD0/4t/Om4YCWh83f +Md+0hFcKoeZLZRqXrsstJC2s4YnDoC6BLUWjHLDi0/I1XhTfkEu4xxNPsp/gQRe/dn5ymWDmXC ZAT7d4pzq+nF7u1XPvzTqf83a8tfznA== X-Received: by 2002:a05:622a:283:b0:51c:775:c175 with SMTP id d75a77b69052e-5213e77d807mr12257461cf.40.1784277414361; Fri, 17 Jul 2026 01:36:54 -0700 (PDT) X-Received: by 2002:a05:622a:283:b0:51c:775:c175 with SMTP id d75a77b69052e-5213e77d807mr12257271cf.40.1784277413969; Fri, 17 Jul 2026 01:36:53 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:dc44:5b1b:5396:79d6]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4954a2b893dsm31268205e9.8.2026.07.17.01.36.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 01:36:53 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 17 Jul 2026 10:36:27 +0200 Subject: [PATCH v22 01/14] dmaengine: constify struct dma_descriptor_metadata_ops Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260717-qcom-qce-cmd-descr-v22-1-ff0d18b27246@oss.qualcomm.com> References: <20260717-qcom-qce-cmd-descr-v22-0-ff0d18b27246@oss.qualcomm.com> In-Reply-To: <20260717-qcom-qce-cmd-descr-v22-0-ff0d18b27246@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Mukesh Kumar Savaliya , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong , Vignesh Raghavendra Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski , Radhey Shyam Pandey X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2359; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=T0ZAEoPGlcD+MBsHOs7IR7iXvbxs2FRnDbpOdt9CWCM=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqWemVQLvsoBlGUC8Id5HKABGvrQnHacgwbnQKb dV5Msto6GWJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCalnplQAKCRAFnS7L/zaE w7U9D/0Tcm22Q6sO5uCv62Ub4sZXCWkpD5YcJjqq79dBD4DQ05U8WmqZViexgaYwIr5Wi/Jzxbs H0IiNrfekHuE/z2T44i/LBZrpj+i1p4I/iJQIP+hNGS+clq0b77m/AXM6lGBBO9X0cGO2sfUmiG j0eR2WCLXsbjart0QQjpCeSxSq8/5g6V70MnqfI6Kw+UXariJasrZeVeCgfX46RpTVDUcbaSeEm cbgOypWN/0qb/c8EfgN9ixrqv2o4yV1RHx7L5BE5xA0elNQqbvPqNzpPeiQTDbfvN8iHBHnS5/g naD79zRUbLlyuSdb6ieV4PIM/UToBoh8eFyewP8aose2G/QigggMAtDjYWgGTI/ZMXC5yzd6Fl8 Dq95srQg/noEMR5CLrjadrqMbsA/wvnFUwff/PVj+CgOWoXbdHSz5aYTrlEetqRpHQSfjRwS4ej kxDimCX4aDXgt3fZXejKKXyna56IIMwLvpquXbpxm3KZOEQMODV+Mu5ZcytQIW92ZMQQHgb23/y a5wcK4uAn7uKz/sxrmFof1bINsnOYR5BpxQ4yDcIwUFSLZzuAANfs1Nh3O1LR8Bu3iO2hqkUcJ6 /cTHzelOUfANV3e9qB9nscOAS/tztq1GJ7/lEH1O2Tc7uljCQFSk2OTMyQlTQ/HddjnV/VtL1po TEFTVrPXPpnlEJA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: 5enRKfsfmVhnanpZj9pil0uL0WRUHWQa X-Proofpoint-ORIG-GUID: 5enRKfsfmVhnanpZj9pil0uL0WRUHWQa X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDA4NCBTYWx0ZWRfX+6z8fa8I0ruo adNfLRVnOepsSfeVNT8zfFDD2voQ9KCutra4CkAouyQ2oKkB545lPqtCu+/fYf50MN8P4MITgI9 cz62EBgcxwI9araSFq41s1QfbS1LwCw= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDA4NCBTYWx0ZWRfX60gu9McmBTnW UeDmmO74cVh/b1equzsvdfZb1mUX4RPjXWFwUmGUpnXuhDy1RfgbAUG+qixgI2uj1TMTOepBBOP 4gKrkN7oWKqcNTI7xCOq38Z+j/cFphCPVjff/TWpcQWROBxv2hTdnwCGD+q/mjANIEVgtJqvxF9 hsFmnYz3D6v3GS2V/mMmEp+2deva3/rZXb5JRt79DDBa3SJxnDcnPYvIgcsUN2GT5Q+n3wsfmYK HkFkR9LerhGr3ix3/3scT1/4je3Yyy1MjklypTwkhPB3lYK/ArqdoQ64Z0f3OGUxaFET8n0mL5D oCXLBb1YEgOA6mZo9GL12DPYYMw50+SERav7mUnVk1gDOmjBV3AtFDmWPwJgrjj/zBufn+vA6d2 CzLTFZuTXKYye3uW2bgxIWfTJhqHCfERdTuJx3ytyOygwU2ypu3SgMArNBU3uOJ0UaXk26XPBVC wkbE6qOEI/gLKXnOIwA== X-Authority-Analysis: v=2.4 cv=TL11jVla c=1 sm=1 tr=0 ts=6a59e9a7 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=VwQbUJbxAAAA:8 a=zd2uoN0lAAAA:8 a=EUspDBNiAAAA:8 a=XeVHrwws4l7kqE2Ex6IA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-17_02,2026-07-15_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 priorityscore=1501 clxscore=1015 lowpriorityscore=0 spamscore=0 bulkscore=0 malwarescore=0 suspectscore=0 adultscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170084 There's no reason for the instances of this struct to be modifiable. Constify the pointer in struct dma_async_tx_descriptor and all drivers currently using it. Reviewed-by: Manivannan Sadhasivam Reviewed-by: Radhey Shyam Pandey Signed-off-by: Bartosz Golaszewski Tested-by and Reviewed/Acked-by you could provide in order to help move --- drivers/dma/ti/k3-udma.c | 2 +- drivers/dma/xilinx/xilinx_dma.c | 2 +- include/linux/dmaengine.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/dma/ti/k3-udma.c b/drivers/dma/ti/k3-udma.c index 1cf158eb7bdb541c4e7f4f79f65ab70be4311fad..fb21e0df5ab7b20e4e16777b5ff= 7f61d2ae67b2b 100644 --- a/drivers/dma/ti/k3-udma.c +++ b/drivers/dma/ti/k3-udma.c @@ -3408,7 +3408,7 @@ static int udma_set_metadata_len(struct dma_async_tx_= descriptor *desc, return 0; } =20 -static struct dma_descriptor_metadata_ops metadata_ops =3D { +static const struct dma_descriptor_metadata_ops metadata_ops =3D { .attach =3D udma_attach_metadata, .get_ptr =3D udma_get_metadata_ptr, .set_len =3D udma_set_metadata_len, diff --git a/drivers/dma/xilinx/xilinx_dma.c b/drivers/dma/xilinx/xilinx_dm= a.c index 404235c1735384635597e88edc25c67c7d250647..165b11a7c776abc6a8d66d631e1= 9da669644577d 100644 --- a/drivers/dma/xilinx/xilinx_dma.c +++ b/drivers/dma/xilinx/xilinx_dma.c @@ -653,7 +653,7 @@ static void *xilinx_dma_get_metadata_ptr(struct dma_asy= nc_tx_descriptor *tx, return seg->hw.app; } =20 -static struct dma_descriptor_metadata_ops xilinx_dma_metadata_ops =3D { +static const struct dma_descriptor_metadata_ops xilinx_dma_metadata_ops = =3D { .get_ptr =3D xilinx_dma_get_metadata_ptr, }; =20 diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h index b3d251c9734e95e1b75cf6763d4d2c3a1c6a9910..5244edb90e7e7510bf4460b6a74= ee2a7f91c1ccc 100644 --- a/include/linux/dmaengine.h +++ b/include/linux/dmaengine.h @@ -623,7 +623,7 @@ struct dma_async_tx_descriptor { void *callback_param; struct dmaengine_unmap_data *unmap; enum dma_desc_metadata_mode desc_metadata_mode; - struct dma_descriptor_metadata_ops *metadata_ops; + const struct dma_descriptor_metadata_ops *metadata_ops; #ifdef CONFIG_ASYNC_TX_ENABLE_CHANNEL_SWITCH struct dma_async_tx_descriptor *next; struct dma_async_tx_descriptor *parent; --=20 2.47.3 From nobody Sat Jul 25 05:35:00 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 84CA23E4C69 for ; Fri, 17 Jul 2026 08:36:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784277422; cv=none; b=b015mztaRpy36DksdFExExGOAlMX+YCklPLFCm9hx+ikyChcRzU+tO71nBwzkh6AGFuM1944H43Wi4p1ZHfZzZB14964P0a6mZW6xiRUM/NH8h90Z0x8CquiQYIFGNwGnMxKAkEqbMT6uytD2I3YMey7SVULS7YPRfNE4tfhfVk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784277422; c=relaxed/simple; bh=4nbFs/xg8cCMPYrFtHWE96AOtkhXxC7yUgPXEapSLFc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=spLKz0scc8Jt37ftGMxAkgUuoLPAWTjIg1VStFEBm2voMkL5QynwYFgKk/ZIzibKiOZ7QV152F28yDUMqDjol6M2siTs148/PyYihEELcjJ876aKvI/aPqJWKBv3Vbo9RkVGtxBeymRKGLM4gWyKR9E8xMifjT4EOKKxMckrizI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=Jar3QkZ6; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ESen5vjU; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="Jar3QkZ6"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ESen5vjU" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66H6cRfX979777 for ; Fri, 17 Jul 2026 08:36:57 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= /Vh6sT+8mC4wwsdE+AaqQfMuc9K2i5dAUjEpzQ2UVhY=; b=Jar3QkZ642Thg/ni 2NYxT2TzIA++eGcOPp3LWns2k7/oz4CmfgDt/xTWYV5FPjuUD8/d4vxyJDvthc4M gbDo0BzPqMLeDnN6QirxE/2xa2obVBhu6RyRcyC/r1JZjCez2O2Z5MgwB3JaM5hw kMWQoZpNIa9M0JjBAj6LY3fyz2oMrylTQRmZloKSdenEldcn2yzOWNN7V3a3GpYD KpD7ONIkQOLEDdQjSEJuFnxhEskmcJYkprLfzf/SCLgivtF2aXprvQn884ubZplk ibT+P16I5hkm5Z3SgacXNswXr/WaLIldbKxZUdyjEfSd0sdZAyxYWiksn0Ij/DLK nG8wkw== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fff9greq4-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 08:36:56 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-51c21c01cf3so91767601cf.2 for ; Fri, 17 Jul 2026 01:36:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784277416; x=1784882216; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=/Vh6sT+8mC4wwsdE+AaqQfMuc9K2i5dAUjEpzQ2UVhY=; b=ESen5vjUUswAEKEGpsnymlJs3fGlQSQRsZgg7dgjXCKpuVAzaehuncahY1+JMJY02Q DDX++Cyj+shtBFF9svvfEkPeEZLCeba+2b8cnZFXKT7uo9f45t5/WcwCH/UZNbZOyFyd y+uD2KZQ5K1GSu1KBGNiGej5yVTUqy0nrx4RxRadLBGawU/+Z9a6CXh2NUInIbdrp5NL u/wR+gusoP29KSmlAh+5DDJzaT9CdbLDYY0lMIiEAsZqdxlehQMkjdH/jEbB4Ii7d2Ft CZIX92fqOA8QzUy26CYHzufVa6kW5WPWgg0S6SFYhUPhurigbDtUs85hZtFB2b3a4JvN AjuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784277416; x=1784882216; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=/Vh6sT+8mC4wwsdE+AaqQfMuc9K2i5dAUjEpzQ2UVhY=; b=h6UPVtUfyQbnkDnTYNYwH5oB1RdoaDKCsTrzoFIB+V23dR/g27oC97Qy0/f/7ch3BV OCT4X+ZBwgnDhIJof11d8qVfXJXKrJJJt/soSx8Iadm446zeqQ2qD2mQlPlsMw1Anpcv eDe/V8zSxIIQxauTPYR+bnJe8Swnnx8dJs4WhYr9mFyaK3+GukRYHn0O8XBHU7CaaJcA WQdkQtbH4skHNLjoJCTzpWQTYEcG6CXqzDwaoEYqJCdpVsPxK9+fW0OV9bSyN51aLx7w AM+bcb92T8aJGKVViIkZ1eQ/tOIKo5P4uOgmhZ66ElLrOI181lXlV5PqzUrXDX60tXzA SOmg== X-Forwarded-Encrypted: i=1; AHgh+RrGdXI6Vh/mvyMfUkyQAuwtyVpG+Vc3W4O2qk/knF5BOGOMMb82jZDVeLPqtV04VpW4egzeEGqH0mAG2RE=@vger.kernel.org X-Gm-Message-State: AOJu0YxklFknOfv0F3g+Fy5klTq60+KK3nV90e0W1DQLHryIEutS51SS nrwdHwwUxJvvIFrrMQV9FItS0o0s99TKKXkLOSbsLah9elD4BmdASvOKimXBXFLWA2XSF06H6ma FrbRYoeSnHLd7cxvL5wStHQ8JHPyHxRP9vivY+7YMZRTf4hwCx2qovUvDVqOlI7V7rrI= X-Gm-Gg: AfdE7clXniL5z+22SCqgQhR6LIMKXSZSB3xDzbBgXrqq8BV7ZR7S3N2E1F6BYexC0/Z oYkBjUh/kqz+VkCOKXq+6So+c51pWYacmafH/anbzjuNoSWmVIIGMSgww/qS1/36V44VVgvJvp7 eGG2o9AEeBt6ZY4/xUZsxCwtPWkgzIzdmBC5Z4KxCw0b6eLjyqn7ndxiWb4ufU+A8ZhaV8keBMG lJ8+1sAjRLsYOeBxa26lck3BEekcHtPzKLAI8T8CNGnt17AvnsWvP82rzp09DgSvSaUoLRzCp5Z xEnI3F93jFAdIZRtHCrMX3LfyRT7sq1I8kQheYHVuz2kxLm8kJVXjnloTCj7qn44qZVb19NOggi DalPegnqD7jgpSWB8tVdcMKO6DrJJkQ== X-Received: by 2002:ac8:7dca:0:b0:51c:167a:a48f with SMTP id d75a77b69052e-5213fc5832emr13493961cf.64.1784277416317; Fri, 17 Jul 2026 01:36:56 -0700 (PDT) X-Received: by 2002:ac8:7dca:0:b0:51c:167a:a48f with SMTP id d75a77b69052e-5213fc5832emr13493671cf.64.1784277415952; Fri, 17 Jul 2026 01:36:55 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:dc44:5b1b:5396:79d6]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4954a2b893dsm31268205e9.8.2026.07.17.01.36.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 01:36:55 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 17 Jul 2026 10:36:28 +0200 Subject: [PATCH v22 02/14] dmaengine: qcom: bam_dma: free interrupt before the clock in error path Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260717-qcom-qce-cmd-descr-v22-2-ff0d18b27246@oss.qualcomm.com> References: <20260717-qcom-qce-cmd-descr-v22-0-ff0d18b27246@oss.qualcomm.com> In-Reply-To: <20260717-qcom-qce-cmd-descr-v22-0-ff0d18b27246@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Mukesh Kumar Savaliya , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong , Vignesh Raghavendra Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2818; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=4nbFs/xg8cCMPYrFtHWE96AOtkhXxC7yUgPXEapSLFc=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqWemWN2S795vbkqcG4ij9ubJGy6SuJf50F4bC0 66Pb4j22VCJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCalnplgAKCRAFnS7L/zaE wwlZD/9W2iUVIF4KIbsenZB6fCtyq8ib4S/4/NNNBCMD2PAWlLahOYax8bse8uRXEz1ZknDBOiL iYjW3QFER/8p0U4ICp8muOjyORmpmsEDXiFd/yMhhIfCFR+jTBP/u3AAH7+yoqvcLKY9L/kDlyo wRs9iTwffQQxCN+HGOJCvJLo470e2fWfX98dW9P3GJLw76PO8KbkpYzfxcvx3ElEoluN9Z+vKLA ts8htozQxwhlFGVbCENUmySIcjgtMgFMMJtOO/pHd5OKQ35aAwbUMrUeTdp7TNRagDB3tbVXXWH A7Oo9PQ8YHO66ZAX/ARmyggobbu9YrjQTpyBAUjRG71jumBMZc+3Xp4yh+5LnXEN64gfo6wjyW8 JJnVYc5lNNdjNKktdcWzqPyy5SscTarSXGcHlUJ+TJ96rfFWDCFRyt+we3KAOrqsI845PtBdS12 5qnA3Jz3sADowcuWtuo5e15JNFOya2U9Isyyd3grMFJ9MGNVvTlKPrrh0pcOczeCXczEre2OEhj q25/4hhDlMoCbtdvM40W+na07KmOLF4TAPA8h2mTcGRuro/sEr3XbiRaJDgWDBhIQ26zVD6xZAg yJQYF22aJJ1qK8m04YAUjkWKcaPpO1w0PIqPyt8DpsPJL6KRtCKA7gxpO3/WABq3khr3YH6Uqal 6jZpVQVr3Wnsb8w== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDA4NCBTYWx0ZWRfX5cv8319T5zVo EDiuV6WwzsHPfSEiR4Z3vGcsLdgXU7YrABFIYS/s3WZqjzBZnrQctkRm29r8AlE7zRsTw1lTjRH LbH0tYk3KD6lZ2FiENFluXGYni/bgJU= X-Proofpoint-ORIG-GUID: II83Xfxw8asVHlYitO8OwgzVUhy_XS4I X-Proofpoint-GUID: II83Xfxw8asVHlYitO8OwgzVUhy_XS4I X-Authority-Analysis: v=2.4 cv=TaumcxQh c=1 sm=1 tr=0 ts=6a59e9a8 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=c92rfblmAAAA:8 a=EUspDBNiAAAA:8 a=VwQbUJbxAAAA:8 a=n8zAjjMAgf0wD31B80cA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 a=GvGzcOZaWPEFPQC_NcjD:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDA4NCBTYWx0ZWRfX6HQ3vDGnEcKw qlQGf9MWCqA68pn511E3QuoyShSaruk12uvsdEJORMtXjvF2NnbyHRoP9cvSyOChhlQ1SbWG/l5 T7FSWmmW9Cmk6UDdCGvyouu4vzVw5QTaKbtxQjnkvRHd+GBSX36+8Ts2GK3WGr4Q1vN/pDgKVaz ocF2JPivaVFCYTjI155Iolef0HXmBmpihPUJJn7Ddzq+xq1jxXY06nsJW1X9AsLUM6V/lZDNUdd ZicY4NwVchVMJbFyPfgYzzfoDrt++81bAQC0j4XlU4HQ22cesMsZ81rgW3fbHrn8oDEQZyZAYLR /FjdP9s/R0iArPLi7sU9wjfF1kJdqJWMqS4nAEnmZK3Rb6OiJ6W74jg6suyR7AJY7PGJ1gLGLaS piLWbz0ZMqz+1+veTa8E1L+TEkOmxnyZm+HfFurtIgLyOM4yplpw5V47wUqL9kRv/XtptsHV3CD IR4R/ppoJLYNxtQzV/g== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-17_02,2026-07-15_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 clxscore=1015 adultscore=0 phishscore=0 spamscore=0 bulkscore=0 malwarescore=0 suspectscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170084 The BAM interrupt is requested with a devres helper and so on error it's freed after probe() returns. We disable the clock before freeing or masking it so it may still fire and we may end up reading BAM registers with clock disabled. Stop using devres for interrupts as we free it in remove() manually anyway. Add an appropriate label and free the interrupt before disabling the clock in error path and in remove(). Fixes: e7c0fe2a5c84 ("dmaengine: add Qualcomm BAM dma driver") Closes: https://sashiko.dev/#/patchset/20260427-qcom-qce-cmd-descr-v16-0-94= 5fd1cafbbc%40oss.qualcomm.com?part=3D2 Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski Tested-by and Reviewed/Acked-by you could provide in order to help move --- drivers/dma/qcom/bam_dma.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c index 1bb26af0405f3a16f97e0d4b86c945c252d97f57..fc155e0d1870cbb7e099a2c4280= f9f8fbdf6cf15 100644 --- a/drivers/dma/qcom/bam_dma.c +++ b/drivers/dma/qcom/bam_dma.c @@ -1332,8 +1332,7 @@ static int bam_dma_probe(struct platform_device *pdev) for (i =3D 0; i < bdev->num_channels; i++) bam_channel_init(bdev, &bdev->channels[i], i); =20 - ret =3D devm_request_irq(bdev->dev, bdev->irq, bam_dma_irq, - IRQF_TRIGGER_HIGH, "bam_dma", bdev); + ret =3D request_irq(bdev->irq, bam_dma_irq, IRQF_TRIGGER_HIGH, "bam_dma",= bdev); if (ret) goto err_bam_channel_exit; =20 @@ -1366,7 +1365,7 @@ static int bam_dma_probe(struct platform_device *pdev) ret =3D dma_async_device_register(&bdev->common); if (ret) { dev_err(bdev->dev, "failed to register dma async device\n"); - goto err_bam_channel_exit; + goto err_free_irq; } =20 ret =3D of_dma_controller_register(pdev->dev.of_node, bam_dma_xlate, @@ -1385,6 +1384,8 @@ static int bam_dma_probe(struct platform_device *pdev) =20 err_unregister_dma: dma_async_device_unregister(&bdev->common); +err_free_irq: + free_irq(bdev->irq, bdev); err_bam_channel_exit: for (i =3D 0; i < bdev->num_channels; i++) tasklet_kill(&bdev->channels[i].vc.task); @@ -1401,6 +1402,8 @@ static void bam_dma_remove(struct platform_device *pd= ev) struct bam_device *bdev =3D platform_get_drvdata(pdev); u32 i; =20 + free_irq(bdev->irq, bdev); + pm_runtime_force_suspend(&pdev->dev); =20 of_dma_controller_free(pdev->dev.of_node); @@ -1409,8 +1412,6 @@ static void bam_dma_remove(struct platform_device *pd= ev) /* mask all interrupts for this execution environment */ writel_relaxed(0, bam_addr(bdev, 0, BAM_IRQ_SRCS_MSK_EE)); =20 - devm_free_irq(bdev->dev, bdev->irq, bdev); - for (i =3D 0; i < bdev->num_channels; i++) { bam_dma_terminate_all(&bdev->channels[i].vc.chan); tasklet_kill(&bdev->channels[i].vc.task); --=20 2.47.3 From nobody Sat Jul 25 05:35:00 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4F94C3E4C88 for ; Fri, 17 Jul 2026 08:37:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784277423; cv=none; b=lF+yz3YeXsg8+hOj7lWxASCzy8aV8wPXo7pLRwwBPinm1X++UysE1Aykc5+WBQdz43udSipWVoaEqdGK0hSnk+VB8fd8urUOT5OOvdzdvhVdnVbiphyKFCn8Gt6jWtFf83k6UDCNzyv5h7pk7qRSgNuQFQVSv1TKoN09UE509Uo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784277423; c=relaxed/simple; bh=wCpLSEqzl6yoBDde9p+VABZfQUJK0dP0DnJmF5kRzKI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=gCQqytyWsLp/arsIj5nw3z1HWNQvFz5aJwzWgUizYOy5en3zC3hGbYdZouotdXZxaX7WUBb1HaBTvGb5gGfAYUe/2CqZwIUxsptdCvCla9iLQOgtIf1Qq3Y2+y3fZj/sIX8SHEYwbDM2JQz8pbKDvvk1nj761lCieuX+BqkYUdQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=Gg2fIu34; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=jDSGykyt; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="Gg2fIu34"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="jDSGykyt" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66H6cHrv2098521 for ; Fri, 17 Jul 2026 08:36:59 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= EisVJTTfRpbffhmQLHO5RqC6wDH0dg02BTw4k+UhwPA=; b=Gg2fIu34xbbfj8OA dt19v0TaKmCyNsqs1YXGX7b6eNdZXjJpyQTH3J+wxRO0uaqueezvw2w+9RN66Hv6 W0l5WJiq4/+Fc/Gw0EeECDxVVZgNAfn9qlvmITGH1WSo1zC/V8KGQZePH7QP+Euc PoQDNM+uejTuTxKAutrzpDyZv6hp5x+3VipDRd+ZtPDOa3GFHhTGE2OHu8jNSBcz JqqY9Q4b/HSpOXmyilpPDlLW/H1jKCMSPKi3hOjhBoYcJTFISAqnXQYKCzpR1apb pc23HN9Z0je2WjjX8uoaCCthsOwq2yUPfD70OOcnE188xLMx2j9bhgIUTNbjHo9w 7x4KhQ== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ff3u6ju2m-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 08:36:59 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-51c12e43b98so148838101cf.1 for ; Fri, 17 Jul 2026 01:36:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784277418; x=1784882218; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=EisVJTTfRpbffhmQLHO5RqC6wDH0dg02BTw4k+UhwPA=; b=jDSGykytLuGsQOWbcfKmiAqj6/98uZJixcJTQQ4+iECwUfxvDL72Zjpli9wb6P6m20 XI0j9PtcNK7XyigxmtCMr2jWQkk3SVHCxH3+9dMCS66MLkmm8IL2YG01jK4wDGg2Nqm1 85OdDAPdgQBTkA/a1n2mOoOz/UDgrpiv84iQv/Mn4Dhn/eJT9KcfAIb3nRPBtJV8raMp PpAAyxFDBYhctpbinWrNbEgygohUyszTDF7nSMPYqcjflZgvcsg/5YcgRbT/28Z/zftA cmZO8na94nq9T7S27waBo8JLs73h7AJJwhMlCwAJEGZlthBkWw7suPIstwrqWWwh0mEo k5fA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784277418; x=1784882218; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=EisVJTTfRpbffhmQLHO5RqC6wDH0dg02BTw4k+UhwPA=; b=ITbWUNE5lqMshTFDZsMxBA0deUq1bq48J0rn6RHU6kJWLegxjZyBzJgdDTkrQYBlfW V3FrGAhz7uSLOOcbEeVWO3XOioANGooONAIEkE6vmefMHZZZ4tL1oGXZwqb4gXATBFDU Cv7vZzl6JIYWrMkHvfmsHIAGzLTL5/f2w+mwF+MFOFCgYUmeUl8UjXqCq0f4u7qaS12y 8ZzKbq71gjCrgKhWGrXSWHAlpeEer2YF4d3zHqxyPjnAx8QmpCIxGvH0XjFa1yWsyxLx kscnuzdWfxHmMyewR/95REX5x2+l9iPB4Lg86hFOePStzzlbC5s/NZyw9ToQTLucC3ZN 0o0g== X-Forwarded-Encrypted: i=1; AHgh+RpAiicGJHdAivqUHmvqo5GI8m/z/Dcdcl/C1gmtn1RxbIkpw9ZJGTdOvKfSwmpuyOPnO+4YaG4OcyiHXoE=@vger.kernel.org X-Gm-Message-State: AOJu0Yyg1OxR5CsS8FWJKceag7JLI7KIW5KnARvLUMpKRajwwur30r1d OhbkihThx6fs6eymTyqvEVQJFNiyl459ZHFpVvUP22LgXo/ClVAi0pS7yCKn9kRxw9Cq+nVK8lL OefbrMN2NqNcqV6O5UQpwTwnwPiXBo77rd7IMvsdJ153zB/E9EYme3vjs1+clxOqj8lc= X-Gm-Gg: AfdE7cnFr9fwWMZz9nq9VsOqI4hj4M37zyFo1f/MRd9mAH7+YOY0q6N2bnU3D6f5tUw 1MKSwvAw0tv01cKHEKcwtDKlizK9/wcDau55bZ6tJKgCQnCCNsy68RVlUSZzYHPLiqTYbEwzLEp ZGLJ9ATuF8YQAtqmqxtFuGhDOJ+Zp1JAKk3O9JgHcCu7jhOkm1X0J8anmNg/l7imqcvlwoQHCbH U7md8NvZMDRVU3E3FHIi7IepcGU+BtozqOilVvKO6nC+ehw/gwlwoZWsuBsgthWnnz4K/J2ZCPE RVBu7EdgePQcwhnX1RR2+wtViMVbDc4NQxmkVFGfKXxxDKnLmb/qoBoxLfS7e/Su+oeSOFB7IjX vq+godyk66HU7RxBUdDXx77ry+9DS/A== X-Received: by 2002:ac8:5895:0:b0:51c:7b13:62ff with SMTP id d75a77b69052e-5213f07a839mr12223901cf.85.1784277418446; Fri, 17 Jul 2026 01:36:58 -0700 (PDT) X-Received: by 2002:ac8:5895:0:b0:51c:7b13:62ff with SMTP id d75a77b69052e-5213f07a839mr12223541cf.85.1784277418071; Fri, 17 Jul 2026 01:36:58 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:dc44:5b1b:5396:79d6]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4954a2b893dsm31268205e9.8.2026.07.17.01.36.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 01:36:57 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 17 Jul 2026 10:36:29 +0200 Subject: [PATCH v22 03/14] dmaengine: qcom: bam_dma: convert tasklet to a BH workqueue Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260717-qcom-qce-cmd-descr-v22-3-ff0d18b27246@oss.qualcomm.com> References: <20260717-qcom-qce-cmd-descr-v22-0-ff0d18b27246@oss.qualcomm.com> In-Reply-To: <20260717-qcom-qce-cmd-descr-v22-0-ff0d18b27246@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Mukesh Kumar Savaliya , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong , Vignesh Raghavendra Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski , Dmitry Baryshkov X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4421; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=wCpLSEqzl6yoBDde9p+VABZfQUJK0dP0DnJmF5kRzKI=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqWemXqINjgp7q9Ps4aTCpU63x396zfX76ER0nL PEUXHbq54yJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCalnplwAKCRAFnS7L/zaE w4BYEACodtihodcjAOmf4SQNdnKJj1MDtzmr8CduDo0LVP5xpzBN4cW+Iryn04rrnH/7NLN7Dnc THDrA9/smhqXo3ox4l7Sp3oqC4KiMfPnwM/SkUsLtAmc4l96ePvFCy9VecYiEUjDIvcJ41wNSPV e56uyXLkW1JFg9xhYlmjehYbNr2eIYdC3VE9IlbCaqAjL7QkFiJQEmMQwCzQ3SlaN3l/k/s4t4K xAhwMLFuZUyF8Xljr7e/f2PUzgVeW0iY6mfvSB2w76fAzAsIS+L5pqfg7uTM4N3wV5DaOAXldVY ch9TkWQEau4Enf/FhO8Y+ZDA88mCgKa84UPTwPhtYDruA9jyEcOLJyrf0z1xWPSKSDvhyxq6q1P tdBbDWh/zNVJ1ug7/WdopaVLyYI8dihiP5SQpXLwRcaNVonJPPB+QP/INL6Ov+yXqTyZ3iVOclX a4fSVoqeUgShbEWjqTLIZMD3V+YpQJ7b9gkXjV9izBrjaXkpVljZzC174JGiAszUqWPMST7fT5A 1CXdtM2l+1MiOBlMUFjYLXm2f2Jse3/jFpQ/deP+gji2eqJsqlSYJopJFGmX9B9KrS692ZTs4gi mv1HBdmH+Fl1lV8BZhUbxZJ3gwyDuoA4CkNIY9zbtOABg4YD3XSP0JVCGB5/v7VesiSU+ph/tzR x5FsRWwlnTOMvBQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDA4NCBTYWx0ZWRfX5tNyJBpt0w30 frhBENXGAIjz7Q1z5bMMzb5gXNCCAfkEALka0WXCgbF4Kb1UPPtJvRV4hPnV3dGbQKdcO8a6gZD sGSroz/kvHratu2CaSJFQKja47ifjXDCP/ftcuxxu9fOuVviPWB0nbcUmGWfcPrKVTfecS2Gd52 WiXZNtvYRqFDYBKUNjG0WiSPshu+xf0F+l1jyr6gat3ll+F1DmbEeG4Q7XsTkxYizXNwEQyO8G7 Z9fZZ3kUFoW2l4+L8etjUdY9Yde9a/i73FTVMiHzgcgZXGC9/839R6/P5JK0BYPo/+E+SiozAwh maT+r4PBJhdNlrgsHijfMoV6CdwiluUn8q3ReWuJ3Xh+x28S+BqyY5ncxy2i15btJzYmGUElhh9 w6OLSlAuv4e20q25lS3Pwu977SFcm2EO+zmemcLp1DF238Awtj4+GIOqGMDY2ZiTcbLo+Zqa148 1BI84mJ4WIqFY07jcAA== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDA4NCBTYWx0ZWRfX2EZ3EwSAtonK iVh0dV/8XKkVj172mkXLNkJ2r7nTqp4t/biLF92Pqwq4nome0RO1xoz9MSZF+CR5FFSOrULqjM0 R7Et+rwXCOzOAdn07y+FuTWR3G4Rct8= X-Authority-Analysis: v=2.4 cv=DYMnbPtW c=1 sm=1 tr=0 ts=6a59e9ab cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=KKAkSRfTAAAA:8 a=u-biHsxzOdRIXVMzAPsA:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: JFVrNd0CY_iOlBcoYOIrHSv62aaOdGCw X-Proofpoint-ORIG-GUID: JFVrNd0CY_iOlBcoYOIrHSv62aaOdGCw X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-17_02,2026-07-15_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 impostorscore=0 lowpriorityscore=0 bulkscore=0 phishscore=0 adultscore=0 priorityscore=1501 spamscore=0 malwarescore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170084 BH workqueues are a modern mechanism, aiming to replace legacy tasklets. Let's convert the BAM DMA driver to using the high-priority variant of the BH workqueue. [Vinod: suggested using the BG workqueue instead of the regular one running in process context] Suggested-by: Vinod Koul Reviewed-by: Dmitry Baryshkov Reviewed-by: Bjorn Andersson Signed-off-by: Bartosz Golaszewski Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski Tested-by and Reviewed/Acked-by you could provide in order to help move --- drivers/dma/qcom/bam_dma.c | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c index fc155e0d1870cbb7e099a2c4280f9f8fbdf6cf15..ea3df28e777f99c0532761b6aee= 6807ab23ab4ca 100644 --- a/drivers/dma/qcom/bam_dma.c +++ b/drivers/dma/qcom/bam_dma.c @@ -42,6 +42,7 @@ #include #include #include +#include =20 #include "../dmaengine.h" #include "../virt-dma.h" @@ -426,8 +427,8 @@ struct bam_device { struct clk *bamclk; int irq; =20 - /* dma start transaction tasklet */ - struct tasklet_struct task; + /* dma start transaction workqueue */ + struct work_struct work; }; =20 /** @@ -892,7 +893,7 @@ static u32 process_channel_irqs(struct bam_device *bdev) /* * if complete, process cookie. Otherwise * push back to front of desc_issued so that - * it gets restarted by the tasklet + * it gets restarted by the work queue. */ if (!async_desc->num_desc) { vchan_cookie_complete(&async_desc->vd); @@ -922,9 +923,9 @@ static irqreturn_t bam_dma_irq(int irq, void *data) =20 srcs |=3D process_channel_irqs(bdev); =20 - /* kick off tasklet to start next dma transfer */ + /* kick off the work queue to start next dma transfer */ if (srcs & P_IRQ) - tasklet_schedule(&bdev->task); + queue_work(system_bh_highpri_wq, &bdev->work); =20 ret =3D pm_runtime_get_sync(bdev->dev); if (ret < 0) @@ -1120,14 +1121,14 @@ static void bam_start_dma(struct bam_chan *bchan) } =20 /** - * dma_tasklet - DMA IRQ tasklet - * @t: tasklet argument (bam controller structure) + * bam_dma_work() - DMA interrupt work queue callback + * @work: work queue struct embedded in the BAM controller device struct * * Sets up next DMA operation and then processes all completed transactions */ -static void dma_tasklet(struct tasklet_struct *t) +static void bam_dma_work(struct work_struct *work) { - struct bam_device *bdev =3D from_tasklet(bdev, t, task); + struct bam_device *bdev =3D from_work(bdev, work, work); struct bam_chan *bchan; unsigned int i; =20 @@ -1140,14 +1141,13 @@ static void dma_tasklet(struct tasklet_struct *t) if (!list_empty(&bchan->vc.desc_issued) && !IS_BUSY(bchan)) bam_start_dma(bchan); } - } =20 /** * bam_issue_pending - starts pending transactions * @chan: dma channel * - * Calls tasklet directly which in turn starts any pending transactions + * Calls work queue directly which in turn starts any pending transactions */ static void bam_issue_pending(struct dma_chan *chan) { @@ -1316,14 +1316,14 @@ static int bam_dma_probe(struct platform_device *pd= ev) if (ret) goto err_disable_clk; =20 - tasklet_setup(&bdev->task, dma_tasklet); + INIT_WORK(&bdev->work, bam_dma_work); =20 bdev->channels =3D devm_kcalloc(bdev->dev, bdev->num_channels, sizeof(*bdev->channels), GFP_KERNEL); =20 if (!bdev->channels) { ret =3D -ENOMEM; - goto err_tasklet_kill; + goto err_workqueue_cancel; } =20 /* allocate and initialize channels */ @@ -1389,8 +1389,8 @@ static int bam_dma_probe(struct platform_device *pdev) err_bam_channel_exit: for (i =3D 0; i < bdev->num_channels; i++) tasklet_kill(&bdev->channels[i].vc.task); -err_tasklet_kill: - tasklet_kill(&bdev->task); +err_workqueue_cancel: + cancel_work_sync(&bdev->work); err_disable_clk: clk_disable_unprepare(bdev->bamclk); =20 @@ -1424,7 +1424,7 @@ static void bam_dma_remove(struct platform_device *pd= ev) bdev->channels[i].fifo_phys); } =20 - tasklet_kill(&bdev->task); + cancel_work_sync(&bdev->work); =20 clk_disable_unprepare(bdev->bamclk); } --=20 2.47.3 From nobody Sat Jul 25 05:35:00 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C4B24357CEB for ; Fri, 17 Jul 2026 08:37:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784277425; cv=none; b=olS2TJWPqFP+7pSp31hG2OUIwEPWfgow/+U2eOeaXD/p/xCop9pEfnPI6WizRzxaVHlbqrphd3LLZpCcUSb12TiFstINOdljEH6JExDcu9l9mNVRuz9gmg2cae3clhagJxAOhrYpmsSziaWAYUJDTqXx///1fsUyNH9GVMkYnLg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784277425; c=relaxed/simple; bh=1Q+aPsoEc8W4PfEahFbzsFEdkzT9tiwxUCi1Nvr+Dts=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=M2hHvQXPcyezhltUXDMRYoXtXppiiPWwBmzcoeu1eli7ZXf7F9g3YVHmWxZJCqNmgCPVuGmi1dmvdfT4iXRC7uARsC833+HFMqFpvy2MFONN/BvzQjwADB7Gm9IJfRQ1Q8Rsl6P9BQ1Hj3esR/6aeRpLSCa5nxTUSL/FiotIC38= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=g4YeLGiH; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=f0RHS/at; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="g4YeLGiH"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="f0RHS/at" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66H6chfm1093058 for ; Fri, 17 Jul 2026 08:37:01 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 1SQ6fBG0Ah0G+Ee6NE98a2a6c+tVDqglySr17bUd1/A=; b=g4YeLGiH6+ded1ZC dZb5TjpvGaZEUjo61tv6Q7n25hKu50vzBpod9Z4iD6CH2Fevc+wsXiXtLLYxOLd+ 7VuCwVMOCbTqqAdgR+X663s+cPQgH4RgtL8nf0rdfKcjGDXU8GMIyistlglMBaLS 4CkP1Lx2RsmZ77oNXw6tghg534LsogPFFllUhVkBbE4/n+rGyarO8twtoDW5ckba gKDxC+iztUXwWgOHRgOe0gJ8JYwj4et4bJaj3BsYwxgi8zKBXxn4cA1QVYuD1B9p scMdkTbwzXcciGSABbXEPRYIQRQFliW7P2O9Tv6ihHTQl5OpqdqT3Un94WMuJMiA 2ftMRA== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ffe0urrpp-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 08:37:01 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-51a87ef9713so2371051cf.1 for ; Fri, 17 Jul 2026 01:37:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784277421; x=1784882221; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=1SQ6fBG0Ah0G+Ee6NE98a2a6c+tVDqglySr17bUd1/A=; b=f0RHS/atsLdR/Wujhh68xkGxZoMW9KXjzFJ95m2GmmJJcqRj+fvoxoV9iXH5kDdSh/ hjkrt6X8UhAS7gV9SYbzLYEgD5lzAzvEeqEWlddG8KAXc+BPOHwqHGC4oriXhx34gfdv AbrwCeWrge8v/gUoVm3hpQxe4YxC20WXtTalmBVrRGUxcabQaPaH2mkidemEc1oOIGI/ Wr+v6DolWkk6C2zGd63Hx4tfZHVM2EqzXlW7ly5cx65p5iIVP4Zs4nmEDPzItTGxoxwS zPjMpywIMYHXN19Wmf4YXqXoW5iUcEluwZn3stgBtNFgepMsm9VHqn+HHzzDzUfBhftX uS1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784277421; x=1784882221; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=1SQ6fBG0Ah0G+Ee6NE98a2a6c+tVDqglySr17bUd1/A=; b=l8AW3zvDGY6oIo+LYSvHzn38PSs7xktwYC8mIkrrOTbyqNApSi71Pw/DIrK4+7n9HD kcawd3mF7QrVNaCk4MPfVli2gfwIPPyViU2qufRksCzKiEFw+aXkPaXAWrbtITbMhxxX vMLqPvJzbUhCYOX9MF79Lx8zvasUv/XAL2hQNqS6cxg/Px4ajkHp2kXnE2YZDsuRYv6u W8aCch6LNueetMLlU7y9GKrZVNYVaXb5Az5PAbz+by+xrUpGmzy7Fn9qqE5gMePTidX/ oQLZgHkSZzrZ9acbNyhMjEu/iFqAPYIo/ECUjud8wBoo2enpzWGxC0VSGcSUwGtgNagW ZS5w== X-Forwarded-Encrypted: i=1; AHgh+RodV7rGOsGl7Der3KbNuT9AK7lYJRf7+NflXBfn7FiHgp7EJcPnmg6MLaDA22D06pmGqRYBvDtcvNGnQv0=@vger.kernel.org X-Gm-Message-State: AOJu0YymIljjHWC9BDZV95v+MkEngKIQs6BQZZRhtMuH8FNK/h5UfYTS hjjrP4oRYYgUp5UByOxZR1MBEGUuTUT/2rSiJpdRPpS5MONKvEaimbB6x2R0dg/7gN9+6Fj+i1D KXTgskUrIpjaeO+Fx03+vJF30kSaViR9zEGvQIue97HuR+AM5Bizqg9hAyiBTSvsLuiY= X-Gm-Gg: AfdE7cnCsiBF72qea8lh6Vq7PWS6cvcOSHcvuUZWZP9wh0YH/8Gfka4x0rudD5+C0Mg cE+kViIvyZ2eCT/N32xYt0Mj4piA1RRhbzrN8bNuCfWQoknBYZG+qa9siBdLulZiUh2IRXX6u2C jhI/W59/o4T3RpbrrA2LaIZYCo1xI3/cpgQwd4eM4hrivhrP0Vz6ppngcpmEMIoR4s2tF+cmMFz a7Zc4C2KWPxXkaMqlf3IPy5eNPPeBdeJHvDbftiuwJ4VPO75yqmYV7rX4v33EStjFVy8B6lDX5p eoBSQCdLGqRBBjXw/TK6GU6/SzdQHycxLuWlJcPLpfcLS2e3EtK20G55S/yYxJlIFZ4uj+a27NA 0hlpDwQUQ0dqSuZg/glcnmFr7NApd8Q== X-Received: by 2002:ac8:5fd1:0:b0:517:146d:2cb5 with SMTP id d75a77b69052e-51fc1292ee5mr62938901cf.20.1784277420687; Fri, 17 Jul 2026 01:37:00 -0700 (PDT) X-Received: by 2002:ac8:5fd1:0:b0:517:146d:2cb5 with SMTP id d75a77b69052e-51fc1292ee5mr62938581cf.20.1784277420226; Fri, 17 Jul 2026 01:37:00 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:dc44:5b1b:5396:79d6]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4954a2b893dsm31268205e9.8.2026.07.17.01.36.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 01:36:59 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 17 Jul 2026 10:36:30 +0200 Subject: [PATCH v22 04/14] dmaengine: qcom: bam_dma: Extend the driver's device match data Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260717-qcom-qce-cmd-descr-v22-4-ff0d18b27246@oss.qualcomm.com> References: <20260717-qcom-qce-cmd-descr-v22-0-ff0d18b27246@oss.qualcomm.com> In-Reply-To: <20260717-qcom-qce-cmd-descr-v22-0-ff0d18b27246@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Mukesh Kumar Savaliya , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong , Vignesh Raghavendra Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4322; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=HGeQqzQf8+DrUa/4bzOvLohFWS/bDVC1MPHUwVaBFAE=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqWemY2d5rTg5sbM73ADQjznvK2IlAE9MYo1Zkp HOdG6P65i6JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCalnpmAAKCRAFnS7L/zaE wz6CEACJVl1lDxT4uVVOANBn/C9UPgXVvI/XRb0g+zvA9zUYyaARpIGrYalGFVY2e24CyaoQSJj HqaZzMS6iorvUpcfzrt/jHIImjGzemgoXFDLPeJsAOhjhT3U6HK3UJHb3oOZTabuT5l0LlCCrKi k/ZaXOovtp4VrUWw8wyeJeQypA2FWkqtG8HwWAI7hD7Nb+qvz4gb4OfJwfhVFBYOezrUTgbh5ap rLKys6MIfLWtTnbO8MO8osefGarY3gZp+4gL61nNqnMHwsYeqwUgsETv5wwrl/amod/qMTYYT5V o9VgZwpKO5Je8IUr/GHPsyK/t1yNjmKAlSGLym8QVvnNVw/godQqb/Gt28bBSoAiJHAdXfBU9QJ JnHwuV4OwWuva577d1IeSjuuJS0jaeVzrHjcfdX7rp+Rd1dtj6zrYPZnUWypjQEgKiI0xLTg7Ld GnjW1XMQmvAPl0Uchk3dsXISZdLZAO5l5dQs/qDZWpDWpK7mbMoCMO6+6PpY3XoqnjO4uVpg3Nx db0FRNSrNfMP7U9Uq+1QFbpv5+XfDezjJDqRxWrcQUnn6oR8LQsDadaTM4e1fMtBENrT9c+i6eF Zwj+OJdSVME/p6pOrWYKpTCwd4HNvp1Wv35VKzslRWQKZnwjCGT1bP6FqCyIQqdP9dkI/38vAJk Ys7ANP4lED5ku3A== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=deWwG3Xe c=1 sm=1 tr=0 ts=6a59e9ad cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=ioP1PY9e4_dTeLeN8ycA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDA4NCBTYWx0ZWRfXxTDGroj3BN32 J3djQB1ZQXQIhlAY6J858sFqlV+J7u8xHeO9dtg1dLxeQ3wWR8HDw+rHN2zh07xQc45pi3XNIBJ QZuQppXJM7kgbF2Eg9InRbYa/gmSait+BWTHpb5VeG0H7+n25JgZ52Tlhcl46/YdSN9lCraIEPC 9Tf2ppCG25X4P22Fny+r8TYF9ptwgAqXERIpgxrquNmYtbgl+JnrImXS4xUH9A17hLUHCBGq9Xq U+O0prhNO7m1cpfgjr8B9nqa91rQM2p6tH+e2IlRJoG90Nfd3br7F41FvbMOTiijla8FhBTGQR8 EXS5Z982mSyCdz/IfIWhkDuqrhYb9pAJHFrOkxWBf98/ga1wkleJ3op2GSYIrtIZjknYUJL+3gC VZa6+EqI+Q7mH9/YXyF0sHf+J9kzsTsCcAklwquItS7vEJbcc4jDmF8TWun1FqPUdy/v3eKK7O9 UGEhwwJcs34xBoOERCg== X-Proofpoint-ORIG-GUID: wkN7ivvBYGeETfI9MaQmDvaApX2T1DWH X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDA4NCBTYWx0ZWRfX61GpDXU1M6+F nqWnlfcxUabmlv2gpQxgeUrRItcqj3wXpafezwR4HYBWA1pQ0yY6BCmX91XW0GrpcGRC++jhbl8 U+BKBT5071R4JR2aMdZ6avYJCWgsuVw= X-Proofpoint-GUID: wkN7ivvBYGeETfI9MaQmDvaApX2T1DWH X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-17_02,2026-07-15_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 spamscore=0 bulkscore=0 priorityscore=1501 malwarescore=0 lowpriorityscore=0 adultscore=0 phishscore=0 impostorscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170084 From: Bartosz Golaszewski In preparation for supporting the pipe locking feature flag, extend the amount of information we can carry in device match data: create a separate structure and make the register information one of its fields. This way, in subsequent patches, it will be just a matter of adding a new field to the device data. Reviewed-by: Dmitry Baryshkov Signed-off-by: Bartosz Golaszewski Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski Tested-by and Reviewed/Acked-by you could provide in order to help move --- drivers/dma/qcom/bam_dma.c | 34 +++++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c index ea3df28e777f99c0532761b6aee6807ab23ab4ca..8ce0fe085c5fea6cc614edd692b= 5cfd264b94d5a 100644 --- a/drivers/dma/qcom/bam_dma.c +++ b/drivers/dma/qcom/bam_dma.c @@ -113,6 +113,10 @@ struct reg_offset_data { unsigned int pipe_mult, evnt_mult, ee_mult; }; =20 +struct bam_device_data { + const struct reg_offset_data *reg_info; +}; + static const struct reg_offset_data bam_v1_3_reg_info[] =3D { [BAM_CTRL] =3D { 0x0F80, 0x00, 0x00, 0x00 }, [BAM_REVISION] =3D { 0x0F84, 0x00, 0x00, 0x00 }, @@ -142,6 +146,10 @@ static const struct reg_offset_data bam_v1_3_reg_info[= ] =3D { [BAM_P_FIFO_SIZES] =3D { 0x1020, 0x00, 0x40, 0x00 }, }; =20 +static const struct bam_device_data bam_v1_3_data =3D { + .reg_info =3D bam_v1_3_reg_info, +}; + static const struct reg_offset_data bam_v1_4_reg_info[] =3D { [BAM_CTRL] =3D { 0x0000, 0x00, 0x00, 0x00 }, [BAM_REVISION] =3D { 0x0004, 0x00, 0x00, 0x00 }, @@ -171,6 +179,10 @@ static const struct reg_offset_data bam_v1_4_reg_info[= ] =3D { [BAM_P_FIFO_SIZES] =3D { 0x1820, 0x00, 0x1000, 0x00 }, }; =20 +static const struct bam_device_data bam_v1_4_data =3D { + .reg_info =3D bam_v1_4_reg_info, +}; + static const struct reg_offset_data bam_v1_7_reg_info[] =3D { [BAM_CTRL] =3D { 0x00000, 0x00, 0x00, 0x00 }, [BAM_REVISION] =3D { 0x01000, 0x00, 0x00, 0x00 }, @@ -200,6 +212,10 @@ static const struct reg_offset_data bam_v1_7_reg_info[= ] =3D { [BAM_P_FIFO_SIZES] =3D { 0x13820, 0x00, 0x1000, 0x00 }, }; =20 +static const struct bam_device_data bam_v1_7_data =3D { + .reg_info =3D bam_v1_7_reg_info, +}; + static const struct reg_offset_data bam_v2_0_reg_info[] =3D { [BAM_CTRL] =3D { 0x0000, 0x00, 0x00, 0x00 }, [BAM_REVISION] =3D { 0x1000, 0x00, 0x00, 0x00 }, @@ -229,6 +245,10 @@ static const struct reg_offset_data bam_v2_0_reg_info[= ] =3D { [BAM_P_FIFO_SIZES] =3D { 0xC820, 0x00, 0x1000, 0x00 }, }; =20 +static const struct bam_device_data bam_v2_0_data =3D { + .reg_info =3D bam_v2_0_reg_info, +}; + /* BAM CTRL */ #define BAM_SW_RST BIT(0) #define BAM_EN BIT(1) @@ -422,7 +442,7 @@ struct bam_device { bool powered_remotely; u32 active_channels; =20 - const struct reg_offset_data *layout; + const struct bam_device_data *dev_data; =20 struct clk *bamclk; int irq; @@ -440,7 +460,7 @@ struct bam_device { static inline void __iomem *bam_addr(struct bam_device *bdev, u32 pipe, enum bam_reg reg) { - const struct reg_offset_data r =3D bdev->layout[reg]; + const struct reg_offset_data r =3D bdev->dev_data->reg_info[reg]; =20 return bdev->regs + r.base_offset + r.pipe_mult * pipe + @@ -1234,10 +1254,10 @@ static void bam_channel_init(struct bam_device *bde= v, struct bam_chan *bchan, } =20 static const struct of_device_id bam_of_match[] =3D { - { .compatible =3D "qcom,bam-v1.3.0", .data =3D &bam_v1_3_reg_info }, - { .compatible =3D "qcom,bam-v1.4.0", .data =3D &bam_v1_4_reg_info }, - { .compatible =3D "qcom,bam-v1.7.0", .data =3D &bam_v1_7_reg_info }, - { .compatible =3D "qcom,bam-v2.0.0", .data =3D &bam_v2_0_reg_info }, + { .compatible =3D "qcom,bam-v1.3.0", .data =3D &bam_v1_3_data }, + { .compatible =3D "qcom,bam-v1.4.0", .data =3D &bam_v1_4_data }, + { .compatible =3D "qcom,bam-v1.7.0", .data =3D &bam_v1_7_data }, + { .compatible =3D "qcom,bam-v2.0.0", .data =3D &bam_v2_0_data }, {} }; =20 @@ -1261,7 +1281,7 @@ static int bam_dma_probe(struct platform_device *pdev) return -ENODEV; } =20 - bdev->layout =3D match->data; + bdev->dev_data =3D match->data; =20 bdev->regs =3D devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(bdev->regs)) --=20 2.47.3 From nobody Sat Jul 25 05:35:00 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 67DAF3E0C75 for ; Fri, 17 Jul 2026 08:37:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784277426; cv=none; b=uC9vMSOlXMf+XiBB7mo2/g58pwMLghMMmJmqGKJK716+m35GBy7lKWOoVWMQQojAvbkfUFQZdvkVy2SoJMV4O+mZzvoluP9n5ZVHAYdcOQth5Ao3+ke2R2SxoueubHXqxvsWcYPgna10rmZo3mbfW6GWcz8Jwd241uu+jq8qUj4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784277426; c=relaxed/simple; bh=zHIuoWgA0JNzB45qmsTvX1DiRfFAkkbG2L0hbAcWpaw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=lcg/ACDKriwhGIZSxsWZuMFwXERokIUjV0JEVRqe26oG6PFaX944erL2BQKIwLAxPTX5BJ7c6MWbgnPR6Jni0rdBkUjxSwaAa9Yl7HwsXl2etfHPDH67eywH24Z4do2lmbKIdIC4fuDE8gNbapYodKLrGuTqdVCtdrV/a+u44AU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=j9aVLAaj; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=MYJ7Y0XZ; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="j9aVLAaj"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="MYJ7Y0XZ" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66H6d3QS821153 for ; Fri, 17 Jul 2026 08:37:03 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= d0wSBB0zdvgp8nv5/qOGe9s7Ri2Cp1uCk4+HjNdiilI=; b=j9aVLAajLlQZVooi DUGpSa8iC6YOhXTvIPaHqRxhiSMlqRLk0vO/bvmZ/ATTK5jNYPQBH/+QjX7vsVAx mIWUip/74VhOVTmxr+ZIi0O4/1yMApOMei7RjjyXyjGskxiSfsDhxwvz1QHUpMwB FwULHxHHevdQqnSo2AkQMtX0DmFixGAtuUaMEBBHM61KCiuKXSaUi07/wn/cqhct kJXN5ohWNp6q4Wm6NBajFq903x3Vz51q64sDt8z1us0/uFQiqvcel2ZIx0DMZGig /PVS4lDRwacAq5fPEHC9fMZEtv7fo9OV5XJouDDd+tX/MqVGm7G5tQONLc47xvSp 5RqvFw== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fffag8dcf-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 08:37:03 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-51c1d137a68so180452741cf.3 for ; Fri, 17 Jul 2026 01:37:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784277423; x=1784882223; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=d0wSBB0zdvgp8nv5/qOGe9s7Ri2Cp1uCk4+HjNdiilI=; b=MYJ7Y0XZ3LxwtABPVgmzSq1Cf5DnElK0yk+77KW9ZDJEMy2Z5UEW1dygR28rWIve9Y 9QivCu5FvuvWxBWlT/j1arrC66mvtFlTbreLZJiacYidro0z2PuJqQZbtKq5SexFT8yU KdoaunmVn5jmOmM8hZDOeWK9MRFXmrBA9HEW/Rj63Hi2Com420GFEjei7O9xpy43uHQ/ /XPo02xw5QGpXfkEDyQRSvUXjaf9wB8oZfLnTVWHnOIzVgzqke1AgigDGASw/yzW6zPx orvlBI3qkdH/7YV4GbvYQWAZQGuX8Mixd/r/5znZqoMWXnTaCNBL3wQmkMvbGwXDdV5z nNSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784277423; x=1784882223; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=d0wSBB0zdvgp8nv5/qOGe9s7Ri2Cp1uCk4+HjNdiilI=; b=W6MSXCu/lvlJc99OUxguGy+NwsIvBdaB+SvMKcudHQA1ru4LRA5pKK4mjYzMyFO0nB vjXa7HNpEzvlTZN3a4xEPy/B5TS9pngqyO2ErMPt/6Ne9f1b8thUOCpkkHu952A+9o8i YjmoTPqB7DJSCZtIoMFgFGn9pYNmpBudiwR8g8vShLSxHRsuiSIJwhUc6XX5K0jyTW5s QudJmG/2LBE6vz8yKgjbBW8pLWgeDaMiVGFPC7LQUyqYF13sX+p3b/GJoHZ3fJHdbNyB 4pkbPvl0iE5r3EzQNBzQG1pbkt45PYBrarUh6C6/bbRiuNb2Ddr+zzSSLL3kbtyNENNy 4S9Q== X-Forwarded-Encrypted: i=1; AHgh+RpllZXlX1bgG+grbe5mPwnF8absUHi5cmug4Uq4UHyO8JUkeyz3ZEZmk2Ln6R+CUvM2ASTR/4HKwkMDfp4=@vger.kernel.org X-Gm-Message-State: AOJu0YwOjZUybLfeLOa7UmNLzkBjZGzgOFw7c/FdYB5WSrkGxI4LtG6m ndwOE4lrcf3zo8dRsFHfkGF7pBF0iUq5UzfXaYW2csg1oYSsjNaM+EuhYUZa8850wWXz3GFpg4S jrZncUOU7/32fj6x4DtDSJTBgJctiG9HP9NsWqMv2DmXC2e04WALrbUZnthnWjeHHlrw= X-Gm-Gg: AfdE7cnuaNVvK01wTTkvN5k4Pj355zjdmXxPkabyWABY7kTE4Vl1X9rf/ExVXC4/Dgt Nktdy9w90XcPBW7HBbq3vr1DnzN26gMHdSti6lIoJHctTJbLeCJrC3gHLCU2Eut22Rm2KrdZgqm RhliD0HLQoSJl06Cr4WxDL//hpGr86QPO2gYN+852TyyxA67seqmmK1BbDi2RVKIpDsp7fj9mbI OqAwKTN1k3g9XW6dLyBB6FSuiAzz+BFW607vw5hVx3vXaqBsq1sVnLvQElgzx8kaoH1324v0A2g o2LD3wAyJfgwrossCve6UQyDbFy256sHnrO+hX/m9j1FwmGzfx+f6/XGu2YFPNi4SBrwFzghB+b XqeawMYT1LwqAyD7nuBIIAL8LTGo43g== X-Received: by 2002:a05:622a:4d:b0:51c:cf4:5f94 with SMTP id d75a77b69052e-5213cecc4aamr13176631cf.21.1784277422782; Fri, 17 Jul 2026 01:37:02 -0700 (PDT) X-Received: by 2002:a05:622a:4d:b0:51c:cf4:5f94 with SMTP id d75a77b69052e-5213cecc4aamr13176301cf.21.1784277422414; Fri, 17 Jul 2026 01:37:02 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:dc44:5b1b:5396:79d6]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4954a2b893dsm31268205e9.8.2026.07.17.01.37.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 01:37:01 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 17 Jul 2026 10:36:31 +0200 Subject: [PATCH v22 05/14] dmaengine: qcom: bam_dma: Add pipe_lock_supported flag support Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260717-qcom-qce-cmd-descr-v22-5-ff0d18b27246@oss.qualcomm.com> References: <20260717-qcom-qce-cmd-descr-v22-0-ff0d18b27246@oss.qualcomm.com> In-Reply-To: <20260717-qcom-qce-cmd-descr-v22-0-ff0d18b27246@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Mukesh Kumar Savaliya , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong , Vignesh Raghavendra Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski , Dmitry Baryshkov X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1807; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=8sCOVL39BX2AFiqeGpscXeG1puX7rtAOjEFEhJGJOUQ=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqWemZiYXlJjtNLGq4+ySy7ccYjPOIKJ19llAso ExQ+mfEbAWJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCalnpmQAKCRAFnS7L/zaE w//ZD/9e0V58j83h1ywDxEDPaPrjjZLuq2/4RWGO5kSTfH/Ne1B6nPViBLwOsmv/7XzR5dRGZWp MdI3uNtgro1ZAris68UkveWoptrSrpHVujRS4utFrk/+DSQAb6yUreIicW1lCiVvjScL0ihN5qn eeWX0MyNIgu/vr1eTqbBqaf2g9BQt0RsbbEHMMloPiPTDq1hnLvsFEPv0IaA48utNMXgWVPaeYG SRfUx9Y9FYDcPb4iiZJDBwIdm3MPB/x8gCG2PCg9oteUKIAV+tSG0ZOGvvBvfdJQPPnrbjTKaJU 6/mApnI3INj3DvBk1p5s6kH1Bur2OrrVLUxc5d1siA3idZ+llzlLbmxQzdccMQyVTb0ompSf6sO gZtWu8zBS89TtILxZ9LK88ZKhljzJg0fyFbreR+pcDxZwOE/h/imtbh+tUTYCiNiGYS9rRyVCWq C6W4cFq6rAH1rBOm0vumliGPYPbhBRXWraEcE0KdwXRls3g1dR75fE4FFqA/e+gXVgT/rhkCspy eOckOcmLQKfsxu/uZCiOViPLvTJmSp4UgSpcrmwOnLjzC0jJfva1shM1WSt5fZckAn2BP+YzOhV ksy8IwZrKA+DWAsnZ5VFhE4vD4UQBF9fgXlJgLXIEtZ3xkiJhslevoHB1TFfe+dlAKlXVuvQTsy 7iHJn6tRBfep1Xg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDA4NCBTYWx0ZWRfX+15aoSqDVVGc UksWMk4iB6VWeLroFyEApS33gu9PvCEbh448k/+nIWtFJRt1aOxbLZhyss5MYXh2eMod96/1OA6 Lshy1flPs4qwhsidIFJY3A1u6DY10Y37nFmF4uq5LobMP61pK/CluTQd95BasERtkIzOYGLVn3J VnWN0KH8PdS7h/oBD7HUhJljfagkBpLQue0wILBM4mwOqUVzS14tHFXLYnQXR40ZKD5HLSF+7pT QHEY7j/wygzPyNB2YpESPxT1UM6saBbShAwh4x7lTbXagjfWYjDrVSRddkwW7kMgtwahHk/wgPu Pq86TbdHmll6WzHeuCc9JWniuzAYpH8joRfwHEhz3XCbCvJgfQzJJkBSmnzjJV2MRkQ7/+XgxQg woErAK8xLU1RUvJv4VJAuwwU2oUnJwzGp32zk1JIuUBrHWRWOlTLf9ldzog8r03mF8E+Cg5Ztp0 RDtjCg2w4ibFAH54VRQ== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDA4NCBTYWx0ZWRfX0mVUzloLCR6M hsBOxgJK7qwIv6+LS7sxEYzbDahisglyIU5NnDYYaudUkYimS7XEy7Zim093ZlBc92ebXIw0ScH mqNqy+6ObpfBRifhYuJrpUxJccAZbAM= X-Authority-Analysis: v=2.4 cv=KZfidwYD c=1 sm=1 tr=0 ts=6a59e9af cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=VwQbUJbxAAAA:8 a=ZSnkYuKn9ZpO9KHknGoA:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: 2-QzndCrEHVp69g2ER_p8n3Po2NUECnj X-Proofpoint-ORIG-GUID: 2-QzndCrEHVp69g2ER_p8n3Po2NUECnj X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-17_02,2026-07-15_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 suspectscore=0 clxscore=1015 malwarescore=0 spamscore=0 adultscore=0 lowpriorityscore=0 phishscore=0 bulkscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170084 From: Bartosz Golaszewski Extend the device match data with a flag indicating whether the IP supports the BAM lock/unlock feature. Set it to true on BAM IP versions 1.4.0 and above. Signed-off-by: Bartosz Golaszewski Reviewed-by: Dmitry Baryshkov Acked-by: Manivannan Sadhasivam Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski Tested-by and Reviewed/Acked-by you could provide in order to help move --- drivers/dma/qcom/bam_dma.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c index 8ce0fe085c5fea6cc614edd692b5cfd264b94d5a..f3e713a5259c2c7c24cfdcec094= 814eb1202971a 100644 --- a/drivers/dma/qcom/bam_dma.c +++ b/drivers/dma/qcom/bam_dma.c @@ -115,6 +115,7 @@ struct reg_offset_data { =20 struct bam_device_data { const struct reg_offset_data *reg_info; + bool pipe_lock_supported; }; =20 static const struct reg_offset_data bam_v1_3_reg_info[] =3D { @@ -181,6 +182,7 @@ static const struct reg_offset_data bam_v1_4_reg_info[]= =3D { =20 static const struct bam_device_data bam_v1_4_data =3D { .reg_info =3D bam_v1_4_reg_info, + .pipe_lock_supported =3D true, }; =20 static const struct reg_offset_data bam_v1_7_reg_info[] =3D { @@ -214,6 +216,7 @@ static const struct reg_offset_data bam_v1_7_reg_info[]= =3D { =20 static const struct bam_device_data bam_v1_7_data =3D { .reg_info =3D bam_v1_7_reg_info, + .pipe_lock_supported =3D true, }; =20 static const struct reg_offset_data bam_v2_0_reg_info[] =3D { @@ -247,6 +250,7 @@ static const struct reg_offset_data bam_v2_0_reg_info[]= =3D { =20 static const struct bam_device_data bam_v2_0_data =3D { .reg_info =3D bam_v2_0_reg_info, + .pipe_lock_supported =3D true, }; =20 /* BAM CTRL */ --=20 2.47.3 From nobody Sat Jul 25 05:35:00 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 722BB3E51E4 for ; Fri, 17 Jul 2026 08:37:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784277431; cv=none; b=io+ULMJMHLSFNSfkFYZWgWekwecTtHlvmncMCqtLCowJsQq4uzsN0l7tEjrvE5OtVHRCRFw7CnAED8LPlQX6fjJWig906PKl7O+4MlY+u6xOm6nbzARrvBe4Sj+Ut3vS4nSqT9gOBVaTQ/u6V1ryCzNFWdn/EqdNHZcAWkLc+Mk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784277431; c=relaxed/simple; bh=1J+vF7UXOUyhfbt9ie88vbPerIhpQsXc5X3PZY2nmf0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ZK0btij/F8pJ1g1/9jMCh2yU5atcc9TjdOVPGGFolq3jm+GSjJbf3B7Wdp7wv9LLuOaqc1xrgUSnfHZs2/MpIMiVAc8NqrJzBhGMsY4Q22IPDL9Khgr5dWWUeFfSM1iOMnrguxfu16usU6ZDLU6r0aINjxIrNO9yGlyMzo7GMtU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=hzEza9Kl; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Wa3oRI4V; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="hzEza9Kl"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Wa3oRI4V" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66H6cP4b1018919 for ; Fri, 17 Jul 2026 08:37:06 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= tkXMke12UEjoM6/6vnzxRCqBivpTnQvavoQXcM7wjoU=; b=hzEza9KlQufa+/Z5 N8Dezs9EcWoYb7+X+uPboZt/nqyiBQgO8XCAw25Qa8Bt3EfMmr/W3o3s/WQTY+EH nCXgSCLTVspQLZ+3EU7QzNNeynhsuUIwh4NFJK/9bLKrUm4XDOXu4w2evdbHdofL 2s8WqgG0P/2heR84VVK6moYc6ZQUgavdAaS8ELFmiWGu++duKSt58LD0bRo3kZ1s t9+5VSK87rbWf1qS69bkTXyXVlst2diLt70bOnKmW0Bv9eIo5P+F5tVGRcBfxrMM tH9UhTus6gNoJDEYcp9nIb3V0KQegR40hNix7PwOVn62SwXAWV447ce/cBG+Gq+i ldTSjA== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fff810fa2-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 08:37:05 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51e4ba1cfabso66653221cf.1 for ; Fri, 17 Jul 2026 01:37:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784277425; x=1784882225; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=tkXMke12UEjoM6/6vnzxRCqBivpTnQvavoQXcM7wjoU=; b=Wa3oRI4V+5wABCyioUfZL48AIlNcpHAyCozC6orMe1pOzTFEKbX7slWYfK96+ARNDI NzstH/HCoWsGUZkwC140tPiKbGD1LXOpUdWOJ/yiYPYRjL3Ly9QWpWz5K6DvOcPKNI+N V/u7tq6sPhNszh2AER+O4PyDG2Yu+j7jbvlZY18z6MzFCRwihYPTufPmbRMLfZehNMDV WQaYj4ONZL+fpnwJr7orQMBPidvJr5leozi69895WuGNKNl+0cgTckz/kznv0ei5OQmd pr/IAKIexxoZiZsHMGp+QjxeHGzL6u7tcZCW/joGdicLWDWp3cE4oyAnBFkFYo36sYUw SYog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784277425; x=1784882225; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=tkXMke12UEjoM6/6vnzxRCqBivpTnQvavoQXcM7wjoU=; b=K9d3kLaUTCa8FhR0ewC00jRjS6dC0sMHHWE9JEEG1DkFW2tnV1/hvszDxrZUIMBqOW XWbfUHfg/Sg7Lt1MT4cUSbdFK1WLZGeAxHfYbPMQKuAsXy1Ua1Rjvwnf7rV8elq7wgdS M8tYYTRVUSiPncVvPgKxXgPGaarLhIjNP8pkJ+XWAUdMIHIlh1WO/FRngKdfRC4w6Prd rvylL5xVcUwupAH0LmgQe3nPEsZ0RYEecRMzcJLcS2Im+iXkOkWB4Gf3i5Cq+XJPPOhV Uyeg5igF/8RGx7tvHAGzQ3G1zqWQ44//Wz9YRsJUvp/WGe7ufZQWCkjDxDVU2gq3H5R8 1IAg== X-Forwarded-Encrypted: i=1; AHgh+Roy2BVYokRJ7Q/futC2f2ta/A0DNG5TzmTXZ/XzUCBkgxlM5wi8DNZiOC+J1nisToUwMTz6EA4qDkbb51E=@vger.kernel.org X-Gm-Message-State: AOJu0YwsAkKNZ2hiwE/1kEvjRVrMHJDuAycAAWnzlyoFiHKWH1sEg/Zn ljDdfkdn3IXio1MG4QL5NelizspSHUcqf1ul2OcTlTH0JkN8HmqRYB36vEQ6rMwh41OWPSMK5to vN4Ox/dtR8EDedO0OrqXOOtJtqF7AoTyEqlYafIsHE7bwLSkcZDid0eH9rJJtpEOsToE= X-Gm-Gg: AfdE7clUJC61/QXg0bPH7to+m2/E32jAa0TXQBZEvHBz728zA/d6dD+F6x5XVXjC1Gy KT4jEGOnim5G4nb8JEzb0UNwgf63uZ2uwmyon76uOPTVKA5KOLm+1SguJ4glL3ZLvPy3jKWPzLf or7Jc0LrJoegfPrDA1/a5LUcwOBBP9c4MDreYm6to0kk4PI1lbaomLyw4CAAwAoFBr1jRSiU3cv 7inNCR3RUtbeKrLNVTWxZ4fkk1GIrx4lix/UJkyp9AqfTlfHrfKmBOh5xo884Dw0XSlJc0czBYg dKOwUWNNKWXbBYuiYucMSlspqau812zua77LCKlvfIR9u5NBloZlZmlFfU0h9U5LAhC2FNbOFkK 3ZXLCsFCPq7PBccAL5j++j2GdtA52Rw== X-Received: by 2002:ac8:5d50:0:b0:51c:7b12:6009 with SMTP id d75a77b69052e-5213e77dc65mr12829061cf.85.1784277425069; Fri, 17 Jul 2026 01:37:05 -0700 (PDT) X-Received: by 2002:ac8:5d50:0:b0:51c:7b12:6009 with SMTP id d75a77b69052e-5213e77dc65mr12828841cf.85.1784277424577; Fri, 17 Jul 2026 01:37:04 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:dc44:5b1b:5396:79d6]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4954a2b893dsm31268205e9.8.2026.07.17.01.37.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 01:37:03 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 17 Jul 2026 10:36:32 +0200 Subject: [PATCH v22 06/14] dmaengine: qcom: bam_dma: add support for BAM locking Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260717-qcom-qce-cmd-descr-v22-6-ff0d18b27246@oss.qualcomm.com> References: <20260717-qcom-qce-cmd-descr-v22-0-ff0d18b27246@oss.qualcomm.com> In-Reply-To: <20260717-qcom-qce-cmd-descr-v22-0-ff0d18b27246@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Mukesh Kumar Savaliya , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong , Vignesh Raghavendra Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=11752; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=1J+vF7UXOUyhfbt9ie88vbPerIhpQsXc5X3PZY2nmf0=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqWemb4E6abOxAGf1dmDqXtfvXaAXkyocqX4Mld f0yGDiyEtmJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCalnpmwAKCRAFnS7L/zaE w1t0EACp9JoKJdfnEnwMg9m8R0RSIum9CmjipJHXJOTYu3y9Bs4n6GeUa+bXOuCnqDjcSVTD+Y9 pORTR4bhKPNmOo0V4VqJ00/uF65p/yz4ucVrHMw6uOaUFd5viHyrYKYA+DMQ4mHYAAqjtSOm++i tkmel84fsUGMIBqLGCQW0jErqudEYVPY/sGe91OogtVYebH5k3/Z1TeTm4+TpCcyyXTiJd83d6O URo1Sq+dJD5zvvf63qr4RKJnVQzyZqTcFDUutYgj+29rv1KZmK9qSIEUHywL5Hbrv77mzPoDHu9 geXN9lvxsv/sITjjnQSrXvZMIqXEiqLWAi3F3rrpRp7G/WcmuxYKMVvvtSHUy7mrmNYZn2Iunpe v6rl6waScUhMeoGZQDqmVOkMJuTIOZl++24a7oVUHPGQ9mf96LkewiSZJjCMf7p5ThBZ4SxdTaJ mYnMasdSn3Bd8sNW6AXSpb2WPsA2zlcTDsA9p75GO3dx6wuXKjIJIL77VLOniWxVyhKxJdR9vpI aocgn7Z0w817tnKzULd7VrJTX5OtyGLuw5x5qybqE4r7AG2Gj3LjPvLvhht64cNWYmYxowe44/d nbhRFnuYcJhJ0ykPfvzdmFXjMVKExYK1XALtoLZlxoMdi5z2yayYunmRvW2eG9p8O3eupaohGcz CyFfkPmNJeCiO2w== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=RbqgzVtv c=1 sm=1 tr=0 ts=6a59e9b1 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=-0mtKZB-VTZit_Rp23UA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-GUID: QPjET03UvzRf_sjQQL_M2XstXpKqB4i- X-Proofpoint-ORIG-GUID: QPjET03UvzRf_sjQQL_M2XstXpKqB4i- X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDA4NCBTYWx0ZWRfX0le3F2uWEkKl +aZlFsPFNDZ2sahNOxDXRoiVVwU24tO//9cnq/e6w+X3XGubedXLT2qgluHZlPQpt/yVSucIrHs 5TXrI6lYaaW3X0VaQQ1AGwFDsXbtn9EVIDXDofe4GETBrvOKsLtzN6xqjUbq6iQdeVg6tvwpp8l +mL1e35Fd5opYGAVy2b16uERAU7DvzDXnkR/1NF9l+dP41GinERSXGpfQC3lGSfTyxA6ktIbkll De7AdvCcMc12MY8nTZZo9bkDVqh5mqafSrQXWuVTobNN3RpJma3rv8C7dtjfORAjJb0TKEC84jl H1aB7BIlANM9puDB9fnx/1SgQOfzmGHguu9hauePbwhtRzEOisT2OfY/ohPI2KsT3oxbEyevkVR yxqeW18pbj6C/bexxCXlfgLP9UNYv/bIrAwSqBca25GfQ6ydHW0KjRNUE9qQXENTf69hMeeH0TG 6h942tyN868E0vyZUcQ== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDA4NCBTYWx0ZWRfX0EmefaztakRO uP7HqvyrQwZzXNzzgcFnBF2ms5E3q50tJ31WA3q4bHuik9UVVZY7LHjELrPUSse5y5QGQqYCqaS n8SVxn646MTvoPHhM9qr05UW/kPJt4o= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-17_02,2026-07-15_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 clxscore=1015 suspectscore=0 priorityscore=1501 lowpriorityscore=0 impostorscore=0 bulkscore=0 phishscore=0 adultscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170084 Add support for BAM pipe locking. To that end: when starting DMA on an RX channel - prepend the existing queue of issued descriptors with an additional "dummy" command descriptor with the LOCK bit set. Once the transaction is done (no more issued descriptors), issue one more dummy descriptor with the UNLOCK bit. We *must* wait until the transaction is signalled as done because we must not perform any writes into config registers while the engine is busy. The dummy writes must be issued into a scratchpad register of the client so provide a mechanism to communicate the right address via descriptor metadata. Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski Tested-by and Reviewed/Acked-by you could provide in order to help move --- drivers/dma/qcom/bam_dma.c | 169 +++++++++++++++++++++++++++++++++++= ++-- include/linux/dma/qcom_bam_dma.h | 13 +++ 2 files changed, 176 insertions(+), 6 deletions(-) diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c index f3e713a5259c2c7c24cfdcec094814eb1202971a..edaa694eb9df06043c0a4294561= c8ad594103e3f 100644 --- a/drivers/dma/qcom/bam_dma.c +++ b/drivers/dma/qcom/bam_dma.c @@ -28,11 +28,13 @@ #include #include #include +#include #include #include #include #include #include +#include #include #include #include @@ -60,6 +62,8 @@ struct bam_desc_hw { #define DESC_FLAG_EOB BIT(13) #define DESC_FLAG_NWD BIT(12) #define DESC_FLAG_CMD BIT(11) +#define DESC_FLAG_LOCK BIT(10) +#define DESC_FLAG_UNLOCK BIT(9) =20 struct bam_async_desc { struct virt_dma_desc vd; @@ -72,6 +76,11 @@ struct bam_async_desc { =20 struct bam_desc_hw *curr_desc; =20 + /* BAM locking infrastructure */ + bool is_lock_desc; + struct scatterlist lock_sg; + struct bam_cmd_element lock_ce; + /* list node for the desc in the bam_chan list of descriptors */ struct list_head desc_node; enum dma_transfer_direction dir; @@ -425,6 +434,11 @@ struct bam_chan { struct list_head desc_list; =20 struct list_head node; + + /* BAM locking infrastructure */ + phys_addr_t lock_scratchpad_addr; + enum dma_transfer_direction direction; + bool bam_locked; }; =20 static inline struct bam_chan *to_bam_chan(struct dma_chan *common) @@ -638,8 +652,10 @@ static void bam_free_chan(struct dma_chan *chan) goto err; } =20 - scoped_guard(spinlock_irqsave, &bchan->vc.lock) + scoped_guard(spinlock_irqsave, &bchan->vc.lock) { bam_reset_channel(bchan); + bchan->bam_locked =3D false; + } =20 dma_free_wc(bdev->dev, BAM_DESC_FIFO_SIZE, bchan->fifo_virt, bchan->fifo_phys); @@ -676,13 +692,24 @@ static void bam_free_chan(struct dma_chan *chan) static int bam_slave_config(struct dma_chan *chan, struct dma_slave_config *cfg) { + struct bam_config *peripheral_cfg =3D cfg->peripheral_config; struct bam_chan *bchan =3D to_bam_chan(chan); + const struct bam_device_data *bdata =3D bchan->bdev->dev_data; =20 guard(spinlock_irqsave)(&bchan->vc.lock); =20 memcpy(&bchan->slave, cfg, sizeof(*cfg)); bchan->reconfigure =3D 1; =20 + /* + * This is required to setup the pipe locking and must be done even + * before the first call to bam_start_dma(). + */ + if (bdata->pipe_lock_supported && peripheral_cfg) { + bchan->lock_scratchpad_addr =3D peripheral_cfg->lock_scratchpad_addr; + bchan->direction =3D cfg->direction; + } + return 0; } =20 @@ -802,6 +829,7 @@ static int bam_dma_terminate_all(struct dma_chan *chan) } =20 vchan_get_all_descriptors(&bchan->vc, &head); + bchan->bam_locked =3D false; } =20 vchan_dma_desc_free_list(&bchan->vc, &head); @@ -859,6 +887,15 @@ static int bam_resume(struct dma_chan *chan) return 0; } =20 +static void bam_dma_free_lock_desc(struct virt_dma_desc *vd) +{ + struct bam_async_desc *async_desc =3D container_of(vd, struct bam_async_d= esc, vd); + struct dma_chan *chan =3D vd->tx.chan; + + dma_unmap_sg(chan->slave, &async_desc->lock_sg, 1, DMA_TO_DEVICE); + kfree(async_desc); +} + /** * process_channel_irqs - processes the channel interrupts * @bdev: bam controller @@ -870,6 +907,7 @@ static u32 process_channel_irqs(struct bam_device *bdev) { u32 i, srcs, pipe_stts, offset, avail; struct bam_async_desc *async_desc, *tmp; + struct bam_desc_hw *hdesc; =20 srcs =3D readl_relaxed(bam_addr(bdev, 0, BAM_IRQ_SRCS_EE)); =20 @@ -919,13 +957,19 @@ static u32 process_channel_irqs(struct bam_device *bd= ev) * push back to front of desc_issued so that * it gets restarted by the work queue. */ + + list_del(&async_desc->desc_node); if (!async_desc->num_desc) { - vchan_cookie_complete(&async_desc->vd); + hdesc =3D async_desc->desc; + + if (async_desc->is_lock_desc) + bam_dma_free_lock_desc(&async_desc->vd); + else + vchan_cookie_complete(&async_desc->vd); } else { list_add(&async_desc->vd.node, &bchan->vc.desc_issued); } - list_del(&async_desc->desc_node); } } =20 @@ -1046,13 +1090,101 @@ static void bam_apply_new_config(struct bam_chan *= bchan, bchan->reconfigure =3D 0; } =20 +static struct bam_async_desc * +bam_make_lock_desc(struct bam_chan *bchan, unsigned long flag) +{ + struct bam_async_desc *async_desc; + struct bam_desc_hw *desc; + struct virt_dma_desc *vd; + struct virt_dma_chan *vc; + unsigned int mapped; + + async_desc =3D kzalloc_flex(*async_desc, desc, 1, GFP_NOWAIT); + if (!async_desc) { + dev_err(bchan->bdev->dev, "failed to allocate the BAM lock descriptor\n"= ); + return ERR_PTR(-ENOMEM); + } + + sg_init_table(&async_desc->lock_sg, 1); + + async_desc->num_desc =3D 1; + async_desc->curr_desc =3D async_desc->desc; + async_desc->dir =3D DMA_MEM_TO_DEV; + async_desc->is_lock_desc =3D true; + + desc =3D async_desc->desc; + + bam_prep_ce_le32(&async_desc->lock_ce, bchan->lock_scratchpad_addr, BAM_W= RITE_COMMAND, 0); + sg_set_buf(&async_desc->lock_sg, &async_desc->lock_ce, sizeof(async_desc-= >lock_ce)); + + mapped =3D dma_map_sg(bchan->bdev->dev, &async_desc->lock_sg, 1, DMA_TO_D= EVICE); + if (!mapped) { + kfree(async_desc); + return ERR_PTR(-ENOMEM); + } + + desc->flags |=3D cpu_to_le16(DESC_FLAG_CMD | flag); + desc->addr =3D cpu_to_le32(sg_dma_address(&async_desc->lock_sg)); + desc->size =3D cpu_to_le16(sizeof(struct bam_cmd_element)); + + vc =3D &bchan->vc; + vd =3D &async_desc->vd; + + dma_async_tx_descriptor_init(&vd->tx, &vc->chan); + vd->tx.flags =3D DMA_PREP_CMD; + vd->tx_result.result =3D DMA_TRANS_NOERROR; + vd->tx_result.residue =3D 0; + + return async_desc; +} + +static int bam_setup_pipe_lock(struct bam_chan *bchan) +{ + const struct bam_device_data *bdata =3D bchan->bdev->dev_data; + struct bam_async_desc *lock_desc, *unlock_desc; + + lockdep_assert_held(&bchan->vc.lock); + + if (!bdata->pipe_lock_supported || !bchan->lock_scratchpad_addr || + bchan->direction !=3D DMA_MEM_TO_DEV) + return 0; + + /* + * Allocate both the LOCK and the UNLOCK descriptors up-front so the + * operation is all-or-nothing: if either allocation fails we free both + * and run the sequence unlocked rather than leave the pipe locked with + * no matching UNLOCK. + * + * Both are queued in-band around the currently issued work: the LOCK is + * prepended so it enters the FIFO first, the UNLOCK is appended so it is + * the last descriptor of the sequence. They are loaded together with the + * payload in a single operation so the engine executes LOCK, the work + * and UNLOCK as one ordered batch. + */ + lock_desc =3D bam_make_lock_desc(bchan, DESC_FLAG_LOCK); + if (IS_ERR(lock_desc)) + return PTR_ERR(lock_desc); + + unlock_desc =3D bam_make_lock_desc(bchan, DESC_FLAG_UNLOCK); + if (IS_ERR(unlock_desc)) { + bam_dma_free_lock_desc(&lock_desc->vd); + return PTR_ERR(unlock_desc); + } + + list_add(&lock_desc->vd.node, &bchan->vc.desc_issued); + list_add_tail(&unlock_desc->vd.node, &bchan->vc.desc_issued); + bchan->bam_locked =3D true; + + return 0; +} + /** * bam_start_dma - start next transaction * @bchan: bam dma channel */ static void bam_start_dma(struct bam_chan *bchan) { - struct virt_dma_desc *vd =3D vchan_next_desc(&bchan->vc); + struct virt_dma_desc *vd; struct bam_device *bdev =3D bchan->bdev; struct bam_async_desc *async_desc =3D NULL; struct bam_desc_hw *desc; @@ -1064,6 +1196,7 @@ static void bam_start_dma(struct bam_chan *bchan) =20 lockdep_assert_held(&bchan->vc.lock); =20 + vd =3D vchan_next_desc(&bchan->vc); if (!vd) return; =20 @@ -1072,6 +1205,22 @@ static void bam_start_dma(struct bam_chan *bchan) return; =20 while (vd && !IS_BUSY(bchan)) { + /* + * Open a LOCK/UNLOCK bracket around each fresh sequence. + * Sentinels inserted by bam_setup_pipe_lock() are skipped: they + * already have bam_locked set and must not trigger a second pair. + */ + if (!bchan->bam_locked) { + ret =3D bam_setup_pipe_lock(bchan); + if (ret) { + dev_err_ratelimited(bdev->dev, + "failed to setup the pipe lock, deferring transfer: %d\n"); + break; + } + if (bchan->bam_locked) + vd =3D vchan_next_desc(&bchan->vc); + } + list_del(&vd->node); =20 async_desc =3D container_of(vd, struct bam_async_desc, vd); @@ -1133,6 +1282,10 @@ static void bam_start_dma(struct bam_chan *bchan) bchan->tail +=3D async_desc->xfer_len; bchan->tail %=3D MAX_DESCRIPTORS; list_add_tail(&async_desc->desc_node, &bchan->desc_list); + + if (async_desc->is_lock_desc && + (le16_to_cpu(async_desc->desc->flags) & DESC_FLAG_UNLOCK)) + bchan->bam_locked =3D false; } =20 /* ensure descriptor writes and dma start not reordered */ @@ -1191,8 +1344,11 @@ static void bam_issue_pending(struct dma_chan *chan) */ static void bam_dma_free_desc(struct virt_dma_desc *vd) { - struct bam_async_desc *async_desc =3D container_of(vd, - struct bam_async_desc, vd); + struct bam_async_desc *async_desc =3D container_of(vd, struct bam_async_d= esc, vd); + struct dma_chan *chan =3D vd->tx.chan; + + if (async_desc->is_lock_desc) + dma_unmap_sg(chan->slave, &async_desc->lock_sg, 1, DMA_TO_DEVICE); =20 kfree(async_desc); } @@ -1384,6 +1540,7 @@ static int bam_dma_probe(struct platform_device *pdev) bdev->common.device_terminate_all =3D bam_dma_terminate_all; bdev->common.device_issue_pending =3D bam_issue_pending; bdev->common.device_tx_status =3D bam_tx_status; + bdev->common.desc_metadata_modes =3D DESC_METADATA_CLIENT; bdev->common.dev =3D bdev->dev; =20 ret =3D dma_async_device_register(&bdev->common); diff --git a/include/linux/dma/qcom_bam_dma.h b/include/linux/dma/qcom_bam_= dma.h index 68fc0e643b1b97fe4520d5878daa322b81f4f559..30c0323851ed5201bd23f5382c7= 00bef66ba789c 100644 --- a/include/linux/dma/qcom_bam_dma.h +++ b/include/linux/dma/qcom_bam_dma.h @@ -6,6 +6,8 @@ #ifndef _QCOM_BAM_DMA_H #define _QCOM_BAM_DMA_H =20 +#include + #include =20 /* @@ -34,6 +36,17 @@ enum bam_command_type { BAM_READ_COMMAND, }; =20 +/** + * struct bam_config - BAM DMA peripheral config. + * + * @lock_scratchpad_addr: Physical address to use for dummy write operatio= ns + * when queuing command descriptors with LOCK/UNLOCK + * bits set. + */ +struct bam_config { + phys_addr_t lock_scratchpad_addr; +}; + /* * prep_bam_ce_le32 - Wrapper function to prepare a single BAM command * element with the data already in le32 format. --=20 2.47.3 From nobody Sat Jul 25 05:35:00 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B262D3E6391 for ; Fri, 17 Jul 2026 08:37:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784277431; cv=none; b=rtW5oNIm0ouzmD3wITzpT8vY9tG++vMRFTqTkqgCMDxQadvw2M2bLax9egmc5eG1XbuQfk3mixrsUcaaZCyZDGxllgHI9sio3UeGC2HBUjrEbt68Agm8GNO7k9OTpGAYdSRPoq19Vm9pQ5taoLnCD/zYj20gfFgTELR3MJuZzYo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784277431; c=relaxed/simple; bh=NNnz6awfeEqmEC/yqDO0GWP7yizfp6R665Mk39/3FRo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=F1iqWcVQch2tlKDD+hDYOaMyabRH7Jd02xyxA2rg+LCgvy4IDVqX3yTDLX/YFjedxd8m55wJAOJKlGtMkE2nFMsl6X2Oh08uo9JPeWe0y5Eyii9Gen/6DYulix5hTVfVwQK1kqyxmXuD5t1GH1QEAxXc665ZI12FGPcl1BOW/dE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=Gd6Nqypy; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=GAsis9Qt; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="Gd6Nqypy"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="GAsis9Qt" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66H6cRWI794303 for ; Fri, 17 Jul 2026 08:37:08 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= U1qOoj9SQUQgxQzB/fcCsnUQs1r8P8lLj6KzEKTr4FY=; b=Gd6NqypytLZD302v Qkye35x7Ez4iGwBsGkaOpzVIqSM6n9IMWBmrgmNApXQzSz8zGkX+WD/mspKT5NwJ +kmC9KugKd6XrQ4KD3Jw4mN21uF+mgtq1JaCnqQLxHf42eaXUYOhDxzSY19xHm3z 8eblrpFCprgqAnWlFCRrTdd7z9BplLjyM77gCPOdta7e0TwFy1PtcO04dwhRpthd M1tJNDQmVmraqbATsH0y0ujmmHVIRvoLxkKKgvhUFK6Y1+Qu7XjDxfq6Rx15UM/4 acOYI/f6x/7kpXnqWYiYVvE3Jnz9xsoaGbjUuwECiWG+g+WC3Zzy7lvc2wROAzdT v5gdFg== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ff3u8jvdp-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 08:37:07 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51bff5c7035so13239611cf.2 for ; Fri, 17 Jul 2026 01:37:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784277427; x=1784882227; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=U1qOoj9SQUQgxQzB/fcCsnUQs1r8P8lLj6KzEKTr4FY=; b=GAsis9QtKDpw94kolsdIPZIWn0khNqQlpWNww8ELTT8OEETizp98XP4Xi4WMascG7n Y8sUE0VrjiuCoCfh+efyMLwdpBBoOX/o33VTXCG9SiIAKZHSSWShhE5EKuoCYWORFdEi b/yHTKGvCo8zoBABuEcAenwgMf5X/pB5DH4nKwqsjswSCtgT4FTjNMps3/Gikoj3Zu54 HlP35WPXvtTCx1UGDeFQu1pk5pgyIAqz2PyQrNQrfsFez17tjcB5DRorDM04/x643Zjd 1CbiqM5AcMJIJqOVaNt0EyrROmWKsqUjQzftR5KIWglr3gXozNT0LNKxCWFYPnuqF1Qq kkuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784277427; x=1784882227; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=U1qOoj9SQUQgxQzB/fcCsnUQs1r8P8lLj6KzEKTr4FY=; b=QO9YOP1XJU23eZybubGUzW+eiHay5O9xqjSU4x3AprpvulhCsoeBfFHb3h6cfrcTxC jSGKTUDTrX8yu5HlpSf0TnaufM2FR/0nMiNoF76a9pSg2e/eoaGfeMlz8OWm46bwg1YO wDwXbGozdyBvil16TlP+N6HI8HukuyoYwhwV7+WAJ+ukOjrfBUndMnbRRWzQAF5M9oap y2IFsUyPLD/XMliGomgKUl31PToYjZg2zuSq5cP0HRGQcb2v6yEPs16ObKUHXewv4/IJ ctlXunDSQpAerjkey5D223bJUP8ct6RsP1IoQTQ7TudJ6COV7fTYbkmQRc6gML9vv+ka VoaA== X-Forwarded-Encrypted: i=1; AHgh+RqY8gPgHYSa7B8vAFNk+hWYb2c1QV3waMZr2RpMc6TRtGTB5J9Jjw+RdGm7Qf1g8kqHKbnXvEcs/fMaXZg=@vger.kernel.org X-Gm-Message-State: AOJu0YzQH+VeIzcukFty2mU2Ou7KmaaxnIpXUtbmLlQ/25DOGEV0fuB9 hZ6nR/NProbv+nW94w3+6J3khaSrCBOYRPLU399lRuz2/3BaWYXVSck6FGCWif/Nhw7v3gNLAt/ kJRCGrS9z+INGzuQYFCDcvKFQabiQAKIJqlnKJSnr7Ind7472ZOnB+OLwohrsMPleN/Q= X-Gm-Gg: AfdE7clHjgYR57JYOSJiAgYh/kMMhP9plUkitRaj4taI9fjpDazv+6ayY4YSIAOU8jN WyOhaGoj1g6HkEcwSOIe3nxDGDErZCm1a1CQ5S+NCHRggVWAmBv4LncOSFkWBbCzHFVBrLNrMTK JL0MtOkDGegMyRkHrEFBFL2c3JsN6JYO4T4A+8ZFz66iptJRrh96w/dfR5wf24uip1BpjQXytjh 20Iq+Xw6Mh3Uh25sEgt1WwUI9SbKKUMB5gIUYhQSnB4eZAbGC5BUA2mGO4ytLaudoT0oZK5UZ8M kcHZOOLZHQIeY30FI/Rq746AJc77tbn7NqLiqGVmu96nRN5GmJR3e+y6QBHMo3qXOSGehbSelvk zUrfMBXxmUGHd9vZIfjz6V9xh9cuUOQ== X-Received: by 2002:a05:622a:1f0d:b0:516:d612:d1c4 with SMTP id d75a77b69052e-5213c7e66a3mr12659771cf.52.1784277426916; Fri, 17 Jul 2026 01:37:06 -0700 (PDT) X-Received: by 2002:a05:622a:1f0d:b0:516:d612:d1c4 with SMTP id d75a77b69052e-5213c7e66a3mr12659571cf.52.1784277426562; Fri, 17 Jul 2026 01:37:06 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:dc44:5b1b:5396:79d6]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4954a2b893dsm31268205e9.8.2026.07.17.01.37.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 01:37:05 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 17 Jul 2026 10:36:33 +0200 Subject: [PATCH v22 07/14] crypto: qce - Cancel work on device detach Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260717-qcom-qce-cmd-descr-v22-7-ff0d18b27246@oss.qualcomm.com> References: <20260717-qcom-qce-cmd-descr-v22-0-ff0d18b27246@oss.qualcomm.com> In-Reply-To: <20260717-qcom-qce-cmd-descr-v22-0-ff0d18b27246@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Mukesh Kumar Savaliya , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong , Vignesh Raghavendra Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2473; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=NNnz6awfeEqmEC/yqDO0GWP7yizfp6R665Mk39/3FRo=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqWemc0P3SnZ9wy0mPwcL77Z76UG5IdlhsK5Sjk xZqGVduK4aJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCalnpnAAKCRAFnS7L/zaE wxwAD/90AXSH9lEsDxj4Nft5qs4JSqVCQo3d3zYtyaA7pli73663N0ILffraQmkUAKEuXJzIOSD g2CWzgFUiAKKquupkKpdoEbUz+E9JreWCzh3S8khnVUD4uwPlOBf+cXqCsYj5peNHMdhFPPcEWL pbV9a9/W2/XTp3fuZbY9hiiICXIQcWSoZE72j/8+ZJAbpOBOmFsYlsa3LU6+Ij0AhczKZHs3j6T dDpugoE9xCC1O85mpfFSNTXb29FVneI+d5W1cnolXjwxe1291mFmyfhA/B9ct37/QFd7rDZ3I8d Q2QR7puFiZKlbc5edThli44U/iazMeW7737oRS8H7TpOW5wx4HU5cMl066iguW4GBC9VkbTRFgL 9YnaODiC3FgMEWPJirJufbeA3ZYvZe1kBUjT4sGWw67FoGBAuZkQWs8RWEp1CU8yUi35NbD2CDl Yl8pnBXco/flloL5BxbaOtoAVec0+yMzZdMjOUlfd7Kw1C1lLCmgsuFX6yODNaU0wjGx9IPe/YI gq1auddOs9yTTRD/9+bP7OLfY0OTdikVhqTAlGvMlgj8P2pgO6eP6Y+Pmf4Fvj2EvrqAsiEAed+ K+hS9lc7EHhEiylciEwaUXLryhTP0WDyrOycsb8ZtnmoSxIQ2I+hvqO1sH7l+vrcfq4zacJNzQJ dx1R7bRGxy60Bbw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: xRbNGmRyM71GhyeB-55Y8Ve8NAA_WKkL X-Proofpoint-ORIG-GUID: xRbNGmRyM71GhyeB-55Y8Ve8NAA_WKkL X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDA4NCBTYWx0ZWRfX+jEshFg4Ffed +TL1aP/s/o4yCIi/yvytg8ck/7bfxafeUYGP+ZLM8xDKNCUX2h3WKexo+h6SG+ctXFYhu5KDvHo kacMjuk0bLThFVk7Ueqo/s4ok31TaJQ= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDA4NCBTYWx0ZWRfX7VX2wLYEfON1 H4EY6GA53ZdKpzShlU2Q7iNGwlWiMVhWBrvhhDMatsJDUivsPrFuMe0EEOqSZEWyGXz0Vfo1zLC Ez0ZW1LLhrJCtPJwtiz//91ck4DNDbCt5W9klfr345HHcxDsz6oaLq/5WKmmEEgpnBojpEbKRQZ E78xBEbyRz0AEXi/Gfde+tX8Eo0zydWmIrhHPS3+HVAFUi3F0pEh/arK5aEgRd0/u0x6D0FP49F 0m27SDCb6UgnRUbPQvWFFE8LRXjQQOZ/bHo4mLnpxtjAcavtt9HAelrioJa/GklnT8+VcvZLX5V EbA6FtvQQdc0pWCjAeMq0S+dk4jXePUaMZaCQC80qhljtiq7QQIcGiQwA/b0pOUYaKe6dpHCWAD dtAu3XaowTwoMZdYhPvuWMXdoqNMGL11KO3McLv0wOTXq4iCMtBTCNtIlFgQ3xOfJe/218f1Oxx kcAUMjM3Nn/7GsEA80A== X-Authority-Analysis: v=2.4 cv=TL11jVla c=1 sm=1 tr=0 ts=6a59e9b3 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=c92rfblmAAAA:8 a=EUspDBNiAAAA:8 a=VwQbUJbxAAAA:8 a=SDQHpg0AWQOuS8LWovAA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 a=GvGzcOZaWPEFPQC_NcjD:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-17_02,2026-07-15_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 priorityscore=1501 clxscore=1015 lowpriorityscore=0 spamscore=0 bulkscore=0 malwarescore=0 suspectscore=0 adultscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170084 The workqueue is setup in probe() but never cancelled on error or in remove(). Set up a devres action to clean it up. We need to move the initialization earlier as we don't want to cancel the work before any outstanding DMA transfer is terminated. Make sure we do terminate all transfers in qce_dma_release() devres action. Fixes: eb7986e5e14d ("crypto: qce - convert tasklet to workqueue") Closes: https://sashiko.dev/#/patchset/20260427-qcom-qce-cmd-descr-v16-0-94= 5fd1cafbbc%40oss.qualcomm.com?part=3D7 Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski Tested-by and Reviewed/Acked-by you could provide in order to help move --- drivers/crypto/qce/core.c | 13 ++++++++++++- drivers/crypto/qce/dma.c | 2 ++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/drivers/crypto/qce/core.c b/drivers/crypto/qce/core.c index ac74f69914d6175b39ccde43f16269570fbcf715..b52a26ffff5ee733adcf4e8cf8b= ef75018dfa63e 100644 --- a/drivers/crypto/qce/core.c +++ b/drivers/crypto/qce/core.c @@ -185,6 +185,13 @@ static int qce_check_version(struct qce_device *qce) return 0; } =20 +static void qce_cancel_work(void *data) +{ + struct work_struct *work =3D data; + + cancel_work_sync(work); +} + static int qce_crypto_probe(struct platform_device *pdev) { struct device *dev =3D &pdev->dev; @@ -226,6 +233,11 @@ static int qce_crypto_probe(struct platform_device *pd= ev) if (ret) return ret; =20 + INIT_WORK(&qce->done_work, qce_req_done_work); + ret =3D devm_add_action_or_reset(dev, qce_cancel_work, &qce->done_work); + if (ret) + return ret; + ret =3D devm_qce_dma_request(qce->dev, &qce->dma); if (ret) return ret; @@ -238,7 +250,6 @@ static int qce_crypto_probe(struct platform_device *pde= v) if (ret) return ret; =20 - INIT_WORK(&qce->done_work, qce_req_done_work); crypto_init_queue(&qce->queue, QCE_QUEUE_LENGTH); =20 qce->async_req_enqueue =3D qce_async_request_enqueue; diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c index 68cafd4741ad3d91906d39e817fc7873b028d498..7ec9d72fd690fb17e03ade7efe3= cc522fb47e1ac 100644 --- a/drivers/crypto/qce/dma.c +++ b/drivers/crypto/qce/dma.c @@ -13,6 +13,8 @@ static void qce_dma_release(void *data) { struct qce_dma_data *dma =3D data; =20 + dmaengine_terminate_sync(dma->txchan); + dmaengine_terminate_sync(dma->rxchan); dma_release_channel(dma->txchan); dma_release_channel(dma->rxchan); kfree(dma->result_buf); --=20 2.47.3 From nobody Sat Jul 25 05:35:00 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 49A383E7BAF for ; Fri, 17 Jul 2026 08:37:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784277433; cv=none; b=Up2s8kFTADfduG5b/PxE8CGAnlqvTh6+++MCLRqXUfk2jRwk1EpoEZkjDKY5LyKiZ5GtJHrZEgkCRNGEnf5ar2Xn469MPin8Co/Y7XlGW8/39Ht9tNyO64qrNL36ob1gAo2xvu6m3juk+uZRnZyM7F3J1BH2+eBybJiwqqPBFuo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784277433; c=relaxed/simple; bh=vuAef0aUBOeSio60r/pSKcTossm3V61GQJlAyMtLfKU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=iWNAGKoOC5/Z2qQHORotW8KsJXNOejAYXaAjpiZl/K2w5qv9fAHrOKdave5uhwdCwAq9qwftTNgjh6QV/XRVFlb2u/FxmZG+vOuQVy7M1zIWbAGKrd+lMjK7C/HRGI9TGwByaJ3mBGzhSGMSvfUNSGSZcQQ2sJ1JlgOzh/YJ/jI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=O9JPLqxs; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=fZoqGAeu; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="O9JPLqxs"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="fZoqGAeu" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66H6cJXW2098601 for ; Fri, 17 Jul 2026 08:37:10 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= ToTIYJiHy5tONa3lc6dWWbGZLTEc7JJCb/cDS7cr/tE=; b=O9JPLqxsZkCgr197 M/tpqBmxSAADbhZYhHXVwD3wXMilrw3Fc3ZntwHY/F0coinkqs0D1n0Tu7zw01j/ U/AGROZ3OBz+Q1x46l7zOboFq7A+e8u7mlxMi2KPpel/urKTPeLYDFb5pnHiOW2q ayQP1LY3oFawv/9rp7zBK51fkBLS91O/P325+7APznXmBbve7w41+29L5V9gQQeY gUtfBEvWjx64HJBl5x/PYBW8/4W/M9pJ3hjRoI9JMrj3/8EGT2OOZlATfxaOMTE1 djsfnG0byTLCb6H3U6hfQ9HsT6bcZ0ulCzFV8fnojOHuooUGoyFlj0lM5IUooQ33 vEK4CA== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ff3u6ju42-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 08:37:10 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-51a8b0a08d2so110557081cf.0 for ; Fri, 17 Jul 2026 01:37:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784277429; x=1784882229; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=ToTIYJiHy5tONa3lc6dWWbGZLTEc7JJCb/cDS7cr/tE=; b=fZoqGAeubn8m6hVwj3jq3s2P6GZDcKSJtYw6qmTg/VwRc5JXs+e3U9XVLKgoVSe+nY BhFjTjlU118jg6GrFatcne6KVtw0owJJGjsA1YvHVokV3lbFEcU31WSk7+wIUDn8wOD3 vwE4o9lpihi3iUUzIVGA9cRundyEzM6lAtEVqF2y7YcYfqeP0jbUB1vdLb6kuSTaYwfs cAUKw9tt5u90S1Y8U1iGQSIEHsx1EsuBpzSKRbfizy/jvk4B/fbMA2EqiptMES4I32w7 ERXXjlVfDzfyD6AogrijjBplfaQRx+P1ymJCcTaD8vSZ9/ECszh5VrfeEciA50h0xpkD T2pg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784277429; x=1784882229; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=ToTIYJiHy5tONa3lc6dWWbGZLTEc7JJCb/cDS7cr/tE=; b=ItzYo57h6qsOQnJl18Knt8zoahGhxZ64EmgyLwTPZMw4DGAfeothB6dfPsFo/ulJk7 sN0DpyJEgaoEJxG6ACz2GQPjeVL54H7h8+nw9sHAjMUsAAOBjav+tYfsyUHzmFKMfGxu ABC29UMkehOXkSmFH0ytJk+oMTOine4w5F9Rdholum1MwbMYvROheAgnO1D3uxqW3kuE MS7DGYPp5anAhK6535h/0APJvXchvtuRZgaSKuV7w9yFKI9lhOwwTZmkq2O4fAaBKjYW b6/NY2Meu59NWH1M3OCXGMKQTLPMibty8uJTYH2wOewmEED0LxvhHLiufQWZmTCqdHuq 0vWA== X-Forwarded-Encrypted: i=1; AHgh+RoZ+hPu7otxHZkbP7KvYinXtKK7cyeCxGnhD6H9M1DwlOMHtmd6jP92puYQGj7UbExTntS34MlD6SgubQo=@vger.kernel.org X-Gm-Message-State: AOJu0YzkmCMjS1ZDFL51FSY2kZuaksKZlB/raEhKU5iOTwY1IIETIWfd l2aEbqtlkWTKeX62UwjXbH0pMFCfEH6pDCIkHd0QpsfChk7/EmtErFDimYWnfyy23lm414KFxUw 5F7edtWy1zENbecJKM+xUuzYvD6IdbxtOLB8fCG6bmQ067XvGqZy4lPyQ5/oCDRG9GcE= X-Gm-Gg: AfdE7cmdhw6wCcrErs6n8+miUXS9THS2b7tJZP4d0Zafnu5zCwMMFQCRHdL8nTUkybO 1tyfR+plxSHzPtfgYpugzEesM1Ya3ZAYaTyjGAykKtosYvQDbd3MvVk57p0qiobVryyV+SeG7zh L4T3yWvSpDzm4Uz1dYYYOz6KnoGdnesbXDqriG2RczvcKQv3rZrDDwqdD+pVcj15ahiOpSVv9XL TapNXJlBmkCsBhCF5JvFh00e/zMlKedNEr6SLA+OLYngW3zjq3wQtZG0YMb+WwPxpRC4Wnq7+RV ovK0pepaNbbitspaMXQ4yfxoj5bSKb1BmUf/GFvfXf34IEAvAYdGyWbwpIcXSP1FWGYwJjJfvX3 YzH8qSeI7yLTYASDwTSvcjUcg6TQ+4A== X-Received: by 2002:ac8:7e8b:0:b0:516:e00e:6868 with SMTP id d75a77b69052e-5213e0828a4mr11943561cf.46.1784277429617; Fri, 17 Jul 2026 01:37:09 -0700 (PDT) X-Received: by 2002:ac8:7e8b:0:b0:516:e00e:6868 with SMTP id d75a77b69052e-5213e0828a4mr11943321cf.46.1784277429116; Fri, 17 Jul 2026 01:37:09 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:dc44:5b1b:5396:79d6]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4954a2b893dsm31268205e9.8.2026.07.17.01.37.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 01:37:07 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 17 Jul 2026 10:36:34 +0200 Subject: [PATCH v22 08/14] crypto: qce - Include algapi.h in the core.h header Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260717-qcom-qce-cmd-descr-v22-8-ff0d18b27246@oss.qualcomm.com> References: <20260717-qcom-qce-cmd-descr-v22-0-ff0d18b27246@oss.qualcomm.com> In-Reply-To: <20260717-qcom-qce-cmd-descr-v22-0-ff0d18b27246@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Mukesh Kumar Savaliya , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong , Vignesh Raghavendra Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1305; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=CUp2WTmSuEfCdx1+Ds/evRL1UENxTV/cwxTY1f9GBAU=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqWemd6cehoOTSgO5KMuQ6mnv8y35bchs1VbAIH /rdTqYrAteJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCalnpnQAKCRAFnS7L/zaE w7vND/9DxMXd0FXloN6YHYOW6Iw51rxkoLImPEgptMEsGc2uqcMLZrvk/mg7ZWygXJFnZjmEL44 cceP2ouO6GzVURWecwAyquDtun93JntyCV4ZvcD737qZGhv36Xs4ZKolZbLpKOP8lXFxs69Lekg ud70LPwoYhBuOBA0wNw/wiaiIVyK9x8QwPvyGMwal27oisVsGw4tro9wneK75y5Wh2bBOsFsJoO Z3N78KsB0JCsMfKjTkq8cIdpOu3jgnZdxQdwMXQKk43sHATCzHWLfiFyhlmivLEaGdKg8w8p467 PW/cjNI9/wxmjTVd/LxKLogNptkmTHi7lvV0oC7HkeZlkI6X7qKkBBMZK0IzRd3gEX5TPoZ8QAR TTlXbnVZ6WoEMmM2cpgbNWVL6igCGE6XlfsHJS4ySsyn5A7X4CcgrytCW3KMtUMpmaOLRAxplT4 mvQ9h/eA7Z/OrhTuk97AQbrVX+j2vLp50BHgrvQYAREPx1UdO7JR/3k/IkX1fdbpTpUaMEtgFT/ uxuYYlivYgZXGx1ElH9NtNtEH+zYx8CWaezhWCTXz1cxBjMAANRULiQCTmYIa1Csie9jjst9gkz zIrXJ5q8UU+cleRDwV6R17pW2YCdNIEIEAx+IAgr09iCmTwRZx6m3CnrWlgqfQcPcRzaYcAFhkk uqpAA5FXfTRmagw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDA4NCBTYWx0ZWRfX6lzROOPGNZQ9 Rve3YDP1fbDlyztsqszj7LmS5ZoaqN96ZzBDqgYFyYgAZZMPdMce79eo278ywmMeJpdebwGwTem hVByg9ZWELiOmmM1bUPtlF7vIOyOI7H11RrnS4pViORjggLOczs0bj9W+D5SVmR6uF2NX5x51sT i7OWPic+7U/sRZ/3+Mwi2BNICF3aq1+cOCAwRDXrMNKLGFfTSJPB9ZK1qm+74snxAJuRDXzearO xx/frpLOANfpgva/o/UYW8v/IFph9nByo1RF9lNQdBxCWgOnhLbl1RjHIlRyon4tYHJpRauPV6A NZnBn4qWYiPtlCI3vI/E6OGDoGGtHOWIV4eBAG9nHAC3yVPSRNP11EyhRH/ip8I5orGqklqVmU0 0gCLVCXmoX9cPuWOeKJ52ZJMkMKCg56Vn5oZ/Q7gGmXWlXrZeFgb/MUZHwmLLgEbOG96ks0wval IrsXEqoY55hK40JlkDQ== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDA4NCBTYWx0ZWRfX1DWCjqmKFAUj 2WE2cz5y56CTgtfH+4FMt1XAmIEdURS0/2pJeLgbGfOWtDReDh46AISk22Y+OOQAMRFf8VfuFrA 88rPajGjBRvgLXPoT8xv2P+eiqefdRk= X-Authority-Analysis: v=2.4 cv=DYMnbPtW c=1 sm=1 tr=0 ts=6a59e9b6 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=rvG61WhHFVBzVmnuldcA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: 6uJhAQgeVpOrR_To1jdJog-TXLvH_4dL X-Proofpoint-ORIG-GUID: 6uJhAQgeVpOrR_To1jdJog-TXLvH_4dL X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-17_02,2026-07-15_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 impostorscore=0 lowpriorityscore=0 bulkscore=0 phishscore=0 adultscore=0 priorityscore=1501 spamscore=0 malwarescore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170084 From: Bartosz Golaszewski The header defines a struct embedding struct crypto_queue whose size needs to be known and which is defined in crypto/algapi.h. Move the inclusion from core.c to core.h. Signed-off-by: Bartosz Golaszewski Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski Tested-by and Reviewed/Acked-by you could provide in order to help move --- drivers/crypto/qce/core.c | 1 - drivers/crypto/qce/core.h | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/crypto/qce/core.c b/drivers/crypto/qce/core.c index b52a26ffff5ee733adcf4e8cf8bef75018dfa63e..dd860435d2c47a608c82cc26865= 83a44ff96c889 100644 --- a/drivers/crypto/qce/core.c +++ b/drivers/crypto/qce/core.c @@ -12,7 +12,6 @@ #include #include #include -#include #include =20 #include "core.h" diff --git a/drivers/crypto/qce/core.h b/drivers/crypto/qce/core.h index eb6fa7a8b64a81daf9ad5304a3ae4e5e597a70b8..f092ce2d3b04a936a37805c20ac= 5ba78d8fdd2df 100644 --- a/drivers/crypto/qce/core.h +++ b/drivers/crypto/qce/core.h @@ -8,6 +8,7 @@ =20 #include #include +#include =20 #include "dma.h" =20 --=20 2.47.3 From nobody Sat Jul 25 05:35:00 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A6BF43E6386 for ; Fri, 17 Jul 2026 08:37:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784277435; cv=none; b=F00EL14kEIXw33h1Co9PcUn/QTOkq0T3FwEnunORo60xovPW32ii0EbBKhqpqI1fohv9t05NUOo8HAPajI0cLtXsN423akXOUJ3FC8lA0S989bxPRFTOgfRXDDKe4vhaAcjPaNKSCQEgK9qpDm5ADD1KAFhE78PaFrL/ZKfdcjI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784277435; c=relaxed/simple; bh=vpDVf/b6zHPEUgtVCAl2sRJELM4MLJc6gtP24/up104=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=lFSnFdVSDlLUDJiDZji+IZ0cJ115S0LoPqYqovD4DaqN8K8auqZlTQJ10hf0F+lMa6f2+OR9F13XIe2wV/hadU5AEYJXludvR1gkZ2SlCW5rHqUD+mg+5IeKy/c6jBrFTIH0cW1QTAHGRFktPy14IcSjKm3hGYqzi5X+kM4ckaU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=OSgaqMl0; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=VOnMyi9C; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="OSgaqMl0"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="VOnMyi9C" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66H6cixX1093146 for ; Fri, 17 Jul 2026 08:37:12 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= twry+rQD67k4KXlgASz4DIRuOCwVvltNp8BQTuA56nA=; b=OSgaqMl0aKmYC9ET UbqKG9pNbuwso9D3mvZDHBxo2m7qGmHqLgImz+Sqgv3GXyOUSROtsPOpM4mi9Oeg BYKlwl8JcTwRLUEJi8InijrIUFRjfMYNxD3V3D0M0DwMMmezMsCmc+sL3KIZNb82 JrOITn0dr+g3UIu0+8WCT7K2xg+z126ncS25QzmCit2/ap5sM2Z+NFLc7I3/vAsd 2osiJEwYvCe7lXSNO90bw2ZuOvmjZ9OV9ebuT3WOYdseBs9TMCHcJW69EsZJay+o t4QOlBO8AHBTiJIq1YRM8m6gAQdb3QjwOyWk27BXEsLGpLdIjYR9Ns1C+5ii7XD0 7MXYoQ== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ffe0urrr0-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 08:37:12 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-51e4ba1cfabso66654511cf.1 for ; Fri, 17 Jul 2026 01:37:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784277432; x=1784882232; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=twry+rQD67k4KXlgASz4DIRuOCwVvltNp8BQTuA56nA=; b=VOnMyi9COEGlVPT1SSDr9joN4znBfoi5I91AXrofM9tmuftHR8yZ2YFdZhgufAfNrY AytG0ohuIJZfycADKiGQkmLmsyh1q2VQTODTDYhpGuBWTp5fj24FpO/anii9O5kK0qwi 6wt1asr5Z9ZwvblcJysZfjdkk7AZVPffP30i0lxGteOLxoRwnj+k8qEvs1qnh6p5e6XB GsPMA2uiEYskYkTKKWm3C2Ns5l36wouOmSKaZ/Ah28vsWdJkU+VbF+m6C0s0yOGUZFC1 uEcD/pDogFuNh/RIB4SSV4u/3/WM0zGqCIn6wX2H+LGPcHYUDKPjvNEfADwV1c0VaasN UboA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784277432; x=1784882232; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=twry+rQD67k4KXlgASz4DIRuOCwVvltNp8BQTuA56nA=; b=Vg3fjGKiPy3zx6S3+s/ivSMuEEOc3SVunoLlGdQjopnQu912qTYpagcyWeuuEzzqpz Zr2s8PHGJ66a2gjHbBd0U3ss/wzxtRrOXCJK0TdOsv522yRkxxA0I4dCX0mlrfFlDSLH hZLlteV7bi3hlwM/afIrzYc4ZGEMEZ8lRwUotRMV1Gui6qfetkhrHJMjyr+B6pjACx/r ydAkPtRfsggSAmZPyGFZM6Gh1fkhDyn7NFnvKHUsy70fbToyddlmcOx/xvlvsbbbmWpV wF8jigOoM/SI7c2mwY/GIlA45Hg5nnFjhiyUPFsRHSnqXmadaupZgKfe9PaHxmsyMLFU 5kcw== X-Forwarded-Encrypted: i=1; AHgh+RoRkVDvwVJ0ydaDg8Y6Mk8M9rqDfmkwEh/6efNHcRy1nND0tcNm3uCL5kOeDrdqfxmTCVGKS4BBXD5cRP4=@vger.kernel.org X-Gm-Message-State: AOJu0YxooYvq3/kDYG11VlmtZNvGinlEFE3upDUi7mcGt2XZCQVjkXl+ BUiV2TPOL4bgPZ4gCH5oX1P0PcUGbSETmrYk3KlX1apG9Qnr4mzNyzo1lNKWiS24gnKB89PCdgV 6OIXbze98bJPr17sCAyREuNsjETELL/Zs/22GGTfgvP9uIs6KhWa9HDieaDEk0gtvH0k= X-Gm-Gg: AfdE7ckF1XolKNOVSmI/vcpNukrk7j5DKQfdx6WUq+1k1qa6gq2ymD6gaGTReMiAk4/ sQwu/h4GkXVDTbX3qZWcoX5k5JFm6kIC7BBlA576Ut2tKVFYSuN3Py1D2wSEAZJDb0d/A7t8MPB JWLblf8kG4uTO6ysxlpavNFJw9eY2TRnS3E3cWT2qBCIHdvtEZrIjc6qK4JqMgH4iW9I+mDuKqU z5IryNz7KSI6AY5t/+u5kT4xwooGBOnpiqPaaWkulzSJmw+fdpKQxMNfL6TLVpYtQVHLFi9nl+I XZ1WSU0yP4xgDJZhrLsqt6B7Es+QO3ajdcbigjB5QSz6ZkvM70+fbhwYic3iRbAt3TwLhQ7Ar6s FM58hI+mz+1NcEo9zMoS2A9n0iKckLw== X-Received: by 2002:a05:622a:418b:b0:51c:4fba:5b12 with SMTP id d75a77b69052e-5213daa1d9bmr13282061cf.46.1784277431701; Fri, 17 Jul 2026 01:37:11 -0700 (PDT) X-Received: by 2002:a05:622a:418b:b0:51c:4fba:5b12 with SMTP id d75a77b69052e-5213daa1d9bmr13281651cf.46.1784277431284; Fri, 17 Jul 2026 01:37:11 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:dc44:5b1b:5396:79d6]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4954a2b893dsm31268205e9.8.2026.07.17.01.37.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 01:37:10 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 17 Jul 2026 10:36:35 +0200 Subject: [PATCH v22 09/14] crypto: qce - Remove unused ignore_buf Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260717-qcom-qce-cmd-descr-v22-9-ff0d18b27246@oss.qualcomm.com> References: <20260717-qcom-qce-cmd-descr-v22-0-ff0d18b27246@oss.qualcomm.com> In-Reply-To: <20260717-qcom-qce-cmd-descr-v22-0-ff0d18b27246@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Mukesh Kumar Savaliya , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong , Vignesh Raghavendra Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2066; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=j6XY4tGbVrzzivRLNBnBuYRESnCKLFI7yXVP5haQkuk=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqWemdczVwU/9nvIx55Hfh4Ky/83k3YY3NS2RzZ cZ4fCqSkwaJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCalnpnQAKCRAFnS7L/zaE w3AxEACbwrBfC7Esgs6dcpgEttXqReVrfPK8KOLqhWJv3vEhN6UF+PBYdph8VDwqqjoxDcmjMyj Jbocfq01pM/8TUD8iP9LX/TaZX0g8HhyuYj3elcOWBCo+jGKSVKHxMwhhzyBcLPNsISdUcd3Oev 5my5qUJ02IKNTio9C0c+oM3jxs2nbnCiEEWUl0FKjHvZI4mHBJetvCxYRcI47CyGyeAvpF/dPir 6bCpnHS0YARlyHS4INg1iSnB+/znQvoYBa9mPSjagwPCdLOOdH+qTMolHOzfmJt+7L+T5LH6Ta7 tDBTxFUQU5Ue4Ck61F015+E5/MW7upXQgfDkCGZPJRAcirhKb9ax6y7Ni8c7YcC4YWpVO07f+Et 1KmrSPdek0+o9pRBF1rYHDkdHgWNvbJ0ZOgOr6nBNJQBw1ioiZsYtcCQ9p3VaXeegEf/DOeYgrR KKpZMDIXPRfrkjSoxun5bpQGmaBgVrmz1eDCfZVU5i2Yvex4l4XpvSaYMyOmjFHj1wfAOKjZRoW pEKh5QuWS7CYT/I1eONqiua/+kaZkFGKUDkcUn+Kjxsdt4dmqNtMFat1j26LdpgRg0Tckqm3Uzu j2JH+Ix9/7G8sj1leK0myV7tX2UCcRSWtXqMaaOGnB29S3HN81ME03rMIPLbHfiAF2kvft5sS7u 5lX/ZtjrOoUvq4g== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=deWwG3Xe c=1 sm=1 tr=0 ts=6a59e9b8 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=tWRRbWwrKX-5tUpmLDIA:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDA4NCBTYWx0ZWRfX2lJ+M2mLduXf FaXmcBty5JVa4yk18mDVpufY+O01x6lEXSrk0KDs1qXh1fkouqrozgLVv5UQErgyTTgO6Ha3dLq 8u4L5jPULyomrva9rt2FnNUHGyHGetR3ED4DD1u/ZtjFp0SLHv3To1EE/MBqTUuW81YPRopNwK6 mNEX0D+rzqvkf40y+CJ7p2GMVxWx3jVVGVM90iK2tLBU3i9TeF1N+Rj8y+smc4aH+8FPruqAbSJ 3dFRo9I+UCQMRdThD/ZcLju+RSLlzGSJvIG2JGjPqoOLuLlAk5QBAZyOS6jrvZ6S9V+c9rBj+0y /gNKCfu6rqjOdHPKVvQAdpLFozSfECUbma/FMk1cHOnCkuNuXWAB0dfUsX4dChonj5QOYwUJ40T exmX3lWva6qEQVhoFUdTFAZo0+EOpsKU9HNL0ADqQC0KWXaeD2Fowkogeovgm0U5gKBpmPWbFOx bX9ppTy2urdiKrgYvRw== X-Proofpoint-ORIG-GUID: bGlinIWvxldcWuTdovATlJDhIf9zjxWT X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDA4NCBTYWx0ZWRfX3ciMTUkOhEZ0 41FPRnZbaFLtXIxflPT2SMradTCqZYKymXG8EQisomeqPV/cTfLkxcIsH12Jx5cd6igbBKV5Xkk 34y9XltP00w3HOZLx3r79pACYCOEXVk= X-Proofpoint-GUID: bGlinIWvxldcWuTdovATlJDhIf9zjxWT X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-17_02,2026-07-15_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 spamscore=0 bulkscore=0 priorityscore=1501 malwarescore=0 lowpriorityscore=0 adultscore=0 phishscore=0 impostorscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170084 From: Bartosz Golaszewski It's unclear what the purpose of this field is. It has been here since the initial commit but without any explanation. The driver works fine without it. We still keep allocating more space in the result buffer, we just don't need to store its address. While at it: move the QCE_IGNORE_BUF_SZ definition into dma.c as it's not used outside of this compilation unit. Signed-off-by: Bartosz Golaszewski Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski Tested-by and Reviewed/Acked-by you could provide in order to help move --- drivers/crypto/qce/dma.c | 4 ++-- drivers/crypto/qce/dma.h | 2 -- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c index 7ec9d72fd690fb17e03ade7efe3cc522fb47e1ac..d1daa229361aa74da5d3d7bfe1b= c8ab189761e38 100644 --- a/drivers/crypto/qce/dma.c +++ b/drivers/crypto/qce/dma.c @@ -9,6 +9,8 @@ =20 #include "dma.h" =20 +#define QCE_IGNORE_BUF_SZ (2 * QCE_BAM_BURST_SIZE) + static void qce_dma_release(void *data) { struct qce_dma_data *dma =3D data; @@ -43,8 +45,6 @@ int devm_qce_dma_request(struct device *dev, struct qce_d= ma_data *dma) goto error_nomem; } =20 - dma->ignore_buf =3D dma->result_buf + QCE_RESULT_BUF_SZ; - return devm_add_action_or_reset(dev, qce_dma_release, dma); =20 error_nomem: diff --git a/drivers/crypto/qce/dma.h b/drivers/crypto/qce/dma.h index 31629185000e12242fa07c2cc08b95fcbd5d4b8c..fc337c435cd14917bdfb99febcf= 9119275afdeba 100644 --- a/drivers/crypto/qce/dma.h +++ b/drivers/crypto/qce/dma.h @@ -23,7 +23,6 @@ struct qce_result_dump { u32 status2; }; =20 -#define QCE_IGNORE_BUF_SZ (2 * QCE_BAM_BURST_SIZE) #define QCE_RESULT_BUF_SZ \ ALIGN(sizeof(struct qce_result_dump), QCE_BAM_BURST_SIZE) =20 @@ -31,7 +30,6 @@ struct qce_dma_data { struct dma_chan *txchan; struct dma_chan *rxchan; struct qce_result_dump *result_buf; - void *ignore_buf; }; =20 int devm_qce_dma_request(struct device *dev, struct qce_dma_data *dma); --=20 2.47.3 From nobody Sat Jul 25 05:35:00 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D6EA23E9C12 for ; Fri, 17 Jul 2026 08:37:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784277438; cv=none; b=DOewB4yIacAmWb8jueyQcsKDRq5K0DvewHt967VUdD4WmHFf/6cCyNYWz/uyZ2Gvz9dzOxiFWtflv9t2U3GiYIVpeGRPcnkKFb9O5u7cJb1d3lJR5DYmDqJUfF4g7VepdvEWe5P5tJL64sVerrf46/wIyK2a+1vtFoYg/Qs9b8c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784277438; c=relaxed/simple; bh=/3Q5BLE2qswUURgRMp8Md6+CmS+GMHS0PuiKEz36BBw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Wl1pJrlgBPyJqNqZgr/9flXi6qqUlDrD2y3yca5dHZq87REfdVUloNacTRbOepdtHVmXaH1lKUfXlDtirx/qY3RGv0PZs3kqH10zT0IPHb1RqHioKY1CqJuzoW/xljj+GiKpojI5wpTPqqWgoeI4jFZrGf9Z2t8XQM7dwGmcFds= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=bs7wpj9C; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=C/WCStKE; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="bs7wpj9C"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="C/WCStKE" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66H6cTvK951390 for ; Fri, 17 Jul 2026 08:37:14 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= I65WEZ9oqgYF8KlnrmzqEJMBV2oN2r3NUJBwbhZLtgQ=; b=bs7wpj9CHNuDZvIL oZOU59Jv1celGbiupsgYmI2bQaPMMTbiFd1NGISpe6dNhPfQ64cV9NOwE4em+2nG HK7zqeTvwTTzXFjoWSnpHmrv9zR8cEWe958318skR5t5in9Crpz29H2LpHiurno2 z8UIePR6RTcD/n0Z6K8d9cbXqZjAEUdcAStjGXVC4IkfVySVX02d7F4yCLQhod9b Rml7atZzQwOCPH5nWWyoawoxzp+bzDWyFmi18P9gQTdzchF5ffama7955ZL6AUIo pvhZ1JLTgLltp5Ia6JQ0EMv0kn+TVQOYVl/nsIUunn7TsTHnNQXX2207qf1ygKkI SjeOfw== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ff2f2ubex-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 08:37:14 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-51c1d30035dso93767091cf.2 for ; Fri, 17 Jul 2026 01:37:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784277434; x=1784882234; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=I65WEZ9oqgYF8KlnrmzqEJMBV2oN2r3NUJBwbhZLtgQ=; b=C/WCStKE2LOWjPHfdwdQOvX1JF9sSn4hMQyykJZXGIir9CNISKcshnONzJywWHYE6v yxO4YgZ4oyEZos0XvaqvuCR8kD9K4jGNEhgHn7x7Mv/b5vAN22N8tQbwHULGklYMMXtL 3rSm99mqOYQLMCtVoEFyym0lF0WoYAurq3TjAOpZzckOmrB+HKyvN1IyClJxFMfKNy5s +2R2tE56W0v+hUHcsscxeZ0KX4VtnUyETibKAdg7F65hTZ9Nqdvnf3WUVEDyF/n1YaeV uiVJJuHbWvKHMRJiX0XgvypF9H0EEzGe/XKNJQ7Lx1Bpeo821GTbxSg+rbmKDZA7cCwG 4lQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784277434; x=1784882234; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=I65WEZ9oqgYF8KlnrmzqEJMBV2oN2r3NUJBwbhZLtgQ=; b=FSMpAwcw2cMnLjKM7aHWG9CXBNldi/guGUcz3paDKCDs9P6s+Q2gVL3RQL5nWN36jV OaWM0n6hqxYqYw3Ps3KfyMIqxiix4QVyem9R0VsNYo1Nb65t5go+y73WHOO4zGYqpiX1 5kMJs3URG3nVTQ7HqcVh39OGzFMlj0vyw6x3arrCC2tqn9cwLwGqHs8N6DEhOUWyNAQY gH/oDLl68g9vC6ZVnANO4eIQX3xsUWQDR1gKkqmYlhHcYt5fDmjX5DdZyXGC/BFSF8uD T7t5lgb71MW6vQ7NDTmGMtenWLAbCZSd3hSpiPPtTaWFyn53m1Y0deYI7pAVRqqB986t yTzQ== X-Forwarded-Encrypted: i=1; AHgh+RqQ6cQze9Dc1XKJKL/yr+dDRQ4dDgd7oHQiigrjnRw3fbyYInU+aX/6yfbfq69mO28oziYnG0TrJKS1sJw=@vger.kernel.org X-Gm-Message-State: AOJu0YxHBIyf28xOnY3FuTcc8gOAaoeGm7jX+/tzgQCv9KGG92RQrqXz ytrlxfYdle8i3dY6TGYGNyKFFjL+IHIPe/8MHWcnYbXLmT9QOmRDI/tgEvJmtsgA2izMdpW0SLc qd5o8aaBHAYNb1/47Op1HQYhgsCrlcxOPT2XrgtZWHbYAB+Qy+QuL8aBqkkLB91KIJ7U= X-Gm-Gg: AfdE7clU8qoFV12EXEV5YyxfhC+bRzSQ1RiqD6a93pr49Gyc0N+b5upj4nMnnD4P6KE gatd8p/K3dAyXnKnDp8K0AAp1nxl5x4I3NEBFEJHz2I/xb3nxbGbOxbUuzo/xYcljje4Q3+Cg7q CWkAldjr6wJpJiRbrSMeA/Ct3ej4FxYZb7V3WSZBgOqe+75+dWjbPAK4Tr3TPdiq7bZBiExatAD B99bpSf09fwsD+qZJXnvMF3WjjvPrtPtLTFi4eX0IurB27nHZvq3tMeC3KI0XtnyOmGnViGYAjZ q7MaTz7oS6mEhvaWByBCIU5Vk5cwc8yur3f1ynHLbG+U8mhMuxIgrUSr4HEbiep411Yu4k0KYN/ B8zOI7lsDGYzhthAlfPJowgunmVq+Pw== X-Received: by 2002:a05:622a:48a:b0:519:efea:cf41 with SMTP id d75a77b69052e-5213c20521cmr12203481cf.28.1784277433863; Fri, 17 Jul 2026 01:37:13 -0700 (PDT) X-Received: by 2002:a05:622a:48a:b0:519:efea:cf41 with SMTP id d75a77b69052e-5213c20521cmr12203241cf.28.1784277433452; Fri, 17 Jul 2026 01:37:13 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:dc44:5b1b:5396:79d6]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4954a2b893dsm31268205e9.8.2026.07.17.01.37.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 01:37:12 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 17 Jul 2026 10:36:36 +0200 Subject: [PATCH v22 10/14] crypto: qce - Simplify arguments of devm_qce_dma_request() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260717-qcom-qce-cmd-descr-v22-10-ff0d18b27246@oss.qualcomm.com> References: <20260717-qcom-qce-cmd-descr-v22-0-ff0d18b27246@oss.qualcomm.com> In-Reply-To: <20260717-qcom-qce-cmd-descr-v22-0-ff0d18b27246@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Mukesh Kumar Savaliya , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong , Vignesh Raghavendra Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2674; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=34ButmP/zHfg7ujor83QeeFN6rzFB4sOTC9ae7ymGro=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqWemexsKpDxnXhuP3uo8FwjW3Jtxly/cipfPEm cL/C3GK1A6JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCalnpngAKCRAFnS7L/zaE w9Z5EACDsrPJ7iONMQcF9YFCQHndu2Fo/+RMLLUe2xEQWQgPPiqXpbs0KQjzclUC4onevUP9rGc ncO3rZfyyFHN6W7JTgKevAh2yjNFLq0xussp1HnNSwGPdmoQfIzQuf6CKEYA9lWDEN3/Sgwdxry /kQAwzsMcRP0A4qoDh6CBZQ/AIKhDRoWhXOw2cKOxHCAsqXtPidsQiJEru3KcPFvydWjdgwWqy0 XVJrtS0jKVQd5anSTQqBYvk8EfpWRLzYRpypEVAzaS2+Low5JNrx3e2K8uTyHW4JaWoLl+wDTz8 WjlmEcGllpdUQ4KtdCgAa1nXBpmah0pYANeseWgvvisrUD3Jh67d0II1DWJxXT6lA+7i6uaW965 WJdhQ0c88oFLMajjzx75DYRfh+O02euKGO8ugDg2j056jyP68qsQtPv3i1vky3GPJTdAbBSxkAX 6l5q622foN9JmIqxMfw/nlkqcub2UKimFhI1fIANCJlJZRDYjEnq4/gic4RKfUluvIX3e7EAOh3 irVFORAc7CC3dMMhKdYNfNa+hVH9WhlVcvuaioMVT0GiAt6fEbRUQFh+1K8mM06Dqy0OcbZ0u8W UuBixplowmU7SV33LxATZTKWe3tgw0d2PpFTxKubNecS5YajJ9+dYovJMMG65t4Tv4YyUxk6wfz YHm5QXPV7DdQStg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-ORIG-GUID: Bzgv-mzyPfzvm5y8fgOYYR9TVTHrAMvA X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDA4NCBTYWx0ZWRfX1Vv5mXuVl2NA OEQhfkhI6c965zv4MW2GLWA0cqG8dgaTstEuIGvysGRlQItLQ1j4Ab88/BYNIu+PQLJhZzwAk49 gMywtM9oKmPG37Wm3A1KO9r4iZd8BOA= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDA4NCBTYWx0ZWRfX5FFj9k6rryDH 8J8hCrS0yEt8cYylPoEnMXj1nw7M0VDM6t10nyLf/zerEcvFNM0patMiUCcoGl06Nq7W5CY7yzF x1RZBwlzncu660dQhwMtQJj1TMEeHonDD190ZOU5KXDnUQrzx9VGqWpfbhKgkW35L38a94MCQVQ Inn+xtMV2lXcyhOneFsJD8rwHoD0LXUGJzR4nYAK1PX2DFjK3wYyjbc08bcEnhUdRIsTBzZjlXZ AN6zQToS90BmiMXo9vvvV92uXhmf/+TGyoz1FCRA0rthEvOjydnkwj3z2HRbJGYzxijpZUdDplR 1j1TvTx/zD5B2lQidjD0n/XYFnY7UrgfsNbqVKKP+1SLTcbZRFicZA05HkKF2lXozibfSuS5RES 0+6SFqKuIpobMHWpoRDF7OivGcV64QaJBL5/8E+Q/7LKiPVNvKTECR5TBCpuKnKfSAg47OMc4Gf JinE44w11lAwEQPzVZg== X-Authority-Analysis: v=2.4 cv=NcTWEWD4 c=1 sm=1 tr=0 ts=6a59e9ba cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=lH6k5GM5CfRwGFUYfCYA:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: Bzgv-mzyPfzvm5y8fgOYYR9TVTHrAMvA X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-17_02,2026-07-15_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 malwarescore=0 priorityscore=1501 lowpriorityscore=0 clxscore=1015 phishscore=0 bulkscore=0 spamscore=0 adultscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170084 From: Bartosz Golaszewski This function can extract all the information it needs from struct qce_device alone so simplify its arguments. This is done in preparation for adding support for register I/O over DMA which will require accessing even more fields from struct qce_device. Signed-off-by: Bartosz Golaszewski Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski Tested-by and Reviewed/Acked-by you could provide in order to help move --- drivers/crypto/qce/core.c | 2 +- drivers/crypto/qce/dma.c | 5 ++++- drivers/crypto/qce/dma.h | 4 +++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/crypto/qce/core.c b/drivers/crypto/qce/core.c index dd860435d2c47a608c82cc2686583a44ff96c889..aa4a0b17749081f1ad653424bc2= 65ee81e348e15 100644 --- a/drivers/crypto/qce/core.c +++ b/drivers/crypto/qce/core.c @@ -237,7 +237,7 @@ static int qce_crypto_probe(struct platform_device *pde= v) if (ret) return ret; =20 - ret =3D devm_qce_dma_request(qce->dev, &qce->dma); + ret =3D devm_qce_dma_request(qce); if (ret) return ret; =20 diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c index d1daa229361aa74da5d3d7bfe1bc8ab189761e38..d60efb5c26d88f8b0259b1dccc8= 724d0f75571c6 100644 --- a/drivers/crypto/qce/dma.c +++ b/drivers/crypto/qce/dma.c @@ -7,6 +7,7 @@ #include #include =20 +#include "core.h" #include "dma.h" =20 #define QCE_IGNORE_BUF_SZ (2 * QCE_BAM_BURST_SIZE) @@ -22,8 +23,10 @@ static void qce_dma_release(void *data) kfree(dma->result_buf); } =20 -int devm_qce_dma_request(struct device *dev, struct qce_dma_data *dma) +int devm_qce_dma_request(struct qce_device *qce) { + struct qce_dma_data *dma =3D &qce->dma; + struct device *dev =3D qce->dev; int ret; =20 dma->txchan =3D dma_request_chan(dev, "tx"); diff --git a/drivers/crypto/qce/dma.h b/drivers/crypto/qce/dma.h index fc337c435cd14917bdfb99febcf9119275afdeba..483789d9fa98e79d1283de8297b= f2fc2a773f3a7 100644 --- a/drivers/crypto/qce/dma.h +++ b/drivers/crypto/qce/dma.h @@ -8,6 +8,8 @@ =20 #include =20 +struct qce_device; + /* maximum data transfer block size between BAM and CE */ #define QCE_BAM_BURST_SIZE 64 =20 @@ -32,7 +34,7 @@ struct qce_dma_data { struct qce_result_dump *result_buf; }; =20 -int devm_qce_dma_request(struct device *dev, struct qce_dma_data *dma); +int devm_qce_dma_request(struct qce_device *qce); int qce_dma_prep_sgs(struct qce_dma_data *dma, struct scatterlist *sg_in, int in_ents, struct scatterlist *sg_out, int out_ents, dma_async_tx_callback cb, void *cb_param); --=20 2.47.3 From nobody Sat Jul 25 05:35:00 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 408D53EA969 for ; Fri, 17 Jul 2026 08:37:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784277440; cv=none; b=N/Q3BhOwhPEgnHVs5uE/u9FYTkm7OdnBmAZ0CTvXXPi43vxPq4VXmk4+2F0vqnXe8WrShlmBiCS7odopipHhGYIvPgCWTTCMkaA3JMIXvcOecQS1Na+e3AfeOwlY2YKN73Z/WumoxlCVHB4XiOS9qrj+TREwb2OP5PcfDw98vcI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784277440; c=relaxed/simple; bh=czoxItsxxVvFFRsK/bUJo7zI9PxP/5bmJEdhhzZ9wNU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=J49i4ffIhmYwQN6O6AIAnyYWECdSNnPN6dMyrnIrZLtcbmoohd16YIBbSICmzNWdyLHgzoDpNP52vq4KJcHNJWAyc1/fFNN2Efz1sWnsozs2aPb4P5x/NGE2DdIvMx2JW6FQ54kBGGBr6PdJbo5Xb6/TGaRb5UCj0zPtDi47HFg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=OTy1S8iB; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=bvJIVYj1; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="OTy1S8iB"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="bvJIVYj1" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66H6cRsC979782 for ; Fri, 17 Jul 2026 08:37:18 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= eLuzW4UoyjLIBOHVkT1M1Bap2xQlYADrM6wCNEKkohQ=; b=OTy1S8iB6TaJqvH8 WBdZGq4tVrWuweX3PSHP3SDE7XwhjqUU+ADY/tT58Y1caBW7pW01qJEjT8E2ll0t gNR9fGLBfU/OWw3NrNOmG8ye9fYpQjuIKAa/6ov4tQeqWcjcBCKwuEdS2OaPXsmP sKEOuBGd1cGAv7L9WhU/Bgyq7yXZR2hZuiRzO+68gCeWYCCgQlf88tBpzAWECR8B cTNMerE+iEkmrf6EgI1PFFTyktjEjwqd+QxWG2eiMS6L6dCD4ftvYLRsIK9XCNcA UmG69l6gN01dz8bF/WObCiuqUqnt/SDs88ahL4ComeloK+SOnRw9QmjtmwkFSDbL NNNNng== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fff9gresh-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 08:37:17 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-51a87ef9713so2376521cf.1 for ; Fri, 17 Jul 2026 01:37:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784277437; x=1784882237; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=eLuzW4UoyjLIBOHVkT1M1Bap2xQlYADrM6wCNEKkohQ=; b=bvJIVYj1ad2G8Rl0Rkp9mA7L3xsoVYHdNvnmC9AobL39X71XOpOvpOMtHmdo8YDrD1 IwlVmbFbQUY5KHlmJQCa2/TJovqdofR1HQjEfHgry+H0IEOk4nkd2NHE6qrnyaJj7rTQ ABxCwxjHi0s6Cly0OlxC3FjWfPe5DkaYRjEpwAv8np/cUqk0ZEpnhACM9g0a3At7Rye5 bSn0hY4q7zK/5bBG8VNrzbzshoZm6RGHNIDBJ3Muzmd3L29/2dB0Rz/AufVD48pd6iwZ 0DG8D/i7SdgRltoJr0WbasPLdCF7BKQHEafpLaqMlUcnaw3xFw8/3q04nCy+kZk6E1fr QTKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784277437; x=1784882237; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=eLuzW4UoyjLIBOHVkT1M1Bap2xQlYADrM6wCNEKkohQ=; b=AfcM26at2ZG4OrIdIQnxJQmrK0ht4VJKHGafkYlwHdXR1CRIZ80p9z6IG+YK7La7Jz rA08KfSP6wPwYhvPjwGzWpzBH2JfzjEWMnCbBtmez4KKIFcGUVdhisE2kJM6nwfnEp+U XeEQIFfm0qXR5kHOCwk/sJ/MGm3pwbHICL3HxgDeM3zO+pUt1Cp2vZk9ylYYjTju7HJy 2iySlzBBXm1wV/o7tBFor/Ee+5EDerX0ca/wzFEemyk6cbnGWwe41zR8xrybLeVoFY1v ix0RXwYHGKxRaznlbe4O7HBoTbUU/VdI8hNNIcOOfa9nE3j8Z3gDWVOmXy2JOmeU7MId ti2A== X-Forwarded-Encrypted: i=1; AHgh+Rp0imW02OageWdx0/f5E1GH3ntTWjhUwY+yFDOjW7dS2NO2UHOp5RLlJEJeCHUf4sMXffgrYQPpgvHyZRI=@vger.kernel.org X-Gm-Message-State: AOJu0YxZyiL/W8nCiF2uAUcN7lWHIgDDgrH7kiuLHaDGI3YUCbpaUgiR X5/+hYw/dS1girmh2VoKoxv30o2qkd0zFMBdGJJAF/TceGZe4QhGvcDnDEa77aoiAzd39VvEYl4 +9qi4Vo+vA6fr75hjr76LycICMAsAdCjWiUnHR6bHXt2cInKQpFmigTg73HlbrhGgYFc= X-Gm-Gg: AfdE7cmmldEaZ8HrIFeKXDnLHDxoJdp4al0uxizbjlR5zAWXBFBdixNlbuwTUH3Tius 5+5f04MN9lyxP1dM5ECLpMVkYUrqEriBiyl3xChAnM+VpOlFETrVOK/IqGTuPeVe97v8JjsirZF wxSmYrSEKU9GA2TX2/69bPFDoRDwZe8kR6wOxYuMraBTvlNkFnnDMRYyjwIFSIlJPKOyToyyot6 yFMZwEJIWDlWOeFsusaEU5vzJs91pqvTTsR61INzCGID9a4PTzGv10fGVB3wAqJ7smIAxaTPh5M 7D0sGxWg1obTpd03Ae/jz+WVmLNznEaIAqYpflkz3OiebXfEgHq/dGTs82KIEdmFXpCllF79/Dz IqGmdOArir3OK6pzIAAdZ7MM6LZz93g== X-Received: by 2002:a05:622a:1e0e:b0:51c:d1c:10e2 with SMTP id d75a77b69052e-51fbf3c1556mr60858011cf.12.1784277437102; Fri, 17 Jul 2026 01:37:17 -0700 (PDT) X-Received: by 2002:a05:622a:1e0e:b0:51c:d1c:10e2 with SMTP id d75a77b69052e-51fbf3c1556mr60857551cf.12.1784277436672; Fri, 17 Jul 2026 01:37:16 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:dc44:5b1b:5396:79d6]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4954a2b893dsm31268205e9.8.2026.07.17.01.37.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 01:37:15 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 17 Jul 2026 10:36:37 +0200 Subject: [PATCH v22 11/14] crypto: qce - Use existing devres APIs in devm_qce_dma_request() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260717-qcom-qce-cmd-descr-v22-11-ff0d18b27246@oss.qualcomm.com> References: <20260717-qcom-qce-cmd-descr-v22-0-ff0d18b27246@oss.qualcomm.com> In-Reply-To: <20260717-qcom-qce-cmd-descr-v22-0-ff0d18b27246@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Mukesh Kumar Savaliya , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong , Vignesh Raghavendra Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski , Konrad Dybcio X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2502; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=9GKLcUmlCf8HlWjhhByBBy4VvPdK7WbPpBpBdYahW+0=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqWemfZMJ4DaVPL4HimdLsqe2sPp//CG8OY3J/W DvqS5nNBwiJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCalnpnwAKCRAFnS7L/zaE w7L3D/4uCyH22h8Ds4sXw/INGLeQEZEBStbObfc0rUoi2dXWKuR+ZrjX91ZPHO925XylAZNgY/j mbgxPXgul8wZQryCtCMGSTzoA5qGvezACOfNRpb3KCCi4JK+RT4ZkK0qGU6PL3xRkNwJbBJT4It roQEwBJ6ttQBCK5m7hI2pfL6NgQOiJ9/ctBpOemzrrs/VRi823XL2Xs6iKU/HmcrtW4mKg96x+3 PWkXNZMmTxWXAqKudsnCPFE5W6+F4W1cWdZEqZrozVMBa+Bxha6jCsZ/Q0w8LpbgK/JOxvaO/h2 7kDQkQMV/aY5oCXroRebLOgvLFj/smA3wZuT4efSLR7ycE2CaLE+KoniMlCSYIGRSRQrPe0FGj6 5uDlSnket/7ZL+ymyCFFmZUZuRjbAeAhHV0mL+mVUrZ8CO/ULp1yOqgM2+/jKhrowq5X3oavq8l 8y2VJPUTFqstKYM7KSL9XzAP1z/jWNcLeF4hBq1SElHiOKqpFU18FowLUC1xmni7W+7AoyUycz0 +KiLtzzhcF4FzgVefhYFDAbfJs0DMiszM1o7Zk/WMpLWdh57s/YgdsJezp86Eatz+54ZCHUQfHT Wlz+jtYWE+8u9aEmVvXTs2A5Vamu+mmDLszJNZfbpPmXGzgiP7Gx41cfyIOnrt6jBbrq5sXHkw/ 3NztCJHWPTWhhPw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDA4NCBTYWx0ZWRfX2G3ikZPCwth7 t4zRSwGKtdJiZ8FiLLS4G0sFFLXdA6DG/uIaU6mgYrPm0FIAbD/sXzbpqxmv27sJnlrj0XpDTc3 O0dQc4JY3/RZLzKK+ANv35lKDkm89mw= X-Proofpoint-ORIG-GUID: Tw6ypWtXKiFY4GLS-IyMyK3EOJutX4c4 X-Proofpoint-GUID: Tw6ypWtXKiFY4GLS-IyMyK3EOJutX4c4 X-Authority-Analysis: v=2.4 cv=TaumcxQh c=1 sm=1 tr=0 ts=6a59e9bd cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=VwQbUJbxAAAA:8 a=rzIBUVXPi645tD0pnwUA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDA4NCBTYWx0ZWRfX0W/MHpOFXoXh nagVBw+FGSz7X77+nNaAL83q2LUmXTXzBq0DemVnv+KnvnicOco6FN9MaRFdYWQAo2ceTq6YUWF ny1iPRYtWzvbJR5uIvB0+aemGK1ff4TxrwMlZL3ZmjRgI+YqqL3W/OYdeoq3RWuC0eNSUvKPCPl 2I5UGa5MFmSPalttQ52GH8S1JFkLmCgHoSeFvq09YiHjWubrrvq3NJl0gO9FW1tvj9iporqQn/E i5G4C/Qvw0hoERLC0TFFbR5g+cPHzlV8Q2yDNXSEv8QAx5vetRsIsTyfhyt9FuYbyMWViXhKtNh AGigtsg8yU9l7FjkrpSL7iaqKhLsERS2UkdYRUMAqnCg8AP2W8YCnxUJSR6KBLfZq7Db3rnIu4c PQTaL42iLTMQBKh3mgPWbZIMzJdSdxnYx/3BZiI/ak79sNFYrkJnayMKwU6qhQzEx7l/ezS5v2w DYL2wYTB2CKfOfIRbFQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-17_02,2026-07-15_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 clxscore=1015 adultscore=0 phishscore=0 spamscore=0 bulkscore=0 malwarescore=0 suspectscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170084 From: Bartosz Golaszewski Switch to devm_kmalloc() and devm_dma_alloc_chan() in devm_qce_dma_request(). This allows us to drop two labels and shrink the function. Signed-off-by: Bartosz Golaszewski Reviewed-by: Konrad Dybcio Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski Tested-by and Reviewed/Acked-by you could provide in order to help move --- drivers/crypto/qce/dma.c | 37 +++++++++++-------------------------- 1 file changed, 11 insertions(+), 26 deletions(-) diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c index d60efb5c26d88f8b0259b1dccc8724d0f75571c6..26347e9fc078adede712722107e= 74958538accdf 100644 --- a/drivers/crypto/qce/dma.c +++ b/drivers/crypto/qce/dma.c @@ -12,49 +12,34 @@ =20 #define QCE_IGNORE_BUF_SZ (2 * QCE_BAM_BURST_SIZE) =20 -static void qce_dma_release(void *data) +static void qce_dma_terminate(void *data) { struct qce_dma_data *dma =3D data; =20 dmaengine_terminate_sync(dma->txchan); dmaengine_terminate_sync(dma->rxchan); - dma_release_channel(dma->txchan); - dma_release_channel(dma->rxchan); - kfree(dma->result_buf); } =20 int devm_qce_dma_request(struct qce_device *qce) { struct qce_dma_data *dma =3D &qce->dma; struct device *dev =3D qce->dev; - int ret; =20 - dma->txchan =3D dma_request_chan(dev, "tx"); + dma->result_buf =3D devm_kmalloc(dev, QCE_RESULT_BUF_SZ + QCE_IGNORE_BUF_= SZ, GFP_KERNEL); + if (!dma->result_buf) + return -ENOMEM; + + dma->txchan =3D devm_dma_request_chan(dev, "tx"); if (IS_ERR(dma->txchan)) return dev_err_probe(dev, PTR_ERR(dma->txchan), "Failed to get TX DMA channel\n"); =20 - dma->rxchan =3D dma_request_chan(dev, "rx"); - if (IS_ERR(dma->rxchan)) { - ret =3D dev_err_probe(dev, PTR_ERR(dma->rxchan), - "Failed to get RX DMA channel\n"); - goto error_rx; - } - - dma->result_buf =3D kmalloc(QCE_RESULT_BUF_SZ + QCE_IGNORE_BUF_SZ, - GFP_KERNEL); - if (!dma->result_buf) { - ret =3D -ENOMEM; - goto error_nomem; - } - - return devm_add_action_or_reset(dev, qce_dma_release, dma); + dma->rxchan =3D devm_dma_request_chan(dev, "rx"); + if (IS_ERR(dma->rxchan)) + return dev_err_probe(dev, PTR_ERR(dma->rxchan), + "Failed to get RX DMA channel\n"); =20 -error_nomem: - dma_release_channel(dma->rxchan); -error_rx: - dma_release_channel(dma->txchan); - return ret; + return devm_add_action_or_reset(dev, qce_dma_terminate, dma); } =20 struct scatterlist * --=20 2.47.3 From nobody Sat Jul 25 05:35:00 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A55B73EAC9A for ; Fri, 17 Jul 2026 08:37:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784277443; cv=none; b=ZdSezSM6rdUs0HhnoDNwRafViiRqudnMdpTeJscK/m7A+pi7rXaItEcK+CXzSW72ntbXZfCmKt52ZJOYyxaTbdnIjhGtHkjLWFWecHv89wUqozseOEN+El27pLuRaBZIj+tMXDY6fg044J1wVBpyVjCxyhKox7oW06VI6IbwHU8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784277443; c=relaxed/simple; bh=I6qozPBGCCC+qW2tSIhDtPr1pqACnLdSRJYO6Q/jVhw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=iFNkxNh4OWfObfJOKJlbKtuDtr05//zFrV4JaJD2232DI4poMDzxUHurdAd5II68vE80M9ZLwPsG2v2ko6t7poF6+wrejEkGFQyqCnOm0j05S8J37Y/3wyVHB/gqrH1hD/yD/I2VilFv+4750yVhiQPFJeSaVNE/5Muilup94jE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=ds64FloE; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=EoB7gWrt; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="ds64FloE"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="EoB7gWrt" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66H6d3EQ821143 for ; Fri, 17 Jul 2026 08:37:21 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= /ulYiF5q27l0HtYTWxPl+5HbnGbtV3QzEBY0v8bm+NY=; b=ds64FloEI7O1r+6J /BBIau1q/5y/P21Htokkrya5+WFQzTV2cRuC25aZERy4kU3dLKfilY39uE+pooYC 5dYXaYI8woc3KYd7EyMkN7D4zjs/1Q21Ji8YcYiSoOBZtErl5qiW6J+T8c0O8Cb0 cemfOw6pwtu89xo83btlPyv25O9PbxkTM84KyvZVZIl03SoRnHxMwIt75yq7hQok hoDi1EWLi+Da9rYxh2wWFhMyadojmjT3sSNfqmfvFtn1T5qnh+jRI85n2DsV6Bud jRXJfcKuw/O60HUehV8VqOwfpq2xp4O9u9Wgi/c6u7JxEp5sUvQLHQOx5I4Jcl6d 95/Yrg== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fffag8ddr-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 08:37:20 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51c0199faafso94029111cf.3 for ; Fri, 17 Jul 2026 01:37:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784277440; x=1784882240; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=/ulYiF5q27l0HtYTWxPl+5HbnGbtV3QzEBY0v8bm+NY=; b=EoB7gWrt1CnKoymeoKyiAje2tC24ntGPg+3wVzvdvYDXt1zscxUvCcBC1w5Ajv9jHV ZuhVa99PWTubPTY6C/pzpAl9b6JhAXkMnF+8C08tW/CFVkm1npaumv0fEJPWHoUsRk1c fLGMyC76OlbGDcQ5kzYCaWYE2x+cjocbYObiH5gmvt5S+tNuQR2xi3RYFHKsPiNRA/8f LHJItTIz0lkb26UXkuNqTWAWbSiRoYoxFwNmDqvMEnCD3/2izgk3d9+mWJKQdYVrAEie NGjDyXlatfnRAize2Same1QawF+hAJ3KVptN57FdBKNkWHy0/Ex0FKJCFqc+HQycOlcn sgbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784277440; x=1784882240; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=/ulYiF5q27l0HtYTWxPl+5HbnGbtV3QzEBY0v8bm+NY=; b=CdU0lZ3DxC2OW7cXI/+7FyX9C7Apm9LudzNX02bJihCoSGEDhxvUNnZhRy/EFU+5xO yytlM52MyEa2S+W15Hpr0Pmrndd0umYXOyIjcUNkF3hVibGttLP7Mm9/uxpF21WCnftA mg9Tc2pWpYJajFIet83oRo3DdCdxH7kGqx5Na6XVfiawCb7mMtrZOxfp9iZNjZ8D3hR4 Lr2jcjnVHmLcRFFBnPf3uu1Gmrx/dUPP/D9n7gwwHVY2o3AqQaoOqVseb9/zdZA1+iJ8 kR/LtIjbpxrRvMCRhQ3ZVq/TmsrWRC5Mq26xGgMEjiunKSfQ7UI0IF3kdM3CMpgtNLfE 4rfw== X-Forwarded-Encrypted: i=1; AHgh+RoILlzouQAAOlZB6pXWuPI7uOdwJvpj7EllOeog/BXOiqYVoijwK0UqZsH7tfhpA7iLGB6pDo+ivGE0U+k=@vger.kernel.org X-Gm-Message-State: AOJu0YzurLQCTNVkhSO5ohd/jSnpWAL92VPcqVKHYzy3rhT0CwoxsKJ+ uNnB2XpwPLX1qsi8UnTa9JGQlp177A8/bJgXT0bYSQf7xeqjvZCmxcAzXp7YD33dn+Lx6pElpq3 iof5SRM5/mxCzlwarEw90F5UHW1RNw8qEqaKhT+TDoPWn0En63TK3TAHmhcPfDw6z4ac= X-Gm-Gg: AfdE7cn4NtyJ+gw/BPTS0rNsqjepwQINaGjXhvf7IsixZ+X2EDrXXxFrXHpqRVU5kCb TLf9d7opD+5dMIWxR8ZgsHbdvjzLl7Q558TSGvvCrkpYN5sVYjLBtqXdOrSrVYz+bt/6Y40tYhK OuhBzbGNmZLrkLYnlTj31GfzqHoxMZIwJcOCeh9zTO7OVqNqDuMzPkdtB2A6T0DD9S0Y1Y7yLlG RYVive1wpPNcKBaLgN3YflZqYJR97/LBhu7AWL0z88VW8+zQjPw6DEFkJSRGQrtW7IPu+80Ow1+ vma67W6WzB9cQbW9084pGn1FUvEx+AX4M/vo2a+K24J9LyD1VFw7LFLlJkoDjqn1rTV6TYHwtxR wgVG+83ikulCr5INhYF3oE9le5RLF3A== X-Received: by 2002:a05:622a:4e8d:b0:50d:9e8d:9837 with SMTP id d75a77b69052e-5213c006b72mr10845991cf.11.1784277439953; Fri, 17 Jul 2026 01:37:19 -0700 (PDT) X-Received: by 2002:a05:622a:4e8d:b0:50d:9e8d:9837 with SMTP id d75a77b69052e-5213c006b72mr10845831cf.11.1784277439521; Fri, 17 Jul 2026 01:37:19 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:dc44:5b1b:5396:79d6]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4954a2b893dsm31268205e9.8.2026.07.17.01.37.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 01:37:18 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 17 Jul 2026 10:36:38 +0200 Subject: [PATCH v22 12/14] crypto: qce - Map crypto memory for DMA Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260717-qcom-qce-cmd-descr-v22-12-ff0d18b27246@oss.qualcomm.com> References: <20260717-qcom-qce-cmd-descr-v22-0-ff0d18b27246@oss.qualcomm.com> In-Reply-To: <20260717-qcom-qce-cmd-descr-v22-0-ff0d18b27246@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Mukesh Kumar Savaliya , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong , Vignesh Raghavendra Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3111; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=zV1OR5DiqlcnDzl6TeLEQ0wLAWkLclKWK2ow4Gd4Hb0=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqWemfnlDWNKhyFhnG3WGGBPIlfDB2J3nQAiAGz irhSXRHqdGJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCalnpnwAKCRAFnS7L/zaE w4/1D/9iXxL0YvvfHiRFEJMhlPOGpWG8EAwuJyh4NbAHwkZAQW71y1g9x+mIyhvlZIzwXh8evkv HDKSOX2v0tw2JrtorVHYNVEvoKBgMg1SUz4zBaXigcuCR8/dkE71JD7eVOeg9QbdGk4KCdF2xF4 xaZcVExvA3G8VcYLISbzU/HZXqN/QhlWTiL1opBQw+XjSO09vlOJy7slGw6qxWt0+h8xT2cY4lr vq9e2dST/vX3VBnk4t5MU9/LteNmYHUQ2pNP1oFA0b0pE4cfL1SHoCwpDsIxU4uUWZ4my+4guNv r2IONgGTzRUKMD4DYPCGTGb+hCDdbLTdZvFo0P8sr8ZzWq+NoYlxgkTdgcJvY5hxp9mlC4PPqxW xhp201+l+j5zDZHY+D8bcP79g3tTNToym+6Y9FFSuPOWebuPZRrifGO8hJK6k1tHIPqQApSOCct v72zioDhu1URB/cDeQ2lG8KYVTNy3N1GDpwCYeFAB6uGLeATVk4vo7+R39lBDFKWM14P1cjobpq +rkydxlZefCkSHa1njjxA9jYxd7oWmEDyLYwXT3ojPqJCNzxe8+s1Boas517IA7OnKQ5i4WDEeu g+hl5R3O1hhkj1CsX7QqoEFPH0wTpTAqnUvvIcZoevNplU/9f6WRglFSK8tUzEuq9u9NWDDtEgD N0ktyPmuYTsJUKQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDA4NCBTYWx0ZWRfXzFFhUnRzGKkO rOoaLZ8OqBqLoJfPz1jjFVQTlBPhXArPiXimqi9sox56GSooXSyGWK6GAuwheEcVT/mcM4E8oXJ 04n1jFZ6CPf9IgeFGLYa21Ty7EK7rr+yuVp0txrfHdhPuPseqdMOxB8B9ceyYsA3lVY2wboU+UY qSt4c0oEVFN41rkTeA4CE+ke/dr11ayfTAQEaI/sxYYQVGT0RMIYyGRY2v/7PGNvjKmaPGmYZQ0 w/NaNPl1+1rLPeWc3YOQDl3qXHsovIH2LZY/bwp/2RTGM26ooLP2h8uIvHZ+K6L4whaPsTRqEZt qnDiomMcxI/H4RSERwNRdFA4P1uirRfFBiT+vXJi6JN/24Isvd9XqrYDUfqyVwlxajgW5DaY7mR v8OvxFvD9ijK9p6Dx3DQDZMbQm3uKhAhj+ox49UNtpafdt8+E8RU3zc8panGdhEhujWGWW9Aoz0 XYwvVTm3RC2VoER+/9g== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDA4NCBTYWx0ZWRfX5tlutKJpiT8x XbRqMrufne/xvBCEVmUQfX36bpqWGSL5sL8Kw5UYkYewYoWXskh15/aDcqg/LYNb9vFWGVbexY1 Y/S+5Eh8F+prThGd6bNhKyek2OVF/X4= X-Authority-Analysis: v=2.4 cv=KZfidwYD c=1 sm=1 tr=0 ts=6a59e9c0 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=9tNk7rGwWxUH_P3zroIA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: opzURgDxD-OOS-sqqSbOXZjN8dMezsNu X-Proofpoint-ORIG-GUID: opzURgDxD-OOS-sqqSbOXZjN8dMezsNu X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-17_02,2026-07-15_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 suspectscore=0 clxscore=1015 malwarescore=0 spamscore=0 adultscore=0 lowpriorityscore=0 phishscore=0 bulkscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170084 From: Bartosz Golaszewski As the first step in converting the driver to using DMA for register I/O, let's map the crypto memory range. Signed-off-by: Bartosz Golaszewski Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski Tested-by and Reviewed/Acked-by you could provide in order to help move --- drivers/crypto/qce/core.c | 23 ++++++++++++++++++++++- drivers/crypto/qce/core.h | 6 ++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/drivers/crypto/qce/core.c b/drivers/crypto/qce/core.c index aa4a0b17749081f1ad653424bc265ee81e348e15..4031b4516d6519fc5024bbbcc43= 9500a7b3314b2 100644 --- a/drivers/crypto/qce/core.c +++ b/drivers/crypto/qce/core.c @@ -191,10 +191,19 @@ static void qce_cancel_work(void *data) cancel_work_sync(work); } =20 +static void qce_crypto_unmap_dma(void *data) +{ + struct qce_device *qce =3D data; + + dma_unmap_resource(qce->dev, qce->base_dma, qce->dma_size, + DMA_BIDIRECTIONAL, 0); +} + static int qce_crypto_probe(struct platform_device *pdev) { struct device *dev =3D &pdev->dev; struct qce_device *qce; + struct resource *res; int ret; =20 qce =3D devm_kzalloc(dev, sizeof(*qce), GFP_KERNEL); @@ -204,7 +213,7 @@ static int qce_crypto_probe(struct platform_device *pde= v) qce->dev =3D dev; platform_set_drvdata(pdev, qce); =20 - qce->base =3D devm_platform_ioremap_resource(pdev, 0); + qce->base =3D devm_platform_get_and_ioremap_resource(pdev, 0, &res); if (IS_ERR(qce->base)) return PTR_ERR(qce->base); =20 @@ -254,6 +263,18 @@ static int qce_crypto_probe(struct platform_device *pd= ev) qce->async_req_enqueue =3D qce_async_request_enqueue; qce->async_req_done =3D qce_async_request_done; =20 + qce->dma_size =3D resource_size(res); + qce->base_dma =3D dma_map_resource(dev, res->start, qce->dma_size, + DMA_BIDIRECTIONAL, 0); + qce->base_phys =3D res->start; + ret =3D dma_mapping_error(dev, qce->base_dma); + if (ret) + return ret; + + ret =3D devm_add_action_or_reset(qce->dev, qce_crypto_unmap_dma, qce); + if (ret) + return ret; + return devm_qce_register_algs(qce); } =20 diff --git a/drivers/crypto/qce/core.h b/drivers/crypto/qce/core.h index f092ce2d3b04a936a37805c20ac5ba78d8fdd2df..a80e12eac6c87e5321cce16c56a= 4bf5003474ef0 100644 --- a/drivers/crypto/qce/core.h +++ b/drivers/crypto/qce/core.h @@ -27,6 +27,9 @@ * @dma: pointer to dma data * @burst_size: the crypto burst size * @pipe_pair_id: which pipe pair id the device using + * @base_dma: base DMA address + * @base_phys: base physical address + * @dma_size: size of memory mapped for DMA * @async_req_enqueue: invoked by every algorithm to enqueue a request * @async_req_done: invoked by every algorithm to finish its request */ @@ -43,6 +46,9 @@ struct qce_device { struct qce_dma_data dma; int burst_size; unsigned int pipe_pair_id; + dma_addr_t base_dma; + phys_addr_t base_phys; + size_t dma_size; int (*async_req_enqueue)(struct qce_device *qce, struct crypto_async_request *req); void (*async_req_done)(struct qce_device *qce, int ret); --=20 2.47.3 From nobody Sat Jul 25 05:35:00 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8F2F33EB819 for ; Fri, 17 Jul 2026 08:37:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784277447; cv=none; b=lfaBIvDI3URwsc57TfJZIxi3p76wpeaHd1WfwQoeE9sSRSazkjdWF/5kqu39RVaEaBFxFnAZPRML2pVVuPG0xBi7vycqP/5MArK7omxV/+ca894dT6KSIQbnpq6ht7lHNG3XrZvp9z7W/O/vmkM1YFYDSsMOGmG38P4FlLMRSjk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784277447; c=relaxed/simple; bh=vxwkMMjZRH7IpQoBQNb3jByeFTi7xo35vP8N7bDq7+A=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=OLPHBAuCAZLY99/by+XkeRA43VNa8ju28nTdilmaBCrpYLgJNPpqwNm4ikEvFydKNosMmrcSDXRq2I+TIBLygRvmeHAF2HDtTnviZCMMme65uQHniaFoB3tA4O1JT64bZx4H8Injnw0JALf4plHkB1NNdebjGaJtwYaJ8vj3Jl8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=o6tl9Hr3; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=T83jihSD; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="o6tl9Hr3"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="T83jihSD" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66H6cr3o1079322 for ; Fri, 17 Jul 2026 08:37:23 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= KhaVY2+kU3TOaAYdtCMY25s/44SdUzKCL6zQWTuyDKE=; b=o6tl9Hr3Qdhvy3mL 69Z5nJVcjzqHVGj4MoWSbyIRUL/N9Kgs9AJmXvLoaokatmkSL4cpd9CoEryv+h/4 wdV/fiX+nnD/VMndhfdeHCtoxKIz+omQh7y6yYnPYzvhffnAxwPvvdq1FE2doPk9 pJs7liYcRxhRr6YCWSQwsyh7XM8i7Rr9a2QKUoIJ6MqjhQaokZXvwAYq9XXq8OHp lFDxs5zuywORucLnGiUQXYS93GXQ90V7m5Bf6FlXdgJFpb3hebHIflhTAWXJY6b2 J0dhdCyd2/oC2rG/Mo5NM42VzGMoLTCB2B58fS7/cZCyzO0wfhloGcekSTl6yV2U A2dr3g== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4feym1c7h5-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 08:37:23 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51c01ff996dso50560011cf.2 for ; Fri, 17 Jul 2026 01:37:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784277443; x=1784882243; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=KhaVY2+kU3TOaAYdtCMY25s/44SdUzKCL6zQWTuyDKE=; b=T83jihSD46nnw5WIHCCdL5Nvfedan+VraHWkGRVSpG+ohi89jr4rRuAH6K93ZxRE7s ZTaX8Se/v5uOhUUgg0gn45J2lBm7C/gg9Vuh1soC/z5DpLqrBNq0oV+7jVFdswmF3Ocg b5fzBxjjuscyxugiWH7aqT3gPb4gEVFHAq4KxgZjq2HVNJ1C4hm2oHljV4teE4VHmW8R hpzELk1LSR/Xmh5xwmXrzi6PNWnlQuJmXJCWBtcLxCY5qNhGfNuTSBjqdubUp0+Mosne 95j8XxeQV4EapIh0H+Rm9wXsL52jEwJap30SWd/mTn9JXjrvP1woihuRgtFEPTX8kkPN 1Whw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784277443; x=1784882243; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=KhaVY2+kU3TOaAYdtCMY25s/44SdUzKCL6zQWTuyDKE=; b=paXOLZ0TpOT2MBi+Kk9hs67GrB1Lo2mZOO3ooMhFmBXsssf0bvq2EilXAAL8F9Y4qG GRaccqJavSfd8R7S6ozkNunsDfzSvDubFC+y3sNmGWgQMyZK+QYEbbHImkNpqgyLwFZP mheso6H/4XtSP6r+KGi++tgT88FTVPG6H+70h7qYdGyeuz0d8KVEO25TXdvKSPuA6KlV meHt7vOP+ZJAi7QxtONS041NbSy2lX8LuXaspdSVoUptbP+GjnbCBpiXMgSz96zRezGD AVPniXhDaeooWOMBexcPYewMVefLXt5UOgqqS3KhQoevSLl+10lG2RA/hDKMOtO5FK1y omoA== X-Forwarded-Encrypted: i=1; AHgh+RoUsuX5mWibw+eKbDLiBhLVgHWyOkFrvJZgINJYtwMKd6dwsvvGrRh2iOLZdAN2IzgwJNaazoUwegNMYCY=@vger.kernel.org X-Gm-Message-State: AOJu0YyXRCYHBGJHEMVTFLQDYX0q9Z5iKwlCP3cuHZ485hfpmBC4BtDb Qw5zmURjdYfl52Hsm0H74LjulL2k85niVchQXOmYK84ErHxmOsttQKnkfS1lKSWIm2sE9qpuRdN qRr9MoTIsn7SS0HND6XrIGu0SwOfW4Dq1U98QFx4iUGt+Q61Ks+oCirVg6JBzwmVtwZg= X-Gm-Gg: AfdE7ckLnN0oVwzEMIcXUrsTa095c3LX/AWhZDZ7p+bItXg2wrUuIrSyjIWszt/ingn BhAZWGsRI3yQlze4evUuHyx6ZWD04z29nX5+/oneUvr3r9onQhGu0MwAICYu5beESQw1isuPcPM SOQfuoC9NB4F22g8Wy1C1fqufJjjW2izUuM5HeHTIYRRMJd6CKLZTQM2Y9wRFsNLmBcbCmoC7r8 ntbCswCOVkhYv+7aR5179gU03kKNBAVxgMmWD+dMWYikUZu6zzEOMHwv1OOcDkMBg68bfAOzSq8 wE937fV2y+QkN5qrjVX52leF8QJf8ehI3pFbQFcyUIggkPDfskbL17LH95Tx8RRcecNmxv5Nw7J F4lJQa10yj05WcdGT2YKqua/sz/vVAQ== X-Received: by 2002:ac8:5816:0:b0:51c:7b12:1207 with SMTP id d75a77b69052e-5213f668797mr13171281cf.85.1784277442410; Fri, 17 Jul 2026 01:37:22 -0700 (PDT) X-Received: by 2002:ac8:5816:0:b0:51c:7b12:1207 with SMTP id d75a77b69052e-5213f668797mr13170941cf.85.1784277441883; Fri, 17 Jul 2026 01:37:21 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:dc44:5b1b:5396:79d6]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4954a2b893dsm31268205e9.8.2026.07.17.01.37.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 01:37:20 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 17 Jul 2026 10:36:39 +0200 Subject: [PATCH v22 13/14] crypto: qce - Add BAM DMA support for crypto register I/O Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260717-qcom-qce-cmd-descr-v22-13-ff0d18b27246@oss.qualcomm.com> References: <20260717-qcom-qce-cmd-descr-v22-0-ff0d18b27246@oss.qualcomm.com> In-Reply-To: <20260717-qcom-qce-cmd-descr-v22-0-ff0d18b27246@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Mukesh Kumar Savaliya , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong , Vignesh Raghavendra Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=11853; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=TZfKk+MyyTslO7iExD/EK4Vnr88LW7a2C5QGmGC1RAs=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqWemgfodN/PV7ukI8HyQoCm3+yp5+zhl3Wt9hk WRxxioHZOOJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCalnpoAAKCRAFnS7L/zaE w9ovD/0a0EQxN5yDNbVh2123Ff3602bktD6SugRuRC7u4IHobG6YP22KbBJ28k+zUXy62ippqgE CZV3+MpxIhZyfpAoba/qkig3VfClW6JYPqtWU9LSuHqeM2poTz5Ibobib1nSI6IUpOs5V154bY0 yzBU5cxBYsDhbmWdp5Q4RMNzMzTorzGcrdvn6YHlWFtcJ15t52BXOSiY2dGg2JwyFEB48AFLSX6 6BGTjr98Y5y6HVBNHTIfScztyNg8F8yqFUkVnlq+JsQrEfem3wdJ5cuQ4RvVRfQl2CVHbORV8KV 1SHzr+LtcHyDg+jReKy/IAXCHbIFyl5Min1p0KqmiRF6YQ36NsP1FfBJ9iWIyEH/sNghFCRh78e OzBkYnk1r55BCx0CpdJE3VcYyh9cHPtWBhx9wZMa+tkJvi/3DZxuWhTqPxXIz+5o+fcmrquW0DH oo5lLPO3kFR5j3YaVBV4VE51ivWoc0vhmQsguF4m9j32tHIiupZS3LqXbaJ03Amh/djW1HFkKSQ m00eXz9lYsTWe2KMI6RoJPIa8iZk/EzQ3rP+qao+PdWN0VdPxhvQPGvtCrFX3QBj7N1/TYTQAHO DelkPSyHbMN6uua/jBYZo6x+nG5JBh4IHEv/y0/Uy0s0f/jKvKYxSuwwI6DyHZuAqGBl7x0Y/3U d8LLHcAqN3Plj0Q== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=KPRqylFo c=1 sm=1 tr=0 ts=6a59e9c3 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=ExZEzFaq8QRYdZmHolMA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDA4NCBTYWx0ZWRfX+tfdzynVDXk6 IpEpGwgmMZHk9K+40MuVOIfWTTj5SPu/1HMSxWVDWeHszsFMlGswEdjfGNFMVQ/eH3MB1D4XP0w J/bn+yUdDb/rS1HpJPc6ZU/EBFFpQVzmw23Z9NHmYlfMZhDKUkXOQD0VRSnHvFcE6uVu0sDu5qm gzZ2srYesH45MPSvkK/md4j38ELY42DN//aTPI/beb4lIuNSSiTDQxdrAnZ/bhifQXWVVaKL9cN UIBWoZeLeFXJ3p5i3CfkphRVVa6AP6ZyiTfyGlp0NvZtDvO4owIoSTxMFj9yOWppxn1MjWarK7G aWZLZ2P0m3JPiUsvqwgMSGrGo7QPSN8gnIQmwVSvWuvdtRsa5BWkRdjnxQgfrvjcFm6NHTx/U/C sKJc4HC1UVRjbALLzsNCjYttkptFCUf+u6JBGVSZ9FuTmjYo+JAN9ZyXoIKo8vVEfzp0KL8AK/B ZLzkMLqrYfL13+l0TgA== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDA4NCBTYWx0ZWRfX19Kjdb0MKE4N wDl0neTzFKb+QFAzKhtlN85E+vQ5qS+is3zRTwP38j8Hze2UQcKWtYmTRnyfouk2Z/Xjzx5twUn XmdXSZJ/W/XuSSDC4rAsYSMbssyijYs= X-Proofpoint-GUID: IqMuFE1JDG91xAwdHBm9oU-I7lBdDzFk X-Proofpoint-ORIG-GUID: IqMuFE1JDG91xAwdHBm9oU-I7lBdDzFk X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-17_02,2026-07-15_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 lowpriorityscore=0 adultscore=0 impostorscore=0 clxscore=1015 malwarescore=0 bulkscore=0 spamscore=0 phishscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170084 From: Bartosz Golaszewski Switch to using BAM DMA for register I/O in addition to passing data. To that end: provide the necessary infrastructure in the driver, modify the ordering of operations as required and replace all direct register writes with wrappers queueing DMA command descriptors. Signed-off-by: Bartosz Golaszewski Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski Tested-by and Reviewed/Acked-by you could provide in order to help move --- drivers/crypto/qce/aead.c | 10 ++-- drivers/crypto/qce/common.c | 20 ++++--- drivers/crypto/qce/dma.c | 122 ++++++++++++++++++++++++++++++++++++++= ++-- drivers/crypto/qce/dma.h | 5 ++ drivers/crypto/qce/sha.c | 10 ++-- drivers/crypto/qce/skcipher.c | 10 ++-- 6 files changed, 146 insertions(+), 31 deletions(-) diff --git a/drivers/crypto/qce/aead.c b/drivers/crypto/qce/aead.c index 1461a08e6c58b00e60aa35515f3392c096726f6a..544a3cf8709248a5f3eb2b669e3= 0b09183d3a69d 100644 --- a/drivers/crypto/qce/aead.c +++ b/drivers/crypto/qce/aead.c @@ -463,17 +463,17 @@ qce_aead_async_req_handle(struct crypto_async_request= *async_req) src_nents =3D dst_nents - 1; } =20 - ret =3D qce_dma_prep_sgs(&qce->dma, rctx->src_sg, src_nents, rctx->dst_sg= , dst_nents, - qce_aead_done, async_req); + ret =3D qce_start(async_req, tmpl->crypto_alg_type); if (ret) goto error_unmap_src; =20 - qce_dma_issue_pending(&qce->dma); - - ret =3D qce_start(async_req, tmpl->crypto_alg_type); + ret =3D qce_dma_prep_sgs(&qce->dma, rctx->src_sg, src_nents, rctx->dst_sg= , dst_nents, + qce_aead_done, async_req); if (ret) goto error_terminate; =20 + qce_dma_issue_pending(&qce->dma); + return 0; =20 error_terminate: diff --git a/drivers/crypto/qce/common.c b/drivers/crypto/qce/common.c index 54a78a57f63028f01870a3edeb8e390f523bb190..37bb6f03244d317a887aeb0aa10= cefe327b4ce05 100644 --- a/drivers/crypto/qce/common.c +++ b/drivers/crypto/qce/common.c @@ -25,7 +25,7 @@ static inline u32 qce_read(struct qce_device *qce, u32 of= fset) =20 static inline void qce_write(struct qce_device *qce, u32 offset, u32 val) { - writel(val, qce->base + offset); + qce_write_dma(qce, offset, val); } =20 static inline void qce_write_array(struct qce_device *qce, u32 offset, @@ -82,6 +82,8 @@ static void qce_setup_config(struct qce_device *qce) { u32 config; =20 + qce_clear_bam_transaction(qce); + /* get big endianness */ config =3D qce_config_reg(qce, 0); =20 @@ -90,12 +92,14 @@ static void qce_setup_config(struct qce_device *qce) qce_write(qce, REG_CONFIG, config); } =20 -static inline void qce_crypto_go(struct qce_device *qce, bool result_dump) +static inline int qce_crypto_go(struct qce_device *qce, bool result_dump) { if (result_dump) qce_write(qce, REG_GOPROC, BIT(GO_SHIFT) | BIT(RESULTS_DUMP_SHIFT)); else qce_write(qce, REG_GOPROC, BIT(GO_SHIFT)); + + return qce_submit_cmd_desc(qce); } =20 #if defined(CONFIG_CRYPTO_DEV_QCE_SHA) || defined(CONFIG_CRYPTO_DEV_QCE_AE= AD) @@ -223,9 +227,7 @@ static int qce_setup_regs_ahash(struct crypto_async_req= uest *async_req) config =3D qce_config_reg(qce, 1); qce_write(qce, REG_CONFIG, config); =20 - qce_crypto_go(qce, true); - - return 0; + return qce_crypto_go(qce, true); } #endif =20 @@ -386,9 +388,7 @@ static int qce_setup_regs_skcipher(struct crypto_async_= request *async_req) config =3D qce_config_reg(qce, 1); qce_write(qce, REG_CONFIG, config); =20 - qce_crypto_go(qce, true); - - return 0; + return qce_crypto_go(qce, true); } #endif =20 @@ -535,9 +535,7 @@ static int qce_setup_regs_aead(struct crypto_async_requ= est *async_req) qce_write(qce, REG_CONFIG, config); =20 /* Start the process */ - qce_crypto_go(qce, !IS_CCM(flags)); - - return 0; + return qce_crypto_go(qce, !IS_CCM(flags)); } #endif =20 diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c index 26347e9fc078adede712722107e74958538accdf..88d253d9147cfc9ed275653f7fd= 248538378194a 100644 --- a/drivers/crypto/qce/dma.c +++ b/drivers/crypto/qce/dma.c @@ -4,6 +4,8 @@ */ =20 #include +#include +#include #include #include =20 @@ -11,6 +13,98 @@ #include "dma.h" =20 #define QCE_IGNORE_BUF_SZ (2 * QCE_BAM_BURST_SIZE) +#define QCE_BAM_CMD_SGL_SIZE 128 +#define QCE_BAM_CMD_ELEMENT_SIZE 128 + +struct qce_desc_info { + struct dma_async_tx_descriptor *dma_desc; + enum dma_data_direction dir; +}; + +struct qce_bam_transaction { + struct bam_cmd_element bam_ce[QCE_BAM_CMD_ELEMENT_SIZE]; + struct scatterlist wr_sgl[QCE_BAM_CMD_SGL_SIZE]; + struct qce_desc_info *desc; + u32 bam_ce_idx; + u32 pre_bam_ce_idx; + u32 wr_sgl_cnt; +}; + +void qce_clear_bam_transaction(struct qce_device *qce) +{ + struct qce_bam_transaction *bam_txn =3D qce->dma.bam_txn; + + bam_txn->bam_ce_idx =3D 0; + bam_txn->wr_sgl_cnt =3D 0; + bam_txn->pre_bam_ce_idx =3D 0; +} + +int qce_submit_cmd_desc(struct qce_device *qce) +{ + struct qce_desc_info *qce_desc =3D qce->dma.bam_txn->desc; + struct qce_bam_transaction *bam_txn =3D qce->dma.bam_txn; + struct dma_async_tx_descriptor *dma_desc; + struct dma_chan *chan =3D qce->dma.rxchan; + unsigned long attrs =3D DMA_PREP_CMD; + dma_cookie_t cookie; + unsigned int mapped; + int ret; + + mapped =3D dma_map_sg(qce->dev, bam_txn->wr_sgl, bam_txn->wr_sgl_cnt, DMA= _TO_DEVICE); + if (!mapped) + return -ENOMEM; + + dma_desc =3D dmaengine_prep_slave_sg(chan, bam_txn->wr_sgl, mapped, DMA_M= EM_TO_DEV, attrs); + if (!dma_desc) { + ret =3D -ENOMEM; + goto err_unmap_sg; + } + + qce_desc->dma_desc =3D dma_desc; + cookie =3D dmaengine_submit(qce_desc->dma_desc); + + ret =3D dma_submit_error(cookie); + if (ret) + goto err_free_desc; + + return 0; + +err_free_desc: + dmaengine_desc_free(dma_desc); +err_unmap_sg: + dma_unmap_sg(qce->dev, bam_txn->wr_sgl, bam_txn->wr_sgl_cnt, DMA_TO_DEVIC= E); + return ret; +} + +static void qce_prep_dma_cmd_desc(struct qce_device *qce, struct qce_dma_d= ata *dma, + unsigned int addr, void *buf) +{ + struct qce_bam_transaction *bam_txn =3D dma->bam_txn; + struct bam_cmd_element *bam_ce_buf; + int bam_ce_size, cnt, idx; + + idx =3D bam_txn->bam_ce_idx; + bam_ce_buf =3D &bam_txn->bam_ce[idx]; + bam_prep_ce_le32(bam_ce_buf, addr, BAM_WRITE_COMMAND, *((__le32 *)buf)); + + bam_ce_buf =3D &bam_txn->bam_ce[bam_txn->pre_bam_ce_idx]; + bam_txn->bam_ce_idx++; + bam_ce_size =3D (bam_txn->bam_ce_idx - bam_txn->pre_bam_ce_idx) * sizeof(= *bam_ce_buf); + + cnt =3D bam_txn->wr_sgl_cnt; + + sg_set_buf(&bam_txn->wr_sgl[cnt], bam_ce_buf, bam_ce_size); + + ++bam_txn->wr_sgl_cnt; + bam_txn->pre_bam_ce_idx =3D bam_txn->bam_ce_idx; +} + +void qce_write_dma(struct qce_device *qce, unsigned int offset, u32 val) +{ + unsigned int reg_addr =3D ((unsigned int)(qce->base_phys) + offset); + + qce_prep_dma_cmd_desc(qce, &qce->dma, reg_addr, &val); +} =20 static void qce_dma_terminate(void *data) { @@ -39,6 +133,16 @@ int devm_qce_dma_request(struct qce_device *qce) return dev_err_probe(dev, PTR_ERR(dma->rxchan), "Failed to get RX DMA channel\n"); =20 + dma->bam_txn =3D devm_kzalloc(dev, sizeof(*dma->bam_txn), GFP_KERNEL); + if (!dma->bam_txn) + return -ENOMEM; + + dma->bam_txn->desc =3D devm_kzalloc(dev, sizeof(*dma->bam_txn->desc), GFP= _KERNEL); + if (!dma->bam_txn->desc) + return -ENOMEM; + + sg_init_table(dma->bam_txn->wr_sgl, QCE_BAM_CMD_SGL_SIZE); + return devm_add_action_or_reset(dev, qce_dma_terminate, dma); } =20 @@ -98,28 +202,36 @@ int qce_dma_prep_sgs(struct qce_dma_data *dma, struct = scatterlist *rx_sg, { struct dma_chan *rxchan =3D dma->rxchan; struct dma_chan *txchan =3D dma->txchan; - unsigned long flags =3D DMA_PREP_INTERRUPT | DMA_CTRL_ACK; + unsigned long txflags =3D DMA_PREP_INTERRUPT | DMA_CTRL_ACK; + unsigned long rxflags =3D txflags | DMA_PREP_FENCE; int ret; =20 - ret =3D qce_dma_prep_sg(rxchan, rx_sg, rx_nents, flags, DMA_MEM_TO_DEV, + ret =3D qce_dma_prep_sg(rxchan, rx_sg, rx_nents, rxflags, DMA_MEM_TO_DEV, NULL, NULL); if (ret) return ret; =20 - return qce_dma_prep_sg(txchan, tx_sg, tx_nents, flags, DMA_DEV_TO_MEM, + return qce_dma_prep_sg(txchan, tx_sg, tx_nents, txflags, DMA_DEV_TO_MEM, cb, cb_param); } =20 void qce_dma_issue_pending(struct qce_dma_data *dma) { - dma_async_issue_pending(dma->rxchan); dma_async_issue_pending(dma->txchan); + dma_async_issue_pending(dma->rxchan); } =20 int qce_dma_terminate_all(struct qce_dma_data *dma) { + struct qce_device *qce =3D container_of(dma, struct qce_device, dma); + struct qce_bam_transaction *bam_txn =3D dma->bam_txn; int ret; =20 ret =3D dmaengine_terminate_all(dma->rxchan); - return ret ?: dmaengine_terminate_all(dma->txchan); + if (ret) + return ret; + + dma_unmap_sg(qce->dev, bam_txn->wr_sgl, bam_txn->wr_sgl_cnt, DMA_TO_DEVIC= E); + + return dmaengine_terminate_all(dma->txchan); } diff --git a/drivers/crypto/qce/dma.h b/drivers/crypto/qce/dma.h index 483789d9fa98e79d1283de8297bf2fc2a773f3a7..f05dfa9e6b25bd60e32f45079a8= bc7e6a4cf81f9 100644 --- a/drivers/crypto/qce/dma.h +++ b/drivers/crypto/qce/dma.h @@ -8,6 +8,7 @@ =20 #include =20 +struct qce_bam_transaction; struct qce_device; =20 /* maximum data transfer block size between BAM and CE */ @@ -32,6 +33,7 @@ struct qce_dma_data { struct dma_chan *txchan; struct dma_chan *rxchan; struct qce_result_dump *result_buf; + struct qce_bam_transaction *bam_txn; }; =20 int devm_qce_dma_request(struct qce_device *qce); @@ -43,5 +45,8 @@ int qce_dma_terminate_all(struct qce_dma_data *dma); struct scatterlist * qce_sgtable_add(struct sg_table *sgt, struct scatterlist *sg_add, unsigned int max_len); +void qce_write_dma(struct qce_device *qce, unsigned int offset, u32 val); +int qce_submit_cmd_desc(struct qce_device *qce); +void qce_clear_bam_transaction(struct qce_device *qce); =20 #endif /* _DMA_H_ */ diff --git a/drivers/crypto/qce/sha.c b/drivers/crypto/qce/sha.c index 5476d4d30fae7eb72bbcbcdd7d8be7a76f6732c2..5cfd769a59a791a79da42e2a5b0= 554ad974f7631 100644 --- a/drivers/crypto/qce/sha.c +++ b/drivers/crypto/qce/sha.c @@ -109,17 +109,17 @@ static int qce_ahash_async_req_handle(struct crypto_a= sync_request *async_req) goto error_unmap_src; } =20 - ret =3D qce_dma_prep_sgs(&qce->dma, req->src, rctx->src_nents, - &rctx->result_sg, 1, qce_ahash_done, async_req); + ret =3D qce_start(async_req, tmpl->crypto_alg_type); if (ret) goto error_unmap_dst; =20 - qce_dma_issue_pending(&qce->dma); - - ret =3D qce_start(async_req, tmpl->crypto_alg_type); + ret =3D qce_dma_prep_sgs(&qce->dma, req->src, rctx->src_nents, + &rctx->result_sg, 1, qce_ahash_done, async_req); if (ret) goto error_terminate; =20 + qce_dma_issue_pending(&qce->dma); + return 0; =20 error_terminate: diff --git a/drivers/crypto/qce/skcipher.c b/drivers/crypto/qce/skcipher.c index a9b59e68df4b6837805d45391f5a5fe43fd47709..b4ef3748fbb4dde542b0307f32d= 4c871b7c33ac2 100644 --- a/drivers/crypto/qce/skcipher.c +++ b/drivers/crypto/qce/skcipher.c @@ -142,18 +142,18 @@ qce_skcipher_async_req_handle(struct crypto_async_req= uest *async_req) src_nents =3D dst_nents - 1; } =20 + ret =3D qce_start(async_req, tmpl->crypto_alg_type); + if (ret) + goto error_unmap_src; + ret =3D qce_dma_prep_sgs(&qce->dma, rctx->src_sg, src_nents, rctx->dst_sg, dst_nents, qce_skcipher_done, async_req); if (ret) - goto error_unmap_src; + goto error_terminate; =20 qce_dma_issue_pending(&qce->dma); =20 - ret =3D qce_start(async_req, tmpl->crypto_alg_type); - if (ret) - goto error_terminate; - return 0; =20 error_terminate: --=20 2.47.3 From nobody Sat Jul 25 05:35:00 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0636A3E5A25 for ; Fri, 17 Jul 2026 08:37:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784277447; cv=none; b=cha8SBrnCuG/c+kYauD6tx9y5ojiBAAhMMo8q3eMpTCErKiCPtnEBEurKSyHCaGx70RMEH0Tyi24frdYe27jwVFnbST4MoFrwDmRC4yl2bH6Cjtmawyb77RphB8yIhldrpYx08D7nmTW7cle38vlNoI6fBdOdXjbQDdm47e5rQQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784277447; c=relaxed/simple; bh=LEka6faO6W4VTb8Xdserzp0AuLRCYfyiVPmoWRGCpPU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=JipxAEzrrsDqm+jVfO64cTcO0MU/sMSGVGtTQE/u+Ioh5fNGiucMNTubfsVfD3ac9rZvEhMn6/UYIA05WLmLZXTxZ8zF0k+z+QNAVCdTewVYuU0WvqUMGMVQWonqcyEmC3jD/5+NAni6ZkQmKe4Mh7lJA/pHB7MU4ZeokDZnRGk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=mUynQwd3; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=B4Ygcm/c; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="mUynQwd3"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="B4Ygcm/c" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66H6chef661854 for ; Fri, 17 Jul 2026 08:37:25 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= txS4V655HOx5Bqwp6CpSnkLXrrW8fxTYJ5X84corlvU=; b=mUynQwd3HXcwrGb9 z6VvNcBycaFwZEHv+MwglFtCljvILKcixRKXYugxt6OHJlzj1R4VqUEudNiZ39Le VAOPpnYeJDv+NvikHKgI9XJLO1Q6iGbza0YLcKcBnyha47gytdcwkKmbiV9CBy52 5NVNmNwqTXMoEBiKfD65T9Zr26LO0/nHo3AvZd+UK41qnVK8onlhxZRD3AirWIzJ 97ZBcZ1i//D/z/GZNGj1OtfIrR/OwnTZe9m7svF5pMm9kk4oFAyys6A2UjrFQwSp Zcy5DMAKDo48OjCinjttSLJfwW42N9IDC+xW41eITtin5mkJaeuSPYrVwD595Utr x6WNOg== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ff1m9kh0s-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 08:37:25 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-51c1b4d961dso25202791cf.1 for ; Fri, 17 Jul 2026 01:37:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784277444; x=1784882244; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=txS4V655HOx5Bqwp6CpSnkLXrrW8fxTYJ5X84corlvU=; b=B4Ygcm/cbJXAPSbQSBRDxHgrRhb/4MWZAYa+HqB0M/YYaDXjGOQJE23kfYcsy0fKI0 K7AB57uM+kV4e0OQocqF1+k3gLmcvsc2pKPF+547gIV/P3kZnHkjNIKHyGCRjyNUzTU5 8hkLjbsNMVESM/g6rwlYPNFQkdVEzHQP2KwTZtCV/jrI7Qyftcpxmkep/0pBrKUGjcRU KtkiQLwSQkxD0CQgiJG11OEkwQWMtzS/vw9xrCVvNiun1bMwRZY8AfPXibtS4vSii4Z/ Z3LIa7ZcDJQPTtAJiKc7uB0m03pH3vHP1i+AqYW6wwyrpBstmnAumnbTN0xmxmQY+0EP qQgg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784277444; x=1784882244; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=txS4V655HOx5Bqwp6CpSnkLXrrW8fxTYJ5X84corlvU=; b=OEwPW8P/yJCE47l+aqpgZUd9mACAekLB92W6agx92t6W7AnuBYmd98WRZ4MlePppBY cDz4C9MSYtslK+Sw6/BgFu+GwTeGh4W8qLGkUoYVtPuVI613xKo8ZDsl914SX+294bwA C0evmfdIynx/PEANLLKPq/9PteruzhyogN8DU7v1I/EZWFiNaRro+aJC6xYGkrFagWoF M2x8lYr4Z8EYBE978BEUw619d4xHAWDagFQqh3ejWDghclpjte6JjvMhhsyzWphijsZr lK1lpHBLz8ZPpLlGLZD29P8kwov43L1rRrpk/N40BdToZpMZ32iWNhCiLRk5+IhsDup/ PzSA== X-Forwarded-Encrypted: i=1; AHgh+Ro651FxHp7uZsIAN7FxD44Yk9CeAp/VR9BE4q2HNQeYHL7Zk2ViejRkUQrliYnC330iMTVSb/FjDVCDYnc=@vger.kernel.org X-Gm-Message-State: AOJu0YxKEu9K3ifExISa5JvlqyLoCoSJVhogwg3D6aIJXfCW7BLz11O2 sJh3pXMBR6CVzTpoBIeN53jxaRjbGlSjVgf79NGK2bCVbxCFGFww0c5nB2fK3oKCCia15dIpkOw s5vDddPWlduq9Wbs9FfQljfCKhKzNQsGNYEVwu0aSDR55gM0Bs90L1xVf//RyrH9NADM= X-Gm-Gg: AfdE7cmNXnD5HyS1MDywHVi13z94eu41OCC+HEkVHlx2FPor895bMqKDvxnhtCBNW45 aVHuSR12zUUbSEFb7tVJUMlwEnaGQyDDtquUyOkmcCcA2WHDhSTrgonyfK31rPLtzrgadrPwJma w+9I812r3mcwpRUfMPNgJ1j7qDTDdZZXUPF8BnqAmQF19MmD1HVTmBin+GR7UMPHYbF2JCOZ7GX 8Gpmw2p8EATCrDSaomyB9wLvYRVHEfQ4Lwd02x89GVnb0r9+ORt50DtK4GROCTJVcvmCgwasDLp zLWgNPtzD4kDDLTxdDVhzTPOTaFwGHGTkUzBNRT7l8PIfMEoXnyGnQzOXu6wb3MbXwf4HVz/6SY kBNZXi/4/aoz019fatQdCFVGL2NCtJQ== X-Received: by 2002:a05:622a:4cc5:b0:51c:8556:55f0 with SMTP id d75a77b69052e-51fc1a7372dmr61283081cf.34.1784277444348; Fri, 17 Jul 2026 01:37:24 -0700 (PDT) X-Received: by 2002:a05:622a:4cc5:b0:51c:8556:55f0 with SMTP id d75a77b69052e-51fc1a7372dmr61282891cf.34.1784277443918; Fri, 17 Jul 2026 01:37:23 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:dc44:5b1b:5396:79d6]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4954a2b893dsm31268205e9.8.2026.07.17.01.37.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 01:37:23 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 17 Jul 2026 10:36:40 +0200 Subject: [PATCH v22 14/14] crypto: qce - Communicate the base physical address to the dmaengine Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260717-qcom-qce-cmd-descr-v22-14-ff0d18b27246@oss.qualcomm.com> References: <20260717-qcom-qce-cmd-descr-v22-0-ff0d18b27246@oss.qualcomm.com> In-Reply-To: <20260717-qcom-qce-cmd-descr-v22-0-ff0d18b27246@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Mukesh Kumar Savaliya , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong , Vignesh Raghavendra Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2850; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=LEka6faO6W4VTb8Xdserzp0AuLRCYfyiVPmoWRGCpPU=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqWemhuTLm2ItJ7M6GPxkTm0KXQMX3wEyBuCdEi M7vF61/w9iJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCalnpoQAKCRAFnS7L/zaE w2rsD/9unfiQY4i5uQvjrqa97YqLd15rP7LzD39UN2BEDOjUBgC8OWkJzkWEG7A/p3+o4F+z8+U 6p+wbuCOCi8t//YEcykX+ft6gkV7nnWvlVs3Ay7fRBVaTk7xNYUGfvLsSP/iDg8Y5OQW8hCJGL0 ZNQJUN8C5nM5TIlYI+GCFwJu3In4t7HtZxOoRdqSgNpsRW1nfCVlOsyA7DMPJalOvgzEUytyAwT yLELuf4kYu17hjkjRc2J9ZOxTzjOBmeg7NgxR4ULAE3EjMKQDUs0tIUpomnH05Nzz+KNMjkyKAR VTjTIWQXycxK87bGfXwwX6c1e2Fv+gm1sIgcyylnZjKpnaF2V5QQdpAmf/09FNsD+y4YzKcRKCw XIGZkM1c24mro2HHZEzaYRaRTI5b8Ou0iZuxL+0H+rmAZBKP8hQgu27oqwYUCMfNHRGADHz7JOf edLyk4pVgBhjWAp9348Y/9jD98gNto39IKRS7i4IwfW4fedFYtjgELqQmmRs4lgN79pm7oFd5mI II/Cm3eknGx2slEjw5I98fx6RrIpDjofaTWfdAcTDUacf7fW+fDGoPQazu3IfY9zLZ6mWBttXzn Db9IhwIYtlywfsmw2sboJJvVrJlRZokgsR07QRyRqDKfSoKPX2wrfXj8yIsDNpKxBBFMPuNDouZ qBJrngl4ns2qcdA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=IMIyzAvG c=1 sm=1 tr=0 ts=6a59e9c5 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=6g4OycmRf1yXlxMorl0A:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDA4NCBTYWx0ZWRfXz0O3OJRnVMTx iLhJMmjhez+EafvXy3X6dalEw55EvwX+3JiwZIES04pCcPdYshkoh9wKWFsXkMwyZuyZMjhvZEV pViLZYgJMz+bk/vRlv5FIuRZ9/chPtiBlYvLRNO9BS3zAXyw6tGv7xO2wQtaBVGUrQwtPWfnlly ArxXuT602jSUWi1FkFPwQl4yfnKxGOj6wwmjAf+cTdaLks1zbaRhqhraDApQp+xaSS66LLTA7My qARnj+NzzJywjSa+ucowHO+ysiCjEQwW4dl6oid7e9LPXmoE/WpIz3q9ZKNg4ahv1wOTitBs5tQ F8X1P3wgAcwxGznkaPKt13DHPPs31Z2DAO/pOGU3MIuH0XABIQ6DHid26em5FxZH8aVO1OAsiEC JoOQh6A9ZJRyoarUJjOjH+1JjO4KqFUY/G5KJTbNkYgZAErY5lOhyMOb8vTFs9Z1Ne/sRJw93q+ GJu663kn+FgfxwNJxcA== X-Proofpoint-GUID: H3X7ljmV0-X26KLiLl_amZtuM8a5guOZ X-Proofpoint-ORIG-GUID: H3X7ljmV0-X26KLiLl_amZtuM8a5guOZ X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDA4NCBTYWx0ZWRfX9SOPQPCNum7z o/P2nBVtjBcooVA2M4X+0jwr17N1Bvas5PRy1bgKREwvilVugzHkvmcLOBUkgYHrillncjXw2bf BIJudRoTXibFlbdWCg2ZAB9vAC20C18= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-17_02,2026-07-15_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 lowpriorityscore=0 suspectscore=0 priorityscore=1501 impostorscore=0 bulkscore=0 adultscore=0 phishscore=0 malwarescore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170084 In order to communicate to the BAM DMA engine which address should be used as a scratchpad for dummy writes related to BAM pipe locking, fill out the dedicated BAM peripheral config structure and pass it to the DMA driver using dmaengine_slave_config(). Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski Tested-by and Reviewed/Acked-by you could provide in order to help move --- drivers/crypto/qce/core.c | 6 ++++-- drivers/crypto/qce/dma.c | 13 +++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/drivers/crypto/qce/core.c b/drivers/crypto/qce/core.c index 4031b4516d6519fc5024bbbcc439500a7b3314b2..50fdc8d808d0fe1d9d430ec601a= b2ccf2ddf6e91 100644 --- a/drivers/crypto/qce/core.c +++ b/drivers/crypto/qce/core.c @@ -246,6 +246,9 @@ static int qce_crypto_probe(struct platform_device *pde= v) if (ret) return ret; =20 + qce->base_phys =3D res->start; + qce->dma_size =3D resource_size(res); + ret =3D devm_qce_dma_request(qce); if (ret) return ret; @@ -263,10 +266,9 @@ static int qce_crypto_probe(struct platform_device *pd= ev) qce->async_req_enqueue =3D qce_async_request_enqueue; qce->async_req_done =3D qce_async_request_done; =20 - qce->dma_size =3D resource_size(res); qce->base_dma =3D dma_map_resource(dev, res->start, qce->dma_size, DMA_BIDIRECTIONAL, 0); - qce->base_phys =3D res->start; + ret =3D dma_mapping_error(dev, qce->base_dma); if (ret) return ret; diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c index 88d253d9147cfc9ed275653f7fd248538378194a..b45a65a2ebb511d6619a49f35a8= 9730a551421c6 100644 --- a/drivers/crypto/qce/dma.c +++ b/drivers/crypto/qce/dma.c @@ -11,6 +11,7 @@ =20 #include "core.h" #include "dma.h" +#include "regs-v5.h" =20 #define QCE_IGNORE_BUF_SZ (2 * QCE_BAM_BURST_SIZE) #define QCE_BAM_CMD_SGL_SIZE 128 @@ -116,8 +117,16 @@ static void qce_dma_terminate(void *data) =20 int devm_qce_dma_request(struct qce_device *qce) { + struct bam_config peripheral_cfg =3D { + .lock_scratchpad_addr =3D qce->base_phys + REG_VERSION, + }; + struct dma_slave_config cfg =3D { + .direction =3D DMA_MEM_TO_DEV, + .peripheral_config =3D &peripheral_cfg, + }; struct qce_dma_data *dma =3D &qce->dma; struct device *dev =3D qce->dev; + int ret; =20 dma->result_buf =3D devm_kmalloc(dev, QCE_RESULT_BUF_SZ + QCE_IGNORE_BUF_= SZ, GFP_KERNEL); if (!dma->result_buf) @@ -133,6 +142,10 @@ int devm_qce_dma_request(struct qce_device *qce) return dev_err_probe(dev, PTR_ERR(dma->rxchan), "Failed to get RX DMA channel\n"); =20 + ret =3D dmaengine_slave_config(dma->rxchan, &cfg); + if (ret) + return dev_err_probe(dev, ret, "Failed to configure the RX DMA channel\n= "); + dma->bam_txn =3D devm_kzalloc(dev, sizeof(*dma->bam_txn), GFP_KERNEL); if (!dma->bam_txn) return -ENOMEM; --=20 2.47.3