From nobody Wed Jun 17 07:35:32 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 35B3A3B19D5 for ; Mon, 27 Apr 2026 09:15:59 +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=1777281360; cv=none; b=WWAKnLTx+XTYba6C9c9e9/5LJuiuA3zplI3RJeX8WWUaRe9S3qvYZeDFA7FOvp0lWwna3v+jLrBnesMCX9mI9cTVKeXvpdoPQiJvXqRpioXMiPb/0SksXAPSwSi6rZqe/SoqdGyKqsHJEIFRYzI4M6UBXvu+tcRJDSDHk8thVOY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777281360; c=relaxed/simple; bh=C8t0ZoGUnDPF/P+4BK1Ho5MJ1aexupcCMbMgOX1T0s4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=V8H9yLPc7+URW+b4bTETfniUlkeb2Cj7pKVV0uvB+1JlqEnn7mmM2sWEM/xGAGtEiaueYsg/EJyYeJtsBAxpMAPboVoCV7vQsQbGEQbQyw5MIUCtfxnVVVJT6wLjI46hTG+Yb+6aUninDhJ0JGHT8esBPbEw/b3/ytbQF9DprQY= 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=FjHdN666; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=dvIGJ3pZ; 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="FjHdN666"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="dvIGJ3pZ" 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 63R8TfSs1762860 for ; Mon, 27 Apr 2026 09:15: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= 51xURu7Zhd73Xm88jAVPEesUyLMnmj9g9fiXS+Fq4Bs=; b=FjHdN666g2PqthR8 V45oXYnO/VUmnauw2NoEVFfCkXZ6BLY/FCRuqtYw8tizUiOa+W1HYzA4Z8/RSTFf dgmqlWgwtCea0K6UId9xn3lF5L3iNwYWBdmnMnyCg22nXILpxWtoAUgW+kvCSpuD f34X3hfkp5YRU1q6jelBEDeqlhuVzArpxQPIiP5+92eovPh5CZRFqHL1jbrFS1Fn 4fxzmN4hwwcIDZM/uX0PfJxe48aP3IVSgYINxZNMGSrLC6wigM5OzjzMOnyFA949 GPylZTzW/SPD0cVsBwQMQCcgJZX3g0R8J2DxCFfiOja2cyLqqjSE4L4xDYCPaDa/ 212VPw== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4drpw9d9y6-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 27 Apr 2026 09:15:58 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-50da529ff48so34901741cf.3 for ; Mon, 27 Apr 2026 02:15:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777281357; x=1777886157; 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=51xURu7Zhd73Xm88jAVPEesUyLMnmj9g9fiXS+Fq4Bs=; b=dvIGJ3pZ/MGePlqaxxw9agnOcu6wW9i+e2flhw1VoP2sZR7J+wqVUZ81zlp+I/6ZP7 bflh2HkQYV0yXySco901ROIrFldfXigP9v46uWgfpo5uJcAk0E45nFHA2y/AwK4FO96o MAxMN50GFsAsV8LQson/qMpEyNsnL22j5/v64vRgOwN04RfdBoyttJ1P6BgNDwzEITpt 9XOThzyT2Q5wy/uw2gOSnEryH+1zS8jqo1wCOouHIx83kB+JNm5zQJsUPzlzog89v7Si oItEl34OQY5JFHWVaLe5DJeQ1DLOONZZSQR+AAqjvtfFaoElolTwmvMz8GSKR8krzl4g UugA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777281357; x=1777886157; 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=51xURu7Zhd73Xm88jAVPEesUyLMnmj9g9fiXS+Fq4Bs=; b=c3/RPUAt6VlU/LPz3dI+Br0PANF6nckPoGperXR6u4rZneG1AXUlm29iK9I+gh2F0e qT4VJS6oJW+Q2JxMEOWUb+/dZnKekN2O+iTS2PPbYdtaYCZ7PlNokx9ok78mRmMOBFHp nmJGwCsMVOxDuG+Cb7h00zUUlfCIe4/HsC/040Hb4tdvmOByu96E0p90ENkAJMcapaGi 98wSgTrdXhwa5NjDcGo+lpX1+yoDKfGhcZ+/Cb0QGlatVV7wcF3Lryt0R/W8fOjii6Ml j0sUKKMW8v4QYquRQ1u9XZ20nmE0qUM8Erxjtud8gCmsULB10W/qQONzzzrlgAUcZZeY Driw== X-Forwarded-Encrypted: i=1; AFNElJ81WICZW8JwygBTktLUgHP7PNuXq/sFl6c+Kr+/LD2Kl+lg8WXn50medvtLlu3w5jLXS9LvoMWejuBYK9g=@vger.kernel.org X-Gm-Message-State: AOJu0YyHnG1ID0CtJ4mE1/Fsx7PC8Xfe2MTXh0iCDTZqr5UV6h+MAwwS 5OoKkYGe3Fo4nSrJpRjVTFrR5wS6cHmyMMbo7X5+s5kZrWECaV7J2ObdNmOgcUiqKEH/yBqADo7 GrAF53HW1U/dtCkzIiro+sfyAW5P4NI6UvpjHOIKahxCZ6KTfCpTQzKlYGywoP4JAJQc= X-Gm-Gg: AeBDietdwF7n0WQ+eAoD6VFNqaJRPUmNDUNIP+eMIHJ1X8py1xYOTddaoAnzq1T71gD BFFF0PYKTYoFUBh4XfxOJ2m2wx0chloIq0w2pWHEOS4/fG6+Da8I5M2Cf6XazAlYsCuwFdu9Jtz ZxKdRLXNNgPFltEeI8JmeWekBioOKNLQsx+7EFoHSFR3T2xqCfmzfSUAJncb44EddAulRMpCbIx JtZShWB2IrgE1T5j9B+xUx1CvHi2eFz1pDln2i/sFRpw4hFy5koJOCdxRbFdcJmBAGmB8mqxIHG L/aA9E0ZVz/SPaJ55C/ts2Ux2a944XAQOpTiwHZtCD3EgMVeSiZuuKnoe5stG4uDmHOYas2bw1m RGTeu+bUV/GRy/jd9Pn/iVUE8r2GqQ9Aqeh37TnCHzmvsxeYCZTA7W0sOVM2XoA== X-Received: by 2002:a05:622a:4d98:b0:50e:614e:4428 with SMTP id d75a77b69052e-50e614e4711mr465044241cf.37.1777281357567; Mon, 27 Apr 2026 02:15:57 -0700 (PDT) X-Received: by 2002:a05:622a:4d98:b0:50e:614e:4428 with SMTP id d75a77b69052e-50e614e4711mr465043841cf.37.1777281357133; Mon, 27 Apr 2026 02:15:57 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:5062:ae86:23aa:702c]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a6dbfd4b5sm40559365e9.28.2026.04.27.02.15.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Apr 2026 02:15:55 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 27 Apr 2026 11:15:34 +0200 Subject: [PATCH v16 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: <20260427-qcom-qce-cmd-descr-v16-1-945fd1cafbbc@oss.qualcomm.com> References: <20260427-qcom-qce-cmd-descr-v16-0-945fd1cafbbc@oss.qualcomm.com> In-Reply-To: <20260427-qcom-qce-cmd-descr-v16-0-945fd1cafbbc@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , 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=2295; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=C8t0ZoGUnDPF/P+4BK1Ho5MJ1aexupcCMbMgOX1T0s4=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBp7yk8aml8U/uuKzfLTF1QDzBZcTS5SzTnwUDLj Rf7fhGjq6eJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCae8pPAAKCRAFnS7L/zaE w1CTD/9M7yohPsNybzjJthNYlFsJYi4zy+/0cXFzB/USDDxoHI0Q/ANqR+s5n/RQEw0X6x/Dvai uDhEojPP3frikVdiOxTx/CLcA940MFKtpXK4vLVncbpz6fhpogA9CQ9rEThuN4kyKkRqvGS8wcC wvBnssSbYNel08atGXLfBpNzAehokknmj+RJ1AZnHXP78aF33Pu22gQHnnPTsxF/BAhi18TcIUn 2N6/j99zOp3zfRUVdDV3F4TXrfOohhTJwN59zDwfZgTrkQ8SmlkkKxrlSYRQflQjRh2TvDzT1ry LqhNka0RCVw4tJ6EdYUcmFnzGjqudjIn0NeivlCgGDGocaBmuMSjN6/APtfEs9DZSHimh2eFnyw 2FJMyLWttOf2k4VlY89PnpOQawzomgb4a7YiHJom2IOZvB4gBu9oNnkPbV0O4rsMR1qcUtNoOF5 CL99W4qwNpkmPCdwrn/w9KSK93pUyr5TtnviPlpJnMlL5+FU1tO0CCyy7o3nQjSQ8zC2Xp6D+id Lxdugtmz+N0vCsbO0QEWZCzNjwrxTsaKYnuGXYTBZj38dzSI/hyc/p2UGTJLtyPbi8OBm/j1AWp KPlHX0ahhuPgAHLBvrxEbY2++CaC5bFkRZcoJC48MR+RwsOCZTG1C3hHU71aJLSXODhx70TXnR5 TBQYsv0L5TdfvxA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: CwJZ4PrTKdWWIjUZxPdS1lnl6fZ2s6Fs X-Authority-Analysis: v=2.4 cv=H67rBeYi c=1 sm=1 tr=0 ts=69ef294e cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=XeVHrwws4l7kqE2Ex6IA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI3MDA5OCBTYWx0ZWRfX7RbsnMVWezxv nBmyyzDVLXz1ZQ5i6ISZx9e1vKTehdgiNJ+Ces07e1iEJSLKLlBLISrFcwKe7FxwGXicMnjkPbM DvuxZ+3adpzlhEve+gqLYvgvURYILvtfP6TEw8IQiPoeGCHcF7pcPsiGpKCYcvonG9q9f+956Zi nG/2forAr2r/RTO1fMi1wpOESOMLG/H5D3azsKPcK218H5Pg/JzMekxnjks0ZrpM0FvQmoK5rUZ rGCPkomeI7ZgKO5s2LGxdeqBbWM+z2TwdXRP8X+iEuoVQznUSo0ENMNcgA+/KCUiJ6dqfLUPc98 cCAP/YbwpXctNwJ9Z/BwsA2UtwRj5lL3VHNuASFrXaZp5kNak1QFZwO73mZ57Z4Gl7dF8sFvuPD 0sm4SMs14hgq4COGV5fMuf89IBOxystaJ/V8Gm6TQJ61LiAFVirTlbVOmsrnTdbij76W1YtCVCG BtQl/ETp4eqjlnaLjZA== X-Proofpoint-ORIG-GUID: CwJZ4PrTKdWWIjUZxPdS1lnl6fZ2s6Fs 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-04-27_02,2026-04-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 bulkscore=0 adultscore=0 suspectscore=0 phishscore=0 priorityscore=1501 spamscore=0 impostorscore=0 clxscore=1015 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604270098 There's no reason for the instances of this struct to be modifiable. Constify the pointer in struct dma_async_tx_descriptor and all drivers currently using it. Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski --- 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 404235c1735384635597e88edc25c67c7d250647..165b11a7c776abc6a8d66d631e1= 9da669644577d 100644 --- a/drivers/dma/xilinx/xilinx_dma.c +++ b/drivers/dma/xilinx/xilinx_dma.c @@ -653,7 +653,7 @@ static void *xilinx_dma_get_metadata_ptr(struct dma_asy= nc_tx_descriptor *tx, return seg->hw.app; } =20 -static struct dma_descriptor_metadata_ops xilinx_dma_metadata_ops =3D { +static const struct dma_descriptor_metadata_ops xilinx_dma_metadata_ops = =3D { .get_ptr =3D xilinx_dma_get_metadata_ptr, }; =20 diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h index b3d251c9734e95e1b75cf6763d4d2c3a1c6a9910..5244edb90e7e7510bf4460b6a74= ee2a7f91c1ccc 100644 --- a/include/linux/dmaengine.h +++ b/include/linux/dmaengine.h @@ -623,7 +623,7 @@ struct dma_async_tx_descriptor { void *callback_param; struct dmaengine_unmap_data *unmap; enum dma_desc_metadata_mode desc_metadata_mode; - struct dma_descriptor_metadata_ops *metadata_ops; + const struct dma_descriptor_metadata_ops *metadata_ops; #ifdef CONFIG_ASYNC_TX_ENABLE_CHANNEL_SWITCH struct dma_async_tx_descriptor *next; struct dma_async_tx_descriptor *parent; --=20 2.47.3 From nobody Wed Jun 17 07:35:32 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 D5CA33B27F1 for ; Mon, 27 Apr 2026 09:16:01 +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=1777281363; cv=none; b=fu5CwetGnhxEkywy0hJu2yvXBcZxE67uPD5/rVrgo1/slD058IzlCH2LdVLyGBHhPdiS0HBENrbToYfBxuFgkx94cVe6uC35qin4pBI+7MSpReOkHhl3bpNQz/MeKUQbAiLAAmvcPMuLcsQmMaASaniv9uqynwSAGMfNF3FVHtI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777281363; c=relaxed/simple; bh=YERqA6ytYIBXeEnEVHuNkc6pRniKdplpfqUBYqgG5Qg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=qaRq2Cktf3/9YVwQwB/lhZU4HmiMlaNrz6Goj1jYVCzpM6lYZ+FoDEvvREQxFiNUpO214jEFmOfQep/SGF4pFt1FWi7/ti3RuyYV+j8epAZBekr0mPGXaunJb3l6Hc4XMc6OmH6UVJDuecij/p8VjepbMrEs2VMp7tBpLIwi4Zw= 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=ZWJTr3pX; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=kv2/O+Oy; 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="ZWJTr3pX"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="kv2/O+Oy" 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 63R8TAPJ2879393 for ; Mon, 27 Apr 2026 09:16:01 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= YJhp9RjB1CYlks4dixIKSaB1cc2NAImnrh4QNBeenlY=; b=ZWJTr3pXlqCC2RlR FGlJ6AX3AXqMklp6Ymy372sFwRBv6WSMo5pagYddmlAHtIDWQI75fUnBQTV9YFQN vdCRsvcxKfFFotp55zhr3VXiQknk8BIaAE9MdeKzGg+ZYti3R0E+Te9bKfoMuWu2 B0HsvlVx8Nx6U/dGOKH5Z8e/nt4L7SG7XSHV2PIbr0rjfLPYEex1wl0Uia0vGPjb PjP2zpHcypgvJOSuF2mxKzDX4D6vydWeG08p8pwzGmtb/p85Vpg0HtcYDb/FKBQl Gqf1Kv+HSIqO/c8Nx1bPQl/9Bd5+2RuFz0P0mdnnuCIGA5KerLvq0hWhi1IIHGra XscZXg== 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 4drnu2wdfr-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 27 Apr 2026 09:16:01 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-50d6bf346adso126743051cf.1 for ; Mon, 27 Apr 2026 02:16:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777281360; x=1777886160; 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=YJhp9RjB1CYlks4dixIKSaB1cc2NAImnrh4QNBeenlY=; b=kv2/O+Oyc96TKw8oVetUWHIs0jw8fGViA9VXkpiGiq+NzOfkKOEOJbmLopHRpvDxWv D5VBdLfnsNK63jvzHzlxgal0Xd45igA6BWR49Jb29gO6P/fgJh66m0M1ClSJ/FTTEOb5 8vIWX2Dk9y4Phnk7Ceww8ZPNx/MSNUn+p0wbcopMw5cY80yA4ROcOZULcPpLL3OKfmRq 1mhZdMMRxd38gxTk3aWHd+I5Lut/I3KP//kHPcSjgtrSKdURfkC1cFqH/UeV52owPM43 els6+wEcSIb3DENf/gVrk8kzQUMM6RW7vVCsGXB/7SsYR2huHYPFQqk0V4yQJc2Y6psC MNOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777281360; x=1777886160; 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=YJhp9RjB1CYlks4dixIKSaB1cc2NAImnrh4QNBeenlY=; b=KCMoVgANSkA8zcmx24/NrLqOyHIkcfTGO8X6KonKLqeltWvxa4G0+9EbYY+5TQxJT8 1EyT/pjbjfN9ZTnfzVVaRu66cyGhcYLygOh/AyOeXLsBIj1O4L9Sn3zrJq66BT2kSY0f 4xEjKJB1e8167wDRpD+AFLd9AyO7ojVhuck0XG9xNjBvUHqKJnDuZQpsTmxhJMIEEn55 1V9wsKiluZfxfcHlkoHcSpDWxUNKKuQQdHkjVMJIhb3UIY5f88kd7A1gJwq3GcVga13f wRPpSAkUQhoSUeMzy8nbO1uzh6tGkWKvTrxdFSehNQeifhafocXbbFCNGyN5Cvk93nYR /efA== X-Forwarded-Encrypted: i=1; AFNElJ/c59Ge0LJh7woKDsyuybmhrOqy31bjjmVDBigF3to2VvOes6SfmJBmBXxm3Y6mhT/ul+6nvlPBmmTLICg=@vger.kernel.org X-Gm-Message-State: AOJu0Yxq+gtOjVthOnxtHFr9thTTVNk6Mu/+T2wdOkqozypQKzDQD/ev tTBdH+SY+LTxtXtlWMqE3VjYVd8RoiTPdzOAnwGWE+pLb67exKBbEbjMx+3hg9alo/lJiQr+boT 6Ilj4skWDZKdM8CGz3LlIlTHs6B2F1rIH/zx7xn4CMsdjCSdIk3eesTEMRh7HH/56m70= X-Gm-Gg: AeBDietZRQod3wxWvglaQIWRNUKmIW+2rXguSTnvLLz6u4c1dUjIdOBBeOjfqs6lg4S 4mJXrzr6fbWCQxMzP5i5M2UA6zECAgPs/VbKgMvGWWEzGK8bPQEHkknSFVGCOHz2X8Oi5XcGHcq YUtMHucI4Zkvq9SY7ywdawt51DBlIli0gtoibST6iVxQBCL0KVn5Arzdzk2cY7ea1MGwO1sRmvO L2z7cEtj2UrQ+hbnlz/Sd37yHyNOzuG+UOEgDgFCVPkykPExosYHmDlpkVTyjYYVP8+fKplIvq+ bRHENKvyRHa7f8/nHmQlIRBWo1EMsOEi1oeDALobjVHjMsQU2mwr8ABmjkm1LyvR+79pnCaiKz4 aj8PugROwk4auQmhbrmLY77A0d/nby5M4HcLw7l7SmBENXDTcjderNxLVMQ531w== X-Received: by 2002:a05:622a:590f:b0:50f:c2f8:406f with SMTP id d75a77b69052e-50fc2f847cfmr313194401cf.25.1777281360054; Mon, 27 Apr 2026 02:16:00 -0700 (PDT) X-Received: by 2002:a05:622a:590f:b0:50f:c2f8:406f with SMTP id d75a77b69052e-50fc2f847cfmr313193951cf.25.1777281359494; Mon, 27 Apr 2026 02:15:59 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:5062:ae86:23aa:702c]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a6dbfd4b5sm40559365e9.28.2026.04.27.02.15.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Apr 2026 02:15:58 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 27 Apr 2026 11:15:35 +0200 Subject: [PATCH v16 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: <20260427-qcom-qce-cmd-descr-v16-2-945fd1cafbbc@oss.qualcomm.com> References: <20260427-qcom-qce-cmd-descr-v16-0-945fd1cafbbc@oss.qualcomm.com> In-Reply-To: <20260427-qcom-qce-cmd-descr-v16-0-945fd1cafbbc@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , 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=4421; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=YERqA6ytYIBXeEnEVHuNkc6pRniKdplpfqUBYqgG5Qg=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBp7yk+0IR02U4vnvTl2IX14Yli5+ns+gg/PlpWP b+iE3z2vWOJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCae8pPgAKCRAFnS7L/zaE wz9YD/sEVzMrsUIG4UaK+/mt54Mp3VBFDDXVNm2K2U7sk0ppOLMYr4EutporK7oql4DcPrzFBZt Qk56jWtdQOpI0X/p2Z1Ppe61eX49zb8F9kDXiI0plagIc3EDjan+8SgKgoVcge0aROw9CUXl4tM u7sHqClBoegraSAdRDDiwFQ5BjsObELo79m0DRPET+gPZ8GcTm14Gi/6VjpQ4WK/+Tn8lL/qBGl cAIu2CcguniTHKWhoDiSU/PqGfcLYn5Qq9f9SpaEj7ywWy9TjyD0sZn/vfA7uhc1aavq7PloA+b 5DNrQpskyFl9k5uRr6j4wDGvvEIgwlw5mLCrq4CvOxMdW7INCUJq9yZZ0BPteEW0DP4B2GjdsuZ K+AywqtlfyVNrr3H2Bo7OXyC2G91MoaGPl0YB4fODR/fQxbx2X+P2O6/4Z7eVW7saTGruN7MAR2 paNamOud48+wEY00NhkXCBc13vGO03AuGGfrF2h946eDZn3DsES1wL9znf5CHaCAmPt1hrmSTIT LCkgZw3ij2COfvaA4QRIic+ovd9iN36hYLfu86L4C0ipCFJmwck4++uWzad7N65CySvLbRdMb1w qbUVfcb2+ovKD0nhbcSwWVHrb7M/21CbmG79mv2EkJOdQT+se+2A8hV8p7v0/2o6jeh6wkt+9p6 6+wtVqWTC3L6smw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: qFwhVEpV6i7TYS3Ttl04TIzEXPLezV3z X-Authority-Analysis: v=2.4 cv=cbriaHDM c=1 sm=1 tr=0 ts=69ef2951 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s: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-ORIG-GUID: qFwhVEpV6i7TYS3Ttl04TIzEXPLezV3z X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI3MDA5OCBTYWx0ZWRfX4tJnWLMhLxNV cyh/RGGQR626Qd074JRcym0QHbVfUZigCUMi6MVTbDt1qOnhkt2ZD4yhS9hQCE/mggqLD1g5CPF bI/wMxpFUzSu3acoEHGGX2KyuW/OqSHmjRgdT54RKahs+JhqWMN+jXXTNwYUMgv6FKxi+LxoZRa jz6lXJzuggv1arm1jYaHCC8suCctfZGmgvcKtSgz8UwAKl9+RvHd7cv4zpzfVv/WAgngSsY2IK6 Gtm3kJPsQQfU52ZTx3gtKePYRRA4sgosWXiOk4ywoyrIgA46VWh0iKYUJW50Vhxl41/nFKfZgsf e4Db5AQOLvjPXBRbVpqez1tH0QxUSebTIQEL+rHy9oq1Xdy4duKwgaP73s6hHn3XC+6ApoTzFXA gT2BmorVOoRoTO8OU+AIGfbsCekQbGpKPSfdwil5kMX0vSYu3o5CGLsebaXsgoCLizGihWtyjES nZXbxi0mwQMuMja/vrQ== 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-04-27_02,2026-04-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 phishscore=0 lowpriorityscore=0 clxscore=1015 impostorscore=0 priorityscore=1501 spamscore=0 malwarescore=0 bulkscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604270098 BH workqueues are a modern mechanism, aiming to replace legacy tasklets. Let's convert the BAM DMA driver to using the high-priority variant of the BH workqueue. [Vinod: suggested using the BG workqueue instead of the regular one running in process context] Suggested-by: Vinod Koul Reviewed-by: Dmitry Baryshkov Reviewed-by: Bjorn Andersson Signed-off-by: Bartosz Golaszewski Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski --- 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 Jun 17 07:35:32 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 E060A3B2FF1 for ; Mon, 27 Apr 2026 09:16:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777281366; cv=none; b=nPZCLRs8T43kbePOAz16hu6Hvps12U8PX78d8mkJABqO1b7mQNMwFarXR3cIrGBCgYZHfLjGbkgOHTqVF5NZn81FCT4GcrRMLC11R3LBzOn+dPzu5V2/6wfNIqhcJzinQ5Nu+sH2i3xOKNZRRqsdQAq5YemQE1sw+J8HWz7cchc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777281366; c=relaxed/simple; bh=qoz55FlU0wzlioVR5y4kqwZWHtjnuJw0AgLGnvGjRME=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=dnFjSEEU5paSlR6G3XzufON+zJMmBJPrjCtQvTBk/oRC470+kGpBFSnHhlRZmX7RaMPOt0yyaSVi9AQAG2sbFpW7BsjZZz27pA2Pil+guCCuQ9cxB2J6gnBT9iWBabFycenw1Fxouyf5MyH8bXW0T+b8RdfdMNJ94DsZam7Jnm0= 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=MXiCAtXY; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=J5+UzuFW; 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="MXiCAtXY"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="J5+UzuFW" 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 63R8kFXJ3961977 for ; Mon, 27 Apr 2026 09:16: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= byBhms6klEiQKAIzzwk/0xHdksfuhIUeiAfPpFlaRio=; b=MXiCAtXYIh25F8oq fLYcQ9uqAr1YddX4F9BsHVa5lqv6FMBcn3mGhtm37bVAKnRE7ZHI3a3Rp5NhIP7m ker7XrzEDOYu+Zq4OwYUzceyG3uLhN83POnqhFb/rroGYM3/+iIBV79NcgyPQGe3 BuZF9f/Cpoa2QJF6NkAMB5YlD9CR6KHpMLVKDIzMIv/g6b0hPXjLRt7MQLhAl1L0 cwoc1kopn8QyGOZvJo74vqnBzph4P5Ni/OxVvIP/5BhJFHF5Bmbcw7j5gc9bFcZx C2Lp2Rg2w/UwJNv0p+WNQxbOg3w6isVkBa8fo9LH0BtYMK6+rwOv0m+bJsdkpNNf pGMNyw== 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 4dt4k309m3-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 27 Apr 2026 09:16:03 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-50f817c3240so95918191cf.1 for ; Mon, 27 Apr 2026 02:16:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777281362; x=1777886162; 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=byBhms6klEiQKAIzzwk/0xHdksfuhIUeiAfPpFlaRio=; b=J5+UzuFWgGt4qTEt8Chu5Nyj+bIvDhW2U29mPwiVvZdCgHM+ylXCvl64b17+csa/mK YQAclGEW1lwVwGIi8rWUUkk/J6hbNzOglwOCgxDDm2xh0/RGyXRRDrhZuA6I8aSrl0K9 hIOJP6QBUW6OHWID4/Wo4NHHQb7+0gZuew1STzjtzHTp86DyrAj5PI5Nva+LmhAslMq/ Ez3zkoLP8EGs9q2sNSdloYxntifcSiiZGEoJQPByYkHKNSvyj/5ZRQGvxr2zgk2Ye8C/ kdioBvX4aS/hZxcOIarfqLXL/YEShjDCL/pQVXUMnx6hXCwp/OciUrds+L7d+uwAt3yf hXwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777281362; x=1777886162; 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=byBhms6klEiQKAIzzwk/0xHdksfuhIUeiAfPpFlaRio=; b=cIe/7PS6UvsSSljxLa/ymh2eIASHyMAQCNFgzind4ZuX1jAhs+vKY+9oLLv0s+bDHU Jd3QZgRXiKCfhqwt6TTy8xVhsPXsrWJf0/gGP9V9FHif7Demsxg/W0gAQitzpf5Yt6u3 tLvmvn5WLFTXTMP6BgEIIYHlTWC2tQfdF9K36WHL/Uybjjv3DO/2STEye9F6ccXesdKN 7tG2JQg5F8omuqwn6jDQbB84PoBErm0ZTK+8PPApm23qgVL6lKmMbH/wEg6iPwOHFEJo eT2fSfqF2on0AmIf8NoefS9gVOPZ60Y+YhHRmzVfOs7ZPX0QjJEs3kNFs0vKSDFFY8Li 77BA== X-Forwarded-Encrypted: i=1; AFNElJ/2926WnYvHy6Zt51kWBHM5v4hGMYolMb8dUqJsPMddXcYeiRVjybuqMCdftlBgQmynqDWVdNFuNyxCszE=@vger.kernel.org X-Gm-Message-State: AOJu0YwLieBIgnPX2WITr8Zqt6ZJYvhNGjNE5xyE+bNVIXfoSkqmURFQ DtQml3vEa71yoCOsuU8b4mTR7VTGkHVEUbd0Uwre8w9Z1fskqyQ9tDWEfsNXy0vroBK6vW9Wc7W CoVxDpIwqWajgxpWX6avr7u6QcuUmoVUj0Kom4IhYdQ+g9Ay6dRZqr0oGmhKSFW3UZFk= X-Gm-Gg: AeBDieuZiEm35M9XnKFn5xfcOXDV4Xo9GQj+x28DhSWmyjRWExHyBGP3QPsbWsUeBca Pv0Ebo6yra2O5j9n9/eA+zhg6NlljI+iLwAFtslpmtn0INx0wjgPeP9Qxw5H22vqsTRdRRt13Fg 3uavEr6ppZ13qcQJFF53pGtU9k0ycSZ0R0Q7pRBgHdW7tDtZE1VZEI3WclXV+m60kJtU9EU6uXi 6NUjJlhyC1NubVDrn2p6jugNeSbcuj5R8UdhL/1SkNgQl6LT5TcM2eeQRe7BriFUM7KnENWwEzr qzIRqJysv3XV7/jfBgur5zfqFZgNliA5UMRF2xzsj4lYS8cAoFov4/AjWqd2+5CbcwVC3bW4Tdr GS7fOj2QUsdg8cZd3VE988g73cD8YPIGrV1OtzC3P2jWQH/R+06CjwQlg0NwhZg== X-Received: by 2002:a05:622a:59cf:b0:50d:a8f5:1bf8 with SMTP id d75a77b69052e-50e36bd6471mr637069631cf.37.1777281362533; Mon, 27 Apr 2026 02:16:02 -0700 (PDT) X-Received: by 2002:a05:622a:59cf:b0:50d:a8f5:1bf8 with SMTP id d75a77b69052e-50e36bd6471mr637069111cf.37.1777281362085; Mon, 27 Apr 2026 02:16:02 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:5062:ae86:23aa:702c]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a6dbfd4b5sm40559365e9.28.2026.04.27.02.15.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Apr 2026 02:16:00 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 27 Apr 2026 11:15:36 +0200 Subject: [PATCH v16 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: <20260427-qcom-qce-cmd-descr-v16-3-945fd1cafbbc@oss.qualcomm.com> References: <20260427-qcom-qce-cmd-descr-v16-0-945fd1cafbbc@oss.qualcomm.com> In-Reply-To: <20260427-qcom-qce-cmd-descr-v16-0-945fd1cafbbc@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , 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=3778; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=RN7fpsHiCZHYCJzNDBLJB3M5MgjeycllWN+nZFNR5GU=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBp7yk/qdP472cAnD1YdG6nh/mfOZWhEURamNMSd ohy99DpbUCJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCae8pPwAKCRAFnS7L/zaE w60ZD/0aQM2Z7oeH6HyvFKh+qma6g45ChXODJ9GLQ6AbSmbXYsTzNb+FHtmvDbKIwv628ykuvuw iyOipbZgjQCsKOXpUaFXugtqHkElVvEAKXP5XZVjaRx3ndOzzGHBGnzM7I1jiQKPcaQ2hWPa96V Zgu9hQoge59ZvTMXOLqalfnHXlLJKb8R9GzfgPjTF978BaWW6zWqrqsyncKSbuix27/5AyMPEBL nEns9MATzLag+JLyq9D0K7Gvv12teu+KaQfp6L2hVY3leuWsskMHCQWhh2crIrf9QfvSo0dZ+WY pY9kge4GzvbPDW9rbcSNBVrvLNN+AQTXToK7yMUBlNp5yPoe1dTNRYZZx+h8z4VUGvVTr7puki+ VQu1k00rK3Sm1HNcLvHN510KnRNBJFP7pE7PoSZDZm/5BSIK8ZjIConBLi2z4uW/2UIQLD0XJ/I vpIymXU0XCrPuoBlF/t9o0uUzgBDO/9eDpFZbw30XUO5vukDlRP7n8lZWoK8s+HxFuh4RUmjdxA VOymMqR2SBzV0E1aRVnWXaKkuGjvZbzHp09PSuRTXDUrmOFlthtRVdpekZrdVdv26cyazXPAZZg naR3OpL8WbLlNJZkXfYXJ4FjVx6VA2+87axPS0Ax20txyY5mYrjnxy+fbfnPip3hxkOjHtl964P PA7bhbhP9hZ0L2A== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI3MDA5OCBTYWx0ZWRfX+0Ul7ozjRhyw NX6+dWcugRfdFsHKR/0TunxBrm58DPauN13z9oFaIKHafV2nwxyJEKs84xk9vNyTgRdCpnKzGZx XMN3plIs6wjyOV9gs5XisM/lmYwiYzcSpUx4kSJlo5SAc3ANhItw1jIl+IdRWqDurOlari97f6j 7vaJmGcU4CAX2IkD8qrgwk9Uj6MJVVkDkBhk3tZARYmNXN+X8huo8EvWmfTjIWKCSzaRSIcHSUl Bkcw1skiXnaVRFNUEYHqOb+2hLi/6d2tCp+nK8t5m/PiAloFOx2ZefEHC8Z2izot9yMUebuRSx7 9aSjUGaVfezarJ2KZYUyWiuLtiqtPKIhr1xjsTnPgebn/T0L/RS3S8vdWcVC+OqN7lOHwQ7tZBw YMXjOXpCGkbK7/NPCrseyxqO4FSPAYyANMG7XMfsdbcppWXhjEAcoQ9s9haNByqEx8nU7PRoDs7 0zEx0Dn1mOpC6Giwkew== X-Authority-Analysis: v=2.4 cv=a7QAM0SF c=1 sm=1 tr=0 ts=69ef2953 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=Fb6uNmSZeVr-t7npd3wA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: 8EqyxKyN0gCjf5JcK_-JBzzZjwEBrk99 X-Proofpoint-ORIG-GUID: 8EqyxKyN0gCjf5JcK_-JBzzZjwEBrk99 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-04-27_02,2026-04-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 malwarescore=0 spamscore=0 phishscore=0 impostorscore=0 lowpriorityscore=0 suspectscore=0 bulkscore=0 priorityscore=1501 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604270098 From: Bartosz Golaszewski In preparation for supporting the pipe locking feature flag, extend the amount of information we can carry in device match data: create a separate structure and make the register information one of its fields. This way, in subsequent patches, it will be just a matter of adding a new field to the device data. Reviewed-by: Dmitry Baryshkov Signed-off-by: Bartosz Golaszewski Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski --- 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 Jun 17 07:35:32 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 E73863B3883 for ; Mon, 27 Apr 2026 09:16:06 +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=1777281368; cv=none; b=hvp/BjZDrHz4aPc4D6TgHTtP7beLOxCcm8M3fXrmgsakOJhT2D25YkmWxqdoSWnqdn1tg8JarzRDgxHzKR/hsXw1wYSxCIJgbbmJqvUvDDuk0tvZHKlIL4yZwmkjvqiuG9sFDP6zduljBI0vqu42IZ/UQaXHghOxGt48l961lnk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777281368; c=relaxed/simple; bh=aFvWQ0r/9MeZDMiHp0RHPM2rE3l+aKHR+uxUux2PIyc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=IiWGYjCxYTUKvVJV2pL2GlcsR3d9XTMzo3DexpWQG8ks5vXobeOMA6XAkK7YDfBgvPBJidUtn/Sk/cqKckAHl5yacLCjR8GoxNDUL+40MPcvGvkh5NJvWTqN6iwCufavsoKUQ1h3vsokQq2SssFmEaR2IqLwck6PS4BmZh0CH2s= 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=ORXSPtIW; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=WGwqLeZW; 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="ORXSPtIW"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="WGwqLeZW" 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 63R8TA8F2879358 for ; Mon, 27 Apr 2026 09:16:06 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= j+gmvqmnx6Mc+rqdGbk0x4TnThgU7BC6K13sY2POFME=; b=ORXSPtIWxJV7IuuJ /RRTnqugcNIN6TfABsZ0eTWgz1GdCVAMpekbsDv2QMnobomjUyUhOqTRo38nNjIn Pm2AvdMdZOd7meNsxahcKAKq1Xm0OCa4MgrNG72038cAsIYxOyLmz6tPMtf1ahJU 2+HLizCcSglVxJtqJ2AjmqIhxm+V7h7Rwo/7JhS0SWShf8DE7E1gGdhIv9aj94sw qEXzGUo9asd3/GcoANP1u/tar1ntkgdklHXi2AWaBoT5LB/7PUaoWNq6w3E2pbqJ elAfu1/hnCl7EQjww8TQCbA2P8bzRR+cBuEbsswN6AqiA/KF0d/c3gf8k2JZTz/S Yje/Dg== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4drnu2wdgc-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 27 Apr 2026 09:16:06 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-50fae95c82cso175526801cf.2 for ; Mon, 27 Apr 2026 02:16:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777281365; x=1777886165; 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=j+gmvqmnx6Mc+rqdGbk0x4TnThgU7BC6K13sY2POFME=; b=WGwqLeZWcP7wXbjRYRy11AsCRE3w7RrrsQT9NwYonS3tMlb50z7JeEOhYvdB65UyO+ oHW+/6mukQVHSVtj46I+GvaODLXvy8uKAkFhDZdU0PX9eZSht+xrrMzXohqoPXsUtmiz FCBYuXvf04bTxeG4FE6F1gx/PYFbPQE0X919zMkYDrQGZFI9V6yF/9gyaNV3tWNFMotW r65zLAGh5L7QWCEW9gv+tX2/sQL0Hb50ezg0qIXx26r9N8TgfQjN6kwkM0Q3XLU61+6t aZdR0yIwLQFpd4ZAEgX8oW4yTAqH7lBrGVP7mcaFC9BD6pON+lmNuWuf/wOtr0uL8SSx zsPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777281365; x=1777886165; 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=j+gmvqmnx6Mc+rqdGbk0x4TnThgU7BC6K13sY2POFME=; b=JVfR354q5DMmvlLMaajGOLmL+kGYCC89JQ6bsfBlDCUjzwwTkALHYC+iy6mHpxQTzD b1IqZBpkL7+eeWtUhwsk5xoGk2Ig144AvObTRw7SkNPn6rdlC0TjR/EJDiLQNWExo31y 9xcuD63qI80vRZsOkD+mmjEQ9P5Knwe9JcIpnCkz1wDVsK7m/ZgibdODzsdDom3RjWHg +o6B++ezc/gTwHB5ZKQvALwiPv3dQiMkvaOLWIEwxD03E2df89F4pFwMWrBr5TRAfp11 XqFQ69aAnOSwjEuH9RW/6duwxpB4PZR5QylP/GVVJUSDBKQGroguDQChVHpfBjoRQiRZ tBPA== X-Forwarded-Encrypted: i=1; AFNElJ/3KANw3lM9PTpiRG/K9sHGr12OoEF9eEhQbCbNHnlXVWNeLdoLHPKPr/r9CbTR6x2nMOKxVev9HnqrrOU=@vger.kernel.org X-Gm-Message-State: AOJu0YyeiUnaAnb8jTFsQCipcEJduQQsOu0amdN7gl2PyTokDG1PiKY7 1OiR8pajQiL/KHDBGxwoxGpj+dNdD7Yl8N6PxUF/zP71QiLbRwdxpdQ1rhn299tUD9zq9bWHdvg lNiGcK1+sEA5D9No06GTIUgjWHUkLpQua+S70lKdBGNvgsoyY8Gz5cW8woYKAFndQrOM= X-Gm-Gg: AeBDiev8SghWHhUiGp6WHVBZohlzg3bBofHGJ0G/hHk7tYafSDtgZG4nQ/ePyTJYomi R4a23tNbW+Qj2O16PnDoVfaYSNIQv1A9gnFzdQU06c1K9yUSwL94XsfggXlkHrghkICaoX7jvJI njBjKyRLUh98WXDhtcwpbIyDxiWHsv5GcvcNU9Oe5eZSDEwKHyr7JpW8Fa70EFE59DFMHu7b5NG Ovib7OyGpazSSiwJiSNLaTIIOOfDoyQuDhfF7Mlqv6+qLVQn5xgtLp4jebpMSVhg1zt5M+FELQP 4E6XoW3mNb7TqCjTF6m6+Dps6SlnP1sB1oEGyfCSspECjuC0LO+l3hJuCPEr/SQXlnEka3IAhQm KuxX5LGHghQg+AyY7+5Wxqn0O/eoWfBwDhodFhZNxghYYpgXwqJxhNu7aWNFPvA== X-Received: by 2002:a05:622a:5a0d:b0:50d:6baa:9e8c with SMTP id d75a77b69052e-50e36827a5emr609405611cf.12.1777281365183; Mon, 27 Apr 2026 02:16:05 -0700 (PDT) X-Received: by 2002:a05:622a:5a0d:b0:50d:6baa:9e8c with SMTP id d75a77b69052e-50e36827a5emr609405011cf.12.1777281364712; Mon, 27 Apr 2026 02:16:04 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:5062:ae86:23aa:702c]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a6dbfd4b5sm40559365e9.28.2026.04.27.02.16.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Apr 2026 02:16:03 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 27 Apr 2026 11:15:37 +0200 Subject: [PATCH v16 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: <20260427-qcom-qce-cmd-descr-v16-4-945fd1cafbbc@oss.qualcomm.com> References: <20260427-qcom-qce-cmd-descr-v16-0-945fd1cafbbc@oss.qualcomm.com> In-Reply-To: <20260427-qcom-qce-cmd-descr-v16-0-945fd1cafbbc@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , 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=1476; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=EVDb1irXK/80h7Y6DY4Kfs/+E6/12M9d/9hBrF4TLTs=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBp7ylANBJgsPFoqyh8BK2lOX3d/GhX6IZh5Fnni RkwFP5Yyc+JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCae8pQAAKCRAFnS7L/zaE w0qLD/9vNJV15ERL/9ppPG0E99fiIcwIaLtLXqsMIq4NvWtdsmtkMHAwukRVXIx38tz1piI1hzk 7Wm4eTe6kHd+9of+2g655fstzBkPxb6w8ra10bE54ed03ePaaaIJL1GjSkwZ0Gq36ETnXQbSAp1 xD1O4zbz25K45kiu3pSH31JhLAncNo+kY5xPK5k1BPFoHSvJSol4+eb9NH/bWf0wdRxjQXlX/4q DJcRTib3kaVCabGNdM7nwzLm8MFqGn3cECYDh4JIovIbEPjyezqeXNYLa81zAsD08E90wCSQe2N mZFA1+Ad660XMnd1RTSxBqJ8P8fG9MxSWuNIRlCO4V5VK7YN1zeUFVBvc37LYVlgCp1AooMqyRn V91Bwx9eytmDvVeLTMj+T97f1uyfhnBTfhdUhehFoMrHF1AlVU0PRqfGlJPDa0crQHD/q1DEXWb Uj86aAQaNZJqxLKJ5Fnm8sG13xa2LePKEO8LF/9V4rxItDbXhCTa0Yjwa9FLfY/RSS3idqULspX 4P2zkwtPOGkmBzw1XY0uA8wLa3LJgPCo+tarAA9O4FqhXgNd1Duh3iRPELSXuLNl5dxqwa6Tc9Y U8TL6Wn7Q2/BQi/ISa7NDRIcktBGqEMLVoBmVpmLea8W/AM41PC1IXAwNm1UD9+D0qEjZxoCDJJ 5u1Ei6vYPi1Qj4g== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: yREyvpyal_WkLNqxZR8-j6cID5FkPzsG X-Authority-Analysis: v=2.4 cv=cbriaHDM c=1 sm=1 tr=0 ts=69ef2956 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=VwQbUJbxAAAA:8 a=ZSnkYuKn9ZpO9KHknGoA:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: yREyvpyal_WkLNqxZR8-j6cID5FkPzsG X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI3MDA5OCBTYWx0ZWRfX4V43vGxdi1Ak 76ZO0L1YnKsbjuSLWoxopz42lWLJGXYLjBb0AhESE/3/A+jXnR7S8qkW5bxfUdQfrEy5khvgWZN dqeHFDQ7Py2ZWCEIgU/OfWV4ULoRFgrPO/CWUC1IssINKwRdbD3j0nWcfuA4quC2GN+0RJy04NY Ua/yEFwVmAfX5HeYTPIWtlLJnHIfw2t9saexJPxXJX0/5OuqOQlYyFVBfDAlI4pz2xwDXrR38uQ vYKfHURGy5CuckVztF3prktr2d+85d9tUxqk9ssBS5FZ5DfzIzKAp0pj8CmhtU4Gao4ise4jrcn /Tv3lnUVYFb7R1R6hFy+5J1QtCm5LPMwtcjFXbocxnybhkC/9QStaD3MftUixafmNtN2BQPmdWw hEvnHUaWbSqVrq1vCrpVfT2HhoozaJSErrI5wCk+AdXNEpyMnHL95G0UC+eMZAV0yNhPXsHiK0F 3DeEcInXws0IYRMnn6Q== 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-04-27_02,2026-04-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 phishscore=0 lowpriorityscore=0 clxscore=1015 impostorscore=0 priorityscore=1501 spamscore=0 malwarescore=0 bulkscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604270098 From: Bartosz Golaszewski Extend the device match data with a flag indicating whether the IP supports the BAM lock/unlock feature. Set it to true on BAM IP versions 1.4.0 and above. Signed-off-by: Bartosz Golaszewski Reviewed-by: Dmitry Baryshkov Acked-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski Reviewed-by: Manivannan Sadhasivam --- 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 Jun 17 07:35:32 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 26FA63B38A2 for ; Mon, 27 Apr 2026 09:16:09 +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=1777281370; cv=none; b=nnT3WeBFPNQoL7o+2x5WypU5731bRsjiDB1tw+YhFNnmLssdmogh2DbveeTuu67SmfSVV2Ew+UWuoY3a7D9L1++TA9Tcv9yDyKzyr9jHrkhXcRYjFaanTU/IwtfMUwu7mOU+y2W+5YY80+XTeXHQXKcOAHeGZSo9MDtvTxANDas= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777281370; c=relaxed/simple; bh=zej38AY1HURQQPXixRl2Mg7k2dmudX8XuCBnlPTpkvw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Vk9BfEHBsC5gZwbNQrUnNnGLXs2YbK5vUh5HikTT86MqP6EJxDEckkJA9UsANCNbhRk55K2sYU9Xjkbva7jAdWZm1aORL+2o1VJbxR236SFpzLTsX3kFV3VQMJOLABWliRXq2Ea0lWJLLncB33LDxl2CvsGtrOKl5KjfPOf1yFU= 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=dq8ZplD6; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=cXL8SRNl; 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="dq8ZplD6"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="cXL8SRNl" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63R8TGD7665743 for ; Mon, 27 Apr 2026 09:16:08 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= ws3wC5jqIqaO13gZQcJaOHssTZuGV6QPS0RLw3JFDoI=; b=dq8ZplD63uYrfyIO RCdlHMplQni9IK3tp0yROxWNC7aOD7UNes1hy5ErG67emLIdRFWu9fyZZFqtg0Z/ jogqYXZouMu2AfrrkUcqVZ5pK7FIKs9UV9CRD5m7/Ah3ss70GDno8h4PPOEI9QwK wZV9OEkhsQqO5IMSJ3g26Q/C1GjP/mp4RUlSnmAkcGuPrOh7q+mkdzvuPqGoh24A c4T3PXmLvTxRrgDUdYm605C8OpRu5SyRiCjOlKdSFW0OUjTNDUwkhwq2dt2qEAG7 B25gjvqwFHh5IpTQ6d+xzxXuYY38CJ8dP7IQp0jDvE4F2RK5fzo2nEt8wwqL60Sm hFGcWQ== 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 4dt30n0kvx-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 27 Apr 2026 09:16:08 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-50edf0245b0so31706461cf.1 for ; Mon, 27 Apr 2026 02:16:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777281367; x=1777886167; 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=ws3wC5jqIqaO13gZQcJaOHssTZuGV6QPS0RLw3JFDoI=; b=cXL8SRNllWiv0qEqZDsy24mb1p/wlppEREncwC/pkttFHNubWzQL8J1kbittswOmqb dAIvu7uvkGKJw6lcsC7xiIlTo8B3kXGT3ZMetBMog27XoxZsz6fomiHUDkaarkSLXrZG Yx2XFWi9siXfcotQGpxHSpAV9OBr6fUC/GSXiHGBJUohI0M6vQGxygNvMcPlvfLgTw3h uS69Wg1vA4sIh6D1Wj46eNsFZYe+H0mQZNj3hl5njfiB2PUSw8wcP5TszlDVFiK+1Jvh f756emj3VT8CCmbvY8g/O/n/PgwCFey/7EutOG0lNhITez8jDM6Gqe6MHBOgBoMaSToI FXBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777281367; x=1777886167; 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=ws3wC5jqIqaO13gZQcJaOHssTZuGV6QPS0RLw3JFDoI=; b=BRtWVODzvAfhJFpLKK19eLzZ2h8aVc0lqGglD/eZVz70ZFFP0NeZJA9kF4vVn767fU LgLzyNyAB2DOFjIrAZZAJI3L0hcd0owz7wLB1lZl6W77V6Ub0c83ftjDdaGb3tkrQTTB rCrmYwLxDdcoLVVjYbAGxtuwyq01TyMvGjodDpE63VEmH7DRKvAUA8GOVM+ooeb6HUFR ZEt4KlAbhG0MlMfkzIi6BFck43caUbwyfyTm20scIYZQ6TFJ+SfP0QOWMEwGG9UhlIqa z/7Xg0+TTKTnAmiMSZKrpbEaj6mwmQT9lbhnNqF9Iz2YqqtGdyfrPJwsDzwWlR1HC1qL octg== X-Forwarded-Encrypted: i=1; AFNElJ9DOkzI7uoXcAMVmf9ymNA31GsJkGmAv72gQ9DqM/5MVL3275HL2YuFP0Wk5Hs0/txZf67u+ELSNoFt950=@vger.kernel.org X-Gm-Message-State: AOJu0YxLxnFhT47Hn+0jeE7OdrfaDUROH7sRuHaDRO/RNpQJslr3JpnL rqB33msbEDI91pfD1R+cbI5EnsLSsExva10DUKp+V1RWM1GoqT99taY0zbJMcwiFkYSDSaIrxo+ /HKi6UigeT72H2sjbo84jD9vdVqblrD2H4BADbuovkBBbd2UKG7bFwXNKytugeFzW4hg= X-Gm-Gg: AeBDieu/i5PpH+lLbSlXTpr6b08AjgnjNiv3DX72OMCV1OQlIynNY8Hr+knkoXUbcDS 9YwiySNW0U8F6mAmJj2bmfbPT7VUEZQEQSTDSCXzZK0ISnpPMhXfrVS2CrKOWanxyoWEeNLLYmL p/Tdr3kNZBxgNp9tsaZfC6UjIvgsiLzqNVcXGalzG6hzHeAaZD8/NUIsAm6JzpumpU3rRjUEfLw P7jKa/PmEOc/qSeCmJYM9SAGh4G2/JmfXJSfQVh+NbHD7dlv0ON4hGAe4qOYNmqxZmMl0GLlQMM K6L+/LL2NCkn2vVjMgHtL61nQ3I8qZtW23vAwKRMnb3uAF/CW34C1xy3/DY5Esyt/k2unGkRfXO Iqd638VXMdPPL2tj6lydFPs3ZLvJqIzAcROCELInkKD5zyxpvAgwcFgvNowzGbA== X-Received: by 2002:a05:622a:1dcb:b0:50d:74e4:56b7 with SMTP id d75a77b69052e-50e36837466mr618717771cf.4.1777281367280; Mon, 27 Apr 2026 02:16:07 -0700 (PDT) X-Received: by 2002:a05:622a:1dcb:b0:50d:74e4:56b7 with SMTP id d75a77b69052e-50e36837466mr618717171cf.4.1777281366797; Mon, 27 Apr 2026 02:16:06 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:5062:ae86:23aa:702c]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a6dbfd4b5sm40559365e9.28.2026.04.27.02.16.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Apr 2026 02:16:06 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 27 Apr 2026 11:15:38 +0200 Subject: [PATCH v16 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: <20260427-qcom-qce-cmd-descr-v16-5-945fd1cafbbc@oss.qualcomm.com> References: <20260427-qcom-qce-cmd-descr-v16-0-945fd1cafbbc@oss.qualcomm.com> In-Reply-To: <20260427-qcom-qce-cmd-descr-v16-0-945fd1cafbbc@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , 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=9515; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=zej38AY1HURQQPXixRl2Mg7k2dmudX8XuCBnlPTpkvw=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBp7ylBc+D0D78uvZgn/UxumwtcRmuQ50D1VE07h C3Qz9NU4sCJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCae8pQQAKCRAFnS7L/zaE wz5NEACSdLgrHVkQPS1+qmro7GbDrjKp2sOIB38bdhxIBd9fNoSBt9yCbpLviZOq3V/asSYQiUN AlEXJpWXBzTOFNlElDgkV8pVeEMNVV5DSFrPp3Qa2Js+vN1hx9OIR8ryD2LhGvljeHCX/6MwLYI B7FruU8D9UHlux68h7DlVftp4hewQCTAYriSa0gKx38hrmbi0quvALPw1aBK1h2GF5rUP3Z9iy4 9VcaL2bj1UT890Nk/eo+g7LDTmGmr8VT5BEmXrViKDu1tYCTQhX9HjAgVUXRXAEvkGJ/GcMCfwk 9m/BKBvmuDHHduDtIj4LowyZQ8wjxDXYnoXtptPKaz10ST1E0sXhgtGaZqCWydMqNvunDSDGzUH Xhsd5v4+o+1WLnB9F+65sAmOKot/wRXJ4i7f6Ij2ugxyhqKh3yHT4Z4zlw8sFFEVj4zB7yNZSqu n64dokU0WJjHQusAJ3ZgKXCUPzXhtI6ONuiT3nmjh8EER8DswKifW6fsJ8vusSjaSf6cNSomTBR +/pNRtgJAO8Wqvk7xdO9ftVjB89v/7cwDkQle/N4euNB7+RB2hbH8zUWebck2zIR5l8K5glhye/ dEXoDeHX4ajmIsTAcqLGm3AP6wU6D3GV1yObhbhSkBAekz9NALLUfVnRLwWTf1xthHPlU9bCg/u /C/kueO9iilYJRQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI3MDA5OCBTYWx0ZWRfXw9hV7ytIhEJN oWpcA0nSNzTUzYJf1tovp4I38jd29JEI7mauBNeULnmwvDA7D2wCjRGsiCrVIIiztjbqlK8tHLm t7N+9Q4KfDO/UfJ3zehv8oO0z+oUHgwZfoZQ0fEJz9sQwizL96ntcZ4ur7+bPeZGrwQcxjEBQmP I6Uecn4+fq+Ck98ynnX3EsvlrnMs9obSFkhl1shd5C0lj0y+VyT7WCqhdyn70qLzY0PEGaTgDXJ BEoZpOuTfRyxZeLWe9H1MnYRbQMR6S/CF+o9hzW28BchFsHc8TXyVu/LdHFEYjUGO9Xm79XMT2z //ozn1xLkTVb0bknNqK1OGZpEejaJdnpWwZWXA5Npb8OhaVfCmDR/ILjmr6IKEjMZja6ud34T70 wlx/pXTYyuthkjwEbcCQeYqVbPrPnmfyxQYcqXfUhb+KxG1ydfafOunm61sKXLvve/ClPcQ0le9 HdYmVmX8wR3f6eBQwKg== X-Proofpoint-GUID: cMqcvDpufU39fqwBtbVy796d4LKaN1ER X-Authority-Analysis: v=2.4 cv=efANubEH c=1 sm=1 tr=0 ts=69ef2958 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=j-cXwOq41x9PnjJ4jooA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-ORIG-GUID: cMqcvDpufU39fqwBtbVy796d4LKaN1ER 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-04-27_02,2026-04-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 malwarescore=0 adultscore=0 bulkscore=0 clxscore=1015 priorityscore=1501 lowpriorityscore=0 spamscore=0 phishscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604270098 Add support for BAM pipe locking. To that end: when starting DMA on an RX channel - prepend the existing queue of issued descriptors with an additional "dummy" command descriptor with the LOCK bit set. Once the transaction is done (no more issued descriptors), issue one more dummy descriptor with the UNLOCK bit. We *must* wait until the transaction is signalled as done because we must not perform any writes into config registers while the engine is busy. The dummy writes must be issued into a scratchpad register of the client so provide a mechanism to communicate the right address via descriptor metadata. Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski --- drivers/dma/qcom/bam_dma.c | 154 +++++++++++++++++++++++++++++++++++= +++- include/linux/dma/qcom_bam_dma.h | 14 ++++ 2 files changed, 164 insertions(+), 4 deletions(-) diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c index 83491e7c2f17d8c9d12a1a055baea7e3a0a75a53..85d8ace8e11e3f78a0a7b13d8fe= 44afcfa75d98b 100644 --- a/drivers/dma/qcom/bam_dma.c +++ b/drivers/dma/qcom/bam_dma.c @@ -28,11 +28,13 @@ #include #include #include +#include #include #include #include #include #include +#include #include #include #include @@ -60,6 +62,8 @@ struct bam_desc_hw { #define DESC_FLAG_EOB BIT(13) #define DESC_FLAG_NWD BIT(12) #define DESC_FLAG_CMD BIT(11) +#define DESC_FLAG_LOCK BIT(10) +#define DESC_FLAG_UNLOCK BIT(9) =20 struct bam_async_desc { struct virt_dma_desc vd; @@ -72,6 +76,10 @@ struct bam_async_desc { =20 struct bam_desc_hw *curr_desc; =20 + /* BAM locking infrastructure */ + struct scatterlist lock_sg; + struct bam_cmd_element lock_ce; + /* list node for the desc in the bam_chan list of descriptors */ struct list_head desc_node; enum dma_transfer_direction dir; @@ -391,6 +399,10 @@ struct bam_chan { struct list_head desc_list; =20 struct list_head node; + + /* BAM locking infrastructure */ + phys_addr_t scratchpad_addr; + enum dma_transfer_direction direction; }; =20 static inline struct bam_chan *to_bam_chan(struct dma_chan *common) @@ -652,6 +664,33 @@ 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) + /* + * The client wants to use locking but this BAM version doesn't + * support it. Don't return an error here as this will stop the + * client from using DMA at all for no reason. + */ + return 0; + + bchan->scratchpad_addr =3D metadata->scratchpad_addr; + bchan->direction =3D metadata->direction; + + 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 +707,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 +763,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,13 +1057,106 @@ static void bam_apply_new_config(struct bam_chan *= bchan, bchan->reconfigure =3D 0; } =20 +static struct bam_async_desc * +bam_make_lock_desc(struct bam_chan *bchan, unsigned long flag) +{ + struct 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; + + async_desc =3D kzalloc_flex(*async_desc, desc, 1, GFP_NOWAIT); + if (!async_desc) { + dev_err(bchan->bdev->dev, "failed to allocate the BAM lock descriptor\n"= ); + return ERR_PTR(-ENOMEM); + } + + sg_init_table(&async_desc->lock_sg, 1); + + async_desc->num_desc =3D 1; + async_desc->curr_desc =3D async_desc->desc; + async_desc->dir =3D DMA_MEM_TO_DEV; + + desc =3D async_desc->desc; + + bam_prep_ce_le32(&async_desc->lock_ce, bchan->scratchpad_addr, BAM_WRITE_= COMMAND, 0); + sg_set_buf(&async_desc->lock_sg, &async_desc->lock_ce, sizeof(async_desc-= >lock_ce)); + + mapped =3D dma_map_sg_attrs(chan->slave, &async_desc->lock_sg, + 1, DMA_TO_DEVICE, DMA_PREP_CMD); + if (!mapped) { + kfree(async_desc); + return ERR_PTR(-ENOMEM); + } + + desc->flags |=3D cpu_to_le16(DESC_FLAG_CMD | flag); + desc->addr =3D sg_dma_address(&async_desc->lock_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) { + dma_unmap_sg(chan->slave, &async_desc->lock_sg, 1, DMA_TO_DEVICE); + kfree(async_desc); + return ERR_PTR(ret); + } + + 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; + unsigned long flag; + + lockdep_assert_held(&bchan->vc.lock); + + if (!bdata->pipe_lock_supported || !bchan->scratchpad_addr || + bchan->direction !=3D DMA_MEM_TO_DEV) + return 0; + + flag =3D lock ? DESC_FLAG_LOCK : DESC_FLAG_UNLOCK; + + lock_desc =3D bam_make_lock_desc(bchan, flag); + if (IS_ERR(lock_desc)) + return PTR_ERR(lock_desc); + + if (lock) + list_add(&lock_desc->vd.node, &bchan->vc.desc_issued); + else + list_add_tail(&lock_desc->vd.node, &bchan->vc.desc_issued); + + return 0; +} + +static void bam_setup_pipe_lock(struct bam_chan *bchan) +{ + if (bam_do_setup_pipe_lock(bchan, true) || bam_do_setup_pipe_lock(bchan, = false)) + dev_err(bchan->vc.chan.slave, "Failed to setup BAM pipe lock descriptors= "); +} + /** * bam_start_dma - start next transaction * @bchan: bam dma channel */ static void bam_start_dma(struct bam_chan *bchan) { - struct virt_dma_desc *vd =3D vchan_next_desc(&bchan->vc); + struct virt_dma_desc *vd; struct bam_device *bdev =3D bchan->bdev; struct bam_async_desc *async_desc =3D NULL; struct bam_desc_hw *desc; @@ -1030,6 +1168,9 @@ static void bam_start_dma(struct bam_chan *bchan) =20 lockdep_assert_held(&bchan->vc.lock); =20 + bam_setup_pipe_lock(bchan); + + vd =3D vchan_next_desc(&bchan->vc); if (!vd) return; =20 @@ -1157,8 +1298,12 @@ static void bam_issue_pending(struct dma_chan *chan) */ static void bam_dma_free_desc(struct virt_dma_desc *vd) { - struct bam_async_desc *async_desc =3D container_of(vd, - struct bam_async_desc, vd); + struct bam_async_desc *async_desc =3D container_of(vd, struct bam_async_d= esc, vd); + struct bam_desc_hw *desc =3D async_desc->desc; + struct dma_chan *chan =3D vd->tx.chan; + + if (le16_to_cpu(desc->flags) & (DESC_FLAG_LOCK | DESC_FLAG_UNLOCK)) + dma_unmap_sg(chan->slave, &async_desc->lock_sg, 1, DMA_TO_DEVICE); =20 kfree(async_desc); } @@ -1350,6 +1495,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..a2594264b0f58c4b2b1c85e243c= ad0d5669c26dc 100644 --- a/include/linux/dma/qcom_bam_dma.h +++ b/include/linux/dma/qcom_bam_dma.h @@ -6,6 +6,8 @@ #ifndef _QCOM_BAM_DMA_H #define _QCOM_BAM_DMA_H =20 +#include + #include =20 /* @@ -34,6 +36,18 @@ enum bam_command_type { BAM_READ_COMMAND, }; =20 +/** + * struct bam_desc_metadata - DMA descriptor metadata specific to the BAM = driver. + * + * @scratchpad_addr: Physical address to use for dummy write operations wh= en + * queuing command descriptors with LOCK/UNLOCK bits set. + * @direction: Transfer direction of this channel. + */ +struct bam_desc_metadata { + phys_addr_t scratchpad_addr; + enum dma_transfer_direction direction; +}; + /* * 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 Jun 17 07:35:32 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 328E43B38BF for ; Mon, 27 Apr 2026 09:16:12 +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=1777281373; cv=none; b=I3QuYIQ42on8Wj6iYuif6/Zp/O6iXPIu9d5sdA/SIJ1Jp7tlBLRUfps7QyBfBFJzxKvTcb4ZmgCzsaWIWysmYBSnx2hCxJ2A4JgMEHqJBiBxwd1BvLwAxS89eyGZMuM30WvR/znbzvIkzfpKWUQFp8TklvIKrnd1Kh+ctzcSgfA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777281373; c=relaxed/simple; bh=D/DbbvsYNV6WfJJN+Y3qtsfzsdueJP3Q7cdgK44aCk4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=DZ4tqtEVlVK/SxaE2ImUZqhp+qKwBAZPh+A2CmpYiHemYKLjYqY4QHouUf1fOSxuPGDZzS9YN9jbb06uhxDzGT3dfYYzdW1R1RsnRlNLQ8dB++Prg/djosuce3LASOeDTNro9p26gq1LdNv+38rxD08lDE0VN0s2RwYyzraIDxE= 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=R+v7DjpM; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=fzpaYRHd; 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="R+v7DjpM"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="fzpaYRHd" 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 63R8kOTd3962048 for ; Mon, 27 Apr 2026 09:16: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= f+eJOMoesWuzpXTSR4Li0Qt2PYtZi1rSvrjFdAlx9Tk=; b=R+v7DjpM08+VfYYe DvlbCzMwrLEpzHZnl5Al6qc0t40P97FFU6xI/9E4QoAq3KnHxmgfpg27qYuOmBxo OOa7zyswxeUZE+I12hssbqfgHajbiqVhal/ueXQ+70V//PrUYKzWvKAjS1VQnscO 0H+t/5izpRpn2PcckM/Qw6LA/kZ3MdfpbQWaDpMGTWT3K+OhA3Ro6QvbSDnqM20R IfUiG29/CqFdSr/5ZunEkOcsHS7zt5FpIzrwsd+X4pBoQ/Mfi1/7smS6NSgFoyVS wxpfcDn4L/q92cyRkTeyQhjX78n1ioegvCiJ7tbfw3ey907cu/aFI7RPfQib86kB aAUtXw== 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 4dt4k309n4-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 27 Apr 2026 09:16:11 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-50d890580e1so134480841cf.3 for ; Mon, 27 Apr 2026 02:16:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777281370; x=1777886170; 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=fzpaYRHdhMspOmjmgmeoaRrLajWIKqwtOsWKXHgVdBG3xY5Gc6idlrsILiNiR6h0nF R2PT3d3UavovCmRmZh6x+jB+elKsxJRQIxxBu1lxyyDWo8BcTTJsHGFvS6qgZAWDW6lo B/ndpIC2X+e1R7k9+5MJzE8mAFN1MHO4ykI8ISeYIgKYWLR+vQylGMN3Wy0wAA3PoDEJ VsbwSDrYO3zFnpov0Q72pt7vLPHjnAAu/B1JKiQC+DX6wc8BqDaxht0i9fRxithQ0+41 9XWefSEB1ok+Y2leFejrySh3Efn2gAqq3FDafS203YuRMEx7eoRGMDVHTBwJZLOV4bxu QhjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777281370; x=1777886170; 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=WRdUuVIpfYzE9k7pw7mhyf9yvo1aWVqNx43EvXOs0a39mEEWwfpbvMR9r6b7JfcgZ7 eiQmpWzKuOpxEBV7xg39WLnLIXrcSDGLSJ2VTWDWJOEsKCb/yhNXgrZvbxKl6icYIy4c GFr9wT0TVe1GK7s12JVfWdsYs2+Hkuj5+3xKH5m0L9a2tBwCSbYMNlCiURVQBOs8a97Q E7Hf+qQJABqJj5tH7Px0Po6PZ3RLLN2rQY+FG28odXbasYUDrDBIKdlrvrT7tRNgkrts M2p0xIK6G+57KpaB3lBkGiCysJhTZppi1nVnrddRMQ9K8IXkoazrqE7EnMmCPMCLL5Ru dcfA== X-Forwarded-Encrypted: i=1; AFNElJ/Oca1KNkfMK9M5VEm1248RB0hVyFwEi81i4D9yRKAMDlPSRB6TZXd0ct15ExbyLl42TdOlKwCYdXK5W8o=@vger.kernel.org X-Gm-Message-State: AOJu0YyK+9XmIH1FjYKOikQjxkPRnr6uvYECWsvcfxpDOaFqlPnXh36J NsYhSy+dmxgru2dRh8KHhlBTn+rPvlF6cMxWxRlSgGt24cYD/oxXd0EYXCF9OqvzYyCKo8UsVqX 2grAbfwisaU+obFd4qnF9JbXf9WzUCJwNJsKLXH1cSb5c7SmM+Tas33/5rPNzjb4ywy4= X-Gm-Gg: AeBDieuU/tRIs/cZJKXMHjjdNxt4qQ8CLRph4w2ZVijU20P53dkE1ps3UEp0ztwQ6mz kd9V/yUejqb4EdxPlZNK5GlRV32RCogQCWUZ0VaB7wJgkmngA5YUu4/PReXOuSTpBzSGjdYFqyY 7d59jfjk58pveeCFkP+CDTxsNLY4PKh7AtBDeiIVHmExO6+9fFV9VhmMBUahqkiwsyrVbyiHf6c 2zYbdcTRf5IRgPHm1Y/kIdx1efgvIf5ogbTGsBBSlEtAq0VQh/sWPhRrQjAKaD+5NCoSdtjxuA1 0vKU3Clq1QAB5BNo2yI2kQBTivGGByMVrqJH7LmRaaEoJX0BE8XtD/2tFW1mgQMS1KaMe89qWxX GeUdPsluMbXITNtwQbYH/GbVl+DG7TUSVeWdWIal+JdRjXjTmOHoLc7gpSi3u6A== X-Received: by 2002:a05:622a:3d4:b0:50d:9174:cf33 with SMTP id d75a77b69052e-50e36bd1596mr641063841cf.16.1777281370261; Mon, 27 Apr 2026 02:16:10 -0700 (PDT) X-Received: by 2002:a05:622a:3d4:b0:50d:9174:cf33 with SMTP id d75a77b69052e-50e36bd1596mr641063091cf.16.1777281369336; Mon, 27 Apr 2026 02:16:09 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:5062:ae86:23aa:702c]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a6dbfd4b5sm40559365e9.28.2026.04.27.02.16.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Apr 2026 02:16:07 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 27 Apr 2026 11:15:39 +0200 Subject: [PATCH v16 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: <20260427-qcom-qce-cmd-descr-v16-6-945fd1cafbbc@oss.qualcomm.com> References: <20260427-qcom-qce-cmd-descr-v16-0-945fd1cafbbc@oss.qualcomm.com> In-Reply-To: <20260427-qcom-qce-cmd-descr-v16-0-945fd1cafbbc@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , 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/NoTDAcsmYgBp7ylCsbY62JQL78TQ6pa7tPcwWzVMzgWmfI8mt neuwrXBYoyJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCae8pQgAKCRAFnS7L/zaE w8GeD/0f0hGSRTrxbft+ky11wNOHW6gpPsQUMZxchB0jlKZ06wEuqPjrZmdzeq+eFBN9PavylCt 2MNzx7fi40kYNwqJ3ZU7eF808EBXT1WsdhK+plZ4zsg0u6zYoa2WqRQ/KZx6ED+iV5qDs79L+/j Mv+BBesfRJAMPzZhSWCx9FPsdPoaxXa3C2jchI5FFLjnS9paJsdyyZAEV2F9mrQAmZqw+gGaSx2 iHgY8CAfTIkOzIKhxx1TMDvnk6B16lf1z8tc2T8xRZj+96st4cD0rbunTmtnh26mjKkAKEuDHXG zqryNCPVQesibGbyDEsCNgPatTUxvF70H8FF410ZTbApyNigXMvMfPkrPwrvvh2rWCCjk8ZcR23 HuOz/8sExodRlzZli0bLZvKZ0GHLJdcHKKqvYsUchm233e1Y/xauvgTduCdrpGGiQf3foEm99wA +y6BteSGDADA65/leQTZO0/Z5m2v1x5XLLo+4yIGiZc7nftUdAVxK4+ZT4KudGm4MMl5MjQ/+0m kvqsMyoIJBlHhHwN0eL1ODj9pQT8g5CJzM+F7SYWGhXV5nP4KxRp/U/qJ8jy2lWy5vN760hSLhR QwWaoZc3l/2FNDTuAjNeMf5SftLEj7NZYJpaH/DtfWmtARmll7laFLAwj3bmLoMqDbx1JGtnB30 Y4KS4Mro9F37KwQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI3MDA5OCBTYWx0ZWRfXz+DZ/m328gHG vJi7aBq8Nv+RXZwL36Urb1lK4ZpmpK0FWC7I9k+0w+Itnsg1x2yU3kyCNJWxEfGjbrwTut4mxgj rfQxnuBCymYST9DEG93FOnbySlEdlpso/GjU1UGdAUIpMmts//CL1LCYKD2yp+SUAwMCSH1mh4W QQkO2q1JygkBjmJZeJw0mKIvc31/dOj2ziCmGF/F3F5RbGUc8B4uP9O4DJ5IiXhBPEkm4WNwd6G h1K3UjpaKkBOHQWzbTHMvjtNFzao2vxo50yqHmgHKw/B2Z5Zf03twnps12JYEj25y5tD+zcyvP9 0/QnOX9VTzPRA0V2J1Z0eZ3yf3SKbTdg48mKDIkRaIc6BYeFTqB8v4Za9ZfPveJI6V4PWBjgotx KS7YMU6ig08Mul+LYzvEjaoZ9JR37idDHgoaII6pbf00T5LgV9StPB5DuSx/f8/ki2/8blCvKlk LqkcJiN2VpePCDPHssg== X-Authority-Analysis: v=2.4 cv=a7QAM0SF c=1 sm=1 tr=0 ts=69ef295b cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA: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=dawVfQjAaf238kedN5IG:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: Ys3YwZFIJGmfbHMmBSblTAe7rOdIVwM_ X-Proofpoint-ORIG-GUID: Ys3YwZFIJGmfbHMmBSblTAe7rOdIVwM_ 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-04-27_02,2026-04-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 malwarescore=0 spamscore=0 phishscore=0 impostorscore=0 lowpriorityscore=0 suspectscore=0 bulkscore=0 priorityscore=1501 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604270098 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 Reviewed-by: Manivannan Sadhasivam --- 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 Jun 17 07:35:32 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 050993B2FC6 for ; Mon, 27 Apr 2026 09:16:13 +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=1777281375; cv=none; b=kCUxZhbQrjI81x73WKhAVC8C2bBg7SdKn1uNFuXOs3Pz+/6qaEkOifQRnPVRhC71kg1Mwsew4WBvnQrHIq4dgqCx1CbJJtJqinTkSddwBrnmb/LxaNq2RQbdjqglXUS5bUD89Fotun8T2s9MPzd25uxZz5Myi8CxgP+PEUn/ZAk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777281375; c=relaxed/simple; bh=6dN4XjHr+6OQnOzxmGwMll0VZH7PW0q5aNlxk1E5+Hg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=edyYx+F0vIBu/n/IAkz7P+t1m1OMBUwAxqGMBz1ZJhv9awLtdYEbXz0vA+0htsSu7V09dupcmdfP81AvDKXBJykG06oOh5p8zO/zgjIyuFRHuDzYMYwFKNMUhmINUCzuHAqHkBdtW7rV4cgnJNAy3qjguJY3IKUg6omocYkvqRI= 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=hAkSHaoW; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=bn8HnrUf; 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="hAkSHaoW"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="bn8HnrUf" 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 63R8kHFR3961984 for ; Mon, 27 Apr 2026 09:16:13 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=hAkSHaoWWrtG42B4 qbWi7IhY0L/EJi+aJJQEhBlOmJpuYrEFq2v7UgspCa3rKn2rRauf14RwP3HcXLgJ LPCWa7OSz9e3v93JswbXQYuPjyYsJujlCisQkfr05tByS+GwfD84idOzopF8Ygtg zA5euIYM5qEu0zEwAsr1h+NaBECldmfRF5+8b4fwkU5kPY98uy0eTUoO6urNBoM5 YH3npYr8JdLdvDPKoSpPIAeLw9pYcJfBRLABnfEx0q1KoEHkhataUNr8n0oYf9V+ Tvd7T4taaVDq31bKv80OXvXf7AM/2DTc4TYGjG1wWcEahQhly0+u/w/HyJYm97oC L3Mflg== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dt4k309nc-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 27 Apr 2026 09:16:13 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-50e5a336b44so127244341cf.0 for ; Mon, 27 Apr 2026 02:16:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777281372; x=1777886172; 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=bn8HnrUf+aoyoQ2GgMx2a14WW3AjQt3jpYcrs/gySEfgl9wovCgXnEb3hWUhIZp1Dv 5qtwo2sRkjRocir4Ucu5ioELUek62aBNAC/9bnEtcEa9WSqa13+Ndj4UdDhhq3vg8Pbu hdMASHM9BrV5FUKi5mw5e6m8Kfqd594kDv+qLLxr8CMbeAyel2rVM/jCFHtXPVxWig5u nuiAFvKuPKmFkwihCtmwYPkCJN8FR8aAebTlUA4VO1oUXctiuWLgrAQEUSvXcKRZvxJr XLqbLRhtSycEFk47zIqB2IEX6mFJn6LJUbWy5fUlqbxhirJHFfv0ZLk0aAYRY0lqtOLr i8Ng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777281372; x=1777886172; 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=Jeu/gDpLgze56qKfdgrXgMglefhXpFWDoan5c7LOz5CGpUzi0XOZ1T0KYcift1hleh y1KrBtOHkbRnSy11+VVBdrTPhCwOxhc5BE1vUptyQp3Zp3ps24lj4hi7HLJubvXzpMaQ 2OJPJvTjm8ZnKxZpuq4Z+5jkjoIz/fpe4UMtAFpBNCvMtvrd5U0nG0AQsqe0OTcTFNad e51/FT2BSBhvytSCjM/03L9ybdfTACnAjzTKeVSCrr+5+4HocwBpw8eOpEAFI1YrWMau CwQ1cMyEO8I0gmLtf64SzF8C0mIB207rMNa3qE5yWhgl1LuGEujCqVEfdMfifT93Nrfg zcnA== X-Forwarded-Encrypted: i=1; AFNElJ+HNAqH9itZgmRb+Cb5bx7R/v6BvGrhW+iMB85qx09BSKp8Grr9RPForIJaPXUauY6HspmsYqly1Nror2Q=@vger.kernel.org X-Gm-Message-State: AOJu0YwaaU9Lu8ZxBgRsXZbmS6bXepoZInb7O3qxkn69Wa5we8sg9biA wOlxP4JQVkKcBJpDj/lZc89rmF8H4qRAvOxcDmCJrVFFHZWcXBO/8hOJl6D3wPIfIkcpNEWp8Q8 4H1ueHjaj3TXRXRbyHXqVbgLOFUdATUuyj1WZQdlVpD1VWLGLvkuZx3jAW7W+DNzejm4= X-Gm-Gg: AeBDietCuULDf3DzP3D+n5Jrb4nGSFrM2ES3IV77XGDXPkB4k06zsP3t4067lo6ODjT keI1heAtno0XPqa43eNfWCZkUz7gy1IW8GZKHyNiFS+7fUQ/+Qdm6IO0zSIyylQ2ry8mbveQ03z /RD5GrsgQj2eHr974IP04bSdQQ7eEPCbFYOenZRf2qSIsCPf6u4TFU5k4NVvNVLjSEn0+EFt/NC eFB19cIHha221BOpIbow6YInTx+/z9Q7SShswV772j9+VExGh25cBtum+40PEEsHYYq8Gjkyc/J +c4LUNRO9kSCB9GizErYLLXZa3pRBMfFQ++YoKA7j3WZIb2/mPqkUxS1rgP5/Mm1RhJvPNtfeNs U+68uzyfixw0a8UrEwcIBAzRrO5o4IeGNypNdqqVsN2LYCxu/qNVN8GA2VYkEjw== X-Received: by 2002:a05:622a:d14:b0:509:5c6f:c0e with SMTP id d75a77b69052e-50e367b52c5mr443363421cf.37.1777281372496; Mon, 27 Apr 2026 02:16:12 -0700 (PDT) X-Received: by 2002:a05:622a:d14:b0:509:5c6f:c0e with SMTP id d75a77b69052e-50e367b52c5mr443363031cf.37.1777281372055; Mon, 27 Apr 2026 02:16:12 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:5062:ae86:23aa:702c]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a6dbfd4b5sm40559365e9.28.2026.04.27.02.16.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Apr 2026 02:16:10 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 27 Apr 2026 11:15:40 +0200 Subject: [PATCH v16 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: <20260427-qcom-qce-cmd-descr-v16-7-945fd1cafbbc@oss.qualcomm.com> References: <20260427-qcom-qce-cmd-descr-v16-0-945fd1cafbbc@oss.qualcomm.com> In-Reply-To: <20260427-qcom-qce-cmd-descr-v16-0-945fd1cafbbc@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , 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/NoTDAcsmYgBp7ylD7u2M2axLouF1vpw9+ltR0S7tpnfX/9Xf+ +0QcBWiRtaJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCae8pQwAKCRAFnS7L/zaE w6g+D/0SY9i0K2JU5To3f1gUmDIN2vAiSXf7FHzH5Su/kfdOHiflT8xHNWcRk3kh6l2yplYk1In vVrQGhhM5rJNpQlEr0XXq24SW2v18VB0vYp7UGe7tV2fPFon4FQsE5eLGXmbIi5TeeyqilnIAiH AaetOOeZW/jQsnwNlLXmBQRD9dNgzi5k+u98QO/ZOes9obW+wYfH7NrIfyBrl0lhE3fbyefQsOZ DJg3QteyKYLgaJsFkaLP31wXLtY9j7iX8cwMxHvnY006k4qCo2PP4WCgE1iM2hejLkEpKC0WYuA xqhJyI11uFCjoMSyXeO7LtEGMHUHbv11DVVUMsPYelwVBtmwYvjjVAd5t2UgYIS/Ijaujxu0qCq MXB8cRR452xACMNZerlKkuvPB7GYj9pZyEj6Nzo84M1Xa6gf94VhNofXnY/eZN0tCmn4WZD6F63 L0m3B3iQjlxP0cDNuV5CDeDWifbfqHjLIxw5uopNiQ2omBw6WILc988JbPiRNHgRXSmmDSgcMMo Xt984kq8d+EBEJLg5oR8YiVIor19i95HmO+ROhLJ6YuiAbj05DaZpscSLZdYUk5xcT4FcPATm9m wtf7IV8Zkxnl9XEVd95t+yGterS6ZiW7rpW9FGPnsg1QWzZVFfK3PB6DOCz0pJqMZgRXoM0TgoN 1i+6K0sCgxTH/zg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI3MDA5OCBTYWx0ZWRfX1vmzvkaED1zD DAEQL2ssr5fLdJx4lrDV8JUYlpJ93C21N5DUjwxcYxRp73+LgUuXt4v2J5F6XjbGeHylEtbNjxV fJZ6RjRa9DknQJ4GwSxBSZkh6HSepxI7obr6cD7AZHSHGJq5GprAoNOJLoOhl5Ojmj+DNayOTRq g8969igKQwAQXQM/qxV/FYJfF1PwFUemjGQGUh9/Ui8ZRKjAeueN7zA/YSz1O//PTVv5aH1Xv9g CYxOtWnokmqOD/1S5H27vqsmr8afRj0jmrjd6o/7SigKmQUj8x3klaJboqHgA4Yry/ORzIv0v1Q kN/LJUP2aB0BcR1YONBlP2mwVeNmTByqgvNG9u6btYMAjHsvCDlfT2FRFpWyBEWhInao+48orjO Ofi7RPvpYd4QZddpIXNv7q0Oo3N04PR4cLTVXLPPq9tKd29M/4zxFsEGZ+p6veuA+9hNcPmo1dX r+1cT8RjCisyhj0GV9A== X-Authority-Analysis: v=2.4 cv=a7QAM0SF c=1 sm=1 tr=0 ts=69ef295d cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=tWRRbWwrKX-5tUpmLDIA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: fJ-fLyoeLh4IPUNCQZCEfFeAQ8PQrnxO X-Proofpoint-ORIG-GUID: fJ-fLyoeLh4IPUNCQZCEfFeAQ8PQrnxO 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-04-27_02,2026-04-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 malwarescore=0 spamscore=0 phishscore=0 impostorscore=0 lowpriorityscore=0 suspectscore=0 bulkscore=0 priorityscore=1501 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604270098 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 Reviewed-by: Manivannan Sadhasivam --- 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 Jun 17 07:35:32 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 08D1F3B47C3 for ; Mon, 27 Apr 2026 09:16:16 +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=1777281378; cv=none; b=WciYJ84ptz328csJ7ZsfsKoigVQUasH0UUAMdJCrrcdDqmwP1+SP3aHC9UK86tZCkMqeNFTF5OrnGoczcBdI2YUM0hnEe5DnRk5L+TAij3zRYvX7+zvYbnvIJ9A+Sx25OtuCOI++YWzlohVE0Pd/cn8zycnF/cLMSGbyZcbfgNA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777281378; c=relaxed/simple; bh=H6RGZzI1m6Hy642I73fornlozWd6x9hkPKo2H6raYsE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=eWUJqZANe0CzHaWFoHS0eFu66h6T3nr1g0o8pt2jjgwOz1Y7HTbnVmL6hsgjd43FbSl2irl2HKhRBg0/94NFGEfe8Ga/XukSrMWA3FZm8jgRLSEcVhnYaT8mk9SUEsKlzxNxaWPDLX63jGifyf5/Vg8XOf/vP2N3GBakS/nPvvE= 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=cqjECPOQ; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=bRvrOR/u; 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="cqjECPOQ"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="bRvrOR/u" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63R8TAOq2793093 for ; Mon, 27 Apr 2026 09:16:16 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=cqjECPOQBhgp/xal uuHwTLcClDvcuPKjvo4pdqq3w4WLLXHo+18z2NvIlf5MahPhuSE/gacEw2ZSJQRR 6gdhKiDFOdkqIehtZunjo3pHI0oDXyQMqjmZ/e927XPUVSNPkMCU7Fzxr3ufnqe2 jFcM7hL3QtHlbvT91hKKBKkHGWu0SZ/PAtKG43B/NW6V4EaSiIjhkqzf0nCXesfK Wb4UDUvt7xV7xk5ML+lkbQ5P87apMMg/NksrNyJX9KsUEZJ+9nwpYzkLkXQ1skAP /KPodTh3wDjVnAJz3P38Pd4i601f+gVeKtx803pwf9IDx7/61nJ/bnRzUUgJdFTI uT2p6w== 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 4dsa4uudjc-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 27 Apr 2026 09:16:16 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8d4c2906fdfso1025338585a.2 for ; Mon, 27 Apr 2026 02:16:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777281375; x=1777886175; 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=bRvrOR/uQFKPPdX36qoRYg/j+FDzcs4am8e033i/uVRwhlwPpPtJBszEQ2mFOm1Xli U08fd1SmNsa8KWcA06XAyvOlk056J6HCHoLhrIPXys2qRsq3PWyawRTwg1RcxMt2VKCf NDlj5WuKUxoIN0GSv8XAylkt+qU5BBgazC7Nz/bcQ7YPsWv2bEaCM9Bx6EFok9FwRKbJ pH5ZzCO7l7RDrkmn+ebokAGYktovCCIl0n939Hez2rhgXS+fPJt+KeNjlDDJ/3J9zr3H OagQ3ZUTR6jrWeRUniSrtYUAYqX/LRblM5a91QgWSTAd7gl5RTzTDMlj0MPqFnFribYI hvUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777281375; x=1777886175; 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=fCg5lNe9CtnXf+N1dwC2rlyogSIuBgoeDX3SDneko1Vw8exTuwXy6UEJS5l1iPCnd8 TCnBXSFVbgl7NcUm/cnhmJ4LyIpKBxEVmCpOkMiGguSQd5lUhWvLcdeKqqzZkR7fldXz qbk2n8x9+LAOiGwvdiQXDNRaWBksPVUSQp24BDZUKCo0AYfLSonoYj8efQ+rnwD1TUGp LfW6KqWy7agmbBCXwCdcgMefIRBVxecM9+b07oT8kdbChcrDfxVMvk9mzq2Nt+v3cq3I LLTc8dNanq5LX9XOe7D4JV19pPBUvwfC/H03ccBxoRG/xf7vccBS6wl4k1L6jsbe9gp9 JLNA== X-Forwarded-Encrypted: i=1; AFNElJ+y1bFP9Zc51NVT8YqhkAVlmncob1kPzSv75A97UjE6F0R9GA9lErxeH1wsGXbaR+pZqmwlyeICSwY43Zc=@vger.kernel.org X-Gm-Message-State: AOJu0YxvIcvCmZhWmVH0LWRmuDtXBOBjIYwSoP2Yd/ULQ0pJpYmHbyBT hSuD1h0ow81f7I8rjLwplogV3S7d5Ne9HDDcm4ehjx7UgNUBmQGtekJRIALVBCbD6lMqooSc2KA 6rvn5DitnJrdnModovbCNVP0GGnDTt1l4xwLMhfSwB/MbtFkz4+d1SX26VeOrjcy6JCg= X-Gm-Gg: AeBDieuinTySjOZcmkbqtoko7j/iJrCSnuuGohEh/h5gP5tSlNlz/Rgm8HlWZFRyl8L 8Fu4Bkom9PLquAeHKMJPEj/nZn3H0COBQSQMC0VLACiXO0RwoeFKm8FTfux+PRnO2qX+nHVpx1R 2h+cbZmvNbzxS9AwhTcmks3/86YQYsGYfkmmV7P/9j4YOMDHkKNrStX8t976aJUt2MCE7LYdN8T Jzmxk6sk2tv7kNN5uoWxoB0fAcJJFARX1A221D9O4cZwhHi59Zau8DHH1USQQluwss6R84aSHUX zjViMQISSPbstp7wrLW3FYSOVrvNuWrrjzafw4w1E7oN4Ua9JVaB6YgN015hPunCEh+Nmm/ZT05 Zko4DpDmu1sYS7OmrNFoZWFnOP9hAq+AK2LwVNJMtz9s2JqPXeWB61YdbWqkSkQ== X-Received: by 2002:ac8:5f4e:0:b0:50b:5056:fcc4 with SMTP id d75a77b69052e-50e367fe796mr649757721cf.4.1777281375228; Mon, 27 Apr 2026 02:16:15 -0700 (PDT) X-Received: by 2002:ac8:5f4e:0:b0:50b:5056:fcc4 with SMTP id d75a77b69052e-50e367fe796mr649757311cf.4.1777281374731; Mon, 27 Apr 2026 02:16:14 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:5062:ae86:23aa:702c]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a6dbfd4b5sm40559365e9.28.2026.04.27.02.16.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Apr 2026 02:16:13 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 27 Apr 2026 11:15:41 +0200 Subject: [PATCH v16 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: <20260427-qcom-qce-cmd-descr-v16-8-945fd1cafbbc@oss.qualcomm.com> References: <20260427-qcom-qce-cmd-descr-v16-0-945fd1cafbbc@oss.qualcomm.com> In-Reply-To: <20260427-qcom-qce-cmd-descr-v16-0-945fd1cafbbc@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , 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/NoTDAcsmYgBp7ylEQkBhfE2gADseHBpneI75TXF7a2W4RqCZO UVezU0cEJuJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCae8pRAAKCRAFnS7L/zaE w+ITEACxbn5lhWiDiA22lakYAcGbPiPdloTEg9NsX4hB7+zQweJ2BKQ44w1ptY3J/fkSyYhHE1b VDD+3mq4jShPWTj29HhzHhHaRone/BLUmgfswv+pvMD2jnyX1VeAbb3y+uUSRVIAWHqXjTZgEAg QAqnzxUyHtIhVJrz/q59A2176m8ZxsXboa3p2aiEO1HKQJOlGa+McDuNpz2nIcb4pt2OmjKugZq MNBkXuCcrWp6ApU0KTSgzn+1qhrfb/xT5eNfFdK4cHvTSC5TowMB+v4XftQ0Ph+pK9ajt2udYDN dBkWaoivuAAfj7rakf9E14msoeLGihUWaYlqhZemDplPDWyF72i9TcxVIdItOGSbVi9CkIjpHeh fkqV92BSQjGTQ+SX+geWnA6JTdLq6zj0ndO1vjkpOzlL2jcWRFkaMFkFfOQwht2uP+Z5T9SmsHV pL7SIoheRcKEnrZyzLJwH2OPKbOVsegVUSPBX6lEbonu9Tfd3f7VHjcdkN5lSR+MSedxi+O34kI CfIiqO3ueachpEuE8Qomk7U5gd0gKhpwm4+imM2xbYz+7ef/YPSc1prbh9GWZ9KjzLBGgzJDbOa isAJmwUL+2/o2d/01i/76RMn7M2ZxG4iEw+3tzW9/hD62Hf3LzA1RDUSyttDTAH56g/sUe08dD6 +edq9r4HES1frQg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: LX00actDP9k6r8cNY5x71__aOmNtySb_ X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI3MDA5OCBTYWx0ZWRfXxRFGcw2ESGRe 9cawDMm3op4/LEZz6tRuKiMcOXCiklyRFWmCdbJmMp3jboFEopfHYwxUcQ0Dcr8hwlB7VnuxXjz 61T7uGJJttlnkmN5MH4atVKnDFK8iqg9ATAvGuTCu0FBMJYF4Ck5+CvquGCmD5tVxlSHbmWwNdO vN9NlPJTGtWcWkrPBRq4hfoQIbOh3sxkR+PdMXToJzSTntiQVCLMBkq834h49z3uOmoEGwGp537 DLKbxvFLMf9ngC6VUS2apZbByt/sgOUC+l6yCQ1hhgyI8afRr728fAH78ihfCQ+UflEHn7CbatQ 4QlgU0NDatSO5JqU2nMV41ut/XaCUJoCiAoboz+GqA8UqAxbtqeQPvnuDREUdjT2m4poCo4UhUb /7tyo0IuE+oW5UOK9eb2fMdTSiiEkuay/DbvdFgyW4lkMmrttK5f7onmEsc1nl7sHhaoJCNtx5G 5ls3ieOWX0OeRTHvvlw== X-Proofpoint-ORIG-GUID: LX00actDP9k6r8cNY5x71__aOmNtySb_ X-Authority-Analysis: v=2.4 cv=J/GaKgnS c=1 sm=1 tr=0 ts=69ef2960 cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=KrkfD191a8oFwBap4LAA:9 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW: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-04-27_02,2026-04-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 bulkscore=0 spamscore=0 phishscore=0 lowpriorityscore=0 impostorscore=0 priorityscore=1501 adultscore=0 suspectscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604270098 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 Reviewed-by: Manivannan Sadhasivam --- 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 Jun 17 07:35:32 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 90A903B47E1 for ; Mon, 27 Apr 2026 09:16:19 +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=1777281382; cv=none; b=VVkSYnjGj7GTWvvaxhY1fgg0FQ7qCDo9cmav/nZuLFbsDYrIxGcSpnmtZGTzFjlytpWv+GeMdLCIzHV+Ss4B63nRewQiLVO/+6fbW/zU2O6YaSlr62GB7Jb4Gl1SOxBVSrxdj8/aBiVVbUceNa4Zb9vFYKY7UukLcx86rYiPV7w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777281382; c=relaxed/simple; bh=0l3gdVnkPeEhRWmaFMSjmRRcTqey535uYCWAXzuHtwc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=l/SU0s771BuYdPkuctCVjLWsBjt/dO/kkisy/K0tGIwH9UhjSVEO1658o649ypLIOWfMAlURDbABPQPpEb/EmSwBk2pNxnRsZruM61PqNy0aOdItG80GTZxv/KiwhMKli/23JU13AJWtZRyxyFIuf9xMhfUCSeZnrITAE/2JWO0= 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=gtJe9AdT; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=BFnjTGYb; 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="gtJe9AdT"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="BFnjTGYb" 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 63R8T9Cp2879353 for ; Mon, 27 Apr 2026 09:16:19 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= bP+u/9sMDsi5B9HZu73nJnAW0uvD7B1160U6L0iNO8E=; b=gtJe9AdT9HkSr3Js x38JeDnFSfFGOdRNOe9+KEzBWFWrmSCTwmi8hAmj/tDuBmlPa8+s+Uag8VjhObGC gZhKmcTh+K7bWHbYKAQciZS0kiwnqrVK2uCWF99tCQ/5KLLSPz2MU4kEyCMzekTV poy5FOVYLjPaKcLjJibfjF5MgB1Nt91FwrMa1WUeJOIQGcIVm+2nRB8Amo854ERp exzBk1gxO7lMyb2AwWrXao/IQx39OFt2gCyYGWSCd2UTSHEAwcYTExvVJZ34qp6C rtWWVfBUpY3KcN1n5bG4H3xAl9A9fBw/KlnQF4lYTfz9wksveS/IYMjXelxJkbPL vnP+6g== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4drnu2wdhe-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 27 Apr 2026 09:16:18 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-50ff051e189so35381961cf.2 for ; Mon, 27 Apr 2026 02:16:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777281378; x=1777886178; 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=BFnjTGYbcZ2dxQ6AYvFPgB+QwucO1LPM8FtNdISCofiyV0GIECiasWxpoa3nfZTK/m ZgWOFCXHjSbrkNCh2PRmUQ0LuKJb5z/+khIhEpvDihtDJ31PgtyieGf3fvE5H1o4awk0 1avcJNxvnXbO7QdEX/QDiI/vn6SeW25Ij4bYO7NcuAfJFtFWPqBFmmhg13cMguVtIgab qkpSzllZMPrk0k5eK11/c7apYSwo8WUrGNIJ3RJV3JWJQvUQ6u5AybacQsBhl+/3WxUA gjeoFkzSrcVJdkPyTn68A5y/LQPb3viVsh69EdEbYJLAtw14kQUM2xN5CWr0nBWenM+X Ehaw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777281378; x=1777886178; 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=rgLIOcubLQEqhYZM93T6xymIriX8xbDMUQVaLo3rOObGl258piEjr4I6MY/PCcJ/Hc 0jRhl7+0XizH0KPnn8gFwaMRO7G7xqrbxIQxRnqILbCmIVMwAVdSbAHRgUchDOwPqxVx bYMnqMbK6FT/QmZnstOdJEYgwpyxRskbxZIC4/5ZET+ca6ntvvtzWA6dX02PFYWI6qT/ odtAN+rQoQFz15c0nMADXFFWUVNlcZAI8e3Cm+l8pG7RlSAv4JzuSOuxZd4XjnH4r+NO KV8KblNPpOvEMBt8Jk5TMdV5dAf2cDOP7Dy3DI77TCZrjHFdn/TQC7ry3BAlfY7Qi9Vn t4Tg== X-Forwarded-Encrypted: i=1; AFNElJ9HpqyYP+zJrqusuq/OLcmi1xArfpgvlKxCnEful28fve7KXQeVvoy/JGmJ+KdMvNhAUBwuM9tmXFHx27E=@vger.kernel.org X-Gm-Message-State: AOJu0Yx2Xt2xqamt7J30/ecKBPsU3oswMImQFe591NW+jqAXS36uhWbw spSbcnl7XiP50trKHYx2zf99j2m58mqKEYywUMeIOuo8z2lKwk97P8J+DTYFH2ktoiQchVwjGTX mSsjQgHDvOaxq4vSg0klgjwGgs3U5AcgGptsSrVmhT2wOUiwjpcMJC0ONjhzyTeD9Xe0= X-Gm-Gg: AeBDieu2DfLdFIPTPazOhpf9VPJT7sXONADmz7eEIniO1OZkz5JfgJsyiHIZBzng7YT qIGg/bxUSIJsSTiqbxSe9E/IGvYKgS9wO8oS4zD50HMFWaGVvozbBhpAGBvGlKpuP6cVdOrMRd8 jrXhlVxcrFftIxD0PaHLiws3Jeaq/0wlb3mxsgVQoJhO4aa4JdzrZyOBTStvFxucAVBmQqXHAsn icL2HKjQDnTsE5aLjJiAr2WHtJ7BEoPorXx5OekMGzDaaRsNaqpSOKDYI1/BotPJMEeGCQvyN09 DahqYOwru9iGbnBgk0EwuYGIWSijcQHPFXNHMuoGHg6QLFDBkPzZmScltYAw7MuYWfHyCMR8K2U 5HSX4AD5S/JBFJnSUzFhkLW1CzmKxzVDF5tV5fgE1cNkaUdW56nNFBEU3MmpESA== X-Received: by 2002:a05:622a:1884:b0:50d:a644:69b1 with SMTP id d75a77b69052e-50e36ba3f1fmr568019381cf.25.1777281377963; Mon, 27 Apr 2026 02:16:17 -0700 (PDT) X-Received: by 2002:a05:622a:1884:b0:50d:a644:69b1 with SMTP id d75a77b69052e-50e36ba3f1fmr568019031cf.25.1777281377465; Mon, 27 Apr 2026 02:16:17 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:5062:ae86:23aa:702c]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a6dbfd4b5sm40559365e9.28.2026.04.27.02.16.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Apr 2026 02:16:16 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 27 Apr 2026 11:15:42 +0200 Subject: [PATCH v16 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: <20260427-qcom-qce-cmd-descr-v16-9-945fd1cafbbc@oss.qualcomm.com> References: <20260427-qcom-qce-cmd-descr-v16-0-945fd1cafbbc@oss.qualcomm.com> In-Reply-To: <20260427-qcom-qce-cmd-descr-v16-0-945fd1cafbbc@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , 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/NoTDAcsmYgBp7ylFm7c2nvUtUcJ1z2g6SDoZs/iXQQpQZYP/8 O+2w8pXe2SJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCae8pRQAKCRAFnS7L/zaE w0/VD/9baMWDsWkK4NNPbwXnJZguEM2WlDqh5cmEYnMjDW61exw0L221i9YQuxz1FKvSUWB0EXK wQZwEczyHis1Ia2k06kvA/lZuUEchbz3qTWQ/lAtk47GtvcvBYl2kFP0ID20FCiSWdNcCGBi2J/ ilU57jELOOXlzvvmdRZMs3z80vOhTiAyEm7K2zOfbQYopsSb6rd5CGEH7yC4Qy9/7Oga9Mx3cg6 DAnmBG7pvPKXqq6pJ9OLDJesW3VGWU1r6AGomCIwb6vuT7GRc9fqrkgNDKlfFYh/bBwe5fQI+Ed MWV7YAliHyiSA8Sw3O4BTJcUEJBFaBHMTUKyIWy5IZAhXx78RIXWb8r/gf0y2ftoNZqQrjaedEh RQayfnx57jEmVr8wBWzN6EEEsBlvvicQ4bmWTb+bX/7KTDrkZ8vB7egEW2Ld/gBB1TGmyFiVezD t+CQJf4GyIZmKytis6NvzgKF8R2391RbGCzvQ9RAjdFEUYgMwn5myMfiGAHv1n/uyCk1g4zY9P2 pv2Wl3qrMSXCX+SKgAqQL1GR+fsP/+xuAIpHw0xb8oaLosSzVaa62s/dP3VHXIQnq6PO33f2qkT hXstzncGxDS4N9RodeFwFH8ytChyAtYXC3SKDjjHhQB6D/F20SA2U1cId6UPc1FOPzLhFETzdQN ivbkjKgwa0BeqSA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: OUXH5V9h_4WT4OIaLCSWJM98ioLAJzHR X-Authority-Analysis: v=2.4 cv=cbriaHDM c=1 sm=1 tr=0 ts=69ef2962 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=r78XHnC5kAO70zNBxnsA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: OUXH5V9h_4WT4OIaLCSWJM98ioLAJzHR X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI3MDA5OCBTYWx0ZWRfX93PR5S0YsJnF +pMerMrxnOvsy1bpLRjkGUiS341DNSG4ji/ZSg0UAcnaMjy27ymNCXs5CB9jbznUZ9n8oFPKQl/ rNgbgnWdmEqQ3/Mo73GAx6xc7KzMMhEQXt7lgPurC7xOjrEO9MV5K99HyZy8mNZWvRgA/FSnp07 9QOi8/bn5Tk55DcRYa1W1pv6blt0fzKdQtkAuVq8oVGuW4Mv2xrUVu8ayDoU4EYk5S+NpzdWOrD KXzIm9SRDnRilvIw19gfjqmR2pJ/CQrmBLaDPdU8tLtfQm48lf2wC6KnUiCVYCMJ+9kYOb5iCQc iwKr1Y3F6WjOWQxZdCUhg9Oi0CtlflkiWqT0XpDQ687nZdLTX3gLCy2XQw1tfr/9Qhh7leey4/L icsd/yQafDLKwkNJ7DPD+Z5L+JcJ1flDDWVyWrmfcDqeY0qIq1HEe1TfT/+B0ru8tJu0cX8evwK N3rAFIPX3LFD5Bum5QQ== 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-04-27_02,2026-04-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 phishscore=0 lowpriorityscore=0 clxscore=1015 impostorscore=0 priorityscore=1501 spamscore=0 malwarescore=0 bulkscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604270098 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 Reviewed-by: Manivannan Sadhasivam --- 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 Jun 17 07:35:32 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 DEC393B4E84 for ; Mon, 27 Apr 2026 09:16:22 +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=1777281384; cv=none; b=ru1OD2jq8/8L0xC1SgE0ZCXlPJjJel7JvzKJIgJhtx88ZF2NpTawR3I1fsL1Ro+Bgm5kyNzIUDFPbcSMFT5xyraISQyj18Tttvhub0itnejQaMcWHVrTTHnrFcewcaMQt7/X16qOylvCV1Q39AysZvATeBTiSNiWRv0k4Tsu+7Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777281384; c=relaxed/simple; bh=FnVBtOe0OnnBy34d5WsqwWSUvkeiYQ93/vJc1qwp/2M=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=fSogUZJ+brCP7Gp7WWNZsvSuyX/PvMxY+Et+vzPTeyJ241tblVM95EuhaZER0+PL+ed1zKZsNiF+Q2VQMoHNJdrUVFf4adoNjm6GE65iTmdeEbGzFoWuUSfRCeR24TKgFnthuQFDLvgq2cgI6asArtQD3Bi7Y0y7C9FMnlMZG2U= 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=J6KyCAOi; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=TfsFthoD; 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="J6KyCAOi"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="TfsFthoD" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63R8TARu2793106 for ; Mon, 27 Apr 2026 09:16:22 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=J6KyCAOigrI6JMUi 2FW4hWpKgMMtLx9sgxLJcU5fVxhKef1+SUGmBMu9Tmi0+bQm4xuScshXl00PzhWd G4ESrI5uCxyqk0kPsk/Zpqa+LaOexx8aEyQsxkkQCPSZHOHEfrXuiJ/KUN4DflHr L9yFLAgjb1OcS2LDWWI4A/91DZaW0sgjTmsjj/XDOb43r+KvpduM40lOvr7teci+ o5m3UH5i0gGj9tw5cBR0Nk3qnflfKFix35Fr/hVxEc4I9EIB5IhdnaeX9xVCh2r+ 2RjfSPFzwiOlnOsHDOihnL+eVYot6KnJX/gHb7NyYBE+2MpcYzypDjap2bohXyN6 xJ7JQg== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dsa4uudk3-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 27 Apr 2026 09:16:21 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-50ea1a7a5d0so176697941cf.3 for ; Mon, 27 Apr 2026 02:16:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777281381; x=1777886181; 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=TfsFthoDLop8x+YtDatkE+UuEQ1uuVuT9KaCM3WDoMaD7ZaQkMF404aw9HXmM0djEu 7nrJuK1VVwsuNzQYXYAphspRJPb63o9WL7Kx3/IUlfRalKnIh1Ys4HLSKZcdOUNptJbx OFzJMS7qmMl8bxsxtSb1o5RGPmRJ4EVZiGJ5mW5x+wc10uQ22hWC6S/+pQ1ncLS9YgQC ZlO16quM7gZZwTYXg+KzjgHKGl3M7Si7IK96gyJm7081/xULtHtuVZCcxcWCEYgEgwjW 14OM5/S4aMdgqHgGxyFQA0z1Pi1zNKcrMvPY96FLn0+yxWyYhDbKYYNom7eUoeqPLUL0 B6yA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777281381; x=1777886181; 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=FJZ3m9Bqg3DHpoDGeEtH0EU3nAI+Ar/tqZ/uyIW6sJUpb5mifSGSVCIYjLMR/u/uVs 6HU6IHsNgdrxNIBB8nJhy7WnsKlbjMqIcVznp2tZK19DH8+edcclLjkxJMEDPVWwrd/O aT69NUkZtSnGqFB4m7hoZbc+ijF23D6K3lZiw5V7eKYE01CxG1Cw/V5I7opHImtJMN/0 8LKSSa16cEAZyicWvx8L8vTvp0voNxnRdsabJDELE3vPO4cls8DR8d9OCefWW4JlMgyh 1nsdLzCJl9jjgSz1mOkMePafdjhGAUp6AMix9VLBJ59Wh6GG0bPdEbFSnW0bsaGKDpNQ t4nA== X-Forwarded-Encrypted: i=1; AFNElJ/jP0O2DKbPglsQOxto4CNbtE8xIqq1bKaGtn29gM6lbYpcLsl/zgVOstWImqZqncMlJWR5HJ6qHIOpWrw=@vger.kernel.org X-Gm-Message-State: AOJu0YzjWKAd2JzD3ZEY67yERjel75HZtBO/yjEXSyAtzAQ/gHMz//cs a9cOipqAMExicLEcP2alQuuUcz1bXyW0W7Pstf9K/2WRu1yqKRXnSiGJ81FBvJeNUfIJxx2oIR/ R9HjF/OpShW9qsQPN1D4n3T6/+BDajO4cJGg20XUQmOJVDMWg95AOK3gqtwuUKNmp8+0= X-Gm-Gg: AeBDieuEG8HMckEG4A0nr5eomuTD3W11Q46oQk3xOoDauaDDfNaWXJXpI7+RZgEhyhJ EDzYRdbxSPzG4FW18O517iNmwvQURMRgTaQP6VNxCxxGOz2VEbecc/++FBJKgD/7szHYp3t1wk/ WK5S+BQSrGwSyqHhVz/47vm/FUOemqU3V/FQm/ttYNgmfbAzm/XGAmf4pHeQFGuKuWch14kKn08 ImXvwqj5Wzzb64zvXrqqyfSwexBoG8QmGZtwHC9FeaXN6AI8zVZDAajvp/jPqbAmS6HsW5oUmSj qRbqDdJCwN9NSWupqSXS/3odHG+cO8d+jsMR+5P+COoF/poFlNhFuvAGRm6zIs0WUPdZDgKwt1v CqNe68fD0YEXIN4TZ2Vdvad47w+jLjDs3xxnov9nVS3MLcBMzD5AZxvCANcyXew== X-Received: by 2002:a05:622a:5149:b0:50f:ae44:515b with SMTP id d75a77b69052e-50fae4453cdmr438255761cf.37.1777281380998; Mon, 27 Apr 2026 02:16:20 -0700 (PDT) X-Received: by 2002:a05:622a:5149:b0:50f:ae44:515b with SMTP id d75a77b69052e-50fae4453cdmr438255401cf.37.1777281380602; Mon, 27 Apr 2026 02:16:20 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:5062:ae86:23aa:702c]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a6dbfd4b5sm40559365e9.28.2026.04.27.02.16.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Apr 2026 02:16:19 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 27 Apr 2026 11:15:43 +0200 Subject: [PATCH v16 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: <20260427-qcom-qce-cmd-descr-v16-10-945fd1cafbbc@oss.qualcomm.com> References: <20260427-qcom-qce-cmd-descr-v16-0-945fd1cafbbc@oss.qualcomm.com> In-Reply-To: <20260427-qcom-qce-cmd-descr-v16-0-945fd1cafbbc@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , 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/NoTDAcsmYgBp7ylGmClCRw3//AfCjDOHernDiXEiNO3iuUlCp gZtKgrriaqJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCae8pRgAKCRAFnS7L/zaE wwtREACcEpKAs4f12xlr9d432+UiRM2mqQ0WBb2tqTkHrB92fG3R6QIfX/0r0TAp4o2j3KzY4LH i7C9hOGNmxiatWeBsAqptPxi7GQzaDrSfwSJMkQvcnBF9LhCSKIv+8NGfVlwKhat+QzjZkANPK7 rPv8TeukHNlUuFYifbu7zryjeH1ksha4ZQ9k+BtMHbGgZm3GsWdCaoaXQked3UoY3qewm8nzWfw 4tBicyc/b9QrNvOSyIhYWl7taI5r8JiWfnrxH28tcs0uCT+8paNvfNcjaHflLqlnKMeTdy2DNqq OkniN/g7MRsVxtajBfV+xsgrE3kfd4kxLLZMT2v/ec1XQd8WToXxLgNYQrmSr+fxzgclxL8gCSw zlPpakDKsBf0+VbSgDrMdHJs8uR/etgu2gN2WstJ7SnukbBElTYmqZ3s17ARRLL2cfoJy1z8nmY bJPPm1GwkeMoNd2AoLA6Le7OoK8FTq9zcwpoBBrZrYvn+TRTpKGd9JoYliEMEjKiOV9UItpEQfq YpZCupTT0ymSqFzi4KCE+93mXXWMQn+/5ArMejrPT30QJ60pxe9h5Xc666ZiyJ25zDt3rGQDY5s EWFvFFDQPiGyT5VrQr8j55uFwShKCq2GHoRqPbipjOeaGxenIkhID7vjO1YwkrzuHDRflyEsQrD oAp75Xv2eG7HPcQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: GDoa7pOp048jS9-1JrVWVCkbxqN13qHb X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI3MDA5OCBTYWx0ZWRfX/fcqiyXoR6// G9E6bHIuxc/9mcpacVBK0cgGlGXIvfEW6y0TqaTvxLy0If1jgEH9zQO16KC0Xm9D+b7ERTBAVDa Pw1cnL9IjdhBYP+GZJPk/8dA10T6FEdHJ9mUlRwm4Ctx1Sn89Afb4gNpSRXE/68u8nL+fkCcb+T ISPhL+9MRDwDEcyK7wVns9qd5xI9nVCU2CKKIRhr3wJc4r+tMs45doFZpcFFQIMdhqYRk5Ii5Pu m/HgQ6j5wU5MfcDcLmXAB/epstZKOoLRlRG1zlhCHgl5kQyW2drK8uwPGX5IIYmr5pMuVHQyP19 L20o5pH0z5MyVV2POx3XpUVPdsa2IzOneVEahoKJeSQny3WZhDiwEGX/DLksm1srAt6OIsfJQVy 1u41Vv8yv99nXO2LKvojGouA37AsbECEh37hEgR0ElNDK4r7cdJM2GeP37HEUHFlrQb69X9lZ4C gOrAFYwvJk+3UBEehkg== X-Proofpoint-ORIG-GUID: GDoa7pOp048jS9-1JrVWVCkbxqN13qHb X-Authority-Analysis: v=2.4 cv=J/GaKgnS c=1 sm=1 tr=0 ts=69ef2965 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=76fuQ0JqpD8MvifAs1cA:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU: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-04-27_02,2026-04-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 bulkscore=0 spamscore=0 phishscore=0 lowpriorityscore=0 impostorscore=0 priorityscore=1501 adultscore=0 suspectscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604270098 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 Reviewed-by: Manivannan Sadhasivam --- 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 Jun 17 07:35:32 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 78D183B27E5 for ; Mon, 27 Apr 2026 09:16:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777281387; cv=none; b=gij2G+JVsUTgCZ6tn/W4Xs++4zpNEqM8xpiKa8pQiZbBIMQyqhbnCgdIElImxY60fKbKA7M3kHhntOsAcg1qXrTR647mx3IfXYYqsXdPn9FHHNic6RYaIi6tMhZm872CVfN3lBoFRK9FYZ34ugFlwpLjCyfKmyIhKmU5kEcoNF4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777281387; c=relaxed/simple; bh=iVmPVVfQlsVdWSJMuev+VYZbz8Lqpvzr23hNz1PodcI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=jyNO4/yjuGmVpZLXCvtEG5YU670DZwDQtDRptIBwkHP3zpUpOPWqJ2tgiAZ2toKm5bS/BU1z9PSzGOI0XJMFmVK2QFJ9MiBb9qHWmTshrOXwpSHe5a5bjaPXRjZcLTbjvSu6qndlPkuTDHg8KA0juk9mylq5YHPAP03TndRzUTM= 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=Hu2kJq5M; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ISjzLJLm; 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="Hu2kJq5M"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ISjzLJLm" 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 63R8TLW83681852 for ; Mon, 27 Apr 2026 09:16:25 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= Nk82EdoDO30/uDSqfazfhPqv+PPe8L3md2Nh0Jp0fBM=; b=Hu2kJq5MWsfjzAda FLCGgJeEbnsQF4+7Yv65CT5BN+qzgf2amrY2RWq4RwMad9WFyXKPFY+nmidIiZtw 3zzaZKkkG0TlCGG0VHiRA77ZnSJZpI/WjCjV4X8WI0f8yCLtA9irAUI4WuDe2g6B 8wyldx5MXCqMk0l3YE/desu+Gw1btJB/fFRR2sFKVAsZDPO5+CYqKEJ0WYpXfQHd SWf4keb0lH6g23ViyiUnzaSvJIJo+Fls7yrV/ZqUrQy6aqz7PyMpRIwCtdUPR1N6 t0iXrlWyHfC385BlfuLEEfL4J0E//RX4ifpBKGwi29hvvBdiUUWRDFHM6ph118XH KJNWvg== 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 4drpsgwaet-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 27 Apr 2026 09:16:24 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-50da31af14cso264911451cf.1 for ; Mon, 27 Apr 2026 02:16:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777281384; x=1777886184; 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=Nk82EdoDO30/uDSqfazfhPqv+PPe8L3md2Nh0Jp0fBM=; b=ISjzLJLmrMUqog8Rlq5Jx4Agf11PDwtz8fRVj7VpwchJ2pl6K/1ECSNMpgNXI6vuXB KG5ty0YX8towLTE2ACtFonCtRmy4sWuqxVE+ypKtynSwRwn52g48I74lmEEFrFlToBdI gjbUEZxY500mCvV27VnxYEth1/cpWgryfKOMmJqkyXPx1fhaAHW9XlUJTcq36AwgX3Yv BWFDegNpj5e7PzJ8gjjCnaoNjKFsZPoBSipa1LEBcw9q9jHsJAoFS8QmQ1JXqEdULBHZ jtfxWJgA//XWNsuxzR4kNIYFFMMS4XPb4E0pA2q+RH4DROBxyoWTCSmc1ZOi7AeVbuhQ UM9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777281384; x=1777886184; 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=Nk82EdoDO30/uDSqfazfhPqv+PPe8L3md2Nh0Jp0fBM=; b=pmz5v42FiEzWrVvmZoYqVcuqG/49hEVQPxMx/xUPPuetHlOQC0OwFHyzRHSmdnwTEN tsSMLt5mC8O09+a+sjgDNDdoORhqRdhcqi6jYotLGUy5zzt7VvGm55NnSwhLjs+sS5wR EdkKJxabHtWZe0x+SgSUX1MSGZcXq4z/m2VDTi991NaNsDXYg4A/hk8qSMJrmaEjv9CT sIe2PxOcxbIr9D6C3T6xOpwzWHPULUi6hEOV3rT319Rb8aCEjr/VJ7t6rUxLgIdR009Q pTB2a+knvlSuChMygLqEYGBtp8xAkoPUds9OKcz0n5swtbPb3UqXpIynPGkN6d7cswc1 yJUg== X-Forwarded-Encrypted: i=1; AFNElJ9iJ40g4GWF6kwemDkstT3FYoE9hrQ93tsUWTxeG4onPJWOGKBFkMilWCQgrJ7Ce4Gc7b+o9kTC/1F68Po=@vger.kernel.org X-Gm-Message-State: AOJu0YwTTNdYyAdvA/HB23S135RdsW1rvDPiaxjOFLCHlO7s7KzU4lz5 RntywLeYp24GxsNkDr026/Mvcl/us1gtABQScrpHvUhG5qFeNjwGAUOnc/MOfXwXBd2I7ecpBix sgEEzvJCe4fLYDKvvMQvgF1qrW17snRrYhJokkt2pWGoqhl+k+ohl03gJ8HHONh5xvXk= X-Gm-Gg: AeBDiet4dVJaSH9bKVUiSrCHMGz/8Mtihg6SEB9Ob5zFlXR1rqQSfMnf3stgxpFPE01 T8Eo5eqOYDH1R3bUj48SAQ5Hu5vh57LgSYjXqs8tVqrP3amLfi1ea8xCAbrZmZZQV2xoAUVOo2r d51ecv8I1kBkKU7E75uJXEc4PQcvA1ZuZLe1n0VtNjsbU049Hly9UXB+UBKLNSDsHpN35lWGLz3 VnIB2YWRjGan9/ALwqwPkyRzC6JeIAd/jmfYDiTsGsY1GUAAysFe1D0/9Ztctny3rbDIUIVGfCO Ot77bRS2Pa4nxz17o7iR1pMfnu5crR72ZYf6zif1gH3IOPxtPz1CG2Iqf/vv0CzKyT+GjvB6i4/ bfiiddDlswaj+mmn5lLFMQiRwzFFalsLJMV0BpERLSIZ2TV4hoWFpxnc13S3HwQ== X-Received: by 2002:a05:622a:154:b0:50f:39c6:68e4 with SMTP id d75a77b69052e-50f39c67e07mr435587491cf.16.1777281383710; Mon, 27 Apr 2026 02:16:23 -0700 (PDT) X-Received: by 2002:a05:622a:154:b0:50f:39c6:68e4 with SMTP id d75a77b69052e-50f39c67e07mr435587091cf.16.1777281383221; Mon, 27 Apr 2026 02:16:23 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:5062:ae86:23aa:702c]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a6dbfd4b5sm40559365e9.28.2026.04.27.02.16.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Apr 2026 02:16:22 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 27 Apr 2026 11:15:44 +0200 Subject: [PATCH v16 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: <20260427-qcom-qce-cmd-descr-v16-11-945fd1cafbbc@oss.qualcomm.com> References: <20260427-qcom-qce-cmd-descr-v16-0-945fd1cafbbc@oss.qualcomm.com> In-Reply-To: <20260427-qcom-qce-cmd-descr-v16-0-945fd1cafbbc@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , 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=12341; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=v4gite8/Uzq6OzZiXglzlIUUs/8AHalPTxvMXR+TSjE=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBp7ylGAsVM799VIswzlluAZQw0sclqV210Y7Mww mX+tylfAuiJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCae8pRgAKCRAFnS7L/zaE w01NEACR/EnlEzg+YXpMfZM4eg6UWF2XTr/7T266wCWvnz00xRip6qOTD4VkjAXyFaRgIaWFlBK SEd5mMDcHqmQjuj5HT4iO0algSrlPq+D7QSCXUu5yVsRYGUxqgqo79Rf3QdE8rLAR42XekSMIY/ 0UD+RdcE2bHTqBT207I+G5AKbfPw3OWKI47OKrfiJfhYvqkFLYdNybFO7wNPOvsujssSJJsNym3 OMtXM67fKTSPVk+XRL1UnpQQKE9zOnG3EvzSSLSlgE+7gaCq2kyqozA68ucBdUSLJcxlqnejGAi anzv049Jq22WqUhjtXortjwms/Edy1xVK4DVYpypqknmrHJCR+x3JiRiz1/2v0o8IciKky3HRgY 1+LPojA3Qb8LPCZgEzmOMXz+BqB/+hlcyWdaJGeLr9loxE21Srbjg1XkaIgfXMDZ7md42n3A8nn qMW581HAuvIw5u9tDwBMht9WvDm/dc0ZayMLdSWCbR6E1pEP86Y3SH400Xj55rvXCvCnutExlJr U06+8tMXyk1ZkvhoWXsu7jT0Wnyg6YDmYkEDFP0vKmVpgPOEZ/CVZhbF5VCI5EEv1o2cVLRXJw2 f5+sLFQAg0kYwJ4b7vNZg+Q9Nq5eG50hemHMIHuH5holSNXUcR1QGNoR8Mt2zW+C5HfGBzPx0Jy aNy/U6aT6/yBd5g== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: nQpywbEZR5R35xz7ujHXvS325tyeG-pB X-Proofpoint-ORIG-GUID: nQpywbEZR5R35xz7ujHXvS325tyeG-pB X-Authority-Analysis: v=2.4 cv=Y+fIdBeN c=1 sm=1 tr=0 ts=69ef2968 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=WcxjCIufZwSle95KIU4A:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI3MDA5OCBTYWx0ZWRfX8i29EQ1xmXse b+db4EW/BiwYqo2NXWE/vu49gA27ib1AQwozr+GFdRjjsJmKGGHAGmHYSXurZOczJI4tsMKxZQk cTb/2+b1SnP11LBdqZviUSDdj3kcEcim2eyvKkZvG59DS/aRCZVUEkrGxVshINjRuDIXi2ukqqX A8OEmuVouRx/qebiivnEwXdueFwb9mLkk/aIBvMqMJNKIspk7qeAp/NO75zj1JuDGaWvYqWKA4H mRrFqrVHzA2NHkuaQ7X/f5R4gFl5oI4yWstISVLRSm5aKq9lrK9c2oCGlfHM13OWOu433FejpPQ ttJvmKbCPoXzNqm1yIf9x8vnoI11YeQPhn4okKSy5v6HQIEdzggcAjuna6k3ky7xLPO4vK/QuAm yi/Ge4dbYCfjWggIaN2FyXwRLU45a9DYRa2xBSEUWcXrFlG6/lmQZRcUwdPZB6OC2fRLAa3wXfS yMU+8kTn4MFYPpJUvzg== 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-04-27_02,2026-04-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 spamscore=0 suspectscore=0 phishscore=0 adultscore=0 priorityscore=1501 malwarescore=0 impostorscore=0 bulkscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604270098 From: Bartosz Golaszewski Switch to using BAM DMA for register I/O in addition to passing data. To that end: provide the necessary infrastructure in the driver, modify the ordering of operations as required and replace all direct register writes with wrappers queueing DMA command descriptors. Signed-off-by: Bartosz Golaszewski Signed-off-by: Bartosz Golaszewski Reviewed-by: Manivannan Sadhasivam --- drivers/crypto/qce/aead.c | 8 +-- drivers/crypto/qce/common.c | 20 ++++---- drivers/crypto/qce/core.h | 4 ++ drivers/crypto/qce/dma.c | 116 ++++++++++++++++++++++++++++++++++++++= ++-- drivers/crypto/qce/dma.h | 5 ++ drivers/crypto/qce/sha.c | 8 +-- drivers/crypto/qce/skcipher.c | 8 +-- 7 files changed, 142 insertions(+), 27 deletions(-) diff --git a/drivers/crypto/qce/aead.c b/drivers/crypto/qce/aead.c index 03b8042da9a1b4aebdc775ad8ab912abc7b2383d..5433b04afc83c23c7c50b3138a0= b7b4c3d9123ea 100644 --- a/drivers/crypto/qce/aead.c +++ b/drivers/crypto/qce/aead.c @@ -463,6 +463,10 @@ qce_aead_async_req_handle(struct crypto_async_request = *async_req) src_nents =3D dst_nents - 1; } =20 + ret =3D qce_start(async_req, tmpl->crypto_alg_type); + if (ret) + goto error_terminate; + ret =3D qce_dma_prep_sgs(&qce->dma, rctx->src_sg, src_nents, rctx->dst_sg= , dst_nents, qce_aead_done, async_req); if (ret) @@ -470,10 +474,6 @@ qce_aead_async_req_handle(struct crypto_async_request = *async_req) =20 qce_dma_issue_pending(&qce->dma); =20 - ret =3D qce_start(async_req, tmpl->crypto_alg_type); - if (ret) - goto error_terminate; - return 0; =20 error_terminate: diff --git a/drivers/crypto/qce/common.c b/drivers/crypto/qce/common.c index 54a78a57f63028f01870a3edeb8e390f523bb190..37bb6f03244d317a887aeb0aa10= cefe327b4ce05 100644 --- a/drivers/crypto/qce/common.c +++ b/drivers/crypto/qce/common.c @@ -25,7 +25,7 @@ static inline u32 qce_read(struct qce_device *qce, u32 of= fset) =20 static inline void qce_write(struct qce_device *qce, u32 offset, u32 val) { - writel(val, qce->base + offset); + qce_write_dma(qce, offset, val); } =20 static inline void qce_write_array(struct qce_device *qce, u32 offset, @@ -82,6 +82,8 @@ static void qce_setup_config(struct qce_device *qce) { u32 config; =20 + qce_clear_bam_transaction(qce); + /* get big endianness */ config =3D qce_config_reg(qce, 0); =20 @@ -90,12 +92,14 @@ static void qce_setup_config(struct qce_device *qce) qce_write(qce, REG_CONFIG, config); } =20 -static inline void qce_crypto_go(struct qce_device *qce, bool result_dump) +static inline int qce_crypto_go(struct qce_device *qce, bool result_dump) { if (result_dump) qce_write(qce, REG_GOPROC, BIT(GO_SHIFT) | BIT(RESULTS_DUMP_SHIFT)); else qce_write(qce, REG_GOPROC, BIT(GO_SHIFT)); + + return qce_submit_cmd_desc(qce); } =20 #if defined(CONFIG_CRYPTO_DEV_QCE_SHA) || defined(CONFIG_CRYPTO_DEV_QCE_AE= AD) @@ -223,9 +227,7 @@ static int qce_setup_regs_ahash(struct crypto_async_req= uest *async_req) config =3D qce_config_reg(qce, 1); qce_write(qce, REG_CONFIG, config); =20 - qce_crypto_go(qce, true); - - return 0; + return qce_crypto_go(qce, true); } #endif =20 @@ -386,9 +388,7 @@ static int qce_setup_regs_skcipher(struct crypto_async_= request *async_req) config =3D qce_config_reg(qce, 1); qce_write(qce, REG_CONFIG, config); =20 - qce_crypto_go(qce, true); - - return 0; + return qce_crypto_go(qce, true); } #endif =20 @@ -535,9 +535,7 @@ static int qce_setup_regs_aead(struct crypto_async_requ= est *async_req) qce_write(qce, REG_CONFIG, config); =20 /* Start the process */ - qce_crypto_go(qce, !IS_CCM(flags)); - - return 0; + return qce_crypto_go(qce, !IS_CCM(flags)); } #endif =20 diff --git a/drivers/crypto/qce/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..312a8664f87e63cb3a87804c52b= 8b2af612a47d0 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,96 @@ #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; + + 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 +123,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 @@ -90,22 +197,23 @@ int qce_dma_prep_sgs(struct qce_dma_data *dma, struct = scatterlist *rx_sg, { struct dma_chan *rxchan =3D dma->rxchan; struct dma_chan *txchan =3D dma->txchan; - unsigned long flags =3D DMA_PREP_INTERRUPT | DMA_CTRL_ACK; + unsigned long txflags =3D DMA_PREP_INTERRUPT | DMA_CTRL_ACK; + unsigned long rxflags =3D txflags | DMA_PREP_FENCE; int ret; =20 - ret =3D qce_dma_prep_sg(rxchan, rx_sg, rx_nents, flags, DMA_MEM_TO_DEV, + ret =3D qce_dma_prep_sg(rxchan, rx_sg, rx_nents, rxflags, DMA_MEM_TO_DEV, NULL, NULL); if (ret) return ret; =20 - return qce_dma_prep_sg(txchan, tx_sg, tx_nents, flags, DMA_DEV_TO_MEM, + return qce_dma_prep_sg(txchan, tx_sg, tx_nents, txflags, DMA_DEV_TO_MEM, cb, cb_param); } =20 void qce_dma_issue_pending(struct qce_dma_data *dma) { - dma_async_issue_pending(dma->rxchan); dma_async_issue_pending(dma->txchan); + dma_async_issue_pending(dma->rxchan); } =20 int qce_dma_terminate_all(struct qce_dma_data *dma) 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 a3a1a205aaf8559a04809936e2a3b7d564c16c53..d6f1f97b51c2ac36df7b428ae04= 4d778e73df6af 100644 --- a/drivers/crypto/qce/sha.c +++ b/drivers/crypto/qce/sha.c @@ -109,6 +109,10 @@ static int qce_ahash_async_req_handle(struct crypto_as= ync_request *async_req) goto error_unmap_src; } =20 + ret =3D qce_start(async_req, tmpl->crypto_alg_type); + if (ret) + goto error_terminate; + ret =3D qce_dma_prep_sgs(&qce->dma, req->src, rctx->src_nents, &rctx->result_sg, 1, qce_ahash_done, async_req); if (ret) @@ -116,10 +120,6 @@ static int qce_ahash_async_req_handle(struct crypto_as= ync_request *async_req) =20 qce_dma_issue_pending(&qce->dma); =20 - ret =3D qce_start(async_req, tmpl->crypto_alg_type); - if (ret) - goto error_terminate; - return 0; =20 error_terminate: diff --git a/drivers/crypto/qce/skcipher.c b/drivers/crypto/qce/skcipher.c index 1fef315a7105c869e7fc6a60719087b721e78bb3..58ae943ca573d9b146db324a381= 56d9012e73e23 100644 --- a/drivers/crypto/qce/skcipher.c +++ b/drivers/crypto/qce/skcipher.c @@ -142,6 +142,10 @@ qce_skcipher_async_req_handle(struct crypto_async_requ= est *async_req) src_nents =3D dst_nents - 1; } =20 + ret =3D qce_start(async_req, tmpl->crypto_alg_type); + if (ret) + goto error_terminate; + ret =3D qce_dma_prep_sgs(&qce->dma, rctx->src_sg, src_nents, rctx->dst_sg, dst_nents, qce_skcipher_done, async_req); @@ -150,10 +154,6 @@ qce_skcipher_async_req_handle(struct crypto_async_requ= est *async_req) =20 qce_dma_issue_pending(&qce->dma); =20 - ret =3D qce_start(async_req, tmpl->crypto_alg_type); - if (ret) - goto error_terminate; - return 0; =20 error_terminate: --=20 2.47.3 From nobody Wed Jun 17 07:35:32 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 C29AC3B4EA4 for ; Mon, 27 Apr 2026 09:16:27 +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=1777281389; cv=none; b=M6tiU2y7V4m5ZbywJY3zs/bKhDHP9WSuEQTyWByiILZKIHKGEyFq7vX+dft74mnn9hxbSEShTJ6/0D6angKIYkbm0ABqpiQrlc11wp5GMlgsdQPHNiF2rYtVl7+BvT51DIg8V5PlxBCiWHvmvEM8WhBnue36XO9P0gIj6MyVZ9M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777281389; c=relaxed/simple; bh=diWgOzXY9pNpSKSKiyud1bbSlEDatQXeSQQjMy32SOc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=pRVqIBj185cA0sfSVDPAhLjRbD4hoH8oxhHTtwPttHqocUgmx7Q26bB2PUK5XVkLN5OO/sReHra6isfWQAVfjypw4w7GZJ+tuknjCi2typw6UV++JqajenGnFu0leNz3Ks3s2zXsDIGO/GbkguqvmDsq9QQJIdWfyIYs67D5Zc4= 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=Irdcl4My; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Zcn1llyN; 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="Irdcl4My"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Zcn1llyN" 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 63R8TQ4d1762663 for ; Mon, 27 Apr 2026 09:16:27 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= JWPMLFyvcLV0IDQ/Od1mGhJtfWVit0lH/9qs4Y36Y8E=; b=Irdcl4Myjjif0Lx6 r8nD3wPzsNoSzlswmO9QdtaAWEniJ2GWLAj1BP2tidFAk/2W1S8LSxKNcvA7qxLV 4yyFGaBpYKtAD+z0YDjns3w5rc5T5mjI355IIccaVI1AQ2XtqW51C+2b86N0bZvG 2ppAR+oE3VGStscQfA6OanOp8PkCrHObICOu9F/pM65B7G5C3KN1tuoQhWzy4dbx QTwC+12rKwLrhOzZW0gRMhGeKuSi+/c/XdrevVmTF3StXKWEvWqLMLPXgtLz3ZUg XPd/QvfD9yLw5deyPyq/WPPw0Ca7qc5CoXXfyOk9OJddJkCtMNrZdi41WCqJ6pzP Rs/jLg== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4drpw9da2q-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 27 Apr 2026 09:16:27 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-50e136aff17so183011011cf.3 for ; Mon, 27 Apr 2026 02:16:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777281386; x=1777886186; 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=JWPMLFyvcLV0IDQ/Od1mGhJtfWVit0lH/9qs4Y36Y8E=; b=Zcn1llyNaqtT8c0FtySmpziThAoswjPZ1zQDhhy/DanC71xsvR3Hp+AfM2NNMx6Y2z TJb4S9+iIj10E30FSel9rfsvzd25a3e+7TJaRrhJOfOutMkfH3kirzhYnriNfBN8eBdb w/ShOa+U/aKrikNjvnGrRKIPO+JjiCiQjBouWR4G2861gWlzCXb1D2FUEXlNFSfjN6Af P4+QkdO1EXAwHwR5R4n0Q3426sI2MiQ7U6bVjOlEicd7zSLPzYwS5OU/gEvefu+TxHdZ 5PCKWDAV+qYIxC8qpcJIkWob199IGxeyelw0dhtsUkkzUDvm7tx7G44nIdPmmDtOUDb7 nmXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777281386; x=1777886186; 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=JWPMLFyvcLV0IDQ/Od1mGhJtfWVit0lH/9qs4Y36Y8E=; b=TzWkTDEn+nNbOa7tigLJb5XR1BFk5KHt+4G/pTcpF2DZfLwb49r6wtvHu9ekZVjtuq 7GM7JBIMi0f4zr4qCq6fEPl6NjpMjhmwQ4Dn3VkQzjlxuL4TeMQOu3zeZaREfM96CPYN zxnNUDFoVS0QJ0+8i68hE0vQZHGsb95WI4fWjOpxz7gm0jO0p+SaXnZSc37FTn7oqqQR KFBGyXuTvF0kSEh3cJ2+wTRGWHZxYxdM5J0eKBOQ/OMum0PtjFSmI4T7UZKjglbVIH+9 AhWl69bJVUDNqhwUKaeAuINUAfsn0WKROyKgMgh4gNmkMzijj4XuB68VtF02YiV1tFtN j05A== X-Forwarded-Encrypted: i=1; AFNElJ/vEPkir/kMtg7IPVN2Wr4WqzpReiOkiVmOGD47vANp6uQEfW+OrEiYaV6g3gaYCqqS7Fk2j5FLAaXZ1Es=@vger.kernel.org X-Gm-Message-State: AOJu0Yxh7kHlVGxd02fq3bornDS+ebA4Y41ISNSK2FaYRpJzcTuZsVpR tUM963LgYXISkpJhY7udrf5gKQycquZHLQV2VeGslyZhdqx4tohM4D+OcbfZkyyCvFGTYYgJUiZ MJDEJ4WE7bKdEILA3ph95cQl6SNsH8gYcfE6uDjgx+qRvRZKli748F0bjvVUGjEio/Mc= X-Gm-Gg: AeBDievOjkAOMpj8rxzIUathkpOWPZe6M3QsRcbrnCbdlj2fJ5G5OrCvC/u9iVWJaHC BcdX2rInrgLKDu35aaJ2ByUfcMuPlmZMYPQa2CHvKOgIr9zyBdvWLdP8CuWrzxvrdKYuq7qKdxD 2LNFg/KQkR7l53DkyJQEJOtvRBdL6FB3nfFAiFxdC26DdKu+1nNUuFjje0kLXZytWLru7keJm5Y SjyDdMs2zE/EkpWSYCqnQWU8eQCeiEe08x1HJOaj8x56kunnbvcxpxaZPfrYTHOC6hasx32Mq3A 9APICh1217RBlKMof8jdtWBRnwnPJj4jKhli+uQgQ/YAKRdrl4UR8uZWHb7XTUnOKz/A2CBA2TH bn4Bt+UIl76yCBMCqo06oXyacEdIqUiIQGIh9Kz/xZfZrRPDAOx0EGWaydrQeDQ== X-Received: by 2002:a05:622a:1903:b0:50f:b17d:7e4a with SMTP id d75a77b69052e-50fb17d8032mr427687631cf.57.1777281386204; Mon, 27 Apr 2026 02:16:26 -0700 (PDT) X-Received: by 2002:a05:622a:1903:b0:50f:b17d:7e4a with SMTP id d75a77b69052e-50fb17d8032mr427687241cf.57.1777281385798; Mon, 27 Apr 2026 02:16:25 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:5062:ae86:23aa:702c]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a6dbfd4b5sm40559365e9.28.2026.04.27.02.16.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Apr 2026 02:16:24 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 27 Apr 2026 11:15:45 +0200 Subject: [PATCH v16 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: <20260427-qcom-qce-cmd-descr-v16-12-945fd1cafbbc@oss.qualcomm.com> References: <20260427-qcom-qce-cmd-descr-v16-0-945fd1cafbbc@oss.qualcomm.com> In-Reply-To: <20260427-qcom-qce-cmd-descr-v16-0-945fd1cafbbc@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , 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=1578; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=diWgOzXY9pNpSKSKiyud1bbSlEDatQXeSQQjMy32SOc=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBp7ylHv6AL2efgKMqvcL9IoV/UKtMSrgAuH9OR+ LBTlolfjkmJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCae8pRwAKCRAFnS7L/zaE w2G6D/9coL2vesfCzIDMS2JFC+5AeWfyDCs5DW5HkFIMcq2LOjDyUD9RJZLZ5RSVwA6M1bhF3c6 Y2mrf4LY4+jQO7iOu1OfGb5Ra43Ty9bn2W14bk0d5hMbxwQvyy8jw7yJvSymuVGwiPpWWJiMW7A z+z8FK80p0Yj2HzUuqIuGmyD0+9/wGVJbgo/vqys8Q40ZsTMa50BsuSNr1vUEC5q2SoDEuw6eNO KaeNr5B4SJuVe+6VMMLh0l4G0BxuUQ5lXJ0dTLySmflmaCRVKLf9KkO6aWGhFREurcy/WifSP7z jBiLkHqp8PEdOH5EOru6eKIxBRuDvTvnqarh6eQAW4kKoyAfM1zVrwehRq1ZJNbtOJ7TTpwAnZB tICY+uT86nf2uUrKtQuKymmSse4JEijJCOM5J+h/WJGCQniK78amVXN2VI3oJnONIzggr0zawR7 IEe7bORoBhRWsJe6RRXdl10HoHSSQ4KfyG196oK94ayr4HpLTyUTrj1j5DIU1ib/AeU9BINnb5G E6gkb6jW+AM8giG6S6sXqTwBhGQzvY8wdawFA99qVYHmo8RXGBcCfq8FCSv9xcVnRL/9azm8r03 gwxN2zbZlHVmmRBjWw/xgilDZcESLcbKTC0Levny73M/q21PfHM0XJUQ649DQfb67uRH7JZmEhw znqXlDWLwOd61tQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: bzUGj1Z74EKjQsxd6sXHc8dC2bVRo9FY X-Authority-Analysis: v=2.4 cv=H67rBeYi c=1 sm=1 tr=0 ts=69ef296b cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=EUspDBNiAAAA:8 a=TFgmKHP77OfOvYwKDSoA:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI3MDA5OCBTYWx0ZWRfX5LA5QZmGvLH8 ddUm44drR37QEQjKLf0kyL7sgtEf1nZ0D8ySvPkDChCgg0IxcOpRtbYQ0jW8x4n+0x8kW4xIYXB 23qFoyj6z/DZKqKIE1RXKZ6+0XkvqIZC4TjnShlC+31zkxxJ59o7fCM8tUGGRseOxdFegnvVawE U9tWqgnN7+Q6X7zH+hnG0OpNp9rzdjiWIODyI/pPK71LEpkWPOFvTGPp8cr3I2TN0q/XrNRatpR FNIbFG/n1I/RhvtNrI+Ji3EfSPeDrTvIH7OJRlXpLZdGOXbGyEWR0JQLOiy8zu50lHTVDCkAd6A 6gOKO8M/ZwK1xl+57HrpZCSUxxXZDzhdL2upiwqX1Fs+EfwbUwG8K2OayX8pxSGKrV2zGy9CL5o aIHWp4O5arNVRzP2JYzbwtnFFIw+zINH3Eu0celpw2Sxzh3p+enLesHHpvTs07sNlWNDVSHRqiF 0eda4txQMisSZhnflNg== X-Proofpoint-ORIG-GUID: bzUGj1Z74EKjQsxd6sXHc8dC2bVRo9FY 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-04-27_02,2026-04-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 bulkscore=0 adultscore=0 suspectscore=0 phishscore=0 priorityscore=1501 spamscore=0 impostorscore=0 clxscore=1015 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604270098 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. Signed-off-by: Bartosz Golaszewski Reviewed-by: Manivannan Sadhasivam --- drivers/crypto/qce/dma.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c index 312a8664f87e63cb3a87804c52b8b2af612a47d0..44a237ccc7a4f6f9e2f19e43ad5= 0c4c90f5effc8 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,10 @@ 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, + .direction =3D DMA_MEM_TO_DEV, + }; 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 +69,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 --=20 2.47.3