From nobody Sat Jul 25 00:56:37 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 5FB343655E1 for ; Tue, 21 Jul 2026 13:33:40 +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=1784640821; cv=none; b=pVdxMfQ1kenvVVLmlw83xs0siIcgfajTsqakp0xoMraSxbECyMcgeoSxXWJ+Y5mdMYFOz2C0kOcnmfm0G4KUeYWueWGmTq/486Uofgp0r847sP9C3HDueetQTeVp1GbjtAIZelPvcHUKvXusMRY9yr+XQUZVFcGmUo7ashDOOW8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784640821; c=relaxed/simple; bh=T0ZAEoPGlcD+MBsHOs7IR7iXvbxs2FRnDbpOdt9CWCM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=TsLDA+aLjXkX2cf9Oq4ZklLL5KD5qi1IBof0rgUJnECG9VA4AST3crrNx+meKcHTIYHavnqFnqEI0jmFOO64FnqanXUjbyOTDRT91Xa5lgY72m//c+/i0+M/0zLxAOsNNMK4sGmkhYfI06C1CNJOigKdmx8a05iRzCq5dacxQpw= 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=LKSOAghC; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=jc6OlpvC; 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="LKSOAghC"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="jc6OlpvC" 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 66LDMCkj1910316 for ; Tue, 21 Jul 2026 13:33:39 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=LKSOAghC2HImilNA Lf96SOlBGnNH3Eadxcr1JMPYg82Osus+TgkjqKIhp41d3SfA6/igmFKOuqmG+oEz Kn/7QPM+V2m2qpvkOIkxVWEFcae0YGAkuKYlAWk5/C76lXqMpZcv/8w+6KK8hHzt KRPb04jo6MOfFdIB9ujmDbbAEHJEIQ7JCqVxpccYRlrlUwdLHgfX8rQfQNGC8+7Z tNXtaiaelSEPIEvGN6Zm7YUKm3ROFrjEEIhc/r7YDnXdGyCxLx5IAsgzQbKKWxZx JKgpljcxBjbUbYY+uylULjaxIA/HJwbZ7ALNrvTPpL99kbIc5NXLCReJPypMDuKf +npuwQ== Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fj1bvtm17-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 21 Jul 2026 13:33:39 +0000 (GMT) Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-8f0f45415cfso187895316d6.2 for ; Tue, 21 Jul 2026 06:33:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784640818; x=1785245618; 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=jc6OlpvCv/9s7cxjbZtRkWX9HCOcg+xkvPgh6cMns3N1zKPmVmVcMCvqBii8+ffs8I yRmUjQYY9EYxpazmcYN5inOm1aSKhgkCqNa4uuqV4IALt9pTbKDck7ybRNuy8PZk9KRS OPskE28KWH8THPl+Pr4ucJh3vgx0FjF08Y1zUoXbhqcHUCX+JrmSXdYv+54si9uR0pXw M+HcppE7eClreVZfcQn19w9lmZ8P+uPDvc9GQFFkSgN8dnQVUQ7uWdYqfUxEd3Y/KMp6 OuQQNnczE+vuCLlJftxTMGH9QlRN5G1YemcRLgDWi3jOL2r3xcRYayALRq8pLF4I//Fy YqcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784640818; x=1785245618; 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=sEWa44rMnMZxapYrq/s8uQYJkRcZqRu0YicN9Jw5zTMtCvQ/lLIPnTVCyhBuwGjpPs w+aKWi21Y0eZSFw+ENa5eIMpsLfsj+mXp8Ssbp1tcsi6bfiQ9rwFpjmeoGq5eLTxjzUl +2ubVv/uiOE9w4VEaPBZlCIbBfzuA9paCbep0ZB9Dg5ug1bmZsJQgkLodGB99xFUYT+N cPMZoiUAY9ZHVI+NDMhatQTHesBywCZBXw9iU4xdfooYt9LY8AJNch0AVLTooFpI7WlP eIP7TM5KweeTkklPsPKs44V6ZT4YwgtSTNyBP36WPSaMBHm8RxVw2+z/COt0eRG8VGMh Ha9g== X-Forwarded-Encrypted: i=1; AHgh+Rr7qCdYRLC40aLKCWBCCPSrSuD6i39CQ19RPVd1ohWZKOdumWnfEcIE4rRAn3wgEH4F2ZFx8GEZEw+IfUM=@vger.kernel.org X-Gm-Message-State: AOJu0YzKfTLAi6d9hnaeUp4NRscSHRkeNkVmgrZ/oul8YeZrAJUpF/s0 sf80PbV7WYt4Fj+3oNltFf56FAGASGI6kC+oY3AZqMFqsmqRqVtAG9dMt4C2XEmPOfn/+MG9vDq s32AWu+6kBk39EFfesmOOtGXYBFLsDpNQOko/bArs4YMhVJXQ/GpkSkdzGS4Pw78QKUz6h4LSIt Y= X-Gm-Gg: AfdE7cnLgOo9rA1+6cyTUPfSJ+EY0YkezuCULdgZYz1T34fGK/XiQSqdb+tEhrxgLiq hcn1pvssEuSIATYjQq+VuZ3DPSVqZMdv4Y+sekhGNT1GD2xYUirHELOmMxPcyC8RAIyc7hMpMqU rNBAHeJkku/ZFAU3oW9czKXMqENJFgBJwTk9SoZOWkdevJ+gEtPLegquYdUG46FXWTYTq7D8AnX DTsJOpYGMJT02PpZx5GGHSSqZSb0GaOgOA9D3ecfXD/RJf5I/fL8rWMqXkuHDvUSx2J2ItS1782 DvBEY+f5aq/H7wJavY/bzokmNhCXgKGET0trtobJRZT210avqcTsgaEAQGeeFVFm1LgqupFnZeC ps3+OHYe22M5E65768scrHX7LdNMaFA== X-Received: by 2002:a05:622a:5812:b0:51c:ecf:4eb3 with SMTP id d75a77b69052e-5213c9e3801mr151088471cf.44.1784640818414; Tue, 21 Jul 2026 06:33:38 -0700 (PDT) X-Received: by 2002:a05:622a:5812:b0:51c:ecf:4eb3 with SMTP id d75a77b69052e-5213c9e3801mr151087911cf.44.1784640817721; Tue, 21 Jul 2026 06:33:37 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:9dcf:9ab8:bffb:ec35]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-495499d1d4asm237901185e9.2.2026.07.21.06.33.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 06:33:36 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 21 Jul 2026 15:33:06 +0200 Subject: [PATCH v23 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: <20260721-qcom-qce-cmd-descr-v23-1-1be02deffda9@oss.qualcomm.com> References: <20260721-qcom-qce-cmd-descr-v23-0-1be02deffda9@oss.qualcomm.com> In-Reply-To: <20260721-qcom-qce-cmd-descr-v23-0-1be02deffda9@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/NoTDAcsmYgBqX3UdE56w2Il7jRT6FRLwWC7FQ2qm1Nq+0Av+/ 2hf/Q9hzPyJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCal91HQAKCRAFnS7L/zaE wwHdEAC2F3MLYx0wjHZ8HaEGIrCSvI/zuYuUmsa2XRVR0dQHmGhJr0dBsit8yKEB9ukD2zh4FHb 1VBJ2G79OlRyID2BNCTe113ahVUOymmJ7xRPMqS8d5vwCR9G3S0RLeiFzG+4RITX8ZnrQr/643b rsoyuf9H1PsagPrwJiOyw/WBWiP7wISuEXD+VhhglJQHrctc1aOAX65HZHEi6DZhJgwXDC9/wRO xttNtToOx7K76Dxv+PWpSoeSynRBsXkhgzE/FuCetUJt+OV2snZu2tgkrPbCNL16dfujQe7W0D2 lqV92UnR0FSusawVaMDisWWEEsAU0828NP22C6mQkRZbBTbcJDV/rF1ZKuVMdlOK6ZDth6h1C2m gOSY3sV198Bb4A2ObPkzJ6nMh+92WsJp8crOzpnKE8p1ii6ijhEdvOA4FY8RBbeAzQqYjfirB02 Rlzg3fEbrcgmiza/j9SaPBaIm8Ib60Il7hzaby9ho6VRdifwrSjukCwUmazyYY+5DUZeBvYhyy0 7k7rrCAlSA2Bmy4p+6eNkUoGWk/fLa17MuG0vAe4rrLXdqm0Ei4wD3zwTgAQBCOaBvpThKpuqiu dY2fSoF2YvD0PiNi3T/uKql2eq9J7KRrk1CDlvSkDp5p9hmBTr1roP2iTeqzSqr4W6SMZpuVgSY BmrWspmX3eRNM3g== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-ORIG-GUID: uMrSwYLAiXXbB-NX7sKhIkJbj6XKRESs X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIxMDE0NCBTYWx0ZWRfX03FavymFItdg 23wXc676KS24NDKnnUxUSEt1N+XhG9uqB6TbpknWGqle51aqu0tZmsSK+QGR/NTTRzUqsPISx8h WVuxefL/rpHjEjCxmPWNDc2NvQnoAAM= X-Proofpoint-GUID: uMrSwYLAiXXbB-NX7sKhIkJbj6XKRESs X-Authority-Analysis: v=2.4 cv=Sb7HsPRu c=1 sm=1 tr=0 ts=6a5f7533 cx=c_pps a=7E5Bxpl4vBhpaufnMqZlrw==: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=VwQbUJbxAAAA:8 a=zd2uoN0lAAAA:8 a=EUspDBNiAAAA:8 a=XeVHrwws4l7kqE2Ex6IA:9 a=QEXdDO2ut3YA:10 a=pJ04lnu7RYOZP9TFuWaZ:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIxMDE0NCBTYWx0ZWRfX/S6KMmWU++Lj /hiD4WzYOosFo/77ACoV6CNuDvkVO3SmSUG7+f9WzOa71cEUJ1+ZTYEOzw80JD0tdCEjiYQEOQ7 zOr1k60U2u+1NikSHn5fuke4XcpuOvIMUja8cN1TYeMB+2u62WTHv+FOEK8iqwxC1jxNIOQzlmP KUXPTn4AnyJVS4mDz1fGfhQtC6NT2MTaWp98nViDm0jbXyCjoU8PhFABmTRUWGnwM1S5Bb+CqHE LyNlr4BlhVpHLEseg8StK3+IpPPn0izK3EUEXJia2x/xNYzxrKRxPe2HLSxX2LS8Bu7LTU13zRv nskOh632Ougg6yCfpn15K3pawUeagY0vIc8VAs1RzJcdaQTVroq7dVryHFQYnSfVVWmHi4ObFMF 8mhCAh87q+wZCRZUrn8HkQYaWcF1hh69OYnd5DtBatOI30zxp+dIBpAIwar92GqcoX4IcsbPJ62 sAc4kk6Ie0TdOF9I4QQ== 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-21_02,2026-07-20_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 malwarescore=0 spamscore=0 suspectscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 adultscore=0 phishscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607210144 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 00:56:37 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 E1797369981 for ; Tue, 21 Jul 2026 13:33:42 +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=1784640824; cv=none; b=cEAdm9+RhY7OmwFsM+iTMcwOWrILOdXFs/BhBdyWt/yXhSaI8WARmluChrCZpuXK5tUiOgiys1bKpxfF5wmoiYibmwaREpx2bvNgSuHkXE8w8sG4F5xxek26ydrELLQCCWWM+5/GOa9wdLDZkCPjktul0dl83fQXOJybNDgYdNc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784640824; c=relaxed/simple; bh=4nbFs/xg8cCMPYrFtHWE96AOtkhXxC7yUgPXEapSLFc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=arJEUmDct/+soiCTM/wpAgn3SwREGZLdVPjWGLZR0i71oaZS+mVen5kgX471XaIy3N8fSy4VHbzFpl0vN5o8Bh8yHRsT7Z/ZwZfmMCiHgZh0xToIV7Io2mjDkoXxAPr68jEFzDb6eizp3OsIL58yJMBxgtWubn3wE/vxNXB3g/4= 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=jR6dkYVo; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=N9vHQGz1; 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="jR6dkYVo"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="N9vHQGz1" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66LDLsok1890566 for ; Tue, 21 Jul 2026 13:33:42 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=jR6dkYVoqTYQpyCE 0yE0q2kSI2nvymCD72OM8tj2J6T48uLz3VOzK9bHGlZ99XLqbN5n53IDRh7cf5Gq vNpPTIRre2FXTAYYttkzM9mQy7BtMGgpSwGPj5CZbPAd3maYF2Zhg2pofBdOT9T3 824YjCybS9cSFPjQEgqCMwv2ih305ybtc9fmwJR0jdNhJ2VV8GugieCNeD+YgJeB 07jGDuPJ7V2MkWg6jmbFAmaHeP+HqN+alEJEiofWHS6ueXSkhFOFglJTvoc4Jfep IKAmAUTR5er859lQxXaMQBu9wv85DInsBgcP/5UGks+dur/WOoxIuSiiFVgrWE7P 9q10oQ== 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 4fj9bs83uj-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 21 Jul 2026 13:33:42 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51c01ff996dso89448041cf.2 for ; Tue, 21 Jul 2026 06:33:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784640821; x=1785245621; 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=N9vHQGz1fml1LrTqYPTCwT3moNaTO5nNao07dxAfqVj94Y67JTSPuMrBFkbN5Nvai1 e9OuHf0lnF89yc7gJCo01y1a9i/ZmssC4AbBbcOKDAXtqakKZ5oSX/f9wBUw84HKX64k 2gxm1eATT+puPTmXXrIp+PARp8PV/cVRTIbwZGq8hWMdgY0P6JgfEsogvEz0zyqqnekl iPc+kRgm4YIgaBPbdus1zZB8O0hfH7R6gq7Jcqv7WFpr1tQH6VBgX3YBNzNbczlJeMmT ho/twv3MaE+4YlMCzKA5hgOuQ+gBoAXGSlFwzL6jrh90S5hbzg82Vq9cPM3mRh5lV+Br SW3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784640821; x=1785245621; 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=CNFvdYOkcGSgUNX7mvjfUu6rQQjISzNf0khmfqXKqWX+7hpJIHfIrKjowZb/JWcF7f Rj9/7jRUKHgdL9xO8EIUFltvqwUWQyAAvbuQVbOTxsLmvHEpipuQSv8JuoSplruZFtkv GsB/SKL54v9NjwINILZcOaA8IMyFvz6rURHkaG28rTckz+EgXdigI2Z4g0DYZ7qmTjX4 ZqEehPjjKKhzsLQeC/XhJbWw7sLMrIFDjTHBlwqlZCxIXLTqPYIBTua+zSfZ2yDySeEZ l/jh2fDustKzVLo9Zulc9+ooVWRiFQPYngGqINAOmn2B1C29ZMtcVfsn32lkcagHKat/ y2Xg== X-Forwarded-Encrypted: i=1; AHgh+RpMjzINxe7czGwSGm7+UGLTBvyA2EJNr48yrDcbUBHcyiPQuutk4t1d1Ud7I/I3XWsinLzaluepyrfKUik=@vger.kernel.org X-Gm-Message-State: AOJu0YziiwGo0AAzQU8wEc2jfw3GHAOfCQrosc8SefcSsmLx5uoZzrt6 B5b0HP17cL/kccQ3xpQAjG2alYjueyzjos12lTd8MNowbIp/JS7ETPxNBd5R7b3GwzHJhrO/5mj 6vhydLTAumfsto87//6yQxoFbx7EAFtlMSu+ZX/irunLD2Q6NixNzxVzZlVugymF0TRKaIrvmqp M= X-Gm-Gg: AfdE7cmjCt5K+J5xZdUI2TvA6Fb765x2S8qHrcD+pZFbpweFRWHw0cFeXcYbmG4IAC2 NNMfCSAt9TptAUmc8tVUUnTV5EtK9PgNnGbKjiwHr5KTvl9JVQslBHZTfnWxXyMJ691pK+uA97B +/3Od/7yS2uR+m9lQ/RCsgzRi6sLhMslaanExHL4gw+qt9UTu4KY4hRL5UblxGPRCvjjD7aJZK4 oJedeoImHuWcI/+U3uDt9MqrbC4j+0eYtwtHvNxmPSdaBAOwq3oxW4t/YenK+1sdmm6YnaDJxvC IOtExHHfzReLo8t5nlgsOG9H4IHOwPcT+458ie80WuLX3shbyLrl3QNZj2RR+kKWkoUC//zp0XN bihiw5X2kfLoSrkLLYuoRQivupQCI5g== X-Received: by 2002:ac8:7f13:0:b0:51a:8c99:1f17 with SMTP id d75a77b69052e-5213eb8266cmr168099951cf.70.1784640821002; Tue, 21 Jul 2026 06:33:41 -0700 (PDT) X-Received: by 2002:ac8:7f13:0:b0:51a:8c99:1f17 with SMTP id d75a77b69052e-5213eb8266cmr168099441cf.70.1784640820325; Tue, 21 Jul 2026 06:33:40 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:9dcf:9ab8:bffb:ec35]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-495499d1d4asm237901185e9.2.2026.07.21.06.33.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 06:33:39 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 21 Jul 2026 15:33:07 +0200 Subject: [PATCH v23 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: <20260721-qcom-qce-cmd-descr-v23-2-1be02deffda9@oss.qualcomm.com> References: <20260721-qcom-qce-cmd-descr-v23-0-1be02deffda9@oss.qualcomm.com> In-Reply-To: <20260721-qcom-qce-cmd-descr-v23-0-1be02deffda9@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/NoTDAcsmYgBqX3UeTf5yPkR71GYC9HakPsyBmOns0Ff6OXLZW KKH3mvzMz6JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCal91HgAKCRAFnS7L/zaE w1qJD/4vuV9Fj22we4zA4r2X2pev1SmEHY/SdBxLsKFopJ77s01KnqiicTUPULuJ1DJ0ju+ITYE Sr8a8HpraTM+koiOJ277s5Ma3PySt+/raldHmeoH8DgvFT2ybAuGGjcUnTEqjupk69BStbTqvPK PGisrWeh53ehwPJV9Nx/8EROv73Rq22KmMIlQo2qQmFDnY6kLxpXUDcK/Z3DUtBZr+zse5lQME8 c6a3SYxx9lV4aSXgp/rOOJTVlxDu+jtNYmI+NNsKLczXxFL+EBtY4cLMvqVGBNUZs6JaaZAtwqC Y0r1k2l8txUqORKpZfNLDnDRWrvvYHq0pZqMUu5daBpN207cKVp9jgkM1lFnDjWFCt4YJgf4FHZ ZTCpaRMvjWj8i/tgdvX22I84e+N4xShzIBlPe+O1VxIwKwCeS6Q1QYM6SdGtE9OHVdrswwUgZDJ 3YeaG1mYZmzzDdxtqKOEAwAx03wpc7xg+EjvDWTNaob3gBxLWiGduc/S37gJjIWWYNdg1cnB0Zz a7sE9oGUrIJy0N/xU+qIVue0ErYS6xFduavN0DBuu/6XqzrHbdQ52SaxQUUPyaHw0dZvVG54CUX xg1x5STbAno4Tb26snx57KMcE5huCqlfvySuirjbAzpWwB9dUrsVLS+4jTDdYu9ouB9SPzIB7Kx mZhnaJ5btSxq51g== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-ORIG-GUID: Z0Kv-33IILQEb-5HLxwPGYjTkn8iEFFa X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIxMDE0NCBTYWx0ZWRfXzJYgckjj44C5 YdaoU1ccLfMqobjahDgt/IZBbVppcrOku6EjMd4rpgyS23ZyljHJgyDdP5ycW4VYvQnB55VjPe7 VOWwpQO45oUPH5jjYEjvbqmy6W9uHnvG8NGZQ2ez3QPQAr4yjZeCqpqJOJyKW2aRItomYdLNG+B 31d+iPaqGRLMRfIjAV0YRPDVtnX8WMqRa3ygUvEQ58C+aoXMwV1UWqM+/sAZF82Vf5LONdRxkzh eRTeCEF+CpmAb1yhUG8n0m7ssjXG8o4jxFIVwzY/UmaXpceOmVEEO+q2CS6qXjWwlOy+IU05rjJ TsCpyimB6166HKApl0+5EXkb29vW2QiOn4ZSAUZSQb8o/Hoz931yhvpcTKsUHOm8P8sATx8p7xP SQK+Kkc5ka6i9X0fW32bhcVJRkz3MpCL+EAlLMB1K7DqYIMiPqp05lDrTiozAXK769IVOdplgDl Vyruxh9DotAMCYbR6CQ== X-Proofpoint-GUID: Z0Kv-33IILQEb-5HLxwPGYjTkn8iEFFa X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIxMDE0NCBTYWx0ZWRfX5HBNEFqN8lhQ /OqhQPnWKyBoZDvNaKojXN6m4o3SlYWd2tL0Pr/iOHfpqi3FcH1gk1icISn3nDwWppYv91pachX gQKsCgHwWE0tUn6bSmZy8VbS+s7N1PE= X-Authority-Analysis: v=2.4 cv=QK1YgALL c=1 sm=1 tr=0 ts=6a5f7536 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=yOCtJkima9RkubShWh1s:22 a=c92rfblmAAAA:8 a=EUspDBNiAAAA:8 a=VwQbUJbxAAAA:8 a=n8zAjjMAgf0wD31B80cA: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-21_02,2026-07-20_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 spamscore=0 phishscore=0 impostorscore=0 bulkscore=0 suspectscore=0 clxscore=1015 adultscore=0 lowpriorityscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607210144 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 00:56:37 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 941BC367B73 for ; Tue, 21 Jul 2026 13:33:46 +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=1784640828; cv=none; b=c5N0gufIPZFiQT4I3d277tyd+mDeocLKhalUruBE80IX1ZoyUvLJxJ12iM04bkVWRvPx/Ogr+ub4A0u0FV5JiTATCXtTOuvdAKFt1fSIpoC+AgFiUX7TW8hliJW1GCw9MvjaLbjxLctep46WZzhu+qIT0j0S/QUbjvIGhGPWSzQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784640828; c=relaxed/simple; bh=wCpLSEqzl6yoBDde9p+VABZfQUJK0dP0DnJmF5kRzKI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Gx7vPBIh4l/FvX+PJwnFOKpoqjCA2aBz0hy/e96qlBmXYjeISSTM66qyV1YCMT+qBaPDo3/MwS60nh3keyCPYpJutkdRqH5+xyfCnOm9X9D7M3euFL+er/7GAUyvUzFfYUpKewOAOsL9mp9fuKAPRoymczGzZdYyC57OK2uoNSc= 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=jQJNAIvH; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Qcob/aWJ; 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="jQJNAIvH"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Qcob/aWJ" 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 66LDMJif1756904 for ; Tue, 21 Jul 2026 13:33:45 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=jQJNAIvHvUB7R3vB AGOxMJAYulIc3vYqLX1z1j3Wa+nXzFGTJMtEDIybTzvOKPwH5l7zvpz8xMTEf+SI sWUN9OdF4Gr3e1ptzT/WjDyAVsAZ6wPChXwLaXD3jriYJ0Ab2ELdtseZh/L6GIQm CFEhNpTITPFEfeDAwy+h6hBLwhnI+6dgBwrDYYHv3x+s80b8g1khJ6pH3pmdj9AF f09Y38joVqkHXlk+QiEsaEsne8mqWosoXZ8dbAHSyAk1k6uI83YPGUE2Vpz+d8f9 2fHhRdFzcI6AMZCqz6JCpeOEVOpjov82Uvpf9e/8btT0hdm11hokvGCUk3hwzkIU NeQ+iQ== 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 4fj6pa8x2w-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 21 Jul 2026 13:33:45 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-51bf321d786so100881231cf.1 for ; Tue, 21 Jul 2026 06:33:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784640825; x=1785245625; 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=Qcob/aWJnqmKGvSYlEQKH/2LeUH5GAYGvHrh6EdZuSVhIGoEmidb3FF5YtajukJINB 703IdfIFyS26axOSZNo1V2Q0/EqdN57EdZA8unk/9Xsq/OdUNM6fwxgLx7O/y3xZonv7 QUi3mFZE0p3+QMxOgdK5nK6R8LywHTWRypsVQ3K2bmap+ScMWrdFc7FUSL5Bzgu3vdC1 ptFqe6KKVJxBtGsaiJh8lIiBbzmiqNviUEFDQATLnjpezuJJXS8rAL2EAW2iKCWpQnQu f1NVg+nWxeay0rSfmMcb5VvCmoYgJWNlsfVxgLiEVjeqKGNszaFEQJCJp/Pm2wBfgrbX 2BLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784640825; x=1785245625; 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=CQMEWT9+vdKlGo+4sYjq5TaL+/oJvztG9NUIlkF61TgEFBmi1scSXwWNLsC/ftcL6p Vc+fohHoI3ZqEEZWciCkV068bi7xTwLFrYD+UxDkbpOQIK2qR2eO9s1ZMBQBP39kZR8z jL+cKvMmInR2haLl+sfd+Fle+4QGGW2MCpVEnVBtvFCYpe9xq3zZYNv32fNl6RS4dpWl RQh8h5LSsac57BqlXkW8C0whewgUKUSHHSom0rXv+13WNKOFw37FHcXghQ4onioo0jcI ubllGyRExmPxUfGFttnF8wHF1eU3tVIurr316tMeie5NF0qpF7nnaBVuHXxzP013KOgf EJUA== X-Forwarded-Encrypted: i=1; AHgh+Rr2PdoEwELxB6gvOGltJ5I+f8yOn4wdi/OgU14+jUxeF4hQAqDQm1LP4+pzNhyNfTN0erXonBDyXZTIfaU=@vger.kernel.org X-Gm-Message-State: AOJu0Yz8FwWx/I1jqQR4eDTH4dkKGeKr+vzy0mxCUJsH4dI0VSNi+ncT KTcjjDzPoS1HcNmhANWGsT+COfsiIc2fKaby/Bw1dbPpJylXe3MiXz72+IavJtUjr47tYeAmkLT GdE36Kx7kKrLTwknv0m1MKJDssvzyOVgex/nWu6BD9INb39xDmi8pRAD639bylzojUulWc+PhLW 8= X-Gm-Gg: AfdE7cmZMGztnDeuNInwOzZrzYpRUFoCxWzL2LsohCLNdur5jgfUByZAyG3IOyDidss bZENpBkSgVBY+/Ledd1dgpsSeBZcQ33oOpMFGp+2SBIsQENM+n+RUlzqTebaswmL0LF8ikvp1PV WDwp283Cs8oOLczTpbS7iImjEOWrHv6nNx1EUp1cVpievZwBoHzghKTeuXgud3vSP3ZveaoQbz9 M6khQVdkRGxTzIvG43InRGnsHlJ59QXtiaJN8MWlnwoE87a7V3yovOU3dXpLWjNBiaIt9wg591J cWqo6QGZx3ozNAD5qI4OXCrG6H0yZVGRDvHF4NwXHmyDofIRdyE/WFSswYX7aID2Ee8PWG5D0iw xSQBwpd6Bo1elEGJY8fpn7EAEIAZepw== X-Received: by 2002:a05:622a:4008:b0:517:6d82:9aec with SMTP id d75a77b69052e-52138ec2c01mr163913671cf.0.1784640824629; Tue, 21 Jul 2026 06:33:44 -0700 (PDT) X-Received: by 2002:a05:622a:4008:b0:517:6d82:9aec with SMTP id d75a77b69052e-52138ec2c01mr163912961cf.0.1784640823889; Tue, 21 Jul 2026 06:33:43 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:9dcf:9ab8:bffb:ec35]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-495499d1d4asm237901185e9.2.2026.07.21.06.33.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 06:33:42 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 21 Jul 2026 15:33:08 +0200 Subject: [PATCH v23 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: <20260721-qcom-qce-cmd-descr-v23-3-1be02deffda9@oss.qualcomm.com> References: <20260721-qcom-qce-cmd-descr-v23-0-1be02deffda9@oss.qualcomm.com> In-Reply-To: <20260721-qcom-qce-cmd-descr-v23-0-1be02deffda9@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/NoTDAcsmYgBqX3UfbWQcFOVE5hNy5ORpDyLVvvPVlbwquV0eO UIZtQ4iqweJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCal91HwAKCRAFnS7L/zaE w9VzEACVgd2ByyZhxiiqIrqQ5VRlo7dmVYDYtB+etZcBxcZUXxwbXQkJsT5wyOvMgREkMdqEmJv a6zK9M1ajOkxL2P0RjHMmlxUKrJMIXEkPLasXDg7cKAtVkhtDLq+XaH9nEGMtZhU0slVi0J9v/u aXLizLyRua8zHDF2qRY/l7DrBa4vjampFpyvAORJyLn/I/44U9ebJwvIt7cIywP/H3bRNmVFrFP 37PjSkfSxhBj9UyZ3ET7LozvKFCN8sGILU53dptezMXZHIsdSEjCTu0IrUShmz/mPEQcqA+rQSf JFoOYkQnhF2hT0riPA0jnFMKX/AlYVveILEWx/0syGzaAQHtPZvGucBvwaJrIuwcaof/xK5qc84 qeBwJXLnoMuFmFIKmp53gYRYf9e9zvJ4PkoF5CzjUWtwi/AwBGhbdD83zv9mKVI4JBLU+ZLCGZn XU/YV1LO6Ojy/GQLvLVBTCCugiMDZsUzcU7IL+miT+j8Vzr3JslwIcZVTxtDbxbRcxIheDxRl6l U6J5HgUUSTygLFOkmXZ8Ma5PuV3hUVyWnIR0zo/g2lriNjsVAm1GmYr+otWQTA2s7pZmrCkQa83 z5GPpoFEv/4OLkJbAige40aX80ytzB1XyGIDPQNPGetlVq6W74B/4I0FFE1HszG+usPq8KEYpJH 35qR+l4u0wG7Y8w== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: uvUpOJO1YORj9koYso7209jkfw29ujOB X-Proofpoint-ORIG-GUID: uvUpOJO1YORj9koYso7209jkfw29ujOB X-Authority-Analysis: v=2.4 cv=eYYNubEH c=1 sm=1 tr=0 ts=6a5f7539 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=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-Spam-Details-Enc: AW1haW4tMjYwNzIxMDE0NCBTYWx0ZWRfX57IkuLIDukha mMeN5nD4FNL/FtkpAFn9tPPArSFHoQL0IpP3SrQp6eGYomLWtXJQby8jgsUpJaT5QQYIbtXFYfV xrMDWVJiwcmZhH4sl/ed4ZDQy6Np5k3UtAz4dIkLMGG/7O45gwGu5ayGGdJi43YES4mzAcWeM1t MREDTVYp5Qn6p4z1GmyWCglVw9bUmMxilVfFOEsCSOdek8iF7Tb1syjZz40UfTHofg/ZcCziPDt dDlgWipnq9cZWt0FTNCeqOM7Iv5585Rg02DIChrrq+rNdt45LoJwXZhTv3fks9d106ohenQpwhb xLSM+LWZdkbtun6NYQM/fGbNLblV9fdCwJfN1APgRpkLoBx9T0gFusYejkHopl/KWPwG6wR/Ewd HlV5kfkJLzDcPpyZwU8HxHEJ/Ap6Zi6RetmPRW2Jt4QrW5wEZ9aGN+f3DkSDRW7kSVdsiSK+enZ O6N9NlMs97BDrgmzNWA== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIxMDE0NCBTYWx0ZWRfX1unlDWajZ9m1 7wD3x0enrZoJcLUmAJexhdNU2UpwOl+tZop2b14m1qtktxykYpiA1QSw8Ib7tH1bytD7oJjee03 q6ONvB+wapWPrcBs3YSiv5XgKQco8+4= 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-21_02,2026-07-20_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 lowpriorityscore=0 malwarescore=0 priorityscore=1501 spamscore=0 bulkscore=0 impostorscore=0 phishscore=0 adultscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607210144 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 00:56:37 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 79A0036DA18 for ; Tue, 21 Jul 2026 13:33:49 +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=1784640831; cv=none; b=lypGfpPkHu4x/QCV3LE/0BSEHidRWQNapcvfd5qPb8pcOohsXUj6VfKK71XtZJuKK7Z1owWg4TzkCAtEn6+PAZR7rOU8AMdRJy3iG9TSDH6fq1eN71xWIu+XjzjxwG4sab1ZVotuPtf1K8zXoo8syKAcViNH+QKnjac+VCj/OOs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784640831; c=relaxed/simple; bh=1Q+aPsoEc8W4PfEahFbzsFEdkzT9tiwxUCi1Nvr+Dts=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=jg+nC4RhbnD06Bz8/gw5SB8GpxMgdxyIjg68Ir7KwGvn/dfxjSUkOZ0F2a9mWUOFbz5lhVQ5uq1B9GDMpHFKE/7ZXqatbGywY3HFiE35And9rTFX7vVERZP4C76n4P9UZclUQ0/a3thZ2blXE9IV9pL/sqoWEpDW6FcuBA28cLY= 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=ILqt+CBK; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=gB5M8e/P; 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="ILqt+CBK"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="gB5M8e/P" 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 66LDMDeS1910320 for ; Tue, 21 Jul 2026 13:33:48 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=ILqt+CBKyy9yRzno zy0v4ezY9HELP3q4XYhVQiU0KhcTuuhN34G18Cjzz07DrxxDCCGGeR7ut0jgNJOr bAg8/yxIjzMWUIMfkmRoYQlHp2JhKrVjS2lZiN89JjfP0LUVbD6CXxo2iIp153Bk b/koqsSEw2ZvbViKI0S0eAxnSSeY9wdmDn8eSuonkL5DsouAk3MBQpJcK19MxEUq CLL0nQn7lqabsj240ePfIQqbH4xyBRH4B2XX/NuyzXuF83AcWFsxPljBsjSgvk6T OqA1rUCwZJdRkNCmY5Z9NnxxZqXiQDzLc2w5s4l2fx7OjB9E3JTgjtpEYQkDBX5n 7v05hQ== 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 4fj1bvtm1v-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 21 Jul 2026 13:33:48 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51c21c01cf3so175990461cf.2 for ; Tue, 21 Jul 2026 06:33:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784640828; x=1785245628; 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=gB5M8e/PmU1/MDPgbqr06idMk8cnhHOKgxf+bVlonva7KFMYnrYoscCtKt8c1ivDAL dgiGfnWbcfUfoyVZxWtTU1WrP2nQDbXkgm8XndvtF62BHlZVPJ8O2xO/umhcDiuQj2qt hIzozdIFoJDnkrqH/sE1h/sntmL0EzeC+B73JmHyK/4T2l55O9l2VvXSImHIqr34G2o9 BrkZ/U+J++CSGR7/UVTct76Y0QOO1Ph+lduRBSNXFZwv9UJCj0kUS/+LFAv3cxYnFEgE 3YvU5ITTRNbqj6pFpORCFWb0O6GG4fW3rR/VEqZaLB+BBdANE2bsqIVK6Yga3xvjXCvz hnYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784640828; x=1785245628; 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=cY8mZV3+PUDRb1EWWF/+n67Ekd8Tea4NRuga6Mx+qxadAFo7jcv2FKMsuf6V3Q9jmY rrgI7aLmuIjnGn7HrPz/O3Nxonq4BZxzbqUoBmoluxaDiaE7E0Ze9tTzCymzPNHjYXTP ZMw/k/LPghxRUChJ+0p84OcMHVUUjlgyuhYh0UVSbJDUEONc+SxEDA5fR98AxlW9xvvn cob/91zaYvXwy+ug6OwBPTbQ16wFbq+ZnJVXqm5+qNHyayZB/as2HAAHm0Fd/PIqjReV z7BPK2kdfTiUGSKBnVLLt08dJiCapiQFv4m8JhJMKn6MwkFjSwXKqKUOcepO9+v7wFtf 7rOQ== X-Forwarded-Encrypted: i=1; AHgh+Ro4qj2dONeqvc9mEUXOE6ab6GR7HKKwqtX5xyO1GMpEr/YJF/kOZSz5u5IULLhJMouNdQqm/1d26hkiE1E=@vger.kernel.org X-Gm-Message-State: AOJu0YzlidUuhyrbSxUPSm4x1Hrrz6BLC5jLQ8sifMl+J1a/y1WR6J6T UoEwOFTB5xc0CWjGPIEUEscKiLLm3uYUP0lRpkobZ2J8/EwpRR6dCI/hleZfeErrZcyZYW0f0UZ EE/fSl8DZReDxYrBi0uqUXnwlMzFRKdWgdfV10IrrdNtTeDQiyN0MQ+Am9BrOtxGFbqbZ3f5i9m 4= X-Gm-Gg: AfdE7cltrbLoM/IZFWOQHYSqSNfY/Md0H707SZhJ6VllhCRAD6NvMoQ67JGipYO2cnw 7FOZLEr8AVVurw2/hn7qikPij4o6QyOr+3eArc2fwiQd2zN8fMIx3TJVcc4tQ/ep26j7jHysXCv HxsV0REw1m0aoev7xFf+I6hjQU0yL2MKFb4BMt8JIoNskngLmlYrHuSS65YBcX2SmpBE2ElKGgN A6LIX3pCj8kE60iG6kbV3ucOnww6dHG757NaVvtWdEuY1Hpb+uP8Cxfig3tmANDZNK3cdVlrBQd f2Uxo7dCEUGXaChY0df8SAxbDKcYxkZT3B5arBbBvSG2/0GzJSh+BbKSqck7c583x5NoJiyMkF7 wvfN9N+P3EdFogBLX03imsBKNcKsyOA== X-Received: by 2002:a05:622a:590a:b0:517:98e3:d939 with SMTP id d75a77b69052e-5213f66c433mr168567221cf.49.1784640827681; Tue, 21 Jul 2026 06:33:47 -0700 (PDT) X-Received: by 2002:a05:622a:590a:b0:517:98e3:d939 with SMTP id d75a77b69052e-5213f66c433mr168566431cf.49.1784640826894; Tue, 21 Jul 2026 06:33:46 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:9dcf:9ab8:bffb:ec35]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-495499d1d4asm237901185e9.2.2026.07.21.06.33.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 06:33:45 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 21 Jul 2026 15:33:09 +0200 Subject: [PATCH v23 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: <20260721-qcom-qce-cmd-descr-v23-4-1be02deffda9@oss.qualcomm.com> References: <20260721-qcom-qce-cmd-descr-v23-0-1be02deffda9@oss.qualcomm.com> In-Reply-To: <20260721-qcom-qce-cmd-descr-v23-0-1be02deffda9@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/NoTDAcsmYgBqX3UghmSwXVyq7m59vzKyg99glRgu3BNXPoypi QuoxOzsaSSJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCal91IAAKCRAFnS7L/zaE w0END/9iwC64NYoCh05aYDKdo6yuya3P/ckHPS2e82lbnAvVMEoQky/EnQxtBDFPPD0x5skWCrI 1KPqHdM/YtfO5MSQCVST0YtYoYdMDJN//zS9J+pJz2a+YceuP+Cg3xAKhM9va6B5zXaoPvBfBFo oypgIQWmg1vrhUlXgx9Qp1Ju8Sq/iryvv8NZba3CwsqL+U/iw/ER0zwESeiDAR4mJj12PJqAG8e HaDfsbo9t27mPvckcUx/k+GdRE6YwKsunBgq4UpyxhibYzZJiMPbB9QCMOqd73mYkJdSZ+TtsWu id9tVbMovuNEb/va9mikIxWZhr5ycBHcArZeTcDFn+1Rx3jzq8iAOR/WVsRYKFJWZnBoqV2Ag3t q7r78wyCUP/amC+2S3OCF+K7NEf5FZ25sVyFVnaz49AQOH26o2OeIvrfbyGu/JH2WZpoziCimxK 8AkMFm0QypYc4z9LSheKtNxveOcTD6H6+px7AAS9qDBeyCi2l0ow/HWEyU3JPF9PwyI31Ktwas8 QHOBB4j+DeEWhk3sIb2rW6usqoKM9yOqC8/c5xXjBJigG0JFgboRIrER1fATFg4OKhBzAFM3q+3 ZgxkDIzGk0xNRtp2PH+Coniqn/N7G/OBvC2iMYhl9yZtj9PpsW/ckRpej8dNm8hEROaX/95Hmtf OM8PlqAXsoJE2og== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-ORIG-GUID: TTz4k8rpZoKF5Wy1Lnhl-WqvagX58F9l X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIxMDE0NCBTYWx0ZWRfX+LwMIqZSXUXc /ecBW3o/5jFO1t9xvuIsx3gHX3YnkTJF0UZgh+dRBpXvFESVSsb/ZtRhuxGfIqz6uGIFeC3mEPJ s7NS2DRVMmeLpeVLkJcjuEikvbyTH5E= X-Proofpoint-GUID: TTz4k8rpZoKF5Wy1Lnhl-WqvagX58F9l X-Authority-Analysis: v=2.4 cv=Sb7HsPRu c=1 sm=1 tr=0 ts=6a5f753c 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=ioP1PY9e4_dTeLeN8ycA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIxMDE0NCBTYWx0ZWRfX1jEuJJE2cqYu +5a8zhjFmy0eZUY++F8czmORHVpwHaL2XPwZGuJJIzqtA3ugRLVItOsiSJ4zlwT1Mw3Q0idyt6J C4KVMs2cn1r0UU47m1TrbAh0prZQ2MeUv3c7dXUckEDjq3Q5DCuCLiTi4HSwIYIpc2U38PDBifM OVNTYxKS+Z5eBfse4lxKqWpwI36BXgbgI5v39YUc1ip17RHioQwCpf95QmLjRjbbnW0ILShcJvH rbfSMKJt8QkOWCIR8U3YxcgigGNHMbjDe01mKOGZ28fIgGV1AOxQ1HUioDZTTZrou2x+xZSbxQc sEGrU2tB9woqcXT4Zx2xmXTtsqtEcogScwszJJXJpEGgakrc3OPgN/vNejOy4TzAe5kJwEuX8J3 N9Cj8TK3/YvkAVQc7HhUlFB8CallLys3uhAYJ6spPNnjLH3g+ao408ueCA1r8uGqzTBGJpAv9dL EQUP/NU4qIhZDvurn0w== 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-21_02,2026-07-20_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 malwarescore=0 spamscore=0 suspectscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 adultscore=0 phishscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607210144 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 00:56:37 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 676BA370AE8 for ; Tue, 21 Jul 2026 13:33:52 +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=1784640834; cv=none; b=rWoT68ShjadJtzdsfs4MZ7K7AYeSKp00OY5H4utQcxxk2uKdWh/f0kQaHyxR1KI5rO6BQ7WGH7i9zgQB+Qr4hDpvFdKRSimm4v/s041AVuKfe01mFxH0/M37gwOaAgEOT6wNLk6WTVsZfPKdQGXJ78qdMpclVqchLO2jwkqS+Hg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784640834; c=relaxed/simple; bh=zHIuoWgA0JNzB45qmsTvX1DiRfFAkkbG2L0hbAcWpaw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=P4/wYCI+o8IpeFT2xIB08My+o6mFfmh3zexABKIi/ZYf3uGBjQSz9V0ni9AHv0M4uWy/y5FdeV1HMH85SrphM+mzBQD8jz/EmmCrv0GwgIIBCXNEgQQBQRzNN9M69KwfAHTQpe70UpOc+oQzm/IHQT8VmEkzXJgnuSew5VkfKfA= 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=SkKaAy6B; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=RK7oK12N; 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="SkKaAy6B"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="RK7oK12N" 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 66LDMDeT1910320 for ; Tue, 21 Jul 2026 13:33:51 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=SkKaAy6BFf5MvwmL 31AAkggDMdENr2ZIsqudMVzSFlX0EvTgVNQrRnPbeHsqQrCkP50KMy2jevHxgg0V PPG+I28a/BcvYVEWceaOXf26yy534lIcc1t1ddMnXj/KNgoepYsBF/kZV9ubbcNH nfUwyY/Me47oFy7XMI7fZk0HaKC3gt5DPC8WGORQ8bHBRbmzv2d1NDQd20SaeX2t OpKEfM/iBIYKfgzKrTOMM7/I2cLZWbz10xCNS9I0AXyiMacq32VBPkl6nRMtsclB +CIK3GY+0q2W+SiBhfVIUC1Vxn3zYi9DOP551ZwYIVGGay8nWslX/jLHF2EdARn4 Shm+Qw== 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 4fj1bvtm24-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 21 Jul 2026 13:33:51 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51c01ff996dso89450151cf.2 for ; Tue, 21 Jul 2026 06:33:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784640831; x=1785245631; 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=RK7oK12NxAFOa1t5XGvwcBHsoIfmJzHsFkPwnML0Ohq97ymSpJMG1iXHGn9F1Ck+hv CnTbaSPBcaLBxYOCcz9VK66NPRu8xcD05Htq4sALv4RrcVWBJPuOaWlBDhKnS4wgvsUT 0oN7Rw6OWzOlj37fKFdKt3rVTRGSSXKxH5t1z5wSPpOrV6fKOQIwf6bQ3Bmc1NAf+faJ XwDid8gbYXy6Ib7P86SwyZR1UgASTgvImG05TbMQybPTc7lQoqiYplH/KyDJDaY3QRL3 4tPE6oGBJH59RNXFjYD/JScpBl1xJgxiTrGpLVPaHDN/v+H4uYqdkxzT89AMvF53t/7U yhPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784640831; x=1785245631; 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=QHI9x8/Ia5ohv30pJUBkRNGSAlgi4i2Q2eOumIxjraL8Su4vztfEDqZ24y/BluCiK0 1nZ7hybaiRuc08+rJgwzFZoiTDx95Svdz/yCKnG516GVYXxLVnkTeR7k4tRtBVz2hGFp 990HAbqpXlK3V/TSSWDm+N5jTw7+qENweWXo1ItlhVvXMJH+wC/wTj0fBiDOIZK5oknq WT9SIjCmjbvbagqdqF6AAw8ctaM6iyXBw3rluMPYvJDgunlAXsJU8ZGzT3k+GWjFmlbI zSO3JlLSEuARaqp79ANF4A5v+h+xdrlgrGsMFf5ou7/ahrEkDCn9AP4yTtrK2f0PILrU zuUw== X-Forwarded-Encrypted: i=1; AHgh+RpfZfzZ9Krb9lnBe7sANALlfbCiPwDy0FXqOu+Xvzj5pZo4zTYFdx07uegeThjO0DjwO3TE3hux47I3L8c=@vger.kernel.org X-Gm-Message-State: AOJu0YxALNzrqueliC2b9Jori68udxzbmWgMt1zXbqRD7hCESOLV2PAh pCgDYT/ycK/8h+fl7spx5Oqa5ENSzcy+ktE7M3Lto9lxCSsThbfWTN3QFC5Zj9CFIEyo60U+MaO JB/jnbCqay4ZPEcfhUJQk+nkjEGlN9D41HwFxIjl7nrb1ox/MvPqDSFW19xsX09Me7mhovkoljQ Q= X-Gm-Gg: AfdE7cnf5fznIYPfCRRK11s4pEN1pXMpKktsEwT2n3JXmIzmiukmoM4xbATOYDqAX34 bBxrZR6PkvamgjR/Bt4yTXThXUP+w+D/1rIsVDk9kWdNp/eUxnQjxeQA4nbprTemEEWheYu/l1C 2mdgHQCctw08bT8vomaHbnBm0NnFhcssPEbJDJVdGas6JLKMuyipogbORlHLsUlfdMWYDUQ66MN ziIkIdcUuRNMFuvhdJ4K9vFegw4uqk/44qXfVbQ2u/b2ncblmKyHNHPWQL8V1RAPT7ANwwPmzdo Mv/DUEgzG491cpoSLnNkzsYAZONCdLOJLvwNrR0NOieJtIIg6ejng5SPyJxzgHrQr1OOVdyRHlS vuxzZa2Qg0kbG30LsRbCxOrgzfoe6Cw== X-Received: by 2002:a05:622a:15cd:b0:51c:7b12:1208 with SMTP id d75a77b69052e-5213f66b8b9mr181067711cf.86.1784640830497; Tue, 21 Jul 2026 06:33:50 -0700 (PDT) X-Received: by 2002:a05:622a:15cd:b0:51c:7b12:1208 with SMTP id d75a77b69052e-5213f66b8b9mr181067221cf.86.1784640829940; Tue, 21 Jul 2026 06:33:49 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:9dcf:9ab8:bffb:ec35]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-495499d1d4asm237901185e9.2.2026.07.21.06.33.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 06:33:49 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 21 Jul 2026 15:33:10 +0200 Subject: [PATCH v23 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: <20260721-qcom-qce-cmd-descr-v23-5-1be02deffda9@oss.qualcomm.com> References: <20260721-qcom-qce-cmd-descr-v23-0-1be02deffda9@oss.qualcomm.com> In-Reply-To: <20260721-qcom-qce-cmd-descr-v23-0-1be02deffda9@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/NoTDAcsmYgBqX3UiUo/1PbzcbkzvcpLMhdrqFFhhRAk9oqyXd 8omL3yK9CyJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCal91IgAKCRAFnS7L/zaE w8CmD/4kXWevD3HFNqXcnVs7UHVfZ1TCQg5k/DCcmcjzG6RzyH1w4f+ztuqFmtixd1OZiWYssEq P3qeTKJ8jkNWr/HjMDlj9uj71EnVKCGuXloOrpoaGwMDWos2zcG5XuW1+felKeiLKWtBBGWcHFK guJNm/dcwKUGKG/3UfNYaxVOvztIUiN2QeWTAX861SRbQQOGnOGrspEeCYxhuOOMwAAQDkllrI6 +DXlpNaA4sIIbjfDkwCEeazVjOTC3LyDuPVIoVdxLvZb8eBlEDT+/yrm46Jzz2S401l5D4HcM9v Rweo3bWIltJVesr+9AuaDQQP3YgG8rBFXLx3wORnmCGJDbFN/nhx1vmaiiOnkjxy663/3VSZWiB zPaG+lP3p20tM0/TumWw4FRfPNAAzZ5dBwXOPWOHerh1HHuFI4tQ+9mU1rKqR+jgkpy1PVMGRtb iKUwiS2CJzVzEXgVZ+W/tmtEuwwO5xQEUy/q63kwkQNPGoG1gpplMceb8i/quCzJvisyEJ/9ctC u+ARBbfmzLj7wDZc+eY8Huq6QV6wOci0I5i7Xd/e0utYBtjxZmXxqmoXsh6prinMWTQl3p3KQwq kssm/iI/z7CKeQYWpB23NXUN1z4f+FKA31E3taLQF0+rxW5ogTUdi05ndIVjrtDy5p8YVxQU5YC a1+5TmH8EWdF03g== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-ORIG-GUID: hYmysPGr_f-db2qWdbVtfnIYv1qX1SkC X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIxMDE0NCBTYWx0ZWRfX2InDdhTYKj/f R6IpQS4oWzd3thkcnrwE0Wq2gfyGwQj+bO1oqDMXujdyjgoCHZP8O8o5z1M0iLiHJOOeKbNp3JA JcfhG78Q5PhBPQmS6ARNjIv82XPnikA= X-Proofpoint-GUID: hYmysPGr_f-db2qWdbVtfnIYv1qX1SkC X-Authority-Analysis: v=2.4 cv=Sb7HsPRu c=1 sm=1 tr=0 ts=6a5f753f 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=EUspDBNiAAAA:8 a=VwQbUJbxAAAA:8 a=ZSnkYuKn9ZpO9KHknGoA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIxMDE0NCBTYWx0ZWRfX7gEM6mypfvKW MOetqDUzCuK9aKa8X3CPG0DICrjAZC4ioHsoxJmNMZDpmB+D9AcsQSxQi9uQz0ft/UrPS4qVhyF Ic2p/dfirY8wNRw3JEeQRWi/lKUbPqQyv7hNjWxeReyEvhmmUb3y3+KfaXBrG9O24LRaRua559/ kvr42LJvAfzg9fYuNXBkOLlcxEQPVoq9jFmL73Gp5eSQIMWFxKVyQe6ieo5MrCTEikKV2fOpVUy 7+rrhhPXhvKA4tmcW20g8U0qSiF2qNP/JxJSjeW7DrfgpSLcWFwmZKBMFMNEapg1kFtICscnan1 qiejcui/GRhkVII1r5l7n82q+0d/0BNEShFzuVXLJW9HEPMUTWPwXXvwVBjm7WhvxYO3RXkI4y5 8CXXBiMtR4e8EhrNaSVYRzM0DhOZSQZnsJsig25YZ5u9JeQQIx1eYoDwRw8tS6asHP95EjXJP4j 5jogXiCmHEBijJhq3Aw== 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-21_02,2026-07-20_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 malwarescore=0 spamscore=0 suspectscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 adultscore=0 phishscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607210144 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 00:56:37 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 EA69A37105D for ; Tue, 21 Jul 2026 13:33: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=1784640837; cv=none; b=RH68gPpv4bXnMdsWYZuu3LKMXcnHM1ga1RWjhxRSIb8Mo6NL8w/jrqfQJgVZwtd/liGeNLeVOI1VvrVlBPA91k1MAq2d16FRrKbzVYbR7KXnwufUUKPmy2FAISka+Jw4jNlxGTxFJAjNCMN6VtYQgLOLiKIBaH/OPpeV7ZtX+7s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784640837; c=relaxed/simple; bh=YiW3qmc2mOtsaItbp0NiyBvoZYe/pqkuxa7R7znwr1Y=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Vb5gT4aX8QUPhpC9gUUaZgrpbIT1Rd2esGS7WXXqfcGJIlNRmj7/jr+K4zzwkW3tMzz0H4eRR7lF+Ys7Za1ncy/Wbur45X+8a90guuCT3fNx+Ql5CjEaLonaU22rYvQ19+p4o68efp0Oxzyz2ZcGdMDPwhtQpCf3+FoiDx4Hs+0= 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=Y8bxfLNv; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=VFcb3Vac; 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="Y8bxfLNv"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="VFcb3Vac" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66LDMJcO2024645 for ; Tue, 21 Jul 2026 13:33: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= P0284kFkgULwQK3uLI/K7mHkOyXRENvIYssbFUalZ/Y=; b=Y8bxfLNvlXqpbcRb e/Zt52eHfD2PTW6j3x6+O9lQarWLnI+6ueiwjg6TU4Xeb67bhgW1/cJfQPGPFCoI dOYAoJ8QU8Z1dCGlJ67L8pcHy4WRWav5ADWqgip+q+Sje9qmSql7NiyfjYVWxwob bTuh0GuOOuXTki/GAvXuYk2/CKrz0GBlkWmacelPnJChKEirvOABFKhszypHqOU/ HRd+hjzGInuriXe9eKRrsFAsxUFSQ62H4sWb5mTZ7WPHByezEmka2UPzs6Zb+k1i GDP3uECSpD06V72BkbwLTyr9Wfj5Q+YKS0UqG//TA7Kg8FcGHk++PMrGADC/UOO8 bI4XWA== 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 4fj6r3gxcc-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 21 Jul 2026 13:33:55 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-51c1d137a68so307147501cf.3 for ; Tue, 21 Jul 2026 06:33:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784640834; x=1785245634; 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=P0284kFkgULwQK3uLI/K7mHkOyXRENvIYssbFUalZ/Y=; b=VFcb3Vac6Vv/xd7T8ypJg9az4+/hmlEsoZuChEqYDj0E68RcvyqATQg6LyO9pqOj29 o9aemJ/1m45nVNr6y/GlaHsMEkll3VnBw5lke9z4YKuzqMja2TrKmpj51IHry2LC+Dho kCd7SQrfVjl4MgqT7cn8UMCM4EG7SM6UPIKPrqP5wMqIen1pGNZ3KyuIZ8TvnEaTQv6y bVosYf8mPm9Ob8fFa15ss/082eVaVUtzUL+nQRvK7lAWywgEdNnohXAo2svs1K+yx08N PMrdXNo8q33GPMq+Px2ox/s4j1vsJKKZRVTlZgL0Jbx+lEi/bXkPTuEPRg+8GBTnUy5v lP5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784640834; x=1785245634; 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=P0284kFkgULwQK3uLI/K7mHkOyXRENvIYssbFUalZ/Y=; b=GQ4NwkjB3ilsoQlEa+Jh4yMfH8u7OsOpgAik4DZBGj/4j07yGNUNCY3r7h0bHgSqHQ wr2uWujiqcfhDmKiratr8ql6+HIAXt8kPP3J2eJwxJR/amN16ED8zt/+99JesTFhQY5O aCw6Kw1VOvFBTiLqZePuClWVGpODm/C2yBxkOswTjfoPTQkhmhJ195GNSCfgRhW+ol0U eI3EM25t/GxO4Q7qIJgj8z/78KvPDM/7EJWBGgc1cByGLcuFytGmEtW2lJLomjL+oA1t lMxKoUhQWWXjB9Dfh4GYic19ANrfmGB8uC7RRf5WGrIr7qyG7qG1w3SgEbbl7YmATwdc R0VQ== X-Forwarded-Encrypted: i=1; AHgh+RptObXDE94tSKQYz+ouhVmwgFCU7IEpnIc1vrc/OPoTlERx4YExV2VIZ5ooGaV98KO3mwrfKTE7Z/sTID4=@vger.kernel.org X-Gm-Message-State: AOJu0YxV7j5BqJnEPUa+DVh5tai+dfppwxxoDIcg6jPlnwJroMxXbKPe EhSyWZJrb3G86A1L7BJgtqYrkph66/lz2Czo+TO0VwMNlXdIdk1BdbKpovYWmnhi430SMVES93l 4TstQeiWSBrOQcobtuPwgsAow9EmFIrm8saGzJ+OLkmI8gyqgeHSuTPi9eRHnAOrbK0wkopjswN k= X-Gm-Gg: AfdE7clnk4MuMpVeGhW9vYG0F0SjFC4tz2k1JwUnVduD/SEieTMCQM3o1bXU9UbXuKG eAPHn8zbIr3PGl8EnteqgytfJAoJ4U2IQsbsjysJbwD75OIgmyATGtJiii7RnPQLmhv2M0fAjpJ 9cyDC11Rxoilfjm2L918eSSmg1RziUi9iRJmO7CtRtriU/ooD9wBIZIb6rFLnflLlrMkxq7zQbF 80h37OnWZUYBrofgUaATtn3bi9QMH4nI1k9OcY+NN1DyroKsyQLofNtOUuxXQo7RVuKLTwhD708 Bg5g5jcdyjJPEV/lC54oxMqK56FizFFBXhVuUoYrXupCfvBrwEZWqeH3p5fyKZ29L5bkVLrDI/c 8YDD98AbKA7wHHqsNDB0psDJ/rWwb+A== X-Received: by 2002:a05:622a:5d1:b0:51c:7b11:41a1 with SMTP id d75a77b69052e-5213f46e365mr172088871cf.78.1784640833684; Tue, 21 Jul 2026 06:33:53 -0700 (PDT) X-Received: by 2002:a05:622a:5d1:b0:51c:7b11:41a1 with SMTP id d75a77b69052e-5213f46e365mr172087981cf.78.1784640832717; Tue, 21 Jul 2026 06:33:52 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:9dcf:9ab8:bffb:ec35]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-495499d1d4asm237901185e9.2.2026.07.21.06.33.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 06:33:51 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 21 Jul 2026 15:33:11 +0200 Subject: [PATCH v23 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: <20260721-qcom-qce-cmd-descr-v23-6-1be02deffda9@oss.qualcomm.com> References: <20260721-qcom-qce-cmd-descr-v23-0-1be02deffda9@oss.qualcomm.com> In-Reply-To: <20260721-qcom-qce-cmd-descr-v23-0-1be02deffda9@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=12048; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=YiW3qmc2mOtsaItbp0NiyBvoZYe/pqkuxa7R7znwr1Y=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqX3UjLElhWTC6g3ku9JMXGJpRfNs7QUoQcmiGA bDqUdmlo2eJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCal91IwAKCRAFnS7L/zaE wxHgEACkKwGsmgWPjnKHfj6w44/GG8+vN5jMiPCmG6rdf9pkNvmwoSFToGZ3BkxRv332n/N8iOm S2RzN1GvNEqn84uFd+nRL5cuk43IYKiIEFI+Rv8mjH5/776BQNLuPzaO/bp3Ic9pqQ4TO9DIt8d hnibt2z5XNj1BNUi4hVmsO8jhj9FD1vDv8iOpfzPYfzM+sc2OzuFN9HETm7gCio575pgpbfGw0M 6NvDGX1KzooySpXB8Uztn5mgOIWkfFM59ij7GLWVcb6rzToWuLVzGTVyPihJXIPbEgHmysigPg1 2d/vqrxDUqnCefh5QAYMalWs9rgpA4jM2NPg4X5aTP0Zi8pywwqf14TL0svgraZGmXozzxHL5I/ v5fjjFRwrZDERt1egTBfifx4zGtgjqudUddTb0KrzdHTcwBsVto1RaGjmaJeZLLZXqwR1Kng0XJ pmIIMlNvikhj0P0Ce32Jd5xpStddlLpREEjKfMH2oR5mz+iL0t0SL888jerIowSVCar963QmNkq j40t6wJPKuG5E4/t0+6nCksCN62Zb6oyUFfC7fKxswoBcIna9psT1aDHXzI2pzqvSgOhIhmOAgh 35eI9DSeWYNxSFihlXpek99rsjbq/xhYDog3srwcy/25hdDnKA6xs8UKY+NTaUK/LgtMN1iAYDj w4GS/Ee4I9t3YbQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIxMDE0NCBTYWx0ZWRfX4gAiRePhfUQn 8Ndd0sYRZkgg/X451GscILr0J3ldOiy32W++sQimjK783rGcZSmIJBY3M9giAn8uAqVZCl7pjTa XMhEr8Fta2hjm9zvd48fL5hWwcp3knoFwuDe2D0UckJ1CvLotAlNSm0ws/Iq79QaQw61YNCI4ME UlhZMnIoJtVXC+ZuThps7JWEmkgejwdfnjf/73cs/bhZl9OWpC57CtvwXZdl8aAWvzrCVrnmZrn uludcVWimtOjFykosVc09C31rH2gurtzAT3eaB01gjLq7k9cT7vq9wyRIMvGAeX1QRNEi8w2jqg 8Ip2+TgSdArFZ68mFAS/w/wGhmBJOpnX0Hfae7Ar/4MT2v/zyxoyHOD+ifxkKL6cIVkjWwyiG4m 7uHpx9Ta0JhRZAsDeOOD/tRp54RBclzpUrlXgmrkt2ODc+G2xbhfxoTw6/nhGA+MllpavyahvFf j/Ddz7AANbvfKpkQA8w== X-Proofpoint-ORIG-GUID: IoIiLqaqHB1YiVhBnj0RstnY_QdNr3-y X-Proofpoint-GUID: IoIiLqaqHB1YiVhBnj0RstnY_QdNr3-y X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIxMDE0NCBTYWx0ZWRfXwwiVguEbl9Xj MS/aNSi74WI6qwu9SdbkhQOrLxHniS2ZKUx61Wc6Wur4zjV0pEO2mVFG5f6cGQxjcxofxCbvz7W hFdiMOJWNJ2nKpRecBp+CCoJ/AwRzus= X-Authority-Analysis: v=2.4 cv=SIRykuvH c=1 sm=1 tr=0 ts=6a5f7543 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=Um2Pa8k9VHT-vaBCBUpS:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=-0mtKZB-VTZit_Rp23UA:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6: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-21_02,2026-07-20_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 spamscore=0 phishscore=0 clxscore=1015 suspectscore=0 adultscore=0 impostorscore=0 lowpriorityscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607210144 Add support for BAM pipe locking. To that end: when starting DMA on a TX channel (DMA_MEM_TO_DEV) - 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 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/dma/qcom/bam_dma.c | 173 +++++++++++++++++++++++++++++++++++= ++-- include/linux/dma/qcom_bam_dma.h | 15 ++++ 2 files changed, 182 insertions(+), 6 deletions(-) diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c index f3e713a5259c2c7c24cfdcec094814eb1202971a..411c60c4433e21e202847aa9182= 163a56df2d97f 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,10 @@ struct bam_chan { struct list_head desc_list; =20 struct list_head node; + + /* BAM locking infrastructure */ + u32 lock_scratchpad_addr; + bool bam_locked; }; =20 static inline struct bam_chan *to_bam_chan(struct dma_chan *common) @@ -638,8 +651,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 +691,26 @@ 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) { + if (cfg->direction !=3D DMA_MEM_TO_DEV) + return -EINVAL; + + bchan->lock_scratchpad_addr =3D peripheral_cfg->lock_scratchpad_addr; + } + return 0; } =20 @@ -802,6 +830,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 +888,16 @@ 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; + struct bam_chan *bchan =3D to_bam_chan(chan); + + dma_unmap_sg(bchan->bdev->dev, &async_desc->lock_sg, 1, DMA_TO_DEVICE); + kfree(async_desc); +} + /** * process_channel_irqs - processes the channel interrupts * @bdev: bam controller @@ -870,6 +909,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 +959,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 +1092,100 @@ 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) + 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 +1197,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 +1206,24 @@ 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", + ret); + queue_work(system_bh_highpri_wq, &bdev->work); + 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 +1285,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 +1347,12 @@ 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; + struct bam_chan *bchan =3D to_bam_chan(chan); + + if (async_desc->is_lock_desc) + dma_unmap_sg(bchan->bdev->dev, &async_desc->lock_sg, 1, DMA_TO_DEVICE); =20 kfree(async_desc); } @@ -1384,6 +1544,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..188f667cad9935b338489e41e6d= d03e58166ef9d 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,19 @@ enum bam_command_type { BAM_READ_COMMAND, }; =20 +/** + * struct bam_config - BAM DMA peripheral config. + * + * @lock_scratchpad_addr: Peripheral-local register address to use for dum= my + * write operations when queuing command descriptors + * with LOCK/UNLOCK bits set. This is not a system + * physical address: BAM command descriptors only + * encode a 24-bit address relative to the peripher= al. + */ +struct bam_config { + u32 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 00:56:37 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 1E0D936680E for ; Tue, 21 Jul 2026 13:33: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=1784640840; cv=none; b=Ul0NSH9EDaTkGBlrwTtMlQduoSEwW+0JqxxjELDPCRX/synNtpd05Ybgj/e/IA/tW0aHLGCCCwmq7APf4fTlE9Pvkrr7PlUTgu6T5osuTIiNS4WseSJ3q0Va1sayvGhvIX3NOYNCoxGTyUlCmuKLmaBysLCZ5Z783oadIls6vWs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784640840; c=relaxed/simple; bh=NNnz6awfeEqmEC/yqDO0GWP7yizfp6R665Mk39/3FRo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=L6uqXyqAUO1WFNfSvq+AlnK6YLuzrmHTBIuDaCDoGgPrwqQodJemvAvnJ8+vObVY/GtC0OGVb5kLVZAyevm99A80Xiew/txVcJw+xNgclhntynikV5HzP7DG3zYYoiR7mrSyZb4zZWzTljM4KJJzImpLNyLgaphNjM9fYEXBprI= 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=Oktra4Wx; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=LaOj10FU; 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="Oktra4Wx"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="LaOj10FU" 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 66LDMI2D1793878 for ; Tue, 21 Jul 2026 13:33:58 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=Oktra4WxIy5mT/Rc cGxA8xNH7cInm+1056wbJrcVVQOzcX+TC9N4KgwRotMJZciaSaewZJfDbVnYHnWr 2UriZ7K3J0pE8Jk2jWlIHVnANvcxBgpCA/vdstf1EiLd6LGyyvMuzqjLt6gsDG+f WRsaNilSBGGdArpdnXPONHB1nRG9K9p3nVwu6cOZvoSF1haSA35UouTyEcRiGGNJ xtRIp6AMW4aHsGyxtMRVGSBaATz/3RmvdFvv2BHRxko2Hx6ZfwKCwPzH60TMTIqq jKZgZkXpZFJ3rIY7TLPYAJpNTX3gjqOz7kPho3N3Of5WU6xMB7l5cShxTL0erdYz AHsgRg== 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 4fj1se2emh-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 21 Jul 2026 13:33:57 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-51ebdfceddcso134196821cf.3 for ; Tue, 21 Jul 2026 06:33:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784640837; x=1785245637; 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=LaOj10FUmMWzRqWV+uM8+3/1WhVqrVlLR7Py5CS3+eX0pShu7UnqTpP++TUgGESM5o SNw2++xzdZCn91YjC2V2d8N222b+FgxGoEppNWuFtcQzsabMsaH0iAobVRqZy59FLv9S BARvRjhlzd+qaxgrmWhXtbJ59124dGBBW/aY9azIaKnk3koes7LGD2bBd1vU+LsQNhvj VvPtYMcutCrZHUZSsHA6UqjkfLjnd23M9thQyJ6fwgeCJ0vBnFVTq1nXNpEC9SiB/9qi /JPnb8ty4nHMFBlNuoluULz1zy+lNsZxjvHZKrwS5XLInQExyHVl8pWf65zfhdk+eJTX EMPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784640837; x=1785245637; 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=BW9X60lJpGxXsANxB6HAR44a76aloOtju/pBOJgYKGaTHIiHynToAoRmvLRyQEZcoK 8bgR/+1BNml72nYUDO2xI6OzlyqndH2vZvT1612nQ7hnM9cdvSb4S5+nnDFpE7Yxp92L 6I/ExBAIhwL/BPkZRyyPE4thA1jD8Q1E7s1gIHDwg9KdX6Aneml98bwVyJo0fSnq9wef IEudhTRm+kdQ6v+F2vUW+bFqLFHMBRp2T94eP304BoS6CjHStlaPxJ4H5ZOwk9DUAKxz ehgvNqCcs7FcS9u5FHNbYR3iUcnUP2383kkNinGKNPV9OEKk1grqaycyeiljzxZFfOfY 6igw== X-Forwarded-Encrypted: i=1; AHgh+RrxKE3hMbpT4SaI18y6nMwuRJkAPWq3IQFzmUO4TcoNXgrSBoOWBsB1uVXDx+MkMyRW2LEjWx3Ex5rdgbE=@vger.kernel.org X-Gm-Message-State: AOJu0YxXqmHD11H1xWutwmUbYSCp5VpsRn5NxWhmYgbx3CUvkaMgIR6J sb1UQUmfHsAGEc2pC6CZO+o5DN3vVdGZtOfcxAIOKjQuYbrTqgxkoZdGEHIHeO/2rBmPvOqPpvK flYLqMbcN11ToZrUdFviFeR0gt3ekEy77MmCqVmOCVFH3m2GQRa1dJLrptjS5kwaFhHhvMMFXjq Y= X-Gm-Gg: AfdE7clz5T/MBNQb68ArjKgekks8TJgaNf/yTkK2+3u3o0X5UxrVL6ZEfithX8mX++8 7J1cqqBTUfVQB4O8QEkPQILMfzTwk6pTZ4gynZxsGKdR5BCvh6gdqWScG81DlPd+5TkQaTeDx+k OXxYF7CYD2SjJzew4UJ1El2EjQqwVVSWGN7Q7hcAaSPVWXNMktOtRifBXSXECTSqICTKx0OC20u 6WWRltESfkZgzaQLlrWCioBSHvjxNgXYJrxU9B+pj/8m6GMohEnPfRka5S3X8cxGI98mb1RI5bu BVrS7XuCBK4iJuCv6G8ETsHxmBT8yQTAFfZREwfCCSr6zVXifYG5NC7kCCnCOk/bLQUEZvp2NQx JdOoupWraX+vFSl3omS4DeihdX1mCpQ== X-Received: by 2002:a05:622a:1a8e:b0:51c:478:32a1 with SMTP id d75a77b69052e-5213bb216b1mr179481911cf.18.1784640836922; Tue, 21 Jul 2026 06:33:56 -0700 (PDT) X-Received: by 2002:a05:622a:1a8e:b0:51c:478:32a1 with SMTP id d75a77b69052e-5213bb216b1mr179481301cf.18.1784640836247; Tue, 21 Jul 2026 06:33:56 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:9dcf:9ab8:bffb:ec35]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-495499d1d4asm237901185e9.2.2026.07.21.06.33.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 06:33:55 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 21 Jul 2026 15:33:12 +0200 Subject: [PATCH v23 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: <20260721-qcom-qce-cmd-descr-v23-7-1be02deffda9@oss.qualcomm.com> References: <20260721-qcom-qce-cmd-descr-v23-0-1be02deffda9@oss.qualcomm.com> In-Reply-To: <20260721-qcom-qce-cmd-descr-v23-0-1be02deffda9@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/NoTDAcsmYgBqX3Uk7Gq+PO+9JFm6m3MN5V5JSBvVfsrV4+20O 3cnUuBFwn+JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCal91JAAKCRAFnS7L/zaE wxoBD/4rXCJuoFrp6WDQETNj137xKTCo4AWVRa70FCHK1giT2tutkZjbNdSM1iO/nAiw2k+UZvj BDfSmmlgXcoFKRBehMco7ws1CA0ZqaignKj47bp3qyKDnFPYB1Kz1e2hhtV4tber739KEx4DGRO AFLSanGZ9LQHVMkmY8kGSmhifuqRMZj5aJzq1T9imMfMxXrY8TMswyXf6wQrYCVhEkUTC46CXD2 EVwnamkIY8tYD64L9Dqiiw+3r+9um05U+UnuUTye0q+M1y4ZPS0jMunsoTQ7etsrmBbtZ3QDzFe wT3ObE7wmGBpZK2Y7untGvfNMPz7m7Y36nu95fRHwEP2AzW9n2YXbRnM1lQW43K/dgatJCxtfv9 Oul9vq6saVbTDSyREmfZNS1KN3OG0s336Pe9n5eYe5tc9IH9P9QfmICcf7XNSWbBMJbG8R8gdSu 7JxrNYWLn4PGjKHJrD+3nU930mDkBhozEvz6hrENV+z1A8hOiepulqntLpiCU6qtnyoXbEijb52 MPdpyE6EW6RoOtci6FVKcKpDQeva3Vaz8ZEKovwWtA/sJ6sb7lAGVvcalmRrggv93xk3TBJ/hmP ZIwNmfcTVg3MDTkLAsd4r8H+MAJFLgGtlcNkSAe3WDNJlxx2y+pxDMcNquTFn14xV/7XM0Kkndk uG6QpnNQQKHJ5gQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-ORIG-GUID: v-gyVC5UkKlY7vEazbP6srUJ5433jnTo X-Authority-Analysis: v=2.4 cv=TIZ1jVla c=1 sm=1 tr=0 ts=6a5f7545 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=SDQHpg0AWQOuS8LWovAA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 a=GvGzcOZaWPEFPQC_NcjD:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIxMDE0NCBTYWx0ZWRfX5nbEXI4V4bv1 Ib2uGBLspaIfaCuq3JQb1U/arVTH9nUUYBXP0C060jkqLstSR3gqPGvgyYbav4nadfDkSzLJ2tU i0RXfa7QArBc3OEpVX77ehl7WvTCGB4= X-Proofpoint-GUID: v-gyVC5UkKlY7vEazbP6srUJ5433jnTo X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIxMDE0NCBTYWx0ZWRfX+W4SJZ60S0HY W/I/zQk0AAoDiQ7o4tjxMcH7SMIFutlQqOAQfQy1hOkLfwXR9JDt/4weXjBruN295AgR9PS2PrG fsohxGVNtwyIRjGJ+ZvnewemgVTsjLG2s4YU26BaM4g6mt6xlU98w8lqsW8Pm2mwjOggr1LHWpV LVPYYCrbMw4UeKKQ/z/T+4qXJyu7/fjBaJyHV5+ZGO+6mzsg4y5PRD77IKstz9oDCxSls1MUYJy KfOLPmqDoYJHECvTOpTIXBWYpPoMsugGfxk4xLxDu9St6k+/ol3uKybNaP8NBSeORcZJ5P7DgKY 1SSDImFpOiCPPvX9h3japbG76z0lroKxHD3KueZYoCVcUOBxcB/jpsDacOIqQ8XSephR27ChFvj QalCogPqKWVaM4hIp1rGH4PVHe7Yft6ogbbKUMq/XMjiztQVA5fMtn85YJFRkpLxOZY962TWcFV oM3bIsDZa/CzUiHNX9g== 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-21_02,2026-07-20_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 impostorscore=0 priorityscore=1501 spamscore=0 clxscore=1015 malwarescore=0 bulkscore=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-2607210144 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 00:56:37 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 533A637267B for ; Tue, 21 Jul 2026 13:34:01 +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=1784640843; cv=none; b=gWWOrSWgqFUxVVV+gnVVus8AawikF5PGVVUiDjDm0xBz5wajST/mfvRVr/QKuDYRUvMg1kngEwaIaDuxZKvoWt2DhWNUZ5T+t9fauBauhbZiF6FLgOcR4pR64vEUpNHBzdUrev9NjsDsvboppbpkyQ5mDIHrpsTx/bf6FQjJLQ0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784640843; c=relaxed/simple; bh=vuAef0aUBOeSio60r/pSKcTossm3V61GQJlAyMtLfKU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=lQjXcdB8UdyOLwgeSUjkBtyD4kmWr81tI6MoqOXXAlL7XJERCEI5TsgJ89PUNJebGTmeJNgVAcHbfM0C6AiII4n+VaYYgBlf2aFQ9uygL6n1K4dgWAXYTrqYRFAm3Yp3s48lwfpg+yqhOqhOi87tfmGvJw8XuJAJenEqVuccTFY= 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=fznZGV4u; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=bBCiSUjE; 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="fznZGV4u"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="bBCiSUjE" 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 66LDMRj21864653 for ; Tue, 21 Jul 2026 13:34:00 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=fznZGV4uujPZ9rz4 zOVg/UlXGfAWa0YqfBxATkkWSDRnTFwKCedpMKoh6b/Ok53lBhnQR3CA3WlkEmBS K5iMZtpt6ZS9xXuAYK8/sScOpXqMHlVFm4pPhiX/iqsM6KPoGiTL/oc8Sy03BFOl GYje0ee3rlYEkjqZs+BAPUWGZonn+yjHP/xHy9CdC62Ezd7kNMlQ0s3baxZkANgd Hw4loQXoHYMsjfnAxzOCOG0BVuQveXiqf8IyLegCZPMH5sew34kZro4pqeYyJaFv uCg554WKFccEzYSE1SoebHkmnI0RvOwCGuU8jhyHcrjanTduSQtR3tYa9grtyVyF P89IRg== 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 4fj1dujkch-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 21 Jul 2026 13:34:00 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-522de3c645dso84491291cf.3 for ; Tue, 21 Jul 2026 06:34:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784640839; x=1785245639; 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=bBCiSUjE3lGM0eobOLBdY7DYio6FDs1f5TXJZEoHmsesN6N+ZwdZJg3IHxFHb67j4K 0WCTTqoVoj4demYosiW+gjcDPfqsmAYP/+1jCM1Aj6Day5qr1z2ucdixDDpZCXK4Yk5V ABPoKOdDGtF++NEIQxnaES1ToCsoVv016dc7qGtY3Mv4qmljCO65q8WJb0gz4C6MPb5v DeXfVYoPrSbfBtWp1vpSP2k6iMzihTfUmAUFtmg8rabQPOZl3N8+ajZWCXZejy6GdMOr n5RhXZPSblrsJGyPmm/7SsrCXu4dd541D2OAiYWlnpDj/tcQcSIOsHtcQKO9qL7v29Dj Bs9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784640839; x=1785245639; 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=hPCmr40Hh1GKfV/l0X5bUhK2RwKFFu7NLGylr2r/5b3xSX52HJmvWOUkdmBsq+vWgE Omya9tO0JakFi/PHvZ8hToRxAbqLnbvSFj7k3QxrqzbOxK6mQms8Wg4i5qI4NtsV0WUM cyi+TzlnVsdBspNlhG5qY6rbG6E53lBBO4VeanJu0tHO7Xmnf2XATYF3qLW04Ca/moht eJthtNDdHn19XTyR+AS4T+ok9eKeFqaxRPbN9e2agJM9Cju7v2AQsTbwOv0uKza/YFA8 dQ4/n+dVUkR6Ab2jy4RQlFNZxMJE1XGKXSr5/DaKEX6UiIYEUzt/P53A2MYFb51DeTX9 NJnA== X-Forwarded-Encrypted: i=1; AHgh+Rq9x9SyUfyzo4EncHOK8xmQ7UwrZcWmeFOvEnctRc9RperzokR14FuI8jtTC73skGDRhOO/w7jjXQGhVq8=@vger.kernel.org X-Gm-Message-State: AOJu0Yyk1Q4C7E3QlIhy3D/vxJ/m/H2LejNGrhQDQOvbjajbkhohKODJ qg/L3yLunJI2ButtRtcEKhqpa2CPHVZYMft4cvKPDUsGyUeUfi2XRhYrk4QQERjjDc4XmKv3r+g kLrzjRaVCBxiyJt4ZDs5WrtTmncNs4yxkjsPAOgkshd5JviLLtfjP7taSyuO623HNVR6H6k2Cam I= X-Gm-Gg: AfdE7cnPCRjgX7UgNoYij047UKWA5rHY82tHfoMFmtUSC8ZciFyDhhRbaz41Zwvsw2d YVOxRWZdSsQr4O7G9yi3Qj9zzd3LsCN644Mqg0woOpUgFny5USL7FQgcNfN3uxO3/27BNxOFxGG 94P1tmZIwLMjlCFKnqX8rS8xOfO9nmh7Gch7EnuOOblE3OUZn8tbXmcLFBBmIYED1N8+aypaDOF gIUIult+7FiUzOGpllQgEwaU+TS8xyCUR5IlgrVZ0CtI9kZ4T3+iwc2q+Tg/VBS3IAdkizOI6x5 p3pYJOytwpoM4zgDrsUJj8FKGk7f5j0n4K3TSZDolZEs2ZhbCvh6Y3bIvgZj1JsftGoLs7LirX7 ccsgLWJ/lW4nbadaoQIcTCWQS15/NpQ== X-Received: by 2002:ac8:7d4d:0:b0:51c:1c73:5945 with SMTP id d75a77b69052e-5213a87ef78mr172629901cf.24.1784640839529; Tue, 21 Jul 2026 06:33:59 -0700 (PDT) X-Received: by 2002:ac8:7d4d:0:b0:51c:1c73:5945 with SMTP id d75a77b69052e-5213a87ef78mr172629421cf.24.1784640839033; Tue, 21 Jul 2026 06:33:59 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:9dcf:9ab8:bffb:ec35]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-495499d1d4asm237901185e9.2.2026.07.21.06.33.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 06:33:57 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 21 Jul 2026 15:33:13 +0200 Subject: [PATCH v23 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: <20260721-qcom-qce-cmd-descr-v23-8-1be02deffda9@oss.qualcomm.com> References: <20260721-qcom-qce-cmd-descr-v23-0-1be02deffda9@oss.qualcomm.com> In-Reply-To: <20260721-qcom-qce-cmd-descr-v23-0-1be02deffda9@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/NoTDAcsmYgBqX3Ul3/iDvHg4aUP3q+akLVH0AH2O/TqlOHrv4 XiXVsg3n7aJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCal91JQAKCRAFnS7L/zaE w/CSEACkAW/OT+lifakWOFLO39FQXmm/C7sQQ0BvEXwrxsR6of/E0WqLCGTB6gpyCZdicqlK5HN VkEfYabhgAspLJDJV4N+nau20sEYLZc37UDBMjS/yFOJKAen2OM9X/lUvzH5F4k0VP4NUaZKE6s 3Hk//Tkc5jY9fLhv1XnfvgxgLar2acM4WM8P9CknamSU1Q6gD7ngkP8SnMJem+RbxOaRXqTD5hY kGykFDcG1mZL15jy8jNQlBVaXxZzIxJDV9QwY401ZPAS+0KTb3hQluK7SZsRhr9sMnWRQVddJin r0i4jejB5wRED33HrhD4Yae0DLMSbM9g3xvdHqcwO9K31sUmOBYM08wEGZN9eHzOd3h7TOIqLin 6gJQKZS7QbXafmqRE08WOGhUXJgU7+YkXAQISgRGHJg27TfEs/23zJW5uW33q0RGEKky+xyZrFI pL0QuOPEAwB4oQwvjFO0Gh0T+R06HwOwJXJvyOR5Qku/Cum4iI6DNRwHZT9XkrOc30foahJ972S CARntKBk+IXP4dHgceVPzaeI27iMMjbfVipWeCaALLWxtHaZjfuCYB+GoxSxSk7q6T+Fdsc2nwC fCdhq9jPe1dY2JYhfHylMs5mufyrbMgTMU7ojZUHyXQzK6mUl15IRcSXmmCFjjdtFFLQzaZLM0Z 0ao6rqrkrtCZ68w== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-ORIG-GUID: CvR2t_25zizXgA2vdXugjS_5qu7f8Pq3 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIxMDE0NCBTYWx0ZWRfXz6m6ZNmpIoAO BNIWpoEh3FaAjrZ0i+pIBz2q0V7Ri1iZmCSCsrajMEbywvUcznUI6NMT+hCtxE40jjQrKvYOkqo fQBYdGYZhY0InogZp9HdXFihRYCnSH3x4OrGrHnMdJ9/A6LqpHsh5UR6f+Oz1mVWkEZ894qSZ9o +YJeAGIGhl64+rJB/d8W/ehkmhFFqIAYr+7NBFjZvXfgD7c58H35wJu8ivhJwvbFoR59wVTznXT p8Jxv3BryJe9d2B+J3xxwvuLyBEcUb2mF1X4PmxTvDmgTIYnOtwVY8q3wVoQdg0pxl5mK2FpxpE oF/ws8T7E3vhwGB2r4hjT5jTIZUPwQ7qEcQBU2gQGarOUnyV1AkFd2QCW3T6RcvtMWf55M2toLG 8I/X7MA4lAay0u2BvOdIN9ZuANMUsAzOmaHOD7+atw2tJDlHOjHYY5YMv3bjp4DQ0zGSYNI4zUe wTsnw4z6QHU0E3gIm2A== X-Authority-Analysis: v=2.4 cv=I9JVgtgg c=1 sm=1 tr=0 ts=6a5f7548 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=gowsoOTTUOVcmtlkKump: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: CvR2t_25zizXgA2vdXugjS_5qu7f8Pq3 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIxMDE0NCBTYWx0ZWRfX/gdNJBt/kilQ NNLsl71vwtQsVc2cVwFZEpAwVcuqohs/78TS1xIGjutZtF/AoaWUV1mHpikrvgwT8m/q3NVq0kj RmpqqvpvJXjMlZA0g6QoTnza9EoyrbY= 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-21_02,2026-07-20_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 adultscore=0 spamscore=0 clxscore=1015 suspectscore=0 lowpriorityscore=0 phishscore=0 priorityscore=1501 impostorscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607210144 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 00:56:37 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 20AC4373BE4 for ; Tue, 21 Jul 2026 13:34:04 +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=1784640846; cv=none; b=pmMGHf6c+veRsWHh1I+bxLazS9bk4TrvyqOHoyQOth2f3aVSgwux2wsEsAMPeAXPwDBjfssG0e8hV2WQ8SV+LAPB95hU3b3KPG+fXTxAjJt7dOQMeyivSUwPN8+6YRTHQwahJIivjmWSAa2mw4ZV0mCETPNlOpRwPXzEp0GMsZA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784640846; c=relaxed/simple; bh=vpDVf/b6zHPEUgtVCAl2sRJELM4MLJc6gtP24/up104=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=dS7XZ7PdM1WRFVmCucVOor5+XHRVF5HIb/De5sRgoZPL1ftfDnTJtR4vQiYRwyop3Rj0pnjvbuLkzx4J/AQoGGGLTByLPeWdeAjrCkoXsyGENBucuGbAQ5yg1TDIXPqCpi6yF40PgP3SP0rY3jpA/JcAMrWZh+oIXx0J53NGFEY= 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=o6/MAT0b; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=FS8WXKnh; 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="o6/MAT0b"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="FS8WXKnh" 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 66LDMIx01793877 for ; Tue, 21 Jul 2026 13:34: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= twry+rQD67k4KXlgASz4DIRuOCwVvltNp8BQTuA56nA=; b=o6/MAT0bVMJGg42J i32afc4DY4EC8niDPtbZJXNmErFCVSAIkPjkUn4fz8Se4gv69IxfSY3l7PPgatsX zf/7zpjjdU+23nzm6VeuXp9CGTGEPqHNoUeKJLxhdXhnlr0SSPXsO0dL4e/PToEg cHb/NF9xk1+enamy6VQRjOCB7GNQCkGCMOJJddqj/LsA/gdKiu76FltZ3FVjsS8v BpPrNuzqBtSP0ifL5E7KPixhLwZhfNyjWTgbghawlq2iPbPm9zBuEpbmiWdAUrNr hANsfYAPALH7UW9gUvWkzHEOYUGB09EGbUwS0/HZrrqHCoN8TEgGEJNnon8+0RFD vMErTQ== 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 4fj1se2en9-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 21 Jul 2026 13:34:03 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-51a8b0a08d2so165116601cf.0 for ; Tue, 21 Jul 2026 06:34:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784640842; x=1785245642; 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=FS8WXKnh6eimg1QTqxjJuE16PAXi9jcVUCQd37aLpizpL6+GmNUBAhS0qjn6kZ/Iqn 016iOJ3VDM+WmYH5w0nm4VZFj2LtaXEUaCGuQpGvoaLr0c6mkZvoankpc2cRRW156KjY G3Q4+geLqBMLLm30xyvW6/2okSSz9rtl5aQ05owdBVuLd6j3cRrPCsTaluxtEJe3Ftfa m2AsHnrV2w+Cf3F+TuC5IylxsL6tVY6pJ3lgirRLxbJEmU95zsc1cYVQrE/p/38WbVEt rn67G79U6SD5CBCrhEzCv9ahzP9QQbEZ7Sd6HLNOmOCrfnZIObYccZXFMsq+pQbInBGD +/FA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784640842; x=1785245642; 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=W22NrtVVjTizgL54HYs4n2g1eFxXTqnsQROq/1q7K2Yb/IuYQR7wpM9MzRbJT2VdU2 grIpKe1QFW7xwBm/DtS5LSAxWSMFB6UOG1IrC2BAM7VphvMFyQsllfg6uIzqXwV74iDR SGi6AaySZw5qA36fI5rABZtHju3CPjEsrISIkrgsArZ3x3cv9TekEaWzQ7dYlgwX8Cuc ZN3I+XavenX5qH9roOvwMuTv2z8t/1EGedC5xxbzAC+R4WVzMoUAWfgvJuzitKmD3+/4 4W0M4RbiweqXWQY3X1kcFazXLjGpJ+1BIWZ9JxfrS4qBCiUjJqtN/LULQFceSjB7lXv7 /uJA== X-Forwarded-Encrypted: i=1; AHgh+RrNwnzJhskyU+JcZsPrOA7/MsCt7DtU0ZQ1a1I7npkuTRLd2T3YedqfhxeIOm2wbqJGsWS0HMbD5Zi5mvI=@vger.kernel.org X-Gm-Message-State: AOJu0YxcMKesO8a2RD1NPdjLFlMK1PNAJxraZSvU0tCoZaSW7gVSkmu5 AK9tjVo3KPizSbDjApubchiPb4OUglY8DQaL9kR6twcLIhlp65D1YK1DJjftsEen4wE8lw7tcSl mGC2nkH5xrsyrnuKE7L/uNjls+uYL5/tSdwinqT/uxtaDVQUOuwdDDfB/HhCBvlraE6pvdn0Wot g= X-Gm-Gg: AfdE7cm3m929KXno802HzpgvBL1RWp+a1T6AB7h24TTsMywQ8zGtfySKlj2K/RLtXdZ jq9g2P6mzyGAlMpKTYn/Lfy6Dd+bJQw3Kkqxuki/y5uGAC4UTbXNlDU5N17HZ+SSSSC10bgQlnT gK5ZaWMaf+0qj09qi1P+OZzWvqGa75Ya2ksWFC/c9CEOpiuFEIAKwjSU/J+Ca3RCotvYK4zKzwi dXk1W8Z2Tr3cUmDU5eKLgA/mmRHrcf9kDT1iK3sw65WAeYPvY6G2g+SGyn0JLDuruWvZKypv5EJ scQ6TsESlgtsRzYJH2Y3e5XIwl4e53lnviHPWW9O1Lo+XH/M4AFvccgtt9BGUuP5tIWgw8hJ8Bf CPUasFj51c3ZTXT/iH6jqWG/Rru1CRQ== X-Received: by 2002:a05:622a:2596:b0:517:71d2:37d2 with SMTP id d75a77b69052e-52138ec1fefmr50714011cf.0.1784640842392; Tue, 21 Jul 2026 06:34:02 -0700 (PDT) X-Received: by 2002:a05:622a:2596:b0:517:71d2:37d2 with SMTP id d75a77b69052e-52138ec1fefmr50713441cf.0.1784640841870; Tue, 21 Jul 2026 06:34:01 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:9dcf:9ab8:bffb:ec35]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-495499d1d4asm237901185e9.2.2026.07.21.06.33.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 06:34:01 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 21 Jul 2026 15:33:14 +0200 Subject: [PATCH v23 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: <20260721-qcom-qce-cmd-descr-v23-9-1be02deffda9@oss.qualcomm.com> References: <20260721-qcom-qce-cmd-descr-v23-0-1be02deffda9@oss.qualcomm.com> In-Reply-To: <20260721-qcom-qce-cmd-descr-v23-0-1be02deffda9@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/NoTDAcsmYgBqX3UmKxOf6XYLZXDGszszberRtz3YMnxxcysIg 9wCyls4v0CJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCal91JgAKCRAFnS7L/zaE wyWNEAC6YTYGYL5Tmdztdv9YHscz6FqTO3G1BxoZMQypB3nMZFhflG95fXlIphbCzz/4DhGmszJ 9i+6ZPNgF0FkJeZyjVZDjGOyb2MGFFHD94vHOYlWsJYmrIE8d9WK/dhYE7AxkISS23Eb0sHXtcr lH5uQPEge6eFoHZO8oPT35dVNP/2pEQWyXskL6OZmh6kpVJ+HL3SI9NB8A+Nm3THzNRQvxzTE67 sejCFjHbuE9HLGZxf8znL+D88EiEYc5FrG2OjYkXMhRiz73YnYE/aztnXxEgjEhmelv97/dvyEA EmYlFoHs9BB0o2A8u2P7I9O9jc+k50VX+i+/Q9veFoC5jnHVW/YK4BgYTN+g/HKMeUj5MbY8WqA Zu0PKEqBNMQNAPsGGhWB2xF2cvNRLMbzQHa0YjVMYEWiImRh9SdGH9CMCr6U6j69WvuZoYpVhc0 SEz6GsEGMgrAcMpCk5+JTlnH4Tblt/ScZFtN5mub7dq2L3ergVzJR/1X3SDHnsp/sm7YkiYRjxX RsaMPad46VlC7fADepU85gDWsKEyYE8FXv/flnOFiS0Z9D+xLWhFZwlcTIDIOcV23uNI7Huphy9 l+5sEVYcjP9o5lLmKrz6JVGE+8/p78JA0QvpsukT/jvfRYp+YZuREBY1EhFb3vuIFz0afps12Ua GvOJ+XDuEbiYS1w== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-ORIG-GUID: Jj8y-LXK7dNWU8QDCC1eb72qomDnpNVD X-Authority-Analysis: v=2.4 cv=TIZ1jVla c=1 sm=1 tr=0 ts=6a5f754b 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=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=tWRRbWwrKX-5tUpmLDIA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIxMDE0NCBTYWx0ZWRfX6Lp6BwCc3yIb EfvQ7viwYAL7FxMGKUdBOgktauvB2TjeMDMHpAhXI3nbMjPZNSems2rTrOFpLhGWs/Yeo7UiOyx WBx2dGeW6yYHC/9UwUFWA49sQtOhDUA= X-Proofpoint-GUID: Jj8y-LXK7dNWU8QDCC1eb72qomDnpNVD X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIxMDE0NCBTYWx0ZWRfX+O9MrrwiJNs1 M5AKCzWWG84kNnS8RyK/cZzas8KyBiMKKAJjk19BF6Y92z6TWAjTbkWcwQxmGtmFGqCv/VPwKes E3WnFllHLvAIusoWXk7G/5wgFKfcIcpN7PvAiUom5a16Jmu6LOjZNOWW0FW40EHSOnjxxIsTabx zlxUuAi3MrRya9PzXWjfrYgBcdr49d+CGEhpxBvsscOOS1GB7RMPutPzZK3YDhv0l/hv/ZDNfAA kDCdMdo/lnJMniZlLr/+qhVMyCOf+eagWvsA/5pxCDaG9vThj8JQkILhTXoaFvR9lB5N6nF9dV/ LPIHJzcgIfTTs9GuYg3AeyevAMATi1uU40rxMDk8N8OJZWP8xiboTzQ04b5OkO6xSUbO9R0tXib DdIuu8RN86YrlqfDjE98BLubA0ko1isstrMoL9ChvEAIowPZJHrVq2xgvBF5KR/IQ7MWsgEPEzp wZtTUTPd8D5CLNd4BbA== 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-21_02,2026-07-20_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 impostorscore=0 priorityscore=1501 spamscore=0 clxscore=1015 malwarescore=0 bulkscore=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-2607210144 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 00:56:37 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 501C6374A0C for ; Tue, 21 Jul 2026 13:34: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=1784640849; cv=none; b=jVnN9Dqt2tDvYD1qjx3gKDDr5WrmAKhMu9iVXQik+jlhfPaJAl2Lanw3J62iAKr4lFNpNzRclEHaTiWHN51rpOioxygm6xN29vqwmCtsXWl90p1VxFJI9KtrMlBCiNUsseTB6xPhnpGNJbj/wrnTYUaKQcHSbusHvJwH9WdCphs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784640849; c=relaxed/simple; bh=/3Q5BLE2qswUURgRMp8Md6+CmS+GMHS0PuiKEz36BBw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=LqucAznNsMGfkhncCcih6pMdq20MK4qL5KS0dJtrSP5V9MAX6gec01x9mR0iGV654n0WwiJHcZijmRB+rebaUO7EvlIukzKX0UNJJJXw/q1RrGilLYg8JUzUKl3mPMlPxDuoJVFfV0/xLNQWHsrHDck6Alk2DTRBc9CUxyHP1A8= 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=AHr51DXm; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=GgYNign0; 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="AHr51DXm"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="GgYNign0" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66LDLrrH2023771 for ; Tue, 21 Jul 2026 13:34:07 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=AHr51DXmH92LdgDJ vSMOYYLczG0FFQ0NjXnA/4JDJTMZSVsyWOW495MKpgznsL69QKzz4YXIif8XvGoT 5EYvkVNukEV39P/L+9Z+tWK9szMiqWZdrUYAKI0Myzp3XsdmB8DHyA26igDrfo+x EPWHoTIJII5KdrWCzOdjGOcjybgi+fPLj/FVZ/1nxIYWhnXVBfZJNVUxyU7GMiPz 3vqJxsLQzm2AtyjSEP1Mh9S0PazImUMsvyi5HoF6ylgDSuOPHXM1qJikQD6bBnA8 qxUcnQHlpcHQRLopiw9iFtQZucuiMzom/qi0IF3Te8ADCMv7VbXLAZAq1+bbQmHE FzTWqg== 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 4fj6r3gxdq-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 21 Jul 2026 13:34:07 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-51c01ff996dso89454451cf.2 for ; Tue, 21 Jul 2026 06:34:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784640846; x=1785245646; 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=GgYNign0KwDPT3KW8fLkqW01e6ALnqagOfwxNLyDAkde6xEPkP79wEj2aTrOTWKJBV kRWBX2Io+kaMRmXefKbYxeUo76f4mB7jVDez3t/2kYArgwjY3KSvhsmIF81WS7H62YkK EIylCOQ3eWqot6lYMucmuykTCOJduXZraI8BLFfnstiXU2v981rBhMkAm7SnKkHJ/gGu 1B2CP6GQGvttAFJPp4L/GmWsATWrTIJHfF+3Txfq9QVHgB+t3ZRgtbeAaitW28NSnVcn SqEbvgWKPWfED4wnxXUJeOoubitE25Y0r8JVd93ZqPbBKo4AZndjI2PGaaH29ma5bb67 KmhQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784640846; x=1785245646; 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=BTyvyUPPEMmjfGGMOTpEBMHT7airtCJU+zfX5uLqvi4IUELmvnDWy1kkV+5oA35T37 alRcnglT+jQlRtsnyPuwZfA46T6aoLaON+MSxVHQHwFaOSJTy1D9+D8egsXqjsQylnyt Qn2km9alzsz+RtK5uV6TJAyynZwUdf6YP2Zr2YzibJzGf2fBkDYuXtOTssvrOM5wv6L2 KwMOWDW5158Ish/3QYJBgENCAgDGYWLR+u0n11QgfBY0xiIRfbzRaC/wyqviToaEoQT+ hOmFkFFqOwpL4vIkuReoZH7SyOGtr1raSWNlQ9U5d6vJY2sHvnWGWpsZMuLQZHypurwH iVDg== X-Forwarded-Encrypted: i=1; AHgh+RqWy0beytGdPggYOYUDKJKgXXjpnB24DPFyF2w1ovtOoWCuH01gR+TQ62nGx97CG8I/+I3bPqwSuX2p2rM=@vger.kernel.org X-Gm-Message-State: AOJu0YwtVhh5oPsoFP/xDhEmhpKF/PKoMXaMavCQcDfmQ7wMtqBX6g3Y Gmn3lXUlwxrMaPAkQ/l5Z4HO7S6UyxmiYjWgNMVnbkAzKiwYKEmxojVuumz1GSzgkHYn3/39P6u /MbJPDihiZZ+V7yFWGXWAuA4WoLdrRQgSuh2nFsDGEgdtV+RldFb3M5q283PYJH/WsqSJUVOaJw Q= X-Gm-Gg: AfdE7cktqrTeo3QSIcSnFXnIbfRF2rTZAeqczvTuB1Gdpj3OrajB4X2VzwM2zPYQnzE lacDT8YFeRmnolBp83/NTpI4OY707VMCn0rL9yElWCwdo7vVorIjHYN+W+8Rmk51hoeDG9AEs8P FDQqMLmUFd/KewMJAIZZcNsGOZHCXizF/au3DsDEO/XzirXDBdpriLxK//jNmmYa7hu35QUkv+O oj9WNkel7Z5yYl8xVaXgVp+4GGbkn46bZwW2w4clS8zJqxPeCNmlAyO8lAYCltk4iMjUUkMuzdv AgMYuy0blQmdeDvpEmgiVEAdej5YJhdYMHGKs3gk3Kw6o9ZvAZnNkPOj2YThW4fhXY6ZJ+fZ1p8 4IkTHko6/Kif5GqrRt2AimOTO3WCegg== X-Received: by 2002:ac8:5a02:0:b0:517:9c91:6246 with SMTP id d75a77b69052e-5213e48b0c5mr166431011cf.44.1784640846275; Tue, 21 Jul 2026 06:34:06 -0700 (PDT) X-Received: by 2002:ac8:5a02:0:b0:517:9c91:6246 with SMTP id d75a77b69052e-5213e48b0c5mr166430361cf.44.1784640845627; Tue, 21 Jul 2026 06:34:05 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:9dcf:9ab8:bffb:ec35]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-495499d1d4asm237901185e9.2.2026.07.21.06.34.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 06:34:04 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 21 Jul 2026 15:33:15 +0200 Subject: [PATCH v23 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: <20260721-qcom-qce-cmd-descr-v23-10-1be02deffda9@oss.qualcomm.com> References: <20260721-qcom-qce-cmd-descr-v23-0-1be02deffda9@oss.qualcomm.com> In-Reply-To: <20260721-qcom-qce-cmd-descr-v23-0-1be02deffda9@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/NoTDAcsmYgBqX3Um0Szp2FQ/7u08UOOwXOEmTqCbPyKy+Kk7h zt1sPJWfrWJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCal91JgAKCRAFnS7L/zaE wxU2EAC6rmyDxMJm9Nysia5rt+6YD50durxhSSEqb88XkqKCqwBnIvnxJUQfv3jffZs4kAZ6iWa AK2fzd7WqrsO9s3/O3b36spfUWvx7gYTCURbeYFoKZBzsxPhstjpiIKpFSUdVM4nc5K5xjXAMzM acl41vgFyHzZ9/FnuZf5NnzVCIetrEVzDJIpc4TAD9IbhQje9sVW4foZ6fmW5tUXU08SzNC9q1Y ldq5xCkipfUygTnJ7os18ArHSgVMJGYii09Fw3g3hoO1cpZLRWK9TMGJrn5khm8M2zB5JgTlkfg zYhOLQPSJA05iJQM0CBfio2N4VRI1RP87cD6zGaI9fJ3EQeqnBI3hcTmBe9QB31cCsDabWAgBwi +Hz+DBeEwF2MWq/GqQQzHe/cooYkaKzeRlAwhebfrEHCHeM0v8g/7GR/uGKY7U9Zdp/Eoza1Jlz wiSmZzWZQD6WJ54nYEDUnU9Q7vldznRp9nIeNcmNg2lyd2C2ZOBw/Fpexa22zG5WGL1/0slL7lX xsAt7Oxg+kh/mc77N0tkHNuN5+Dz8Cb6Ek8tcBvzVwcrOU9awwcQoz/5BQ+6rc5xPxI8hNh2FC/ QALORHjnJ4ZPKjnHiMBf00DHjK4ykiZxwjkOQJkFOFK00r+XjHlkim+AEO49dUX4JcB4/vlQnzA FgoDdF2SeyFaTcA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIxMDE0NCBTYWx0ZWRfX8REzbdNUZb+U R2ftr7LK0xQsBa/XfU1Nu3HTXGUT3YsM+rNrX/4GaUGQC5Umi7qgd+aKvlXN1fHNOfwwRMyaGTU SJlmAL0G2/9GH9ODGZIQLjcaVKbQWe0IXu+wpnUcYppPxRkoGLD8b2sMEdxeu7fD7Pr4gsnDJOK dhYtQ4PV05ZbOQYRfHJvERBQIj9xns823V2nBWZCg+702UZENBQu8G3i6+8y9sOO+rB4vJqTfKW uuTf5fZOlXN52smhL2XnyRuG/GPhW/ZN3yMMJhe6HTqg28f08ywx/qfjWu278hePaiIeOMOrsjg 0QtgtiTUC6TruYjE6qtRuPH/KnvC60W0+MrpEioCzJ0zkUkj0Bc3AU0zF33feNbVv7JrTlZtmrK CO6+xhV4Ztf326X/A2S3Gce/T5UrDoQXLwJT3rTB/K/L8YVKqmlBpR5ZfQF3Snb3sInNjQueg0W 9q6Rb4kQ2NUIh9Dfqsg== X-Proofpoint-ORIG-GUID: ilKcf-pR1qC-bi15RzfXmp8UvwmVE_GP X-Proofpoint-GUID: ilKcf-pR1qC-bi15RzfXmp8UvwmVE_GP X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIxMDE0NCBTYWx0ZWRfX1yscfxOne5gU +tx7tWGo8UCE9SUuxXgBCIonvrZXXHFie4pHyRKYinkGeDyL5JWrM7wyP5sH+ArP1eOYUstp4Yg k98QQA0N/8S3d1cYu/PDLXmT0lJ2V50= X-Authority-Analysis: v=2.4 cv=SIRykuvH c=1 sm=1 tr=0 ts=6a5f754f 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=Um2Pa8k9VHT-vaBCBUpS:22 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=lH6k5GM5CfRwGFUYfCYA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 a=cvBusfyB2V15izCimMoJ: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-21_02,2026-07-20_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 spamscore=0 phishscore=0 clxscore=1015 suspectscore=0 adultscore=0 impostorscore=0 lowpriorityscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607210144 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 00:56:37 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 1C9183655E1 for ; Tue, 21 Jul 2026 13:34:10 +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=1784640852; cv=none; b=g7RY8gjGcOpA16BSVZluQabIykHGNQwu5e0IhnHTcsTcXlJeWpPMbHV+MosBlu3JrKKe4V4U+n7Rs/7l9Qy+DaDxf0IqF4j5edzmkGjWseAIXT20FScsDjCE9IuuSYPQ/4odeRaMAW67JZPqu+Uw+fwde/nEvPS+TSsDTxIVCWo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784640852; c=relaxed/simple; bh=czoxItsxxVvFFRsK/bUJo7zI9PxP/5bmJEdhhzZ9wNU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Y7XJDFkJKVTBNMtZzZ/gruMtU+RKw56SLXVuanngnysaGsBKSDixEqx5zM0numNXWonFIElClB02rUsCeZaeZDiHA07Pxk7UrQvLKw3+YZ2QW5t/uYppjdRY8EZg4uvvLjDwuTEoJFEX0uEq7sGKFX9g4SDJa5rmgaeOF/5Yg/0= 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=bNrzb8VO; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=hbZZOoMx; 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="bNrzb8VO"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="hbZZOoMx" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66LDLrFY2023782 for ; Tue, 21 Jul 2026 13:34: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= eLuzW4UoyjLIBOHVkT1M1Bap2xQlYADrM6wCNEKkohQ=; b=bNrzb8VOaSdLwG18 Uf7Lr3urSx+Hph/rhJmXjex0QXi6DfJaoGa5KQJh2A72Kij0zcjOBZIVtmWH6Z1p yoqulvx4wCdFe5IG0Y4uENqW0taTKw5YfFFXguylQCPHN708yKvU2QqXBY3c6f03 CxwKkZ68NB4pEGbEz5M+kIApwc8c14aaNxkuSOH4zgEzfI9lU0InjaalPQGRxE5B qCkXtVD7mrO8nRz3oDd/zoHmZMBeWhPQtKfusH3vmKqEghJUwCCSf3y729ycWIwm w8wANwDCn4KcrFn4R32REJyugaV2i8Yi7y1fced8GSTkudt4589rmecoX2nQv0FW msl9HQ== Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fj6r3gxe0-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 21 Jul 2026 13:34:10 +0000 (GMT) Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-90284139cceso85523166d6.0 for ; Tue, 21 Jul 2026 06:34:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784640849; x=1785245649; 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=hbZZOoMx5AcIx17LVOyOw937YbOWpbFdSNZzTL68WxFGLJo8k7gbtT8iFCBZHxhBDz Y6J3jb+PDTZ/K9TYAxxbabF/kl0tyuQweEcT286Pr4wmPdKdVjL8pxw5qDYNRYT8Ckir /1RQApvCZNWkGUSv0uNdBy+iS3IHM9PCQoNGEpcniu9jrv6M15zwuIZcJ9fokINvDbOh 34BeqqudR9g+S7odZ8PSiP1oHGu+uqmqg65mRs0ZgP9Y6mRvJ4oHzcKJtu7938jzhq7X /274nYq2+oDqrK9liiHy9xnomUwDfYbnAXLgXTDFxtMqVnCc784v/bkea5cA76OyO36V oQ/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784640849; x=1785245649; 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=hIX0FNENmYBMtoT4R3RhAqcX7rKAVdF9k/xozW01cuY/YorXs9CHxlxDj91m2DFJwR tJXjeqDugZTkZp5tRh5BuS81CsQAK5MSSDaPGcz8Nvao3qAZosM9dlwvMRNxuS9zoDol VJCmPQ1pRiD6HnbhR6rXXNKXlqE2ocb6iQdeHYEDmsvsqNxR9EbJRQ3qvK5oYMmKzq+E I7KqtGJz2kAtmlqmZJOHADyaAywa0V4fnlcNec4AOuMZqqoU6zqvWGj4CCbCNEGfqGR3 2gX+jk0rv/QgrtbN0XEf4CoUIUQa4FA7h6yURyr08DE7juZ3xhcS51dCh8wIc5zbinEh nJrQ== X-Forwarded-Encrypted: i=1; AHgh+RpP47a5TZ/lHXvc5P+W7/DbelXpqvZ9ei0UBfu9bPD7LeH9DZu33TNFUwVkfiUYQpFUhcL0OD/UWnAptfo=@vger.kernel.org X-Gm-Message-State: AOJu0YwGVqr5MpMJUTu8L+dYUrVyJ1FViI+M9ffFuLjNQVX1Ajapj2aK fQyt6A+0wzqOwvNIrDouvvqo+68N1ZFrWrPKGrHMIapuJPKKT9RNaH7hrzsVZSUDQ1k/qm4PBs5 /gRNJBqkaudSGHms8tVcC14+J/PjsAemqvkpOGQ0sIIPilUCDeizoeLhflRBAzHvLf9xrLniU8Y M= X-Gm-Gg: AfdE7cnGn96VnMDHEteXPF3g4/7OVH95dfnQNkQp0juX4/sUmxFgZUSHX2DH/xlYCo9 mI9MELqTBOG75SOsCyBxaEb2WBr50HtZBbDBHoVlbAaburNNQIhmVrXLK+9L3ufcxuMLk0oaYfM UQlYePq9rxnEB6t8hwVbH3GUIjx2o1oersNpMlrGWiv9T7LG28VNWqwR0sMt4js4jjW5yMKuj7x 3fL7ETkcDCE19KRXEqHW9Jv1koe34Jws9kqFp6vBxWKIpNiA3nznEuLH0L6x0wUn09MzrRlLArk A8n6K40dmEqDQU8hR5WDoiouY87OJEcNai+2Ox5lH6WLZ61HNr5Jrl2Dp5UOqeV4biy2V9NMk9U hLsPkQzFaQLhNgmIivVWYSarWBEnDIw== X-Received: by 2002:a05:622a:180a:b0:517:9407:5c38 with SMTP id d75a77b69052e-51fc12933a8mr214249011cf.24.1784640848982; Tue, 21 Jul 2026 06:34:08 -0700 (PDT) X-Received: by 2002:a05:622a:180a:b0:517:9407:5c38 with SMTP id d75a77b69052e-51fc12933a8mr214248451cf.24.1784640848419; Tue, 21 Jul 2026 06:34:08 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:9dcf:9ab8:bffb:ec35]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-495499d1d4asm237901185e9.2.2026.07.21.06.34.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 06:34:07 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 21 Jul 2026 15:33:16 +0200 Subject: [PATCH v23 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: <20260721-qcom-qce-cmd-descr-v23-11-1be02deffda9@oss.qualcomm.com> References: <20260721-qcom-qce-cmd-descr-v23-0-1be02deffda9@oss.qualcomm.com> In-Reply-To: <20260721-qcom-qce-cmd-descr-v23-0-1be02deffda9@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/NoTDAcsmYgBqX3UnilkLGADgQanf5CoLM+EtXAFOMj6jWwzBH LQYyN3el+mJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCal91JwAKCRAFnS7L/zaE w67WD/9qMG27fKE1FBdPDfxrHY4ToxuSnX05+cNKbh2lS3GHPkXwmoXy7ylnG5HIMwEtB0/Gtqg NME69dDUowuLy5BEd1BbM74oJabRrIhpigkKamMwJC1qpHRaXPMPP54qpbbPNEgt5ZnvY8kG2OX MPakkw29VOOvG69FYZqXeHoVnFWoD4MXDCea5HybyWeIhaCQ/J4M4NdQ7Bhwu4kTxTEoLSer4/x jjH5mJSW0ESaWTLRFS5KWlnliH5ITFaMbzglzYVZqr6SFZfDawRH5gv5aya7Zu9LPbsm/X0EVWG c3Rd9sOkyWu0Wwgq/3IEZ+EVhHPfjPr+VLfrB537yTn6QmQC3z1R4E3q/lI/8iLEEjcFOynG4jF er+yArLEIc9JaoOaKYNF4h89OjDic6RX79e6Mp5IvM2wrrnPuCOFLTxEgsKeXo6aWALioo4liI6 NxUBn7jB9D0/nOHtJluKrmf46rrlt+6d66aw3Tc5s3tsYQ8GLZ74boBGj5pOxPZC4GYydmPgcPr TH0w3QSVihaVR1fFs7pjsah4mUngg3sxe+DpafjeVRujWB+TNKTbOOETQwdOr5EYXE85mKgeFCo idTcZogpmlSa5p+f1ILe7Pgl1SVHCUpoJcGXuZ5tofk9xtX8Y7hpwCAnqE1YhWw2m33EtWYKP2w 6QO9I3w5a95ZndQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIxMDE0NCBTYWx0ZWRfX4GkTExXoCf3U vjbGpAwH73buWESC8Lh8FU2wMUloR0VHuB/jzoft1k+PqCx6Ju3vLI4UPYHd5Q/JgRnhgWDKP5n 44NvnMSRpd2Iz4EPZUqRcqJq8DImQ7yWtBMZpPvtujSL9LM8yXMRSChgBXr8esiGEvZL5rZhLMv TRNYATCX6L7rcpmOQ1fZDVmGzuffIolOYpJJfwyf1T+CJE6u0iguVRIFN+eFZrZh64auuI9OPyA ocd3PCLPNsBw0Rpjb30R8KlfVPVddjLjV/TFOBmrIJHB/Ht/gKxSd4u0n/XZsEmSMwctqxAvvNi z1W0059fGTu/9NjLlM5VA3HCyO9M/S20w02jIv8via1Ny0jWiG0xvImFPnEGXfYBpr0P5EIfzfe PtHaNbB3hb8qi43uqMQustPxyM5hkcDktzUTTbdIjn2+rYwJ++Hp9OcZCuyBZ8KtT45HdGaNpu8 nuuh5iszH3fdAjofZKg== X-Proofpoint-ORIG-GUID: jIEB8-JnXWZfAfQikjA9YqG8VzPnI7XX X-Proofpoint-GUID: jIEB8-JnXWZfAfQikjA9YqG8VzPnI7XX X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIxMDE0NCBTYWx0ZWRfX/lF4Qk7aQuX5 6BiooOGSduWFMBl7hZhPdKXCiR6v3M9nr38Vr3ORJqSxJ/bbT6AKBgVRz82Tmxr/2ShX8p2b0bt 5OhG1I4KmaQQaPkcxzqRfaHrBt0L5Uk= X-Authority-Analysis: v=2.4 cv=SIRykuvH c=1 sm=1 tr=0 ts=6a5f7552 cx=c_pps a=wEM5vcRIz55oU/E2lInRtA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=VwQbUJbxAAAA:8 a=rzIBUVXPi645tD0pnwUA:9 a=QEXdDO2ut3YA:10 a=OIgjcC2v60KrkQgK7BGD:22 a=cvBusfyB2V15izCimMoJ: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-21_02,2026-07-20_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 spamscore=0 phishscore=0 clxscore=1015 suspectscore=0 adultscore=0 impostorscore=0 lowpriorityscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607210144 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 00:56:37 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 14D42376BFB for ; Tue, 21 Jul 2026 13:34:14 +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=1784640857; cv=none; b=ISjFxnV8iNNLmtz4c4KglQk9kN55+ehK/OYOtC6YsXR5VgsCBj4hKZmiIAH/7M+VFq8hAyUzyX2e3LMKqGbj6fqG2FVV8vvl+MGCJwDh+C++JqU1INUX1wWOzhc7THPx+HTvUsTVg7edRXweAXzZvf8DtHChojWf47iNYHud/Sw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784640857; c=relaxed/simple; bh=I6qozPBGCCC+qW2tSIhDtPr1pqACnLdSRJYO6Q/jVhw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=UMQxdEj/FcF83YmAJW9k+RfZmKvoAvqrtk1HiYwReh8enfgyBFyNeMnXmrN8pDdxYNc6t5z6wihwKZ8f8RxHugTQA/nWP5amcD5SLr2H0bKE77dz8NPUCafNQmNzKx2CnkuObyaMy4uip2mGPr0EQsF5FTEy0T0fdustYuU4Hzk= 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=jPc/FU+0; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=QjAQ4hVg; 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="jPc/FU+0"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="QjAQ4hVg" 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 66LDMOFG1351996 for ; Tue, 21 Jul 2026 13:34: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= /ulYiF5q27l0HtYTWxPl+5HbnGbtV3QzEBY0v8bm+NY=; b=jPc/FU+0Xwyr6zU7 bUGyesMx57JquvsPFvaYb/49hZZ+ZcMywVRqpik+BsQxZxEz+WZwA/MosIxhuz3b 19RJiWjFvPidQv4YpNLf7PJr0mH5WKnjDADRSPY89vxvgHHXWZVoApmjRsYUaL16 xJkSbdRIrJKbcD5p6isfNMoYXaM3YTK1c1HPp1+22U5l8LpQ6JDw6aaQItOxI6n9 pH/x/ED1DpbCTpMfjI2iM9nbEYuVNjAJqm6+/uhPhKsx4hhuAqxZIvBfkJiEopoT MEy8yS3qorgm7iXyF81GauyZrDuHykK2rZjmejKtUwFPgthgn2OqwpF1BCewRKwT iI7zQA== 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 4fj1es2kvd-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 21 Jul 2026 13:34:14 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-51c07f25de2so109053541cf.3 for ; Tue, 21 Jul 2026 06:34:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784640853; x=1785245653; 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=QjAQ4hVgQxogBkFt/U1Z7eROmWfRYka+dIi7ktr7xEwrh0RYpT3I1Dm83ARw/YnxCi aiLjJzRYHz4fyLFOfqdvkBaV398CSRu6B88hJcW9JRIC4/+h7mOhEbIw/xUUK+Cq58k4 t9xZq/KxPX4yZ4sqBq+tl3k9HMVoR9iq8Db/iwuyalhqF3PcdVyhiKDVa3eFZ5np86H4 59YOP6l9oKDpohgPPm5yspAsVv+y3pJCuBacUKRNOGICavLjUiTx9k3xivfgAwsTaB1X aJIoFF2gea34+QOoKuVEr5/P1u5krYjU1JR5x68aFyQ0QuYRbLQHCXyUe8Q8RhdswEc2 rKtQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784640853; x=1785245653; 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=WlI6BiNQbpVswCr+7Ftq1q75vuk8pGyP8h3gYSvh3IPBjdXtA4ND0ScSsUxsuSM8nG qePQVopvIw8BFn3J9K6z1M6ZsKCXD3TAMdHdw4jjOEmODThyr09s/hDeZc4Izvql6fdB UjjVcuwNVNHauMLgAYcVri3lfNLP/0cIci5u21B08WlMkNjmnCMFdx9dP6rkL7ngmTsm ubuqik9MfPkEv0rmnKqGIbekwsDj3fZ6P0QNaCyJrX6RHHk1KeyMfw52CTqIFyECGXn/ zNMX3F2sD5tRjGTrHVXoHqgaygwd8wB33ri33Q5g7ABb6yT9Ia9cIJGPhD/USBGdG8pt Rg8A== X-Forwarded-Encrypted: i=1; AHgh+RrbZ/0l05CSnL7jVWiAd3a1aSqKxc0n5T5pvwTMg84Hi6S2yDLgsqfBYVMqjL9CuLia7/MxzI3WYm/4meo=@vger.kernel.org X-Gm-Message-State: AOJu0YyUbyL4hW27M+qFDZO3fI/H1OTbeGsXHeAVmNwMdFKb8JzOelRh 7LvB14iE/UI4l7roo7NdLOCLTcbrfT70Z0vR1ATQBA6mpQf/E/yMFnBigQF8qKFk67Aaj4XaXf4 DmOEWoJV5+LehSThh2U3covyWV5NoUXohiOyBTz+1PJJqSPDUY81cJnUE5qZwlrSxDsvP4cEaP/ o= X-Gm-Gg: AfdE7ck3SJ+pYl37vweZ36jTIiWf8RVqkzejq4tniVCCfruignsirb6BZWuOqby7vWQ wdjqGor9aqxKj6jFCiQ3NPUti2XxfNUmgqtp6CdD2d4btqYrEAasx3koXoEBQuhVpCKWYNz+HHg Pi7BM0JClvFmNZSvfUWn4H5VfUrZGT+nveOoS2M2HVtK2h4fnbTGH7sI2mysqdOE6Gsq1SvSIc2 ixnJ4hnBrBD1Gak9LwYoK8cJNm9rQ2a8c+ehGlFwXdMCWuM2idUEPf46BtbF7fc2p83kTHO/M0h lAZLUAKicZCuTbkiXK3SvWIxk1SAIHJH3DjH/T2jIWf4CsJk8ciOl6YI5oAVRu230XukBTMqfzt N8KzzhRGMq+Zy7/LOBS5xqlYZ58iD4A== X-Received: by 2002:a05:622a:1b12:b0:51c:167d:b345 with SMTP id d75a77b69052e-5213b146ffemr155608521cf.24.1784640853072; Tue, 21 Jul 2026 06:34:13 -0700 (PDT) X-Received: by 2002:a05:622a:1b12:b0:51c:167d:b345 with SMTP id d75a77b69052e-5213b146ffemr155608001cf.24.1784640852362; Tue, 21 Jul 2026 06:34:12 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:9dcf:9ab8:bffb:ec35]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-495499d1d4asm237901185e9.2.2026.07.21.06.34.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 06:34:09 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 21 Jul 2026 15:33:17 +0200 Subject: [PATCH v23 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: <20260721-qcom-qce-cmd-descr-v23-12-1be02deffda9@oss.qualcomm.com> References: <20260721-qcom-qce-cmd-descr-v23-0-1be02deffda9@oss.qualcomm.com> In-Reply-To: <20260721-qcom-qce-cmd-descr-v23-0-1be02deffda9@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/NoTDAcsmYgBqX3Un/B4sUi+B/dVJaFznHoX10XA1vghqMVsur E5foyX/j3aJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCal91JwAKCRAFnS7L/zaE w3PdD/4yYJmvx3O/tU4TNPLja9G//Czlr3VKIyZcL/gBiQ15z/nZiwZVJZE2b5cn6VQ3MFdHhLh F52K/+T0ic9z/uRZogZX49SeTr/lUq7JdXkDEMssyLdpfU2dNmRBaGzTUqzB2AaSFf4QWZ6guOY UclVrcQCrx+QeQ+BjvcvUNs3/18XjiMNCxThtSou+9yxEPGbwgVUAqMa38fM3jowTf3MztAUPh8 VdJb6U0/Zsv1avF9LMguUVyvnwQVcTiph03Z7eOZnyzmi6ER5PHLodsNx9FSgQ1Sin+iDnAMvXC DQFsEyo6IpuZEp52pzHc0jdFrxEDMBn1QrRqN/5L4+mRJbdBxYBPZaGliHvrhXxGRWl4vVcrDlG +fcYSJ14DbVFHyEq+h0EzJHDRxu/UVevpK4zcKiP376myKw5lhkUoa/WZmQbqb3cdoC1Cd53Dgj zm9us7ZAKgaaecK6kXjnDHzMRqgfabcWbnaszl/M9Po7whdH6EMNYP5fQ0R8UVQbFZzFeEzDfAr 1Hg+DVBGZvTDaN6jr3PurtcEcDwQS+RvMb3Zz+epLeQhNaViTarv2BLRdS03Bo4O3sKWUnIjvdS LarnQBYMmNBZQvqi+t/Wls1J7kRBflE+NdGj341EqLWcT3zwFOON0oDPpo32KFbFn0HoLUorCh4 MwEYNV6TRQONrXQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=SPZykuvH c=1 sm=1 tr=0 ts=6a5f7556 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=DJpcGTmdVt4CTyJn9g5Z:22 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=9tNk7rGwWxUH_P3zroIA:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: gpWCtBnYTnPkOqjGwWllbnGWdxS6U8s8 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIxMDE0NCBTYWx0ZWRfX02a4nE3x9lYB 5UrxGjepwWF3uxugBTlxaX0JdAPQzIm7Eo1Dbnv6TVR5xiLxpaR1dD5jrd/yXLiRqFs/djvOuVY RZgXJmdZlZnoJ80Dq5iF7N0t51TAbjmQEIs9XYvNIb0FV+uhBgRcjVtIxQfPi7utrpA4dlKT6cD kAEy9u+y+lASAcDUIzUSUuciA12QZdRFcL3mOJlw+Z4QUZgxzCKwmLjWaT7queLe+PK2btG1pOW lpSMyXGSSRm/VvYxKK2Op+TAkaMW38FJyzmRbjmKtmbFKS30WOmo7rbQM6B3isEk907zMU66n4G BvXK1FjS7G6hOxiqxyPIxPB53VtPtXzU65AZ/+roeKyKdiFcmTj9kQOi2T6KBu8hehnxcK5wgZ0 1ZJk17tKJDH7V34iM116JEEHvzgScKxh32vlgWHy9dyi7PvJ7GRZBSP59GfO+3hBiYzFlle/C82 obFVbGudZJpD3AqZd3A== X-Proofpoint-ORIG-GUID: gpWCtBnYTnPkOqjGwWllbnGWdxS6U8s8 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIxMDE0NCBTYWx0ZWRfXz2GsXAdmdvM3 mgmlRnOgpX9MDv2NhHszjtFJ6RVNl3uPNqcF1N6xwFGiMPJMbWtmHdkW5QYMFJycQ79txnqUKLQ TsVtPchZHHCTDDxtcfAYuPqMwuTQAaU= 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-21_02,2026-07-20_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 priorityscore=1501 bulkscore=0 phishscore=0 lowpriorityscore=0 spamscore=0 clxscore=1015 suspectscore=0 malwarescore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607210144 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 00:56:37 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 07E74377009 for ; Tue, 21 Jul 2026 13:34:17 +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=1784640859; cv=none; b=cCSYc6oGswTz0iuMhM5bnAdkq6G++/Rc01dBeb8ZJIVcYwGyCA8cQxHxQ3L4ewmE6/dOyEv1P7RAin7U+UC+JTarbGb5hTb8MxTrYDJaW5v/Trv2MBHOCC14vHTSw6Bd/pVazvTMu6cZ/gMh9TDqq64FML6Y+A6WGxylWtTLpOw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784640859; c=relaxed/simple; bh=vxwkMMjZRH7IpQoBQNb3jByeFTi7xo35vP8N7bDq7+A=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=DJHOUr3TGKzJZAcO5JgwCHERm3TiYag9SDexAUyrqBY+7jalHiAHESNIZSZ3is03TT9Hs+pGv+KGdQ4ke+NmHh9lhDlqgeXXgn4bLOBjTR02/iITOiU1NnOsKkfLIOndI9CgtlrNu7Rz2D5QuKYnPjHr4m6+cyU+LIFNGPGbdxs= 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=HUkOwc6M; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=S+J1It6f; 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="HUkOwc6M"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="S+J1It6f" 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 66LDMJij1756904 for ; Tue, 21 Jul 2026 13:34:17 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=HUkOwc6MfaD8s8Wq BdhPfZEYF5Eg3nHkxYD9gB+c5kz23hrPldbWXkzkLXBDNG1DB5Vh+sKEQuFbkBbQ rpwm6CgRKhHsHPuVxOXt53/E6+MeobdDQWEe1Z23KNSu0U6z5EuvioVejA5PGiGm IBPB+qlogq5iAwsydxK3cs1+dtGxO1p7FiDZLubwck88GjvUaPq8b/m42XeAMkBv +/5LajM9GQKMxpri7fMCP/AJntb7kNxYCKzurHX/k76l5Gx2k/+B5yeIwTBdpp/v BdN5w3J3SEQjam5gpoKLY9OR1eIfVBnj1Q2PrDX8ZUFa/KXaJVKMvPevpp713RSR 7loJ9w== 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 4fj6pa8x6j-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 21 Jul 2026 13:34:16 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-5174a23afcbso99197141cf.3 for ; Tue, 21 Jul 2026 06:34:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784640856; x=1785245656; 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=S+J1It6fpjlao/gXW643FVGCpL8WJrqwTR3J/RhxHeAIsG1V7XaOfOFHTk77ejXZ6K R9dJhKp1Zw7eSj9eQEye47/utecgQd8x/cy0CrZunGcKEohTc2M9TYWTiskbCc5GEIqC DSx3+I1VORvE4cPonBOIx/2FeiYN8zd8NjV66kudlhS/VuTYMf8phcgrbVLq6HwBzsho IUqwwzRtZ3ZcgODsbykgawWKPLN8nE8/50xT5/fhGo5yJNvmiaS7kd2qLiY/DoSdmTeB UFYU0ebX8ocE7FwDoSBl5XSzEZRtmZ7CwiIa0+znRtROGmysFxLuntkPNItmm8Dz1owk mbiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784640856; x=1785245656; 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=WZ7w0pfQLn+xlcX0EWz9eE2VB1d0F/KEggb/+kvQdOUmuMn0qokFYHbFNkbu3uT33f NGg9lNEXJngYdvIrmy/k1kUEgb5g9Vv3MZqYMU9t+xouvR9GeJQOyB0wB4BYcWU7V+3+ dNeg76FgKEggSRMXSvN93kZFiwnQtXIAKQYT0yv0Er/qWEpIg1jm3+t5l6Aw2JWx0tYk 6pTVwFegXhH1neCeJ4k85Yu0depxuivuinD2CY8NInU3II3aXoiDrmMqvEZ5i/WMEcCs mSSQN7VI7q52zKBSd4gU+EGJp+C9Qfau8wb7SLGYdFfcNo7aNdlSyEIDkQ1IRUUaWMPL A6OA== X-Forwarded-Encrypted: i=1; AHgh+RpFIO/j2qKiKEOIkLIvOv7Wd3U50t3qOr/n64WIwOFrQlL2CrL77bHtiNhVQwe6cb9DZWQOoxQXr/7/8Mw=@vger.kernel.org X-Gm-Message-State: AOJu0Yxglp19VjjpK4DnD1f95l3bIa4P+2ToFwFfRUcCW5RbzavPh238 yWIeI6qZLbkIKyno76R6CX/m2CJ8pvFBgyIV4VY5FEDBkfR/b9t+cM8ejN6rqIJsX9sbCxcohvY zuoLxMc2iwr3ar4/D9QHHjq7G1kQq+gUhbT12B+O9Vl9ubQTdALPoifjnMTAC4/Zp8to93eBNeR E= X-Gm-Gg: AfdE7cmWifwOUokbPvjPrfylOng1/cn2uQ5JV4whbuO8W8U4g7SudQFRaczSwIHZg9l PHypZjXzB2tuuFdmGgOLWWNNoAllWx+GtX7nUdDDi7QhiSHL/o8Xcb2cgKY74868lTeJcIsoKLa WjampU2KtG5nGyZckbgyv/CtzbMDT4TQvSnkzO2pUVEDjzJuUIjmr7bdJi5yPh81SomB4BGfRMZ nLFTpLHW5M/muSRB307f77q3ViQA4y3pIiD5Y17E4obngQ+OPd+5IHFdPtMBY/B5ijW4O+b/E0g LUY6Wad/kQ6K9mbE8gq5muiBh+7Kc8sU1vwwf/608sd738orPXhRP//p3bpIm48id0iWZ+Cidd7 T/ws+QrMS8fjYL24hO37Qg5yvKzgt9Q== X-Received: by 2002:a05:622a:1e17:b0:51b:cdc2:fb99 with SMTP id d75a77b69052e-5213c7e6bc2mr163358851cf.24.1784640855856; Tue, 21 Jul 2026 06:34:15 -0700 (PDT) X-Received: by 2002:a05:622a:1e17:b0:51b:cdc2:fb99 with SMTP id d75a77b69052e-5213c7e6bc2mr163358101cf.24.1784640855172; Tue, 21 Jul 2026 06:34:15 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:9dcf:9ab8:bffb:ec35]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-495499d1d4asm237901185e9.2.2026.07.21.06.34.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 06:34:14 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 21 Jul 2026 15:33:18 +0200 Subject: [PATCH v23 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: <20260721-qcom-qce-cmd-descr-v23-13-1be02deffda9@oss.qualcomm.com> References: <20260721-qcom-qce-cmd-descr-v23-0-1be02deffda9@oss.qualcomm.com> In-Reply-To: <20260721-qcom-qce-cmd-descr-v23-0-1be02deffda9@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/NoTDAcsmYgBqX3Uo+rxw+RGxmKH5J+m/ipMlw72blcVBQjxWJ 4Ew0Y1j/ASJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCal91KAAKCRAFnS7L/zaE w9FbEACLUazfEfBlY06NPmMENTzzPRdW+6yO8DnnIRWYSKigxTHPX3yqFT2e22YAoGOYsz5YIlx 9e/Ih+00qxnnCCK1zq8szyNBkoZnvGpp6jmTZdPwwgD+klX9Z9+aHHojEbosQ50F+L6y3gXXkQA EREhuQtk7PFHsvm3QHj1R/snt/uDBsrdAT5OhR4NXavU/YRY9ySUkmIYtdjT5wBtj19K3z1Z6hu 4b7327iqiNEWqKAU1BiOcS/b+xz7BWnCX9zbneIro65Izhil50XkUWbg93+WtHB6AsQ2uuBH0vh 7I3gqfwuPfwMywX3dpGxEVjXkTEfec2IQC9ggtvtw/Fk+qut3W+McPo9HMw2Eu8jwwx+Rqm+Krt 6n9H30cpIUgJ0e3NMVR27bMCfcjTRijjCvV9KqHLc9u+cXjiRp/RojcPmsBp9ofnMrybRvLY44w oIyjLr9vxfhWoQrsGpZTLsY3HUaTECNw1Ly82Y6ow+nVj9R7yBp0LoJ/ot79EIlbbKw39RVIGOd 8F9HLM7SeS1N6OPtL8vKoPbKQoTx/Ofaq8rH2kXrAr12lgrYnQBu2LvBHZLZSxCALMpyJTs8Kk1 uxnDxcJcnmoaoHVBjt+6D5jgADXOtjJNP52+IueyoXaKd/xAa9hLltn3Hm+OeZOC4CZ70x2ePrD CCVM3uo/V3+/crg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: UCqe69Jj6t5i1aB-6H6XAwmdOpxgGQFx X-Proofpoint-ORIG-GUID: UCqe69Jj6t5i1aB-6H6XAwmdOpxgGQFx X-Authority-Analysis: v=2.4 cv=eYYNubEH c=1 sm=1 tr=0 ts=6a5f7558 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=rJkE3RaqiGZ5pbrm-msn: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: AW1haW4tMjYwNzIxMDE0NCBTYWx0ZWRfX4Nnt+wSumT2X BrEU42QfCa+h1h39d+h6tM41+l1CDab5niGmgZAUBrHV5Kgm81IHuFkacBZaHsG+piuGV6L4HvU KQiebArWrNrcl3vl0sl3uQPIh1OpVcj+ACqqHAvcpW9E4xFnEHvMzDsZoBzuCyRcfGK6nzReZxS XEj5wel8t3utXu1D/YfJFLVQtkLD7yKUv1GI1tvon4nnriyRhVC54nIxYWFnCModrMf6T4jCbPm vdJG8liZu8ZaSNrdtQE8K3oCYynhuF0l1O+pgXVSvIg5Q9CDmtPgkwNku2KBU+AnJ9380ctuUUD ga2z/TvSObPIWd1NJiUgmET39IjjFFXavvtbPukDy4b/lCqXEm/pmCShmhlgG3OxntApytbMkPF NFKZYy6NtdTK5U70yesQcUx1bDdRHTkSWy+nkH2y0s6fXWMRsl2CEqCAp3Y0wycS+9Dul6f88dL AcXTtbQa3Jz2XsZlmRA== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIxMDE0NCBTYWx0ZWRfX5beE0YphDUji 4FF8IQbsOYEHouByyGG2fa7U/OjgaCVXTmkJX7UVANxIKGS/8ohO7+ogAtzUcH7cNWSjlR/eSIl N4bk5AbOehsmDdNOfHce8eXv3HuuCdg= 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-21_02,2026-07-20_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 lowpriorityscore=0 malwarescore=0 priorityscore=1501 spamscore=0 bulkscore=0 impostorscore=0 phishscore=0 adultscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607210144 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 00:56:37 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 4A1EC36DA1F for ; Tue, 21 Jul 2026 13:34:20 +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=1784640861; cv=none; b=QzPcVc3OpJJjZTP6T0DgFuLEyoQKHTcqNBOAf19Y+luZ2Ei+PPs4AZf+hoekhk5UFA79nMvu3S+qM1hhTlB196albXalXmzDafkLeOinG7AdKYDE6szMiGWS+xcaVYRk9qmDZvcpt4ukoJNca3ASuZT8WMDDgjk0JOFIyFGPtj8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784640861; c=relaxed/simple; bh=WlK84IWR1sPF4ZFiH+iixYr26deiDX+dEbJfb5cV55M=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=sY5edOx1Fd0oEcyJt+7m/5acTExTZJ/MtS2tKPF+OkFoWrs9zEYVy19qjvea22MmIZBmZSTi5YYQwZJR/E26ThfHSkXfyza0OEUWR5GZXEoxlHb5WCfGKSVW1AOaCwYsYoVgrw6iwJ9Rho/EXZnLRSzDX8goRrPg2ekfBtXTXrs= 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=myINtgqe; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=XciVqaJg; 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="myINtgqe"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="XciVqaJg" 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 66LDMFKF1923159 for ; Tue, 21 Jul 2026 13:34:19 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= dSdFTIIbSmhfYVeibu2fDprTqJaPR+utAFgaP5iL6kc=; b=myINtgqes+Fwwg3m hjCbdR/QMUqv6iUXhmDcpn0Iux+LCIyr0qPl0fJEGlxK734DBOk5WBwghdRjt62W S2xbHz+r38BKF8kUpTw914yMB31EvIkxFvzwS/2Cd9MB1THNaTUHNFm6cSofQFvm LPrqoACYfu8+wtvt/X4fQG/1UQJ6H8Bcy3rVArdhNjYsZV8oBu7DEN9OzhSycKyx 5W7TTDo8tboTbvWFaWiz748s81Z90gfx1Z+5LX4U/1IEwXa5T29nN6byrhdQh2BW yqQmoYnAhZqzPQQ0fwLOoECJiD9ND8eOReoDr0cGtKHmhPq+VFluzaw/+4XuNPWK NAYpjQ== 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 4fj68611rm-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 21 Jul 2026 13:34:18 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-51c1d7886cdso116396621cf.1 for ; Tue, 21 Jul 2026 06:34:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784640858; x=1785245658; 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=dSdFTIIbSmhfYVeibu2fDprTqJaPR+utAFgaP5iL6kc=; b=XciVqaJgQIl8zoPlKGBaEyCg7jUnN00FDvlVCxLPh2hCJD1K5yUtly21KlH8qYNl6P woJnKPjFZf/qTOW3vwEpHqV1WY8CfdLqhPLRYvcjAp6g5uXBX98gx4U+wwo/ZZIXrtiE EWATaGln/BruNYefqGCQKXGPCTZ0wnDC/4Xh+drXS4zczUTmUA9ngqNcBNJ+SlGNBv8B O/rrhn235bn/sWytG5oaOD1uAxW9aaYr07X2DsIYgI+iQcnVlxr6MYUziKVNmqg1DMkq VFocUlttU6GFDDxcg35VGxVy8qRaLXWj6EkJJ6hgzEiSuu17Zg9oHsVcMLdsbsAbK2Lx oT3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784640858; x=1785245658; 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=dSdFTIIbSmhfYVeibu2fDprTqJaPR+utAFgaP5iL6kc=; b=Iv0YbCs1BQNW/GSHC/ob/wT1VL1/FePlqE3a+LPXNILhe90g0+HZxJCn+yRsmY+RXL NVSPHcrmCZrdQ/nOtMuTWO/dWNidA3rIlX8gc9rU7ulcs1rFJ5cQEUz6TCFSFQyNd6hf 503LqR7rhSTbeNJ3LtjFLQRaAsovwuHcXHiLVb19yb3UlEJ0XXsxJAdQ7Db7b76x17JZ kfv6oI5VPMK+9NtHY5KVB1UN8aQw/zhj4D7RGIDNwxJd+qj72ZEsx68ovQ0t0Wjd1ao5 ZGt3pZ7Dl3qHkt0RfTRi4Pmx2oUM5e2ODQPQsMaEvkYpApmk8b+TlqQMRgOqFhwotUtr npgQ== X-Forwarded-Encrypted: i=1; AHgh+RpT3OVouEprdDmTMZllw0o8aIBvEEauxFxrlTGTeg2Cpx2dXmnJS1ZGvk578Cw+kLu8TUlcN/bK9UnQ4aI=@vger.kernel.org X-Gm-Message-State: AOJu0YwD7KWfcC2Rx/UOvseTOaVw2rAhsE0NV9vZw2LBB3aEU8eYAi+5 +VE7IOqBFXAYlE0Ao9csCDxl5e8GboUfqmz3t6Ya6jGROpBgZK9/t4lVMO95FMD2retAIIK+SZn zfqnq/HokHfpMGhJ4H7Shn8QAjeYqHFbrOBzqC3OmUJTwOwaB+QswMdebcyNZ/OAb5M+4dAECLy I= X-Gm-Gg: AfdE7clNXGSoB+g2jTnXAPy2g5N6DfBSSRnO2RCVhAC9KGV6AwxuzN7lsey9Hs2l0Px WR1KSP4rUEGlcRMta1SniJMNF6dwI+gtYnPSjXO9aVuUkq7Y+K9r7ToJUP+8pIiHXMN7ltKTtPE dBTlThkZbVDszMHZR8hLbek8kp39ohefOw9oUNMW7H1baul/NqGGaeWzIlLVSkQMsH2EbHRyo2y aohafw39XYULUdjOxClciEVXEqfJOiY64+nXZ9F47tAYCMw0wIkCtnlzKT3eSdHdS9bN9MDeSmu gUhKtqnum48psWYNjDhFB4TCDbnwx13cPl2bsidF2BjI7TdrkxR5k0Ug90vWPO98B3DuW8v7HQy dEpJXk7DikriGtU7vSpAIqjlAHg97+w== X-Received: by 2002:a05:622a:84:b0:51c:ee7:c355 with SMTP id d75a77b69052e-5213cdccc26mr184102031cf.68.1784640858180; Tue, 21 Jul 2026 06:34:18 -0700 (PDT) X-Received: by 2002:a05:622a:84:b0:51c:ee7:c355 with SMTP id d75a77b69052e-5213cdccc26mr184101581cf.68.1784640857691; Tue, 21 Jul 2026 06:34:17 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:9dcf:9ab8:bffb:ec35]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-495499d1d4asm237901185e9.2.2026.07.21.06.34.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 06:34:16 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 21 Jul 2026 15:33:19 +0200 Subject: [PATCH v23 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: <20260721-qcom-qce-cmd-descr-v23-14-1be02deffda9@oss.qualcomm.com> References: <20260721-qcom-qce-cmd-descr-v23-0-1be02deffda9@oss.qualcomm.com> In-Reply-To: <20260721-qcom-qce-cmd-descr-v23-0-1be02deffda9@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=2855; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=WlK84IWR1sPF4ZFiH+iixYr26deiDX+dEbJfb5cV55M=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqX3Up79G8MDEelvWCLtFiSER4FT8yUtCjwO8lJ xeqSIl8HYaJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCal91KQAKCRAFnS7L/zaE w+WaEAClCA7f1RuaI7rKILCMwnM5e/xquNNW0njzM5gEzul5OwmHUbuH82Hlr++klvAT0D5v8tR e8FQ4Ad5wFaTGTYpiGKg0ZQ2PVQaEkL1y1hT9KuZMtzpwa42MYWCLPkednv3qxWDDC14unXHnPL V1xc+Q19w/QkhCJIhru9TlnL7+s8wwtsfcB4j/Fjjc/pQEruukUdyHEH+SvH5knDvfmKgERAFqy SsRr/03yk/xz6myXLqhD8DmBs8einY8gxWK7flbeaInPd48b8xHvK7obg7eH5l7pJJM5+IipkTt brr8Mfp1T0CpxkAQvmcWK4dIjIV7Vo6jnSGjmAI0UZnyHKLf31u+eANoA5g72xL/nqzaXMrjKHM 6u6NP8n+biEIAuUHKSflzXV5lOoVnFSlcb82lPr/MujTiLrRAS/IRvOAvcq1+XPR5gpgGgsJkJV UNHXxWb3QDmL9ntCbOu1tBd1eoOIyi4RMmCj3xzGfTxsy/ISdiPjMO3KwVfYzyC5sWqEM7kaICZ D8yfCU6XUIDM/Ad1O0LooYCF0bzqWY0fXyp5WdRTBApAprH6MjHvPjm/OE+4xQrVeqaSEQrXkb9 hP2jO4GZmST/qZATA/rU53L9CVe/OZh3ZblJT/zjrM8sqGuxF+QvLbiej+L4oJN4fjKykW+QOpu 25oy2/iPLcKSyGw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIxMDE0NCBTYWx0ZWRfX5nfePfopHIwk 4EITpIwNBxxsb3tA54a6oTOg740vQdUOyxanNMfPaHWFxXIJt5MGYq/gk5AUMTxxuAP78XvwHNF uUgCgfQW/PAVNDvatOz1E4nn/+k/p+A= X-Proofpoint-ORIG-GUID: 2QotlAR71MCZhXTm2oYh6Xx6Mm95Wqc2 X-Proofpoint-GUID: 2QotlAR71MCZhXTm2oYh6Xx6Mm95Wqc2 X-Authority-Analysis: v=2.4 cv=X75i7mTe c=1 sm=1 tr=0 ts=6a5f755a 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=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=6g4OycmRf1yXlxMorl0A:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIxMDE0NCBTYWx0ZWRfX6FLBzxjBWRhC nwqgItsdVlOFabUDyD5aMKJOGN6t3z55/DIssbIwo5V4ASQwpYTTF36J+8HlN7HoyPfdaw7vsPs JUHaRatgwj00uPwDQmdGUPg5BNOw6JubiYYRybAga2dqsmLVjAxzqFDJrQfYGVdOTB569BGvq9G uQTpN938xMQPiRtWaoNs69HkN0uYMP9+dkPbMuvnZuY7HMWIrIdisdP3odVxEyt3eO06ZNpwTgV lpJ+IZ//ISNI21gwgwGNOYcmzzWhaAhwGcJbJoWMN8QyQyAoOJRCaFiMDX6DlgNSaO4hEA7ACf5 qPMmBbi4WQ7ns3eoXqWKnsElkrdXxr1jJCtAX6vZqvCoNZYPvqy/5Wd4mFhvawhAdK+lsJ5Pke1 QLAxEAV6rK6l31sfFIfRXZlFKpfbDvlDEmOiQzfYxTUWEYKsMuaOOgLPPPhngelGGR2jA2Jq4HC dLZLrb50DH5iKt0XAOg== 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-21_02,2026-07-20_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 bulkscore=0 lowpriorityscore=0 clxscore=1015 spamscore=0 malwarescore=0 phishscore=0 adultscore=0 suspectscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607210144 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..09699d96575b105e2feaee08fad= 2731792f77ea2 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 (u32)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