From nobody Mon Mar 23 19:54:07 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A8C73259CB9 for ; Mon, 23 Mar 2026 15:17:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774279053; cv=none; b=D8KsnEgVViHAsTowvsC2EoxdnsPRT0P+P31ID4VG6voyn+L3nawG+4MJtDyni4dtK1bNwudQzejiiLePR1AYOjJ63Opk3kHeOlBURJRjAbGKlTTb7OLDJpH15FphQJc+exenPcL/0P92thIUPUUeuPZtQAYyjOtbHdyQzQQmV74= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774279053; c=relaxed/simple; bh=V/kExSnp4gLekFUspVMuJp40Wa32cu/zESSu6vck61c=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=EU+Gf4azJBSRh+s6Lg/d4n8Xa7ncgTCFn3Th+RJ9kapAjBuEduxAvs+XutUeax/ea+j5O5I8EZK7qeDMdzsurn4PU+o2EoD6jf1gvEXLZH5+E4XwGc4OfVKbm20GAlZeAhZUoednTUtwGlFjZmUdWcc2S/5Q2dSJ39qKPzp2P6c= 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=ZMwFn+ga; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=i8g+RUOJ; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="ZMwFn+ga"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="i8g+RUOJ" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62NFGtQU601436 for ; Mon, 23 Mar 2026 15:17:30 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= OOwdxQEYbJ9Or9A0mYUFJoOOp6SzbaWszXsvmPmeoCo=; b=ZMwFn+garoGd9oYR VgRetVPwKMUkR8NR6dfmbBuLWV7upO672tDDSQdo2b/KxeYt68QyNhnVgVIOvWmo gp8bBaRcEnP1Rxu2Ftd86Sa/ynfF6t7lEAlQ9IUKLPB+VPz2SnMa9kbkCKRR7r6G wi0yvX8pml6ehf9kV38CVrjQt0aB/71Ux/TZEDDr+koT1Xgxv2tZA+m4lT7XlYcF UQUZ+hC49gt4yeQfvOtXmSMzGhHbfCbwGpoEvVxE6JfTUy60Vn/ZwMXNO4zQ49qM s0EWxlh2uOaMN+dGAE4voHDytpPDEgzuW6v8YeWduQ1rganE6mu/kBHntFuFv6BG eO9DDg== Received: from mail-ua1-f70.google.com (mail-ua1-f70.google.com [209.85.222.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4d34vkrs6e-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 23 Mar 2026 15:17:30 +0000 (GMT) Received: by mail-ua1-f70.google.com with SMTP id a1e0cc1a2514c-951649dae81so1030862241.1 for ; Mon, 23 Mar 2026 08:17:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1774279050; x=1774883850; 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=OOwdxQEYbJ9Or9A0mYUFJoOOp6SzbaWszXsvmPmeoCo=; b=i8g+RUOJrBD3IzF4ozycX2oDv3SsrB1lPZgO5oyCq/T64wbsW8nt4qPv5bq+Y80WH+ F1xC1fcPQCoXxt6HY77CFUNmXiv9B9sv7JPOwhLzfBzp4f6ljP5F0H5hv1d75eF0YyCm di3uXBwStCEvjG7NtB0z9LKRbC59gHPRBte63xIItJND0JyKQfKDuLFr3LXb8hLOaqhr HfamjlWlQpP2U4nsuJF4i6pZBlK7QDPx/kefoj20NOyJ/fAEGLYKQgHl94nVfJRIwn1M JH5QKcwf7MKqXnuhCycV6hBEqFTYX+3W5nayOd+d2SmBKW8gHZoSfJ6hQDp+z8OshU/T P1rQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774279050; x=1774883850; 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=OOwdxQEYbJ9Or9A0mYUFJoOOp6SzbaWszXsvmPmeoCo=; b=R2nYsAoh8mcezFkRa4GiyELPDXK6JgHMIqMk/OKG24DdJAoh36sG2yLNmZdmAY/0hR hN4LD1cC6gOnnV6u/tM+hLyjZliUkczR4IZhsaISIC0RuatJbHy09WuJBH+wTN08r05Z 3Lc+rFc3ZdXJID+ZDDBbK5Cv7RwLQ5WrGX94ktCHB7hBFSoaoW/2lUCZZ/7XSMAoCqzA FEsFlOPhpHxQuSX2cwxHXVvlm+3NVLGmwrAfui/69fda9TQSx8cj71FoUsNYbARoJpN0 /y5l5i/F4X6/ARGAyqAXYZcqM+g7p2kWtxPLaE2p81ngquoBk1PdXInHDWboA/Hpkz0K yrMw== X-Forwarded-Encrypted: i=1; AJvYcCVChSJCHaihvF8dpC01uADknDrGySOdQEcpoZd1obyPsXkQ42EbdRLssn0Rh+Is05GoUX4RNcmTJPMkbsQ=@vger.kernel.org X-Gm-Message-State: AOJu0YxYAdzFRLatQoxaG8MqRINxvkZH7taKi/+pm08pR+PHYuJuPB+W se49fyiRAiYwUyOJn4nJfZRHMGKB3i5bJo+rNX8GPnFBXtiV9Cy19RhD8chSiyrUxIF1HufxMUJ 8H4aTODSvivpbP6jM5Q3F3LSgi1DpxewLPiSBqhLELKjbinJ0ynejK0JudU/S9414KmI= X-Gm-Gg: ATEYQzwzdxltF68ZHPodJ1dejZPo7OaKmQRabmH7a+ZQzoRLdxJKezqCoddnnR1ygb9 ZDLYAYJV4xgdoJDMwrYVCxMJE9Lww+kaw1mmtyxiy5Zeod9MzEmc+iVSxvT1q1N7pIf8EF4vbc0 kqUz7CVhpl4udq5u8QrZ/FTsuRIAVxYvnXap7krUU4TX7LTgUllbfc5bmcVsjAUAT1Q+vT5YzD2 6IpcfQtOsnt4bNCf9F3wDmpEOOnqvwsR5QlD9nhgE0T0T1U1yr4FUIJxqR/emt2VA8j2YClnx1J mlbDppdzV89U0sDECntUJCdWH0wWi/W08Vs4h/MiAU94YNPF3hJ5IHI9CnPW8H9bAEgkbkkemT8 UOWk+ahAi7HmkyTnM762HJCZxQqB9jTtuSjhdX2P30vUDY5m//gdv X-Received: by 2002:a05:6122:4d09:b0:56c:d757:a045 with SMTP id 71dfb90a1353d-56cde41dea4mr5640609e0c.9.1774279050055; Mon, 23 Mar 2026 08:17:30 -0700 (PDT) X-Received: by 2002:a05:6122:4d09:b0:56c:d757:a045 with SMTP id 71dfb90a1353d-56cde41dea4mr5640558e0c.9.1774279049606; Mon, 23 Mar 2026 08:17:29 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:f9a0:d7e2:7eb6:79b5]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b644bd923sm35936993f8f.12.2026.03.23.08.17.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Mar 2026 08:17:28 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 23 Mar 2026 16:17:07 +0100 Subject: [PATCH v14 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: <20260323-qcom-qce-cmd-descr-v14-1-f323af411274@oss.qualcomm.com> References: <20260323-qcom-qce-cmd-descr-v14-0-f323af411274@oss.qualcomm.com> In-Reply-To: <20260323-qcom-qce-cmd-descr-v14-0-f323af411274@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=V/kExSnp4gLekFUspVMuJp40Wa32cu/zESSu6vck61c=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpwVl6QfTigBEi1Zc5gOSQ9IftU0OPPEl1W3ef7 b6wcRCD/YSJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCacFZegAKCRAFnS7L/zaE w7Y2D/0QKbhZRYhcMhr69xVe85Z4XZd02OV9nYgjGvsH6bUYJa1RxEGRohMY8QLlrjoi8dFTyZw y7SqGmySgWNrbtzUjCRF/rJbr+0z8tlL1uE0fXfSCld0aYhvT93+BeMEhlk+tckz0LWuW0uaee/ mKusUzi/sh2bEJpAjpij6K+bwblInYCOFdR6p/RG+1HVPJ0weGr76HH8rrgOycsWu3gtMD2xpSY zxJnT+ReClDG02MzCZfNv+Q5jD7SFU0yjFwFa0Nd8fudUegf2ILPprAU9+Kx/vshFlFxtSivu+u oOnQlwXYPqnwDCt2/52K/AVSb+QhONewfHIyllbjitznnPIv50Rv2MfSUtTxFuEI8LJFz0afL+l cVNRXJnIdt52impuo1GsO8S3/tyL8NTHjmnIPkmGK02GUfN53nWfK0pDgkDKsRg0ISUCkO8gCsh PQ+7Tc1nSxwQC1yE0N1jJbVbp2er9B1MURyjzb3GqzHya/HK521+qtDiS/+7N2rxxvezdGvrbFj 4zxOaacXAnRs93zIFxwUM5Z1IRbPVtF59BJVaAK+KBK+mUaqU+9bTkc2/Z3hHyS5DN6zC/NQCpe xmXWa4AXrXh6bGJW8geiOsq/lgT91X27oOYCn/cqA//2OSdafTRgI00nDZqmoGy21SVj3vo+2kH 9CbBw4h43fR+nyw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzIzMDExOCBTYWx0ZWRfX24bmPbicT/zA DgX/4xXIGsS23RtkB28NxKk6lppixH7yZMRuNrtodPTRG7AM052j/mgwVaT7MEtB1copUQBQNuV L/p3Uv7LEx2uxjMV3svHe8u2wuSorZGyiyZN4wvxUmHVhCTgEZAp1/tou9fe5+rifksArBSFbx2 /dKqpjB/sUW1/oKvFTD6DOy72azxCzrZHYt0GxwxIr9ehlVm2AGfB2oOvUwGsfuh7mL8M22maxb Pw47wTl+rN9fBYgrftp5WFzCuVXTFJ9sW/4ryfJVvidGNpFSLUPM3+N3TUwxsEzyE/PeZegd1lD 8IOmBO9ey3MMkc+HpyM8KJzHcPwi9sYupuI+PrXXDd/F8B7mKTB4fgd/paj0olhpJ5wFeeKgem1 3vDQtqjQKQ4DiDoJwt92DVyAqcjm4w+nL3GupKy/p9TGmgNzYAhhBji23HuuA1jziHgWCofWRy2 EhLF0iaNuk3/Sz8f2NQ== X-Authority-Analysis: v=2.4 cv=eMoeTXp1 c=1 sm=1 tr=0 ts=69c1598a cx=c_pps a=R6oCqFB+Yf/t2GF8e0/dFg==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=XeVHrwws4l7kqE2Ex6IA:9 a=QEXdDO2ut3YA:10 a=TD8TdBvy0hsOASGTdmB-:22 X-Proofpoint-GUID: eSl17Xo5ycJeEsyoOHtrcKP7Ie4Ekmbq X-Proofpoint-ORIG-GUID: eSl17Xo5ycJeEsyoOHtrcKP7Ie4Ekmbq X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-23_04,2026-03-23_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 suspectscore=0 adultscore=0 lowpriorityscore=0 impostorscore=0 bulkscore=0 phishscore=0 spamscore=0 clxscore=1015 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603230118 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 b53292e02448fe528f1ae9ba33b4bcf408f89fd6..97b934ca54101ea699e3ab28d41= 9bed1b45dee4a 100644 --- a/drivers/dma/xilinx/xilinx_dma.c +++ b/drivers/dma/xilinx/xilinx_dma.c @@ -653,7 +653,7 @@ static void *xilinx_dma_get_metadata_ptr(struct dma_asy= nc_tx_descriptor *tx, return seg->hw.app; } =20 -static struct dma_descriptor_metadata_ops xilinx_dma_metadata_ops =3D { +static const struct dma_descriptor_metadata_ops xilinx_dma_metadata_ops = =3D { .get_ptr =3D xilinx_dma_get_metadata_ptr, }; =20 diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h index 99efe2b9b4ea9844ca6161208362ef18ef111d96..92566c4c100e98f48750de21249= ae3b5de06c763 100644 --- a/include/linux/dmaengine.h +++ b/include/linux/dmaengine.h @@ -623,7 +623,7 @@ struct dma_async_tx_descriptor { void *callback_param; struct dmaengine_unmap_data *unmap; enum dma_desc_metadata_mode desc_metadata_mode; - struct dma_descriptor_metadata_ops *metadata_ops; + const struct dma_descriptor_metadata_ops *metadata_ops; #ifdef CONFIG_ASYNC_TX_ENABLE_CHANNEL_SWITCH struct dma_async_tx_descriptor *next; struct dma_async_tx_descriptor *parent; --=20 2.47.3 From nobody Mon Mar 23 19:54:07 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 65BE83659F7 for ; Mon, 23 Mar 2026 15:17:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774279056; cv=none; b=E3hzWx+YEGbKVpdajje+qGCZTZc9g+Zlw6EAP5yUUBbdnNrCfNbbDOISyXRMXMpfwnqkK51qCZ4p1UoWAh52zn6kupGO2dPA1gfNEJ+iZaAuWuCUDj8Ynqgk38dhEDPmKnaT8uzYtdZD4P7n+lVtBJAki5IKskbYFzDrKpNDAoc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774279056; c=relaxed/simple; bh=YERqA6ytYIBXeEnEVHuNkc6pRniKdplpfqUBYqgG5Qg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Kh6RZkXte5YpV4Ej0PsCqg+upDwTmTdvJxbOqq1/h+wLbTEGfLu6Q83iL2Rg7QrrG6wNmjzbKlpW6v4GrCENFyeT4l3yVpvLrgxPr5ujK7eMIcAUTNn14PiRF+YtQYn49umNu2vQU/vrZibYTMthKQWW80zIFrD3cn7mHxhkmDY= 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=JJ4wsOB+; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=HsNhcd/t; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="JJ4wsOB+"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="HsNhcd/t" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62NFGjp82829250 for ; Mon, 23 Mar 2026 15:17:33 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=JJ4wsOB+77hQGkT4 OsVIpJH6Z6ihv73m/qD/CdFRhfTbvuCxYxDHHD3fthwlbL/JTfPoGmt1Bjsl11Wf B3H0txhv00WzhQCUH7w8FMRq4HzaXF3jT0oijnI4tuaHXZjBYd3TwVEBwWDDMf5L 8ROzpiBVhkX8jWxsrKuisNt3AaYNr6yvrW75ILkfEMJfS0PCrE/zQMgEbmTpAmtk 8PjnTEgkjx1uktE/5J7C6FqnXGBxCqkhE3Jby/HXilnQ0gxT7wOzvGiShmHpY/MP oZx5J9lIHxvKwAoNihpmrA6nKeV/I/DTiFRqAxCACBjc0DclTUAbF0x00BajZRlx aK/BRw== Received: from mail-vk1-f199.google.com (mail-vk1-f199.google.com [209.85.221.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4d35r20juk-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 23 Mar 2026 15:17:33 +0000 (GMT) Received: by mail-vk1-f199.google.com with SMTP id 71dfb90a1353d-56ce5c0a06aso6590316e0c.2 for ; Mon, 23 Mar 2026 08:17:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1774279052; x=1774883852; 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=HsNhcd/tOt0R+i+oEzhFhT1kGgPbxwEx4B33XU11sUZRJxtmC5VERKaV6CWVzK6Lx/ gKVNuSZqbZsz6DCoC+DOUzJvDpXLZalr12KwEHQqkE+Hd6/8GaPDJr2q8YUIbNOWugmC SvpY7AQzEaomukV8CyFbQCw+Se5IknKHApO3p9fOZ81X2iSM9LjovbfogITgaDrvs5wm LdiXQldIdEybfc+tUlwx+F0oMsV9Jd+hjmhuHgDb5idIeWraQdq/9XW9sURfUOCCqrfP jRjhXsbYj28cI3ix6pd8o2kIiLxQwiSKJkCMFhoZ5ZCa0LNh71mzBFQuyh+uPCONWVgx I6+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774279052; x=1774883852; 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=I5qdf68AMTaIuzjpuKLm5DAM91mBexFVYE01+jhLr3TTQeSsrszUQkSuS7TES+8RNR BZtWl32tI7KpH1z/HFSKerO6Wgf7q4rvkuVTIhCznJ0wcz+xWwpDd8WqmouovgNNVNB4 RxT87UQ9JgbC4Q/7UPr6k6/9Gr45q7BKmJiUpy/Vip1yu/r6Yf3itjFZU0FjOdIEe89/ tmNQU3fkhfmrTIcQV5jOkuPvozC8g6k0dCMkm76RrFe2BsXCt3YA6wWlhotyTzutYiKS 6G8ftsaR3YFs26ArN5do3af/T0/TB8TWBPLAL3Nefuaw46tWxwWu3Sp/+QXt9Yu8O6tE SeEg== X-Forwarded-Encrypted: i=1; AJvYcCVcgwU+hCTGEDlH96IaeFXAMHK5F0KedlEmLTRCRXs0dy1HtHMFh70BhhLG26/5Ppm0dhtNBklK7m/hX3M=@vger.kernel.org X-Gm-Message-State: AOJu0Yy8iWg3yY25IoncBoShzP3rHz8SG8SApk6t0TCb0oL+/cXHnHgS 65qrAEDDz2TllIW2PAc4J8F/iQ5Jm5izxpZG+K76yTBGcFHkLlQgZrvHflXepRPrWEGHgA7lj3S HaLGN91i1EBs69GYuancF9AonascfrzYnHVxCV5Ca8aNV5MDnK4sIfezfDPcBwVC52W8= X-Gm-Gg: ATEYQzx7NibJFrgEXuBCOjZWGrvO6R8/avhu3TEBJqAguS3NAULZ/N0d4TfGqw2S0ns jw/95puRncZxlOVJloaOIyBnGF+TQrAa4qZxmZmzd6pii1N7HMkSQiF/cKnbIrUUmIgF1TJVfm/ j+YvxSOqPRk2/6RQXYdihYplj/0h7nVSfSIdjsAi2QwWKRMzN/eQCFtJM2xdGFZblQVv6q8OPtE AemDnw7ObCWofaB4FdUc3+zBHlFrxsDe0dHr1lMh4zEkWAizK4OWii2FT9jQXD7Ke0i+dWlQ8xN Ei8G+9u4n3FSropVJ9KArBssmOxj/i/718A/LzW/Gz7s8z/pz76ja4ECENADd64HA1nUscDUG+c S58ucrWSMPRBxPKXhKcNW0aVQz5mA43QwnomZHUrVnBhqN3Dh5V1M X-Received: by 2002:a05:6122:62a6:b0:56c:ca03:b668 with SMTP id 71dfb90a1353d-56cde32da5amr6695166e0c.3.1774279052271; Mon, 23 Mar 2026 08:17:32 -0700 (PDT) X-Received: by 2002:a05:6122:62a6:b0:56c:ca03:b668 with SMTP id 71dfb90a1353d-56cde32da5amr6695092e0c.3.1774279051692; Mon, 23 Mar 2026 08:17:31 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:f9a0:d7e2:7eb6:79b5]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b644bd923sm35936993f8f.12.2026.03.23.08.17.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Mar 2026 08:17:30 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 23 Mar 2026 16:17:08 +0100 Subject: [PATCH v14 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: <20260323-qcom-qce-cmd-descr-v14-2-f323af411274@oss.qualcomm.com> References: <20260323-qcom-qce-cmd-descr-v14-0-f323af411274@oss.qualcomm.com> In-Reply-To: <20260323-qcom-qce-cmd-descr-v14-0-f323af411274@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/NoTDAcsmYgBpwVl7umMQ3GnFqLlg71VARhQ6e61Rs2KOgtl+t o3DQS+zhcWJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCacFZewAKCRAFnS7L/zaE w222D/9kYrdTy6/L2fho2KYzkGBtX7TQ4WeNPeZvXAVqu/R8LiwuMDunjPLVWIMelX85xqJ1n+z ydTwhLSYezv9MulGhZzh8qpHwS1Gqo0bKBtOmT1mztgH1SSsDKvKpPhiNKiRRB7rleYzgYloxBB Vz7+oZQsc8wHQ82NIyacWFzBfMvsi/ZmPba3sroND3ekJrKT0SsZ649akSETp2VLppvO0fOJUxH EvkgzxJ0RO5tjRCopYWfXbRAxZLuJ+eflsvg/YZ0nYKnIosIZgGBZ6x5j0F1rpyd9zxfqTzg985 MN+SOfqjroS9vT64JMKgF42V+hrE23pl403wLXl1wF1ZOQcIgR8jk9YNFrqUzMaxXMKvw/y3tYI CivzQOX0Q+coDD19AwSmmxwlKj6AX6sB+mvAB/pbrrj4mr3mA0rp3UaDh7bhl2ecBwAufqV68+7 8/s+did9HpDDrm/EHceTQuvSeANHgVJUCXBx64zSWzdRUGvdELwe+9pCNgsUOPIH/KkygNLRcCM ye1O+mBaeBIngMQBV/ukt8Uc1P3SnaE+Q4ESw1sEJURdq2htezUhIaxMePlX6UuGziZNrw1vCBZ hDsPpSn3/6HOagrF+GeaOj99gpIunAlRI9l1Yc4KZ2yOpdmowWWwCiVu1zbDUz6sCl39IyLXUeL d+pE79VcqEbMZ2g== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=VvUuwu2n c=1 sm=1 tr=0 ts=69c1598d cx=c_pps a=+D9SDfe9YZWTjADjLiQY5g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=KKAkSRfTAAAA:8 a=u-biHsxzOdRIXVMzAPsA:9 a=QEXdDO2ut3YA:10 a=vmgOmaN-Xu0dpDh8OwbV:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: zanJDQdiejnXF9rc7_cpGuwVsYs7AUMV X-Proofpoint-ORIG-GUID: zanJDQdiejnXF9rc7_cpGuwVsYs7AUMV X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzIzMDExOCBTYWx0ZWRfX7jSryTVAeNX6 ME8PXBnkXiWR3UDQP2hh54EYE0tlxEdGbMv9A/VTlMD8xNCQsEBQdd1wgg6nh26K2LRTJUrKXAk q1hsHqLkwjTtuunYg4G6naFgrnz7u5WeOTUXc5t9ylMbXdpkLSBeBo9V4y8vn8Rk1xtiVvC+IT0 En80e3SpncS7KmcVAnfiMr9tUNy7wrRiIUw6u42YgPhvrD6CXeSoQWYd/swxSCyTGMw1TJ/Cn4d FS3+vmUuwXvaoQeBIzM7FDUt+CqQO5lMW55qPagsF5g5c9kVjto2o38e0gcy0g1tpIoK5MppTsJ PegfG9PMIqPztP38hyMZFiE+Z4XP2UqNShsQ7gw3cTTAjISIEB1BMxARLHH7kKvKsiuzM3+Fj+P HQIj6P129w1wP9PCvxjjSFp9zaLEmy4fpiEsNqtr6FsCfTdcKIXU08z9BOGYoWVsa+4NVws+731 r9OYNAf2aTHFcfLNtPA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-23_04,2026-03-23_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 malwarescore=0 spamscore=0 adultscore=0 lowpriorityscore=0 impostorscore=0 bulkscore=0 clxscore=1015 priorityscore=1501 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603230118 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 Mon Mar 23 19:54:07 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5B7C63ACEF0 for ; Mon, 23 Mar 2026 15:17:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774279057; cv=none; b=kboLhCj5EWD2WXGxOsActq0Hnf/U4h+yDhNuxupPlCnDyzK3Bhhn7sB3x5Aa4WwlOQ3WKifFckPyFkQQGxw+slu+ikRYMN6GtZYx3qUzfWr66O4+VVT4Pacl4l6hCXTJCjb7lbOv223s5JURQcwe9a0dDKjmk9LSA00RRu/9bJw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774279057; c=relaxed/simple; bh=qoz55FlU0wzlioVR5y4kqwZWHtjnuJw0AgLGnvGjRME=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=E+EIyXnHYtefhXKrKiKks+ZhubFBA3fxcJljR6hKI2BAHG8JfEjSLXIu4LvYLqB0VWckhrp9d9NCDWqTTPmdAvNjOkV3aOSDqXIIiaat0BVglLLiJRtjCihcgWennYWx7bgr2T4pMIhJCXn+16KkEIuPY4zXn6I1sYhBvsIBoZ8= 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=kGWZT4JS; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=E/dd8K3j; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="kGWZT4JS"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="E/dd8K3j" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62NFGUxe2337425 for ; Mon, 23 Mar 2026 15:17:35 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=kGWZT4JSkGl8CjPN gazARJCXqib/p/gf/2sz9fTaxkkLYcyyuohN70Ac7u/L33zWfS7gFrkuaQIEp0Tq zTBMLbOcgIstE3RzM4N/c0etFHtBN1e5nbRhrmJUMYFAl+dADPEt8+VK1Ns1qvKr nKyVk6vCeO50HIkiuyCaQLcr1s0PXq5zYwq/yG2yXG+i2b5UPCZsSnDCZHxWX2fT AfCTotJy8suo7HW11YTZ/eijVVW/po9mQB5d6IHhResj+ipR3iCs+kp1qGg+wRV1 VXubeh+2feMFOzcA94QbyajLykGGCd/x8MlN4AgwBtAQhgspQwV8Dhq24ynfoMPw wTSXdQ== Received: from mail-ua1-f69.google.com (mail-ua1-f69.google.com [209.85.222.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4d31p79j92-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 23 Mar 2026 15:17:35 +0000 (GMT) Received: by mail-ua1-f69.google.com with SMTP id a1e0cc1a2514c-94ad0d8eff8so38917595241.1 for ; Mon, 23 Mar 2026 08:17:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1774279055; x=1774883855; 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=E/dd8K3jC/rK1PHZk1p0ztNDHjXUqged1EJ2U7J4F6BhD2gaD4Z5/mfVJwZLyZbeWH u4NUyJrlZxTv+juF+Y0ibfgsQRMM+mA55aJaGrVYWW5j8mpF78eltJh3sawHKsoBL9W9 1U7Jf1UZxJ2ESpE3FeeEzMJ44GS1xSIuAZd5Ghb0W1yAS+M0tM549zt6TtSQQh2iRV73 cx0xQ7LZNdB+Dtl6TAoN//X2ssxlYO02pBlPhVPEhMnVY7Sfp7Mf39OqgI5u2SafjFHt g6meE/arYWOe/rgHerN9C1kFQ7V21tFfuQodajlqC6KzyGwySFmJRXJAHztPSxcJt2SQ 6qXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774279055; x=1774883855; 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=f4a9kUXzwjFShNncef0xLtl794Kp1LkRWj92bRHg6Nfc+t1aAUluKQX+aahE17TMxh feVfEzC7hjQPPPqD/e1XFypu2gXCBjTvMncpQ+yhSm9JOI+fzKFJBrRWgAJNvqZvIaY/ yyA+UXQIFtQTJshFywHeqSP9XGLTE+9uKyYKrkbIlkMQUY2hii+pgsPUnbtF8SQsx4I4 p1mS1citZdk+Zw+xk0JvmFT6wxiYC8PUBrbHPRYhQ1exsksFNcbyZ7nNUl2IgDZQRo7Y cqxuDId6CJ2sjMoQErtcL0nXG2bZwmT8evt8fhDVEinttKFtoiWF0a/tgvXdEWmJ0/FG uoLw== X-Forwarded-Encrypted: i=1; AJvYcCVMknZAeQ8F1qYgJdvjhPK4vOQnV0UO3kTZoI99X7zsIFbUVru6oQET/w7KdHy8e4echYrRb/k6hGQxcOQ=@vger.kernel.org X-Gm-Message-State: AOJu0YwhJKWcD+YTWLO+Y32CnPFOPfe3qq92mzu83xsHcbg9a1Et3rOD fsbTc3MoSUoN38bsLa0AGeOUFe9cKMYvNNW0aYe2SL99cA5erWGgU00FTGPWensKwOP0xBCtKnx 70CIxXhrYdDOP2K7o+IZ9ssjooWOP0pEWnGmxCdfrHUvFFjfGO4ACBhBSKfVb1Iv4YgE= X-Gm-Gg: ATEYQzwvt33B8TQlCe1tqerm1e4rrV0R5P4r5cfBqHUvB6Z+dF4P/8sptEU34OgnzZY I0hksjn9RAx4QKnlHldpNA+wMYFXwD+tR78eE9lni1wOvDJNW2XWgbMXYg0uYhuQHe/0Qy5f4d2 Mh75qLu9/o1IKr8UNqACAtFR81tq1Q/nJ3KH7ISPiIKScBJQttKs1MnTf3JZooCphoBl5hzVDqG 4SDuSn5kOgA5gbR9maNbr+oOgo5TzqZ2PZnt1qtPh/CeSe+Aqf3gGcSqoD6AZ+WvMkZOkOwC7fO kOB/8JbxcPlfwIb3aOq2t/zcuDYkj7IIbI1JlVfJdz9XAzvT1bAn4L45qKl6WUpAwT7Gh4vbOox B8ldsA0KHDw+4v47TfMDT0znQ9ko8Fuw7xL7nUZHd1G5LMN9ZNLkN X-Received: by 2002:a05:6102:358e:b0:600:1547:967c with SMTP id ada2fe7eead31-60295f98c4fmr8781926137.16.1774279054804; Mon, 23 Mar 2026 08:17:34 -0700 (PDT) X-Received: by 2002:a05:6102:358e:b0:600:1547:967c with SMTP id ada2fe7eead31-60295f98c4fmr8781883137.16.1774279054168; Mon, 23 Mar 2026 08:17:34 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:f9a0:d7e2:7eb6:79b5]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b644bd923sm35936993f8f.12.2026.03.23.08.17.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Mar 2026 08:17:33 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 23 Mar 2026 16:17:09 +0100 Subject: [PATCH v14 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: <20260323-qcom-qce-cmd-descr-v14-3-f323af411274@oss.qualcomm.com> References: <20260323-qcom-qce-cmd-descr-v14-0-f323af411274@oss.qualcomm.com> In-Reply-To: <20260323-qcom-qce-cmd-descr-v14-0-f323af411274@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/NoTDAcsmYgBpwVl8OLLyF9aeTIVtzCoOOIE2qZunIfV1911Bz KQ+q7C7QHGJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCacFZfAAKCRAFnS7L/zaE w+1pEACjd+dBDsCtr9r99mTt1ag0OpCzQ64m26+B7AxCgmKG9elKjt+uDI7Lbr9X6xXdXa46L2l lz75ziRJCVpa06pdDEsdBgXnQogp6mjJv8jTmWNNLB/EU525xl8wDYo2xjomm5JNvwnUT798+d6 ez+74vB01NIqS9UXW3w0tyIekSY1rYU/PgJ12SMJzs+detLRrLWUiFF740ISEPXnI5sAAolSBBK teYABzQBxUx9Ta56CKhdxNvUx2NhKWf/LFwVGlPWZzwvp+W/A9K/FNf+dd7nyc8JjbFtvHS6oVJ +LigW54tK5kjgEwBwU047ofr02PvrZY2NFm7xjSPsnuqwJs2i14Bk0RiQfSOSBF+L7I9QnHJOkx H30Y+LoC6IFiJko612QZ0s+aaZtdUAhLUb98kstnRiXt+53dzcXXB61/oV1/aM0gt1voH/2qf/j DbTX4FfEFQNuqio/1RzhdskCM7sCChm/ka7W5KN3gbc6dU5s1zAc0KThkz9SlaN6py19uqwq1bl VbzFq1kW++JjPONNpu0fHcwf8EpWWz8RQqRHC2GqNM88wVj1JCp70YlCmhEeTK0Etqmas/r6aWY zLxjZGEqugWdFfFnNlvuKH3V9Yz/Esc3uOnr88fQTDz7ybnDhEiXmBge2582PDx6djW7xYnqjy8 xTEvcH46kzqM3iA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=RMC+3oi+ c=1 sm=1 tr=0 ts=69c1598f cx=c_pps a=UbhLPJ621ZpgOD2l3yZY1w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=Fb6uNmSZeVr-t7npd3wA:9 a=QEXdDO2ut3YA:10 a=TOPH6uDL9cOC6tEoww4z:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: 6366Qs2HX09JgRZWBF0Gt01HAzJN0r1n X-Proofpoint-GUID: 6366Qs2HX09JgRZWBF0Gt01HAzJN0r1n X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzIzMDExOCBTYWx0ZWRfX7Ky6/+FTRih8 NJKRinaE5VwUIdNaHdLlGochoUwLwjzbkL3ZsqRW7Rc3TQk/Vdek0OlxBaFgzymuNn9rBnqbz64 dnR0OpZR3x4bIFmWhElEpcNxEkLJ24y+0KP/fUk6ERaGAD6z2JTCVvV1OshV+BvnE4Mo4bkoR5D H+BFWZ0rDSPdpaF1Uz5EF1dl1rqatDBZALUqCvwvKHBXvn0Rfc6RzhpOaf7Sw4o74YJD7bXW9DP ron21nOWsSZVWMg8UBDVPGGHxOKAo6OqCvf4A1NZabTP8GupMB/HaUBnSIBp0qC8+UXh31kE8v7 I3NJajD/Y6J+Zed4HfY+EjEJsr0jMjxu5SIC7osPcOxGzt9xpcXBBEHHj/uWLXMAuYEtpaoiV8E mfT1lP0YjZSsJWcuW7WO2XW9YkN4QhH/iWl2T/CIZ86FLwNQlCNV1Cr7/he2goL7z83OrL3e8ZN joZSVgmUjlQ9uvX//VA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-23_04,2026-03-23_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 malwarescore=0 phishscore=0 lowpriorityscore=0 impostorscore=0 priorityscore=1501 bulkscore=0 spamscore=0 adultscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603230118 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 Mon Mar 23 19:54:07 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5A3C83C2790 for ; Mon, 23 Mar 2026 15:17:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774279060; cv=none; b=YEb5SXzyog7ILOAaETsA8pNKZTb2VoXt+ZJnqcKbu9D2QbpB0D+vrsQT7IhSUy/fu+OJmp5D8LRf5V9tbGnYVXFtXoScP6wcjJyghapSyAy/9i6I7VCKdeQSDbFaBCxvv5BMF3iTm2b7utOXG4I/dSZsfNXxxc1xXs2fUHLuZGk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774279060; 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=p1DA1Pv1cEo8yyBT/+IYvN2qg8gvr6OUUiD2yFtYy3njVnum+yoIuSGhNyKrmFJ4RMPCA5EwjAPdaW7JiPGcJxD4pI1+YFMklNr5pd4s58L7PmGajg0z25yTebzpPctgyaa88uHyPw/Ifq7pM3psFHJpdTq6iZpRtfVAAk2n8HM= 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=T9R3FVGJ; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=jM+x4WYz; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="T9R3FVGJ"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="jM+x4WYz" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62NFGXVD2338051 for ; Mon, 23 Mar 2026 15:17:37 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=T9R3FVGJeYxH+WDf k+wVIYLnBU+nW37JiurvOG2sU9ZbDmmnw1RwdhlJaPnWPoanEe61bGuVlklEXDJG m8gugoWN032IjSqcJ83sCvalMeZpUJ4B+VoDjdNY3iahfVR3ofL0X1Pth3Sq83xP aY7OD6JXt34TWOEIChgkUidsnTjllSlkVWTsGmhD8VsOz4i9hBHaQLbho8yc8A+d eQwEZo++j75JZncb0dPlPLDQ4MqY4k1902BNdgJYugGBA7ROZ7o2KfTRC6zxG3ok jwCkPHGMKDf7/+vGJjRvy5Dc8MtP8AxsEPdJ75URA1TcvKkb9KShob21ZC6AqPJX KssCQg== Received: from mail-vs1-f69.google.com (mail-vs1-f69.google.com [209.85.217.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4d31p79j95-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 23 Mar 2026 15:17:37 +0000 (GMT) Received: by mail-vs1-f69.google.com with SMTP id ada2fe7eead31-5fb6622ca5dso158539137.0 for ; Mon, 23 Mar 2026 08:17:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1774279057; x=1774883857; 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=jM+x4WYzMNYEqGoQQ9iHxzqFPVDKVlib3iNKAEU9uUVw0J5dJ0WdkYfdHFj8SVGd+D Met9E1pPZu/xRu7fxWmMwVn02SUilueVV1QDC/QXs4saCc08zHDymRCIUZYuYwMwcqr9 IekC6+MfQqH+Mqf4gPy5WRWBLklEzoCksP5JNDqaUySk4pNB6F3dgCoq0iURGeKBawv0 NUAFHy4nITsxlAJVVb2VLf1l4PiXkhG5n/p2GEky32u/0v2U2WRwpFLl5Msekm236GWq JVcdEbCXxEoNsDLFyIbLNnDz9w6ffKOb+l+f+PycOegLxnxLyacorL0lRX2o+JXeBDTC nJCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774279057; x=1774883857; 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=Tak9uxAUaxUhydIBKsxFGYSVoNtD81cxdYiCA/gCWa0vPJvfWxQIgVXSc83AmqQ2eM JwF9n2DkhXljzC0qgV0YYkkf/ALaRnz88ulj/1PENSIUsh7aLGzRfnyoVJPVnB4+qnpE 1BiImjlXUfBvd6o4HDw5opJuFh5dAfhe6UKZ0Dc6NrwRO89xtuD+bD0pRcpJVZ8Akj8Z 8aZkd28tEtHBqJZdULnOzH/T6CEjSPJj4/N5Y0wO/Un4C4G0OecFZRB7lOWwV206jZdU 1iYOUM/pFIbepT5+XcUD6s2530blTdn5OtsMno1aREHN5AI81whEWFMNJuy1wGVpcsZf z7Sg== X-Forwarded-Encrypted: i=1; AJvYcCUem9phQMQNzNm1to251Pk4WkfLjzPeh5aW7kDUBB+mJaY1+eUbaKtSnKSr0ANET7tpyuiJmqPF8FF8Dok=@vger.kernel.org X-Gm-Message-State: AOJu0YyACAgQZBldOHW7ZIp7HigMsSLSotxWzxSoilaL4WfxL7iC/qGx cFY910I6i8DTNEuR9h5RTxIRYdtjU1d/pugApFKsjlruywBoZjYXy43lvWc6HcCJTznbGKhZnD2 4dfjSQBmPV29dRu2ntw2buKWXINoLV6vGBuDDLMUuUerpWGR9l3RQNOVM6Yj7uOEKua0= X-Gm-Gg: ATEYQzyCQNP+ca/AMQi4XhEqdoQUdgqgnXbW3rH2yM9PgefzAFAaUkThmDd4v3h1wTY rURE22A2pDXLFBN8OErPOLko0nsB1n5jPv+4A8VWAlXMlgEwGQYbWcc8pJrNPMGr+Kj79NiYKRX T0/tJ577q4MH+O1a4AHoBC7e/PSvNyW9xzW2zBxM+6Z8bizbn0WMi2UAfgHhkxtmUw8pEAxy+TU VEQsm5nJQiGkMWu3EHivkU84bfDLxU7n+ON5anqY/Yoii6/hW1p0xIRHSUzVABKEXOj1K00C32k Zn1a1+I9s5UK/J9QDAzWBVVsVA2sfxSRKv3Egde+ZNs+5XaF9lWlK7lNqcYKP9K25gQuNaOIaLQ Pk+K3YhTsosTBtTlrFGX/195X+kbaKqS8c7/9EK/smhYJ+p+i4uf2 X-Received: by 2002:a05:6102:9d4:b0:601:f3b6:f2ce with SMTP id ada2fe7eead31-602aeb2d448mr5250248137.12.1774279056677; Mon, 23 Mar 2026 08:17:36 -0700 (PDT) X-Received: by 2002:a05:6102:9d4:b0:601:f3b6:f2ce with SMTP id ada2fe7eead31-602aeb2d448mr5250225137.12.1774279056228; Mon, 23 Mar 2026 08:17:36 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:f9a0:d7e2:7eb6:79b5]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b644bd923sm35936993f8f.12.2026.03.23.08.17.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Mar 2026 08:17:35 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 23 Mar 2026 16:17:10 +0100 Subject: [PATCH v14 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: <20260323-qcom-qce-cmd-descr-v14-4-f323af411274@oss.qualcomm.com> References: <20260323-qcom-qce-cmd-descr-v14-0-f323af411274@oss.qualcomm.com> In-Reply-To: <20260323-qcom-qce-cmd-descr-v14-0-f323af411274@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/NoTDAcsmYgBpwVl9Npd4BfJQE6nZLxYtQvLGIHKZHwz2FunND cHrNbKAVnSJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCacFZfQAKCRAFnS7L/zaE w77eD/9bpkNJbRvyTLKxP7HkoX7qTXeuM9tjzrmiWidf56T7Uz/rYooPE0pf0RjcpLgvdT504P6 9q/LInm16xT6358vUaDwpLlmi7yBxMJkAqdy+orCCAZn35tTPTrDQ+j3QzfssSyw4j+xSZB31IE Ej1ulK9sMQcKe4ijDAsxnir0bboum85zrPbtuYLxLUBHdPio4KaJ/T5JITA30MAyoTzfE20BqFp nz4GdWkfYqGCE6g+QgJvXQvcQelcvoRPwTTl0pfsEKFzY8j3DsW431Jny1QhR9bad7IIGECL2FH TMnKMCN2D3ORNtC7VK6rG4uoTl5XIMh6xG2H5knaDQHX71cy2EvJ+A6raxjrmPDQwbwnfVg/yf1 JNo0nIpnDqTRWg/nHcHPa8mZo5dPzL4RwocpoToAEoVnzPzPCuL/fBakBo4Woo+IZIolNQZV+ET c/b9cpOyFZjsfjCSA91TEzc4K9H1vKJ1cefAIZofu6ALdq2OOOMZi9fYv1gU25LqnbTIhAupVX8 opfT6v0vKoT6BwyLLc3xjBBEZB24RgdgquU0bL1ivqdzAJMqdVfTwHJMmZT0T6dL6v4bxFaQTT3 +BhXyJ7fTrJvxeRYckX/j5NWDTB6goe0cNwCvDdg/YdWlVGVxVBB7KH7/8wl10zc0AB44tU0Qg8 kN7EjEuUz4vb5VQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=RMC+3oi+ c=1 sm=1 tr=0 ts=69c15991 cx=c_pps a=5HAIKLe1ejAbszaTRHs9Ug==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=VwQbUJbxAAAA:8 a=ZSnkYuKn9ZpO9KHknGoA:9 a=QEXdDO2ut3YA:10 a=gYDTvv6II1OnSo0itH1n:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: lyrlbLOA2M9TARt_GNdPj7is1pnnHbiC X-Proofpoint-GUID: lyrlbLOA2M9TARt_GNdPj7is1pnnHbiC X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzIzMDExOCBTYWx0ZWRfXzPZYHo7t9Lw5 KQS/COY4dQP57lYgB4pywfVZcXhbmyq1beQdU7JS6jvDumhhbGkZhk8xUlNekCby+4Co43Hd/mK N74VHk8qfYd0rFn8GJhfFUg3TcdHzZaU9sPULaGJk1PctL6jNwwhlDv4goCpZVwmLWdwvHvG6iR i4u9psnyKc+lAkS9lzwGsXyy+Q9/MLa2i6C4duVfHwo+etEFbiHQVvFVW3tpOKlrGb9k5tnsQyG 5d97CnMBcWffVHJNFS0NFvte+6FkGjurOfjY9cRH+sJsjNjrEHCAiS3lfp2nArh1EKWfy6JKONt Mz5eW3ZnT7YCl1yndVj3XYMaXDsEy8s+ckZXKrWKogXLcKBET/kQZ+4iiffJT9iVGIOvv3BZesD RvKvUGfuqSPKYz3yPlecdZD7Ve+3pgv1auFQP7RVvD1BrBn3oZBHrIObNUx5TVT/O/Lz9ptF8Wk r7Wjss77gY0zKVWxFGQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-23_04,2026-03-23_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 malwarescore=0 phishscore=0 lowpriorityscore=0 impostorscore=0 priorityscore=1501 bulkscore=0 spamscore=0 adultscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603230118 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 --- 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 Mon Mar 23 19:54:07 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9AB8A3AF643 for ; Mon, 23 Mar 2026 15:17:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774279062; cv=none; b=rnWaEn9Bwoev3nPqGK9u94I4+HQ3tJHlijDCikgkG5wr95ZFuPL7a8cO9geqzX5CTxoMIXvNHJdY8wQFiFEiOFeZYZRbmxoTyrwoI0t4l8azGT58/ze2Y/fLg4bG5TD0CDMrzcLeIm9dm1ap6zMj+ojtb+1eBurX7/ybKj2w18U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774279062; c=relaxed/simple; bh=rWOE47026mczpuQ+OpCmY6UmFXFZSFt73L3FX2KDFWk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=c19a2u1v/ldSAiEqMzGgjMUv71sc7qj+Wf0OlwZVMyl4NEgCkPa7lyBdJQcaYxA2uktQyeLw03USrgAgyep3//Bt9CAGaiftGBixfaM/gpV6L3cVTkev57OmR17iq2Lv6Ra0+4gcpC00OCJuxAuGo7G/plkiKZns4oOE9RSxPGg= 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=WXc6WxQv; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=F6L2IfoD; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="WXc6WxQv"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="F6L2IfoD" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62NFGWP3600276 for ; Mon, 23 Mar 2026 15:17:39 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 2y0wDnbloqZyr+tffy5v2L5LGuKsXqmk7G5sbV/+toc=; b=WXc6WxQv7ig6fn+V PQzxiOo7hKM+KAo3gzR/j4J1/VPTZZtuPtGj9IBeLdUWMrQIlHdm6K+oNTfnKUm4 Ax92xwqHsVffCFnJaib9h986D+SSVO+ZIO5n7uuUwmG1VhRgoRpzY+RMOIPaDIql hgc5TWBopFjr6zB2U7gXWl7WHaKMrtZoHII41tqSI060kYmaAmMLf6yc9ij3sOhA YVWasxLl4izCv9TZqafJqR+4wtb5JFMTYwKJCk8aPEtm9Yg4tVPgAH1vM2H7mL1S kzQKP4V1Thvo5BN5Wf7qLeb4io1ie3Myb+enGccJGyj9nn7FmyQJs9hVrKfNuRLM 1AdF+g== Received: from mail-ua1-f70.google.com (mail-ua1-f70.google.com [209.85.222.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4d34vkrs71-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 23 Mar 2026 15:17:39 +0000 (GMT) Received: by mail-ua1-f70.google.com with SMTP id a1e0cc1a2514c-94ea747d58eso1247181241.2 for ; Mon, 23 Mar 2026 08:17:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1774279059; x=1774883859; 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=2y0wDnbloqZyr+tffy5v2L5LGuKsXqmk7G5sbV/+toc=; b=F6L2IfoD0tQZ0dbBR9il4hWvTezAySCa0Yh8MMoQDugTaU0vIy9cArFaNSEPUMv5Mp ZCRWjt++NY7OaQ/MAnoWu88yFidhYItkjWEIydJYAlO9j1ARkNAGzSmIpUnl3baY8s42 XcVuBtJ96W882jBdO8SfvLNWybVRYrTFH/F5zJQp4CPARf2rQqIJxo4QBqxfrqOscc6F XgwTf5NFJKwKczfTPq3uTtw6W7YbL6LogZL5GL1QpEgQh3WyzO4daAjvEK17QGQr7Dpe SLoJHCIdnUL7+KX6ZBG0V76mzXEAx8WnRs7YllUAL73HJCkki8CqLS4xJxx5wdqAG1Ew vt0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774279059; x=1774883859; 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=2y0wDnbloqZyr+tffy5v2L5LGuKsXqmk7G5sbV/+toc=; b=NpPQdfFFaFU88Fmukz21T7Vr9xzzU033UZhYenyt8E6TnOfUTRi/RwBFrrBxxv+DX3 dVlwSkv2mCep4oaYSBabTWl7iRKDl3eZcDJBhnJpw/+VQU4brLXRMCGi9Ip5gM3bQJTT /nwef7qZmME3U8lFhwiDCJef91Gi9vAkYZfgdput4pddM/EML6FxOqDX5ZT5J+fXapjk EXJrS2LKp6WHTkr+Mphw/8VU+u3A/ps5r6+0RE+IJfjuBy2O1cO4P+9PblJ75HJ/2zQ+ hwWqDd9vY7GtnlL1IUr3NMHD8fJS4JppvnIHogQCY25KuEh+d7VlJVoc1y8Ov9S/1n+O iU0Q== X-Forwarded-Encrypted: i=1; AJvYcCXbfOOL4EMml77bf2LGD74ZYX5Gj39cJFFxuuIAOA3H2gcZM7iGbyqqqXo/PBXjDER6YYdjVtKBYfQM3U8=@vger.kernel.org X-Gm-Message-State: AOJu0YzfltY4+wxbDqNmOrSNJYWXQpS+jYZb9lqWP3TWptQJuiMZ4I+f p9As6gOE6WTx8euDqtKS/b7IFJmLK4XmZUwqrw/fNVcz8GI5zPtRcAGrW9dYAFZH+c7/kXCR+es f/FneTrJ42zOB1dqXmz6TzmKnX0YuSNypgiEHrGUzG41jesQ9aVEcFNW5Sgdjv7njwD0= X-Gm-Gg: ATEYQzys4kXJl/mahd/vp8EQEsIsYo/++l7qWoc7p7AhQVDbkG7S6JCH4frlmZMBgi1 FTUro3n+Hz3hGSmFSMKAlqYJCuVgrGC3pyD725zxC7i7zBhFF2FLP2xcKfSfbPT1sfkHvNn4B5c YJQJ+WDhnXXJ3UCmFJbAr99rUgufSN7JCYi8ihT35UUVUuOfftPOugIhbvdGlsVhOdDNyD5TfaZ yg3edCNXqpa7+ORmAr12oUFM6uTRjHlJVs7olKQopPp52Fwo7Cqb2vQgqYeSek6+Cop6ueIR09A oqNUSstjkUKxKQARvItaZSu/C5RABnWduWxSeoKt8OnX0xzCaQBpWIzLpoCj7mms60BFtnby5NF VC41fMFxSFxwUZvOcpgYdKY+P47A2bqGwOXZ9ekZ8qOXTHmCIPeMb X-Received: by 2002:a05:6122:d1e:b0:56c:d59a:cfe4 with SMTP id 71dfb90a1353d-56cde47e3camr5670689e0c.17.1774279058968; Mon, 23 Mar 2026 08:17:38 -0700 (PDT) X-Received: by 2002:a05:6122:d1e:b0:56c:d59a:cfe4 with SMTP id 71dfb90a1353d-56cde47e3camr5670592e0c.17.1774279058409; Mon, 23 Mar 2026 08:17:38 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:f9a0:d7e2:7eb6:79b5]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b644bd923sm35936993f8f.12.2026.03.23.08.17.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Mar 2026 08:17:37 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 23 Mar 2026 16:17:11 +0100 Subject: [PATCH v14 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: <20260323-qcom-qce-cmd-descr-v14-5-f323af411274@oss.qualcomm.com> References: <20260323-qcom-qce-cmd-descr-v14-0-f323af411274@oss.qualcomm.com> In-Reply-To: <20260323-qcom-qce-cmd-descr-v14-0-f323af411274@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=9224; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=rWOE47026mczpuQ+OpCmY6UmFXFZSFt73L3FX2KDFWk=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpwVl/U2pDgQv5YxJHbZX0VcINEtapypUTtW6+Q G08A0O5glWJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCacFZfwAKCRAFnS7L/zaE w238D/9yCNG/4+r3GzaQR/gjiJCNM1R+ndI3hsQQnE2EU5YjB9lPbmyo+6Frz5Mnxa6DJAxmprz ASU3k8COi5+hBlGRgZOFGnObO+ztW7s6w3gSYgn0KnMhJ0Eb5SbHTE30ZecNSCV+wZlmhztJ2xU dq8dURfoGz/hsU/nK0Uqa/eFXYkWwkHHzsf8/FCDwgUVFY93K1DJA6AEsFiQlgG9WOBvegOGk8b LxQXXZTF7Qnu0wv9pz1iC4Em8Lrg5svC1n31PLNPUh8LGEeAyRp4rDtbIZa5zsvI+MHFwCKNV3P kvurpbgqj6DoYiX3OFwFVErqJ10G4UBuLpLWePWcdZdmV1FzVoV0GrCYnH9lErTJxKVqkj5h+7/ BGHa/lVEN8WjuXTiJaoyNrUFlFgt8DurWofp1OOJ7L+ho9Kot3Gb96cyV2xRqYeHj7zkLPnb94R FH+/A9IPopOM1CbQl331/HFRfA7rNzp5hLJAeH4QRv9qaz5Ohvd2wQ6pEjgqw1VGjYUURzErbcE l/Kfjf/IX13AFA3sA6pdwoQZMkM61DxGFxngVVQoe0kH2akN0lt7/AzDCzlnoZm0M0TQDsFhUSm hAWF4RnTvLK/wjeuniT6zb7uTWMhXrzeIhioku2Rb5+buHYxOuIHOwrMe0pO+AlS5CDL4hTW5qr y6v1a/Xu/M/OULw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzIzMDExOCBTYWx0ZWRfX4F7gyJec3Odf 0q2YaL/GMW+yS3b/5zaaKBigG53B3cK7FV5xH6vDXGxnotmz2HTATxQY9ShIeV+gWvbqDG6bE1y 4mnD39xcSSnb8rEudyAwyKbpCNBEdomUyG3BAyTmn8b6tzxPzur0x9y+g5hadhQuxK3E2dl+EJe 97tbWH8HVhGr56cJF9q8iyoktdjrSRVkYjKqQ1IPuIIhSIND0ItrBTmxfhccbCdowkmBUweEokD UjylOE3YrxIwshyThVu2dlYXx+5R6u5/u7h9ObkCkw1vyWTm/OE9dIeX29huvKe7A3mPZ0HP840 wdnorAM66arkl89wiMgmZW7aZ0fgCPffrLWHHeuUKoU7MXx4yQhLmdfXOQzXdlRfwv3UlSBk4RP BRMxZL6g2YvXL9xLMMxzXgYZeXgCvKRxpZFd0w+6AvyZ+v2uvnj9TQTSnJOnPESogqoXToglPJ7 wyxE5BXMenxP2XxJVzQ== X-Authority-Analysis: v=2.4 cv=eMoeTXp1 c=1 sm=1 tr=0 ts=69c15993 cx=c_pps a=R6oCqFB+Yf/t2GF8e0/dFg==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=EUspDBNiAAAA:8 a=RdU2YfPBjIXQodyA8iAA:9 a=QEXdDO2ut3YA:10 a=TD8TdBvy0hsOASGTdmB-:22 X-Proofpoint-GUID: sqk4UNKznctDcbaoI_E10BM_23MCy-EL X-Proofpoint-ORIG-GUID: sqk4UNKznctDcbaoI_E10BM_23MCy-EL X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-23_04,2026-03-23_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 suspectscore=0 adultscore=0 lowpriorityscore=0 impostorscore=0 bulkscore=0 phishscore=0 spamscore=0 clxscore=1015 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603230118 Add support for BAM pipe locking. To that end: when starting DMA on an RX channel - prepend the existing queue of issued descriptors with an additional "dummy" command descriptor with the LOCK bit set. Once the transaction is done (no more issued descriptors), issue one more dummy descriptor with the UNLOCK bit. We *must* wait until the transaction is signalled as done because we must not perform any writes into config registers while the engine is busy. The dummy writes must be issued into a scratchpad register of the client so provide a mechanism to communicate the right address via descriptor metadata. Signed-off-by: Bartosz Golaszewski --- drivers/dma/qcom/bam_dma.c | 165 +++++++++++++++++++++++++++++++++++= +++- include/linux/dma/qcom_bam_dma.h | 10 +++ 2 files changed, 171 insertions(+), 4 deletions(-) diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c index 83491e7c2f17d8c9d12a1a055baea7e3a0a75a53..309681e798d2e44992e3d20679c= 3a7564ad8f29e 100644 --- a/drivers/dma/qcom/bam_dma.c +++ b/drivers/dma/qcom/bam_dma.c @@ -28,11 +28,13 @@ #include #include #include +#include #include #include #include #include #include +#include #include #include #include @@ -60,6 +62,8 @@ struct bam_desc_hw { #define DESC_FLAG_EOB BIT(13) #define DESC_FLAG_NWD BIT(12) #define DESC_FLAG_CMD BIT(11) +#define DESC_FLAG_LOCK BIT(10) +#define DESC_FLAG_UNLOCK BIT(9) =20 struct bam_async_desc { struct virt_dma_desc vd; @@ -391,6 +395,13 @@ struct bam_chan { struct list_head desc_list; =20 struct list_head node; + + /* BAM locking infrastructure */ + phys_addr_t scratchpad_addr; + struct scatterlist lock_sg; + struct scatterlist unlock_sg; + struct bam_cmd_element lock_ce; + struct bam_cmd_element unlock_ce; }; =20 static inline struct bam_chan *to_bam_chan(struct dma_chan *common) @@ -652,6 +663,32 @@ 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; + + 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 +705,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 +761,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 +1055,116 @@ 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, struct scatterlist *sg, + struct bam_cmd_element *ce, unsigned long flag) +{ + struct dma_chan *chan =3D &bchan->vc.chan; + struct bam_async_desc *async_desc; + struct bam_desc_hw *desc; + struct virt_dma_desc *vd; + struct virt_dma_chan *vc; + unsigned int mapped; + dma_cookie_t cookie; + int ret; + + sg_init_table(sg, 1); + + async_desc =3D kzalloc_flex(*async_desc, desc, 1, GFP_NOWAIT); + if (!async_desc) { + dev_err(bchan->bdev->dev, "failed to allocate the BAM lock descriptor\n"= ); + return ERR_PTR(-ENOMEM); + } + + async_desc->num_desc =3D 1; + async_desc->curr_desc =3D async_desc->desc; + async_desc->dir =3D DMA_MEM_TO_DEV; + + desc =3D async_desc->desc; + + bam_prep_ce_le32(ce, bchan->scratchpad_addr, BAM_WRITE_COMMAND, 0); + sg_set_buf(sg, ce, sizeof(*ce)); + + mapped =3D dma_map_sg_attrs(chan->slave, sg, 1, DMA_TO_DEVICE, DMA_PREP_C= MD); + if (!mapped) { + kfree(async_desc); + return ERR_PTR(-ENOMEM); + } + + desc->flags |=3D cpu_to_le16(DESC_FLAG_CMD | flag); + desc->addr =3D sg_dma_address(sg); + desc->size =3D sizeof(struct bam_cmd_element); + + vc =3D &bchan->vc; + vd =3D &async_desc->vd; + + dma_async_tx_descriptor_init(&vd->tx, &vc->chan); + vd->tx.flags =3D DMA_PREP_CMD; + vd->tx.desc_free =3D vchan_tx_desc_free; + vd->tx_result.result =3D DMA_TRANS_NOERROR; + vd->tx_result.residue =3D 0; + + cookie =3D dma_cookie_assign(&vd->tx); + ret =3D dma_submit_error(cookie); + if (ret) { + dma_unmap_sg(chan->slave, 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; + struct bam_cmd_element *ce; + struct scatterlist *sgl; + unsigned long flag; + + lockdep_assert_held(&bchan->vc.lock); + + if (!bdata->pipe_lock_supported || !bchan->scratchpad_addr || + bchan->slave.direction !=3D DMA_MEM_TO_DEV) + return 0; + + if (lock) { + sgl =3D &bchan->lock_sg; + ce =3D &bchan->lock_ce; + flag =3D DESC_FLAG_LOCK; + } else { + sgl =3D &bchan->unlock_sg; + ce =3D &bchan->unlock_ce; + flag =3D DESC_FLAG_UNLOCK; + } + + lock_desc =3D bam_make_lock_desc(bchan, sgl, ce, flag); + if (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 +1176,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 +1306,15 @@ static void bam_issue_pending(struct dma_chan *chan) */ static void bam_dma_free_desc(struct virt_dma_desc *vd) { - struct bam_async_desc *async_desc =3D container_of(vd, - struct bam_async_desc, vd); + struct bam_async_desc *async_desc =3D container_of(vd, struct bam_async_d= esc, vd); + struct bam_desc_hw *desc =3D async_desc->desc; + struct dma_chan *chan =3D vd->tx.chan; + struct bam_chan *bchan =3D to_bam_chan(chan); + + if (le16_to_cpu(desc->flags) & DESC_FLAG_LOCK) + dma_unmap_sg(chan->slave, &bchan->lock_sg, 1, DMA_TO_DEVICE); + else if (le16_to_cpu(desc->flags) & DESC_FLAG_UNLOCK) + dma_unmap_sg(chan->slave, &bchan->unlock_sg, 1, DMA_TO_DEVICE); =20 kfree(async_desc); } @@ -1350,6 +1506,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..5f0d2a27face8223ecb77da33d9= e050c1ff2622f 100644 --- a/include/linux/dma/qcom_bam_dma.h +++ b/include/linux/dma/qcom_bam_dma.h @@ -34,6 +34,16 @@ 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. + */ +struct bam_desc_metadata { + phys_addr_t scratchpad_addr; +}; + /* * prep_bam_ce_le32 - Wrapper function to prepare a single BAM command * element with the data already in le32 format. --=20 2.47.3 From nobody Mon Mar 23 19:54:07 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AABD23C4545 for ; Mon, 23 Mar 2026 15:17:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774279064; cv=none; b=ijQAEFLFEiyuNqXCZFPCyEegjQtSnjh5dTEajyKrM+5QZLFsYkdrK2gkpbrDXcthQLks4bZ/oitlo8EUA3IZROPB48T6oCDe8FOU0x4vVK+1aHBhTYqoazPvNaNDfzvBZV1MrTx7sKrx/fjcyy2uf2+sV6pobthMGFTr2IDpqy0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774279064; c=relaxed/simple; bh=D/DbbvsYNV6WfJJN+Y3qtsfzsdueJP3Q7cdgK44aCk4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=UwYi//fS1HbN6p7BiLxqaBRRH92xIk/DN/Waz618eXIi5leWpL2pSMht2lfUorts5fV9DBAfOHGAwsF7zn7BkdJZtpy7XxZghYGNQBT9h/L8R0ShCHV6I4Xe4SQmYSJt+1Ti0lvvZ/hUPPTve3xvfWYFW2VZx6B+e7jnfvieRmM= 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=pa+3xmrY; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=HDky20dv; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="pa+3xmrY"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="HDky20dv" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62NFGWNk600271 for ; Mon, 23 Mar 2026 15:17:41 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=pa+3xmrYIo39UDIg YLcBiQ4lG5KDMC6Ply1GiYnsIn6X2qjP7K0CpJjtUWT/5ItlObDcONIXXt87lS9E GZBKDOPlcWhPbJhqixzJbg+m93+kJFA2CzQjB6P0zMTuh8GbCVQF8Z4WKTv5jH0U 4wHLO5rl0QBl0ojaGoKZUWWvuVFWWqZl9qWfU0G6huxwd2jOpIiHCn30tMx2FuUE ZnKRXkPChYu4bi9ka/0L66JW0iN1n5DfMRLG/sQc4tH5FcRnxrL0t4pZTicHNItv x8GG9/1c01QXAbd4Gjp3kUSgVviCRqdscyw2g/UQsQxgqWu15AdsKsPUb8lxiMqA 9/rDpA== Received: from mail-ua1-f72.google.com (mail-ua1-f72.google.com [209.85.222.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4d34vkrs79-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 23 Mar 2026 15:17:41 +0000 (GMT) Received: by mail-ua1-f72.google.com with SMTP id a1e0cc1a2514c-94ea6fdbd28so25571036241.3 for ; Mon, 23 Mar 2026 08:17:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1774279061; x=1774883861; 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=HDky20dvcXBjXsQFM+Y+e2SRJndV5cTP0GV47ePULtcgYYb249PM286/LzqccSlYJ/ yYcZjyKFwaqRPi5AwFleeoV04pqDiwQqa7q1+HJwWUhnbUf8e/TNOhLRJiK35q7iDUJG VhzaHpvdwnz4l4ztIKGjAMZCHdx1n11eUmuP3haTTf+Z7P9BrJBpLwT1jLyJvOfsrbjr 2LkcuixyKtUT1GJ/BieG4gY5mUEle6dzHkJ49uNkkiIVgTZHfkXurZ2pHpUX352Uw49+ 12HIiDvgJNJVIrFRJboNKDUOJ4X0zrrzuYO5SX4wWVCjnClTIcG8LLk7THmtGr3Avrxt TWog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774279061; x=1774883861; 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=ImtId5M6vwdNKLY9Xt0ZuztFJQR+R561UVagbpYtodLAsjM2GQT04BoHpt5zKKglLX dfrmG9fn+EZzFemHTG2vATy/ZvLeSW6NlmDbzJoLidXNmBV+6dzyQLs1muDJLWMJKNEA cL+T33SaGtYCRutZ8ImjTOYigZQ4oqQb/uSKQX7I1FWXX0Pzzyq+Lq8dKyxNSoVJGOB3 +kI4TE+aCbO1adcld6i2+ylD34oBGPreZveVzswESMSUtYGkHkZwDJ0vBAsHqQP+K8ws HDqWXAtzB6Hlvr8/NOiwLz/l0gKz9MGeI4eVJ9xrP1t1fks54a0xEys4um1CLeM9p05X QRDw== X-Forwarded-Encrypted: i=1; AJvYcCWfolraK8kJNweW6LPLWNdcqayBqV4EMHSPT2vmpKIimdy2ajAAxl8DhF0UGmai8LhmeeJburG2UVlTD2w=@vger.kernel.org X-Gm-Message-State: AOJu0YxswTJpX4Y4WC3iCIkFTkmWv2yu57Pwy90IMJIbxvXaCIk92pcD I9DjV/8qqbrruiCesxGu+Au3SebQKvqG2WjWE1tlFF1hreYV2pNKw+JiVA3gZC5ZvXzUsRLQ0UV waI4EGeAXSe5Kh7/yoLgzGT+cguMZz6Zn4WnPJE+ibbr5eiZiX58H4B0VKR/jzD/jDdA= X-Gm-Gg: ATEYQzz80ts1aLqleB4LhFDwmy66c47m63m/kqLDLc2XcnuU9zATeq+giVqReH2KTpB cbiibUwLu+pa1rsS3uu9HBSwFvFxd0N+kvFoIqjWDsABbey3JFnjMmKoE0E5hmXXhpAzDUA0bx+ +bQymoqbYhD4uaFaeZS/nFGFfvRsPDEWD5QUixCoIBNphzp89hIaXZeG8yGpj/eADSpnn3tgWHZ 4LmGBRS//Cpk9Dy4DsrqjDeVi2CIz/si+OxD3t8to+5Tnn0mZA/yRQrxsUSPQzh2ctKkI4BWq34 5Ukuh07TpV+5Q/UfePHridWQe3CECtIj9y6iG7Lcv8mM/JKtEy7de8ZxohfWpXEEAW/X6Ap8Zat MJoH4fb5+2loFoD0TH00Gl+QwZw11UJSJEWdd39AM5gNVIOjZrLZe X-Received: by 2002:a05:6122:8c24:b0:56a:f34d:f225 with SMTP id 71dfb90a1353d-56cde3fb2e1mr6327696e0c.11.1774279061024; Mon, 23 Mar 2026 08:17:41 -0700 (PDT) X-Received: by 2002:a05:6122:8c24:b0:56a:f34d:f225 with SMTP id 71dfb90a1353d-56cde3fb2e1mr6327634e0c.11.1774279060589; Mon, 23 Mar 2026 08:17:40 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:f9a0:d7e2:7eb6:79b5]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b644bd923sm35936993f8f.12.2026.03.23.08.17.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Mar 2026 08:17:39 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 23 Mar 2026 16:17:12 +0100 Subject: [PATCH v14 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: <20260323-qcom-qce-cmd-descr-v14-6-f323af411274@oss.qualcomm.com> References: <20260323-qcom-qce-cmd-descr-v14-0-f323af411274@oss.qualcomm.com> In-Reply-To: <20260323-qcom-qce-cmd-descr-v14-0-f323af411274@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/NoTDAcsmYgBpwVmAhu8moplJ8pqXHH4fRnifztUVhJgIpoChw kDtIV7AXb2JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCacFZgAAKCRAFnS7L/zaE w0AeEACXfpNMwOBQHUkchG/Va8chbPZrXTY4ipRIK/aTbAWlxOQ2Ml7MmhfkppYmbI0hHBwF0QG 9J+852i2qW02O8aKYUnxOwuTC+fLIY2U0HA8cSyeKCmyLJQDaeDdYwK+++aKJeSEiFywL6IciQ+ iSA36P0m71JcKImO7/VckqewAKtw3r3uOKZTCagqfP/hlci9AaKW9r2MADqyAG+n3i3/vQ437b2 nhU05VqpsCf58iDutx/z1uHGaBkP17ZPKIdOJg8FZUAT/b48xysNigp64CxcE3VZ5EJBSTKqkOt XhJLH+6TYbnSvHsCh5t4WY58EEQz6nVqSWI6VdSoOX4b3khVf95g9k9N2Kw3xSVtAoZiET5l5eB esPCo93MpEjJUjErK1cNMh7SIoPjj+kCqIrF3oE7LX7s0BAup2XGXGEB7naAQayD6Ap9EnUON2S ET2p/BO5DC7dWfWJlsmOV7/fZGVz30aVLDU0USWklTPzh1nd9ChJJCgtO8FJZzd0xgFMkE3c1VK 8oH59LhVz6GsK2XZKkVblxwlafShxJU+qglU42SlIKpdIuzZ5t58y3OfcQDTgeK28ZXVaUcWl7g zlb2gQduJvKUWgTvt/mOESR6A0noJ4HKv4YFktEF3dK4RcvOEzH4LgkMy0oAZrf95F11N/23xEA RCjHrU7a7oekk8g== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzIzMDExOCBTYWx0ZWRfX/oX3oWgZQ2ZR gbm33wxrE5xftQGGpUESitTRvQHIPeB9EuwnNigKDuX3yA0YzGMwbqmqSigs3d2e1YNainXZfP4 UJGMJCXrcAERxXoKl/yyipTP61pyDotSuW8AclthHU8CGzeMZUpLE2kdRaV//b6cqDfvuh+Tp9a kBiRclXIupVw1LYMWb7D6+u3L+vsdMXcUgh3olODieE9IZcdKLN9exkoYXUsjYAVx00caaJKzXq sXovorwVCRU1fPCeeeD/ZYPjZDfP02399QlEGzvdNjTnBT2vJTfrrObPnipVKG2k3vw16NWbiRA 7RQU42DrjAg06BSStCtQLya/K8LRA+/UTP4wX1p1Op2S6qwJTfzwqE/k/ky7gPmBUxpYvV0eLvq oB1w2oG7MZ5hXfL1z818dtcRYtAZuSgN2pso7FahNtiH2JodZ4Gn3Bt8p5Yswog8FRVw8ss4FLH TjgGow4eZ98eLeOsJsQ== X-Authority-Analysis: v=2.4 cv=eMoeTXp1 c=1 sm=1 tr=0 ts=69c15995 cx=c_pps a=ULNsgckmlI/WJG3HAyAuOQ==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=rvG61WhHFVBzVmnuldcA:9 a=QEXdDO2ut3YA:10 a=1WsBpfsz9X-RYQiigVTh:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: 4ZNw7IAgVxehlfMXZA7nsShjigwDIwb6 X-Proofpoint-ORIG-GUID: 4ZNw7IAgVxehlfMXZA7nsShjigwDIwb6 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-23_04,2026-03-23_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 suspectscore=0 adultscore=0 lowpriorityscore=0 impostorscore=0 bulkscore=0 phishscore=0 spamscore=0 clxscore=1015 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603230118 From: Bartosz Golaszewski The header defines a struct embedding struct crypto_queue whose size needs to be known and which is defined in crypto/algapi.h. Move the inclusion from core.c to core.h. Signed-off-by: Bartosz Golaszewski Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/core.c | 1 - drivers/crypto/qce/core.h | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/crypto/qce/core.c b/drivers/crypto/qce/core.c index b966f3365b7de8d2a8f6707397a34aa4facdc4ac..65205100c3df961ffaa4b7bc9e2= 17e8d3e08ed57 100644 --- a/drivers/crypto/qce/core.c +++ b/drivers/crypto/qce/core.c @@ -13,7 +13,6 @@ #include #include #include -#include #include =20 #include "core.h" diff --git a/drivers/crypto/qce/core.h b/drivers/crypto/qce/core.h index eb6fa7a8b64a81daf9ad5304a3ae4e5e597a70b8..f092ce2d3b04a936a37805c20ac= 5ba78d8fdd2df 100644 --- a/drivers/crypto/qce/core.h +++ b/drivers/crypto/qce/core.h @@ -8,6 +8,7 @@ =20 #include #include +#include =20 #include "dma.h" =20 --=20 2.47.3 From nobody Mon Mar 23 19:54:07 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F14AF3C456F for ; Mon, 23 Mar 2026 15:17:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774279067; cv=none; b=WnKcgxvaqf4TYz2reZUFUQYhjZk2rx/+OyArDy2wAh8uoMGMYxeLz+JllOk9+m1KLvfHq9LA7G4gyrNPlaNdKwN3Xug9RlAs5o3KdcwSu9tFdklkPF5W/CeupCln4dCoeoBksLVcfjfxaEq5PcSXnY+S64ryrQUtKsZboA7usgk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774279067; c=relaxed/simple; bh=6dN4XjHr+6OQnOzxmGwMll0VZH7PW0q5aNlxk1E5+Hg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=j/0NTFk53b6CzqF3XIkLgJbSmZYzDBDdHKtZ3dRuBhp5ehHxDA9V8n+UwUhyjR9v/dI7m49hgMp40gQ5WFgZKT4smTwXNgOYH8uHG+9rrIndKBHtYz67WWh8nGf9K6bWiGG5G9Aj9iFu1UOgM1QOZFIww8vRAocKGD9GLkYnN7I= 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=QFw4uWev; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=i1mr4GLR; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="QFw4uWev"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="i1mr4GLR" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62NFGniG2829289 for ; Mon, 23 Mar 2026 15:17:44 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=QFw4uWevKpfY2N6K Do92gBz0/Fcztm4sKFqSsB3N/ScI/GDUXnXWkgxtmitcs4oxD61xcq2i/vNb6wpl 7hhNDKcZyzRGJxZNV/ePerOLoE7v55NNad0eaqZjSEBhcPsT69QzSc/lt5gLALDr 9/dw7vfkdbHRiJIzokGrljw31lhU6QpaccQ64i24VOU1YK4qtaV5boEJt7uZ7uPo kfwRpViFGmC6GzI5/tEiMk/LGpOrf6QViNZ5w9KFc2Pefgisy7xpYnZAyPZXsH3+ z5o2cvLpZMUpX3jTNaGt99BFwo7AjawvxH/8HMSmPn77/OR3p9dZWA8FqsDeEDwk Z9m6gg== Received: from mail-ua1-f69.google.com (mail-ua1-f69.google.com [209.85.222.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4d35r20jvg-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 23 Mar 2026 15:17:44 +0000 (GMT) Received: by mail-ua1-f69.google.com with SMTP id a1e0cc1a2514c-95168889471so201137241.3 for ; Mon, 23 Mar 2026 08:17:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1774279063; x=1774883863; 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=i1mr4GLRrb59RGl94OWlul6KHex2fWRDi/+coykREoxfLiMdzvOqdOr4aVdRVZ6cEw OF6xu4qpZQEiXRmEVdsybwF97F8gLF90qYd5DinGt1DDQK65zhpDsMY20oFaz1Ra/PO3 pTKQ2iZ+E1JRwstyeViH6EZIo5dmC+hV5GlHgeJSTxzdBjdm/de0WBIsxRyxUcf3lLUD iGIVmhZEv2/yBQY24KjGefnaH5fVL33Xz+k5mwVYLQCWqBhHk0/7P4Tl78Ndh+QzAbne AUA+nU+wIcWZhVN/EhdI2DtUY6iPKmaFQ91cvBQiSNCRh8EeXrvtTMovFJfALmXI8xIf JjAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774279063; x=1774883863; 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=Pyjq3e/m8RDVDHYQLhPxlpVkp2/6JlryEv9xEg+JTZ5UhS5xyayREboG37q8u5LFR5 fiM5820kH55IqCI08mH5Mq3v9cMnY3YqiEwxsMjoUwUD7jRobnlQHeZcwfgoX2PgY69S NTQz2AR7S2VlKyUOoSCcY1NyQxDijROOQeRthoJmLMptu3k3TD4V/9cjgkRjeRFO0MYv E2DwDlrycpmNOyBx/43zR8T5bozrHeFa0ZXv+RJ4v6To06iwuvOKgRX7C6wDbNVYwBIE MXG6enT8R90x0aiK4Ngr1jWnR6t5mCC7UkuV/MwUNejFOmaea4OJSUrx7a3aFCbKXAtq zulQ== X-Forwarded-Encrypted: i=1; AJvYcCXkEP0rxlpbO7/Z9X1njzXuDKC5f+rZsVeJKVFKbAKmTkgLfmOFpNWuJNHwQ8Goa4vxOKPRD1ZwGW0ZswA=@vger.kernel.org X-Gm-Message-State: AOJu0Yxa5K4+TS79CpWbv2REZxWd54QyCmDqknzLrEXRecL4F/n65Zv9 zomqj6tud5RVjj3LBLjknOlqz66QrQskUE/crRpvJ+Xfl8BvHYDkoSaLIzx9r5bz2VhCmmgKcVp EDcSeai5VxdbfxB9te35EJ3zipQ5J4Q3ULKILsUZtQRtgEO/SrzqO03SSe2posy0ynfE= X-Gm-Gg: ATEYQzxXg7bU9vIjyuGxOekCbbsjk8urVi5mEq9znYldJcSaS6AZLFbZZQaUnT13Unb s4grBqpWOHeg5ZYP2KYdGjVfFZC7uIVY6Jb1IVgFGdhIXcobo9Us5ZweHcgndfPbWJ0ccChwGq2 XTr+tgnAw7Fzqj/LY/o2toMUiTOxN9V8fpHHpSxxMDJAupDUcJN1yyuqPnFhzAbVt5bM3sy5dty Sac1UtC5VR1g2r0zEmFfrFd8bv+WmKG1Ngf3c/lF/2gnl9sZSYTMcGjsHnj0VsZm4Y1cfTZka5W ZqWwb/OoHq962ToU+WmUhvRQPMK55s9AX9n53dnwVk6/JXhB3jv4yrYgPCuY9mvGzATbCOQ10Dl WmNQ1FWbav21XhQjm6DB0VZA3yfdfac82oM37Onx8IRGDqzTLay4l X-Received: by 2002:a67:e703:0:b0:602:91f2:6b07 with SMTP id ada2fe7eead31-602aeca3620mr5338072137.23.1774279063474; Mon, 23 Mar 2026 08:17:43 -0700 (PDT) X-Received: by 2002:a67:e703:0:b0:602:91f2:6b07 with SMTP id ada2fe7eead31-602aeca3620mr5338036137.23.1774279062924; Mon, 23 Mar 2026 08:17:42 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:f9a0:d7e2:7eb6:79b5]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b644bd923sm35936993f8f.12.2026.03.23.08.17.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Mar 2026 08:17:41 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 23 Mar 2026 16:17:13 +0100 Subject: [PATCH v14 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: <20260323-qcom-qce-cmd-descr-v14-7-f323af411274@oss.qualcomm.com> References: <20260323-qcom-qce-cmd-descr-v14-0-f323af411274@oss.qualcomm.com> In-Reply-To: <20260323-qcom-qce-cmd-descr-v14-0-f323af411274@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/NoTDAcsmYgBpwVmBkjvocaAYojniYTiJ30zO4t/7HQOAjM8kz ejQG7UWQBeJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCacFZgQAKCRAFnS7L/zaE w6KRD/oDxII3O6t0HSzep3ZIbunXeSnNyR6xEPumRDe1re5wvXXDvm3sgBvqo+lRd/iPpLL8j7A yd1syT0VkOHhVVi79OKCH4x7AxMoFtZRZJWWjfeIcyUVotNDkUG2mRzEDEjMDV6cED0+34ylxdA w1f76QTCVNeNKot8ygSLr6yNmq2htWNBIjyoBBbl2W5LbdqI06vRgxIBX2dLZfkdjm33EyNI/kK y7IWybYrWzFWG4Haa8tJwPE3R2FmdP9JhtlTmDwYWZKtc1xeKxmOEAvsLLyOQVcyFgQVf+/X8no I3UcyyrKNrYiUg1p2vgG/GRoSw916z/RN0gjK7FAy7Dhh4R6IErRcXKYh5QsgznPLH9TLSvnXvi i/upzqXHdMrmDsA6Q7UFdTtUxiN8J0BubouaykvM/AIm/XTGVtI12Ah98rrZLqUu5F+04NLIb6r k5rsWZUZbQilp/OuBAvTfjyHO3XmcPQlidhwXjlbAlz6ZqAYUQcTg6bMwwEaaZpkTEHiNITKYgS 4EKzXH033fgUcahGPJqXsr7KN8YSIYejatPS7sKNX5YEOtHsTn0cvtQ+g8S9BAA5MtCb9rHqik1 7RRdMJeV2XdMRwdwCTF+exBKVAnYGbwATKPnJ3KDbL0g7zbwRnEjtHYO5LuGzS5b1lRPvQ+Mlbi Nk32h4d79H8L3lw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=VvUuwu2n c=1 sm=1 tr=0 ts=69c15998 cx=c_pps a=UbhLPJ621ZpgOD2l3yZY1w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=tWRRbWwrKX-5tUpmLDIA:9 a=QEXdDO2ut3YA:10 a=TOPH6uDL9cOC6tEoww4z:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: 8Q_8AgdoXNjPa7YLnbb2KzckKqphvJ6_ X-Proofpoint-ORIG-GUID: 8Q_8AgdoXNjPa7YLnbb2KzckKqphvJ6_ X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzIzMDExOCBTYWx0ZWRfX4NgAY4egoW5Q 6c8ZOZx9INTVUfMZ4cF9jrfujB0MZirJTLTqmtxYJXNQ9jYw6mGproUQnGtmB4hHizMe1qIgpCT 7UH48u9TLFIpGV5tERxybveKtomK+4pckajZ94X5VW5SjJLHP9dmwnOl4wjxSGvMsIJby3ErCgY Z9M6r90kBo//ytRDhL5sTXtL/IVqkuRd/6bLi+hbHVPprHBvLxom5cEDYf2xwuNKA+hc3jXe4Ou /5mHoiWaVs3k1TnXz2yOCFwsvIYSMCPS+x4RpSVoWBsGC/kjenFev6+rGJ4mzoLuJgJvVhhh3YH 44UbLO5bXvDvEmdXdMkdRpNKsF/jGd7ieTn7W79mZXg/wgkCgxjfqWG9ClALsM0ZlEcsSqpmJn/ 5ujtC9AbS+xmNXgy/gIrNXyOyr8kYqjfaAUP6RI7oCBzIK2ZAC9t3cxz03NmIhrc2dLqEANck4I cidsuqUwaTTbnDnzHNw== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-23_04,2026-03-23_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 malwarescore=0 spamscore=0 adultscore=0 lowpriorityscore=0 impostorscore=0 bulkscore=0 clxscore=1015 priorityscore=1501 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603230118 From: Bartosz Golaszewski It's unclear what the purpose of this field is. It has been here since the initial commit but without any explanation. The driver works fine without it. We still keep allocating more space in the result buffer, we just don't need to store its address. While at it: move the QCE_IGNORE_BUF_SZ definition into dma.c as it's not used outside of this compilation unit. Signed-off-by: Bartosz Golaszewski Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/dma.c | 4 ++-- drivers/crypto/qce/dma.h | 2 -- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c index 68cafd4741ad3d91906d39e817fc7873b028d498..08bf3e8ec12433c1a8ee17003f3= 487e41b7329e4 100644 --- a/drivers/crypto/qce/dma.c +++ b/drivers/crypto/qce/dma.c @@ -9,6 +9,8 @@ =20 #include "dma.h" =20 +#define QCE_IGNORE_BUF_SZ (2 * QCE_BAM_BURST_SIZE) + static void qce_dma_release(void *data) { struct qce_dma_data *dma =3D data; @@ -41,8 +43,6 @@ int devm_qce_dma_request(struct device *dev, struct qce_d= ma_data *dma) goto error_nomem; } =20 - dma->ignore_buf =3D dma->result_buf + QCE_RESULT_BUF_SZ; - return devm_add_action_or_reset(dev, qce_dma_release, dma); =20 error_nomem: diff --git a/drivers/crypto/qce/dma.h b/drivers/crypto/qce/dma.h index 31629185000e12242fa07c2cc08b95fcbd5d4b8c..fc337c435cd14917bdfb99febcf= 9119275afdeba 100644 --- a/drivers/crypto/qce/dma.h +++ b/drivers/crypto/qce/dma.h @@ -23,7 +23,6 @@ struct qce_result_dump { u32 status2; }; =20 -#define QCE_IGNORE_BUF_SZ (2 * QCE_BAM_BURST_SIZE) #define QCE_RESULT_BUF_SZ \ ALIGN(sizeof(struct qce_result_dump), QCE_BAM_BURST_SIZE) =20 @@ -31,7 +30,6 @@ struct qce_dma_data { struct dma_chan *txchan; struct dma_chan *rxchan; struct qce_result_dump *result_buf; - void *ignore_buf; }; =20 int devm_qce_dma_request(struct device *dev, struct qce_dma_data *dma); --=20 2.47.3 From nobody Mon Mar 23 19:54:07 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 60C3C39FCBC for ; Mon, 23 Mar 2026 15:17:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774279077; cv=none; b=Qhs0j9MBDu2Ps1iDFxzCdMtwINb6kpXAMQjCuBDQEVTygHjtfuA6bRo8eRAPUTU7Z30VpZgQUoQ5iyDvWOckaEOSrqBLkYheBs+deroOJXmifotJLCxUn1hO2UrEccc3S9mOLdxb7AveQN0VnA87RoldUXJwg5cSEsANxhPtohs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774279077; c=relaxed/simple; bh=H6RGZzI1m6Hy642I73fornlozWd6x9hkPKo2H6raYsE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=gTfaGlbDqlFbIUOMApAzQsXuuE0HdVIaoC5O/50mqheK6kxkfwbZIHSmeZqo7QwhiZDSINNEM1Waam4CEAScqVu0tHxJnLdzEhPf9iwsg6bTy8SL9Ot4PaSCF1UawI/mqmvFBJoKyp+Zq2dhS0cFeazIapWYxi/5q9gCFerKa2s= 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=QDyDQzqj; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=L0nTkRnB; 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="QDyDQzqj"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="L0nTkRnB" 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 62NFGT6c3588432 for ; Mon, 23 Mar 2026 15:17:55 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= DQ9O/WxlrEXbsvKUWZga3GBiGSWqxH7TMX/h6DSnlY8=; b=QDyDQzqjr379G7GM ymLkzI1H3VBDMUsyC3gQOY3crRVlVznwIcPZ8WnlGbSZa8eUIsGvKb1T8NA0Nh24 Km6W4r9ewrUWlrHzNPpWmGH+PTkeC/iXdI5Eux+2GDg5nZT8sfWTsoNPYhNeRLY/ Sj81Rr8XAU1p6S6cgniVQj2Iri5HsyIr5de8cO4RffuinaqL/3tWOZayoZRMQXLI 9CTwrP4KFJC9Y3tHMMovq28l18/6qhYGGgXds3/7XCmu9FTbqA5rSKMbGJGB3+rk CafH9fBHizr/0nE7zGWYg1WciImZ1q/RFbBBhgeI9rldGL/QeqO/0HoHEPcc21qD lFh3Dw== Received: from mail-vs1-f71.google.com (mail-vs1-f71.google.com [209.85.217.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4d37a0g5ug-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 23 Mar 2026 15:17:54 +0000 (GMT) Received: by mail-vs1-f71.google.com with SMTP id ada2fe7eead31-60132c655bfso41592690137.0 for ; Mon, 23 Mar 2026 08:17:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1774279074; x=1774883874; 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=L0nTkRnB+D5z5pwypaCcUV3pa/SzYQODmOWw6Q0y5d/tCMOq4L4bUoyH+dopKgeB4s fiQp8XQnoVyTpIQyQUL2LC1tURriSjxI5l5G/3R3zWKMw2ne+rm4dOJy8cQqI9kroTHh giOHrrL1OaqmwhKlpmhdPS3Hott6T6noAU4c5aTFCeI8tfha8mj6qF4FFt2GJILWXdB8 CDYlnMUeiAtiDUcNMqA9BxjCnXxR+sOeuqRvM0+VTj+JJu+PAbJoPh68jhcHlzSCTpKf i9QTqw1Gf53MhBv5PNdxvnF/sFnxDIa7MfLbd9qi7vXMdEV7/PdHMtllNpAiNZ2jVmZo MTuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774279074; x=1774883874; 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=VDawwTsvn1Kpp75qmLG7HWgsoLs//oJzcLC03m6QS724CfbwXYuZXxxTk4GqbuB9uA rPDMX3CKa2muRbQ0TsThPAsYVixhvDC9A1rB/2R0CyZR3I2rap/jyZBF1QtXpObxtu/D QjQ8F9IIyMkOASqyP/iNOlFBxbxqXvzJTyxLf6D3EMMu0mI2CQdxnB/hAxwZGJYc1D6B qSCNHDI5ur9+DXpNxgnRTqhFOiW8TfwA1N0FSaiQ3KKFlckRo5AzQgV1KHn7oFgsRfNY 5FL+GJpXJl15+ts8E+kA93Ask4O2FKG+pmFp6kW/fH0swqPD69Mw9EFysFRPIjSBDCHo GW8g== X-Forwarded-Encrypted: i=1; AJvYcCWX2qzaW8tHEg4n/YtiJW0uirsHpXG6lRxWcKrp8tq3nM4CJZHJj40nFPph8WjVdtLZ0v0nM/I694T8ghs=@vger.kernel.org X-Gm-Message-State: AOJu0Yzdwlvr/3iXAAb1q8j0M67ZMlCFeww0OdoYrmIEYLsLAMSi/Wz+ 8Fdw/gyc0yfUtusY28qD6yMQHEkeYT/rl2ikPvF+7Hhe//jbXydIViNauLSygj6yzTYbJCVw/QC xlEWEr2OqzgHy4mAnAkHjaZ0m4VLBwR0XmZxfhpgPOdY+8AHUgR4SAwaJML93HkKuT04= X-Gm-Gg: ATEYQzy1ixz5qZzPsjoHWRkWnbv32FJ0CZIE1EnS3B267/HL9odnemXW4aN8CKQ2PFO jUcgwQRaF/YhE7njo47C00aOemnj06M09898lhn5odAXbLqiW8BlBbITidL9T8Sk0c6Uu1va/C6 FCGar8cjqVr6OGbuaVRR30NqbyejQF4Q2sDIJ/tYmJEGGrltqC2sAoSA4ViaFt6VpVa8kNGhIy5 3FBvaicJTA9gAEUI+CQFmBgovZf6qxmwN8EPO/jWQnM9DF5GwN83mGUvdm8+V7rUcJrIdLrKC50 0Hhx9RjZPoEGfA4f91uEar7YvGpjkegXHzgb/zFUvlXZSlBBODGrpXs6UiSEOu0K3OgMpWse0Np LUmLRF2WApRlv9KB7/bF1hhkhwOlMXLL4FEnx8k83iQIwOVicQv5v X-Received: by 2002:a67:c981:0:b0:602:aeb1:730 with SMTP id ada2fe7eead31-602aeb11b3cmr4498110137.6.1774279073787; Mon, 23 Mar 2026 08:17:53 -0700 (PDT) X-Received: by 2002:a67:c981:0:b0:602:aeb1:730 with SMTP id ada2fe7eead31-602aeb11b3cmr4497922137.6.1774279065481; Mon, 23 Mar 2026 08:17:45 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:f9a0:d7e2:7eb6:79b5]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b644bd923sm35936993f8f.12.2026.03.23.08.17.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Mar 2026 08:17:44 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 23 Mar 2026 16:17:14 +0100 Subject: [PATCH v14 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: <20260323-qcom-qce-cmd-descr-v14-8-f323af411274@oss.qualcomm.com> References: <20260323-qcom-qce-cmd-descr-v14-0-f323af411274@oss.qualcomm.com> In-Reply-To: <20260323-qcom-qce-cmd-descr-v14-0-f323af411274@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=kA0DAAoBBZ0uy/82hMMByyZiAGnBWYKg/NabL7C8BSDtlapAWCowk5pqimHBbX5Atozm6VRYT IkCMwQAAQoAHRYhBJHlEy3ltUYde6Jl/AWdLsv/NoTDBQJpwVmCAAoJEAWdLsv/NoTD9+0P/28q Urkx53lfgUCSaHR9lI4cWTVOyrHAGAJifojqI7AKWrxlLQslGC4kaOPwyr4orqL8cg4bLzasB0h SJ/DN4kPSZEFp1cAcW/WtIvmxfN/Vub+6S8sW3SvWEYEyuqIUTzFVFeYfGCaRkTx6kqOVKuJ6O6 +dksUyx6PIC/dC2N0fzoY+7Cy+nJIFZ1FOSvhHxf5B25b5jSfrpIx2pfRLjnsWsdg2QRYVmvvyT M7EmD1xo5zPcZ0Fjq6F5nwallCll/6T4p1jfaambYt8tKe5yEir15GKGHBT/qB7DtivD8LVzr/v vvRTZBKlzSSAQM6zr2ZNyYmzLIKnzSxXHFY/wdumK8gTt/7XSeC6IkWYHiqL/pBW2nA/KsuTygQ 8rnCaCcAeu4rUnpDOwDobLrLOHIT2yjAtmzoGlscJ9YNLpX6Q6d6lxDJ9sBWIkqygsRkAbhWYQj PJSqOPOGWzNnXlRdh/zf5Nn2zcKJ6nzEwqvAyiyCuQsJm9PzWyWsPyVxyD1gux+r13PAdlgg87z Ec/y9Po3Tt0zYKizZSmTvusdza5+uszdwT+eqIxQgRb2zmIVkoHebLg+raAHjKeneq3oeyHuFql 2819zdzaDC/o2FLKDO8fEB7QMvYl2nicHv+hsjV5gBwpOeToinbDEYxLs40l5XN98b22TINMKdu lGZes X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=GIIF0+NK c=1 sm=1 tr=0 ts=69c159a2 cx=c_pps a=P2rfLEam3zuxRRdjJWA2cw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=KrkfD191a8oFwBap4LAA:9 a=QEXdDO2ut3YA:10 a=ODZdjJIeia2B_SHc_B0f:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzIzMDExOCBTYWx0ZWRfX0ULsv0/m+Nkj 03c4/xlCxlSwPTuGQ2bfyIKdCXCNbMZpgyc4YUmHXbEyF0qVRsUcEAlBBqRyj82xsKtly+7RT2M 54cvlAM8c0ixUa7EMmQ3nv4HCQW/364dl5PoX8ndhGcHZS8NfkYQygA6Khz86gjHVJ5mVNXZOuh xRO5ObqlGJJDTu2zNSZ85aNUCdj0RPIQhhCQHCLMGHX9dG3nMTCD/n0bxa7hQ/mJHvHoLU90tV1 zLwsL+EQRN3bp7t0LXbCrzB9WeXd8DD7w77VJRd6v7RLetulkyI5XlzKox8v6iac6jRnURhmXBR QdvjWSmuYBtlb6u+7tMDq4UyB0YzCDtqoo9Km6KPcDo4VkDVPHf2Z1NtzDJdxsZNtsV/xpIe695 XfTT6OXidcF9/XfFz8NP10HoJoH8aH2YJROYbu47B9t2KWee96aT1LkKBr+LI90r+OFykhjU66z k9OCx/IqOH0ATAyNcng== X-Proofpoint-GUID: i6l5rWeisWey0DNwox80BJgx1IIYnzIl X-Proofpoint-ORIG-GUID: i6l5rWeisWey0DNwox80BJgx1IIYnzIl X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-23_04,2026-03-23_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 adultscore=0 malwarescore=0 priorityscore=1501 phishscore=0 impostorscore=0 lowpriorityscore=0 clxscore=1015 suspectscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603230118 From: Bartosz Golaszewski This function can extract all the information it needs from struct qce_device alone so simplify its arguments. This is done in preparation for adding support for register I/O over DMA which will require accessing even more fields from struct qce_device. Signed-off-by: Bartosz Golaszewski Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/core.c | 2 +- drivers/crypto/qce/dma.c | 5 ++++- drivers/crypto/qce/dma.h | 4 +++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/crypto/qce/core.c b/drivers/crypto/qce/core.c index 65205100c3df961ffaa4b7bc9e217e8d3e08ed57..8b7bcd0c420c45caf8b29e5455e= 0f384fd5c5616 100644 --- a/drivers/crypto/qce/core.c +++ b/drivers/crypto/qce/core.c @@ -226,7 +226,7 @@ static int qce_crypto_probe(struct platform_device *pde= v) if (ret) return ret; =20 - ret =3D devm_qce_dma_request(qce->dev, &qce->dma); + ret =3D devm_qce_dma_request(qce); if (ret) return ret; =20 diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c index 08bf3e8ec12433c1a8ee17003f3487e41b7329e4..c29b0abe9445381a019e0447d30= acfd7319d5c1f 100644 --- a/drivers/crypto/qce/dma.c +++ b/drivers/crypto/qce/dma.c @@ -7,6 +7,7 @@ #include #include =20 +#include "core.h" #include "dma.h" =20 #define QCE_IGNORE_BUF_SZ (2 * QCE_BAM_BURST_SIZE) @@ -20,8 +21,10 @@ static void qce_dma_release(void *data) kfree(dma->result_buf); } =20 -int devm_qce_dma_request(struct device *dev, struct qce_dma_data *dma) +int devm_qce_dma_request(struct qce_device *qce) { + struct qce_dma_data *dma =3D &qce->dma; + struct device *dev =3D qce->dev; int ret; =20 dma->txchan =3D dma_request_chan(dev, "tx"); diff --git a/drivers/crypto/qce/dma.h b/drivers/crypto/qce/dma.h index fc337c435cd14917bdfb99febcf9119275afdeba..483789d9fa98e79d1283de8297b= f2fc2a773f3a7 100644 --- a/drivers/crypto/qce/dma.h +++ b/drivers/crypto/qce/dma.h @@ -8,6 +8,8 @@ =20 #include =20 +struct qce_device; + /* maximum data transfer block size between BAM and CE */ #define QCE_BAM_BURST_SIZE 64 =20 @@ -32,7 +34,7 @@ struct qce_dma_data { struct qce_result_dump *result_buf; }; =20 -int devm_qce_dma_request(struct device *dev, struct qce_dma_data *dma); +int devm_qce_dma_request(struct qce_device *qce); int qce_dma_prep_sgs(struct qce_dma_data *dma, struct scatterlist *sg_in, int in_ents, struct scatterlist *sg_out, int out_ents, dma_async_tx_callback cb, void *cb_param); --=20 2.47.3 From nobody Mon Mar 23 19:54:07 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 8B6DE3C65F0 for ; Mon, 23 Mar 2026 15:17:57 +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=1774279079; cv=none; b=YUYPTz0wAD9iPL1ex+Eb21ie8GsO0sTYSdSDRdQOi2gfejEoGEImaeZlT6iKah6T3ENZuf6BQmwn5WvzTUZqaK4smOmA8XmhT/6aXLR/PxP8RxIBfd1F/NKm+rNy7/9DKXXm/FXCFGVBQO5Cv8fCHYKrip9VJlWNyJryMxBCwA8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774279079; c=relaxed/simple; bh=0l3gdVnkPeEhRWmaFMSjmRRcTqey535uYCWAXzuHtwc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=A293xsnsZKvmBMpFIBy5qN1yzZxjNXIADSkaGdDJNWSclbbfnpJj5yratWimqQUDIU+7Hfe6M1BZ3XI74DMNq/ivPYl5d3xeuxycLWpkToesHx1NlyN7igNmyItYqsHvQvVoLZI0TGj6q1FP8W2r8yRDoiA0S3XTtm6HnFx+qn0= 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=iMqbd+8j; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=aI0tOOsT; 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="iMqbd+8j"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="aI0tOOsT" 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 62NFGjbS2627427 for ; Mon, 23 Mar 2026 15:17:57 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= bP+u/9sMDsi5B9HZu73nJnAW0uvD7B1160U6L0iNO8E=; b=iMqbd+8jDFG8wUga CcAfEqrkXBhSqKa2mXvbxhMVq27SxEF4NFxU0fYhH2zkE9AQ827iCpiT8W0krEvD FRKYlEzzZNsyx5yLBaobqqSp38YUrgh11j72wbi6Z99og4kBRRuX0DUGKW1YcgPb JEu/rO8tCeQGHkzdusiLa5gX9Feh7n7xE442r/Ocj0P9fnfOaNONqB9qp7GAEy75 telyxJjfOPRgmo0iAHvDQ0SUZWsKqZMYKESaYdFI1uiiqnQL+/CDel8vXKInCJyA IF7+XVgJcr1ObmM4T+odC7PAVgykfDysiktvMlq1FqHahth6YzPFHQyZRWHGeCX4 YhPyMw== Received: from mail-vs1-f70.google.com (mail-vs1-f70.google.com [209.85.217.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4d31jc1kbh-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 23 Mar 2026 15:17:56 +0000 (GMT) Received: by mail-vs1-f70.google.com with SMTP id ada2fe7eead31-60132c655bfso41592978137.0 for ; Mon, 23 Mar 2026 08:17:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1774279076; x=1774883876; 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=aI0tOOsThrWNUMOipkqCm8inB7pmKAfoQR7vYiiFI7SRWtFUrlKHOszFy/zCBGM1Rn eY2KzG53o2zIB56ZXiktHZo1FAoXEtahPnOUcW+X6qkpiawiB9E34+85+h5gXSlZB9Vb SOxVassT3z1Gc95g/PFDGBsQ3YWRMcyby4xajt6xtDOFsdLSEAcJ8paqwxpzdeS+7HAC QorjF5adLqdj9Gp1uV9SZQSWlqsZ5uJJs6zjehrF4GJkn+HMPsQOsDezzm4RpAlrkIey QmoyngPB/dOJFjch9VQ41VZJ3p317Ea21AijKv8NFKZ205bdOoTRGtV6aUbyinMVpQZ3 IhOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774279076; x=1774883876; 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=nM1EPPiMQlzj3jmpAbHAnrNZxIq83CG2ISYzev9O0kxuGBA2WiU5XdJAiDeqwsR1zv CJ1a4BtMDXRisMZSVyYkWOBA+ETWmIkBAIPntGwtQtpMShgB2Z/G3nj3b4oslfRUoLsJ 7lg1VNGrZxEHWZ8fFMDTxhTlQm6uv6fBw3pfmrQeU/FtBfH/PC+C308oisPhZuJuOKIy SN9SH2+mixjUGNlxExzaaEkNnr+3JrhnjIKAGoGxgQVdiXCdu9XSHeH9vTuLXrT/HvJf 8DEzdAOAOxjyral6a+ukeldH0CJveMhI6NlzA2rOHVFBM+sa4St6mSZTn3xRlCs71Ozh z1OQ== X-Forwarded-Encrypted: i=1; AJvYcCUucxZDDEDND1GDYA8JXF762TczZNTFHq/lx8O5M7eq9OH7tUvKKkDHmUZv/8hXsFQaNCxkx6bceviKP6Q=@vger.kernel.org X-Gm-Message-State: AOJu0Ywrc8Kta6n8ZLh+v2Wh5lEkPg/hS39R7TxpMFppyjQAWKshutZB 9fsiQ6qIlw8Zvnp0FhNtKvZqqRHCBljuxbgYicec7QpBqcBOaQEi0+LmthZcyurLVMPibsI2Adf HnOXcMsUTMQdimW2uFEzXzMTSy2CywG4BibfkWeX0zhWKDYWM8V/esP01I6mNJrgrY+w= X-Gm-Gg: ATEYQzz+hs88+9PjBvE4bk225haR5EGBMfYCQXKZUYZYjYNs/ylsALkhZk/8q3/XgZX 5T4v3jtRswrLuhUXtvUSZfS5szSFLC5905xUXgx27utaSEexvlU3Y2Syp0Twkmzm69yqKmrlCQG T4Mwl3wmxCntJLF9I0ZMdiHK8vxdEMnrWW/xgajrwR7mYWyzfKj6PUSJH5WwF3507Fao++Ir8j4 1t5XfY7lBn8Ny7we46SxhvAEhBbgUyDrogdVhYsGX6VUbyWVjGI9Qf5ql1HSnB2yWc6wwIMofsj H2Ql5NXUV542JqP5yeiEEUd1VlhEHGEg5r1l3BMDMmOjTH76H/N9SQrbJ1lLFrL6seKQiaIfOK0 pIzNTK2y1xdzkyvkHWNqShvT7zRQG/e1wfKsyYMPCyLBsj5ZkVCph X-Received: by 2002:a05:6102:c06:b0:600:d0f:bacf with SMTP id ada2fe7eead31-60295c26f91mr7717441137.11.1774279076014; Mon, 23 Mar 2026 08:17:56 -0700 (PDT) X-Received: by 2002:a05:6102:c06:b0:600:d0f:bacf with SMTP id ada2fe7eead31-60295c26f91mr7717424137.11.1774279075565; Mon, 23 Mar 2026 08:17:55 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:f9a0:d7e2:7eb6:79b5]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b644bd923sm35936993f8f.12.2026.03.23.08.17.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Mar 2026 08:17:54 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 23 Mar 2026 16:17:15 +0100 Subject: [PATCH v14 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: <20260323-qcom-qce-cmd-descr-v14-9-f323af411274@oss.qualcomm.com> References: <20260323-qcom-qce-cmd-descr-v14-0-f323af411274@oss.qualcomm.com> In-Reply-To: <20260323-qcom-qce-cmd-descr-v14-0-f323af411274@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/NoTDAcsmYgBpwVmC3BbPHKUcjTHe5TMiO9yZ10QstnZzV0KUR 6F5bvI+cXWJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCacFZggAKCRAFnS7L/zaE w+PoD/4jky+pkIFkSZLdWX+ThdxlM9RmeODxR2zkQT6LI57HgVk3z9BMCHOQ1Pz+OT/TA9CQ9Pa hXgiG0yEC9HzAPG/BRj2TrT9xW2Pd3uWJC/YrJ8K6e7+8StGnr4i4blBASj2JACX+3grCEa87ti l8QZyxaI1lf9Y/Bdp+Ir5qD6Lb1h36J5hTJpT/ejECOzGNWczCoEC4WR+gtKErgAcAN9uLw1dF6 kEi8NeSIepc/u0MZzAg8gnbtpE1xbg6DTk4BaoKY1e3u03BP3+k39hy5byPZsYjR+kYrTIc9BHs EJIARINSvQXi5b0xbRSRU2aptScYC6NCtpSWErfUnjQKay6CX0/nL1/9QIoLD2VKNKt67Fud60n +9ud9d11eAourrQz8CfxHjzcHdjQiyM6QdY9pUhN7vCZmQUrgoK6n2JuNSgkgeiuH+EtIKdY+Hq yLZlRPPr7bAIyoy6jvD8Gm4a960+4mhH9mBmGJLXIGhF0fKxgesM+1MR3rCce6C4nVl5ou37pxu y/kX3I0mvNVxEPsUOaBNciWbXxzlo/uUK2EWoBcv8ua1U2pQwiNJpWKSNpeG04FEuim21W60srn 8XgoXRsMXbYEDQX0KHMLCjwltIhidgKB3zY2dSjwTxl5StlU9tp7jJX4m/MOGFQqqobVMylscmi yWsF24FWKBVEPnA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=fKc0HJae c=1 sm=1 tr=0 ts=69c159a4 cx=c_pps a=N1BjEkVkxJi3uNfLdpvX3g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=r78XHnC5kAO70zNBxnsA:9 a=QEXdDO2ut3YA:10 a=crWF4MFLhNY0qMRaF8an:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: DRwAVDhfI_XJwSHr2MUHzYApP6NIQjxP X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzIzMDExOCBTYWx0ZWRfX8wvcKv2w0GXN vlvyBrAGvCi+LpoE4ItZaYEP3a1K6GH4j3XIsD+qrZ3NUW9ckdJrECwEjS2hUGY0KWGOnJsOXa3 /ouxqJmgmNYcB4BgbojNCEP3p5ydDHOufBc3iEybMxxCQZTmlk6VuoZrbRoKPnrIayyLE32qRnE tntavqawwTzLTd5jmqK9aM7Uf9HOy5Nsm8gW8BH/jU9PqGlqxrp2kF+v1Ki34YsH5peV6sGS/d/ 0pu+WDVa57bIuh3xk0Ol2n3zj0P/YWiqPzcGAs4C/IoKsEYysJdfGYu/Q8MRHP5myp1nL8fjp0A /rlk0hjADkdLU+Ser5cZGzDSE/OwL1BKvmVE/GsjHkFU3MiyVRjqh2EZ9UAJRwJz4oXxJhHBsso qFW7CallOdP8HdVcPttvRQjyBUYcbiEWe2qO43DU4GX3C5nDbKI2fkBPLHjLSwaq2HSv/Dh9Yr3 HfB2rVNdbUBiiXG0Rew== X-Proofpoint-ORIG-GUID: DRwAVDhfI_XJwSHr2MUHzYApP6NIQjxP X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-23_04,2026-03-23_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 priorityscore=1501 phishscore=0 lowpriorityscore=0 adultscore=0 bulkscore=0 spamscore=0 suspectscore=0 malwarescore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603230118 From: Bartosz Golaszewski Switch to devm_kmalloc() and devm_dma_alloc_chan() in devm_qce_dma_request(). This allows us to drop two labels and shrink the function. Signed-off-by: Bartosz Golaszewski Reviewed-by: Konrad Dybcio Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/dma.c | 39 +++++++++------------------------------ 1 file changed, 9 insertions(+), 30 deletions(-) diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c index c29b0abe9445381a019e0447d30acfd7319d5c1f..a46264735bb895b6199969e8339= 1383ccbbacc5f 100644 --- a/drivers/crypto/qce/dma.c +++ b/drivers/crypto/qce/dma.c @@ -12,47 +12,26 @@ =20 #define QCE_IGNORE_BUF_SZ (2 * QCE_BAM_BURST_SIZE) =20 -static void qce_dma_release(void *data) -{ - struct qce_dma_data *dma =3D data; - - dma_release_channel(dma->txchan); - dma_release_channel(dma->rxchan); - kfree(dma->result_buf); -} - int devm_qce_dma_request(struct qce_device *qce) { struct qce_dma_data *dma =3D &qce->dma; struct device *dev =3D qce->dev; - int ret; =20 - dma->txchan =3D dma_request_chan(dev, "tx"); + dma->txchan =3D devm_dma_request_chan(dev, "tx"); if (IS_ERR(dma->txchan)) return dev_err_probe(dev, PTR_ERR(dma->txchan), "Failed to get TX DMA channel\n"); =20 - dma->rxchan =3D dma_request_chan(dev, "rx"); - if (IS_ERR(dma->rxchan)) { - ret =3D dev_err_probe(dev, PTR_ERR(dma->rxchan), - "Failed to get RX DMA channel\n"); - goto error_rx; - } - - dma->result_buf =3D kmalloc(QCE_RESULT_BUF_SZ + QCE_IGNORE_BUF_SZ, - GFP_KERNEL); - if (!dma->result_buf) { - ret =3D -ENOMEM; - goto error_nomem; - } + dma->rxchan =3D devm_dma_request_chan(dev, "rx"); + if (IS_ERR(dma->rxchan)) + return dev_err_probe(dev, PTR_ERR(dma->rxchan), + "Failed to get RX DMA channel\n"); =20 - return devm_add_action_or_reset(dev, qce_dma_release, dma); + dma->result_buf =3D devm_kmalloc(dev, QCE_RESULT_BUF_SZ + QCE_IGNORE_BUF_= SZ, GFP_KERNEL); + if (!dma->result_buf) + return -ENOMEM; =20 -error_nomem: - dma_release_channel(dma->rxchan); -error_rx: - dma_release_channel(dma->txchan); - return ret; + return 0; } =20 struct scatterlist * --=20 2.47.3 From nobody Mon Mar 23 19:54:07 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 439E23B0AD8 for ; Mon, 23 Mar 2026 15:18:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774279081; cv=none; b=NB8HFKrDCkYqviIZPKsSUwbBRRGzZwtDWvLePivgB3IOLvKxXTJDYgcMD1EXW48O2UyKAY1n0OMGyjDdZh/8Jxkq1cbDTLqGcRWn/NRoC/Fl+3mL4TDrvZ7jHR2zHjYOced7jzBDIZFFGX0GO5+F3gGJpnRBbOJWZB7C5GGXfCQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774279081; c=relaxed/simple; bh=FnVBtOe0OnnBy34d5WsqwWSUvkeiYQ93/vJc1qwp/2M=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=b5INUAEN4Y7MpHeVVEIizYt7/nmLcPkFJad5Djr0QWQo9H/kRsr22nQh09nY7VsyxFKIRFKm9yigmMqB82V84Ob57XVG19A79DJc+8zTJIbB7+s8vgbQwOJGw8tAGiXBN34PCLof0PpVESFujp3gTvHwgSZfcsdxH1B/Y9lxUgg= 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=FUxOJawe; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=bBCsDElq; 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="FUxOJawe"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="bBCsDElq" 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 62NFGTsA274011 for ; Mon, 23 Mar 2026 15:17:59 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= MnBQFcKPOgFHzTGJJB4DToRykxT+JvIdZWyKHEJZL1c=; b=FUxOJaweHYmdSkal kIWOp5Pmy0Cx4lcl9BR8gL1sKoSV7P4jxSxzu7/jAiDB64xpnpggU3+mamQSpmcu aXdHmjfR3j+1VA3YvroES1FGGC4J5eiHcKrDFT2QHdq7wo+GF3jAdfn/3NofPMef tB2KGaaQvX2ohL5W1Yit/GAyRyjFLDYT9dOO+1r0b4Gt6tUZkpmpIRBAzFimDdG4 3UzR7P3UItRCxw7dFgtu6E9z8JiT8VsCC7Lony+KkR324HQSxg3xe8hOHe0662g+ 0JzYfgvQ8FF7T2KGulydhcJpQJ2MlD7KR9nwKPLMG/Hb+D//ICk8W/tf+q0rvM5P CMichg== Received: from mail-vs1-f71.google.com (mail-vs1-f71.google.com [209.85.217.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4d31jghmbg-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 23 Mar 2026 15:17:59 +0000 (GMT) Received: by mail-vs1-f71.google.com with SMTP id ada2fe7eead31-5fde4d924f2so1715726137.1 for ; Mon, 23 Mar 2026 08:17:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1774279078; x=1774883878; 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=bBCsDElq3lgcVNp8kJpVp/yPy6ykbal8Riv/h/PgcPz0HsNqhUjZQ4vq9Ead5KpFq2 4apXbNACxoP4CrLuZP9zVUAip75JsMu6Qrrbcm+lnRvh9pb1z8wbDxxVxvvbMItrbpXu 6kxGYpcsGdigSQKT2SXEJRi7wE1yfQUjy37zB4lxbwjHRJ9XgNpP56eOvnkpWgF9DSwG fq/HeCDNc7TFSuzlo5xCIKpertRaz1Od4IjVUIHieWHTZh5R2MUJYFHBhUuteoKOeXcY NCTqXoue9PYszNmLz/N/UPkagIvLhWpQb9QnmaL5iW3idhoofakkiOTcwuP0ZZN8jj6g wrPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774279078; x=1774883878; 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=A0C+EtK99GWJ2LUKZm3FI8elZgc6ydxTQtMjKyAsy0Qb8m4JmJaV+kP16SCr9u/Gom m+uVnyAUlQxEjuo7MI+Ay1lDCTz0waJTPhUwO4FBTPPBuEGD2hzhxSizo3HfMwqoLh+i o8awDMq5QDdvPFUb0jCJRrS2/xw6EmzVubMmrzaC/dWTX3eUBh4e+ecoh2NBHfcD/YX0 IL3G1H2kauOXxHrGfMNBQkl+eTb6v01p0tr/bwXzRteE7IVumHEHHcAZNkm1XYkpxeLi XdNAzklGblq2M3XyZSWUh4Cp4LtN5BP5iCYYfwf5VBFp21xfsmWy6LS3FLZrD2fmkiXB rILg== X-Forwarded-Encrypted: i=1; AJvYcCWhLWDahwkTqPWJ9GVxZZAycDD/ytUyI2omOa7r0zyCy2ctwLc7o1RdNgu0bt6X5i9qaEIDUyDhf3uVUVI=@vger.kernel.org X-Gm-Message-State: AOJu0Yy3EAUwXG9TZ8Yim6Nv3/HcFtXvskSKoKOzSvTBUlFJ8xvVe1eR balkebNY7fUrL0kO/NPj4kayXG6gtg3uY3eiKtA4pS8tWQxe6N/8bZr4IEhA5aUMvtsf6dZ+hYy cDArNS6fj/4D72pSCk+i4NdQiLUtCh86YUx0SII565mWpib268KYBAngn4rHBd0khxsY= X-Gm-Gg: ATEYQzxmMKPbp0CmU9sK/DRMal4sMvbHl3koAMPoLqXXzqA70EfLzL+oi1Wp9h09Rkf dUuvJUhFE8TJ7yTJLWSoOlH8bPicj2S/TpseoH5e851tkoUHI7RIzqW3ldkZ7jEuqSFxyDozLUx 7Q3vY6p10DNsWj9gvzv/HsHYtthyoStUvnH29EXNOqh4RvBukULwBKE4uE0woS8ia9CBrNp7wED tvaIYIDYCo7//bGrP/8oQr2+MeJUL0N9H+i749tZ8L8LlqAKW2dIp3tDYOBktPZTRU0KSfAnT4w C5gTTKotR17VQdKsAwGgL1d3tspIb+bTU9lTCwRWAIYh5EfLQ0xhOGESbXabIxtMuEQU3NeDysT YX+af5YbCs4mi/LSHTK13guzvRugrDem00G65VJERKCwL1nHtd7qA X-Received: by 2002:a05:6102:605b:b0:5ef:2457:8015 with SMTP id ada2fe7eead31-602aed2cf91mr4164273137.29.1774279078503; Mon, 23 Mar 2026 08:17:58 -0700 (PDT) X-Received: by 2002:a05:6102:605b:b0:5ef:2457:8015 with SMTP id ada2fe7eead31-602aed2cf91mr4164244137.29.1774279077982; Mon, 23 Mar 2026 08:17:57 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:f9a0:d7e2:7eb6:79b5]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b644bd923sm35936993f8f.12.2026.03.23.08.17.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Mar 2026 08:17:57 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 23 Mar 2026 16:17:16 +0100 Subject: [PATCH v14 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: <20260323-qcom-qce-cmd-descr-v14-10-f323af411274@oss.qualcomm.com> References: <20260323-qcom-qce-cmd-descr-v14-0-f323af411274@oss.qualcomm.com> In-Reply-To: <20260323-qcom-qce-cmd-descr-v14-0-f323af411274@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/NoTDAcsmYgBpwVmD13r2Am7+SmM6Nm34ZCXhyvI5Vew5D7Iar vEE0IzdsEeJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCacFZgwAKCRAFnS7L/zaE w2EcEACY3fCs3Yh5lWl3/XHzMLQFZNwKQZ/k9C2OXOqzLPfweIjH6GOVNQwsNp7Gs6yxHSFYAx/ XR26vYVkhBIP8DpR/mYkQNqvp189NvAsr3PGrt4xF6Iyn/CuXrbpzoVZ9ZXgwRXVVDBrhGWrKtu mdSTdIqJau2Q0n4UGzjYlbhGRncGrIGjqqme+2Fc6+dwuE0pnDS+JJ9OO9uTyuhvA5PWMcDc1L4 XMwax416HRKoAe+ffnVPKgKEQv1VCDDwFt444d3cu8G/T9vN0k+T09cQ9c3IssydxWAc4xj6fG9 UMSFSxfMQVNcjprHSi+TJUD1LCfbf2J4VlK3hkHA+ZZxBVkiF7aLQRW+lnZz+n3mro4JTu1CFBA tzksi1CUKRerz2m6FywZ1tZW3VbDipZLxUX5SZWkGwYa3XU+1kt/J2+Goy8vvJul5pKqCUyGkJW E4CN2LVhh6G4UVtumezbbh9zb+0WWPkLwyyi1Q3kXqiD/3w0ZYIU8GMPjEA79ADG9fJPXYl+u48 ed3FS4ubvxZtPgoU3EW0hZOXb5YTnoA6I6/W0IoynuvQQB1XGMIbZbO5dKpZ1b+NsLJHxEomgdy vnOQAJgvmTj55RFUQHqAyYe4xSw1hznvvNiI/B2hwntLNZ5OUSud8cSRc1eNd1/49O4zkj9yzIH zipi5FcHGyAi/PQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: S9qf1uOowuRIhFQ_8L0DzeFDEziCEgFZ X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzIzMDExOCBTYWx0ZWRfX0klCW33Zlmos KVX3dH7Ems3tIQFXer4bP9jEa4rn2LyQquJTO9StvTj5i4nDbozehXKGAnVaVKMjBgm3rFwf+oW Hs4UQ9SxXOFGStlw+XMojsgzmaimYL11iTpO7B7MfRfUL6hPBQD8SZPSr/qT0NCs2znUwluYyy3 6DxkuGmN8UDwAbzL4bhiLSm24nufbSr51eCEK26XYpOsE+v8gadl0hgJwELeNYgiXa14mo4OKd4 hgc447JYYNucB9DK77ZBNSuVh1Tpr3Lk5SDNVuwIxSECxQ+sdunqIb9WfwY0KtN8iO4yFg9pLWt XmKQeu1pc5yAzw5vmyLLngEjsY9umalIOBopYYfoJEYGgMXRKZMGc+X96WQbf60c2xUO15HW3CF RDmHr+TtAQbIOEpseQpMjRVqAqOhPEMsSu+SJeOncGXiyT3bB7g92J5tMfqCR4ijURA3NNE3pCE SYExF8kxED3WMRIH24Q== X-Authority-Analysis: v=2.4 cv=CMInnBrD c=1 sm=1 tr=0 ts=69c159a7 cx=c_pps a=P2rfLEam3zuxRRdjJWA2cw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=76fuQ0JqpD8MvifAs1cA:9 a=QEXdDO2ut3YA:10 a=ODZdjJIeia2B_SHc_B0f:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: S9qf1uOowuRIhFQ_8L0DzeFDEziCEgFZ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-23_04,2026-03-23_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 clxscore=1015 malwarescore=0 adultscore=0 lowpriorityscore=0 priorityscore=1501 spamscore=0 phishscore=0 impostorscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603230118 From: Bartosz Golaszewski As the first step in converting the driver to using DMA for register I/O, let's map the crypto memory range. Signed-off-by: Bartosz Golaszewski Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/core.c | 25 +++++++++++++++++++++++-- drivers/crypto/qce/core.h | 6 ++++++ 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/drivers/crypto/qce/core.c b/drivers/crypto/qce/core.c index 8b7bcd0c420c45caf8b29e5455e0f384fd5c5616..2667fcd67fee826a44080da8f88= a3e2abbb9b2cf 100644 --- a/drivers/crypto/qce/core.c +++ b/drivers/crypto/qce/core.c @@ -185,10 +185,19 @@ static int qce_check_version(struct qce_device *qce) return 0; } =20 +static void qce_crypto_unmap_dma(void *data) +{ + struct qce_device *qce =3D data; + + dma_unmap_resource(qce->dev, qce->base_dma, qce->dma_size, + DMA_BIDIRECTIONAL, 0); +} + static int qce_crypto_probe(struct platform_device *pdev) { struct device *dev =3D &pdev->dev; struct qce_device *qce; + struct resource *res; int ret; =20 qce =3D devm_kzalloc(dev, sizeof(*qce), GFP_KERNEL); @@ -198,7 +207,7 @@ static int qce_crypto_probe(struct platform_device *pde= v) qce->dev =3D dev; platform_set_drvdata(pdev, qce); =20 - qce->base =3D devm_platform_ioremap_resource(pdev, 0); + qce->base =3D devm_platform_get_and_ioremap_resource(pdev, 0, &res); if (IS_ERR(qce->base)) return PTR_ERR(qce->base); =20 @@ -244,7 +253,19 @@ static int qce_crypto_probe(struct platform_device *pd= ev) qce->async_req_enqueue =3D qce_async_request_enqueue; qce->async_req_done =3D qce_async_request_done; =20 - return devm_qce_register_algs(qce); + ret =3D devm_qce_register_algs(qce); + if (ret) + return ret; + + qce->dma_size =3D resource_size(res); + qce->base_dma =3D dma_map_resource(dev, res->start, qce->dma_size, + DMA_BIDIRECTIONAL, 0); + qce->base_phys =3D res->start; + ret =3D dma_mapping_error(dev, qce->base_dma); + if (ret) + return ret; + + return devm_add_action_or_reset(qce->dev, qce_crypto_unmap_dma, qce); } =20 static const struct of_device_id qce_crypto_of_match[] =3D { diff --git a/drivers/crypto/qce/core.h b/drivers/crypto/qce/core.h index f092ce2d3b04a936a37805c20ac5ba78d8fdd2df..a80e12eac6c87e5321cce16c56a= 4bf5003474ef0 100644 --- a/drivers/crypto/qce/core.h +++ b/drivers/crypto/qce/core.h @@ -27,6 +27,9 @@ * @dma: pointer to dma data * @burst_size: the crypto burst size * @pipe_pair_id: which pipe pair id the device using + * @base_dma: base DMA address + * @base_phys: base physical address + * @dma_size: size of memory mapped for DMA * @async_req_enqueue: invoked by every algorithm to enqueue a request * @async_req_done: invoked by every algorithm to finish its request */ @@ -43,6 +46,9 @@ struct qce_device { struct qce_dma_data dma; int burst_size; unsigned int pipe_pair_id; + dma_addr_t base_dma; + phys_addr_t base_phys; + size_t dma_size; int (*async_req_enqueue)(struct qce_device *qce, struct crypto_async_request *req); void (*async_req_done)(struct qce_device *qce, int ret); --=20 2.47.3 From nobody Mon Mar 23 19:54:07 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C92D73C73DB for ; Mon, 23 Mar 2026 15:18:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774279084; cv=none; b=H60Sa/OqnPM/lMLc1yMRC3E89M7pWUPaYbyT5Xk+JGxgf2kFHRjaubLcLtpGa2nA9cU5Z2YQS15WzI7Qt7n90druGgTJaWHEpeh9ITzxn/F4FlivlxPr650PS58ikQLPJEIYU9OlWLO2qfr4YQ3lf93pXkDRQWJxTYoiQP3O5ss= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774279084; c=relaxed/simple; bh=J6JQaK92XNV2IsiAsrkn8st/ERqfkA6XUnyKQOIn/eg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=QN3tIdce77v07A5suZNJ9snfhpcQY+/mtLQ4ydblroBtgJhJJppIRJTfk1Xon8OknTMlan/JyUn3q657nJ9X7M6wSgGQG4jA34t5u0etj78FDMBt3+qnWKAvId+gIhPWGrjlsLDf25pjnNOCf1fuwfqHG6dA1Cd6rFjhmRJsefw= 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=Zy9ijx5S; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=AS6HSEfz; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="Zy9ijx5S"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="AS6HSEfz" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62NFGR0U3474150 for ; Mon, 23 Mar 2026 15:18:02 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= iL0DqmcolfEx1Yxj+LLfsMTXg/CLsi8xOZKAt5M4Zk0=; b=Zy9ijx5SkXhuqYYa 93fFQDgbrSN+XL7HwJhLvlUUlms/ebMCoUpqxFgpy9IPxUBDtR6U7lYVkyATy22J 8dmqgBqe1RoWns8RMBvK9UXVlneacRmQ2/3OfsSTTmOSku/EEzODgLsOoTUnQkTp TuWQVo+J9QkwfHfexBb9iIW1EtIMeeOP4ou0b7YpAKKlvY48ADFLTBbN9D59aXKF O97aPmxcxjQvy+2YvC8DqI8DLUfiRZ7yc+m5Sx+wBDjGx0IGmbU7Zmbe0svOoT/z /jqAdhHWFSRjBV6i+1n0f/68V4ul35HmaajAzLPN7umflAF1pZ11kFsoX2YcnDyE E/Bbvg== Received: from mail-ua1-f70.google.com (mail-ua1-f70.google.com [209.85.222.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4d355w0pwy-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 23 Mar 2026 15:18:01 +0000 (GMT) Received: by mail-ua1-f70.google.com with SMTP id a1e0cc1a2514c-950bdef305cso2650559241.0 for ; Mon, 23 Mar 2026 08:18:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1774279081; x=1774883881; 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=iL0DqmcolfEx1Yxj+LLfsMTXg/CLsi8xOZKAt5M4Zk0=; b=AS6HSEfzIALPfFrJ4stwJkLRYl93PCJ0+t9UxwtC8CqAMuWRVLBJbyztY87Pki+TpO sH2gRKnsDqUb92zgwRE/B5hyodxXFCKYWxwS+tKegsdPBeCOwfqlXKVnTu6FPPbtHOVD dn/3HTUXW5b6G1huqond27NVcD0GwfxSukiqARcylKSocT0R0VHZqDHwVlW+XX/3g0hZ e0a9lQ2E0QTR+8vcJ/ZU6xHUuotGjEgSrS5hv6NOIpDjWcqDV046Uf5Un09t3gffgrl+ rMBW3qieU0AbO7xL6YXpCqR74GnCr7IRLrP1GVu2eJx3lXhZuydljTanc7zMA7x2YrA6 Yzrw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774279081; x=1774883881; 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=iL0DqmcolfEx1Yxj+LLfsMTXg/CLsi8xOZKAt5M4Zk0=; b=QytYM2GrRJb6a2Gr307qRYdF247k4pTdtA8Patp2IgaHWOyQetKlSVIbnarEgkQP4/ i8LgCpXFCK3m8w1ocPJ6Mx4ZHv2Jj5r1jw21tm7NQfVuB3HCluiVv4c+2tQadWlvJPw0 msXMwjNYMIvCx/h9QzuZWhflsVMWPPZTsvFhtryjqaAYiwB65Viq6E9vJquSQxp6b3IB bFbTcRMzR4fZ3rLwp2B6PVtAUq55AA/JZQ4of3DmJkwZ6SZJ/p4OZXCEVEvy0orD/rGG ENlRuaHxiNobcpg9L4mTOFkjRPV4VzsXHM7jbkqqQ/b3ubsq/nxQSbwR76jEvkLaenA6 Hd5Q== X-Forwarded-Encrypted: i=1; AJvYcCVNKUMwp29ORYIp8MJ1db8JNOXPO36ICDZfXHrvqo9DCXtQzp8ka4+h3g0CCW4Z/s8buwtksB+kOUBm16U=@vger.kernel.org X-Gm-Message-State: AOJu0Ywtl2P4k9TPpADFmfckx/qFFwcteJ+0OKsSdekZSRd2UITOlIuU HFJC6rn9eWDectA55AnTNXdQDjYN0XK5nj+0PLMFaocEDlmZYR+eFEl7+MontQ4FOUTiADLgNo3 qOIsplIYJAUeZLVAv8a5oKw6VtrgRFieIbQ5gR5mWaF6IidhmEf0pBEhHhpBgEOFe/qk= X-Gm-Gg: ATEYQzwEvs7x5HYnjrSdCgtKlm7E45PoXMekJpjjjPv/8Gcq8Vo+sFN48t+ItwTFhJz TyxhBACmTpm9hR68jNJxhSgodfyMNMmZy7v895ejhHW8XdI5tcrA0O7eDfbk3KaeN7LG/XAh7u3 fTwr46cBeH590/E6Qn4YUFwnnAj/rc5i6KfxVnXgk8UxXM7sgznwrYFf/4Qa3gH6A3Pz18etn9H hFKHNL1U8r9IL3ZSqar2esZPnpMb+ObzDWYAI30vjiXTHwvuxGHSorA4XPFpOYRnL8EC8M9atX9 vn4bA9xLhA2xyHSduv6u5SV8zfpFyqf3APCVLrmL9NU97Lc+x5PQn6oBdvZHxw8Oe+lb6Oj14dU v6itcFXut8WH+JLBYCnOZjTiJlsmlpcQOSScoxm+HQ4WckWsd3+wR X-Received: by 2002:a67:e106:0:b0:5db:dd12:3d16 with SMTP id ada2fe7eead31-602aeabdd7bmr4387276137.6.1774279080869; Mon, 23 Mar 2026 08:18:00 -0700 (PDT) X-Received: by 2002:a67:e106:0:b0:5db:dd12:3d16 with SMTP id ada2fe7eead31-602aeabdd7bmr4387255137.6.1774279080281; Mon, 23 Mar 2026 08:18:00 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:f9a0:d7e2:7eb6:79b5]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b644bd923sm35936993f8f.12.2026.03.23.08.17.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Mar 2026 08:17:59 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 23 Mar 2026 16:17:17 +0100 Subject: [PATCH v14 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: <20260323-qcom-qce-cmd-descr-v14-11-f323af411274@oss.qualcomm.com> References: <20260323-qcom-qce-cmd-descr-v14-0-f323af411274@oss.qualcomm.com> In-Reply-To: <20260323-qcom-qce-cmd-descr-v14-0-f323af411274@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=11908; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=JXlCbp8LMrKa8gZGoF4/x1EM2L/52sBlLm6zQExbX3s=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpwVmEl8nRhwpbYJqrGa1NuAxRUY0bjVtJqPllT YuACPC6jfeJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCacFZhAAKCRAFnS7L/zaE w6h2EACwCZsTtbvW86T+U5Ctp7qkNP+tWTKlRhbx9NwjbI+1BkBMslc4kj0AuBctzHy5fpQ4gkX pqWj2Stfrm/SSBFtUNuG8N2+BocoRePErtTyWg8ewZneCfFic3AUXwqCoQPEggy6K+ByyoMkKEI mtyPC/0IWGjd4IbTKd+LF9Kl7AktlInGLuZK/rREgAR9Dra8mbh+jGGLuXJs5c1pRvzPcKjxtiZ hO/0qZtGCfiU/olA6ZlqUyjHPO5uLC9UChCQyqdtKIra9bw5n2pwHu4MlZI/pyChnH2jTG3E0Uh 1E7v0PVmUwHZLsco5YtCAqMI/af5yxvGQeFOZgiX+9Oj7VSV5c29xVsYe4bhbYYc0P5YLPr7sQ6 gMRf0FXEo5m5cYQBvcCH+UiL8E9/cLFnyBKRtbollOQnn/ji3CifrSI2/FoEvXEsYtGVoK++BV3 XgwIB8UiaVmLawmQ+IdCRyXmtml1Fa9aCnkoaeZs5eaY28abNLYPfBT5jEkIRsM8uKLBfDD74Vy wofhhYL4uDKADv5PeooM/UtTLeBZf85Hhpb+zQ4OsuxBpCbj3x/2ZlTJpsne5fMYei606lYbwpx surX7SHkfAhJC/WDtQNnU2SVAEF3Zob48uS5brNCP+p/zrVZorWvLYDC9iBYtC+iPwem2Zw/Ajd P11I6rjR2vNrHFw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=fq7RpV4f c=1 sm=1 tr=0 ts=69c159a9 cx=c_pps a=R6oCqFB+Yf/t2GF8e0/dFg==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=9HZbPfoxh1Yo69-LKtAA:9 a=QEXdDO2ut3YA:10 a=TD8TdBvy0hsOASGTdmB-:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: S5rWMdbcBBr66BdMu_TvJ3KCQDGE_XX7 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzIzMDExOCBTYWx0ZWRfX3au29+fxuCiz tT8L2UQr7YfHKgcF5CqIFrD6THqRiXFgu020g+zfL2iwyMMSeK+lbmV2mHuSe1tAn8kgUO4CiD5 kd2DcRBQtfGF/qhNV9EyBlGYHzg5cvEunvkYf1ToUWiHR5nklqhDY2DK7qtykHOQFQvAs+NbcJ4 7g58mcmpEBocbuwoYhKYeIn9erJjUfzjmIgrWiSaqK8HO+ohhveyXCa8C40b3b9qdtLulooM0FW CkOw8f76zuqjyXG2CBEI0LrIrK09XvF5GobU5MKljzbbnh+a1PBFuDIwMli3Hv8EBvkN9V6GXt2 Kz/THZSEj121rjxE59vsSKfe5ZMPf0/e+SShW2mugHAXQr2tnNKPGE3kgRugvHmtDn6ilozGRzD PxtpBTTA0h5mC0R6Np/8XEw2+ssT37qJ0CtIpOcUrjBJ5oKMgNXeg/v/W4mInqS06Dr0/Iew1zB YrWMEziistUO59aO+rA== X-Proofpoint-GUID: S5rWMdbcBBr66BdMu_TvJ3KCQDGE_XX7 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-23_04,2026-03-23_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 spamscore=0 adultscore=0 clxscore=1015 impostorscore=0 lowpriorityscore=0 suspectscore=0 priorityscore=1501 bulkscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603230118 From: Bartosz Golaszewski Implement the infrastructure for performing register I/O over BAM DMA, not CPU. Signed-off-by: Bartosz Golaszewski Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/aead.c | 8 +-- drivers/crypto/qce/common.c | 20 ++++---- drivers/crypto/qce/core.h | 4 ++ drivers/crypto/qce/dma.c | 114 ++++++++++++++++++++++++++++++++++++++= ++-- drivers/crypto/qce/dma.h | 5 ++ drivers/crypto/qce/sha.c | 8 +-- drivers/crypto/qce/skcipher.c | 8 +-- 7 files changed, 141 insertions(+), 26 deletions(-) diff --git a/drivers/crypto/qce/aead.c b/drivers/crypto/qce/aead.c index abb438d2f8888d313d134161fda97dcc9d82d6d9..0cfea1cbfb0f927e0b8bcd57c47= 004cbe41175a0 100644 --- a/drivers/crypto/qce/aead.c +++ b/drivers/crypto/qce/aead.c @@ -468,6 +468,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) @@ -475,10 +479,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 04253a8d33409a2a51db527435d09ae85a7880af..b2b0e751a06517ac06e7a468599= bd18666210e0c 100644 --- a/drivers/crypto/qce/common.c +++ b/drivers/crypto/qce/common.c @@ -25,7 +25,7 @@ static inline u32 qce_read(struct qce_device *qce, u32 of= fset) =20 static inline void qce_write(struct qce_device *qce, u32 offset, u32 val) { - writel(val, qce->base + offset); + qce_write_dma(qce, offset, val); } =20 static inline void qce_write_array(struct qce_device *qce, u32 offset, @@ -82,6 +82,8 @@ static void qce_setup_config(struct qce_device *qce) { u32 config; =20 + qce_clear_bam_transaction(qce); + /* get big endianness */ config =3D qce_config_reg(qce, 0); =20 @@ -90,12 +92,14 @@ static void qce_setup_config(struct qce_device *qce) qce_write(qce, REG_CONFIG, config); } =20 -static inline void qce_crypto_go(struct qce_device *qce, bool result_dump) +static inline int qce_crypto_go(struct qce_device *qce, bool result_dump) { if (result_dump) qce_write(qce, REG_GOPROC, BIT(GO_SHIFT) | BIT(RESULTS_DUMP_SHIFT)); else qce_write(qce, REG_GOPROC, BIT(GO_SHIFT)); + + return qce_submit_cmd_desc(qce); } =20 #if defined(CONFIG_CRYPTO_DEV_QCE_SHA) || defined(CONFIG_CRYPTO_DEV_QCE_AE= AD) @@ -223,9 +227,7 @@ static int qce_setup_regs_ahash(struct crypto_async_req= uest *async_req) config =3D qce_config_reg(qce, 1); qce_write(qce, REG_CONFIG, config); =20 - qce_crypto_go(qce, true); - - return 0; + return qce_crypto_go(qce, true); } #endif =20 @@ -386,9 +388,7 @@ static int qce_setup_regs_skcipher(struct crypto_async_= request *async_req) config =3D qce_config_reg(qce, 1); qce_write(qce, REG_CONFIG, config); =20 - qce_crypto_go(qce, true); - - return 0; + return qce_crypto_go(qce, true); } #endif =20 @@ -535,9 +535,7 @@ static int qce_setup_regs_aead(struct crypto_async_requ= est *async_req) qce_write(qce, REG_CONFIG, config); =20 /* Start the process */ - qce_crypto_go(qce, !IS_CCM(flags)); - - return 0; + return qce_crypto_go(qce, !IS_CCM(flags)); } #endif =20 diff --git a/drivers/crypto/qce/core.h b/drivers/crypto/qce/core.h index a80e12eac6c87e5321cce16c56a4bf5003474ef0..d238097f834e4605f3825f23d03= 16d4196439116 100644 --- a/drivers/crypto/qce/core.h +++ b/drivers/crypto/qce/core.h @@ -30,6 +30,8 @@ * @base_dma: base DMA address * @base_phys: base physical address * @dma_size: size of memory mapped for DMA + * @read_buf: Buffer for DMA to write back to + * @read_buf_dma: Mapped address of the read buffer * @async_req_enqueue: invoked by every algorithm to enqueue a request * @async_req_done: invoked by every algorithm to finish its request */ @@ -49,6 +51,8 @@ struct qce_device { dma_addr_t base_dma; phys_addr_t base_phys; size_t dma_size; + __le32 *read_buf; + dma_addr_t read_buf_dma; int (*async_req_enqueue)(struct qce_device *qce, struct crypto_async_request *req); void (*async_req_done)(struct qce_device *qce, int ret); diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c index a46264735bb895b6199969e83391383ccbbacc5f..5c42fc7ddf01e11a6562d272ba7= c90c906e0e312 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,15 +197,16 @@ 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 diff --git a/drivers/crypto/qce/dma.h b/drivers/crypto/qce/dma.h index 483789d9fa98e79d1283de8297bf2fc2a773f3a7..f05dfa9e6b25bd60e32f45079a8= bc7e6a4cf81f9 100644 --- a/drivers/crypto/qce/dma.h +++ b/drivers/crypto/qce/dma.h @@ -8,6 +8,7 @@ =20 #include =20 +struct qce_bam_transaction; struct qce_device; =20 /* maximum data transfer block size between BAM and CE */ @@ -32,6 +33,7 @@ struct qce_dma_data { struct dma_chan *txchan; struct dma_chan *rxchan; struct qce_result_dump *result_buf; + struct qce_bam_transaction *bam_txn; }; =20 int devm_qce_dma_request(struct qce_device *qce); @@ -43,5 +45,8 @@ int qce_dma_terminate_all(struct qce_dma_data *dma); struct scatterlist * qce_sgtable_add(struct sg_table *sgt, struct scatterlist *sg_add, unsigned int max_len); +void qce_write_dma(struct qce_device *qce, unsigned int offset, u32 val); +int qce_submit_cmd_desc(struct qce_device *qce); +void qce_clear_bam_transaction(struct qce_device *qce); =20 #endif /* _DMA_H_ */ diff --git a/drivers/crypto/qce/sha.c b/drivers/crypto/qce/sha.c index d7b6d042fb44f4856a6b4f9c901376dd7531454d..f7e1f49b11b9344a5c45a9caddd= 485d3dac91046 100644 --- a/drivers/crypto/qce/sha.c +++ b/drivers/crypto/qce/sha.c @@ -108,6 +108,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) @@ -115,10 +119,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 872b65318233ed21e3559853f6bbdad030a1b81f..a386b407cfb1b1b8d72ff9c2d25= 5476c6327a3c2 100644 --- a/drivers/crypto/qce/skcipher.c +++ b/drivers/crypto/qce/skcipher.c @@ -141,6 +141,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); @@ -149,10 +153,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 Mon Mar 23 19:54:07 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 418BF3C7DEC for ; Mon, 23 Mar 2026 15:18:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774279086; cv=none; b=jM25RogVuJtQOGpqgbpP/JeKguMno4mLedf8A71Cb/lliGosxpblfBR8C+IgwIbRjP5iMQvJ6QL+1gAUsVEkxRO4StAd+MeReZNxEUCBP8e6//li4BsQxEsBjDTY0SwdEl4E3eE86gCJ0fpQMEk16Lp7IqoUd0m0syjMVCr0Xh0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774279086; c=relaxed/simple; bh=zaDjliGI9P8SDSmb8oK5ZUowNY4iBaNue5t3+i0OgLI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=bPlZDOIQxDBDlKatETmX2yVhAy23RiH8QS/JKUmIW8rLNqGSBXAC5VRtE6Z1pdDGi/O6qZF6zDP2Avb94bSNaNpz3fz2Cpfa4EAfDYoT8+RaBX2rw4x/2TPRj47/GUTTDR9ZjVEFDCjXR36PlJ/I5uhrK/8GOanbSP2w+Y4b7F4= 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=O8rk/zpX; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=kS7nsUgk; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="O8rk/zpX"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="kS7nsUgk" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62NFI4V81423908 for ; Mon, 23 Mar 2026 15:18: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= nLZDYW56A6RoHAFTzDl5i+KhZW9amsZPLqs+n6djD5w=; b=O8rk/zpXpgJ6xfFB gKetOgIHP2LnO3VSBUuiW+IwSQK2TF3wiJ38ea9sLr4KyDr6AiLzDfmdMDASS4fN rcbef5GSJ9EJpTQhTltG0GgV92y9nHXxhS/NIvzrlcDze15JiLEa2+QnP8acKidg wH2uMuDrdCbjmhThpp2SYzI6mrT/tQVZ8SXQYOdUKRrBwiKxPbakwMWKXnFiG2zU EJ49vFFUcnF0dI/NoJf7EtI4Wsd9sdjn/pNSGreHQp6GyYx7gZ1ojoR5I4gXQqf+ Y5qtiseXTgjAM8x01WSGCz8joxgejGsi8LUUgNXaRIQwbsueC70EO8BJh3Sb2/QB GF/aGg== Received: from mail-ua1-f70.google.com (mail-ua1-f70.google.com [209.85.222.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4d36f08dm4-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 23 Mar 2026 15:18:04 +0000 (GMT) Received: by mail-ua1-f70.google.com with SMTP id a1e0cc1a2514c-950bdef305cso2650596241.0 for ; Mon, 23 Mar 2026 08:18:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1774279084; x=1774883884; 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=nLZDYW56A6RoHAFTzDl5i+KhZW9amsZPLqs+n6djD5w=; b=kS7nsUgkky4iV43ANBPqGawYOGNeQi5hivIcTrAD/SnduHmY3LtEu4hUA3opkC+KIQ I23eqOnFCJBZJRIM45x4Sn1lW8ON+MY3geHbnS17oKAW9z4wqXGGE24NcIfcnUGUFdFY G5/UZdu8Md7ZdLe8Obmy7rQazfhO5pB4/MpfKoxK+Sr+cQPqqdIM9i5zGS6MI5jJGlHp +OCt0P2h73+QEy4xCf07W5dXhofHMFZCI4S/I/5YfmJH1zvMAbvikHaTxuoDdhkQYNco X3ouTcoLXQj6GICWu5sT/WLln/8a4HF1BDo/I40wrs87682v1L9IZCr+B6VQw8kVAqRA 2D2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774279084; x=1774883884; 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=nLZDYW56A6RoHAFTzDl5i+KhZW9amsZPLqs+n6djD5w=; b=Ds513+lilndycKP8zzELfM0dRFG2WSZEBnQdbqDJ9+uSUROt40EwxMtAMfL0J96bOe 8QqS/mWkt45hJ0DLwY1V1NT9C0d+SccS/4dorzdLHtv8jaAlx9Nb/M3Y+CaFnrRDYrMB f3maWxpxjxfg3DT68p466+lzv09eZI24l1lEznY9HJMPmhTgbHo1wBKmwHGDOQiXAC4j pZ2hCGJucnvrUJcA9Is5TTv4jQyWZHNoB1TiXp+KOVhBE/MNuiCqhXdDHKXUeCOj2y1P ae2UG8UyJwnb+cd2IoZ5SjLiA01d/DC9/0QHizEe77MeOCcRL/DiENPkJc1KLqLo2qx3 0siA== X-Forwarded-Encrypted: i=1; AJvYcCVWgyEuQGCPUxtM7rsGbotiJMfEE86jsPHKv8rzHToNzbkZwQR3TyZr6d5EFMAr+jGjFM0B3ZRvVdyPZyU=@vger.kernel.org X-Gm-Message-State: AOJu0YzXgks6TmQIUSgWw7026Kmlph28bnx0R+MfH8LtHoRUPkdSu9M/ BGOD+KY9bjfBwPymNvOZdMPuSCSiyFtdGh/Bcch02VNjGZBHYctEl19c25gAnK5IubcfL7atkZY E2aYLy0q6TzSM9eEY2SEAFJAKTfjH3YrV3+esd/ME42c8Xnql+DsMvBqSQ78mXw3SZ9k= X-Gm-Gg: ATEYQzx/XuIYj9EgsSWEm2a0DadJinnxSyZHGauABc2z/o/Mvbk2RXn9gUYJRNf36HW Y2y6Gt2JTV6nbIZhpXnVwhOslK0cq2fUy6D2BftCANl1vB6346m/Td6unA3qZN18JPIWUe3mK2F TDX0yLDyJ3SESfLJ/dXUVZDHSN/+GlGWYJWSjgU1VJo3Vh5E2R1ej8ITspgoIfdIrgDECqxwb7X aIcoY0eseJtDEFGg8bzsgxGapaPSVplnNreOPrYjoUDx9vB4CYNWenTOG6qgLb1w+vI184gzTdL EymHE848a/HrppARr8JOw1YpT58J4K0Wlt6yh20wgiRQi0+tPhv/Z0IcbhNPtC/lvVl4Ze6jT8x RKeCi745J/gPOIX0hZ2iuOnWId0g8nQ/1NNZji+E6IfDj4gNeNH/l X-Received: by 2002:a05:6102:6b01:b0:5ff:c5c8:2734 with SMTP id ada2fe7eead31-602aed07a8amr5468741137.25.1774279083653; Mon, 23 Mar 2026 08:18:03 -0700 (PDT) X-Received: by 2002:a05:6102:6b01:b0:5ff:c5c8:2734 with SMTP id ada2fe7eead31-602aed07a8amr5468725137.25.1774279083158; Mon, 23 Mar 2026 08:18:03 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:f9a0:d7e2:7eb6:79b5]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b644bd923sm35936993f8f.12.2026.03.23.08.18.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Mar 2026 08:18:01 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 23 Mar 2026 16:17:18 +0100 Subject: [PATCH v14 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: <20260323-qcom-qce-cmd-descr-v14-12-f323af411274@oss.qualcomm.com> References: <20260323-qcom-qce-cmd-descr-v14-0-f323af411274@oss.qualcomm.com> In-Reply-To: <20260323-qcom-qce-cmd-descr-v14-0-f323af411274@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=2392; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=zaDjliGI9P8SDSmb8oK5ZUowNY4iBaNue5t3+i0OgLI=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpwVmEIhNA+qGksy0E2v+Dt0LShbj1QNg2y86R/ vOoNZth0qmJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCacFZhAAKCRAFnS7L/zaE w7xkD/4xdbKrTGB7J4C8rkvde0/WRQFmeaByk8e35IH820cDb1zFim4oxGxug62Gt2ElgCJN5kS xZsQ7ey3+VFbU4w0uFyovx3bxhax55cV+yr03pDTh/fDokqAO6KyXyi3Vf/L7Oe5fQdAWFgJPrj FD+IJyvZzax/03Jj7CirAcBwAOfYwGQ7ra8b3A850SWX48wah2ncH3S/Gz7e5F9bpWqZjmRY6ww Zp7PfY2+oQwGMnq8rv+0m+E6vi5iTj9817XI1T4IQpQYE/iUkzITIhmVljlZyHPphm1pEWwZNmQ lMf4In+3V93D+/vu0TR4JKX+KMF4/5wjzMYybAGOY3I5klpEUhCBpIJHXIe2RIrpqpGAZJY4vul 8uloju7us6uY225sKDTpnQQ1DpapFkm/Ir5clmslKrvnt/b20h6oYP8c9uh8yBVmLFTIlgEahoj 73yRozw3wSjjF9frUEmQ+DFMviySFyLX60GLmhOPkQ9CximM3mRm3sK9+9kmFdL9pBhFXyFxT3d roMQoIzCZSKLSfuC9UkgNOK/ryTAOB647Lx0+DxpobTUmKNcp2YoiuE7mSwNxFQbxU9m5IBBC/c SWYx5SAwoU/9cD3mTbVbeI/fK5RF0oCDwVq1tVTgDI9yQqMSmDoLC3Kg5HCAHVCgQhhK6C0z2Fd wEAVl10ejvTe/+A== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=b+q/I9Gx c=1 sm=1 tr=0 ts=69c159ac cx=c_pps a=R6oCqFB+Yf/t2GF8e0/dFg==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=6g4OycmRf1yXlxMorl0A:9 a=QEXdDO2ut3YA:10 a=TD8TdBvy0hsOASGTdmB-:22 X-Proofpoint-ORIG-GUID: VSBZ5svOOhxK2ymFgRsi07BdEtoVvQk- X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzIzMDExOCBTYWx0ZWRfX3szlt4LcRaBT oBSJlUeC7IvPbj8UH1jM82CBe71L6BAuNhquV7WaZsJG4Itt5Mx7pZmmt3gCYhLuwj5uVpqRmPR NWRVk5EMi5+e4V6hgqSFT9vMWi1By5FmYwaE6DGRAdd6zFS5YSpZts1zpgT0vH48qfmsl4BY3u9 a1W2zE3XCQK4CSvC2MCruCb2aeSV+Am/zAAxNAUJAJxW7O4I5LqXm/zC/DBcT9/92Te3ySowVlD vgt5XrYokfvzc89gQSVlYOCu+9LQv656Swx9xF52dm/3qeMqS8rMsYK8ZwYK3Yk9DYB8EiY0hJj FSPSObFu4aQSm6eNxnR0kMLjPcL7c5rxWWkumIR4Hwn/PlF6PD0/IvL0iK2vlIXKoYjeIIV5wV8 s/VnWq9l3cDPwWb13oV6LQr+A0YHUlIC/SwD3JNY44x/5oH4U1c9B/cQ+yqmav1iqW2v2Fx47cF iPpC7l72f7IUE7Abijg== X-Proofpoint-GUID: VSBZ5svOOhxK2ymFgRsi07BdEtoVvQk- X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-23_04,2026-03-23_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 lowpriorityscore=0 impostorscore=0 adultscore=0 malwarescore=0 bulkscore=0 suspectscore=0 phishscore=0 clxscore=1015 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603230118 In order to communicate to the BAM DMA engine which address should be used as a scratchpad for dummy writes related to BAM pipe locking, fill out and attach the provided metadata struct to the descriptor as well as mark the RX channel as such using the slave config struct. Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/dma.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c index 5c42fc7ddf01e11a6562d272ba7c90c906e0e312..635208947668667765e6accf9ef= 02100746c0f9a 100644 --- a/drivers/crypto/qce/dma.c +++ b/drivers/crypto/qce/dma.c @@ -11,6 +11,7 @@ =20 #include "core.h" #include "dma.h" +#include "regs-v5.h" =20 #define QCE_IGNORE_BUF_SZ (2 * QCE_BAM_BURST_SIZE) #define QCE_BAM_CMD_SGL_SIZE 128 @@ -43,6 +44,7 @@ void qce_clear_bam_transaction(struct qce_device *qce) =20 int qce_submit_cmd_desc(struct qce_device *qce) { + struct bam_desc_metadata meta =3D { .scratchpad_addr =3D qce->base_phys += REG_VERSION }; struct qce_desc_info *qce_desc =3D qce->dma.bam_txn->desc; struct qce_bam_transaction *bam_txn =3D qce->dma.bam_txn; struct dma_async_tx_descriptor *dma_desc; @@ -64,6 +66,12 @@ int qce_submit_cmd_desc(struct qce_device *qce) return -ENOMEM; } =20 + ret =3D dmaengine_desc_attach_metadata(dma_desc, &meta, 0); + if (ret) { + dma_unmap_sg(qce->dev, bam_txn->wr_sgl, bam_txn->wr_sgl_cnt, DMA_TO_DEVI= CE); + return ret; + } + qce_desc->dma_desc =3D dma_desc; cookie =3D dmaengine_submit(qce_desc->dma_desc); =20 @@ -107,7 +115,9 @@ void qce_write_dma(struct qce_device *qce, unsigned int= offset, u32 val) int devm_qce_dma_request(struct qce_device *qce) { struct qce_dma_data *dma =3D &qce->dma; + struct dma_slave_config cfg =3D { }; struct device *dev =3D qce->dev; + int ret; =20 dma->txchan =3D devm_dma_request_chan(dev, "tx"); if (IS_ERR(dma->txchan)) @@ -119,6 +129,11 @@ int devm_qce_dma_request(struct qce_device *qce) return dev_err_probe(dev, PTR_ERR(dma->rxchan), "Failed to get RX DMA channel\n"); =20 + cfg.direction =3D DMA_MEM_TO_DEV; + ret =3D dmaengine_slave_config(dma->rxchan, &cfg); + if (ret) + return ret; + dma->result_buf =3D devm_kmalloc(dev, QCE_RESULT_BUF_SZ + QCE_IGNORE_BUF_= SZ, GFP_KERNEL); if (!dma->result_buf) return -ENOMEM; --=20 2.47.3