From nobody Wed Apr 8 02:52:03 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 1EDCF39DBC4 for ; Tue, 10 Mar 2026 15:44: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=1773157490; cv=none; b=YglKjyWG0Qjwo0L8ZZg4lleILN6Iz8ECavCqjHnyrMyqS1rm4w/QO0xm7cyqqukoSngXVPkuRMshBPrQvK3Km7LCFiydWBDq6GOztX+ExiLNJtKZLOrM+D6LosE7QfBFK0hb18iT5aiK3+pkbcYIIWYk88AGZPb+k5KxB9avd6o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773157490; c=relaxed/simple; bh=aUMoNrCGDXfli/Niiqe45turoruXO4WeijyijWZBwgw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=tx66F2F20doeqH0x9NuPgnqZL5o6E0NN6gkLBE5NDjCgAh2qkI/PyUXod6+k+sQvNX0j1e3j6/bX3u13ug7t7Gt54k7+Mu1LyJ1emzOwBveOraUh2hlqDlcoXLPXWd3B2hiCH6dFYVob1Sz0Zf1InHTVwWaHT/ikQNoqU0VIY1k= 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=Ctd0QWQF; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=CFVTsFO4; 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="Ctd0QWQF"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="CFVTsFO4" 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 62ACaSlL3771861 for ; Tue, 10 Mar 2026 15:44: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= YTHMQ74pG40cf2TThEo/dQpxpxcnmIMpmWq++2akSHc=; b=Ctd0QWQFetJCAMd9 RKKESClafTTT7T+OyEeNzaYVcWM5LtPvdgZDLcYEyXHDZu0LqDGZ2zxbKjGOylUX CdrzchUj5NEPIEJUzhoyqM6egLF9WkT6+DOyZhT+3ap3fuVBWxP4SqVfWBjTxtIQ 2/QOkZAWOC9qVYF9VBaNxha3TcqfYnwd80zMeUn/rlyh1owZwB434ldUy/u6ygM9 eMUQ2LXBnsDYig85g6OTISL5g9BSujiCLvAyldjAikbhjyN4n9T6xwE7JXr23jVo lfIJscceHxLownAtMUFKY+DNPniz2HQUfuO0LZfPGmlQRs00w39qwopdZu7MVoLQ 5e0sOw== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ctfcj1sym-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 10 Mar 2026 15:44:48 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8cd8b37d4b2so1382611085a.3 for ; Tue, 10 Mar 2026 08:44:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773157487; x=1773762287; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=YTHMQ74pG40cf2TThEo/dQpxpxcnmIMpmWq++2akSHc=; b=CFVTsFO4U2Exx/TN+VN7u49EboLRtUSBV4TV8apbAXof9ogZp7fPelNedJalJS0Ijy XsmLPQNxVM9xe5BWtVUjETAvbz6uRCvZGoEJKb5QyCA9vyvoqA9H92uYeSvHBu3s+srI 32ljta6tGgLX8vxGnKaTL2GMaE9oCX7WDeekGtmVmiOzt1c26uo4uc1zWspfCJwpmJJy IzWbIFSxSjAknh2TEvn/56aFVSg7FUBjooac05MloFrBc0Lbty0W8L0N0JTXQTRpU5y0 eog8uRiSjJ1xC8bt0gGaNaxWqIep6kwIFC/UkAzYWajajHXzijz/4jOljy1j32pOgKXf YzQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773157487; x=1773762287; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=YTHMQ74pG40cf2TThEo/dQpxpxcnmIMpmWq++2akSHc=; b=FMLi02YeOTr4dlat+xqn8YxTM4ACYi2g1WlmCwsHjecrOsT3PyNNFVn0MpJPV1d55y 6brmmX/HmteAK/4jYneHtA1yGtV2wNoj8Z/ZaknuzJziQqX7VElTNzEMk34nyy9makmx puXE9Y9UDx1vgR4dd4wzhlAQLJZBM2o9o8SBnRGi9DZI4067P+muk8s5f60kKsPjajfn W7b5UsMdJ3+rqVCo4sdAf6ln1dvPxCLc8u5JOCCSGSlsW4R4Zrp/PYQfOyBBXrtGl3Hi Zg+V/2M97nTXoflB6DzeQURR/1s+KvgPP8lWzt1srF6aBKgAubekSBZa5jKh/P9wzg+z amWA== X-Forwarded-Encrypted: i=1; AJvYcCVkcYuClkmqeUTeu3y0KrVRArvu+l20BHvdkG28+XzC00tH2EaDpwWoUHzQo2qkv03jyrfBpO2hdE8xXIw=@vger.kernel.org X-Gm-Message-State: AOJu0YxosxWgIn3fFqRS/nhOkHSm8nR82nT00LVzJmbgMwt4kegs+6xn 3Eqfau4Xu5cXu7y6xmlxj8CK8tV5gimMy21ydDVYw8aTHNua6s6cIx0bzNQr4mHv2+cPohLhOot pm8N56QbiJX2VTOpdRnoPmHDz5UDrU5HxC/FxOe2LHOGlXSsJVu7f5aVg0t/RPRWVRCY= X-Gm-Gg: ATEYQzyNh0/ux6pCcnljEjVZ7VRyKoFnxtLTlYMmmqiMwuiE/He2bmGsjODodCvTMHg mKFar58Rhqe+xJvYvRu3ppzTF3cXeBrHSTcAUPk3BX8ww+SFbXsiNR1HY9FPq7/WqZ4IeyPPt6P vpcnoWCOfNP3r8kSa92n0Ggz5KJUSUw8Ce5uYY0Y1/TXcAprxOX8htpAPwKWrL5yk+AuOMCF2sQ HpZyLSzltVz9z5DGn4m36ZbgPtMVFBsq05cslZxRiRVdlWe9GNXUXyFpy3orbHf9WpLd/LscUm9 LURzBooQX4LJgbWh2HdFMtokpvIq6/zjWnT1Wy2PeULkSsE14fmTP0jh5muXwN/Lh2KHKDi/+RC rPRYq3+yXYuKICtKs5rj7uxPMcn5S62x9eHMQBejN0vgPKLYxDVu2 X-Received: by 2002:a05:620a:4156:b0:8cd:942e:82de with SMTP id af79cd13be357-8cd942e8666mr396525085a.7.1773157487470; Tue, 10 Mar 2026 08:44:47 -0700 (PDT) X-Received: by 2002:a05:620a:4156:b0:8cd:942e:82de with SMTP id af79cd13be357-8cd942e8666mr396521085a.7.1773157486975; Tue, 10 Mar 2026 08:44:46 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:47e6:5a62:7ef7:9a28]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439dad8d968sm35991600f8f.6.2026.03.10.08.44.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Mar 2026 08:44:46 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 10 Mar 2026 16:44:15 +0100 Subject: [PATCH v12 01/12] 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: <20260310-qcom-qce-cmd-descr-v12-1-398f37f26ef0@oss.qualcomm.com> References: <20260310-qcom-qce-cmd-descr-v12-0-398f37f26ef0@oss.qualcomm.com> In-Reply-To: <20260310-qcom-qce-cmd-descr-v12-0-398f37f26ef0@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Daniel Perez-Zoghbi , Md Sadre Alam , Dmitry Baryshkov , Peter Ujfalusi , Michal Simek , Frank Li 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=2241; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=aUMoNrCGDXfli/Niiqe45turoruXO4WeijyijWZBwgw=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpsDxfpzbSkPVeH8GuqwtDjU20JoSJAxWLVFA0I mQrecpEKTSJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCabA8XwAKCRAFnS7L/zaE w4sREACIA03KZ/CBJdia1awbSxWwi7n+erMVmVCcbDu/vG+FMOdUidu05QmYoTjGqfMoXdCdXxJ rcYiXl/sD8miZQHtKA0HRRvFxCi2YqMLAh3gF4FzPKQkjMUiKoUCNa3aVF9iN7K3bdJIhoj6ndN eUKeMLsntE2yBGua7kAGLZlUClD1p0D00O7bXVg30uYwaNf7eeUxgkHqg3odnYmW98E/9oyrarx D2puHRcSMsjtZuqU3thklNrcBFmtQ59wI1pBohrI1JwVhwEAuU9sYrMP1aFYoUYNo4sORQX/Lo2 CxKVfIUVmQGPKWTMUTmauELxQBjtFuTYyUzizOI6Q1lpWnH1C40djj4P/5fFt/oVsDEkFsz6hjK e3WgGI1MrXbtENuV5mhOgrvpD0rAGS81d7ZR6Qwx7o6Y6P/q6JyPc/jKyX+rCFlMb+fGS4jlFME 4DcickTC1l10RsqAQrq0QvhOI2Tl80SuUNo5tbQnEOvonIWuFp3zyrsCg9Az+AsK7eG7LeBZCEm VZC96igNwdZB+8fgQHU6HzIzuSkiM/I2gC4ZirvMPK1upYp+0EekQNlfeJ/Ri5l2innh2eQHl9Y OU7Nm8HFyMlzCD+fR3snB7DQtrddKHmEQ4xsyyyi3nB3s5vwK6Iuw2vN0FP6Wvj4D2vANS2iz12 LRCPWsxm4P1XLpw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=H7fWAuYi c=1 sm=1 tr=0 ts=69b03c70 cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=XeVHrwws4l7kqE2Ex6IA:9 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-GUID: qFFS8mKLOtRY1kWeWEQ5D53JHgAH06jf X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEwMDEzNyBTYWx0ZWRfX80T+GyeRyaFI OJZt+w0aZqKEERhGpr19n+dhnrw27Cl3GWOfQT08tKCiW4a17o7GjJP7aCCPGzfYv4lYL4NWwmC mTm91aG87HMIalqvPtUrEk1KkbyOdDSSsUoQvrcFeyO4dwdhu8XUtNryAXQZ4xhvIUiDqZd41pQ GXB9zVXWJ/2GRz2gUBUB6ffegFWL9xHaKhuCvWtEGZq9UeURGdjGA8CP1Sqkzq4YpOBR7/s2UbD G3UXPbcGsKEY1x/1AqMQLgs+niciK+yAwGo9/qU1sNa1J8eLuokNkuB5gtVCtuX6mZw2Rt16xan +L2Wi6LWhQ1LD2P74DuX3kxp1MgBsbenxFJ+dSuUrJqjtF4D5i8KYd4enZPkUY68PoGbUETFmmJ QUjhBi3aVhgy6MF1Z5AS6XpHXsvWOenaXIkK8Nk5hlcHc3qbaHytnbsGWfXpqL8Uc0j9Tsab2np Q/nyB2IjcqqDMuVVGNg== X-Proofpoint-ORIG-GUID: qFFS8mKLOtRY1kWeWEQ5D53JHgAH06jf X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-10_03,2026-03-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 impostorscore=0 phishscore=0 suspectscore=0 bulkscore=0 lowpriorityscore=0 adultscore=0 priorityscore=1501 spamscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603100137 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. Signed-off-by: Bartosz Golaszewski Reviewed-by: Manivannan Sadhasivam --- 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 c964ebfcf3b68d86e4bbc9b62bad2212f0ce3ee9..8a2f235b669aaf084a6f7b3e6b2= 3d06b04768608 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 b53292e02448fe528f1ae9ba33b4bcf408f89fd6..97b934ca54101ea699e3ab28d41= 9bed1b45dee4a 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 99efe2b9b4ea9844ca6161208362ef18ef111d96..92566c4c100e98f48750de21249= ae3b5de06c763 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 Wed Apr 8 02:52:03 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 64A963A16B7 for ; Tue, 10 Mar 2026 15:44:51 +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=1773157492; cv=none; b=kAnT4HD4ZxEZtPyu4EdgjDOZd3tA4rzDMZ72WAONLkr2IXTRoH9pGBmXf8IamqtMw1qiiSWRIFaPxuL3ClD/qd/ChY1trKkLn0gmTzvHlVuyF/p0b1S8+KFNpnlVx9IWb4Zh4hcaXsZw4bxeDLiD547t2UkHpklcus9ookiwcQQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773157492; c=relaxed/simple; bh=ZjTo93puqxgLaTUXkUuT1EliesGs2ukWThDJ46ZWj64=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=cWNDjyKQLI7heVUi0WtR+q/ZPGFLoODsRwVIAO/deSSB3l2U++NLRVR9UdyEgmtVaR7qVHd2xeHS73vnKZG65kB3ruwOddopZh+fvGb/WECtkXWbWilWphsOJwQybtrMSRz1qVk/ni6n2WXJIYFw7J9asIFlEqMfP6wnuvwEScY= 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=Zz/dQiV+; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=YxBzXdCP; 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="Zz/dQiV+"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="YxBzXdCP" 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 62ACaeMl789787 for ; Tue, 10 Mar 2026 15:44:50 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= FqTHsx1l1/9oEj5e3q2mep/esitBtih9Ht1cGIH4yFE=; b=Zz/dQiV+ICIzss1l FW17+uI1b3bFMMU8aL18WAY0vY4sb27u7dQRJmCaAYJiFxEtESwqvN7OxAyI2078 wZAW8YUUZzuKKOdVD8miGxJpFfvVcTu6Xpqcqa6OIfkBuUFH9n0mVQ8J6xzbcPZD 2y99kHLUQpHYtQr0onv/9lNWFPbJHJkZQqOWJzjLEuyFT/eNWy1V4DyOv+27Ix9I IO0Fx8YfYsDyKWCYz7+sJ2PocMhowRz1SL3I30Y9UMbmWhcraHq617EtzNdpLhmX S2ic9alTwoIMXUkNxwuPQxAThrAjpRC12YEHnmcwpxFyDcsLB8BwW5JzetpEpWp+ ycXD2w== 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 4ct1ekvkmw-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 10 Mar 2026 15:44:50 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-5092efe29dcso32153131cf.3 for ; Tue, 10 Mar 2026 08:44:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773157490; x=1773762290; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=FqTHsx1l1/9oEj5e3q2mep/esitBtih9Ht1cGIH4yFE=; b=YxBzXdCPdvNf9kU+49yf9UVfacxuIGkNheHSPj6JDTitYlsPpHmMNA2pdY56CLPvAb bJvEXbJrIQqmFevImjXwRCcGXFbMBKiUvR1iqSkOrdx+K/XT0dx7vpF90lkBBXT8hXqy rb9Vv3zk95X3BQGn67z5MR0javaDeYWZZOZcAt6UHSUwQdVXf6sinuzPYBztIXuStCO9 Tb9CqIy0P9pcJ348e+7KNT6KiPtjQMLHWLX6aF6Xlxyv5sSUTTHUlF+w5jTHej+EOQ2L l/9/fhq7JRFJy0PQSJvHDbHVK5cMHUox0Qh/+gcQTaG5P/9yINlfuE1MdKb0CJwE2JOJ 7rUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773157490; x=1773762290; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=FqTHsx1l1/9oEj5e3q2mep/esitBtih9Ht1cGIH4yFE=; b=buH5C+c8plMA2bp4tGiX5w9M4UN+0lq8dCvwMJsGI2x9yai1PhHdyyFxTVz+TTiVjs FfpAbZEBrpH7wOljyoC3Tpl9bOSn9IxTHq2QCok5ugwrKniduFg9ADJKFIlRnMbr2bn+ gR9bFJ/+NpFbp62gXd+k3MuT83/7JkLcxGbwTPpVgHzAD6jvOjIcJxwAAQzv/M3dFKVt yxyvkSLcvImj/3lUWHa7yIdn4hX6R6ZuSWR/09mCb5JW68+7l2CT0HLj4vm4Jjxx/rCo AONcWDG9xkeQ0379RYArsayGZM24N1ekU2vj3ykpCxObqvpiFL0NfGAGQPZh8clxFGot jpGA== X-Forwarded-Encrypted: i=1; AJvYcCUGwZ8BoZhxdzBFxoSjVS/+FFXWg4eO5K9JaIXIbuknAgi/dP8uREJrlv9lNk+zdT9W6UOgig7dMaLvsGY=@vger.kernel.org X-Gm-Message-State: AOJu0YwV+doxi8nNKPuEm/yqfRRLxy003uaSPThcLisnoz1fgJNTc8+h yDMgLIAdiRU+VC51ndyXYKz6saJXMjLxWr44i8L9JZ+YvT7BGD3cSjNJxfHg5zllAJ3BpgaKpYr lAD8OBZ7gri/AJV4dkmvHV2eIEPNRRARwQIPQlezl6nbsYqsfyjkXLokX8kUFr2rcR/0= X-Gm-Gg: ATEYQzxflX5ZeMjSIKC+svUrp2nZ0zuxR7c5luYGaf/0hmWVXBsiZu9s4Oit5rgJd0c JGKu+/7eL5na6QkHDOgJFUUJoCmoHjApLRxN1RSRptGeI3oWVkyl0K2oB8UiG9CtVbh++kCirMP mWIC6oNtAs9FiPSCOXlXdw2f3Gml9OW88i8i92F9MUwOXdF9AV42O6289MzT6ZSeO/JtiBAxYpM KChgMvccoa4jmrFxqlEcj9ZSoF9VA13KFiYaPLNq0TW+2ISjJgLWRmExrFjuD+GRz8s2F8n4iU/ 739JoTTatVoASXZfSdlQh2ZbUJ2iAxzck98+Y0VUn56zbdBsKDgJa24iVvWMgHHOInLyiR5eVlp /ozTeh83AhFI+ftxFEfD1edKtlIla41M22L8QM0ZyFO17tFDq+66L X-Received: by 2002:a05:620a:4089:b0:8c7:1118:c514 with SMTP id af79cd13be357-8cd6d40d280mr1882571085a.17.1773157489567; Tue, 10 Mar 2026 08:44:49 -0700 (PDT) X-Received: by 2002:a05:620a:4089:b0:8c7:1118:c514 with SMTP id af79cd13be357-8cd6d40d280mr1882566885a.17.1773157489042; Tue, 10 Mar 2026 08:44:49 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:47e6:5a62:7ef7:9a28]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439dad8d968sm35991600f8f.6.2026.03.10.08.44.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Mar 2026 08:44:48 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 10 Mar 2026 16:44:16 +0100 Subject: [PATCH v12 02/12] 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: <20260310-qcom-qce-cmd-descr-v12-2-398f37f26ef0@oss.qualcomm.com> References: <20260310-qcom-qce-cmd-descr-v12-0-398f37f26ef0@oss.qualcomm.com> In-Reply-To: <20260310-qcom-qce-cmd-descr-v12-0-398f37f26ef0@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Daniel Perez-Zoghbi , Md Sadre Alam , Dmitry Baryshkov , Peter Ujfalusi , Michal Simek , Frank Li 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 , Bjorn Andersson X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4367; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=ZjTo93puqxgLaTUXkUuT1EliesGs2ukWThDJ46ZWj64=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpsDxg3vLRv4Cb5EFc9ZrgxnkqHCgnRCrb06RB8 jAQPx2EncaJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCabA8YAAKCRAFnS7L/zaE w2WsEACzlbvZsqHI05T9FMT/nknigqs92ad3jGRwPGVD/VshV312hnaSfUsov7+a1X7dgXn2f0A exh4/NUI5d44CHBFspXvpAY43uTy7J8EF66Q9Hs2GJYdC92S/yTkWujdhwoelWWfpXvCyL5apWG XhW0AHmED5m/0InJni1bZ/Z1h+k6cEfZEfPz2yUd0wChIyIpqCw4SyQamdbqnjDglXA+t95RhtM x3jI2wEGzND9Rv4ln8OD5AFxZwYblABAFk1xWol5+2PUeJbYP+2UTfV2Ef5jIyvJdaQli/8AFB7 v61RJifx0GHsBTyvzkbjLcNbPjCj/6DUgB+5KgpXAD3D8gsJHNPVi7+65eFrkAoQff0Co8ROeyp kED0BMAKnVW2wAlrYcm1mly1X6HWRDrDg7EspfFmc9EsJV8JsY1jjYH7LrZiIYa5AX01pNf9UT6 I57T6CFj6EjcC37DCKza6WG8XjfYC3iHbLKcP1gpklnZ3JSI9J0mEESdV6vGHEnC6KXN7P0fUPa BKZuonBLBnZSv1Qly6sfTAE7gsabuWkF/03K4Nm9dgvK8l6xwdH5bksyrAE6kGZRlr4vgrc0oVy UZJ0K4+Pfze++ekR7yVfMZCFDQHLi1ePQ2lFctz373eH/WPXpqXCNiKuVjLrATBPPJlT/96wLnA Ez627dzznZ89zNA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: JRWOuK0AnAOqZMTX2dC54Se5pUYDQhJn X-Proofpoint-ORIG-GUID: JRWOuK0AnAOqZMTX2dC54Se5pUYDQhJn X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEwMDEzNyBTYWx0ZWRfX8A9H8D9X27kJ 6DJ6ClxdSfCjb8TCNZ1PnrSyuWRtxZOEMrXCqyTcYrE6XVBunMs/XAefbz03VXSJObvGsyQA/oQ h/NB5cCVki+k1RPrVQsGfHu31eRBaPCay0urMVkYsyj1nYJyaMGlSjmpzfmXQK1UJpvMI/rDdrb wRYFL2eJsf1+tUf2/aiXJtOJD4deigOpr/wz3LXlVAsT4Zx0tdDtn23BzKTgIDJP5pOrsog+RJa UJpofIRVXM0RUVQS5cuaKbMyRRVOfSSo/0UTpeaNo0O1gn6tfkKBWGF4u02HJcdgWI9J++RJsWY b5npGqU0Tnow3M9Ltazi6HE55nJKTxAf9cMA1fx8iOANnceO+F6HIJzaIKBo92BHnhBUNXBV62X uB/KHwy1Z2WoW8uxZMRP94oBVRq8Wl6v1pXyIWmnGA9zvMuaL4Ty6ca+mmcvrWVoKiavaIXM8eQ hlu2ivSot2WbkgnePLg== X-Authority-Analysis: v=2.4 cv=eIEeTXp1 c=1 sm=1 tr=0 ts=69b03c72 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=KKAkSRfTAAAA:8 a=u-biHsxzOdRIXVMzAPsA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-10_03,2026-03-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 bulkscore=0 lowpriorityscore=0 adultscore=0 suspectscore=0 spamscore=0 priorityscore=1501 malwarescore=0 clxscore=1015 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603100137 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 Signed-off-by: Bartosz Golaszewski Reviewed-by: Manivannan Sadhasivam --- 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 19116295f8325767a0d97a7848077885b118241c..c8601bac555edf1bb4384fd39cb= 3449ec6e86334 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" @@ -397,8 +398,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 /** @@ -863,7 +864,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); @@ -893,9 +894,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) @@ -1091,14 +1092,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 @@ -1111,14 +1112,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) { @@ -1286,14 +1286,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 */ @@ -1358,8 +1358,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 @@ -1393,7 +1393,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 Wed Apr 8 02:52:03 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 3C3003A255D for ; Tue, 10 Mar 2026 15:44: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=1773157495; cv=none; b=oP8fhZPFfz8BFyEz/awj698Ex+4kOPMfJukCyqprBdCIkawnH/F/lV0ydnMM8vbAnXGL5GwJBUdMFh2I5OrSURcZiZdxqAph+9iEyVI5dCTRU4Dy4SfpctwtjE2kyCveyXwvjM2WDoelApz6iroAc2XB+g66ijhq9p+eJh5FEQY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773157495; c=relaxed/simple; bh=Nz1LGAzCKnFnAcOBVZfb8slxeQc/H+JbDOJrfn5zCw4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=llASlDRBeStRvKrDHfDtlz7w7roCz/V6Cjp2aWVkH9MQvxOy52X2velynpZUv4E4kFIwTVSj/H8EuhQAPbJsGCg6L4JFrL9mI7g96mTJxmk+SrZXXK1kcqAvl7ReW9tdofYIS/1//qDmUUZnEpnIfxymmaDj+dewz3HuUgw96Dc= 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=oYYy3y17; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=LLLi7ZP2; 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="oYYy3y17"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="LLLi7ZP2" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62ACaVNc024149 for ; Tue, 10 Mar 2026 15:44:52 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= TdhhWrCvUxcn/reedG1xQ5srVVcpowXHdjBHgIUwuPY=; b=oYYy3y17oSxaar98 oGDG8PFTvxUWuVDN3Qb2C61Fw16gcQGPq+hy/9TQ8SqWe1tmvv5INlkcyQbrRG74 0QkOEaxDRLd1AzYgKTw4jKbcI59uy6Nbvnn27f6IsKZJ/5H7MeOxIDczLIPuLuWb otDHwnvQeo56SLdkglIR1+84GrtDjBdov6Q+ashzk55P1pbBR/d14imzxBIxIQSt EagiQnxMlL0IBBaSFRftI2XQY3/wbKOflqb8n05wBjha+VvOsElfVJ+fxdZHZG8a PfSy5WNI+F0YlEjtlsA4fecLiVrMbu7g519RaYR8LPnzjFhCZRNl1jOVkmp8glHa 1ewelw== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ctg5nhk4m-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 10 Mar 2026 15:44:51 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8cd77bc8186so3321697385a.0 for ; Tue, 10 Mar 2026 08:44:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773157491; x=1773762291; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=TdhhWrCvUxcn/reedG1xQ5srVVcpowXHdjBHgIUwuPY=; b=LLLi7ZP2B1PVaJ87dP/Rk+h3H2aZ3+Flt34qeE1rodjvL1u0eLICPy+GXQXob9Acby rEd0CXaPiW7O/2bqNvVkPPtnttQzLFIeozYlEfgi6Je5FIC8y86OPfWh+QFp6BXwFkJ9 TpuDrRZV4SwFNu5hniDW9bhT2fYsgMIbSSYlzmqCDTZiO4aA8vh1FddtR9pJOIXS3+ms 8hiLl7hB7ewWKxUS4MniLJUbffHgzN5sPL6/EhyIV8fNt+d4RSrQKdOsD4Wqh9FZf+/8 gWXoXr9oejRsCYutPDfklLi44PtVHjIn1q4c7FJMQyfjuM7E8+yIBypROs1A9FcKLjts t45g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773157491; x=1773762291; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=TdhhWrCvUxcn/reedG1xQ5srVVcpowXHdjBHgIUwuPY=; b=FjIzUyY5Yb8NsaqK/1gxMyfsk65/gECHM9Hy+1PDLBI6qe8AVCNOJy3zUjAF/fXPDz A//xAzRXV4Z/CYU3OLr2pEAoSujNgV4In/AK6Njm7ioCo8cqkIK8fIapcfP199ISBBL6 cLw9j2GH83FEBPLihkGcSDOcQtwvluz9aEtR8B02Qw4RYoI+Kqo9zDPSfprxkHWoh3C2 B/LNa1cqZL5p/5sua49x48KwprNhtG8fDJHd2RFuyfQ3EmADbrLrp+qGejsZ7nyTJEc7 tXxB9g+X0ia//OmggP4ZWUW4p8TN9+irpApBxA616AgEVbzLtJME2MTx6FIUU7znc0Z/ Nebg== X-Forwarded-Encrypted: i=1; AJvYcCX7I3bsrZJHTbnUlic6wgNsapj3z+kVUGNZ4I/3Dtgetni6I+RtulNiMdIGwuGzR9bEF1c24cxuHFKE0A4=@vger.kernel.org X-Gm-Message-State: AOJu0YybOV8WKf35C0BUshq5Gdt/wg5toDUK4HL0KvyEn7c0FmPnATi6 TnNeihnDOgvxkIpUSLF11Y05zQ40gf+jTNS60GuFR9dKikpjy6m3sLoQ8tvFw8NhEkuNjyP2tfW hvc9Esz/a6NCBxhlYQYxAUY6zkADIMApaxDR4j65OMI39qPxb4x1dXS2AvLUwRsrlXrY= X-Gm-Gg: ATEYQzy1Lw2B9g6Vjxrn9p69CWKI6bvwICY37U9mvIS4UPjwebb46WgYm/eUwSdDcb1 V6SVeBd1FfNV8zbZOe9YIAIAQqBAFdFDEGy59NvVfU5GvPNNmT+QIzk6ca/cIXaAm/FQTjSk7w7 yYk2mfRc6ZXKyi2lMqDIIitbzBJaG88aotmF+mbGAwqIcmXOQbbxVkiXpsJgVls4aMk1T0+Jroe 3yhmfO2HPtu5xEgsGrTWtNIIM7lXnl3B46aKfBf0u4B0VJLFJASZUScRNUPGHHO/uo/ceoWnjkD Awp9NXH6lNLpgfY0k19lpYCtCljBYUWLdD2AUd6mPH+TBTQ/IQEsgHnWWrl7Z0p/Qj9ZQPlz8/R 6whD5TVjS3aM0YPunixwpQUi2c+SbR2Zj5WJ1xHT10XdtX2F8Fd7M X-Received: by 2002:a05:620a:c0b:b0:8cd:8142:b7e6 with SMTP id af79cd13be357-8cd8142c5d9mr953922685a.26.1773157491460; Tue, 10 Mar 2026 08:44:51 -0700 (PDT) X-Received: by 2002:a05:620a:c0b:b0:8cd:8142:b7e6 with SMTP id af79cd13be357-8cd8142c5d9mr953919085a.26.1773157490964; Tue, 10 Mar 2026 08:44:50 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:47e6:5a62:7ef7:9a28]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439dad8d968sm35991600f8f.6.2026.03.10.08.44.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Mar 2026 08:44:50 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 10 Mar 2026 16:44:17 +0100 Subject: [PATCH v12 03/12] 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: <20260310-qcom-qce-cmd-descr-v12-3-398f37f26ef0@oss.qualcomm.com> References: <20260310-qcom-qce-cmd-descr-v12-0-398f37f26ef0@oss.qualcomm.com> In-Reply-To: <20260310-qcom-qce-cmd-descr-v12-0-398f37f26ef0@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Daniel Perez-Zoghbi , Md Sadre Alam , Dmitry Baryshkov , Peter Ujfalusi , Michal Simek , Frank Li 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=3724; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=/m906drTofLPxOtAkNVHVDE5jDZx6cmoeu2XGgbJbDs=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpsDxh7N1Y6/LUAB6rgMLQBy2fmGegjB73+f+XS H6XeSRAqhyJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCabA8YQAKCRAFnS7L/zaE w39cD/9RqGzG4curV6R3EtnkB/vfAOAeR08inkMvL+GQu7VsjMxlqeMX9YSZ34C9Upm9RsD1AUe k2aEYMRTciSiVvt69uB+Cl+UQGdTuilEJYYGC1R8BF82fUZ3zC0Gl9RPqP7fb3W+yEWX/T79V8g 7PNuTgJArE3aeX0BJAwP+n+ieUFaWxrFHQsS0K5W60blO7wLoi6dxR30oXs/HauH/hk5lYTcK9/ 07NgugUXc/+NCtEBTQqj9/GJlfha/ChE841UGpEderEXy8kImPzUpY0+OgEKcfYajJ/Fb7yJRqJ vbAqohB4e+3bzw+Zd4ASagZ32iHInCV3qQBWUWfgKn+Djxhzcnhb4wlw57uJFz4cK9UhynQ80xE vGlPXjqKn1aJ0+4imN6USi5O6IEmxW4yaB/aR/+o5TQAUQ4InecZ1MQXlJyGfnutxxxsTV9jKVj XhCeOmkVwk7bMojrim+tiBCtgF5rn86bJ6R+6dAjt7KVaaRzqQkwRTEtsFNSgZlbc0cs4M5iHka 89rk4jkCkz7xtCLDVOYsD9bE317ofSsMSej0LBvRxWygChlJZVGtpMpg/JGMpt1PLKq5oaricR7 yiu1UcJGSmBZNOYwGTZ2ZMfBsJzyoUQmqfIziE4m2LDTMeqVbpqRiSFXFrdJ3Q+J57Z92Ld+JpZ oJUgYOZmN1GG1GQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: qj9wgw-iaZJDuOlz1fB1Nxn3FfJV9LB1 X-Authority-Analysis: v=2.4 cv=ervSD4pX c=1 sm=1 tr=0 ts=69b03c73 cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=Fb6uNmSZeVr-t7npd3wA:9 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: qj9wgw-iaZJDuOlz1fB1Nxn3FfJV9LB1 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEwMDEzNyBTYWx0ZWRfX67lfNxYQWmxC idXM1bnEbxDmANPEX8rIKqvRkdENNaSolzlmBniLI023y5gCliogEN/5wWBfViaeHSoAiuGq/Bn BJrzvmJRdj4jlaCw5tSITwGps8tvoIlK22V+fRDd2nBuUnWo4eFMS5RMlPNl9bppSJErh9LzQye g016YxvWL5nhHO5WeFNTukUb4dEe4y5/zW1eHNMcKpA2oyWtay7IksJdzWXKF8nOJ0kzbVyUwkS qOuZ+TuVUoArh1NtI+nWzJexRArHlioVsMGOTSWp9eYTiX9sEb2ShlzhOjESSug7M6dBTgKaAN+ fDc32ey+pmupfd0QmGJsUXE2KCmG6HH3397n+UJzTaqTumk9lBfutlnOG+xjy6XSgyHso7QS5qM WodADNHECa6uZsj3LCMGzuEgZjvwe1eSqzzjw9wJbhgfVXdOVg3mxqKA+Sn4VYwwj1RhSarY6bj Qh1pZtuvTHFXc6adh4Q== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-10_03,2026-03-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 spamscore=0 bulkscore=0 impostorscore=0 lowpriorityscore=0 malwarescore=0 phishscore=0 adultscore=0 priorityscore=1501 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603100137 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 Signed-off-by: Bartosz Golaszewski Reviewed-by: Manivannan Sadhasivam --- drivers/dma/qcom/bam_dma.c | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c index c8601bac555edf1bb4384fd39cb3449ec6e86334..8f6d03f6c673b57ed13aeca6c83= 31c71596d077b 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, +}; + /* BAM CTRL */ #define BAM_SW_RST BIT(0) #define BAM_EN BIT(1) @@ -393,7 +409,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; @@ -411,7 +427,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 + @@ -1205,9 +1221,9 @@ static void bam_channel_init(struct bam_device *bdev,= 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-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 }, {} }; =20 @@ -1231,7 +1247,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 Wed Apr 8 02:52:03 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 D76F43A4F23 for ; Tue, 10 Mar 2026 15:44:54 +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=1773157496; cv=none; b=id1kRNpZSxAmaAE5PcGUeAG/1zqzCsGdptronNyV7bnvZdn0C9o95VIaouaYdJkSLShGiAmqaR3OsxCJt5/KNBa3zkYhB13Iy30HyBRfQt1CHyTPD/0sdoZ7s3tWcYo315Ck1kUssSzJ8yU8cGWdBUy+IfnAkzDcbJNYtaEekK0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773157496; c=relaxed/simple; bh=QtDKw3sIoTdfDtZw65i+I58veFyHFSLP2ujI82KTTCs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=oPhZNLzL9LqwqxNpgp9wj+yUbuWHL8tLySRn8wLqFuGyhAdC4KPmI4U8RK+NYtf8oNuZ8DL1ljRWwk9mCbJ0/T7SZ/ARIrYAk/tZzGGR/ORjYXlcFAn8w1R34sxk+Y/eFBK+HiiyosmQcv9M/8bE8YmWpgsOyeIQrmC468jWrm4= 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=HtrgX3KN; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=VEbXqxB2; 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="HtrgX3KN"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="VEbXqxB2" 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 62ACnkTG3893219 for ; Tue, 10 Mar 2026 15:44:54 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= AJf/VHFbEfrJ7fM8DpDhu22yxXg6EYy+KGz73+G0kyo=; b=HtrgX3KNvok6O1zO YYb5Crv4wn3Cn6uNb9zTYtGG0zKYOZcU7sU7jz9HZEpPJ8BLFypzpONFlEQbB6o5 /souV9nw0YFxQBzYmf/X0DXCepud2rf6ogRtK4/qgJX/Z9iUEfQkd6hXl5KdoSwj ul8p06M+dIla/etKBvsZtAnNoqlOTJv7qAvk0ehywaqQ/XRM9mNqWilgKbIZ0W2S w754hgn3K1KVxXF4e1DUMW2pChn/SKSNlmixv2Y2UKHX2yG82Y+ZYTafVkHed01a 7i14uSnCIvijgP3FPUOCl19dBXHcvR8udZ5Dhkg3sq6iQHkUsEpYCi1PdAwAcsg8 R1aPBg== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ctkmyrpwm-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 10 Mar 2026 15:44:54 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-8cd77e5e187so1830625685a.1 for ; Tue, 10 Mar 2026 08:44:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773157493; x=1773762293; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=AJf/VHFbEfrJ7fM8DpDhu22yxXg6EYy+KGz73+G0kyo=; b=VEbXqxB2xQyFEWbZ8m82q+c3/vIXFUOJBTTV80aREjtDF50JccxnLT9VWPRKCSQs91 hEWrRmqAieVZMjakzO2vKGa9pLSv8EFQbtU0ZXNETKVA4AidSB7Ax+kgqRtuYruYRipj EuEzyMAORiDnvcn79pyAusfvjfXyomsk3r/ztmZc4kfGvGYI08FIsIsMcPbR9VQN7Mvs ymgHsesknz4wcpTE229OhJRuZ/kEkfZ3MbxQRlF84Fx3RlreZSzLfNFZoSYPKOsWs94e vS2bGWtDFkEqvMvhFekciKpXI4sb73nkU6Qzwo73MHGU3Kwe+S5i49kqi8Mm55GKBrag rmaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773157493; x=1773762293; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=AJf/VHFbEfrJ7fM8DpDhu22yxXg6EYy+KGz73+G0kyo=; b=FHIrJVOkwksuuqZ/NPnd4/dBSQ5v051Ph+VD5wooKaI3NxQz0YIpcjioT9IoADRUyY g7ai0QnuqAwvljLDG0jLXm6rxH0G4BvCOja8vxm8bCPsB2QzoyPd2fk3mMd7eYkpSIVO RPMLgCFlCj4xOqw9RQ3bSpWtaeNa87eJteUeGnuPaz0AfJGJTy8RLemFJT4pkNfIL2kW xKRAHv1fYsBE2H88o7RZ5TC0qQphGK425w/ImD2GTT7LnXuSnEtnL9osLld76P939Agb RTf4GMeM6lmm5/Knx1sqosfsjpmhdrN8DTmYNIOM6QTYywDOZlzizLQ7lHFcJw/1W3rJ dSnQ== X-Forwarded-Encrypted: i=1; AJvYcCXFLDpnkRBIhjbaSNsG/1AzV3qIvI0jHqszIpO88h9Dv0yJnkWi8eiRtMhJp3EDV9q68oRMRoSpBPrHzUU=@vger.kernel.org X-Gm-Message-State: AOJu0YzyYqYMcvSLNKvqjdIWNUjZx/FzmL1+aYQ0JHvVvkKfn5M2evOQ YC5mdo8zRzdDQLgb/THFFxyFUN//qViJU2aEp8bAvXbnjt3xV6ejS++hw4u6gm9V9l/prjOIvbn IuOFC13y5kFwvIyvwCU2WXtvLpqRTg2rb/3RZaDTVcgVzcZGeWxvs3KPXGXe4VPVVsAs= X-Gm-Gg: ATEYQzynUpPBu6Dl0jZN9siqOF3DeBS5/qoa3+11f5tmUkXlpf2hFEzZ/AmTa4b0sv/ Bw13nOczEy0tuVBkxAZWWhV7fDBeqCHFfGE+MA0khgOH0k76D10pRp8tevYg2jCFKf7wvKBtZ3b H9OZeBWD/8AZZuEm7x3skVY5tA8Q3p88OolrRwz2X//BICs/hEvSNnRdcJedTpQfQp9NpVnBM8w m3m+AM5Q/+nQNUrJ6nUSwvy/vENu2yxc70VeHx5jlOGqeaDNCXR6m3PbpTZW9KtnBaKZW9rzy3E itxC6uT/IgXOxJyyX3nK64jl7s6nH8MG6XdiU5x6DA/xQsNsl+lLz092EFyVg2Hc1JxJXocrSkA f6Q15djqy5XwPM1EGxDlr1fDFO9L6aOvhoIKL/f5NBKfwqmJ6Gauu X-Received: by 2002:a05:620a:2952:b0:8cd:7fac:a2a4 with SMTP id af79cd13be357-8cd7faca5cbmr1210912185a.0.1773157493354; Tue, 10 Mar 2026 08:44:53 -0700 (PDT) X-Received: by 2002:a05:620a:2952:b0:8cd:7fac:a2a4 with SMTP id af79cd13be357-8cd7faca5cbmr1210907485a.0.1773157492878; Tue, 10 Mar 2026 08:44:52 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:47e6:5a62:7ef7:9a28]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439dad8d968sm35991600f8f.6.2026.03.10.08.44.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Mar 2026 08:44:52 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 10 Mar 2026 16:44:18 +0100 Subject: [PATCH v12 04/12] 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: <20260310-qcom-qce-cmd-descr-v12-4-398f37f26ef0@oss.qualcomm.com> References: <20260310-qcom-qce-cmd-descr-v12-0-398f37f26ef0@oss.qualcomm.com> In-Reply-To: <20260310-qcom-qce-cmd-descr-v12-0-398f37f26ef0@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Daniel Perez-Zoghbi , Md Sadre Alam , Dmitry Baryshkov , Peter Ujfalusi , Michal Simek , Frank Li 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=1425; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=gfl+Fn+ISpyM/izQ226zR5pAGJiHs0gWIagW7nCmNI0=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpsDxjl0oBLVkyovFs0XMRxCMKg/HdAQsoHdoH/ d//6ZZzKNmJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCabA8YwAKCRAFnS7L/zaE wxRtD/4ud0b8pFCkZb+ljYaNfLtENTl6pz3RRlsXW8S98lIHlWvV5/g0rTiZLMZ/nhZJIHcx/dy dT/fFdxCu+wF/DQiBke2EvOr0EYGitPlJvKek2niuutIa5S52uV3GqneZM42CysPGjoSuh/WFjc 3Ju0MkiATjx3kZnh3vpH+ppCGTLpVOwHCciHGWP5mPqc5NmGUgqSeqy0I7D40dIB7vJGsSSNI8h F7FPb4w8WZl8W3yzmCSVfMLOj7CiQMTPW0qYA7Ugwb3K6tWtwieLGjueg8Bd4yjGAAAIPXyUlEQ VDLAilh/F6icPirmWtb5Lbdvm7x/RyDwhTyGJqo88y3z7jZK5dPx5lGo260pn8b8Mr0iqzWFxe+ sqqZJOCP+wYTDrhxxvXhXDwdAqf3fn3/D2dQEJRNzTEpHRcSVULQqoQcb9wizvIj/fxzHGBRZOI un0Qwp8Csbnf9Fq3/md0VaVuFT0SoHQSWJpYxWF6L2t0wKW96kibt6xzfcJbM/3tFyIiQiOtHOn Jzxu6vCnZNMy/NIET7BQnf9HZ5ne8P/bAYKMPlRvPg3FJuw68Xy1s9MFcv0oa2NH+aasSTEqaIF QefClOPcX2zN1Yumo7lbDQWr0fPFzSixnzt6j8faXsWZeUygWqFI8VhBzz3eY6cqXc6Vo7Ht4le OPNzAobYJS//T6Q== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=RYudyltv c=1 sm=1 tr=0 ts=69b03c76 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=ZSnkYuKn9ZpO9KHknGoA:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: cB_n4y3RfrUw1lzp1dpxd3Y7NuS61pVr X-Proofpoint-ORIG-GUID: cB_n4y3RfrUw1lzp1dpxd3Y7NuS61pVr X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEwMDEzNyBTYWx0ZWRfX3/PcRtqy4bjn Wjts5RBxNvqLk/JVsXZ4JZustBi8OeZNl8NvwLAjd1a8DjVDYgaeZ3Yb1psM1RY0ec5Bfo3/xjq kLMIXOeIhJEBh5jpxLFfzb8TtPpRzhU/flajNJrs0RpzkN7O6/JDv7NsLv3Jd+Bdm8gDl3ZUYKO H+deSBWoa/Klq/e0zKbxvgrlQOCxAYQQ6LY1E/fBZPn8DkUy3f5wYzla2fhOQbuLLWfgEiNijQi aM+Np7qNFCQ1gAzPLR/qUg/LHUrSkqGx3c4l7iRzYyy/P5kh1dq4YwH9Q+200irm62O/wRQ1vaa 9n+UCf+74HM5eF2oi4ZMRHIfL3lgVaFPRujnzrfnDupMWdw/Fdcr6Wai14XK301cVYCk1RCTHIx s4K63r5ZLaBqMhVpDxbcbcXlDBGnILgIWDCXw5k0tQ/Fl5nKsLjF5eUcv0vasXf6fDR9R9Ocn3M /8lE/6GTgnOQ1MFRVeA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-10_03,2026-03-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 bulkscore=0 impostorscore=0 malwarescore=0 spamscore=0 phishscore=0 lowpriorityscore=0 clxscore=1015 adultscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603100137 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 Signed-off-by: Bartosz Golaszewski --- drivers/dma/qcom/bam_dma.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c index 8f6d03f6c673b57ed13aeca6c8331c71596d077b..83491e7c2f17d8c9d12a1a055ba= ea7e3a0a75a53 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 /* BAM CTRL */ --=20 2.47.3 From nobody Wed Apr 8 02:52:03 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 690293A542C for ; Tue, 10 Mar 2026 15:44:58 +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=1773157501; cv=none; b=RuKX4wcZpclkra6EcYhRKFZSx/uIKpCHY7BAIWVUgXoyYNMO2wNQiMLGL7YwsGWDCvUARz3goJAeOLAj5fhvR/bAtLMkqG93l9yFWGmUZS8zfirbq4LN+kqKPeZwGjPlNQ7nXGwsJNhPvs+AQy4oaQF0L8/0mag88AG4jfJ/Aqo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773157501; c=relaxed/simple; bh=elhTKwJOdnH8ShS2ww0C9I/XZ+2m164JUZdN202a2VI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Dn1oxeSLI+bZ532p0TmE7QY7efLFYNFrs8t09N9LwF5liA2/m+6EjXYb06HvyROQIVFgyEpy0LI93hluQOa0NImc1suy4fxCiMJfAXGKvhFHHnqhT10MCwVsKwC6PeAIxEXwxlPFBiX/BK6A66PRljWhcFOvy1NIkrsMUCygo0k= 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=gVAbF12O; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=F2xV0JS/; 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="gVAbF12O"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="F2xV0JS/" 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 62ACam1x790143 for ; Tue, 10 Mar 2026 15:44: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= KN20Si9oKhQSEQiwsnBiXWUeYCUJsC5pN0vFqnC/K4I=; b=gVAbF12OUhHS7c/R uqCr7/dhqU2UW+QqLngu0W0ZTlEYZJ7ES5xJffCjn3OrGpcz7lkb0gOAj0Ie/NV+ QdlcmojHhxXMOna2d3Nxeh847KAe1v1QE9XK5YDFVxrmtiPXpIruds2zAczlIZVc uido0z4zoV7XeiQ0BAIlWC4eTy7uFcjVUMF5KVxcClJQG9Q3lhe2Skt046LYH/Nv ctj508B4nIAjReoPdTeTRlyFPgM4s9ZEEuSkSsjEwQ4Abs27T/TXEyUVCMpIF+g6 V5PYE/dml0eJMlEJEhWXXT8Ec7UqNy87rZ9Wr32s79vcKxPiO1XLb5Z+qk1BhsxR ECOUJg== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ct1ekvkne-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 10 Mar 2026 15:44:57 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8cd781c0d90so1653549885a.1 for ; Tue, 10 Mar 2026 08:44:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773157497; x=1773762297; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=KN20Si9oKhQSEQiwsnBiXWUeYCUJsC5pN0vFqnC/K4I=; b=F2xV0JS/pntSg5KuY5li5lT+F0ynCWAk/g7aDTfprcjlgdW2AlmOOv6fwisQ1o5eQz kYGL/KAHMEZo8qHgIWuBb20GM3JN6HhxnAISKHI6GSMYRhvNQVduLHnrcE8BnHVnLONx 5LSr5hSWBhPilqdSXDBk3UYY+g4sQD8BinjTQSu56xzCz/RGYbaXA1Jxoc7IqLEKaqki I0lUVt/d5+ELTQH+zeKrCcTV4Akw80ZoYEt9xC+W3H+S26qyNFX0iea8WoBse3Bb98uw AI5i/UssRUj7KRXHqyndKYeNMLbaM0h+YIw/jIqB5cLz9u/5HP35aA1o/R1Dd8L3ZJBs TAwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773157497; x=1773762297; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=KN20Si9oKhQSEQiwsnBiXWUeYCUJsC5pN0vFqnC/K4I=; b=DpwI/8x/FMI6yV+BjyC/SELttDVUTaTreTltenST0WCnaVJHzEDDMW4YB4UCp5eSPz Z05OaTIV914lw9LYf35duKGjQYIU/0gS7+Jit6rtGI0rq3ZUgMjTXFj6CVNZ//SRNFtN vyvIAfuaN7mhIsfM7YAS9MBcvsqC1hlaowocQCc0ETn8WA4MEpD6oS2jcpllibU0fhRK a7oinDrCPVeviokSh8sbTBq4267JXx1aZTge94KoBkX45m0cd9tKaDXbFiucEHNtzvx9 xYnkRbvhuYtl59pOR0exCL/vZnIRuClOns55dLXm6xXrkoB0ZzjgtJ5yaQTEkfu6nHQN BaAw== X-Forwarded-Encrypted: i=1; AJvYcCWPwrcSI5s/HCt1BEFDC4b3spVZ9Ydkedh6f6H/mHns8oEZwx1/bD1X98qP18LkYGgm4P1VgUnkNMPOy6A=@vger.kernel.org X-Gm-Message-State: AOJu0YzH5u+OQ864SRvuMnykJ1fjh1A84k5ldulVyUVyv5F9cKD+cjVh Wq4rWoAd8KgvEIkR831cPwRLx1RMfRu3DBXNk/zUvwvli8+HPbsXuLXzAOMw/wxosCwVjatm2sY JeJny6rgSzfSezr2xGnD+vpxe47sfpEHSFaczuzEg45yExoFgBFIpfIBuZXFAoIwJQEg= X-Gm-Gg: ATEYQzwuemEAOkdn5FREg3EiQbYA2i6KXnJIh2e5zPqIpFRRnC+JCwoYUedPguTEZKo 5oqLrBFnHUqw8rZhoufiam5OAknr4hehiEnuuofqyN/KV6uGguTR15fKOBbQjt/aBnmAARjQY5O gNN9ukMAcSXX5zxKMEK7rh5QQdPmaCFLKxdmwRcmW32y7GGeN4URqEEeF+WYsqiI26NyQ3E3hh2 lxPmuodpwA9OhDTdp+nk8T6clvlOegvUzhLSfIdZwkpNsCNVbzCxblqVpe2EHTK9mUlxE6riRVU 5z3FocnPu2IxmQPr44mKFdZRpwMi6EVoxF0WVjL7EzMkh/yxjAcMTkvzUxcLAqBPKWvSK1K9xPr uiC0R1XTiV7pnEjN4Nm8zsJPUx2BxMb1JZu2TcPYbwDFJS+YAOm6Q X-Received: by 2002:a05:620a:890b:b0:8cd:9584:6340 with SMTP id af79cd13be357-8cd95847345mr17426285a.43.1773157496061; Tue, 10 Mar 2026 08:44:56 -0700 (PDT) X-Received: by 2002:a05:620a:890b:b0:8cd:9584:6340 with SMTP id af79cd13be357-8cd95847345mr17419585a.43.1773157494902; Tue, 10 Mar 2026 08:44:54 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:47e6:5a62:7ef7:9a28]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439dad8d968sm35991600f8f.6.2026.03.10.08.44.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Mar 2026 08:44:54 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 10 Mar 2026 16:44:19 +0100 Subject: [PATCH v12 05/12] 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: <20260310-qcom-qce-cmd-descr-v12-5-398f37f26ef0@oss.qualcomm.com> References: <20260310-qcom-qce-cmd-descr-v12-0-398f37f26ef0@oss.qualcomm.com> In-Reply-To: <20260310-qcom-qce-cmd-descr-v12-0-398f37f26ef0@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Daniel Perez-Zoghbi , Md Sadre Alam , Dmitry Baryshkov , Peter Ujfalusi , Michal Simek , Frank Li 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=9496; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=elhTKwJOdnH8ShS2ww0C9I/XZ+2m164JUZdN202a2VI=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpsDxk9TY6tPxiPsXw43Ve+PSIj4tq2H5V4JJJb yw1r7r9dzWJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCabA8ZAAKCRAFnS7L/zaE w4x0EACxKbLwWH0BU1Begt8G28jzTGiJxEdXChvYM2Vr4aOS+ELPeSH22pJI6xxN46I8AvnwT9e xkONLqCR3ucI/p3eI6zeAbogxfPibrQKr2wlfGSOz6U6ILPwz4A+1KHOFlSQZBwSr+yxIehYeJL RNgWeQWMNMl/sbDf3QPr7sfyzAU8N1csgNyQLY3OeceiuJJvIqcrtqa15I9RXRg3j2fE7t0Qhn4 8DtbpfMnAS1/uIyNKGSV2Vy4I81xyJQ+G03K8OsSe7cb6blFiupG/eX7I8iVmkvFIDQPtcalYPV WAww8lwySoQThKBHS7xChrEfqnTIuGtdUPYWtogcH/VSn+CI7OIT0ntZHC4OazxBctlh0aDt8wU tx7vFhWXCbefEFUeUtUlC9+vDkD34YvqPcnODKsDPn2B5akFGemLqVoqpZ6IzsUPlVO59Rqc61w O9VBSCXHVJmyAaNIsO2+/QO/cxHdGwEBkqrb4nyUKGKaoy2VUwlxHFAtS+rs/5s0WP/JnyXdYQh WgyNnW+UkJiAuVBJp9EpfTkhb3Jwa9JQoRMlxpnvepO2GLf5R5Esx6UAMWoeqz0EQFD8MREMMVL eD9bZWyqkS97qe+1SHhhfczOHegXdXi7uMIa1m4PPQzZ4GLD099CqVo7qLwT7kpHVDvtibkN4ZK 7gaNLWok5bCpXJQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: s0o4_f88GZvarykVax9Y_aCDryRszRU9 X-Proofpoint-ORIG-GUID: s0o4_f88GZvarykVax9Y_aCDryRszRU9 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEwMDEzNyBTYWx0ZWRfX8/KFYNe7nAFy yclxsbzT02S3kqkq2uk8elB7Pl04tpxBOPBOKGlLFqEi1kT9lO2PNDglFEZaZdALX1V9UjhTvBt 46ievKDk0oK8wjkDO1uu5nRCa+rGszsCmUS6hwI1mRqdVSVqfXTFSJmKc7RyALFRVW7wTqcOKpG /2cSSBsTODVntobw+05j2mVj7wvQYtQHqHHhce22PrEFNg1Ha7z6+kZST7Zje7jCVVUA8ZwJr+g m3EOVVbjKT1JmT6dy6MV9xbTjh5U+sNjbgzwjrD28ynFvIhqd78mmezhY5KaNAvbjvxdam+TofH loIg3uYs6DAFuZ8451GroSvtax6KraSTCSBZhz4O9VMsTI4eBoYkFJKU9zwyi/jUpa+6+8GQbZ+ yACIpdQr0NJzlH+HO7XqIRCBYtiD6I9TfsJZ54juLeHtNmk6CJTe+GXkCuiqdcZnnqen43XQItL hFPDkut3CKPLT8hehJw== X-Authority-Analysis: v=2.4 cv=eIEeTXp1 c=1 sm=1 tr=0 ts=69b03c79 cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=EUspDBNiAAAA:8 a=qJbEDo8Lr3yLsC1F8HwA:9 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-10_03,2026-03-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 bulkscore=0 lowpriorityscore=0 adultscore=0 suspectscore=0 spamscore=0 priorityscore=1501 malwarescore=0 clxscore=1015 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603100137 Add support for BAM pipe locking. To that end: when starting DMA on an RX channel - prepend the existing queue of issued descriptors with an additional "dummy" command descriptor with the LOCK bit set. Once the transaction is done (no more issued descriptors), issue one more dummy descriptor with the UNLOCK bit. We *must* wait until the transaction is signalled as done because we must not perform any writes into config registers while the engine is busy. The dummy writes must be issued into a scratchpad register of the client so provide a mechanism to communicate the right address via descriptor metadata. Signed-off-by: Bartosz Golaszewski --- drivers/dma/qcom/bam_dma.c | 175 +++++++++++++++++++++++++++++++++++= +++- include/linux/dma/qcom_bam_dma.h | 4 + 2 files changed, 176 insertions(+), 3 deletions(-) diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c index 83491e7c2f17d8c9d12a1a055baea7e3a0a75a53..627c85a2df4dcdbac247d831a4a= ef047c2189456 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; @@ -391,6 +395,14 @@ struct bam_chan { struct list_head desc_list; =20 struct list_head node; + + /* BAM locking infrastructure */ + bool locked; + phys_addr_t scratchpad_addr; + struct scatterlist lock_sg; + struct scatterlist unlock_sg; + struct bam_cmd_element lock_ce; + struct bam_cmd_element unlock_ce; }; =20 static inline struct bam_chan *to_bam_chan(struct dma_chan *common) @@ -652,6 +664,27 @@ static int bam_slave_config(struct dma_chan *chan, return 0; } =20 +static int bam_metadata_attach(struct dma_async_tx_descriptor *desc, void = *data, size_t len) +{ + struct bam_chan *bchan =3D to_bam_chan(desc->chan); + const struct bam_device_data *bdata =3D bchan->bdev->dev_data; + struct bam_desc_metadata *metadata =3D data; + + if (!data) + return -EINVAL; + + if (!bdata->pipe_lock_supported) + return -EOPNOTSUPP; + + bchan->scratchpad_addr =3D metadata->scratchpad_addr; + + return 0; +} + +static const struct dma_descriptor_metadata_ops bam_metadata_ops =3D { + .attach =3D bam_metadata_attach, +}; + /** * bam_prep_slave_sg - Prep slave sg transaction * @@ -668,6 +701,7 @@ static struct dma_async_tx_descriptor *bam_prep_slave_s= g(struct dma_chan *chan, void *context) { struct bam_chan *bchan =3D to_bam_chan(chan); + struct dma_async_tx_descriptor *tx_desc; struct bam_device *bdev =3D bchan->bdev; struct bam_async_desc *async_desc; struct scatterlist *sg; @@ -723,7 +757,12 @@ static struct dma_async_tx_descriptor *bam_prep_slave_= sg(struct dma_chan *chan, } while (remainder > 0); } =20 - return vchan_tx_prep(&bchan->vc, &async_desc->vd, flags); + tx_desc =3D vchan_tx_prep(&bchan->vc, &async_desc->vd, flags); + if (!tx_desc) + return NULL; + + tx_desc->metadata_ops =3D &bam_metadata_ops; + return tx_desc; } =20 /** @@ -1012,6 +1051,112 @@ static void bam_apply_new_config(struct bam_chan *b= chan, bchan->reconfigure =3D 0; } =20 +static struct bam_async_desc * +bam_make_lock_desc(struct bam_chan *bchan, struct scatterlist *sg, + struct bam_cmd_element *ce, unsigned long flag) +{ + struct dma_chan *chan =3D &bchan->vc.chan; + struct bam_async_desc *async_desc; + struct bam_desc_hw *desc; + struct virt_dma_desc *vd; + struct virt_dma_chan *vc; + unsigned int mapped; + dma_cookie_t cookie; + int ret; + + sg_init_table(sg, 1); + + 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 NULL; + } + + async_desc->num_desc =3D 1; + async_desc->curr_desc =3D async_desc->desc; + async_desc->dir =3D DMA_MEM_TO_DEV; + + desc =3D async_desc->desc; + + bam_prep_ce_le32(ce, bchan->scratchpad_addr, BAM_WRITE_COMMAND, 0); + sg_set_buf(sg, ce, sizeof(*ce)); + + mapped =3D dma_map_sg_attrs(chan->slave, sg, 1, DMA_TO_DEVICE, DMA_PREP_C= MD); + if (!mapped) { + kfree(async_desc); + return NULL; + } + + desc->flags |=3D cpu_to_le16(DESC_FLAG_CMD | flag); + desc->addr =3D sg_dma_address(sg); + desc->size =3D 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.desc_free =3D vchan_tx_desc_free; + vd->tx_result.result =3D DMA_TRANS_NOERROR; + vd->tx_result.residue =3D 0; + + cookie =3D dma_cookie_assign(&vd->tx); + ret =3D dma_submit_error(cookie); + if (ret) + return NULL; + + return async_desc; +} + +static int bam_do_setup_pipe_lock(struct bam_chan *bchan, bool lock) +{ + struct bam_device *bdev =3D bchan->bdev; + const struct bam_device_data *bdata =3D bdev->dev_data; + struct bam_async_desc *lock_desc; + struct bam_cmd_element *ce; + struct scatterlist *sgl; + unsigned long flag; + + lockdep_assert_held(&bchan->vc.lock); + + if (!bdata->pipe_lock_supported || !bchan->scratchpad_addr || + bchan->slave.direction !=3D DMA_MEM_TO_DEV) + return 0; + + if (lock) { + sgl =3D &bchan->lock_sg; + ce =3D &bchan->lock_ce; + flag =3D DESC_FLAG_LOCK; + } else { + sgl =3D &bchan->unlock_sg; + ce =3D &bchan->unlock_ce; + flag =3D DESC_FLAG_UNLOCK; + } + + lock_desc =3D bam_make_lock_desc(bchan, sgl, ce, flag); + if (!lock_desc) + return -ENOMEM; + + if (lock) + list_add(&lock_desc->vd.node, &bchan->vc.desc_issued); + else + list_add_tail(&lock_desc->vd.node, &bchan->vc.desc_issued); + + bchan->locked =3D lock; + + return 0; +} + +static int bam_setup_pipe_lock(struct bam_chan *bchan) +{ + return bam_do_setup_pipe_lock(bchan, true); +} + +static int bam_setup_pipe_unlock(struct bam_chan *bchan) +{ + return bam_do_setup_pipe_lock(bchan, false); +} + /** * bam_start_dma - start next transaction * @bchan: bam dma channel @@ -1121,6 +1266,7 @@ static void bam_dma_work(struct work_struct *work) struct bam_device *bdev =3D from_work(bdev, work, work); struct bam_chan *bchan; unsigned int i; + int ret; =20 /* go through the channels and kick off transactions */ for (i =3D 0; i < bdev->num_channels; i++) { @@ -1128,6 +1274,13 @@ static void bam_dma_work(struct work_struct *work) =20 guard(spinlock_irqsave)(&bchan->vc.lock); =20 + if (list_empty(&bchan->vc.desc_issued) && bchan->locked) { + ret =3D bam_setup_pipe_unlock(bchan); + if (ret) + dev_err(bchan->vc.chan.slave, + "Failed to set up the pipe unlock descriptor\n"); + } + if (!list_empty(&bchan->vc.desc_issued) && !IS_BUSY(bchan)) bam_start_dma(bchan); } @@ -1142,9 +1295,17 @@ static void bam_dma_work(struct work_struct *work) static void bam_issue_pending(struct dma_chan *chan) { struct bam_chan *bchan =3D to_bam_chan(chan); + int ret; =20 guard(spinlock_irqsave)(&bchan->vc.lock); =20 + if (!bchan->locked) { + ret =3D bam_setup_pipe_lock(bchan); + if (ret) + dev_err(bchan->vc.chan.slave, + "Failed to set up the pipe lock descriptor\n"); + } + /* if work pending and idle, start a transaction */ if (vchan_issue_pending(&bchan->vc) && !IS_BUSY(bchan)) bam_start_dma(bchan); @@ -1157,8 +1318,15 @@ 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 bam_desc_hw *desc =3D async_desc->desc; + struct dma_chan *chan =3D vd->tx.chan; + struct bam_chan *bchan =3D to_bam_chan(chan); + + if (le16_to_cpu(desc->flags) & DESC_FLAG_LOCK) + dma_unmap_sg(chan->slave, &bchan->lock_sg, 1, DMA_TO_DEVICE); + else if (le16_to_cpu(desc->flags) & DESC_FLAG_UNLOCK) + dma_unmap_sg(chan->slave, &bchan->unlock_sg, 1, DMA_TO_DEVICE); =20 kfree(async_desc); } @@ -1350,6 +1518,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..f85e0c72407b5e1a733750ac87b= baba6af6e8c78 100644 --- a/include/linux/dma/qcom_bam_dma.h +++ b/include/linux/dma/qcom_bam_dma.h @@ -34,6 +34,10 @@ enum bam_command_type { BAM_READ_COMMAND, }; =20 +struct bam_desc_metadata { + phys_addr_t 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 Wed Apr 8 02:52:03 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 A8AC539DBF1 for ; Tue, 10 Mar 2026 15:44:58 +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=1773157500; cv=none; b=CSSd+aMCKx931gv0k/TDFPASHdtD7jaMJ6462WPGOTWgWpJoUxBjzcex7o9Wk0rC6yKvQvfnwyZCpYarJ/7zKvB1LgNZ4QrHXL0WtH6F5OnPB918SvbcOC+5OEDV+p2NygEKBWcjXG0EhE2Gp/EjEhtFOppDVOJZnrfq6Ga0g50= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773157500; c=relaxed/simple; bh=D/DbbvsYNV6WfJJN+Y3qtsfzsdueJP3Q7cdgK44aCk4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=o6VP/P7GztKq416YFPTEmilnBR+uvBh7qIt3bfrlv8bvs+105KmiDVUgadxViXxQjpXYYvz2Cq/OyblsLzzyVfbsNVAJmNTobQrXvHJ/q9KPU11R0nRrYLI2TvJocpPI49U9Ihpg5okMvY60r4ZYweF/7BjmDtwx5K2Abvxdkgk= 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=AiiIpaWq; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=HjRBsOvf; 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="AiiIpaWq"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="HjRBsOvf" 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 62ACaUIi303868 for ; Tue, 10 Mar 2026 15:44: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= f+eJOMoesWuzpXTSR4Li0Qt2PYtZi1rSvrjFdAlx9Tk=; b=AiiIpaWqXpKki8Pc E3kqxUeNlVehTwfUf6LJcxsxWMB7siFCCcIG5f4I9yV3d5ZQnhcUJkjWnQ6ug+yZ tz7kdDeW4FHe4xEvYwhZwlKkolXvkubh6ia37LjVcq4zQnrp7kXI+hdI2gRdUZBb OLUU13nTGJYXelzoKii2PhLCul5m2sKecjvt/+iqiOmKiK24h51zOLg2ZdNeprln E3xzMxw6YD5zYk4qWmz4ex0JToc6tYTA0bN7qlOZugdMCWk2R2jZZP6Zxz3wEqUR h0SdDk022Cy+6H95diIM+F74vieQIb8Ne3a/o/ao1yskWfElX0qCHj81OHxQlS04 e6d/ww== Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cthjf1788-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 10 Mar 2026 15:44:58 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-8cb52a9c0eeso10385231685a.2 for ; Tue, 10 Mar 2026 08:44:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773157497; x=1773762297; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=f+eJOMoesWuzpXTSR4Li0Qt2PYtZi1rSvrjFdAlx9Tk=; b=HjRBsOvfx0HIzDwkEvIia1S4NAIdAlW6a+0D1CHkPq7AyoVMWDNLkgRUVqTRUw2l6Z msklg09bqfIh2OfEzZfSYLx2TDldHdHcCYuSBnwrylA6c1Cne8gMv4+/pVnveomaYlEa Wo4GLYTvmGeZA03+BXw/bDzyQMkQc7fREO+RdjWzykmBFHl/dmsOtavL+uGAardFadbM La6T90YCiA+WC5AIB0c1HksbYa4Ijt49fEeWOCeIpSSrpwk3uhI97t0XkWNX6Iox8F2x z6/dVaopvpfypGClGzx0qmGMDBmwHgnOZA2TclKcYB7tWl1C6bv8fwxrHO022newbt38 TTtA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773157497; x=1773762297; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=f+eJOMoesWuzpXTSR4Li0Qt2PYtZi1rSvrjFdAlx9Tk=; b=cH2gYZCYwHO4XGzO2ieimkrd9neNYqAWJHNI9C58TNtZdz8ncgd2s+/1ovOcNs8qxe InnxEk92G9U2qqo6GdU/mJ4m+8LPezrxu2ICavWw8P5MVFV5xWg438x34U1wOgT+I79m DwKYOOCw/BjL7Hks5dIximUVONQLZnKTK2EGtwpA+9A5YDiAdftOFauKbKybDCk4YgF/ AnTe3nv5sA9a7p/tM6ovp/U1PHIzQGf8aOAjtDNMEu7nIGNXJ0ZdFA4R31lsMo86YJhZ zst4HSHiOXiKnOCmTcCefqbnP/r9/OZokNPwh5/1iu/CCH/70EPWmLdGSCF/1lPs9E75 uMJQ== X-Forwarded-Encrypted: i=1; AJvYcCUR2Mm4LwB06xhs6sMynJKwJi5QPGw/IHh1W2McI8d4HanPHwk12u/NB45RugtbylSdOq6Ht3gdr9w00nc=@vger.kernel.org X-Gm-Message-State: AOJu0Yx2yD7XD5mhycgX6WMHgM8DLuGSRim5ZsYcSO+xl4nsRs/S5TuL +zmvGhtlknXHmKItHAIfOzuPEqxGGDwk2EDA1k7szT406NG03IofjplqoR478wKmv6dqF6M7Ewr 7ptOZOiS/dg0XNk+jjiquMZ1LK4xZgeSyE9FIc2nuPoHgctidzVNkEQRFUrYCkUzgfVk= X-Gm-Gg: ATEYQzx5K8WQOgmn1sA9XU1fs9ShkuhZGTmeE5vHUxZszCf9K80WR0IFY0P2xCRIQgB JN1XQ3/74We85Kivv+PbHhnUh7i+hX2LBAUL1IiGovVvi2RvX439qSBOCqPenFPDB0hzK+ob//G g/g+w69mIURz7RtbtwTRest98x/zHUIhxZsvN5xQZfv6OEEJxiOG1W4MdOc0uB7+Awed+BYC/RD UmP+LRcxd/Lk+2qKWWsMnU8UxyzbaoE0F63Vd/RjLMMUhiNu2I16SjEygQgflENhggGNvGC632U elvtVvQj8SNxTX/H6BTig6NcDZdkphw1uqMWhHREzIqzB+eY28Ywlg3q4KoCFXA0zjVC8Hy78Pl gSN4hxPa4IWZkLDqbev5IbkUGg+niqhsaUj+iqzir4fxQIyz61Ogb X-Received: by 2002:a05:620a:459f:b0:8cd:9231:8b54 with SMTP id af79cd13be357-8cd923194c3mr566017685a.62.1773157497131; Tue, 10 Mar 2026 08:44:57 -0700 (PDT) X-Received: by 2002:a05:620a:459f:b0:8cd:9231:8b54 with SMTP id af79cd13be357-8cd923194c3mr566014485a.62.1773157496748; Tue, 10 Mar 2026 08:44:56 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:47e6:5a62:7ef7:9a28]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439dad8d968sm35991600f8f.6.2026.03.10.08.44.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Mar 2026 08:44:56 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 10 Mar 2026 16:44:20 +0100 Subject: [PATCH v12 06/12] 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: <20260310-qcom-qce-cmd-descr-v12-6-398f37f26ef0@oss.qualcomm.com> References: <20260310-qcom-qce-cmd-descr-v12-0-398f37f26ef0@oss.qualcomm.com> In-Reply-To: <20260310-qcom-qce-cmd-descr-v12-0-398f37f26ef0@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Daniel Perez-Zoghbi , Md Sadre Alam , Dmitry Baryshkov , Peter Ujfalusi , Michal Simek , Frank Li 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=1260; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=SMWOwwGJxSzHnqJ7yBoaojvGxwV6GTuJEaiwl2WXaqU=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpsDxlQlPRGUaNldGUW96+bRTO91zN0L2uk+4lc p7wTjvcvw+JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCabA8ZQAKCRAFnS7L/zaE w1apD/908hNmtgNlCAkn+L4FvAUewZLgyKgr7/esEj6bAVtRnLpfcUCo0hBzMtaE/Hth0b7A0UR KA0Dw+RN2+eykOGbwnPDt05CrE8OvQoBuIb1i/eKE4U/IE/rFfrVPL8IRfThjmL5W9AeTe2Vz5n hINZasNUEJ+aq3aK52cswdgiA91NE/MJ/WrnnblFg20UAfGGA0d+fmSp387KVqDJzvzzHD9VERo NA6x/wmIGLTwTMU7X7sIUutSdcEg8CTS8fLIjY1Ulrt+XrTyl3/qUy4EWskQsicRt8hianEOzAn kyj6bjzdwtB44d+O0dhAZZh2qr5YuvVe9FN1Y9P3H5lENTsmMgs+nxoo3JBXZ7kKI5B1iF08HO7 He80y17YYXV1Srm1WzCqhuD8AbVEjMyNPf/WtgHsryifrn6VAYtr+9wA0d/Zw/Hzmq0C98TNYbe qSprE3oj6noh1N0bocANjUNppSpEXTaFb9qGrB54FKQs3nLDFDRtrNB9Z7fg+SAgRCk88MVk271 Ki2vA3S2jAM1lczzFC41+dR0afoCuhJiEF4oHHshQ3TRNR5CxTscGnHY3kuJUY28wv4Bs/GZ7cx La3R9NQJXxH6NQSFPm/MuuiMjerNZTFcDyUZggHmcRoq0O4h4ppoeR/noHkz99DeI+fXIrTPhpS Viyzyo4xyU5GOug== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: cyGn8sRj1FS5EUods_6zLOlT77PaZB2K X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEwMDEzNyBTYWx0ZWRfX6sGIMAHOy98+ yXvW2MT427/f3f72fAuvSUcs6pOPa2z1tKpabQlqMRJDetktlwOiS254r5TgJFANF3X3Fz2hK/m JF1/CsuVsUiyeKFkXK6MCvJ+T+YZAssvNOB+Sn6/28BGfhhPnTsDndboyzfcXTynM6afnLSigLb nt5YwdWHIdgITkjejVJHCH/NCUR/7QWdG6IlVIK8hao1UtdHoWEG7l2o8uDGtfR2vO4TAYyTZ+k kANVbMga9hX5erktb1VNUvl3U9vTqd6oVFYlFrQuBjlM354AqdzgIw2Zwv9mvbWz+O6XffzisAM Y8ps3ITRnypkmY2C93eWK/pZPoDSDEo1O2qtEzZsVQdNa08P2LnmQK777+7Dpx3rCPKiCqQavde KI6GUvKXTkXkivC3qOUMvZ6Fdy28krgaOsrDV9LqHYKJM/kWjMCoSXHhKqpPBMHzd29JcwMWv4l DxeGKXgpjezbFYo7a9Q== X-Authority-Analysis: v=2.4 cv=A71h/qWG c=1 sm=1 tr=0 ts=69b03c7a cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=rvG61WhHFVBzVmnuldcA:9 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: cyGn8sRj1FS5EUods_6zLOlT77PaZB2K X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-10_03,2026-03-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 phishscore=0 clxscore=1015 suspectscore=0 bulkscore=0 adultscore=0 spamscore=0 lowpriorityscore=0 priorityscore=1501 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603100137 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 Signed-off-by: Bartosz Golaszewski --- 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 b966f3365b7de8d2a8f6707397a34aa4facdc4ac..65205100c3df961ffaa4b7bc9e2= 17e8d3e08ed57 100644 --- a/drivers/crypto/qce/core.c +++ b/drivers/crypto/qce/core.c @@ -13,7 +13,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 Wed Apr 8 02:52:03 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 96B063A6B9B for ; Tue, 10 Mar 2026 15:45:00 +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=1773157502; cv=none; b=d2UmxwyyNNlmshwlwDTRJ/3aRdjpky7l5K7QXgikVyHNrQN7yFyLBWZ0Jxe1S89mkf6Kchn9jV9EiPp1Pjn5Oh/R/qusmq6eFTC9jgv+PKKVqLefqyDgtCZmmn0gcSVbfgvA+GndV5Ut1uxr6q8xsbbprOs8yLqKrFrWPP3cbxE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773157502; c=relaxed/simple; bh=6dN4XjHr+6OQnOzxmGwMll0VZH7PW0q5aNlxk1E5+Hg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=jR56NVefWNWqFYlUYwQysmC7jASMC3CUnjh9+jZ9ULGS63Lpi7flC6S7t4qq7wGOOajGT0f4JT5nojOHbN0lhmt9lkbnbvsOPmGf3EipdRFLUQeywggbx95Mkh+r2BpRwtxgQSAsmeHFDfPLms4PhO3DJg57bfmnD0xDPElPOMI= 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=P1/Grsya; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=cT0iw+u3; 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="P1/Grsya"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="cT0iw+u3" 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 62ACb5r13419279 for ; Tue, 10 Mar 2026 15:44:59 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 9iGVNuTYeeAltbq14HNN1Bd2g5XTMHQ/MFj6N7hyZ8I=; b=P1/GrsyaIA2oSetH qyeav9DFW2XVlmvlGqPfQIv+eWCC43lgxBPSd/gqGr69BOQvm0QgM9MipdPFDVq6 I18t0iy80eSWl7F7kIW8CK9lW0zZRh1+6QbkViBqou7V6BVLBCV8qp3VzBhKB0Ud j+Q+qDDbWmNKq8mukpI7x9BCcx8J4gR3n+3O4nAG9ciRywZUW7FkdjzyV3qpLirG lyM9VHhcjH86rOV2TgyNVymX95CiMXng6JiMG4EgDTa0d3qp2L9c/4QFndzIyV1Z b890QdBIgn8Z0WCvXfCh0lnF3XyQ6T0dGELQFR6N4pkTfikGYDxEaC3RmLOgSAx9 0lDLNw== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ctja290jw-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 10 Mar 2026 15:44:59 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8cd84943c76so5778385a.0 for ; Tue, 10 Mar 2026 08:44:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773157499; x=1773762299; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=9iGVNuTYeeAltbq14HNN1Bd2g5XTMHQ/MFj6N7hyZ8I=; b=cT0iw+u3d25XErAChj7lkf4Gpfqhj85Fbx5fu15VzBhfKpDQJ472BV/nEnpkH4UqY8 CC6XF/s0r1hhs5W1dJ/FyLXwnovaqsnADpYYjZyb4j3NKf2vMN5X8XkA/goyF8gHRs53 Lohauk1A4U9ggXlL2XzRDbGwNf1VBmlfqG+c8kSlEiOo+28IaUlANKkOhsxfo3yaaxjE wAXzwyFrHw26l9Yme5VYC2twcJ/1z611KwBleODeS6HRl2gOFWj7X9qWclpVgnyh/Lq8 INvKXPsctonXzKSGkXcETpFAXR/8ZCNoSZwVYypHfAcvxRHhgy3Ygt+f1np9kxH25odS Y7BQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773157499; x=1773762299; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=9iGVNuTYeeAltbq14HNN1Bd2g5XTMHQ/MFj6N7hyZ8I=; b=K0qPaI1V9aFJiG01xf4jUL/nGHdhJETqtkiAE5TJysyVXdUHVvRm12eTycbs6wEJFx WeYc3slMCc+2T1dsodLR9U3uPLAdQohpAuS5KOoMHBrgUk0/fpsp02sU3kIsbUqixqiG 2aSDi7bYeW9UiwH7PFdvsJpP+E/eyO+D6yLgBj4JTEX8a01roreQ0GeSNI1NljIId4MM HidkNuERKfxTBUY47lF28ATJNxEQyJ4KTPZseiyeIg6bUXn1thPjX7VHr/4x5VviqLv/ TMtAc8olI/G0RnyNgrGbOINb4wAcLvXn6abIcgy1GChr1y2sUOkTJYDqIWYcUAnSOoHF JB1w== X-Forwarded-Encrypted: i=1; AJvYcCUFSx+0x1KiKQakgpGVu1eIc2TqGNcNaHxhIuexdQjkAKRvmY7iS1IzLXK28GaSOpiX/h2mgfcGca/NMlo=@vger.kernel.org X-Gm-Message-State: AOJu0Yw8h+ngvLaAyN3RyQIG/+keDhwCqmxpPQ4alGfMBHA2lmsuY0vX 0JeSfT/HpC0stt3gUb2DwK8wNj/D3GUF150xH7Y1t3h7Innmgc8wkSct5hhlInnLx/ClfmTN+CH hrb9n0ZF0hoQktM2sFpgBjv8QyVZX/69Et0grGE8gEMaZnwk5igh/cjOBVBgRz7OW+zM= X-Gm-Gg: ATEYQzzyFwjYRpWBmnkfP1Oc7pCHqk9KVhIOqQLAs87GqiI6lQrgxHOQP8pXk1IWa1a 2vNW7JWBTWdfL16Y+ysyteQuNKlxiRrCmGZYk5/BrLxxAxdlHCvM7wYdzx3aNVFQnPPNdX7aNWf EhTQKUktiIoBWsnqMqSzMxJCsPC8JSYTa87rQCJ1RRDchzIEHt8fSgKESw9+9mzl1S1/iav8ic+ Qgy2I7D0YqqswcGr3agKp752rL7jR7SEXTAQPgMYohwzhAHMwzN2ZjpgXkJ6c92a1WAXYMcZiQD 1aaws42lr0kBy+BZt42a//9P1aSESyw43UZvVKZxrjMFI9hFzs5vUcy8XdZ6BqRoyI0sDVhK+80 Atxs+VfbcJEFxLUXWLAc56WTofL09oL/lbJ2d5/8kHuFc4W7q19FR X-Received: by 2002:a05:620a:4142:b0:8cd:87f2:1cf with SMTP id af79cd13be357-8cd93becd02mr444894685a.20.1773157499089; Tue, 10 Mar 2026 08:44:59 -0700 (PDT) X-Received: by 2002:a05:620a:4142:b0:8cd:87f2:1cf with SMTP id af79cd13be357-8cd93becd02mr444889585a.20.1773157498559; Tue, 10 Mar 2026 08:44:58 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:47e6:5a62:7ef7:9a28]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439dad8d968sm35991600f8f.6.2026.03.10.08.44.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Mar 2026 08:44:57 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 10 Mar 2026 16:44:21 +0100 Subject: [PATCH v12 07/12] 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: <20260310-qcom-qce-cmd-descr-v12-7-398f37f26ef0@oss.qualcomm.com> References: <20260310-qcom-qce-cmd-descr-v12-0-398f37f26ef0@oss.qualcomm.com> In-Reply-To: <20260310-qcom-qce-cmd-descr-v12-0-398f37f26ef0@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Daniel Perez-Zoghbi , Md Sadre Alam , Dmitry Baryshkov , Peter Ujfalusi , Michal Simek , Frank Li 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=2012; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=DfH5Bb+Cx5AadRW9+jaH1GcMtyO0VLpMWlVREcJBr7o=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpsDxm7NNbkl7dnR5eoGZNBh/IFZgrDD/Cz7G1i Nuf0N+OiJ+JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCabA8ZgAKCRAFnS7L/zaE w8NNEACAbBKH2NWwSM1Mz+lOJfH83qaOWjprWgrcCwR5/JGaCQnrFvy63IiH9Cp9njz9bbvb3sX KIqKY13S3Lcnsab4bNU5UL1h3uKpBh/++69VsiUGdjNACk8Jp7wz0FigRoaYBqtMkjxeFlo3bRM LT6uFjE4NQhW6mCDI6fC7ZxdwayrLrNEGgpFmccQNIj96aOxtJ1Mql631jGWJhqUoVOUoVy/M/P lkmCKZyW6xeFME1xZ05QSe+neR/2FTEwdCa6/lv1IHrC5Ufi+Xq6XBtdeAwBraIXrf9TXNNnPBN er8sj/RHTaePjHJAAzKRHBrzWxGemSnr+zVRNE4hMhoNYeTvn9LvfoOBUSuGNVpR3CpDJBdkwZW nrSzkkfxc1Xe7+xX6ovsPtT3gHyRdiM64YzOrOIkZiAGkfMoBbmPpdD2Te6mqyLLex+rTI9Ww5B 0LRhSROfBlHDIJ9D6OpJAjBoPOWdhe31wX86PZ+2zYSr6u9brW0pTR6lLt6OYhoBJr7bzql6t6i wSiDT9l3m47j/pfJGSDyCITTycql7iBtXEuaz7z2aql9Be09aoGF8ulhlt9kwNyamfQ2d/+g2ML 305/3e6tCVFrRUIMZTNP5dOm6jw7DUQyB0fFPy24HtpSzBpKO6DRzHXSUOngL5uP3+GwxkVwYKi +axkBwuOz5l3ySA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=c9WmgB9l c=1 sm=1 tr=0 ts=69b03c7b cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=tWRRbWwrKX-5tUpmLDIA:9 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: -s8j26YE4G8Y3Lb5fmZ_JBuuqkzfPy7F X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEwMDEzNyBTYWx0ZWRfX2aAH0vuRdRsU VuGWFZg5OSTSSfKezMtIrg2+eDKO9FELvTIkFh8gav45dOoyZN6kwoyP1tkmL6Mk+gHtoKmHiOP KAYvCNVz+ubX/QiJq2BLb/1Lg1+0j/fHmSTN8J5GGtUxCZ+sCyiIcdFNPT2cF1dNNyksWMtRQz5 HPc9Ik1kIvLTvN9RMB+OfeJnjCcpbyxfQsa4G8yRVct7Uha7Z+VkZN0JiLOfcDjnpByZTagu3Dy VUbXWQKNctrSRmWVFe4gwES1hGWpd7BUS6mOXhS+6F9pVP6Y6Q+1mUTPIcaf0mSkjUowB74itTs 51hbUtVhCE9g5Wdi1fQyzCfNTx76OEiFKh9p8dJCWRHuCz8D09bOZ1kHVic/nzSo9qAIHgTBlx2 ouTxOu942AAF8WzxW9LAYAVAEBQMlO4kJywrCCNQh1v0bNHaF4q2MATnhg7QerKk1IO5tSzLbra qSbPXKCVPF+tnxLagqQ== X-Proofpoint-GUID: -s8j26YE4G8Y3Lb5fmZ_JBuuqkzfPy7F X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-10_03,2026-03-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 malwarescore=0 lowpriorityscore=0 suspectscore=0 spamscore=0 clxscore=1015 impostorscore=0 phishscore=0 bulkscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603100137 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 Signed-off-by: Bartosz Golaszewski --- 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 68cafd4741ad3d91906d39e817fc7873b028d498..08bf3e8ec12433c1a8ee17003f3= 487e41b7329e4 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; @@ -41,8 +43,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 Wed Apr 8 02:52:03 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 8CDAA3AA4F2 for ; Tue, 10 Mar 2026 15:45:02 +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=1773157504; cv=none; b=RWnMB5rndTdai3SCQsoHQFhrgBa0yarUsE0UKdx7PA0bI9Cplw8g0DT1Enn4ub/O+eaywIc1xl3U60g8P6WOg/S05NKkyKlDZKSvO999qOEJD1sQ8fPklI6T6oO/Ct/eVhH6VId45aIaoo3pXpKSHnNE13TyY6fjJZ+8Pf6bvmM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773157504; c=relaxed/simple; bh=H6RGZzI1m6Hy642I73fornlozWd6x9hkPKo2H6raYsE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=oh7PrHNqqIkTF+Bjz8tGtsRKVHMY4IWF47GiUu385QX1Y2WChbI1Z/Zejz1tsg+EnmyCA682BpWO3HakKeMUQPDR0i2YPxpjpv0SutqTJAx5YFkfWWif5ybLuJ7WayxyrPAfVBz74CdcJopEAK/WZB0WKC8thNa/OWIrJsWPaqA= 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=czXtQt0k; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=DCdI5WhK; 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="czXtQt0k"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="DCdI5WhK" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62ACaT012861861 for ; Tue, 10 Mar 2026 15:45:02 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= DQ9O/WxlrEXbsvKUWZga3GBiGSWqxH7TMX/h6DSnlY8=; b=czXtQt0kMql3fO7S bsg5gPrIzRdWbhOrP1eV2eOHWzDOi7vJzj/5hJfSE3CjDpRcbiPEMoJsTzGMhbYw bPI+oCn1ciuvp0ldliJcEJ2vgwXO+7jZ8ThbJQ+/GyBSB9qmZv5EqAosvIHOd3+Q 7widN5YRCTPDTv9EzAnFpygK9O5jGNYM6MTzYq7ZbcSujWXPeMQpsNJIo9CayXzz vjNdlFxbt8F+yc9IUizIMFFPlfmcXw8B3gQcwRD+wCzttPYip3C10qn37yu8qC0W TIB09fTvM/U56zwSDyYzg2Rw05heGsKnOQ7N7pwcUv7ebubpjNOBZqbOyaWWDk6c d7aLXQ== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cte3wa2h6-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 10 Mar 2026 15:45:01 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8cd81506677so1446070185a.1 for ; Tue, 10 Mar 2026 08:45:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773157501; x=1773762301; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=DQ9O/WxlrEXbsvKUWZga3GBiGSWqxH7TMX/h6DSnlY8=; b=DCdI5WhK+nfyxUyaq9LOWp33RUK1UhYgQ6fsfJ9fT7G9F/pLEiDLc6fxVpdaR8sp3Y RT+2CUEl/kVgGozSLRKC66NNLVtWk0AQPr6GnzK5Wp/OJj1xy0uUYXPodagOTneDBQDP CDechCNcqfdct/tVUEsUoD+hABVyygkHEVjCnKBU/lq+UhcjCsGIi4/q9pgf5cN3YWhS 4so8rgrUjqTrYqlgqDYtrS6s5xu9w3jDqVDBxbchiuoPm3DdN0dRlWStuQcx5hxhnO6K vXq7ZoEyqKE1LqCXnFz29MIco8GMJ817wowzpnhTewQDqlUYPd8YiyLcs5CNU42bTxLo 9N5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773157501; x=1773762301; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=DQ9O/WxlrEXbsvKUWZga3GBiGSWqxH7TMX/h6DSnlY8=; b=tDHiMrIY0TG7KxKY4oRkpNRN4bieK9KjHpwNQ+GR/FuIpcRxLblZ3kac4fcE5aYMQ9 EQWtIxMJv7qe4Wq5vWrWw4/VQWUIlDqExlZ6pY/vJo10oUKRtk0LN/tDbF3XuxQTmSRt /zp2B2l49jQ/frZhwlpCHOi0dry6lyRFC9bK9hcR9u44PjBfkEUvJrmyT1P18w4uxTtC THOW5yYB9bQffrbRpmdTZ8cITBY5yHpeUxYXAF8RX1Hx3CaspcNZFkvqJHAL11Ar5G04 N0Uvz16o4Kkg6TCrsmE3qS34/ds0+B9vLiqplex30gr3g+3KHCIG9mMDMZhDXJDpHAaX Greg== X-Forwarded-Encrypted: i=1; AJvYcCV2tkFl2wSe7u2Nz04Yu7RskYTQ6Mvi34Xnn+L4QgjgPiL3NGssgIOShKeKEF+nv1C/Znsu+zMlF5I/QR4=@vger.kernel.org X-Gm-Message-State: AOJu0YyWnYCEUEZtt0J1TNtjsQ6KG+E+4AfBbzaiqDDnrUnB/l1jOFoi zl/DF2eS5KhyOJ0W0I0BRA0YnMrwzLa6u9x4cAWhWfqVidyDcCtepS1iNeDEDk5G57fGcWQnAZh 7bd4KsT6SLRnbz7yUVUaXjLzMZDdkpdwnpzI/Auv8GkyBH5JiJTaPkxTIYX6V66RMaGE= X-Gm-Gg: ATEYQzzFSn9i2ugQOGus+qR0H2WHA7G6yf7J46ZMs5dj5toS40PNB5wn2yguXWl86Tr 1Ho/A+nC+gyjt30v2ytmCE9m9oGlTsDH6vGomhlcthmtuvyAqbAxqyfuL2ZChvEd75pgg2C8q1j eoti11HHSKz9gpRVE7th92Sso/zKS7MbLLbWwFHvcI6ZofQQ6LSIhEQQTSAGfr5dP3YnJwuOwbH 4XbQ6KTSr33HSJ2VG8sz8keTgiYwA6fuivkwGz540D9u4+J0ZLkfvpSGfEkkXOLfFiO5eWrfvk3 +iND14PZJqkEmu471270JS/BtD7jcrMl9a72VIhaU1cQ7p3Hg/GjijMv7DfnFmuPG0788pCDxZf d1OkzQwSrxFGJNBaVcUxITRQ0EJXEsIU912yCUwJ6NBoWQ5KoaKQE X-Received: by 2002:a05:620a:45a4:b0:8cd:99de:6b63 with SMTP id af79cd13be357-8cd99de6d88mr203683585a.67.1773157500833; Tue, 10 Mar 2026 08:45:00 -0700 (PDT) X-Received: by 2002:a05:620a:45a4:b0:8cd:99de:6b63 with SMTP id af79cd13be357-8cd99de6d88mr203680385a.67.1773157500334; Tue, 10 Mar 2026 08:45:00 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:47e6:5a62:7ef7:9a28]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439dad8d968sm35991600f8f.6.2026.03.10.08.44.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Mar 2026 08:44:59 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 10 Mar 2026 16:44:22 +0100 Subject: [PATCH v12 08/12] 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: <20260310-qcom-qce-cmd-descr-v12-8-398f37f26ef0@oss.qualcomm.com> References: <20260310-qcom-qce-cmd-descr-v12-0-398f37f26ef0@oss.qualcomm.com> In-Reply-To: <20260310-qcom-qce-cmd-descr-v12-0-398f37f26ef0@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Daniel Perez-Zoghbi , Md Sadre Alam , Dmitry Baryshkov , Peter Ujfalusi , Michal Simek , Frank Li 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=2620; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=TfRVgyaOMZw2GJQ0rx6WhRl0huHGm4mvuAmz76BcVUM=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpsDxnBmZidtWMXZaPT3l/WWwZfRhiDNpJ+gEit 2sntl26xc+JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCabA8ZwAKCRAFnS7L/zaE w/T4D/9bHSSLSAMvxxk8JrR1ox+aKXUbGDDHdvt8QiTysFu6u331mNL/QlnmNHXdpXuJVTIpPP+ JyVAb3tqGwkOqyJQp37nBzsJLwglR7wWDtlVB0RtaiUX2qYSLwaicI2se7XzaKcLBLdyEhm6xXq HLC9owY0i3rnANkUM84NdpWXfLEx02god8obx+gDVBoB9VKJfinmQOcHLpCZi5BcUT+PMs88IXL YYkukBOKM20jiMGFWCvObLN3OU9VjOzHjUxj58RaidFp8oZaIp2gSMaBN2a7H/+hjyvHc0X4F83 KFP5Zj30OMNHP4KaMob5DyirNFVXKZrCouEliBjv5eZfk3IQ8MxZHCfVKcdGIKPDE5g6W08mwDO ynpDI9Y4/fZFY+EQtjT0WA2ZzmCCXjfj4R8Flr4/85+Wj4EmZBto1x/uoDoItL/OsPfjKw1XYYS lMrt1n8VxfXcOs4wHJkDibD8rXOgcOk3YxBWPGqXQ4YQr53kSUT5g1lKz352oVqifgEJqnwA137 ScstXXmJkzf651egLL/dmhzrWGCMHMhG/2vnwL/9cxG2T7ppKhJdJ8rHmdF79eaadapLE4+14YQ n+APwI/CiGns90EbALQWxnfZ0o5jeOPAkANI+rvTol0y//KwN56XPP5vl85fqHZ8r9POOOrmyoM AlwFNVtmN0/IW2w== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEwMDEzNyBTYWx0ZWRfX9AEM/W7swm7t 57bjGk+F0JXrQdmkw25RJUTJdnfJq82HH3GoQs6qOfGX1HdZSowCDV3XN8Ux34uRPAT170k+AK1 reu6XHVBdIiZjctKPhdc2Bc0sAjLs9Ir3gaV10IjksZpGf0I0ArPuJIxEvKB80cHjg2sMxbz94s r1C/BEuDteoL9p9yBhT8oRD0AlW+t/WlyXsBuuJWNDsboNSCBdmBaJhOLVIftngNjQSuh5L7dlS tCxByxvFmMDS3p94PZfkdici/NZ5iTxOD/5dNLvj9NukYI3fl6NGzqOkQ5jPQmZJTXkhqwe7cYO J3eEX3hh8xY46oYTP0/AIUnUg0eL5NllpLmi9VA8T1QfB96zcaV4zacslQ7kyajgoDRP5tHpIcA ZGp0+jpMwdxcUCHxOMzyd4CZ4CieIuqLc3hh2PpGs0xvPEuROsOvhY2Veu0JDKHAKwldMoHVu+v +bOMaAx5FkvREeHLtcA== X-Authority-Analysis: v=2.4 cv=GtFPO01C c=1 sm=1 tr=0 ts=69b03c7d cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=KrkfD191a8oFwBap4LAA:9 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: 47nDUiXOlvIfKeZEKjdLME7gmtuz42ov X-Proofpoint-GUID: 47nDUiXOlvIfKeZEKjdLME7gmtuz42ov X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-10_03,2026-03-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 phishscore=0 malwarescore=0 clxscore=1015 lowpriorityscore=0 spamscore=0 suspectscore=0 priorityscore=1501 impostorscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603100137 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 Signed-off-by: Bartosz Golaszewski --- 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 65205100c3df961ffaa4b7bc9e217e8d3e08ed57..8b7bcd0c420c45caf8b29e5455e= 0f384fd5c5616 100644 --- a/drivers/crypto/qce/core.c +++ b/drivers/crypto/qce/core.c @@ -226,7 +226,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 08bf3e8ec12433c1a8ee17003f3487e41b7329e4..c29b0abe9445381a019e0447d30= acfd7319d5c1f 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) @@ -20,8 +21,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 Wed Apr 8 02:52:03 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 3910D3AC0E6 for ; Tue, 10 Mar 2026 15:45: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=1773157507; cv=none; b=E77NW4NAiSqfLBX2G/y3nMu4n4HJUlMP+GzvWxShi80l1htk9Q4i8bVrcdqjvcsEr5iaZciG+nevrIW0Rxav9pWoF+le7y05bUEgACwMy5PeOJfm5930bwi8+SLhR11728hjQ0mmVrmOSMaaiemhJG1ZPEiYi7djMWh59R1yh4U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773157507; c=relaxed/simple; bh=0l3gdVnkPeEhRWmaFMSjmRRcTqey535uYCWAXzuHtwc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=efet2HH5PfN6RCDuzDtRS8hQqXYQV7CW7PbmHz4StTr70FUKAtrEISp54NsTNtWxjVsO5DQS5s2LjemEv4Wjil5kAuxJWQInLwTzq9y5jUxYq9uCUm01W9wqRaod4Nn1IIkXzTOp7MLv/fJggmmSkz2AJxQnW/AY/LS6W98cuKQ= 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=V8oRJsoT; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=dif843Ej; 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="V8oRJsoT"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="dif843Ej" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62ACb6ML026003 for ; Tue, 10 Mar 2026 15:45:04 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= bP+u/9sMDsi5B9HZu73nJnAW0uvD7B1160U6L0iNO8E=; b=V8oRJsoTrmUec7Cl Nhf21RUxYttu5cmPgUVMt2Z8NuESdP7FosY8Xv1NI3BvaTNeZR13EJrBHmJp5iHE nX7DCnXrAyWzR3cA+2eeY93q+OeFMmcGMblo/NYI1sDJ5s4EXiqC9JPr6bCXhrJz veCIk42z9ki9gbAvw29OsmuIwUdJOmuwP82jU+nC9ZpAy/n7JBvw8CNrliViKd35 8Mv9hfGxyk6YbTNgKUWOCnYF70ADyMVxd/cORXG9XoE7IiSUVsd1l2yxan1He7LN yeM+MWfPx97b8DFwg+FCg4XyHq1kiNzqKEmZe0VLEBx1m7yVx00kNXujyv7chFXF QVKRlA== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ctg5nhk5t-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 10 Mar 2026 15:45:03 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-8cb0595def4so8831485a.0 for ; Tue, 10 Mar 2026 08:45:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773157503; x=1773762303; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=bP+u/9sMDsi5B9HZu73nJnAW0uvD7B1160U6L0iNO8E=; b=dif843EjEWq9kMcaTBPn+oqz8V1/qFT8Xx3IFHG9c5TiU6Twmx83po93dYG1BJBY7F Zk5PYJFCVDKiQk+z3uEgrwLzJBJ21vnSFU5t88E42YBpeTIct1Wtm5o7dU9fXUZ2RGAP tFFnDO1dFOnWleqAnY1Lr9nEFkf27VfOA/p3qQXUVhGHOVlw5cw7ltzdpvtidepqAKKa FMnpdG8kkuhXmYqJzM8ISpXFAlUeqqD3GLcxyaJj2gzilkA8L33GSstkWPYS0qEck0cm bx/eXHpcijU6H58DrguZHbJ+05JXNXK808bGT+z/Pjf7DobfHX4rHVVwa/FxjtDiucfw hqkQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773157503; x=1773762303; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=bP+u/9sMDsi5B9HZu73nJnAW0uvD7B1160U6L0iNO8E=; b=fWQeQmGvMzLTXKmC9FbeMEl8zpbfDu8+ANu58CkHjkquv/vJpnvo8YuPlerqLqDhWO J78hTmpkVFYFOKLZ+PSd5GrAwjTesnWlVNxmP4DXrMxR2oTDAtz+sSYBdDF0VOG6w3OH f2C0BkeZOQXuaMDVocpXJVIMIHdLYagfiSHJkhcSHdlnFZZzHaeISnfN+ntpUIM8F5ea /NSm2SSZcrRRYON2CExxRcI8iVVa6z75CTmkbykrXS5otNtvWLJDLsE7duFiPUF4in4A BKdTTHzfGvbNlAhcsp4TS5vMKzB5+XKklgTLR+vovkUDyNa8hmiw5cosIddd1u7aWDAu rvBQ== X-Forwarded-Encrypted: i=1; AJvYcCX/Pz0Y+qSsb4etLorBL0B/wfvD74JCbzgd9ubwIlqA5XIWTnsRViteyRL2Z3g4e4XkWM91AOX/9Vl5T1M=@vger.kernel.org X-Gm-Message-State: AOJu0YylGB3SRoFOSkfg/D/TH/7OYZisMTunLiV06Hhfne2mC0uMMmA1 sWnEhTa0JMaYjcXWXN4eos0Wtb7cQx++sK2EosmyZawXmAtAd9NAFqP6LLDFsm7diLk4B7E8FX5 Jhz7j1nsUJiRvr0vBljSwhtnl3URaDf4fCX7CacFKB5CJBeFpxm64BkMyFfURT1Tqouc= X-Gm-Gg: ATEYQzxGfxwnRZfLRA1J4YJwW7+c7tqpldaNoX2nPj+5cApeeWb+7WPl1PwxQMTVFhg zC/qC/xxexcf5a2HypfXI7vYQQKr8zLWh90gRcJvj3n1pmeFfxBvI8dWDQicF9SYXHh5O/YrzZB lIdU7PMAdj9HDi+/o1HUxCkFmXNbc50p7oibU4iY9Avln1pZANaErH7fuaVWvkM1r20p41Auonj 7wnLPCKZvu4sOjdNzFOaCiV+mC3UuL/hrl3AdHUVmw+xpKBqXaZ55LMNrs68PUbO/DGxIhBXzTS XmoGczFt+UCrQZN89Wod9M5C6D9NXGaHyt1xyoG0pJkMCA8CughJJAf04eLHSkdSaZoM9Yof3+U wtjmeZhmwCXLmeV97PzKYZSwu3vsufVNxrvY6UCdMbtcaNZKlKvrI X-Received: by 2002:a05:620a:4049:b0:8c7:3ff0:d472 with SMTP id af79cd13be357-8cd93b759fbmr440042485a.15.1773157503289; Tue, 10 Mar 2026 08:45:03 -0700 (PDT) X-Received: by 2002:a05:620a:4049:b0:8c7:3ff0:d472 with SMTP id af79cd13be357-8cd93b759fbmr440036385a.15.1773157502595; Tue, 10 Mar 2026 08:45:02 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:47e6:5a62:7ef7:9a28]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439dad8d968sm35991600f8f.6.2026.03.10.08.45.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Mar 2026 08:45:01 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 10 Mar 2026 16:44:23 +0100 Subject: [PATCH v12 09/12] 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: <20260310-qcom-qce-cmd-descr-v12-9-398f37f26ef0@oss.qualcomm.com> References: <20260310-qcom-qce-cmd-descr-v12-0-398f37f26ef0@oss.qualcomm.com> In-Reply-To: <20260310-qcom-qce-cmd-descr-v12-0-398f37f26ef0@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Daniel Perez-Zoghbi , Md Sadre Alam , Dmitry Baryshkov , Peter Ujfalusi , Michal Simek , Frank Li 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=2266; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=azGHQ+ypZ4Lhe2NPlFIx77n1JCkKbs9Xx9/yXH7ccEw=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpsDxoASiICoA9hleQ5opj9eSOBzzMms4wrV+Dg aMURjFNjU+JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCabA8aAAKCRAFnS7L/zaE w0P0D/4/AB/FkYe92/SLONU3+Sd+/cg7ssbvxxZ4YdW6TzgTD5EPbsXwa5V2U8eZptNsSES7W9i bOkRPDby+BLPHUq7wSC0wakdBUWSKs8N5Q6CW1vps1Ycdqqygj7KMLNzggMIioK4sGABSYx2owS jf1uRNQTx5aKiW/+tNGz/4YVdDR7VMCoPBTucnrazXqWgbiAIuyJKT09gfXxRdY2THAh/fZtcbQ kPJBKUNdPH4hbxX9LXCT5OH7ugnMkQ8yTvHbaKSecBSFqP21FlN06d1WBYq53O+4f+4eWcCZ0V0 7cXs1o24/VQQWflsWPim7hIs7OLhMd/N38BrCEA0FCGp6b7wBmdmq+P8soN2NwTcySK344MIf8M /zJlHydGUfxRQmtQL4e6Tb396QmW7oAs8+6wG0MHQ+dakS07vZX2c4bIxYkO4QN54uSvg8KnGIZ XEj/1ujU0LOFJxRNL+w9pr8FuwhJn3X8qGPDDtVsz/Fgmv9ToerLZgFIArY5zyTsNQatpA+NoA7 qbbudbHqRdtuwrKQ3V13NBLhKmQyjGAFD4gVJpDJ9zqijBCrm5+7P5xm1zUKNdAAUFnZyQSndG7 SjMqnZgClxvoCe+efbb64GpY/S42RZZVmOZ9a9bd9TdS6kdAgnnIIn3OnUrWhbCVgZQhs8C+UPi 3I+FPzpjDlQMscw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: BZuYWnIhfEobAawsYEAJv6o6TmWC81vn X-Authority-Analysis: v=2.4 cv=ervSD4pX c=1 sm=1 tr=0 ts=69b03c7f cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=r78XHnC5kAO70zNBxnsA:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: BZuYWnIhfEobAawsYEAJv6o6TmWC81vn X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEwMDEzNyBTYWx0ZWRfX5x00nj+UI5AO 7MmPVUFLo2+l+NRbxcs9j8kZlcJLFiessYwJXgUFH4199aJ4Q0/tus9cTIgDSG+Va6y9SDbDKph NOisa9cwsAfcNFdK8YnGl6nu18Gq7lhikmMM5jcUSWtkO/RgreEeMiMdKnj7ZbIe+VgA9v1FsMo kSKvy2oWp80sP3akfsZrX23VUPjSrI2ULZ+XTSiKzciZf2hP3JcyRg6gXSByLXMR+JKSVbG3cd0 c683dlpJl1XKYshuiaCxJNrAlhbK2tc10+xi1DH6F1NjUHMMsA+xMOYeprqilFNJb9PTZ0/hvwA wUL/yN7LDTZ3XMCVsArdPluNk7y5y39h5v7fRMc6LZsqCNDFJo7Q7DTamMNgag6fLsjcNTuK0Gr lu04Y0/1ceDWLLn0cgaU/1xVn6eFUkngJEGfza2XT+l9hhJY/CAyiybMd5bUeTpc+gTRXxblThH 0U82FnKIWXRvwQdb5cw== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-10_03,2026-03-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 spamscore=0 bulkscore=0 impostorscore=0 lowpriorityscore=0 malwarescore=0 phishscore=0 adultscore=0 priorityscore=1501 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603100137 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 Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/dma.c | 39 +++++++++------------------------------ 1 file changed, 9 insertions(+), 30 deletions(-) diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c index c29b0abe9445381a019e0447d30acfd7319d5c1f..a46264735bb895b6199969e8339= 1383ccbbacc5f 100644 --- a/drivers/crypto/qce/dma.c +++ b/drivers/crypto/qce/dma.c @@ -12,47 +12,26 @@ =20 #define QCE_IGNORE_BUF_SZ (2 * QCE_BAM_BURST_SIZE) =20 -static void qce_dma_release(void *data) -{ - struct qce_dma_data *dma =3D data; - - dma_release_channel(dma->txchan); - dma_release_channel(dma->rxchan); - kfree(dma->result_buf); -} - 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->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; - } + 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 - return devm_add_action_or_reset(dev, qce_dma_release, dma); + dma->result_buf =3D devm_kmalloc(dev, QCE_RESULT_BUF_SZ + QCE_IGNORE_BUF_= SZ, GFP_KERNEL); + if (!dma->result_buf) + return -ENOMEM; =20 -error_nomem: - dma_release_channel(dma->rxchan); -error_rx: - dma_release_channel(dma->txchan); - return ret; + return 0; } =20 struct scatterlist * --=20 2.47.3 From nobody Wed Apr 8 02:52:03 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 B54153AC0F5 for ; Tue, 10 Mar 2026 15:45:06 +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=1773157508; cv=none; b=PiOybJfFgPauhhLmjlynbvXHwC/9nLjYqv/YoRSFj81keEyl7Lt3YjybHvTKL9ALJMvgk54obhJmX8q2v/D9wBegb8hRY4Sk/Mzf4UeQ9o+4t5IqMpnEfsqnTPmVoIj2Dp2WMdsdrmeWFr6kRve4SFGikT0VU1+FvxH4NfpF7FU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773157508; c=relaxed/simple; bh=FnVBtOe0OnnBy34d5WsqwWSUvkeiYQ93/vJc1qwp/2M=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=jh+LjJWExag/7QwekjMIyt1U3DuzuuK871CkE9A0st5El4V3JrwO0ZKLyfPNaF/hX9ig8kwhGOBBjMM/Dlyp93mQWOiD+SToEYK33ncQcOCVysjTHsG+75FX/wLLpi5lwL12wmUaEHuafllXMDzd86EBwVqqBqcUSf1sOBQDdtU= 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=H5XgHHmX; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=hcOsZ514; 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="H5XgHHmX"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="hcOsZ514" 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 62ACadwS3772305 for ; Tue, 10 Mar 2026 15:45:05 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= MnBQFcKPOgFHzTGJJB4DToRykxT+JvIdZWyKHEJZL1c=; b=H5XgHHmX9Ide9a2L ssC4kHTnxvjQNiQzfqnkAgCp2muei/otaz+Cs2RrEpXCYgYpUOVRgdnyyaB+wL5R 0fc99fheFD3lpSPX6v1iZ5eZlE5LmAk4KEmFX1iaGYB6YPPA3Eq0thlA4NUP85q4 TURH2rZpxVKWH1VLS5FX9i68HspSf/fArOU0XEv6QitqEizHLwo36VCN15+CVHOd 9o+pic4GKqYY+LTU6RUQfhY99Cwofu5Q3DDEmpqCLMKoteLm8aZha3OTwyXlD1lt MTMH3VbvgC+OIvCuRx20dVJ6tu2iO9JjOh6eJUTF/+iEFP+QDK+Vz5F/PVWH96bs bfCxGQ== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ctfcj1t1m-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 10 Mar 2026 15:45:05 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8cd7f6ac239so1698336085a.2 for ; Tue, 10 Mar 2026 08:45:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773157505; x=1773762305; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=MnBQFcKPOgFHzTGJJB4DToRykxT+JvIdZWyKHEJZL1c=; b=hcOsZ514VGRNd/N3E7ZWgTJNVY8RKhCfk614Z+mbEYiNFxmhaJbwSQMJ8QHmgtiQj+ 1HA7eaFcuYaYQDvQzCGOX2/FwKKT/ls71lI/a2+23+34RZqpvqbikloNCAbVoCoHmfjp 0LjdwVH8KP/+TR5KT2ifh4YAle41S6zDAfvaK3k+VR6Pio+LFhKtHHfYLWvIdI2bRQW/ i6LRDISiedtjN9Va1BJSxuWQqAqfOeqW2SSnKJdLTsbp+uHlwJptvlzReq1UZ5X/eOE9 Fy4rvNaRRnehBK0BwQvEbEHk6N/VivyFW93QRVS6A/+k65M2pJg5HBFDh1zFoUfgYvkI dRRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773157505; x=1773762305; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=MnBQFcKPOgFHzTGJJB4DToRykxT+JvIdZWyKHEJZL1c=; b=Zkpb4Xnq3vx446fziF9//Y/fZrUqQf1yox51SPNjZmF5iEARs5ht0bc+gRHdDqcuE7 m5o8eWopqhwCvp1oYQCPkkjClCppVzHUMKDZ/rSrrx02OhUjfXu269gyFvI3BgLwoO95 mSluzMOXNbkXdgE04523V7sCJVG3X1uYmaSFxa32LQfUl/xs7W3CCBlgUdY3aKODA4jk QAbDQsVqldWeu4TgIWxIYBJA1jYeLbdFH1lEH21FVoyBj3EeIq6g1GMnib8A+w1rKMXu IGpNXQ5odhJYaEdE4awQSMpLarWumzo7gWNUSGKsPqciK06UKqLvnbjBWnq4/LNH01VG 2VOA== X-Forwarded-Encrypted: i=1; AJvYcCUi5tVvmT8lijHpKLVneznNfvifcBMftgmotKlK8kFemzpYPxle24flsO27Li3FWK0hvKQ2/U1LXT6/+r0=@vger.kernel.org X-Gm-Message-State: AOJu0YwO2cnajErkItd82oDTv6hABwX1bpYQhCtWEltWKsSEHPupJshJ Qj8wKb/jAMcaSjZyVTd7D9j3bSDfWj3262OMRF9Ocfht2h85YFTT4wSdTE9HGoJ49JZZcE9X2sw OnpW0Vcqh6pyQNCKdQ5PVW72olQyLmuVSfMI+a73T57dIAKRPGwGBaw1ucQIliM9RMdU= X-Gm-Gg: ATEYQzw1uAsaRwsJNIrPPqYdjXugIoTKYEGS/nOHnlvxNXZT6Hon33JcENGVdLpeHoQ 0JgfhHBfZQ9nh3hAdjF0EeGorog7d7v/qMRJNn6QzDlZy3GYGsqgaYFqn9is5TjILs9DxTpYh+I 2nhu7gLrmGK6ZPyFa8vF7Mu0J8dPSbTUGM2pO0Bs52hr7pjJGZ4A45n4NRUW4qPEdHcqoXwee3R 2FVC/hDclEHkwnNjHmAiiCEsBfLll4nU54kgCjzZ3aL9bI/7A8ODTCpnt49H6j9VyyqoPhqY5N3 svmaGruOyeHrfNwk5Q8Ak/VX8mbHDpQjP26bHZouGJSjkcp3QaRCWOHKf4VLnctb9n49HA83JkK 2KXWbRYD1LLL4xOjXPOQQqsKA+1XL8wpkOmCd9Ivq/mCKdnN1OF4J X-Received: by 2002:a05:620a:4713:b0:8cb:4fe7:4c8b with SMTP id af79cd13be357-8cd6d46a65fmr1741700185a.62.1773157505029; Tue, 10 Mar 2026 08:45:05 -0700 (PDT) X-Received: by 2002:a05:620a:4713:b0:8cb:4fe7:4c8b with SMTP id af79cd13be357-8cd6d46a65fmr1741694185a.62.1773157504474; Tue, 10 Mar 2026 08:45:04 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:47e6:5a62:7ef7:9a28]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439dad8d968sm35991600f8f.6.2026.03.10.08.45.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Mar 2026 08:45:03 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 10 Mar 2026 16:44:24 +0100 Subject: [PATCH v12 10/12] 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: <20260310-qcom-qce-cmd-descr-v12-10-398f37f26ef0@oss.qualcomm.com> References: <20260310-qcom-qce-cmd-descr-v12-0-398f37f26ef0@oss.qualcomm.com> In-Reply-To: <20260310-qcom-qce-cmd-descr-v12-0-398f37f26ef0@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Daniel Perez-Zoghbi , Md Sadre Alam , Dmitry Baryshkov , Peter Ujfalusi , Michal Simek , Frank Li 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=3159; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=gRGqUxioVpJcY9zBfeIZn1vIilzfanwkfyseaIOaQFk=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpsDxpruHRIFXTdAiT1NdYBgIWl9dwNSWxbmDhY MFpLWTuOaWJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCabA8aQAKCRAFnS7L/zaE w8zjEACU75BhOGlQUrmhew1Echsz07OmDT9fQ5Jvtf3m5VFeQIPOwMPvhOktHYTiLlqBJ29Y3i+ d+mZGPPm2Ujrp5UEcdENXELjaWDu89uA3/2CtY1Si7b30em9oF2DHt+knNGWYfrFWQfmrOcq0Ds jzm9v/o079w4/LCQyV8cp6sMbIKaNpu1IIX6qmC3k2kg88q54U1epWJgpHBNimAOCU7ynoqTMHx qtS8ME3YGIHsSrMGbBA2YvSPjTcdbvt6lEUIkyz+SpqrMV3j9nI+F5y+1096/pz8aa3P/DfG7yf grBswCRkiIR9WwlU7VtgVT8s4Q++Mnqrg7Nbyif5XF7G8UR03c7uCyahOVUpWYya7osRWNMUhV0 P2z5O9PEnhDXNSP2GotH2dGEKUN+wraGq5lyXmfiFcjTWccCO06/cjwPz0rKVJQyfhyoisbeqQl n5gtxGi/GiLXcRddAgj13RuOXPeZJ+glN7vHS7frASzagP//9y50PFu3AB7AreCuUmukCGWV6yG VYWeF1TXvZhVbdClbjDaE4+gyTsceihbUIYyvQ8UBPR7qaIExxsGOIbRqMZ+hPtwRfURHJkJsJb XsX/w1VP5qhFOzDoSlUfvaYOTZ+rzENnotBpvim4XuirlMBL0dCxPUXYYCRaLOmJrlXzuY3asBh G3844dVFNV3QL9w== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=H7fWAuYi c=1 sm=1 tr=0 ts=69b03c81 cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=76fuQ0JqpD8MvifAs1cA:9 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: 8z2tEGJAp4e8OJLWJj-yHWBG-WS0wmAO X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEwMDEzNyBTYWx0ZWRfX4MmO6iY/FlYW lLX1q6Xe0ABO2J/sbQVcZMUYUN0FNWP/1swAOCV5jcfVtA/t1Clfm4wDoAjyziw8/WiknJXuEQv bbb7YKeQaIKiOiUdRPR004PhMMADhaSnihx6LDqYQxnu0x4g9QefiHDBICSLb1Ijp5JD6bYTsek vhSVUW6pCT6P5TG1/RTP9W90f/dXyJLItFsMeUytRR3XuQTAayD8GgRgrcR2U0tA4OPRTMXg3q7 M3M9Sta7i12sM2F9z/rjimOLhkY+zJ7NIoRSt/5GH8TVosjvVBeGnnWpZ8C9dIdHpHsR75hvshj wByFZc5iZpXKnx//K7EIrKrlljLbnkTkfOKHxZDhUAQQyRwmXtrXrA4Xy0Ru53TtQdyWsCjy0xq LirGvxmWl2IJjpwlr/zhY1W3L/jyG+f3gaCvaq1KyJRujwzEWeeCE0sU9VZTRvb7SLCfXxa/GAH Zl/xGm7ZYgSvUGRN4lg== X-Proofpoint-ORIG-GUID: 8z2tEGJAp4e8OJLWJj-yHWBG-WS0wmAO X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-10_03,2026-03-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 impostorscore=0 phishscore=0 suspectscore=0 bulkscore=0 lowpriorityscore=0 adultscore=0 priorityscore=1501 spamscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603100137 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 Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/core.c | 25 +++++++++++++++++++++++-- drivers/crypto/qce/core.h | 6 ++++++ 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/drivers/crypto/qce/core.c b/drivers/crypto/qce/core.c index 8b7bcd0c420c45caf8b29e5455e0f384fd5c5616..2667fcd67fee826a44080da8f88= a3e2abbb9b2cf 100644 --- a/drivers/crypto/qce/core.c +++ b/drivers/crypto/qce/core.c @@ -185,10 +185,19 @@ static int qce_check_version(struct qce_device *qce) return 0; } =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); @@ -198,7 +207,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 @@ -244,7 +253,19 @@ 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 - return devm_qce_register_algs(qce); + ret =3D devm_qce_register_algs(qce); + if (ret) + return ret; + + 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; + + return devm_add_action_or_reset(qce->dev, qce_crypto_unmap_dma, qce); } =20 static const struct of_device_id qce_crypto_of_match[] =3D { 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 Wed Apr 8 02:52:03 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 EB0BC3AF643 for ; Tue, 10 Mar 2026 15:45:09 +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=1773157511; cv=none; b=a2Vndvi3ZV8OfQREaSky4kaHZvqXiy5oTRSJ6wggj/4E+zmpb+8SuUX5RyzXRCI/VZqQD/0lE3oaY9ZoEf2DJE8XXoVBSrGSoNQsrOeoggPF/9rLfvIxly2h+bkmcVegs/jLrXAH29j4DdSxU5Nl/rAc5ieq4eAX2qrOZ1+pgEk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773157511; c=relaxed/simple; bh=IpyCcQVX9q9Bh7P2C71ZivsP1o69+7Z885fDtTkZvoI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=NfcVWaj55g5hdg1rjFKyBQgmvrGaH/j1VyTrmKwfjLHSFT3H2RUnk1jtAHgO4oU0rwgjUpgn5/O2WnZbDIaYdmZJUYVeIwj4tn8qCBnNr7/0Eh8rtI5FE4Ele+BhhMuHVqmQeZB7S9Kmq5RuTtXlDxLRFFuR/zWgVrbOpPEdwBM= 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=jmfLKsfx; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ZfYC8HI6; 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="jmfLKsfx"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ZfYC8HI6" 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 62ACafsl963875 for ; Tue, 10 Mar 2026 15:45:09 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= 2/urxcQjHbvUQXWmg2wCVncg8OrfyW3z29xPxxSUMIY=; b=jmfLKsfx5sQaKyfd wBVCBRLC1nJIJdNrNmT/QhVWxi7tar4Y7s+fLPJ9+jYPSRDKOL4zUehZ96q11o/3 jp0EIZ8qp6YfzyvKkYmkDN7xBGicErFJsXQveCVxj94Xf2D6DFa9srBjmpTTKleX 6uEWCaObpGOf+HOctRTmulnvre+KH0yWl6gmo/SWugO/pIFbsLXoh8nGeLWgIVZN x7Q76pF1pT6K8k+cCI7/q+u7oeUU2xOG7x7bmh0ws3cgnaUtAB8MZe3kM1mgyNkT 4bU3C9JtIgcf/SRrj8OtwXjU7umNMb+YHkPV5amgxBUzojIrjdB3mBV1kE+Qj1kn Xb/ujg== Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ct477kvj9-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 10 Mar 2026 15:45:08 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-8cd81be6f05so1502825785a.2 for ; Tue, 10 Mar 2026 08:45:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773157508; x=1773762308; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=2/urxcQjHbvUQXWmg2wCVncg8OrfyW3z29xPxxSUMIY=; b=ZfYC8HI6IybIKy8LMLn7yRrVWldRGCcSLtfA4Hmso9sSSz03JgnAqdcYt0HEKProNZ rnnC8lR1nFjuelg+eD2XaMwy6j6VlfdLMDvHGX+GkAmIpCegvumE7y4YUxhghMjxAadN YGjauiW/dyIGOWroUUHpuuXjwa/aoleSbCRjDiXVNKo7rAjInKsgzkzVc5Vu0tgeibB1 pLHRwpuWb+xnBgwiN147WBnHPHJGWVNG5HeoHxuEJfogsYWuKvosxR4lehMQhtXX/CpB IsleNGvVfiLp4Ea+1Q3vo5Bm5OsuSELM8jTyJdeZpDtywmG6O0Z5nXpRniJmRYEvTcLv Dnew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773157508; x=1773762308; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=2/urxcQjHbvUQXWmg2wCVncg8OrfyW3z29xPxxSUMIY=; b=s4KtCA4fJFrMoAkOtHwrmXPkjK0tITl/seRTTX/ckIFALgQl4h1PQf2Rl/2iwe8S2s ivKG5WPMsVu+ejjt6wBLpJ1HMO6srD8UOBj3OJIFqa6L+e99WR8ig3OyFuStBtlw2ClI 4tCTvoNXozvnvB3p+kz+rGHv+pfxOnIWiWLVky94OjPnmOatiMeNa6tMOy8mPoSTojDC MclVrDK4NaMWq5qVYXMQjrm88nott14bTTOdfTExctEICBlzzzOa3xNf/QAS5AyqogKS 1GNeVybKoVa3CzLk4dodmyE7Ko0Sv/u/NwWibjicU5BJ+SYnUrfBmxzFWITFDN47Tge5 p8DQ== X-Forwarded-Encrypted: i=1; AJvYcCVMBKqQlD09Pxoibf9TZUGrDf/rD9rg86MlAOS60l3qHnhlgAJr2yIPFPlPgI1oqFf6Jf66Q0/MpIMG2L0=@vger.kernel.org X-Gm-Message-State: AOJu0YziLzZPSl8b3ZUypZTvhxhyvp1ZQnKY+GhLL5tjJUdJFAZv02WI L8G6cqCJemD9Jgur2im8WMQX25pUm4uo6auxJCwS8/xNfAHttQtUzk1z95quJWc57+mB7U9fny3 ed4G4oicAziDIaiP2bpJ0urWdFltovxXsVjpDNQXcqUf1svQWbSmvfnUYGUaRPYc1A+c= X-Gm-Gg: ATEYQzzPMGRdt49Lrijde888q5OXT6gwpEnEvcM3P0iL1dX9NIoZemVeCCX0hOarrYU CYi+JPzOtilSiZZDxTlSsGN7WPyfAd4g3cOvW+FfSdzMSPvkRi5Wbg7eMktIDGLznJnjL09bWyh dvzXS4zr6C2qDhy+0ShH/BR4UawZmppULXH7AG26k8xIr2ySXPF/i1KOWNsyJMRN3YahwTOQB64 9ZWFgqJ+ryPTyKAQExr3WBfDZqlHxoDHMPmBvvLG1Pq4YLJvztry0MldIyICHB4AsKf7GJYq4WT BnR/+WR3ZJEAaUYuZtOFKOapCG1kYtFaWESIriO2pIgFq4zurN46/fGd4cQ0TCDrGpkTMyZqrmo 8kjx7GwguwanaEyW9fnPKDGRJWo+aKe9KGjPRne+ybumg3HGFMDSA X-Received: by 2002:a05:620a:1a1d:b0:8cd:8e07:4693 with SMTP id af79cd13be357-8cd8e074c51mr735597685a.17.1773157507516; Tue, 10 Mar 2026 08:45:07 -0700 (PDT) X-Received: by 2002:a05:620a:1a1d:b0:8cd:8e07:4693 with SMTP id af79cd13be357-8cd8e074c51mr735589185a.17.1773157506912; Tue, 10 Mar 2026 08:45:06 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:47e6:5a62:7ef7:9a28]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439dad8d968sm35991600f8f.6.2026.03.10.08.45.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Mar 2026 08:45:06 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 10 Mar 2026 16:44:25 +0100 Subject: [PATCH v12 11/12] 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: <20260310-qcom-qce-cmd-descr-v12-11-398f37f26ef0@oss.qualcomm.com> References: <20260310-qcom-qce-cmd-descr-v12-0-398f37f26ef0@oss.qualcomm.com> In-Reply-To: <20260310-qcom-qce-cmd-descr-v12-0-398f37f26ef0@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Daniel Perez-Zoghbi , Md Sadre Alam , Dmitry Baryshkov , Peter Ujfalusi , Michal Simek , Frank Li 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=10084; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=xVyXRxFp3hoaIPdmV5W3HruIHEbBK3c+oEfKaj3P3iI=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpsDxp55b1rTnydR9NrVKbsWs64O9QIfEqQ6YYg K2ZSxeZOYOJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCabA8aQAKCRAFnS7L/zaE w/LqD/42AUGaP3V2zYf7ZZo68Z4+1yAkTqhErdCYCTVQ+6swYY6+2KSLHQtnqXYm/hrcIoQI4m0 JDYKCTRfx3XDo62v5D9RQg9APwQRCsulA/XwI9MHejOzgjfs9+mN5aJIs+RqS1pOS4duNmPI4cW 09aljLIQzF0aLwLdYKd02CP/A26QkF4KbCbhSIEdhPAjhLJRhbJ9NIz+eKjcKcFTdxuo0OE+M5F M2zZ6dnRKmTmwIlGL+TezFz4mllzVM7j7V1EhZCezzeuro1hgt/0UnR9N+DLNu5N/3+uKMiOCo2 +cXLcP0fgj1RsSQTNHoGIbB8IHYvh5NLU/eP89F8HgqX9pIf8i1jbAsMXzyhiXjO49UY79U5ETq qYV82/q0rAtFZLc8HGX/LZGxdXjb7bDH0Li0ojp+hrHRLlyCrs66uSC9k/QGdLVeKqYjNnm6Iox Qyhemrg0a4DIm221ztLd1MH+BdmkCv2yukFC26i0oR7xlg0XgjM7TqnJMpZoKEN8shjfAfwDPVv jxiIUdaukIC9QmZwM3xR0CdIbY2xz1/ktJbcogb1EiiUgWyg5xAryr+3K54HFPGvWqoLrM7UaSn dHld2oIsLE58Ln5WKgBgwXJIFl8sSw7s0FeG0SAq9D/cNYb0C3ZNVGv607QaruNfxRsxfjHv+8c RPMtkcYggfarjMw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEwMDEzNyBTYWx0ZWRfX4bnJZmahEDey ehDefJGq8dipErDNdZy84nBkJVeMtzVPIa53nttuJxUQzacbI01ev1b/2VOhwr9xmHru2PW1/jQ dfxuOJOatZLWUVdpCXTeezHIVScs9eB2bi6Lw98Cg9f1WW+bpZzlHJ88ieuOThwvs7fASk0Sip9 FqqoJbXc5ZRqoqcdXwbZqGd8zxxEgG20R6VM2C3QPBSCu8nejnMHvl6UeNE+TQuOwlYFnE5+hA6 ymfeXuJlwvNwjUcUJT8mqb7jDxrSF2VJzD8uVK7bCT6vSPicx0gHa3K4p+1cgeUIUC4MKvsgOYg Hkq2kYqL4qg0DF5njP1GQwiMgmN7YnCwl6HgC7fhdPSROQlS0lB63s3sUarNc66IJ4f7uoQ924B aT0eqbI0ydi4r+0qI+v6fqgdHnOjv1FFMONlW8NgkwgRs3sSU0J60NpLy9ZxJN18QgnuttYJcGs /91KON1e8+d/hFfHUaQ== X-Proofpoint-GUID: sU9InmF9JUcqbRG8op-AbHSrKy8TN13f X-Authority-Analysis: v=2.4 cv=KLxXzVFo c=1 sm=1 tr=0 ts=69b03c84 cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=koLDk85rXkRIAoTU0vQA:9 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: sU9InmF9JUcqbRG8op-AbHSrKy8TN13f X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-10_03,2026-03-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 malwarescore=0 bulkscore=0 impostorscore=0 spamscore=0 phishscore=0 priorityscore=1501 lowpriorityscore=0 adultscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603100137 From: Bartosz Golaszewski Implement the infrastructure for performing register I/O over BAM DMA, not CPU. Signed-off-by: Bartosz Golaszewski Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/aead.c | 2 - drivers/crypto/qce/common.c | 20 ++++---- drivers/crypto/qce/core.h | 4 ++ drivers/crypto/qce/dma.c | 109 ++++++++++++++++++++++++++++++++++++++= ++++ drivers/crypto/qce/dma.h | 5 ++ drivers/crypto/qce/sha.c | 2 - drivers/crypto/qce/skcipher.c | 2 - 7 files changed, 127 insertions(+), 17 deletions(-) diff --git a/drivers/crypto/qce/aead.c b/drivers/crypto/qce/aead.c index abb438d2f8888d313d134161fda97dcc9d82d6d9..a4e8158803eb59cd0d40076674d= 0059bb94759ce 100644 --- a/drivers/crypto/qce/aead.c +++ b/drivers/crypto/qce/aead.c @@ -473,8 +473,6 @@ qce_aead_async_req_handle(struct crypto_async_request *= async_req) if (ret) goto error_unmap_src; =20 - qce_dma_issue_pending(&qce->dma); - ret =3D qce_start(async_req, tmpl->crypto_alg_type); if (ret) goto error_terminate; diff --git a/drivers/crypto/qce/common.c b/drivers/crypto/qce/common.c index 04253a8d33409a2a51db527435d09ae85a7880af..b2b0e751a06517ac06e7a468599= bd18666210e0c 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/core.h b/drivers/crypto/qce/core.h index a80e12eac6c87e5321cce16c56a4bf5003474ef0..d238097f834e4605f3825f23d03= 16d4196439116 100644 --- a/drivers/crypto/qce/core.h +++ b/drivers/crypto/qce/core.h @@ -30,6 +30,8 @@ * @base_dma: base DMA address * @base_phys: base physical address * @dma_size: size of memory mapped for DMA + * @read_buf: Buffer for DMA to write back to + * @read_buf_dma: Mapped address of the read buffer * @async_req_enqueue: invoked by every algorithm to enqueue a request * @async_req_done: invoked by every algorithm to finish its request */ @@ -49,6 +51,8 @@ struct qce_device { dma_addr_t base_dma; phys_addr_t base_phys; size_t dma_size; + __le32 *read_buf; + dma_addr_t read_buf_dma; int (*async_req_enqueue)(struct qce_device *qce, struct crypto_async_request *req); void (*async_req_done)(struct qce_device *qce, int ret); diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c index a46264735bb895b6199969e83391383ccbbacc5f..ba7a52fd4c6349d59c075c346f7= 5741defeb6034 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 +#define QCE_MAX_REG_READ 8 + +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->bam_ce_idx =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_attrs(qce->dev, bam_txn->wr_sgl, bam_txn->wr_sgl_cn= t, + DMA_TO_DEVICE, attrs); + if (!mapped) + return -ENOMEM; + + dma_desc =3D dmaengine_prep_slave_sg(chan, bam_txn->wr_sgl, bam_txn->wr_s= gl_cnt, + DMA_MEM_TO_DEV, attrs); + if (!dma_desc) { + dma_unmap_sg(qce->dev, bam_txn->wr_sgl, bam_txn->wr_sgl_cnt, DMA_TO_DEVI= CE); + return -ENOMEM; + } + + qce_desc->dma_desc =3D dma_desc; + cookie =3D dmaengine_submit(qce_desc->dma_desc); + + ret =3D dma_submit_error(cookie); + if (ret) + return ret; + + qce_dma_issue_pending(&qce->dma); + + return 0; +} + +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 int devm_qce_dma_request(struct qce_device *qce) { @@ -31,6 +125,21 @@ int devm_qce_dma_request(struct qce_device *qce) if (!dma->result_buf) return -ENOMEM; =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); + + qce->read_buf =3D dmam_alloc_coherent(qce->dev, QCE_MAX_REG_READ * sizeof= (*qce->read_buf), + &qce->read_buf_dma, GFP_KERNEL); + if (!qce->read_buf) + return -ENOMEM; + return 0; } =20 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 d7b6d042fb44f4856a6b4f9c901376dd7531454d..9552a74bf191def412fc32f3859= 356e569e5d400 100644 --- a/drivers/crypto/qce/sha.c +++ b/drivers/crypto/qce/sha.c @@ -113,8 +113,6 @@ static int qce_ahash_async_req_handle(struct crypto_asy= nc_request *async_req) if (ret) goto error_unmap_dst; =20 - qce_dma_issue_pending(&qce->dma); - ret =3D qce_start(async_req, tmpl->crypto_alg_type); if (ret) goto error_terminate; diff --git a/drivers/crypto/qce/skcipher.c b/drivers/crypto/qce/skcipher.c index 872b65318233ed21e3559853f6bbdad030a1b81f..e80452c19b03496faaee38d4ac7= 92289f560d082 100644 --- a/drivers/crypto/qce/skcipher.c +++ b/drivers/crypto/qce/skcipher.c @@ -147,8 +147,6 @@ qce_skcipher_async_req_handle(struct crypto_async_reque= st *async_req) if (ret) goto error_unmap_src; =20 - qce_dma_issue_pending(&qce->dma); - ret =3D qce_start(async_req, tmpl->crypto_alg_type); if (ret) goto error_terminate; --=20 2.47.3 From nobody Wed Apr 8 02:52:03 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 E14703AF662 for ; Tue, 10 Mar 2026 15:45:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773157513; cv=none; b=tuDqmxNYtbMx8woOH609/rgqx0mMWPEvcx/BE8KAWFGY5gKr16s0wuiRd0csj147kqMWzyXv8ZPC/uOoeQTB9f31ZLx18wlzfP85Pz1kZaJwbaUeds8FchDoB+/ZS6/LtzaN7t8lWg25nsR7HASSNIH0okXFczLTfUebjlZwoa4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773157513; c=relaxed/simple; bh=E19Bzt73t1zSAfX2/01ff6pZaiXi+Fsgm2+zGDQ+P+I=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=sjB6WCqKFqPYQZeJhNwGdApa8nic0Q+2hc9JAoewO+NiQ4vgB26otEaSYuoq/Bk626PN80HgZYdJ5eJKpUwWdCtPZnoLoCyj3hlnXMcj0R25w/T9gOb/ta9POnbHU9ZJqzssPNhcXs2c7g6F3XQ5rdUj/ZoTkDxVzl8Y+j07+Ds= 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=m3ODAHPJ; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=dWYiXCo7; 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="m3ODAHPJ"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="dWYiXCo7" 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 62ACndbc3893001 for ; Tue, 10 Mar 2026 15:45:11 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= mX7VZc0C4Y6KtnlB3JQWqwZ8mA0msAHnsmKHvmZNoXc=; b=m3ODAHPJ+mLT+uru 3AWl4atTBvFth+TCsSNP1pw8J0FNJxmXF+/HqQQr01U2cUwK90w02qHaqfWxpvI5 O0CTMvkBjZI2/OnR0DvfJ7FtIzDYGGWYHXz/eWz9BjbmkTXD1W6DWDDHzlVAdDi4 7r4UhhI4sX72Xk4ZGDAZQrNmMxdDBrUYyoTRGedmf2rzAnBqV7TI7nQlxDAcvzQO eVdVyi+PF4nOKPxX6ZA3hzsEgdtqdZ3LxgLveXXjdthHb3WSGkBeMqSPXD3wzlp/ I1dsvfSB8dNmbqxjuE9pNho5H9sLKSt41M7Vi8qgHtwgE8agPc5f8jm6WLdXwmnA +jzMPw== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ctkmyrpxq-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 10 Mar 2026 15:45:11 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8cd81be6f05so1502844185a.2 for ; Tue, 10 Mar 2026 08:45:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773157510; x=1773762310; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=mX7VZc0C4Y6KtnlB3JQWqwZ8mA0msAHnsmKHvmZNoXc=; b=dWYiXCo7rHWKSRd4/Do+2h8PLpIihfdLupsM/uoo5cdQk3OPgZYRF/dv8QVo0sNvKJ 2pj6pxNofIHrdAjMsz0jFcfTCzvX/g+c/EBF55lNcF/c7vfYZ8U/+gohq0nYnYFgdj+t RN+xvLl0bWFM6CJjsqglPDt0T+klnLN3Tb4ijzJ5WPM6vRy7vQ5dEkuX/2iN7PFcnkhr PoxaTiRuyb8OEZxewkDkD8IiFdXrMf0tUhzF9I7OJyNByvsb4EvJGn9tbnQUzdFE8opc TYr4v2HEwxOJMaSMoxMKjAjD4k9SZKARi4zb4HZkMFBqwNqXws5yuumpcoyRVlV2icbr FaIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773157510; x=1773762310; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=mX7VZc0C4Y6KtnlB3JQWqwZ8mA0msAHnsmKHvmZNoXc=; b=v4RXD+pvLMw/0eIHAfL9OUWtwpfBpsk1L18Nl0R1j5Qy/GryaejiqG5seD29+z4LLF aI2+Zag6hFg5s7Mt+1LTMWuBkrEHFhki79UZgKy5RWuFIiN2ETdSJV68v90/3NjXaDU3 +Py2nW7sSWjq68dpvVRk187zMgAKDPhzj5BAHebxyvP+QV0YPMrYW11etckJ0SU0lXFi M1tnSuqFbogYRZqLOg1Znx9DrfsPqYzXGu/iEor0iv0RxJFVALpOuDvMMm4rL8uNleR5 lSUG6s/ogvFIDSZwyYmCE6kwfnN39SUjkP6HGszQIpTYwaScsCQaiJHYuLOf+D3s7om0 OHWg== X-Forwarded-Encrypted: i=1; AJvYcCW6lN6YOQHgCzVRZiZ0j00rhaVIWW4q4ImoaLoHWw3hi0tAXoMP7w/pvcpJTtbeo6/Z1NvAvTZOozCywqk=@vger.kernel.org X-Gm-Message-State: AOJu0Yzjl6S28OY/mRIs6YnoXHTd6/fCV+S+MA1q59X/QjmLiO5E9SZQ L7CPXOjHisZ2a26InGiev7f0mcIfBgIPhQO/RjXtvrEbs5LdD1IqlICY3dQ/qt7cloN2sKCI276 3UeK9Q/JxZ8D92I02ADJogHgUqWzGysDtYQX+lEk9Zyv5CHa2EthGQFtalPWmoP7lCTs= X-Gm-Gg: ATEYQzzSPfCP35xG0l+4OyL0ytCaZ8yGcxoN0YpvSFzJc7gwPSgQW9aOyrXwTPrZBgS gprllfsEBg7R8CzWL9AvYJhBHzPTaxzeg6V6n4G/1hh+SqAHV1I76we+meTO8c6/5aOeichkply 0zDF4BiOJPyebVONGFGyfcCqRxFi5I9KUwoWLWDRyXlwXsh7QuS53kq66h8ZNsKVh4Q6Hm9wAAe dIUd1HIlr6LPRcx6UWgXIILM1eKou+pyAZLUBN3yMRw04ex6CUwDxUfBkYqrBLX7a2oK4JNMhUO MfaupEaQEDC8nugKZpltHVqWDRN9lOphVWA9WBudOWr5Tk32SDg+mf1bccOPUXId6t4aqOEqnLA RNP4iZ5TBNmnTIpo1fg8WMjRDblp7uJi4uQSWLR9IgnT3Ih8iIaxu X-Received: by 2002:a05:620a:459f:b0:8cd:91f5:7a29 with SMTP id af79cd13be357-8cd91f57c94mr600691885a.53.1773157510152; Tue, 10 Mar 2026 08:45:10 -0700 (PDT) X-Received: by 2002:a05:620a:459f:b0:8cd:91f5:7a29 with SMTP id af79cd13be357-8cd91f57c94mr600685585a.53.1773157509620; Tue, 10 Mar 2026 08:45:09 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:47e6:5a62:7ef7:9a28]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439dad8d968sm35991600f8f.6.2026.03.10.08.45.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Mar 2026 08:45:08 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 10 Mar 2026 16:44:26 +0100 Subject: [PATCH v12 12/12] 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: <20260310-qcom-qce-cmd-descr-v12-12-398f37f26ef0@oss.qualcomm.com> References: <20260310-qcom-qce-cmd-descr-v12-0-398f37f26ef0@oss.qualcomm.com> In-Reply-To: <20260310-qcom-qce-cmd-descr-v12-0-398f37f26ef0@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Daniel Perez-Zoghbi , Md Sadre Alam , Dmitry Baryshkov , Peter Ujfalusi , Michal Simek , Frank Li 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=2392; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=E19Bzt73t1zSAfX2/01ff6pZaiXi+Fsgm2+zGDQ+P+I=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpsDxqf7crh0eAak9U6C23Q3P+wGjMPB/1YbCCD xeEoYobLaqJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCabA8agAKCRAFnS7L/zaE w2eVD/9sbXB64zWnj0AaeA4iZQubFXVyULCqF0PkraiQCXOMIT+DW9nQdGdDILB3UKyvDxHrhgK 4xkO0LIePybUCrJiHWbhi6jBM69iLjN8gGXsLZGSvXJE2h6W9u1CocQditDn3OR/quXy+v6UHVp YfMEUO2g3vzgxNaJEN1gH4m1hvWcDKPhS9aWY8gaLmdIF9V8g3AMXrGcpUO7gs97exG9tWhMt25 OqczZWp7n8hPrNA9ITYVTf4u38DKNzOrha9NIrGQicdyzxV/iQUxJAcPYdnYYf0ImZ2dS4TVq9O uIMb5DMp9kr7mls5zZTdzT9/JUyafbKgAPfxs/5R9kf4XXhOWM8KmVPMFWANIRPKaYCFB43dxfo k7JTtTXM7KY9VLJi0P9I7lVL2pWxaEKVTEe3cVcWmBAGDJoNab1ZUUWJNjbYidNznEoNkrGYj1S ijobV7GkrSBYXj1wZ878807AnKDYsUL2+jSjTMtPRWvjtqle063PcJ0h9VpB3xUxll+2qh9Eymu s1Sp9zR7FGu8eIn4We/kpvP8hRK6HUA11O4HLcugh69lLvA4KoAzOseFFZKZEyrirJfyONFbxYj K/MEezvk7XR8ym9xZGKEWKIA6JL1rLC7hgWFMVJv+Pb2uOBXkaUVaozTtfwmfGq084TQwkEAzLq 9iuJO1MQRs7FuCQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=RYudyltv c=1 sm=1 tr=0 ts=69b03c87 cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=EUspDBNiAAAA:8 a=6g4OycmRf1yXlxMorl0A:9 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-GUID: tykbLEXsfCtod7XTtX_c60ILTQC4alui X-Proofpoint-ORIG-GUID: tykbLEXsfCtod7XTtX_c60ILTQC4alui X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEwMDEzNyBTYWx0ZWRfXztAlIEhiRcUL Yb5ct7kkhdK9G9RxAY/B8TeGXKyVD39Laf2S9EORN/UBMk8oMgpyO0qqnEyM1iW9QcbPGqsLWjH daDVpfUouS8adsdfbGzL8TKz49qaJh5X+ZVJF/zlDBtO7HFhohpvzrqLD4XeqIZHfFL5dVkd2lK T6YfJ4CYwrANbs/KCv5IbEjdyh+iRLfIlkS4P2ilehKsWUf78ojq7Fddkc2/CIl5QuIzUdeIOkN xBWnpaxHCVmEes6c/L8oaLzG6OZTv5c0ED17fpXKyE9x6sPGajsfyW6IpIoqY5KC4Ynw2nH34Wg O9o/z8cNh0eGCCfawstzZt3JzJ9fHWwSxlX2jCMR1WH8oaxtxsolOCbG/rbu1vHxOmlkst8h3H5 /e6cVjO8tfTD/GjpZG5q79AgFseXIYC3tlhMIgyfbLD2yTaM640Va74lja/BLuWqpE7tDLHpJUx VPR+8x0hnrJljQJuSOA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-10_03,2026-03-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 bulkscore=0 impostorscore=0 malwarescore=0 spamscore=0 phishscore=0 lowpriorityscore=0 clxscore=1015 adultscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603100137 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 and attach the provided metadata struct to the descriptor as well as mark the RX channel as such using the slave config struct. Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/dma.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c index ba7a52fd4c6349d59c075c346f75741defeb6034..6ab352261223c3c4815a01e8423= 8447e8e61e040 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 @@ -43,6 +44,7 @@ void qce_clear_bam_transaction(struct qce_device *qce) =20 int qce_submit_cmd_desc(struct qce_device *qce) { + struct bam_desc_metadata meta =3D { .scratchpad_addr =3D qce->base_phys += REG_VERSION }; 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; @@ -64,6 +66,12 @@ int qce_submit_cmd_desc(struct qce_device *qce) return -ENOMEM; } =20 + ret =3D dmaengine_desc_attach_metadata(dma_desc, &meta, 0); + if (ret) { + dma_unmap_sg(qce->dev, bam_txn->wr_sgl, bam_txn->wr_sgl_cnt, DMA_TO_DEVI= CE); + return ret; + } + qce_desc->dma_desc =3D dma_desc; cookie =3D dmaengine_submit(qce_desc->dma_desc); =20 @@ -109,7 +117,9 @@ void qce_write_dma(struct qce_device *qce, unsigned int= offset, u32 val) int devm_qce_dma_request(struct qce_device *qce) { struct qce_dma_data *dma =3D &qce->dma; + struct dma_slave_config cfg =3D { }; struct device *dev =3D qce->dev; + int ret; =20 dma->txchan =3D devm_dma_request_chan(dev, "tx"); if (IS_ERR(dma->txchan)) @@ -121,6 +131,11 @@ 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 + cfg.direction =3D DMA_MEM_TO_DEV; + ret =3D dmaengine_slave_config(dma->rxchan, &cfg); + if (ret) + return ret; + dma->result_buf =3D devm_kmalloc(dev, QCE_RESULT_BUF_SZ + QCE_IGNORE_BUF_= SZ, GFP_KERNEL); if (!dma->result_buf) return -ENOMEM; --=20 2.47.3