From nobody Mon May 25 02:57:45 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 B38F84DC52C for ; Tue, 19 May 2026 13:18:12 +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=1779196694; cv=none; b=q957jiLL57+ofWFXhpS/II4T7mHi0QKfjSn4XSKnBZ2WS8BLpaHt83gOzXRnNO9eGZXZNBt8iwLpen0vNB4+3E3KocSGnw/RGt+PlQfqhzPoI4FlpLqw58TFFh599Fz8gX3771+Bkh8oPR5PBtEZkNjDTooOGkrxFtQDDJ3NgtQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779196694; c=relaxed/simple; bh=C8t0ZoGUnDPF/P+4BK1Ho5MJ1aexupcCMbMgOX1T0s4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=aX8yinipEXWV+6W07rPMOCIVRxa2FzD/rDdpEy3Rw1UEMXZvO5JZiOGyRMZFk17vkPVtu3I85q7xuA/kBKXVnl/W6d2OqKxruq4hwOzPm5QMlmUj2Okn7bCyMqPyNWF4GlnPmz58owjm8dPSLW8RVzz1fPjoobQ3b5s4cQS/osA= 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=IlKGjKmB; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=h9WAH7DY; 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="IlKGjKmB"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="h9WAH7DY" 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 64J9kv4R1257084 for ; Tue, 19 May 2026 13:18:11 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 51xURu7Zhd73Xm88jAVPEesUyLMnmj9g9fiXS+Fq4Bs=; b=IlKGjKmBMfHoP/Uw ODUVVhGKU8n0Y+jF74Y+NLjzOjTKiI/MJxOvBY5Y6DMJqO0LPbZnMuE6j1pggWqP dO8fxuBHTG80xAhKkM9ntHM0thlEng/7t75TacaEmg089ySAhp+TpxFd+G5qDIdB eCToyJWc7BMOIxqkQ+kyIfJ/He77N9yn6nuEGg7+cugB/4Cu7scTpUjgSI+h2sN0 7oDBHU6dN/Z6+yW5OSwti+qVFwLe2mzDU0NXAKuHcrZOSK8OpoCMcSFc1X3Pytov YU0+TwEYY+ExDV39uyYUHNo1/sluJeBm+BaToNP4EFoSBg5pINvvf5RBFf8iyaXR MGyqbg== Received: from mail-vk1-f197.google.com (mail-vk1-f197.google.com [209.85.221.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4e8nhj8s1y-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 19 May 2026 13:18:11 +0000 (GMT) Received: by mail-vk1-f197.google.com with SMTP id 71dfb90a1353d-5756024c77eso7900632e0c.2 for ; Tue, 19 May 2026 06:18:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779196690; x=1779801490; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=51xURu7Zhd73Xm88jAVPEesUyLMnmj9g9fiXS+Fq4Bs=; b=h9WAH7DYAS+hxGWp9vNSgB+QPUUIJDutoc60gdjDqL9mzQKXSy7uuJAdZH+/PPgXOQ zRqpPloWevITDVb17xykMenw8xb5Qj0iVQUrmlRVyYHnzLwEfJ/doBYIhXTLegioZz9B ws9GHOadx3vtJhwRzt3BcoAE0+2QkDJ/gu6pkB3uaY1oe/A3WW4t5nMWlJKeGrEuG3eA jnTqTPwMoqfyz5Nx3Nj6nNOrrCFdUUu+s5erldKClWPUMK1DsjJ7IRqaof9cyAVbKzKn WWTdqu7y4H67FN7IHL4Z/hik5TNOiacbW+90ryM5GrO04TmD5jVnpKwEA4twZTT/x5KJ kCsw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779196690; x=1779801490; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=51xURu7Zhd73Xm88jAVPEesUyLMnmj9g9fiXS+Fq4Bs=; b=LVDk8dm3kSfmmUr46kL0y/ZxpsgNnIZ2a9wGmwagtfxoY+As2UaX07rHR0/OmPhhB5 HIfz5lp7SmpoyZ6SH+lOVSyCypTNo6poMI8Wv9yHBs0MKZwFUCqgESyw8vfZBJhkZ4vz Zy8re+3thk4kcChiaNknLlkWpeJB/DXupI+saXrWBnWjPmsFORhUGKXZ3bvf6FYFkCjK 0PANhVwwrhrIJbcjRtPsYJtbX6dJnLAYT+Kr4Fmdp7uHP68mW7ogWALQMo5BbmIFKE8z bq6/TX2e8pnktl5Mv2oXengQdRJVcwnr+Fr5WfzJ7fscVMoq2GraK89LyJdxobHySeDz F0jg== X-Forwarded-Encrypted: i=1; AFNElJ/4AqXW1TbrmBQbLpo75ss+o6izIGZ0M9ecIXxp8UexAyXgWik7bonn4ct3Wy4fJJ+6TbrB/3k2dGbFKvo=@vger.kernel.org X-Gm-Message-State: AOJu0Yy50JB1WH1XBoojc2JRg7B+TTt9Lnf/WGGfdJyyXQccDcKBwRE8 3oVa/SUGBLYjPcrsI2VcShaBVXtx3cF/G9JLNTpy/86Y7TaMDdnX8o+J7lApS6i1Sucm2MYXWXm hxGBJm+mXBR/+tOPIMJ9fErTGKJWk9a1ao7w1fZihjbsppQRiFFmVawWrGlTqa11MSW4= X-Gm-Gg: Acq92OE+oxMhoEdV3GJ+/CG9Cw3VxRhnnXbr5szpHcpM8+SmyrEF9eEY1683pNhuTDP G5b7nOmcw63dVYjmHUG06bfw3mCA5cNTQy/D83Z/CRWTUCJY+Rve6UGq2Bq8WWP8DyN604dmynH HktnNi6oACAKdx7maxbkaeK52iKtPGlJWvTsgqHV2dP2x0LIAPYtcF2uDwYDY+HXtK4BPDsWyh5 aj8AQeWoY8J/9lxoOarqd+VABu0zTcVsFhb5DWoXZ/wf39qaCpSas6xthFE653NgCGQ0CQkuZte rlWSwfIBZ158m07lv341+heHaWmaR7cyPahJZbX7Sc46bglWyjIHgqw8YH/InT+R2ot1Y3JX3py +65tOHr/7ptKpbSpW0Npn41wbPVq9To2uUaHt6h9nhKn9HdxW5ww= X-Received: by 2002:a05:6122:32cc:b0:575:22f2:a1f with SMTP id 71dfb90a1353d-5760be7221fmr11587023e0c.4.1779196690534; Tue, 19 May 2026 06:18:10 -0700 (PDT) X-Received: by 2002:a05:6122:32cc:b0:575:22f2:a1f with SMTP id 71dfb90a1353d-5760be7221fmr11586982e0c.4.1779196690128; Tue, 19 May 2026 06:18:10 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:3fb6:74e3:3c25:ba2f]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48febe7dd22sm143969195e9.7.2026.05.19.06.18.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 May 2026 06:18:09 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 19 May 2026 15:17:43 +0200 Subject: [PATCH v17 01/14] dmaengine: constify struct dma_descriptor_metadata_ops Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260519-qcom-qce-cmd-descr-v17-1-53a595414b79@oss.qualcomm.com> References: <20260519-qcom-qce-cmd-descr-v17-0-53a595414b79@oss.qualcomm.com> In-Reply-To: <20260519-qcom-qce-cmd-descr-v17-0-53a595414b79@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 , Andy Gross , Neil Armstrong Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2295; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=C8t0ZoGUnDPF/P+4BK1Ho5MJ1aexupcCMbMgOX1T0s4=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqDGMBpRPcmMP8RCpXvdvvCjt8GuMRMYumkun8t rBFMDYop+iJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCagxjAQAKCRAFnS7L/zaE w08wD/9JUWnI4khSPNi63kU4tLcUcH8kzPNM/MzRtKHS25Z//x35eZUftdirhcdA6BixIB31+UQ 0QvUons1PUJBz3EV9NzbR9pl/z0opC+qk7fzX9Dtr4jSgZlbj3/EZtGYeZO+SyHezEqkaGQmKKh P8qfJUtTAwPjbWyebjRQ9lLcRO9UL98Sev1cO66qbRdYFFuyeJQq3D1ldpmJhpRqSj35BO3DsZf Bbw4cXm9zKOdaJbnpsEWQ2H2VQs0nRyH9T71zwlrScypudaEs/qQZQBn2oyM64DHIvcfO9NzlnH r3kcVM7s/CiMg+Yr1YUMRALxKMG2yjChxOEM/lQ28bZQYf8dP5l2Lasv5DDdBqDgTOgYBftB2Dz NqhUkNTZlu31dqmnNRxr5/L+LDHkIJfR/03ChlXl8ZdPxcjRaOmk1AU0ksHm2APNkALgt9ATTO1 7Q/cY+TnJIFmrEjh6GJ+NgAhrgpri00zxMlnG3oSEPm3WCVSJaNcQ3fvutRPTQZdSySsdln+rl6 djDpLxUCLRG1ejkyvefNrTvkWx2cAE3SVla35UDZrAx7VLO1HjGjdqNz4bVCHI7fxnh5GZBKXrz dtkf6Rtgk2D34ZZatbq3bPp/HOOUeRs/mTi90WLaRsHu60dhi+HvcrrWLB3t0fTHi/aY6/Ay7ju LSjtVkiFUANsmmQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: dziDp6RNbi18-2y2xZrrMua8BfIqTCpd X-Proofpoint-ORIG-GUID: dziDp6RNbi18-2y2xZrrMua8BfIqTCpd X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTE5MDEzMSBTYWx0ZWRfXzp8ISawte4p3 6QOR3ni85HpJphUBf4KskR7e9g/3b0KAHOPK2o4/79k+/vSUsWVPgAlFsxSEz0C+82ANiRYgWfJ QUXxvFrtYC08skwcZtAX5H457+473F+ORb7DL2p8uM66lJVLC/vuq2weFtjlAhY9Cl/q51GLUTf rrFLP2oIDRNzAwdlVgsR+oXUI1mB+EnPhZw+XtMTs36GqLWB5LOpJySAQHp3J8eVSUR0XGsqBF/ mjgUdKH9+7g+hK+Wb1x7f0fI9ulJBQA2m5X7uLiE+Rgu/q69rZlqus4B0u/8HRAeb3ki6VLXVie nCAEjkjUFkDRhBnBLvF3q4MdjRc1hgA1DkGN/xFXUZhEbw8k+9ErfWYGJShihe7ma+7Fm7eQCW2 7A7yPdQAS4A6B4I/SnpVrTskpi39uXq/MJXbtinXBdLmOU6PDV1mjdOSstsLAiXI305YhRBxT62 ymTCSY9b+1GhxRAkZhQ== X-Authority-Analysis: v=2.4 cv=ToTWQjXh c=1 sm=1 tr=0 ts=6a0c6313 cx=c_pps a=JIY1xp/sjQ9K5JH4t62bdg==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=XeVHrwws4l7kqE2Ex6IA:9 a=QEXdDO2ut3YA:10 a=tNoRWFLymzeba-QzToBc:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-19_03,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 adultscore=0 phishscore=0 impostorscore=0 spamscore=0 clxscore=1015 suspectscore=0 malwarescore=0 bulkscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605190131 There's no reason for the instances of this struct to be modifiable. Constify the pointer in struct dma_async_tx_descriptor and all drivers currently using it. Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski --- drivers/dma/ti/k3-udma.c | 2 +- drivers/dma/xilinx/xilinx_dma.c | 2 +- include/linux/dmaengine.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/dma/ti/k3-udma.c b/drivers/dma/ti/k3-udma.c index c964ebfcf3b68d86e4bbc9b62bad2212f0ce3ee9..8a2f235b669aaf084a6f7b3e6b2= 3d06b04768608 100644 --- a/drivers/dma/ti/k3-udma.c +++ b/drivers/dma/ti/k3-udma.c @@ -3408,7 +3408,7 @@ static int udma_set_metadata_len(struct dma_async_tx_= descriptor *desc, return 0; } =20 -static struct dma_descriptor_metadata_ops metadata_ops =3D { +static const struct dma_descriptor_metadata_ops metadata_ops =3D { .attach =3D udma_attach_metadata, .get_ptr =3D udma_get_metadata_ptr, .set_len =3D udma_set_metadata_len, diff --git a/drivers/dma/xilinx/xilinx_dma.c b/drivers/dma/xilinx/xilinx_dm= a.c index 404235c1735384635597e88edc25c67c7d250647..165b11a7c776abc6a8d66d631e1= 9da669644577d 100644 --- a/drivers/dma/xilinx/xilinx_dma.c +++ b/drivers/dma/xilinx/xilinx_dma.c @@ -653,7 +653,7 @@ static void *xilinx_dma_get_metadata_ptr(struct dma_asy= nc_tx_descriptor *tx, return seg->hw.app; } =20 -static struct dma_descriptor_metadata_ops xilinx_dma_metadata_ops =3D { +static const struct dma_descriptor_metadata_ops xilinx_dma_metadata_ops = =3D { .get_ptr =3D xilinx_dma_get_metadata_ptr, }; =20 diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h index b3d251c9734e95e1b75cf6763d4d2c3a1c6a9910..5244edb90e7e7510bf4460b6a74= ee2a7f91c1ccc 100644 --- a/include/linux/dmaengine.h +++ b/include/linux/dmaengine.h @@ -623,7 +623,7 @@ struct dma_async_tx_descriptor { void *callback_param; struct dmaengine_unmap_data *unmap; enum dma_desc_metadata_mode desc_metadata_mode; - struct dma_descriptor_metadata_ops *metadata_ops; + const struct dma_descriptor_metadata_ops *metadata_ops; #ifdef CONFIG_ASYNC_TX_ENABLE_CHANNEL_SWITCH struct dma_async_tx_descriptor *next; struct dma_async_tx_descriptor *parent; --=20 2.47.3 From nobody Mon May 25 02:57:45 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 B2FE34DC529 for ; Tue, 19 May 2026 13:18:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779196697; cv=none; b=RafRRet82X53kHQUi8WL38cRGbQ+zCcb0rvUqEEkywmhRENyTzr+wcmHS8lEyPoRmQykkmgspOQGAROzq8NHcjlBc0fHNIFnMYb5pxukkksNlh0Aj184cRA1/IZG151kr9mYjTIWOjtPB2BPjtpcyAD3n3QqFQvaHqUZCiYnLaU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779196697; c=relaxed/simple; bh=dAO3Z255k2yGXbKKHljWmfMX0+7AVaeyaum6kFL1QWE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=DuJaHcGwz3NutxPj5v4maqGA0n311/ZN5e6u/6Facn1IYhMwFxLPaUjP7fD/dXGb9rnq9vhFeCxk21CxiWlQ5cpk/LLRJbi4oxkMa2pCEddqVuzj24XOmGs/kyZrTWTGlbI5R7QJyTuOYK6Zh4O5yD3orn7AuTO7IXZNwCJlHFI= 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=lDAipbQp; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=KITRA1jr; 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="lDAipbQp"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="KITRA1jr" 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 64J8EGSb3612448 for ; Tue, 19 May 2026 13:18:14 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 94MEU9aOFWh3av1FWToR/uMqLJdnwEcp9tKREkNbm2E=; b=lDAipbQpmkAng+Eu KkGXJ/8nrstxmlovaUnE02drCwjr11UJW4zWjPbS/ZeLkhh5YN1HqmxtU+MeeJ6Q NiU/SAOXBkc74TOzwmmQQXrN+jVJ9tnOvx8SXT9JxwNQeIYESJlISWfuYRlaR4TP Cl6j7gAuZW7IMVS3bT6lc7GujXKg8eaorbRXJ8JJU4zW1N4IIw6BXHrhfrP6bITh /KUfAdzh3gb0GNrhv89X4Bsfhm7OLLcLgSph4hCo0pzjrDpbMZUVxAvOCKSP9mh3 3IyPODgPDkWX1eZzn2GXJC6FA4lBAjOJflVTPDdiCBk8exg6Lx8J4dzmq+4NHfHa Ay+2Ww== Received: from mail-oo1-f72.google.com (mail-oo1-f72.google.com [209.85.161.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4e8m64s788-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 19 May 2026 13:18:14 +0000 (GMT) Received: by mail-oo1-f72.google.com with SMTP id 006d021491bc7-695aebf3cc7so4061656eaf.0 for ; Tue, 19 May 2026 06:18:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779196694; x=1779801494; 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=94MEU9aOFWh3av1FWToR/uMqLJdnwEcp9tKREkNbm2E=; b=KITRA1jrjWb2dUr60oW8aY5nVDpRZlAKSeDCsQcNxbezFB2foDk86yhkwH58YuLgof dnS+AJWBNZ1OxHoxe99zn6x+yMxgHGAhXaf25896CswFN/dSFWg3NWpuuJBCh3spafng JKRzt2bqh/mQzVUnqdPj/SuIZcgvaPygZxYHo3Omr1Yi5XrJahlL/EkN097o9U2w13tR o7LxyYKIIzgwPj5oO+0pU9t4s1meN9WG+HxZfeq00psEFF1NYy8Ezg2pgDEjAHTZApyy MrodrBh1+WPMlKbab4zRh6uIOiLyOW2uRxdd1qLYNnq5o1wA9k+xwbSsTHFOXjRFjSms puDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779196694; x=1779801494; 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=94MEU9aOFWh3av1FWToR/uMqLJdnwEcp9tKREkNbm2E=; b=rDNrMvIWZpFvFi3vXeuHhlDHEF186rAzBtEr9sjnAIzbUiRP0Bn18HkLfSzyx5uGL8 U9jPUphxvPT0QzoDjYAWrGtqnvOwMIAWQP4eaQsVX3U1Zg6rcEJS3GkJMLEAFpzyA70i C81Alt9EGUV7sk3mkEnenaTBePHwf2FXN4kg/fGOyNiGszlZev/rPvLD7GhuKJsaQgfO faM8zfEbpVo6SsdULWyxm4BHTZ+qcR/AKLQjKZyS5WOGDfoqut9DBty1faKyJSrmHaN4 iQeYUMR8vum1kjKVN8x7tSTWMdT0JjPL+mBfsimokMTi5gD2c/tSb8xaATeCpSzDTQrj u3ug== X-Forwarded-Encrypted: i=1; AFNElJ8lREWCgAm5UP+d1nbjQA3Rsr1jMtFO5Mt2spqcIE88JJVNuknUGHdHC39I2uh9tn5PulvC+S1YZ2tjHLM=@vger.kernel.org X-Gm-Message-State: AOJu0YxS8ZytHMguyjyiLtMlj4/+ENetjtEXzUIoxvcNrMjgvK4r79U+ pQj+bMgyGnuGyvQKGV3Wf+MPcT9mehciel4MNZvSZeL6IGRMPm4XjmHJHuUdw967m+3Nf09CMta QQgEJn3ZvgVHmSfNpdwfzaWmaLB+ZeJTTXl5lVr1caLyMHFhhNrarDC3Z+aHKGxnkCHQ= X-Gm-Gg: Acq92OER0gfgxt3ZvQM8udDwllWtXeSB9hbV5E135hGxFjqpMLdIiB6QMKEmPWzpGYb Xn2ULC3uTd6qSUQKgRfonRIUfC2K0nxHk1uXJBPWpzmumXxvWH1Q6ysWppR0cB2yX3PoQez5FX5 DKwkIHUQ+qfoAGjWS7el419cycCj9n+xA37Pa5/MK2HSpvuDcDRPg0YA6/XBeQtZW9nvmpOciPJ NhtLwndNjvtCJ417AgHLQ/pRiBCYRM3OHAvYXxFmdlL2dXWJH/qUkABB3nH42EHv96Nv71oLyDE FuR+WTPaCLhBvFI35krDAADtghfz9UvwpCSfcI8J928xPHWWYb/agTrOOAindpQ7KpCvoi1LjWd 8GkbuU6yHbRJ54rouWoKUsczW+wQFxFEsneRPKLLZwX30rDFPxGk= X-Received: by 2002:a4a:ec43:0:b0:69c:5d2b:4079 with SMTP id 006d021491bc7-69c942a5fcdmr10530446eaf.6.1779196693237; Tue, 19 May 2026 06:18:13 -0700 (PDT) X-Received: by 2002:a4a:ec43:0:b0:69c:5d2b:4079 with SMTP id 006d021491bc7-69c942a5fcdmr10530424eaf.6.1779196692725; Tue, 19 May 2026 06:18:12 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:3fb6:74e3:3c25:ba2f]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48febe7dd22sm143969195e9.7.2026.05.19.06.18.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 May 2026 06:18:11 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 19 May 2026 15:17:44 +0200 Subject: [PATCH v17 02/14] dmaengine: qcom: bam_dma: free interrupt before the clock in error path Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260519-qcom-qce-cmd-descr-v17-2-53a595414b79@oss.qualcomm.com> References: <20260519-qcom-qce-cmd-descr-v17-0-53a595414b79@oss.qualcomm.com> In-Reply-To: <20260519-qcom-qce-cmd-descr-v17-0-53a595414b79@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 , Andy Gross , Neil Armstrong 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=2456; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=dAO3Z255k2yGXbKKHljWmfMX0+7AVaeyaum6kFL1QWE=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqDGMCgf4Vg3jkO6YzGQwECnhi4cg2IDvJ0MkJA qlIVBYqVvyJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCagxjAgAKCRAFnS7L/zaE wxwyEACRCzcpf1dcbSVhnrdOK6MTf2WN4sYADdEAPSBg7UExvO/UAPlKbl4qWSCdbqI7Sp30dam 1lBBbBw7SujcVDWQOamidvxiW+AGaNdHUcEO95FhuU78gpd7ByKTUz9+xTJJBisemx1svtYeCiM /UamzNbkqavi9AYibWEmWiqLV6NBsyF4Wcj8QSFctG6xl4TXXIl3tU/YElUXqNDEAedNpITQxaq BLXyS2cNPubCFvc8IVp50+o1k1MQB49qODiHF7laucTjgmGc2h2PrGBJWY/Sac+ZdEIipgh3DpO Te/YSMpogxRkvH0RnfWBJTC21Zt0/8OytQh/sOit4gptvQPsk9dEw6sMp63zV5ugFRHO1HE1kBc spfWrUXezLFOhFYBDAQe/N/nva0FOAPCQSpSjXjd8iIogCHEvZTa2VeWsYd4ZTrMDjF71ubzULb QpZ21NnUvQdw8tuB1P/TMzsnSYAOmLlQakLkdfbZwgPtLzn390zJOHP1c0JQp1zrkLZCCpa1utL zm96A7yhlH/3WgAxb6tAPw0nnTnT63U3tCAuh3Oq6BCq1orm5VsxFbJq+wiI7Tt9ypKCngVCJyQ pS12KthdJkXwzGsHqLd5FaTC6o2PhErY/dqeq7lFpreydBX8FFGYQ32CWybUlG9PFI1hqOSwvxg K59ziLTDl0U8l5A== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTE5MDEzMSBTYWx0ZWRfX4Ly7THMD9lbr MaR/U+u/qeTIkGbbvAjYHD4ceNy/juqYsjx5LKnPHxc0J1Z2L8AWmWMsDFhULW5lPBw83A2GNs9 cR9EFTelS5DZKgR4m6EaM5TlYoW8B3DTiajTlTBLPjtJCGE0M1rfG7/pfgvN6TGqWZy5hCyCoQu Ql+1as2mqA7uwsMgyIdEb2aCIPQ3uQMcsN/RbN2fkFosRKR8FYtev7+da6/XVuRRAhznkfZNBuk Yc/VLdqskjiNV0gulhj3lAMLRLsGeFIrgpj/ztB1KZvHYIx+6yvXrt+KMTid/p8sioPZuP3VYZP fGeqNjrkEb3Cgs4sUqjqPtlHS1oL4oIYzTnBy9lkVzu/8Ajc8TEWtM/8Qh+WUW/PBE+vKxROCT4 LSdslHz6GFCASdm4k0R2UM7xWjdcW0ZXOJdvlpEnZPCXe1WLwvt1drFX/hTGHQ/4cy7d0LStSGe j0dLC0/ObJHtRRFoMew== X-Proofpoint-GUID: KT6rqrf580r1hn-qr_x7kgYUDb43GmJ4 X-Proofpoint-ORIG-GUID: KT6rqrf580r1hn-qr_x7kgYUDb43GmJ4 X-Authority-Analysis: v=2.4 cv=J8aaKgnS c=1 sm=1 tr=0 ts=6a0c6316 cx=c_pps a=wURt19dY5n+H4uQbQt9s7g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=c92rfblmAAAA:8 a=EUspDBNiAAAA:8 a=n8zAjjMAgf0wD31B80cA:9 a=QEXdDO2ut3YA:10 a=-UhsvdU3ccFDOXFxFb4l:22 a=GvGzcOZaWPEFPQC_NcjD:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-19_03,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 phishscore=0 impostorscore=0 malwarescore=0 adultscore=0 spamscore=0 priorityscore=1501 suspectscore=0 bulkscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605190131 The BAM interrupt is requested with a devres helper and so on error it's freed after probe() returns. We disable the clock before freeing or masking it so it may still fire and we may end up reading BAM registers with clock disabled. Stop using devres for interrupts as we free it in remove() manually anyway. Add an appropriate label and free the interrupt before disabling the clock in error path. Fixes: e7c0fe2a5c84 ("dmaengine: add Qualcomm BAM dma driver") Closes: https://sashiko.dev/#/patchset/20260427-qcom-qce-cmd-descr-v16-0-94= 5fd1cafbbc%40oss.qualcomm.com?part=3D2 Signed-off-by: Bartosz Golaszewski --- drivers/dma/qcom/bam_dma.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c index 19116295f8325767a0d97a7848077885b118241c..cea44833201d641ce6a657840d3= 54abb443501b5 100644 --- a/drivers/dma/qcom/bam_dma.c +++ b/drivers/dma/qcom/bam_dma.c @@ -1302,8 +1302,7 @@ static int bam_dma_probe(struct platform_device *pdev) for (i =3D 0; i < bdev->num_channels; i++) bam_channel_init(bdev, &bdev->channels[i], i); =20 - ret =3D devm_request_irq(bdev->dev, bdev->irq, bam_dma_irq, - IRQF_TRIGGER_HIGH, "bam_dma", bdev); + ret =3D request_irq(bdev->irq, bam_dma_irq, IRQF_TRIGGER_HIGH, "bam_dma",= bdev); if (ret) goto err_bam_channel_exit; =20 @@ -1336,7 +1335,7 @@ static int bam_dma_probe(struct platform_device *pdev) ret =3D dma_async_device_register(&bdev->common); if (ret) { dev_err(bdev->dev, "failed to register dma async device\n"); - goto err_bam_channel_exit; + goto err_free_irq; } =20 ret =3D of_dma_controller_register(pdev->dev.of_node, bam_dma_xlate, @@ -1355,6 +1354,8 @@ static int bam_dma_probe(struct platform_device *pdev) =20 err_unregister_dma: dma_async_device_unregister(&bdev->common); +err_free_irq: + free_irq(bdev->irq, bdev); err_bam_channel_exit: for (i =3D 0; i < bdev->num_channels; i++) tasklet_kill(&bdev->channels[i].vc.task); @@ -1379,7 +1380,7 @@ static void bam_dma_remove(struct platform_device *pd= ev) /* mask all interrupts for this execution environment */ writel_relaxed(0, bam_addr(bdev, 0, BAM_IRQ_SRCS_MSK_EE)); =20 - devm_free_irq(bdev->dev, bdev->irq, bdev); + free_irq(bdev->irq, bdev); =20 for (i =3D 0; i < bdev->num_channels; i++) { bam_dma_terminate_all(&bdev->channels[i].vc.chan); --=20 2.47.3 From nobody Mon May 25 02:57:45 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 0D7284EA385 for ; Tue, 19 May 2026 13:18:17 +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=1779196700; cv=none; b=EtDL0bdt5VKNd5y5W/AWZtximdJVOBC0hs2Gvz3PH33pE+1v3aVuWOWhNo/DBo02GLqdmLswW4KPpu4CfSRFitSMgp26sJz7ut5mKdf2p2VIQ+Ys9UpGPtBm9uWXqlFUittoTQyzb723u9TLoQqIhZ5gRqk9KOLFzDyrfZbmC4o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779196700; c=relaxed/simple; bh=3UZYwiIbKBd4buCQOF+dimTZzhwjtTmU9xpQcGXwfFw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=RQU7wV0yeuv7xT2ygG/WEJc3OPND3GuRdCyMZKJVlFt1SQIvMl+0CMQgR8VCuqTq6L3vGx4awvMe6e/aybIwiKGdaaBVMVSByjVOGcH7cIoCGZDmdrz2xZn+SGdzVX6zTYCl76D+KTUXO8oZRnXm7ZrXdWY9wvt5m3jFDgNScAM= 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=dRARRmyq; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=UojBztO0; 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="dRARRmyq"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="UojBztO0" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64J7lXCX1146406 for ; Tue, 19 May 2026 13:18:17 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= zTfz7NVKSYasiaQ+Qj6RScTytUGsa7bdJ2iYVLGLoTA=; b=dRARRmyqf+rotZXY 9sM/CsoOGiUY0r4VUi2P1eYEdw//lUpn/rRzDhmv/AwSK9NYtFcQ5rDp0ti/JZIX ZYfsrNkW8i/eBC/w3DUH/KcpqvR5TfI6ohvRbzSjzeRAgfoj1KLqL0y1FM7IG6AF 87ORwWrwYimG4tV+Or4M9VcMkjE004J/ZM/ux0yspFbk6ONOjI0Mv9+uKJ3NqpCo M69pFPRmmHqadKaT1AcmNxdQ6TTXL2lXVcMV0oJec/bQuIBz6wDJa6EDk7I1s/Is FRTTCQpJSbRXLlF8WG8u6E1tDtWALZIQHiu3tt6gaEAw5+2pShS8rzS0keLxXLRU fo1IzQ== 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 4e8e7ejmxs-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 19 May 2026 13:18:17 +0000 (GMT) Received: by mail-vk1-f199.google.com with SMTP id 71dfb90a1353d-575c242f1efso9111356e0c.1 for ; Tue, 19 May 2026 06:18:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779196696; x=1779801496; 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=zTfz7NVKSYasiaQ+Qj6RScTytUGsa7bdJ2iYVLGLoTA=; b=UojBztO02L6LsCoDT6kjYVTroQlbIWlrmJrJNKJu7NfW/CxdbITHFPhXigqwuni6WA ah7aV33VC/ev5NHrGnoqW+yxwRjSKfnQPKd+mryXQZxRtiZbGrC7AYCCwCyYXuEUBL4i ijHEVI4xmeoSWuRlLGGevR+n9IQRDi9/+AOAZOZyPVVhBOiac0TK3dGn+YEF81+G4zKL +dWvI4/SPRmm1nU15LF3SgibtN+stU1T5K9f3PlovbvemGyTELRXRyMoeOHWIS8GIVy7 sX4A5k5EarQHp36OzZtiTPNaPxQ3uNbHmspv8omjC1lcntabZU00TZuY0J1C8mhc/AtN Y/7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779196696; x=1779801496; 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=zTfz7NVKSYasiaQ+Qj6RScTytUGsa7bdJ2iYVLGLoTA=; b=NXyiZz8dMikOs14KekLzt/cZPzR1zEdle/LaYQhci+m7gftp3lKQBQcyqtMosuZqn+ lqLB9po1ueNJbp1c7lP79hOcAvzqC9/Zztm7JVjM7gBhXe+ic48Qm3WVDKRls3PGayuT gqRS8shxiYuEZdbSCep9cDu6Q+Ah8QoXa2pncqc8769pLJd5Zu96Y2dehVsC/V4CfQlN 4MQQMOqnOciBlrHvAB4rAdiecTDO64t9cENw3I8fptkHSBx+lCudKMpZE8b7TZqWPpcl lyXQF6eZ6Wod51TfCoaUmytGUDw7iwch0MtSmm7bmaNpYtyj6hyUFgkCRqqdLgL3yWgt h9XA== X-Forwarded-Encrypted: i=1; AFNElJ/+ylaL1mbAL4lYvWxnYfHFoADYClRGcVs7LRvKHASpxLVZ35aay704nuxryzTNcS5o8yOA0gg8Zrz0n0E=@vger.kernel.org X-Gm-Message-State: AOJu0Ywmrotb14xnjZVeiaZC3lmuyHeAHCsNHL8Ivire3Fr8woDhVYpJ d4l/5zUdtAg2oKwRMgAnh/T/k8tXZxB0SfJHKEw1XCwYmmn1uZ3r2hDz4TSwOnriMQskwdX/aSW N7Cgse76f38ZXrV3uphre8FzIXc3i2k+06UEkrIIWYMUURgUJ91vA/x8mPVgxkE/ijfg= X-Gm-Gg: Acq92OGFuWLpa5pOhpyKJLJU4ZlVxrbE0xPGkW9xQ64i+4oBFezw7bGqiBbwBBkgoWt t1btgwW/AJkdKNQ5/XSGn9obi/RI5HEEn72LHQ8PHzvJIwxt3EJJCKzR/jXssOO/4Gq3uwF039I Cvoo3vlMC3Iyym59/j2oe/90Qn+Lb3dJqgfHjVuLGiK6f9EwqNslpy0mH6E3FgMyITeriehgzoz 7KwyKccASlTtmxySinXCoJu53MmwE89lbRZuw2X9tEDcCVaXA6ycc2297X2/WPUWINtbXLNhnD6 CV3QUH4iayB8yFANPU2wsZbWpDzvgGc1UL1u2OinNHb7WXx+SJ5L1grY0j4AR1gnrv5JE5A3Uff naDYM53FKQd+t0lmOSVzv8ekFv3NvGvKtw0Q2F+TYFayroRDgdt4= X-Received: by 2002:a05:6122:8605:b0:56c:f222:7d7e with SMTP id 71dfb90a1353d-575f589f027mr7985222e0c.10.1779196695737; Tue, 19 May 2026 06:18:15 -0700 (PDT) X-Received: by 2002:a05:6122:8605:b0:56c:f222:7d7e with SMTP id 71dfb90a1353d-575f589f027mr7985186e0c.10.1779196694979; Tue, 19 May 2026 06:18:14 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:3fb6:74e3:3c25:ba2f]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48febe7dd22sm143969195e9.7.2026.05.19.06.18.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 May 2026 06:18:14 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 19 May 2026 15:17:45 +0200 Subject: [PATCH v17 03/14] dmaengine: qcom: bam_dma: convert tasklet to a BH workqueue Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260519-qcom-qce-cmd-descr-v17-3-53a595414b79@oss.qualcomm.com> References: <20260519-qcom-qce-cmd-descr-v17-0-53a595414b79@oss.qualcomm.com> In-Reply-To: <20260519-qcom-qce-cmd-descr-v17-0-53a595414b79@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 , Andy Gross , Neil Armstrong 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=3UZYwiIbKBd4buCQOF+dimTZzhwjtTmU9xpQcGXwfFw=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqDGMD04sAXfDjG9QFVOGes3j+ovzfhoeqdRGcx UauntlsFLOJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCagxjAwAKCRAFnS7L/zaE w2xRD/wMKEqcgRKYtiGqHi0TwR4lCcBVEVXesiV3XMpRVecp/HQ+esqoGRTmsBO2szp09SEH+oS L8gH+fnLzfaCxYPG6LHorwjF720COOI/9ZrU3CBZtFKFgS8aIY9W+q7FZrb9w5+5SI2d57QiUR5 fk/FEURVEokd622IRC9s1Rla6iuRcnYEV9uU6VdNmlpa/sfffP6bURg/yuXaRZe2s8eBDdeFZo0 vTUZb81UDvgrOTXG/lrA0oe6n0IQ1zt4Pvotn685SDfZtto7k/MZwNjD3A8He0HgYFD9cmfozj8 kIObvyKylzIzoQGGlRHcrFhU/1nRHFHAmyLFpA3CvwGtC5y6hTBZSyVnBbXz3Dp3+2DcX3iEE+s /x3U8bkKcfNSdlBu8lb8BwvLRlsaosSFAEy/R2jNmyLxzqRCbcHuhwAZZ4DvJyhfccmhZiYjuKs mx1w0r+QBu3FjUIMIH1Lcp/AE8D7sffW+Rpj8qZPVwpAtGVh/fhCxdJ88gNoAfbkVxp3xfR/UEA 44ibbPPhPpVMhO3d1+MVO6gDprIQfRPV4ot/LHp5MV2c57PGZuuv+CcBX36Acnln8j+d4LmLzV7 FIURrKdwRMS7ZtnCl6/CQwbkviXmw/v3uUcN1uoyrEtx5VNMI94w4sCQ0CFyGq2A4qXNv0g67/I LW+Je6Ufzre8z9Q== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=Rt316imK c=1 sm=1 tr=0 ts=6a0c6319 cx=c_pps a=+D9SDfe9YZWTjADjLiQY5g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS: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-ORIG-GUID: O-uemMlefIyOLrJ_FaVZAhvyEiozFeoh X-Proofpoint-GUID: O-uemMlefIyOLrJ_FaVZAhvyEiozFeoh X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTE5MDEzMSBTYWx0ZWRfX80DelRGjpP26 7qfYyibSna/3KPn7TfuOg4wZgxc7VEaLjosutWg9S8rCalx+mJbeyH+5YXBIycc+jWx4Lnj+9Up 1vj87StC9eVm4b3uPF1usUvwfJ93821URo92T0OeHR2UBoBVdJmG+yWPyAH3Y9BpcE1MZ6R6Enr Z2p+SuQcRRezmbSOP9lv01j5GtizgmsZSxAhftSe4c0jiq6UPEdTkZqHvKEbKZUxHXgJhOzATrt NymaAATEam3RynQEVURKIcWkgnNmbVhLhLWUuCHVzQr726ukTbMsamfWOkE8B0BWmcHuQyX8k0K bt+sdQEkMOc4cZGQl64aaFcKtgBNENBE2ENGAnQB8+H52w39QZng4xl8+wT2ngpm1O8rLISmokl pDCTG02RYKuPIvtQcEpy0uvKvL+BE53fDA7MINk3OCUVvsBugj3ERr8YWxaX+qK7ApOX5GOKCdt INfcLCoJuIuFs0OALlQ== 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-05-19_03,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 phishscore=0 spamscore=0 impostorscore=0 lowpriorityscore=0 clxscore=1015 suspectscore=0 adultscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605190131 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 cea44833201d641ce6a657840d354abb443501b5..e2f16efcdb55f7465950fb81e22= acb451e63ba0c 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 */ @@ -1359,8 +1359,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 @@ -1394,7 +1394,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 May 25 02:57:45 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 DBAAB4E3766 for ; Tue, 19 May 2026 13:18:18 +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=1779196701; cv=none; b=DNlp4I4WSP14iLYpN9pC0yRFOkfGkCMn0HBagjH+c/73cNbAcG1TnKMNxmWi0sDfyuIrXMkTLD2s9uDuqotuJzXzZ0MfB62JTu4bedN68QVT2ZTyV80pq7s8d/bzcCUuz7EI1KJS21MxKiGIB1pUKdVVm5Q/0+7D4ua03qCrdUY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779196701; c=relaxed/simple; bh=5ySbveNo6oDwy2vXydzQEmUXr+FBRT4cQLXNAfqV6GM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=WWjyb2uEexfCFtX8R6YrG6KVQ9Qg0r9gxBfagzhVu42yHWZ13MaBsnnlo6RH5dIfO1wkUC+KGjbxJrHLx97DF4GknTK3Kh5zDEVK7KHnEFm85QY6HWhiird9/ILAY5XmMwyJOtZ91bMDvfeE6ppVvBfH8BsM+r4jS4JTBGWAnS0= 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=LEApzKG3; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=YIsEZdk5; 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="LEApzKG3"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="YIsEZdk5" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64J9v4GM1054774 for ; Tue, 19 May 2026 13:18:18 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= KTxY6bvuwok78BPFikR8TBxQkNppH5BYWsbiOq+w0t0=; b=LEApzKG3fHIHA4H2 aGzFbA+OHXQXGDkdrkGvUwVe2233HHhJ29vndUFGXTOV5N7uxvxLnn/8n6v9Q/fu Zz+fVh/UfLRHGf6R5qiodZJ7cbpEfCjmTkkjP46ODYK+FM4uCn1P1if7TF9BDGnh E5pJOAfF9PUn3ALEJFPVP99ZFhqKiJ+7k0gho5YdboV3RhaYhKo3mJlN6hX0RVcm or0Kxurfo0fGrKzs6m40npLkebXHeSRDfmDbEAiccrGmkhYN6awYgwurqKU7LqV0 LfE5iqHddZNCZH/SEGfE3GdfsV1HZDWmbXGKYfh6rzkWBM2FMAIR6+jxk/EFPzXD g6sPjA== 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 4e8nparrhw-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 19 May 2026 13:18:17 +0000 (GMT) Received: by mail-ua1-f70.google.com with SMTP id a1e0cc1a2514c-95fc346e02dso6757561241.0 for ; Tue, 19 May 2026 06:18:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779196697; x=1779801497; 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=KTxY6bvuwok78BPFikR8TBxQkNppH5BYWsbiOq+w0t0=; b=YIsEZdk5fbjrKFACS5bYN4ooaqHKBgVdcOeR+8JsXJfFBZBkDHzZfgoFk9hVQPJUx3 v582bLFUT/FvbQUjpvU5V9c64QG/22oCjA0MVqIpv/jozTrFt6sMy61aLoSm4eTGCYjA Wl6xxgfXcB2+sZBjVC8rdg0saHSsX+lh2mkWos9VDKaew0y02tWb1IGrnNje8zo8pLDn FU7397aBMbRHgzvBexQ6h8aeIabZ1l9/vaa6cUwDQ7aqK/RrTy7anNoi7xEJjzeRWsHX owXexHv0TgzzncSuc50V+DpMmNAEam1zdJFNJUiYODvUTxz72AFaLcGSerTlLkSAuY2n Lnkg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779196697; x=1779801497; 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=KTxY6bvuwok78BPFikR8TBxQkNppH5BYWsbiOq+w0t0=; b=p7ecr3OWTlfOGuNv0Jsbh4EwgUEMjuPl2XIJlDFTEEdvf8OIVFtjhQxSD/Vv/VHmnm lch4JheYSsonhKs7hffHLIbKYzdqcOEwP/478SKxEneP/qFSIDrS0HEcynSxlJwvN2FL 2Q0QasIhGBVEt0IcbASuM/1SPmlOwaKrN4pbZLP/P2JZuirjWIpDno2afSiqVxMXThXZ z4ASlF9c2R+dmCvR5qF9BxpO29FUbibZxmCZN5ndicd1Q/v4Q8M64lxUaT1VfNO7/EMq Ece++3qYaFSstzeFhliYmOruOywtsyoq9glY+V3Bo3phqGPO6KJ4wtHJ+TztUzCp4VL/ a4Ag== X-Forwarded-Encrypted: i=1; AFNElJ/mwnNFPxMz7wA1iNMvLTmAE40DGbsCpwF44YwWTtYiI8moPwGRjb7S9qJij40hZWmMmVPtrk68YTOJGcQ=@vger.kernel.org X-Gm-Message-State: AOJu0YytrQ+UV5DAUbk76S1xG48Q4ew9/4BJFte7l+N0Jv8vKq13nrRc xC2NqYnwTQz/+yzvR/b5Cd0uUOkMECFmeYsbJx7iwN5PLXjBvnzRv6gHAtzXlVZDClJrl2lK4kn U3bupC+o+4bmxlHRaSiYcdTT4ncjziubTF0FQrxvsqH7DgmVKp+DrTkmCFUVGH1nKv6Q= X-Gm-Gg: Acq92OEg/oYtEzpACOxFHbzJXQOWn80Qqp5UfZfuLGSCl6qPMNbVV5xYrNsZLPUcbVB +RMAczm+cOcmHP53AxLKBSIaBZdwry7zIzOTrfXCNuogGWNEpiqvjMBrxIcKLAttV3S1nuHVYwE Io9OCAgTPYSf9NvToIWT3yrRk2eGfEUgQ/qdx+9m2Pp8bt3N8VfV+tZ5rKgvCaeidmeAOS/zqbO JN5Tpl+clp4jlxQQew4KwebNPYLRTxtgK15iUu+vKE8z6FG7Krtdlz58QUjYEjtYSHPFRGjP81U KDQWXX5/jJQ6ph4heu/fjdR6yj+QuCt27nMjzkUQ5yS0oA0g93c7Mm+GoDlVPriwZgKUUNBX3qg jJelSpiGDEwrarlLDHYUbc6yqAqV2yWmEmqwJXec1nrnwqTgdm/w= X-Received: by 2002:a05:6122:4887:b0:567:4e8a:fb13 with SMTP id 71dfb90a1353d-5760c027aa6mr11882862e0c.8.1779196697216; Tue, 19 May 2026 06:18:17 -0700 (PDT) X-Received: by 2002:a05:6122:4887:b0:567:4e8a:fb13 with SMTP id 71dfb90a1353d-5760c027aa6mr11882786e0c.8.1779196696733; Tue, 19 May 2026 06:18:16 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:3fb6:74e3:3c25:ba2f]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48febe7dd22sm143969195e9.7.2026.05.19.06.18.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 May 2026 06:18:16 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 19 May 2026 15:17:46 +0200 Subject: [PATCH v17 04/14] dmaengine: qcom: bam_dma: Extend the driver's device match data Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260519-qcom-qce-cmd-descr-v17-4-53a595414b79@oss.qualcomm.com> References: <20260519-qcom-qce-cmd-descr-v17-0-53a595414b79@oss.qualcomm.com> In-Reply-To: <20260519-qcom-qce-cmd-descr-v17-0-53a595414b79@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 , Andy Gross , Neil Armstrong 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=iFPO6YP5TcnrvsmGE4fDny4roRlsPlprS1Gv/K6BVEo=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqDGMELDfOj6YPtbfLeG/J9s/3S2gj/RTPnt/RL AJCxj4rbS6JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCagxjBAAKCRAFnS7L/zaE w5vVD/46Q+Ag2EwcnNSLnHm3m9c9zNGisel3N3+wvHn3vTnCEfE+3Ckzx/VhbDi99XAI/fMk7hS VJLps6FOPZf+L08gm3sg355RbHLEtiMedlSezGPpMAjljRzLaVHoS2E0EgqhEwPyOK7d1XK0ynT NfwhGD2KJU7qs0BDZvn6MPk060n7kcbTCucW3HXOnkOzSoHoGWj6+JmMwwFzdeUbK2mJRzahsnA pZ3t0L0SlMMnao/Pt3X0jh2wpSppd6BHpwTf9vc8gr2ljVhyM10XmRwbEn6odBbW59niklJFVaf CTMf+JWlnfl4sFWv/oprkR+hSVsq+lK3BTZm7rxF0gWev2mQBpRbT1YQ4xFDHqq4FgXx/U2ZKk2 YFlGJhGub1WfVCucxhon/HQErNKMFPgV6C4gkwo185UHBb6ijVvDXkRC4F00nlVo5wRotmodI5B w4NdFvolkovlmcGSPI4T9bUdVaSJfCnUrnzv16us/Hk4wQYCrRAUspDY91WxiLRnuHditFvb38j PLt/WD3mdLkzJgeTe0VBlmcvhjWIVMzrQPVuESWe2/RD9ZfzeVL02UIKq+fD9qzhrQ59NCzWekP IruTsL+oEaiEbWm5fhfKyydOmZTSe7TXn1MCb7WmdTQfgB0jpdzXz/Py7pSLHgORFryFoce7Va+ Nwq5cNLnEzNroHw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTE5MDEzMSBTYWx0ZWRfX2uC76MUZ1ZBU Wp6x6k3HZcWCtd1FQQ0nNYkpAUjP3PKJ+NHgoS9rD2yfesg5M+XWnWcPCHyWh+/Exh7Q1RQqR+g Tl+/2P7+njTm1DgHcIgL91JlJ+icM5cqfOXX03r5SX40RMDy1tEhsgqsUrSQAj9aYELpuSkFT+u U8N0OEN4aGzXox+tqcVeP/LRNXgmSljCegyMtFb2DBStw3mUvQ5MaVRf+K5wCb+nZ+sBp5pM3y4 kgGbpsB8GHW+JoBFg+t6dGBio/9+oTgJeiXj7FVo4aLZm7vZ0Ks7xWNLuEVtOeGMKXLa7DTkD4A +jZK5otAbpKotjChKVrFi9502Nzcah+YR4XL7YZs0DkMIsVGIwO6absN8xzqm51JghbgnX+rzof e/9hZTW755YaImiS5Y93fvwNCfPGneYadb4llVLH+jPZIYwQUPcizbH6AStKrwr7VEBviAeFEzK d2BZL792yNEKnAtq87g== X-Authority-Analysis: v=2.4 cv=NrjhtcdJ c=1 sm=1 tr=0 ts=6a0c6319 cx=c_pps a=R6oCqFB+Yf/t2GF8e0/dFg==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=Fb6uNmSZeVr-t7npd3wA:9 a=QEXdDO2ut3YA:10 a=TD8TdBvy0hsOASGTdmB-:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: a_WWxbWsjFnTz8XH0pdU5PlkKwbSdyli X-Proofpoint-ORIG-GUID: a_WWxbWsjFnTz8XH0pdU5PlkKwbSdyli 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-05-19_03,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 priorityscore=1501 phishscore=0 clxscore=1015 impostorscore=0 adultscore=0 spamscore=0 malwarescore=0 lowpriorityscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605190131 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 e2f16efcdb55f7465950fb81e22acb451e63ba0c..7f3d1b6dd5d7660d2743dafcc43= 878e5f7952b8d 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 May 25 02:57:45 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 B63F54F7980 for ; Tue, 19 May 2026 13:18:20 +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=1779196702; cv=none; b=TTBLo3a3J4Stg1NqlmCCdkSHYBPXjeRruHXm/VszIDfawBXE1CuRE5c5d8ZL4JY1Ouf2y8g3ly3bX5kCcJ8iu1L7regdlYtgw/d6Bu05h1zm41CDz0u6VvBCsR7LpthcNvYoCFqipaJ8s5QDwpAud3V+q8vt5BFoK1SVrd9mdNA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779196702; c=relaxed/simple; bh=FjlWrhg64aXopk2c8TNW8F0ETOsoah/nz+L00f7HWu0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=nAfKGhJpMszsQ5mGhhkqYtxi5XifPlIokmloMwrHli9G22cj4mO7q48P6MyD7Bs48b8aH9V+8JpxgNZmnPWFsJ6ueBkR+7Zx1EJVJNfe07JzNNn4QCxJcgWVLehJSRyfwAmoRfTb8yTs17Tm/YUM+7dkuY6COPpUKIzQqfR8KGY= 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=JkNp9NOI; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=gynW/fiv; 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="JkNp9NOI"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="gynW/fiv" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64J8F3131146368 for ; Tue, 19 May 2026 13:18:20 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= 1Gr0t6VI/a0hOXrs496vSrF8FkdFJvUknR0vCq1ph70=; b=JkNp9NOIXoxe9TZv FR5IE7jqxMa7D63RJSLPOYEmsJlQ1KK5vGaPhXT8UgrhZPACpSSS25Lxw2J/v3qC YMWWFUuiJFTsC2viMmb9jVfnygIF6CLuLzM9R4hzSNaGMx0rWUdwCD1Ozq5TCgcU rQU7gfM+VWMtrxE6tb2niuPltB1ueqavLthCyqoVkBzwK/NWvoymU34ncnWBcG5n rWXfGSqG5zU/0OOdnbGuAyX1z+PzBXBcQCK3VwNfnQP+b+ZnWnCJ01bfW8LLsItC Di8PHpdUJBD3rcp3QTiO68OQCbNR4jUQjljQvmassS+XeHFPOggiF/ch5mjV8hUd zKamGA== Received: from mail-oi1-f199.google.com (mail-oi1-f199.google.com [209.85.167.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4e8e7ejmy5-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 19 May 2026 13:18:20 +0000 (GMT) Received: by mail-oi1-f199.google.com with SMTP id 5614622812f47-4824a871018so3276104b6e.3 for ; Tue, 19 May 2026 06:18:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779196699; x=1779801499; 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=1Gr0t6VI/a0hOXrs496vSrF8FkdFJvUknR0vCq1ph70=; b=gynW/fivuNHYfNpN7/cZBw2TYrKe9uU28geaMbo9/C22JV6QoIaDnO6yCINLk4+DWk SYpP0PFyCoDrG2CtWDqqGmiwFTwpA4C+QIjWFMdN9Je+F2xU8hah7pT91IvvZNm0ntKi te4TnkuRVxmGzq58fkXvTwP8EghKnhzmJfpsggy8CcJtMFBPP6Hj2S9DQ/rs+4KaOgHS kcNsZyiNIB+zIFoQ/0/TJYkmMviltwbXNcI0ONpoTlGxbRosdXE5kfCiPsfceoS/NBv0 A7YRqN0tYYkoe4KBr+fyZC/Dk6DVkGWHchxJZYO9vRitcsK2N4KagSCD2Wj2bc/k5vfR a0dw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779196699; x=1779801499; 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=1Gr0t6VI/a0hOXrs496vSrF8FkdFJvUknR0vCq1ph70=; b=SPcupj375GFH+nEicjyhnSGCTQ09g5DLP3JTylo4YzFS1MNcgrZPeUWPdCYydZCv2L YIgfGYyaGjz3IDj+HVekEvfaL1mubtl2wXRYuB8j3sGHJKrz5rgGt6PwboqaxsogLejO OGoUzh9RWzTLK9hKe+LyWc8vxf3E2mjEUDEeuyvq7mAl1eG4A4a70ysFiY8wZ9F5o6dj 7JjqB0C647YAPYHHEYP+YwecNTx8ANjfw1TzAU5kYg7HYfJGHolMcv99epF8/9yN7yeP ba7vqqWMBq4DeNfvJFF+eeJD7xXd1SGspRESoBs3QhIeppnztX4QHPAg/VBt9Jfm2Pos 0DEA== X-Forwarded-Encrypted: i=1; AFNElJ8P1tJRcjPc72wnGCuib4TeRdwYof7sWfC172VA7C9anPdpIpvqTlxHKOrIm0yLD9+Cw/BqZUR3Eo4Z4lQ=@vger.kernel.org X-Gm-Message-State: AOJu0YwPn4rKEqqJVAZbap3Q2Rp4sMukJkEnBD5VF2ihP5zv1fj8sO/I Hc+x+kffFumpSqrGsduKCSw6LSE0VoP5XuEFr5YW5RMqrvkf35wHCrj2wvdjIMG7YHXWAdYOxla 55HWnyxKsoQL5TeRU2q+OC534Ucz9oIictyybC0XXdxkIcsLtbR58K2NVCtAodC7eYOY= X-Gm-Gg: Acq92OF9kh0u+mj9EXnB4M28wzTAnqvaO+cJ8/luWvCgXf3h2ylCULhZtb7t1rmHoXj ENUto67Nz+MvRhO2s9cy1xXPPH/NMBnp6ckdIvtvpsPwyFUsrDM6zAuAlZqXdFPhmsLyE9KFm7K 5oWQSQTUx6J/Ho6tB/u7aR1AKQYW4Lojk1FL9iNBddCYbHmM6Ant1jod5RRF3IAWyZHVuy0FLEF bbLEc3A8Xx0oPQyUZY35+174NkDrA6qZJgmJdGAfgtEa7ob0GPXQ/F1mzV0QhgiVaec4F3gj74k MqlGnmCh8ehMgApPMoabWBwVSvAbTrOds1lwhGqrsXxES3piV0qPOmR4xGuxSU9dJ0WXiEj5vSY SjKGdk1Qk7CtKHrrVsp/dUiZZsDdrnmszGjJxLY3RMhxNUv9TzTw= X-Received: by 2002:a05:6808:50a6:b0:479:fe0e:e83e with SMTP id 5614622812f47-482e560891emr13202807b6e.14.1779196699294; Tue, 19 May 2026 06:18:19 -0700 (PDT) X-Received: by 2002:a05:6808:50a6:b0:479:fe0e:e83e with SMTP id 5614622812f47-482e560891emr13202768b6e.14.1779196698704; Tue, 19 May 2026 06:18:18 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:3fb6:74e3:3c25:ba2f]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48febe7dd22sm143969195e9.7.2026.05.19.06.18.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 May 2026 06:18:17 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 19 May 2026 15:17:47 +0200 Subject: [PATCH v17 05/14] dmaengine: qcom: bam_dma: Add pipe_lock_supported flag support Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260519-qcom-qce-cmd-descr-v17-5-53a595414b79@oss.qualcomm.com> References: <20260519-qcom-qce-cmd-descr-v17-0-53a595414b79@oss.qualcomm.com> In-Reply-To: <20260519-qcom-qce-cmd-descr-v17-0-53a595414b79@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 , Andy Gross , Neil Armstrong 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=1530; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=95UZqYCVoso2D8UWFsBEOl96nt3UOjBik5wfLsq4Ngs=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqDGMGcHdXbfyHT99vDrDX+RrK/0ep7PuqhyhyR nnEczoWRnWJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCagxjBgAKCRAFnS7L/zaE w5ThEACBFJwqWuIBl/1eTJS4fTvqoKnroUsfcrhv/TH82B5fHMnFllZQw2arhmDFjmel7jjoQpK va/zXYByx92u2Sb7LeXe2wzPO0wME5W8+6Gf3tS6VXg5ataVwgVFZgIhSpWOmUmaNYrgP/3kLUL C11zAAjEILXj9zQF5FhHxRB23NnKCKc98FVffOeegnf9Fy2cdcUmKoupF/Xtdwg0wVFYpr2hL6N xwHTe1vHdXkB8HoPtKBNJIdCWCVAWQ+iHo/Zx2Oa1A0L9VSg24WTFSibQ+va2dear/TzawVUS+/ zA56o0x/goHUsNpR3V/fAgnp/b29N5vK0iuz7YCLMIbwYRUItpHoititqPrYtjNF9Pmr7JeReWC NwPitUtpPEd//vpuOQ868vp7DZ9LDyJpvlLG/GWQDtsk2hPWsPjOlf6yrE6gyyWF6KDXQWe65HA VaIdaLFWYGus05MtH0nbgCWf3FCZ6g2u9GQ42MqcgWQ3aP8QHAIvUnhBR26ajda7W38YEkr0Z3s Ck3zlSsLljlFVvfGM9y7kCywteZcnmrSrHrjGpzQurDS1M68Lx7CKjMl3fWNAjYUXEKWzZoTfUH V5HZpfGWQDCgM1XgMKyEEvSOuGc5GIo3m8m7rOu9TFfoRUTWzXDB/NWXppwFWxdevONF3FBjU+F rAXrD27c+U7tjxA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=Rt316imK c=1 sm=1 tr=0 ts=6a0c631c cx=c_pps a=yymyAM/LQ7lj/HqAiIiKTw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=VwQbUJbxAAAA:8 a=ZSnkYuKn9ZpO9KHknGoA:9 a=QEXdDO2ut3YA:10 a=efpaJB4zofY2dbm2aIRb:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: nr3t1IE37vWWe9d3vBS4cvKfKNUo8I7Y X-Proofpoint-GUID: nr3t1IE37vWWe9d3vBS4cvKfKNUo8I7Y X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTE5MDEzMSBTYWx0ZWRfXw1oRyCKlA73u UCuyLncZ77H0+ziYxhRT4fG9UnMmWFML5EZlpA1spjg9AWqkCYRxxmUs6oJdla0MOqGLSCl9lpj d/oWCMkYaiYKB+ismSVgG/u4Teo3ZGC8a3EOCuYLGPcaXrwaCbEXvBJsjyigb/FOhsytK5DumzU 9O9AEdbmT/nO0EaT+LH8c7P7jCILAJtjNj9QC/AaFlwtFd66g74iP2/9cUWJawi93lsRqCKd6ty yd1VCvyFiKSC1w40f0nRNYxAlEv2LGWDLn7zeGMsQmZ1uoGRWvK75rSTHu+a6rcg2/aW+OMUmWA tDnhalof3PTbSq6+ACAYW7LkxPDZPwPeM10KC7yUvQhKBwXh53l0PlD1bEGBU45se5as9d9dFe9 idtHZl9Hn2LbVRIbnT4Q2CpkHfrLLm/3UfzvWYbJ2llwt/BhItfYQZ9C3qj3BZKMp0Gw77kpnoT JmRv9wwuU8p2v0uNdog== 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-05-19_03,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 phishscore=0 spamscore=0 impostorscore=0 lowpriorityscore=0 clxscore=1015 suspectscore=0 adultscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605190131 From: Bartosz Golaszewski Extend the device match data with a flag indicating whether the IP supports the BAM lock/unlock feature. Set it to true on BAM IP versions 1.4.0 and above. Signed-off-by: Bartosz Golaszewski Reviewed-by: Dmitry Baryshkov Acked-by: Manivannan Sadhasivam Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski --- 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 7f3d1b6dd5d7660d2743dafcc43878e5f7952b8d..30318cf01ee20b7e64a988e8ce1= ec04dab55e3c3 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 May 25 02:57:45 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 DC9E3348C49 for ; Tue, 19 May 2026 13:18:22 +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=1779196705; cv=none; b=a4PHypuatBkckmWGxHXhFddhzC2e3JQLOa2ISk+HobxReY8fyAMK77lfp1tkMc6Lf96DZ+p7+GnwG5NcIRmw3rMIXvqXKah02aekMapo2Np2dbV4/JWYZuljeDTadk2QDbuoC791n2pXYF+GBF5ZKMMyJBbxcICUtbzKndp7nus= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779196705; c=relaxed/simple; bh=ou7/7gbS1COpHpqqL8bMYn/SVA9UQ3BGI8E9HPvHb8o=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=u/ykmDbpBMFF4sh4hAtaLh8ULOtDjq/E8fILtuFDGwQBs3pv75shZvkFutmrro6UIs5lfFuIlxXIxvKeUAbBYtQOpTnpRuhQ0l+bY3lBZsbErpNd8dsMxyqN9pqWnu22EqOS+6sVpoZFdmWDlkbAXJW7vMtNf11JdZdbk3keWJo= 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=fsq9SJ8U; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=CPxgTD/K; 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="fsq9SJ8U"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="CPxgTD/K" 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 64JAMgfE867353 for ; Tue, 19 May 2026 13:18:22 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= akHZIQ2lTa9YJd4Hisg5vwjBVG+rmsCHb+zmNsMB/NM=; b=fsq9SJ8U4IA+Hvzh zJOOJL0KgyYePe9a4GJ4L+5QD8gJ85vWN1ta5fmF0iCTWHuh6B/Winpom6UPG9NI IBnvxLr1HWItamCFeKvGXfm/fLILfkp0rXWre4K72XeEyg8SHR/U7/2FZYvLq7lB GzvwmncIIz8r914hH968YFsc6qTL/N3u2mGmeoj/f6+u3PxVd6gzi5Y92m3lA3kg mBw2iwI9+tPQW3pBg6Si3V3bvpKvx6cP5FqrC9Vt05CkX2btN8p0vgCqDr/JtEyG W/FrB23AVz8ALsIhFIevcqODzaL7Rh8o5ak8I6LLkFMIYLUjOLJd2RSZf8iR2yWp N4+geg== Received: from mail-vk1-f200.google.com (mail-vk1-f200.google.com [209.85.221.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4e8hv1hvh9-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 19 May 2026 13:18:21 +0000 (GMT) Received: by mail-vk1-f200.google.com with SMTP id 71dfb90a1353d-5752402f5e1so9491222e0c.1 for ; Tue, 19 May 2026 06:18:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779196701; x=1779801501; 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=akHZIQ2lTa9YJd4Hisg5vwjBVG+rmsCHb+zmNsMB/NM=; b=CPxgTD/KzAqMPgaX/e/z1TcGvdiEXY6JaseDQrDT+WaUGYyyHHaLi+1gjdNYQ/fpsJ S+4OKeTqyoiZnySEMSdpGIl1CyE7Y//fZuf/L7inRp/saFoVil0uskHBBrZQHIITyeuM zjb8tejRp+QVjopRlkX+MFedhGTiXOuU2efEAF5bMXASNL2yfRZQ1DZcz6LqvkrVbZum FvVKHRBI9oIVrXWtGLuh5/u3PjfD6+FqiGL0iLWu9VrFnGuWtR1bpLeP6LFkhND1cXlx A9qwyASvJ0lZ+nd4AuVkm7c8jqleE4MVFBqatHWxuejLz1sBKxNEySFaT1OfezflEfH7 iSlg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779196701; x=1779801501; 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=akHZIQ2lTa9YJd4Hisg5vwjBVG+rmsCHb+zmNsMB/NM=; b=U5DQlZwa+h1vgtaCdxIzxRFLLnvbolX7KsrnnHMMs53adqHcj1Sy/2aGbTpC3jtJxs Kz9n7974Tr2Uj/ZneIB0MTPyY8a7riSuz8tMY68yPb52YZPt+hkiL+QE1yLbz4Sb408S +A24lCvSeS0VpkbRu7NxCjEEo2Ew32ASb8rbQ37x1uEhHC8gn520bnNtNOVsG1Lo0OVe tU3gnigbVjDnLnvi2PIGsTRwXgEMNtwmu11//c1nwpaPv+lzX3qQD4p7b964jyjbsd1s HY8OGmfcsKnZI/hcCJgI5Jn4HC2/1OQG8r7D3PLbubGRs25vuEkg3p6xqiO5Q3jQ04cc oQZg== X-Forwarded-Encrypted: i=1; AFNElJ/u2WInMZfwET3NTSzF4nE6qgqb7O+rS/lKMvQHl2o+k5MRLhrBVOk0ICteWvqZDfIbOHHxxQJnnWNxsoY=@vger.kernel.org X-Gm-Message-State: AOJu0YxNkO/EaeJtfnkRmzcGQvTrgLZC4h+3dkvqaDfKWGbtZUaLR9+A EIl2m1Frxi/J6KD6S+rVHdo9XkeGXp2IOVA7MWNGMcqOUIaPKXPB2tMchHpalCqBqu9w/fpcGmq a8FBbwnha9Ge0t4V39bcJAwVMziLehlMuNgaq9ohhWFe+ysbqc+rfoQy4GZ4IaeGXlL0= X-Gm-Gg: Acq92OHEDlsU7incgDatC4eACgUFXy+SKBb4JIXX3tr2UxyrL1NDfPWMJ0kmTz3bu06 cLgMJPVXGq1Z0X+EdvR+ah5etYLFExaMNikID9C3pNfAzb39o6RCxMVqmqQK1gWuWMgqBVquMHP ThPFYxlQFbZ4QUZwYvMDjfZ6B6QL+dMmOsW5rDKm3oaG4kfDMdJxwGf3++nz97IrAgxeM/U6jSv Gk5LzXpFebKhis3K2fldJrs2HzAxgVjWiyCnHDaq3hVoUCVns7l0LlPaEdzMsAszaeMLTO7iBlI aeV6oSxPzsqecJOG1oGQTr6G6gCly++tPDSX5gQ2Jduq6EjCRtfS/uCj3TEwuFBWWEYbSrAu9I9 12LIL1Xe7tEmoBSV6W+tB4YRtEnNjQgHSkB3k82IukwjfULqd9IE= X-Received: by 2002:a05:6122:2407:b0:56b:7d4d:4d11 with SMTP id 71dfb90a1353d-5760be39b7bmr10552793e0c.1.1779196701170; Tue, 19 May 2026 06:18:21 -0700 (PDT) X-Received: by 2002:a05:6122:2407:b0:56b:7d4d:4d11 with SMTP id 71dfb90a1353d-5760be39b7bmr10552747e0c.1.1779196700723; Tue, 19 May 2026 06:18:20 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:3fb6:74e3:3c25:ba2f]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48febe7dd22sm143969195e9.7.2026.05.19.06.18.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 May 2026 06:18:20 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 19 May 2026 15:17:48 +0200 Subject: [PATCH v17 06/14] dmaengine: qcom: bam_dma: add support for BAM locking Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260519-qcom-qce-cmd-descr-v17-6-53a595414b79@oss.qualcomm.com> References: <20260519-qcom-qce-cmd-descr-v17-0-53a595414b79@oss.qualcomm.com> In-Reply-To: <20260519-qcom-qce-cmd-descr-v17-0-53a595414b79@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 , Andy Gross , Neil Armstrong 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=9563; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=ou7/7gbS1COpHpqqL8bMYn/SVA9UQ3BGI8E9HPvHb8o=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqDGMH/r5kKOanWDNGv7aNf+1HsgjHFZfVno5NX E3lPj98/7aJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCagxjBwAKCRAFnS7L/zaE w25/D/4thliACpwThd9ZAX8Ctdaxbk21PFdu9DRCGcmQzPfLFgbA9V+Fo3vyV6CpUR1PBcLkagQ QLIYIIw9hrh6T59wUaTQWPzSpoeiXunF9ZYknTAif2CAOwM/D0oiDyvou8tkDpIphnTyBDkhP4b YT3UPqmRU1t+PoseFVRtRbyHYLDc2GUxgnwg9liiQWPF9PmrUyVUQ2WAZvwp/wetukmOPOnfjwA tMnES2Y6as3P4xxSLxt/c0Ho0y8+WNDKwsLrmyqVAB+vYefmj2gVS9gGPwQGcpmA0jiOlZdmW4v eSArjpQaRDh5R5SeR+qr9fIltXFNOAIGd0URJVMXPkquF4eMYYdaeAx0c5CK0KRoBt7jEmeB7DF rotaMZ+ky3cPVgKIt5aM8hJ+4DbPfusjtaiOa9PSL5AnX6Wi233AllH+q5XZnGDsubO2a8eAmZp E/TBYtjw74C/j4Y1Wtzjug14HX3Xx2r2+7po+UMaVQwkIMkgajfNPqFCH7y3+k/oURe6U3L3h7m r2ENP82in9rixDmVgXkGBvXPrxK1Kw3onR3S5yANK3BbSqGPytC2aa6zQFTUHEC9WdgOuVpUEP8 TEc2jOyagQCReYaDz1DlTkekkAvDoDvS3OQdsulpLncM3egAm849xo+as0/FflW/FHnKvnz8iL4 oZXGp0pEAHZTqHA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTE5MDEzMSBTYWx0ZWRfX1/ELL/hYZEx4 aVDe6mI5GlMgtbNiMeJyrEnpvVJV2IM8GX6ILOwNgrErRprpmJh9lUs6L9ydle+w5Qs72Vt3jaX MD8OgMJZrBnI3IdWGfx4bTlSlvqnI3b/TAsVhQarRQWk4NfWjjnQrNxpR3sLpf3rgTYEMJynkkJ 7uQXpcmqNG78DaEJSwecZYL9e3SelS9mpm5UzpTM5XZkbPel05R1veKcZ8qOWehRnrr+P1Qh7hB 8oWWEp+mhUdPB/XzTxRoetzDWVqglRC542RE0bUsxvaazpk/eohl99usuK9qFuN3wlzbP11KhqB twG+h+eRcYLQD1H3gJ0RGZRWksHePu2NdLhaBYdtVAo/G/dhoZ/P70FKyWZDKFwSLn0UrhNYAeZ MM97fc/TqBGguwF4c6nv3gZOW2JAH74RukS1QM/7eH23co8XvmG8RgBzenyWqFlSkVeb7CGsxnl z+xDwu34huWnKvFraJw== X-Proofpoint-GUID: HebTmSz0sx8AnHhtM88ZGGBJhz44qbet X-Proofpoint-ORIG-GUID: HebTmSz0sx8AnHhtM88ZGGBJhz44qbet X-Authority-Analysis: v=2.4 cv=WZM8rUhX c=1 sm=1 tr=0 ts=6a0c631d cx=c_pps a=wuOIiItHwq1biOnFUQQHKA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=j-cXwOq41x9PnjJ4jooA:9 a=QEXdDO2ut3YA:10 a=XD7yVLdPMpWraOa8Un9W:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-19_03,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 malwarescore=0 suspectscore=0 priorityscore=1501 phishscore=0 spamscore=0 impostorscore=0 adultscore=0 bulkscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605190131 Add support for BAM pipe locking. To that end: when starting DMA on an RX channel - prepend the existing queue of issued descriptors with an additional "dummy" command descriptor with the LOCK bit set. Once the transaction is done (no more issued descriptors), issue one more dummy descriptor with the UNLOCK bit. We *must* wait until the transaction is signalled as done because we must not perform any writes into config registers while the engine is busy. The dummy writes must be issued into a scratchpad register of the client so provide a mechanism to communicate the right address via descriptor metadata. Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski --- drivers/dma/qcom/bam_dma.c | 156 +++++++++++++++++++++++++++++++++++= +++- include/linux/dma/qcom_bam_dma.h | 14 ++++ 2 files changed, 166 insertions(+), 4 deletions(-) diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c index 30318cf01ee20b7e64a988e8ce1ec04dab55e3c3..2c9f90313c313851f84ebea8d99= e73b37829b297 100644 --- a/drivers/dma/qcom/bam_dma.c +++ b/drivers/dma/qcom/bam_dma.c @@ -28,11 +28,13 @@ #include #include #include +#include #include #include #include #include #include +#include #include #include #include @@ -60,6 +62,8 @@ struct bam_desc_hw { #define DESC_FLAG_EOB BIT(13) #define DESC_FLAG_NWD BIT(12) #define DESC_FLAG_CMD BIT(11) +#define DESC_FLAG_LOCK BIT(10) +#define DESC_FLAG_UNLOCK BIT(9) =20 struct bam_async_desc { struct virt_dma_desc vd; @@ -72,6 +76,10 @@ struct bam_async_desc { =20 struct bam_desc_hw *curr_desc; =20 + /* BAM locking infrastructure */ + struct scatterlist lock_sg; + struct bam_cmd_element lock_ce; + /* list node for the desc in the bam_chan list of descriptors */ struct list_head desc_node; enum dma_transfer_direction dir; @@ -391,6 +399,10 @@ struct bam_chan { struct list_head desc_list; =20 struct list_head node; + + /* BAM locking infrastructure */ + phys_addr_t scratchpad_addr; + enum dma_transfer_direction direction; }; =20 static inline struct bam_chan *to_bam_chan(struct dma_chan *common) @@ -652,6 +664,35 @@ 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; + + guard(spinlock_irqsave)(&bchan->vc.lock); + + bchan->scratchpad_addr =3D metadata->scratchpad_addr; + bchan->direction =3D metadata->direction; + + return 0; +} + +static const struct dma_descriptor_metadata_ops bam_metadata_ops =3D { + .attach =3D bam_metadata_attach, +}; + /** * bam_prep_slave_sg - Prep slave sg transaction * @@ -668,6 +709,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 +765,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 +1059,106 @@ static void bam_apply_new_config(struct bam_chan *= bchan, bchan->reconfigure =3D 0; } =20 +static struct bam_async_desc * +bam_make_lock_desc(struct bam_chan *bchan, unsigned long flag) +{ + struct dma_chan *chan =3D &bchan->vc.chan; + struct bam_async_desc *async_desc; + struct bam_desc_hw *desc; + struct virt_dma_desc *vd; + struct virt_dma_chan *vc; + unsigned int mapped; + dma_cookie_t cookie; + int ret; + + async_desc =3D kzalloc_flex(*async_desc, desc, 1, GFP_NOWAIT); + if (!async_desc) { + dev_err(bchan->bdev->dev, "failed to allocate the BAM lock descriptor\n"= ); + return ERR_PTR(-ENOMEM); + } + + sg_init_table(&async_desc->lock_sg, 1); + + async_desc->num_desc =3D 1; + async_desc->curr_desc =3D async_desc->desc; + async_desc->dir =3D DMA_MEM_TO_DEV; + + desc =3D async_desc->desc; + + bam_prep_ce_le32(&async_desc->lock_ce, bchan->scratchpad_addr, BAM_WRITE_= COMMAND, 0); + sg_set_buf(&async_desc->lock_sg, &async_desc->lock_ce, sizeof(async_desc-= >lock_ce)); + + mapped =3D dma_map_sg_attrs(chan->slave, &async_desc->lock_sg, + 1, DMA_TO_DEVICE, DMA_PREP_CMD); + if (!mapped) { + kfree(async_desc); + return ERR_PTR(-ENOMEM); + } + + desc->flags |=3D cpu_to_le16(DESC_FLAG_CMD | flag); + desc->addr =3D sg_dma_address(&async_desc->lock_sg); + desc->size =3D sizeof(struct bam_cmd_element); + + vc =3D &bchan->vc; + vd =3D &async_desc->vd; + + dma_async_tx_descriptor_init(&vd->tx, &vc->chan); + vd->tx.flags =3D DMA_PREP_CMD; + vd->tx.desc_free =3D vchan_tx_desc_free; + vd->tx_result.result =3D DMA_TRANS_NOERROR; + vd->tx_result.residue =3D 0; + + cookie =3D dma_cookie_assign(&vd->tx); + ret =3D dma_submit_error(cookie); + if (ret) { + dma_unmap_sg(chan->slave, &async_desc->lock_sg, 1, DMA_TO_DEVICE); + kfree(async_desc); + return ERR_PTR(ret); + } + + return async_desc; +} + +static int bam_do_setup_pipe_lock(struct bam_chan *bchan, bool lock) +{ + struct bam_device *bdev =3D bchan->bdev; + const struct bam_device_data *bdata =3D bdev->dev_data; + struct bam_async_desc *lock_desc; + unsigned long flag; + + lockdep_assert_held(&bchan->vc.lock); + + if (!bdata->pipe_lock_supported || !bchan->scratchpad_addr || + bchan->direction !=3D DMA_MEM_TO_DEV) + return 0; + + flag =3D lock ? DESC_FLAG_LOCK : DESC_FLAG_UNLOCK; + + lock_desc =3D bam_make_lock_desc(bchan, flag); + if (IS_ERR(lock_desc)) + return PTR_ERR(lock_desc); + + if (lock) + list_add(&lock_desc->vd.node, &bchan->vc.desc_issued); + else + list_add_tail(&lock_desc->vd.node, &bchan->vc.desc_issued); + + return 0; +} + +static void bam_setup_pipe_lock(struct bam_chan *bchan) +{ + if (bam_do_setup_pipe_lock(bchan, true) || bam_do_setup_pipe_lock(bchan, = false)) + dev_err(bchan->vc.chan.slave, "Failed to setup BAM pipe lock descriptors= "); +} + /** * bam_start_dma - start next transaction * @bchan: bam dma channel */ static void bam_start_dma(struct bam_chan *bchan) { - struct virt_dma_desc *vd =3D vchan_next_desc(&bchan->vc); + struct virt_dma_desc *vd; struct bam_device *bdev =3D bchan->bdev; struct bam_async_desc *async_desc =3D NULL; struct bam_desc_hw *desc; @@ -1030,6 +1170,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 +1300,12 @@ static void bam_issue_pending(struct dma_chan *chan) */ static void bam_dma_free_desc(struct virt_dma_desc *vd) { - struct bam_async_desc *async_desc =3D container_of(vd, - struct bam_async_desc, vd); + struct bam_async_desc *async_desc =3D container_of(vd, struct bam_async_d= esc, vd); + struct bam_desc_hw *desc =3D async_desc->desc; + struct dma_chan *chan =3D vd->tx.chan; + + if (le16_to_cpu(desc->flags) & (DESC_FLAG_LOCK | DESC_FLAG_UNLOCK)) + dma_unmap_sg(chan->slave, &async_desc->lock_sg, 1, DMA_TO_DEVICE); =20 kfree(async_desc); } @@ -1349,6 +1496,7 @@ static int bam_dma_probe(struct platform_device *pdev) bdev->common.device_terminate_all =3D bam_dma_terminate_all; bdev->common.device_issue_pending =3D bam_issue_pending; bdev->common.device_tx_status =3D bam_tx_status; + bdev->common.desc_metadata_modes =3D DESC_METADATA_CLIENT; bdev->common.dev =3D bdev->dev; =20 ret =3D dma_async_device_register(&bdev->common); diff --git a/include/linux/dma/qcom_bam_dma.h b/include/linux/dma/qcom_bam_= dma.h index 68fc0e643b1b97fe4520d5878daa322b81f4f559..a2594264b0f58c4b2b1c85e243c= ad0d5669c26dc 100644 --- a/include/linux/dma/qcom_bam_dma.h +++ b/include/linux/dma/qcom_bam_dma.h @@ -6,6 +6,8 @@ #ifndef _QCOM_BAM_DMA_H #define _QCOM_BAM_DMA_H =20 +#include + #include =20 /* @@ -34,6 +36,18 @@ enum bam_command_type { BAM_READ_COMMAND, }; =20 +/** + * struct bam_desc_metadata - DMA descriptor metadata specific to the BAM = driver. + * + * @scratchpad_addr: Physical address to use for dummy write operations wh= en + * queuing command descriptors with LOCK/UNLOCK bits set. + * @direction: Transfer direction of this channel. + */ +struct bam_desc_metadata { + phys_addr_t scratchpad_addr; + enum dma_transfer_direction direction; +}; + /* * prep_bam_ce_le32 - Wrapper function to prepare a single BAM command * element with the data already in le32 format. --=20 2.47.3 From nobody Mon May 25 02:57:45 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 E2618348C78 for ; Tue, 19 May 2026 13:18:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779196707; cv=none; b=Hz+kjK0rh3ZC+wo00XUnElTKAQLwve/X7IpWbT6M7v0OM485+YFIFc8CioI0K8It58vKhUopXy11OOGX20RPP7musKlkIKmYlNDJyRXMuNolzKtrqbWBcOjNkgg/QsFqM0L3zuma2dcbB/+ODXkzN07zjHXvRbl41mTHXmw1zDQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779196707; c=relaxed/simple; bh=5ItlPbuBhP65nUTpXCo9dRl8GJjRN3Zgl/exx3Ev5Lc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=TzqIEsYnyms/NqeOHqIRqrqGnkjgtMkyWk4rOfTTO2bsFB5IaMpWReAMJmBcQ6J5reUEwS1D+J10Fx/RDf+Vdmy/AFbrwJmpqox14b9S6Ybq5YZvr3aHXGdhiYbSFqw2e/XcEED6lYHLKTUbqN+0MpJTCTjKx8C5IQQdYHllbwk= 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=nUnR4W0z; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=HhXk+8F2; 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="nUnR4W0z"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="HhXk+8F2" 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 64J9tm9b253382 for ; Tue, 19 May 2026 13:18:24 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= 25Y3YTCZIMOzZ+yX4mVdRMjdJrxXuFwJ3ZTHD7azqTY=; b=nUnR4W0zT4THAyDA BO5PEYk5i36DYPXVfbCQORPC2a1zrZ98GupBpJZPlAuucFGO1xwgnYBoENeGd23Z bJiXwvReW7Ka2T/bIJ3ci8V2vsf3a8Razr/6jV6H03Eupsz8ajwdjnIc6w3aW94E QEKoIyIoiTB+f20kRkx3cllmfRmPszNX0fuXnc5jKrts2VdJwHBn1RukFUZx2/h7 lkmrnHKRSuUNvUTyCsFRJCu+8sjYBYr2jGXH0b1W4DqPPEvfWd/iMi9me9gOjy1j DRyX3uX99ztgFvqFhbnkjoYLE2T1DVZ0y+Kf1xicV9VtiRXTZsuOmfo+WsSfc2Uk KGeZng== 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 4e8h87t1gj-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 19 May 2026 13:18:23 +0000 (GMT) Received: by mail-ua1-f69.google.com with SMTP id a1e0cc1a2514c-95fc24f7dbaso1100516241.1 for ; Tue, 19 May 2026 06:18:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779196703; x=1779801503; 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=25Y3YTCZIMOzZ+yX4mVdRMjdJrxXuFwJ3ZTHD7azqTY=; b=HhXk+8F2xI+OmpXuHWtB5Sp5e3gV7xjsbWL1sqodI5G2up5QPaQQ8uwUotw/vH35R+ IDq9lqIs9eSCpQhMdyWWCN6qgr5cuX/g8p10MeBERDe6Kgt11q/WqQa5IRqTLRK/d/Ta yiTmuLa6nf17vKNZWGseI51JrYiPn7T4j2XMDVDc5IVrJy2QqvSwd+ppOY3Gnd8/k+Q/ 6dX4DGT6P3MAS0PQO7LnkUy9SKfrLbmObNDvO2EwCk2lIRlZM+G/mTYVqYfq/nmVz5qQ mqP5QfE76HLuEf0EykYmV3gin/160YDkdxLt2PskxxN89TKTxtz+bqoQKqE5bGpx2LsS E8VQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779196703; x=1779801503; 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=25Y3YTCZIMOzZ+yX4mVdRMjdJrxXuFwJ3ZTHD7azqTY=; b=WRE0uHc2b4fMAX7ze++OwHhuS/bPau6ehmH+QVhwGlEO680qOnLRTz2sj/42/fUKw6 LJeyIcJTXDVVsCgaG4NZBE3x3H6FpopC6Ijv8eYk2jnr6A5XBoVCyRKwvSe56DLgKPTj ubBJjy3hM5Tz+BPH/tb1r0olEOIz3IH4vPn5q7j43OdU01JOA/FuHz+xy506kD+uicLb tCNnW/BtnoPpOmLBWDmo14/WxV7nzJdEA/YkTC/eRHTYIIzWK7q6rMHwK7d54RVi7/jw TRktcy45bwQ2X4cODHpP22fMaYkDzpH4w/mML4wzMioUQ0mqao0JYBMc+rVSKjRNYXin 066A== X-Forwarded-Encrypted: i=1; AFNElJ89WQAyw9Rl0dDogQkws78l3/atJutLy66nFV7C8VE4ThJ31AHmQ4QQCjJFfdR5r5yspJiXkDLm5RQKajM=@vger.kernel.org X-Gm-Message-State: AOJu0YzFPuTtU5q02Bnh+JtsLeoga0pTj4+bHcULRGEGFE3/BZN8nYJj patqduEYYYXgVzfLdqKBT4dNmcBIAd2NbOXY+lqpT2UA2HdqcXlFZ1R89L941YBpVeAdw5IjJCA k2hZhDBy18k8dmWwqjnTDPECcsUOguz0JjgNd0CnxpfdoP2xA1+SZGqMHJM9N9gu7bwc= X-Gm-Gg: Acq92OE93qu8X9HGWCzXnXyO7z5tomuA5IDRWejHK/JIFGdZ3IfcxvDozF1EgJKmMKb ytuvHSf/76UNqZl+1u0bwsRxUx84cu/zR5OeMwy8bGudzV6bXWA2RONQz+eVhUCxzGL6Ouqaj9k v/WogTVE5fPBe8LJ/Mo5IsJMsn6xiR3GKzvdPjO64vwewpU0oiCO2E+BXu7ge/+cNKMgt6Ytlw9 RG11ZIar9Wog7kaJeAb4kdjcP2RCoQZl7zNJf8MgIpZzP40URimakH4+yDJAROeQFPknpjTeUkn kSM1mrOOvGlnfx+u8P3k0HEVqXx4Ak54O2hHhMfhdCMuxJlx3cL3y6AtGIb0tINY34kpR/KVMLf YmkXgaAL+aq63JbhP/7g4Z6edfJy7ysCCVuLdqcQZNNU3RIWb61M= X-Received: by 2002:a05:6122:e247:b0:56c:ce0b:fecd with SMTP id 71dfb90a1353d-5760c09441bmr9346590e0c.12.1779196703128; Tue, 19 May 2026 06:18:23 -0700 (PDT) X-Received: by 2002:a05:6122:e247:b0:56c:ce0b:fecd with SMTP id 71dfb90a1353d-5760c09441bmr9346525e0c.12.1779196702531; Tue, 19 May 2026 06:18:22 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:3fb6:74e3:3c25:ba2f]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48febe7dd22sm143969195e9.7.2026.05.19.06.18.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 May 2026 06:18:21 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 19 May 2026 15:17:49 +0200 Subject: [PATCH v17 07/14] crypto: qce - Cancel work on device detach Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260519-qcom-qce-cmd-descr-v17-7-53a595414b79@oss.qualcomm.com> References: <20260519-qcom-qce-cmd-descr-v17-0-53a595414b79@oss.qualcomm.com> In-Reply-To: <20260519-qcom-qce-cmd-descr-v17-0-53a595414b79@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 , Andy Gross , Neil Armstrong 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=1394; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=5ItlPbuBhP65nUTpXCo9dRl8GJjRN3Zgl/exx3Ev5Lc=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqDGMI2QVh4QfndgsCdNJD5n4VcvO8wt8Q5d+K/ ZH44cIVyrCJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCagxjCAAKCRAFnS7L/zaE w7SCD/4naK6qeLv2LqSaYlys+AC2IFPuiySUYpicSD14elbykLxS88aNE36/HjJDfx2KdgTGz2E 6lDBGA02ogSf8A4sS02QdH39yDnTbC2VmgGbksHM7AysDFjO+oeKyayaE5ouP6zqjLUqYgD27Py x+c6BVd7KOsHWvLXGFWqBw3uz76d769SzY71UOkdLG349OLlqXANFldeuBs+YHoNao8cFvu4rCM 4QOwsctgpNtl2mBSL2dP6TQasIBVn35viGQgC1JR6GuDo6nV/1gasDUumnZT6gy/dA/vPbcTkPq RtltJxBhOWYX51fF5oHbJDQ1HDHGyq4eMzKbEACEPx3JvJIvo1HJ3xhfa21JFKemU0EqhKW92pX ao2iuSFx84uqCIHUAjYBsg++6WdkxeMmnsqL15nxvFhm/esX+gC9zo32q7MhweFuE5LkAZlSdfz OSw8pLIsXi4SBvnU05aOt9TogVAKm/1LO+GSH4PNvyrWNjb7jpGpslYy/Y29bK/mls72DZY1HPo Ct+K2s9AFrKoX4hwE+SJDRt2ypAWlx4mkEwauNq4/8I4ikevdgQSvT6vXb259DAQMSjM/GAuVI+ R1m68oimVXXb9U9tkbJC445i/80bOCPcc69OGI/4yc6wcjQwyQYz8JP9t5cQjraEqr1lIaMiS1C C5UV0W5yxOvAVBg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: pyEGMTbtc9_Ys_zRCL-8BAjX3R9Fkog- X-Proofpoint-ORIG-GUID: pyEGMTbtc9_Ys_zRCL-8BAjX3R9Fkog- X-Authority-Analysis: v=2.4 cv=a9sAM0SF c=1 sm=1 tr=0 ts=6a0c631f cx=c_pps a=UbhLPJ621ZpgOD2l3yZY1w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=c92rfblmAAAA:8 a=EUspDBNiAAAA:8 a=Jr3KVaxKR4ukTOMpvgYA:9 a=QEXdDO2ut3YA:10 a=TOPH6uDL9cOC6tEoww4z:22 a=GvGzcOZaWPEFPQC_NcjD:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTE5MDEzMSBTYWx0ZWRfX6BJ+TVTppe2t Ddmq3OSGW0d7i3qZE2PXF+ZYM1gO3iwu6cOMukUzag6lQoeFcmh1D1S62TdB1LcX2EmZwDPMcu1 clhojYf2iy/AXteeYD9A9srV3ROjGv9MDcZp5lNNWssVHwaY/2heLO/EAEa8YUE8Ea6WScQrhff Ntz8JaJ0O+k22axtAru3JcUk1YWzklzYxcJDDVIVIBHM/0NqRENcEwJ+xZjjCxo+oI3KJVEU4d/ JI1YgSXyhJjTsUYBYTyU8onwv7lEWKFdXB4YpMH3Xjbp5XBf1hL6owCYrkfC1vr+cr8DufzdGIj Y5mFFiJMc7XWauYMQ3NtzZlUz1Th8LWRNJynXab86KjFF7DoT02elm0GOXjW5EaElM9IO71f8HT wDx5xF2Uz9WVNJr9s9vG8yD0osMN/VNpRj6PMLwn7A/8EKYdDiJ/p0gFmAGQbepyi6JObQcucjk 2Z2n5CiAKLPE7hOmcIA== 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-05-19_03,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 priorityscore=1501 impostorscore=0 adultscore=0 clxscore=1015 lowpriorityscore=0 bulkscore=0 suspectscore=0 spamscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605190131 The workqueue is setup in probe() but never cancelled on error or in remove(). Set up a devres action to clean it up. Fixes: eb7986e5e14d ("crypto: qce - convert tasklet to workqueue") Closes: https://sashiko.dev/#/patchset/20260427-qcom-qce-cmd-descr-v16-0-94= 5fd1cafbbc%40oss.qualcomm.com?part=3D7 Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/core.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/crypto/qce/core.c b/drivers/crypto/qce/core.c index b966f3365b7de8d2a8f6707397a34aa4facdc4ac..e82fc862c74b20c34ea5abd6c0b= 98b71089a3fee 100644 --- a/drivers/crypto/qce/core.c +++ b/drivers/crypto/qce/core.c @@ -186,6 +186,13 @@ static int qce_check_version(struct qce_device *qce) return 0; } =20 +static void qce_cancel_work(void *data) +{ + struct work_struct *work =3D data; + + cancel_work_sync(work); +} + static int qce_crypto_probe(struct platform_device *pdev) { struct device *dev =3D &pdev->dev; @@ -240,6 +247,11 @@ static int qce_crypto_probe(struct platform_device *pd= ev) return ret; =20 INIT_WORK(&qce->done_work, qce_req_done_work); + + ret =3D devm_add_action_or_reset(dev, qce_cancel_work, &qce->done_work); + if (ret) + return ret; + crypto_init_queue(&qce->queue, QCE_QUEUE_LENGTH); =20 qce->async_req_enqueue =3D qce_async_request_enqueue; --=20 2.47.3 From nobody Mon May 25 02:57:45 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 6FA713ED3AC for ; Tue, 19 May 2026 13:18:27 +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=1779196709; cv=none; b=ueVd36sCE4zr6ml3HHmFpIyZNuEzCJf/neoXJNJu8OiZjp3tqG4amI6/2eqMySJVVs6zHC1IV/myd+k4dI+0MgWccSfjvfeUUQetCKktpU+JoRmF6HnNU1ghDRsF83p+4AGUQ8VcmvvGLD3vQ/h+2nTbq9catjiL1GRI4DnHDrU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779196709; c=relaxed/simple; bh=i/hee7JvrUVQKgQBcZArSmkn8SGmb1u4xa8efxbKLTk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Bz5F6QQpBb4eaTySYEvxEvLP2qzuVNYnL9fa7Xywx/xbrCa0ckzJcs3O/hM+PAnB77lT0rU/+NhfjLJ1GcrA2uov3gBtPvH0rLNC3NP1jYe7Ol//4Bw/mobGvp6vFIwUJPcjylMLxFe70mD60HSNZYBVvI8HXwKtJRUb9EAzRSo= 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=Wpp7bdD7; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=RSPEBmbI; 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="Wpp7bdD7"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="RSPEBmbI" 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 64J9kwq81257190 for ; Tue, 19 May 2026 13:18:26 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= Ntxg0h8brd5Zc8YpW5fnE29VKbWAlpqls1uKilqWgRI=; b=Wpp7bdD7iDoC4I38 aiPh4ic3YWuhFlkZSOFbiW+wWkkN3pDFK96/UYn2CunmxadYtELhHGPUd9U8GMfg QeG7IkA2xhGomE0b6gED832EVHwPplQtIoslT7KRtcesGYIMZ15aCpHJzttJ6sD6 OQ1ENe4MaPQxsgbj1/jFpuTvlfkE6fA74ZSpcsMXKP9timFJd0wK2fzF1PPnMw7A oSn7EUj24knHVSgMoKkS+4/I9WZp9uC2zre+EwZJ6RrDCmT9CH1vO4Q3Xpyeqker 5qn/b6NwF8kWB/wIjFifI6j51+aSaktOt2n+RjtFf3V0hlWKg2W4R3P6xegkiIIr ZIEgRg== Received: from mail-ot1-f69.google.com (mail-ot1-f69.google.com [209.85.210.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4e8nhj8s3c-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 19 May 2026 13:18:26 +0000 (GMT) Received: by mail-ot1-f69.google.com with SMTP id 46e09a7af769-7dcd7302f00so3777128a34.0 for ; Tue, 19 May 2026 06:18:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779196705; x=1779801505; 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=Ntxg0h8brd5Zc8YpW5fnE29VKbWAlpqls1uKilqWgRI=; b=RSPEBmbIOoGKpavHQ6lXwIS/2KowbHss/kcVao94NIlCsOMaHeo9FwIH4y966sL6A+ NNTJ2h4Ll74aodSWAXE0s+/gMlyeqKFK3L9Rg0z3YDBP6+DTucjfceeDN0n2jv8owR5I eHLN3fKEALjUbSf6GtbmuLWLZoWTu9FxmhAVJjQXMLRtTqVkaiC+drxyzRoAU5zgpX8f 0LzcpC5+TBV4ahGYQyKNhzeYT5R59MTA4YfLORghY89gko+MgZLN2tC07MVMg7eCxAhl sDIRYWp81LX09p1ymZs+7iPLFinsskfCH5fEghoxxiOkbt8nSR3rgDbvPt2mkmXv/QyJ EChA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779196705; x=1779801505; 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=Ntxg0h8brd5Zc8YpW5fnE29VKbWAlpqls1uKilqWgRI=; b=gkeWIlrBSnfMV5GfO6Lgl0hVsYw0/UhNxbGYSACpnCkI23/SS3Nb9iSpNgMcpy59PQ Bh/giFJ7NvcrKh5G+uiWMRkhx9VgMRbJKgQ6oip+FDtRFiFkN6yCrSVOTBOWzkAgO5OH 9XWdPwAZWpv2RuDE7vk9HQ6KeoZE6hsip2OFRwYcd8FTz7f5tdRQII1vN2x61Zv8lygL +8fLd1c/2ejURfKbFSYiOJ1Egrv09O6Yjh82h3pjemE1QI1KhJMYMi7p/8svYxmHiCXO fLAgI39SdfbTFhF7YT14HrNz1U1Vex/KLmuoHR2OR5QcCgiaJgFnbsvinQJfKK7/yTyK XFHA== X-Forwarded-Encrypted: i=1; AFNElJ+YEthw55bdusewawFGNTaajuWQXAgJoUTAEXqilRMrLtDGJALAjfSTG31UDZyqPyV4yksNSSMVOI77jZQ=@vger.kernel.org X-Gm-Message-State: AOJu0YyGwKMqBJ8m4TvfvLPEHE2eGc7NlvTyI2wkvgukOs7ZkStt2P5w 6nGnIMWVaIEHrNRbm3jntnb1KzdZ1i+ervgTeIYtPrmwNORtobqFiapLAfdd0d6t5bGGeNcDMAw GoDY9iullcWOiJ8pIqIJsW2IkSDOmabneHMK+E0lahI3Dwcber76JjvpbnHXSGv6ceeM= X-Gm-Gg: Acq92OGXxfrqUyRFmOtDSU/+uJHBjzn0tELjrQYdviAXB0mOdRaIs6tUairWP1oW24t ASmgpd5gjlvfVIo+fSAJ6Kzm+dm+NNk5D4YyW4pdCze7ACcFcP9A2Z9euA520eB4Vjcx0Ny8ygF zNJlLkbnZiHNzloqnBAN8SrN2MUkm3AL5dUmqXW3g3WkaA0rVKwmer0wvViHNpYfo1zECWaaZyn FMilad8cUn4RgltkrrciwLNwY15wyZ23rLoIexrdb6MUnPVG1ny8JRZS9NovCCEq8a8bBVKbdmS xeUXoO7RhSAK3IhRfXHZQz0Ki/KG1MYRJwf6Nz8niQL/dKsh3TWUQyP6XGlU+eSQ90SAGC0lxR2 AuhOTtiKlNDx+bhHxTFTxl2Iwl9rNeF8ayDJB7wAgpTZjSQKM3Uo= X-Received: by 2002:a05:6820:2210:b0:69b:8ff9:f582 with SMTP id 006d021491bc7-69c942ea069mr12773847eaf.14.1779196704896; Tue, 19 May 2026 06:18:24 -0700 (PDT) X-Received: by 2002:a05:6820:2210:b0:69b:8ff9:f582 with SMTP id 006d021491bc7-69c942ea069mr12773803eaf.14.1779196704457; Tue, 19 May 2026 06:18:24 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:3fb6:74e3:3c25:ba2f]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48febe7dd22sm143969195e9.7.2026.05.19.06.18.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 May 2026 06:18:23 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 19 May 2026 15:17:50 +0200 Subject: [PATCH v17 08/14] crypto: qce - Include algapi.h in the core.h header Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260519-qcom-qce-cmd-descr-v17-8-53a595414b79@oss.qualcomm.com> References: <20260519-qcom-qce-cmd-descr-v17-0-53a595414b79@oss.qualcomm.com> In-Reply-To: <20260519-qcom-qce-cmd-descr-v17-0-53a595414b79@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 , Andy Gross , Neil Armstrong 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=1314; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=gp3ozjJqNmPcKgZWuLmeZiKenwHgr/5p/hE4XK3neEo=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqDGMJEm+/I7jaukvMGFVKNTuI1fcVuKpYxWb+z EhXy4Ob8CyJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCagxjCQAKCRAFnS7L/zaE w0kDD/sFScbmmtz15PotswAR9YiIMUnrxV8XlWAaQrjE/X9I56qxQn0geSxVIOi0vlJVOkYfNKH h62TLU806m3MLp2yxzgc6zLaVPeDMc3aspdFE9y78JhaAO5tHEZePfCxirCTcFadJ0Q3qfJWHKT fGg8H3oDxEOAuwcZGaYN/NgcV2qMogjNjozLyEwe7Res4GS9EPC8ECE16wkMHyKXapUjo/zVxSh uHKh/n5/1JqFoJorSH/6vVzrlwQge/mwrMU3duAmpyVJjZmpAqLORLN9gxavRKbSdhC/+9nHcgv sMPbOo5V2fyLqDbBeDgT2/XqptGcjEFStiPoX7JY2THmWyQ1o9ZGwiZnd6uYGle5YiTSgQssAlk MACTDu/d6RkAPftlKNt7UyX2ZfjSZKYt8PlEd41aUj0QCj9g3m8OjU28XtYwnlZldOXeCaaw+ZX mmz8d68fkK2vgRIDQLtGXMLz1wdYLNxHFqawyL9NUnPS1wuUjN9YdDvR+ZVjawLcoqfbDIT/r1w mE5ustcH122bjCpa9uLJaLVDtKXEAd73kvRlAk9lIa29pzBo37wK0gxK+0XNsFcyyOfrqbwgLAO JUjtVG3+lm3oSp6D5IAzE6Jwi5PT3bEuwwq1XStAb5RvhTl8x6Gjcsfl6ikS2igyTROyt/LyEN7 FNVg7zAa6cEqO0Q== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: 19lIcJ6wrXyHKpJMtDIINSpGDtBP-o7- X-Proofpoint-ORIG-GUID: 19lIcJ6wrXyHKpJMtDIINSpGDtBP-o7- X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTE5MDEzMSBTYWx0ZWRfX3XlytCLCrbPN sVhXblHk+Lujd4dFHtkQd2S5uD2cnmbHZo/bBQ/PqFNXmUlm+lfSt56DWlO8rFB2nbjjaGC1FM5 8yfqV58zXN1LPbrVHzF0gE2aK6ErxHGtTztYeVnKatLqPlOGyB/OiEb4Npv7LCWsQNXZBUCz+Y+ fGwrT/gSdpFcacy3P+ZzkDD+vEh9cRENzwnsy21xU+vDydKMCUGDn+tL0FohLd8oCFlxQfsptzu bwV4c2usQ62keSZ70AgAPzVNERvUX3EOjGGYDITSvebaqFyrjmRDoIKfSLsthUAM+mkgAgmNth+ 41NgfpVspK0Ok5nkwRP4DHNMmDSvFDwRVNJ/jl4KZbpYDoAwGG7aswhYj0Ukp8DtYQh4BQLH8ET 09SzSjD9H/Y6AbPM2iU4uGsO52p2mqEJKgUO2Gchf/nULH28lpPt3Q9QPvsJnnBfDoddCtc+HR7 lIeUboOw9EFhWTn7nTw== X-Authority-Analysis: v=2.4 cv=ToTWQjXh c=1 sm=1 tr=0 ts=6a0c6322 cx=c_pps a=z9lCQkyTxNhZyzAvolXo/A==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=rvG61WhHFVBzVmnuldcA:9 a=QEXdDO2ut3YA:10 a=EyFUmsFV_t8cxB2kMr4A:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-19_03,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 adultscore=0 phishscore=0 impostorscore=0 spamscore=0 clxscore=1015 suspectscore=0 malwarescore=0 bulkscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605190131 From: Bartosz Golaszewski The header defines a struct embedding struct crypto_queue whose size needs to be known and which is defined in crypto/algapi.h. Move the inclusion from core.c to core.h. Signed-off-by: Bartosz Golaszewski Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski --- 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 e82fc862c74b20c34ea5abd6c0b98b71089a3fee..5f724db7c65930991218557394d= 99574418fb68c 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 May 25 02:57:45 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 CDB323ED3D2 for ; Tue, 19 May 2026 13:18:28 +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=1779196711; cv=none; b=HVD8fiKL/G6Nx9UOnw4Rqk2mP+9lFSN/C2qRcFQRZyzZccWxt0xfioln8Aeig5vBgn8SaMNHuYu4V4Zi1bHy/orqzEZ3HHPcn6eOVBbRdpuQQJ6g1znMGCBMHIJ/ty3aG904Jrzf4YpN9pXt6np0f1UcheK6cGf5BqX2dNlEPY8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779196711; c=relaxed/simple; bh=51qllpaj+ejQVsDQ4eqpW9Xup6eGEgdlD/8rDBDvfEM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=a296XqUDw97KHotEO1opOTRNu4wocHrHbxE9AA8kZZzUL0A556KHyv9Ty2Rwnj7F1Rtk7TAq8iN+/xWETVRo5eAswM52+9rCmUaxCTpx/2SjnItQZNjP1iRi94zYS0IVppf53ElgK1P+WL6MgfFT1rjtf5Dhtbvo+xQ1Bm4L/J4= 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=Q1bo/mAo; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=hSA0ajR+; 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="Q1bo/mAo"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="hSA0ajR+" 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 64JA3CjD1393139 for ; Tue, 19 May 2026 13:18:27 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= q6yvC1N0mVZtsuZtG+L0tsQS32fNOMK+fMHNLzdHkLY=; b=Q1bo/mAo0V1OTNRZ wkhuCwIGnnofizJZJrpioab4iHSHE7Eh0n/q8lVgC8wcKvRNINzWiCDHDFkwQI01 ltoICN1G4mozEHDwZqjAWBvVd0Z8j5u1lwWhM7dtP3IwlLGK6io9vTfeU9gXDXvi vqIRVD7R8I+u0HAiiZB1NJS3MdcB14o4nN4OCJY8V3AAaQypz4yLV/NgSeVEgGZY zWsqh83pT4utuA9R85hTe+snsOL74KLtWBNZeD7SOZIam04ZRlO8YI+o1E9aBZSt s33kvR2Cf23ih/QQhxHnvQ34F/k5GIKb5RYzqcIGAzL+esnLFAgrBCWHjQIJBM5M U7Td8Q== 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 4e8ns48qdb-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 19 May 2026 13:18:27 +0000 (GMT) Received: by mail-vk1-f199.google.com with SMTP id 71dfb90a1353d-56f73835016so2576215e0c.0 for ; Tue, 19 May 2026 06:18:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779196707; x=1779801507; 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=q6yvC1N0mVZtsuZtG+L0tsQS32fNOMK+fMHNLzdHkLY=; b=hSA0ajR+2pG5qy3+7D1pU+Iwyc/UZJrc/MGZ7pVFfQ1v8nhwVhRuWGxPxnl5JprMX0 dBz1W7fDdu5em5AcSmqb6QjbBMGiBStaYmCD1Inr0a8ynH2bYHlVlVGLvnwEKZXp8xMD Q8cjgcQSv8ZgyVddvL8YHSLnAIovvxMmxKo2zYvBtWQPl+q+swtABqWtjaMT0M8ZgRJO fFGtrkAzqTdGej8+fkML7M822kBrfKx3eWzJnPhTP2hETq5TCysOXYyGB7b3zNjEN8Cw Uzy+XagNXNo2VI6N5MDCn9EpdjL0Uqun+sqomDBB2W0HcGDFz/CN50kvUbfWEiyPpi9q dcAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779196707; x=1779801507; 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=q6yvC1N0mVZtsuZtG+L0tsQS32fNOMK+fMHNLzdHkLY=; b=JS95hjT6N4pbZ+SrwmfGL4DH553ycv27W6LpzdRanDCuhnhY8vXLjscrAMzIaN4uGo Tq6EOGL/plAkOS8PP0PoVXDXFx1kK4fhY/F/uoq/rb+QqoNqjcuUbhrD3jnRTx+Dpba2 vGUuN9K8p/zd/Vf4FMRaZszbPjcOcWNb3w5FjD/BmoWJu6cGW9cvrwrLnsB/r27D25we TK1xZUw0vO4GZxBcasmpZ7aBhM/M0ZGFWvDogOWW5+U+CPXmTWbRrvqBxvOMoIXlh6mX uEx7WltqCsC6AZxWAIs/KSMfntKQub3I+FfeYQIT0eF4mpoVdFCRwMU1qH0cB76nsLsY TYrw== X-Forwarded-Encrypted: i=1; AFNElJ+FWOBJNQQLrRdtXJUnTvKAf9pAZKNXs8h66uhHoNYbVJTIz/Q4T1b/mOwyBtDLrk/yqZSZA3khXz9Z0wA=@vger.kernel.org X-Gm-Message-State: AOJu0YxCi3zNMsh80UP1A5LZK8hJsP/YAsb71/suf9/6/ykLHQxQB6/O 5XiHJBqDZbnxHIaXQZ64NZiztpdL86KmKd+0VDXZvM6BeH3yA9R7RffCMC5wUoPlWhHKx/MwuZ3 h0BkTFnEHn/lVKsfhy7E4alMykthcb3P/sFE535DGk0USA/ICLvBRgVsqYnYyR+d+ols= X-Gm-Gg: Acq92OG6XzNEDhtU3gTM4ArRQLj1kyi8wxG47qz+OYqdk2wDC1J8k4AdaxbOKglTnu3 7ox+oMzsPZuwS/Cq8iRFJj/r6VDFZ/C1tybQba9zNSzBnufc21pVgZblJ/oisueSyRtGi//GjYf rHL6ao95npx3kdmxxN53wS7GnbpWrRwOl9MyT7PyvqE3L+6QjxDFki+RI8YftqRdRJfFGN9Y7gW Lfwbzn7sggy8qyFBKQRwztBy9pWIi+xw54h2us4bTwUR8VAUY2R+tzQEzV1DWHImoWilKDMxnt7 VDkw0C+4SsyiLjoQ+I/j7SSRyESlrswwqpsR4MjW9GmR6qmSnwcP6GIgp4s2efq9ueDmSRJxBF7 zZz4HLSkRQ18W+5FXcJ7vnY7xdIB9SH1d1SRcfzHoNujw7sbDp8k= X-Received: by 2002:a05:6122:3412:b0:575:33d4:d100 with SMTP id 71dfb90a1353d-5760c08e3b6mr11169007e0c.13.1779196706878; Tue, 19 May 2026 06:18:26 -0700 (PDT) X-Received: by 2002:a05:6122:3412:b0:575:33d4:d100 with SMTP id 71dfb90a1353d-5760c08e3b6mr11168957e0c.13.1779196706380; Tue, 19 May 2026 06:18:26 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:3fb6:74e3:3c25:ba2f]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48febe7dd22sm143969195e9.7.2026.05.19.06.18.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 May 2026 06:18:25 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 19 May 2026 15:17:51 +0200 Subject: [PATCH v17 09/14] crypto: qce - Remove unused ignore_buf Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260519-qcom-qce-cmd-descr-v17-9-53a595414b79@oss.qualcomm.com> References: <20260519-qcom-qce-cmd-descr-v17-0-53a595414b79@oss.qualcomm.com> In-Reply-To: <20260519-qcom-qce-cmd-descr-v17-0-53a595414b79@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 , Andy Gross , Neil Armstrong Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2066; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=n0Cml8iSZ+MTejAlSL1Cpzw3FwIEirUqeMzFyFiqzq8=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqDGMKz8dbjF7OBkf/RWRj0NdmRujUn2PqTJYgP UoYP+NdutGJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCagxjCgAKCRAFnS7L/zaE wyWLEACxE9gJq++Y2ztjc929ID+NRJzmKorqaatD9rnOJ59HccANwaGyRcQPvF0ibV9BoUDDWQM ojjbGC7X0xb50YDrt7VSKGjH1uOXZqQF2s9Mr08oG8RqVUEJo3eSPqB6mfBzxPGcuSskyYcZO3k t34wBDR/zLrowQ0x4Qic9MUtQ9MnpQck25lFomtF/kQS4XN0hy/3LqRclILm2tIzXqaBdPB4BnG Od9Ziz1vUvLZ9a0bDX5Oc9fxIMatqPNaYwB7TR3GprjBpXFcUWFPtqh8i1ul+c2Zm0sEl1VhQUs tL0aDHZvdjknkrDvUuzluoFJ6t2RpYDS0RrQ4qWFSa3pRcY97AuXyxNQeTs5v3HYlW8/W+Bloi6 zE+jlrOdpNROP8WHGCebpi5xceSwFCfxkkh2nCxbQncvNlvztleUAhA+jZyh4H665uPRyBFu2RZ HKwvY/ma7haHOPkQzwpIL7TBz9R6xTUkeCvyNQM7h6rYS1bp+GbMaovSf7+c5xwh1FrCpyGSZXJ 9rCxX/OEt53EH2y+2ueEXB5FNpmQFTowQxqQ/9ocadalWpyrttveEPrn0pOKK9B2807bqZUevo+ XfsF26GiHpGDm3OxL0+qpAu01hhLwgzz70FbzH/mOmmQxQd41hgDkrYeNOaIn+W/ciPT+U/d8Ry C5bRx2/yDatq8dg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTE5MDEzMSBTYWx0ZWRfX/oSlZjlZOBzV 6WPp2fHSk2QTNfMQxhijUWqqX9ROQwyLUBjz8IKtjmv71Wp1n1MztL8umX9XHtHm2E08SuyRJIO 5aGxIrvbUfMNw5VzeHda3c0E7xEEX0j/Kusgv3dCEdJUdVTF8ULHi3G5XjwP/GP1JkxQ6wbybZ7 WETjoA5hkTX59SY+IC4ImWejWo8EFQVBm/wDmuQ3SMOakCcHrSj3/ywC7Ilu/IiLRShGmBSgDYD gcXRUkKuprOm/mVyKdszb8ZYium1PMLgbMx/CEkDxOSXu818AmfGgciRepGOubgSgNCiF3Ko8nH mthfvKXkmPtWcLqYb4qOg2zt1TQchpX2XFWrpHWyuuk3fELCplLSjuuuJMJz09bq5fMt/LdvUQd 0QvK9LUV625zGYPuPtV78KFFDTfhauhzg/kl0iq8JaaZpzRMdiotzAzKy8F4gD6cQo4OPoCQr3b mPKKZNtWYIeoCZKTRcw== X-Authority-Analysis: v=2.4 cv=F6dnsKhN c=1 sm=1 tr=0 ts=6a0c6323 cx=c_pps a=+D9SDfe9YZWTjADjLiQY5g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=tWRRbWwrKX-5tUpmLDIA:9 a=QEXdDO2ut3YA:10 a=vmgOmaN-Xu0dpDh8OwbV:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: IVojO0sc5ssb6Dy7OtbFhKmjCcoeK5jO X-Proofpoint-ORIG-GUID: IVojO0sc5ssb6Dy7OtbFhKmjCcoeK5jO 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-05-19_03,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 adultscore=0 bulkscore=0 malwarescore=0 lowpriorityscore=0 priorityscore=1501 phishscore=0 clxscore=1015 impostorscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605190131 From: Bartosz Golaszewski It's unclear what the purpose of this field is. It has been here since the initial commit but without any explanation. The driver works fine without it. We still keep allocating more space in the result buffer, we just don't need to store its address. While at it: move the QCE_IGNORE_BUF_SZ definition into dma.c as it's not used outside of this compilation unit. Signed-off-by: Bartosz Golaszewski Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski --- 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 May 25 02:57:45 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 C50224EA362 for ; Tue, 19 May 2026 13:18:30 +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=1779196713; cv=none; b=EelDuOThbQJwilN8G3glcO3EEXLTlP72YiXU8LEN7x0dvYTX+ZKy9UdjCbj8dqkHhevQo2gDcLlBQZSFqVCjb4jbUz8BoWYjUFyR/WUzrpUMlW/Q55ry1nzSL9awOMuGCYtmUv9fNJs/Up9iHtwZf2CtWw6SIWAD77BcS4Czz+8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779196713; c=relaxed/simple; bh=Q2skbuYcneIldj1tp/vKCnWZqrb/wZJoRKDIAdO7kR8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=VB2c9CtZwh/hLE5Fjxpn+X7LmG0Ei9DiS7ZQmWVVPTbgMQbOf2JqfpVG7AII5xkMBQF5YWRsyQZUTDCTfxd6bmM1raMLpJtFpYxnlOOfRA3L0TumRzcP7AA6d3tLAjc/fkTIw/eh1tRH/AbZ0k18GnxtkRTH9Es09NSZszKyECM= 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=BjcZyfX9; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=LyzOg95c; 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="BjcZyfX9"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="LyzOg95c" 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 64J9nDc8254215 for ; Tue, 19 May 2026 13:18:29 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= moLln03VVvMKZIRmek9qRzT0EwTuwdZZIig7cvQ2zRU=; b=BjcZyfX9OW56lcFk qr3AoW5Sg2qj/bTx6Y7WBYJZTEKZ0S+l0XrnmIx0ry5I40GhxLQ64vIB/Scl1xtX TZqody7SAcqVe4iMnoN8xAiER2jb1TA715Sj3kGiEd9unBZ4qj+Gf3Vwwi96oFwS S98k3GKmxxgbNRQV1LhF2nOZFo2y6UcTcv4JwBMVQXnNvFuvD+FRJBg7GnVyDbTf Juxu5Q12v/CCo/EEf3aFORcmKVvbFepslulH9FaYDfdzVub7vgVYlAttR0aJCiaj BGTZAd8P0N52D9hrS+yLAf9TSmr60PHhK0qPpngHekJ3PXKNHf65IqI45fHs+5BW EFAJfA== Received: from mail-vk1-f198.google.com (mail-vk1-f198.google.com [209.85.221.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4e8h87t1h7-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 19 May 2026 13:18:29 +0000 (GMT) Received: by mail-vk1-f198.google.com with SMTP id 71dfb90a1353d-5760d43e659so8622878e0c.0 for ; Tue, 19 May 2026 06:18:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779196709; x=1779801509; 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=moLln03VVvMKZIRmek9qRzT0EwTuwdZZIig7cvQ2zRU=; b=LyzOg95cdAOTAXPLmHoxW4n4nijL5iTa+mtdJYcxhSSMByaaxnTkxOjk/O/VlmMRay FR7lnlxxw4xYg6M9qKT25amOdYcxq6fNFVS3SqnHRPiAqB3Z8UIRmI95tVoLZo8jI9mc lgQIUqgS4PCHgyqULdvuwxjyfIGeKnpY9seoa71wcgTLXNf6nhOfz1TDhJUw79F5V3Ph LDaSx0UX9Oo1Pl6jw/q2Xy9GMEM3Bnv2plr+boTZangxOWydwPKOTlb/u6dUD+C8wSQV tZ6tdAYipHdw8Qwj12ce5WpE6pwBzLqGo9HVDfIYS7Pp1ebSvlRB6Tda/4b7NPctF0hv pbUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779196709; x=1779801509; 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=moLln03VVvMKZIRmek9qRzT0EwTuwdZZIig7cvQ2zRU=; b=XmwczNoSSSxLIUoC8CR2wgaTB8ddFQeb3mRtFXWTDwRiuK3/pBjdoIaIrKWl1iz+l+ 1nkZZgfvg/tLtZlcv1ZwqmcvtrxG37IJ5yQIuarpUlCn/3m40jARgREQxSBn/WqENscn 4Qn93m/9Zd+0umQqKXcLBEQcn+O/bUoa0k5LIokpN2zEw5R0r+7tUJyuzq2UTJprjNV+ IH+uUm0Tjsrf1ESZAci+801BMZvh5D3d9mnnJc5BRqCYONL+dqWyYUha+R8fcS5xYpQc /+OtXHjzw/FeCtDhMU7/f6RhEVC9l76m1+zkf4HxTco7CZgTw+El9oOkkH2S51ZODYbE 07tw== X-Forwarded-Encrypted: i=1; AFNElJ9vKnSX3smVwEHl4JZPhu2r7Wt4xCB/iAoxmYXVI+cipSeBkCKQKZ/U2o0ovT0TCMsbUmAUmI5cmu65zJs=@vger.kernel.org X-Gm-Message-State: AOJu0YxWNvkMRdX/SoFOs0v5z4Rcjb4f6anM6FNIkxs6IW29ztdIiGvJ fhRyXg3Ai+URlYZTa7OpjOcA8MSkIQOu/qhgIBK7Y1uL+/jOc8mWqTt6U66pMcBLaCXQWiSRU9M EzmiHomo6App6ecPxMZs4uBfsvnPXnQkaeLwUhXHGuvtX7JnVpLs/59OL45c/+Okuei8= X-Gm-Gg: Acq92OFHEvoZ9b+T5Bg1HEKiz84Zt/8cNT2HaKS3krbzdTc/z+44ySTVKpy2/sUB51U yStZORzyoUddvjWdzJm3kvWtjlLy44hvaAzDIPsoR5+KhofjZWSIPl840jbPIWlxga5c/q2lnfd C9jVBhNtymx1q4BrJwM/jZbO0PpP3CevB1i79TdyO/zQ35jS3b92xMLSmiiqqo/iG1R66pyZDnx UylnQW0Qq9RVlL/iZeRmpXmbnoZbf2mdCThmGnBWm9mbpPEu1u8ue+ahz9QmQQsuRiFeR0TJbjP 7f/p915mr+gY+V1IF9Wn0585Gq9bjHnRJJ6QZRT06mvfld13E0bVSvWLUs+LGp2RYZIO8f/rs+v D8dN/lnmH1W2kgSmY5lzDgYVSu0x5rn1nCa9FUEeybpIthUCPU5I= X-Received: by 2002:a05:6122:3784:b0:578:9e26:e439 with SMTP id 71dfb90a1353d-5789e26f35cmr5125427e0c.10.1779196708970; Tue, 19 May 2026 06:18:28 -0700 (PDT) X-Received: by 2002:a05:6122:3784:b0:578:9e26:e439 with SMTP id 71dfb90a1353d-5789e26f35cmr5125360e0c.10.1779196708538; Tue, 19 May 2026 06:18:28 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:3fb6:74e3:3c25:ba2f]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48febe7dd22sm143969195e9.7.2026.05.19.06.18.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 May 2026 06:18:27 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 19 May 2026 15:17:52 +0200 Subject: [PATCH v17 10/14] crypto: qce - Simplify arguments of devm_qce_dma_request() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260519-qcom-qce-cmd-descr-v17-10-53a595414b79@oss.qualcomm.com> References: <20260519-qcom-qce-cmd-descr-v17-0-53a595414b79@oss.qualcomm.com> In-Reply-To: <20260519-qcom-qce-cmd-descr-v17-0-53a595414b79@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 , Andy Gross , Neil Armstrong Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2674; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=z8R+ergOMQqtDBFCzhyJGktXjtFI7hHEfPs4Hn3rlAg=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqDGMKVfVhUnZ6X9Zd2Eo0bF1f8BSs5/ZGQpiO9 hV6+UnhtjGJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCagxjCgAKCRAFnS7L/zaE w7IdD/4nEEUBAVXy5CuT/Ir8QkQouzdfD3V53LDe1R7dg2dyUuk+VJShWPPRnTGEo2C0+a7Lezj L7TGHgPbJISccas+3c1Z1GU0uzYZXtAGaj4XNiObEQILe7fiN0Z6/vmcfjyH4chgDlRWClc5kOb 7nwVCfqJHBEupZjPPUMGQJI6rD7sCHR7ydkVxN1rGk1ofXG2tj7PGKJqrQErTQtaQXPU7ppCJ85 yP2OaxDbw8QvULphApl9Gf7slKPi+vUOOUElsvlSBo22/ZNl1o82pgRVxdCdz+c/6ndppXII9jo M25dEd9CL58BFTj7cvsoDpWbzorhU7HYAwitKMVdK8EZQTqzM+dIYDcH5MjqGayV68kUVwTuqug UVk02hexvaEWxSpI6ctGboeQecBGkMuooqebMVKwoMPA7aoPYp6tFUNM6j102j4C3wSAw4oXBf1 U7fpcJEvPoQXepRe7zHxsmTQvaPuoOG4sC0nXAsRDYMwoRbWC+Pw37ft7P8YptBYtG3V8U2Qyh9 A4cz4lYzuokzHq52HD0erpEhUO4/msOJEHQ2ecCe9HSxH68cezqYiAqlVHo6dhUYv+ZIrAnZ0Ce iBS7bak7gPcQOgaJDxow3yNptpGzHcunMrxoKKbcObWiaTZqyplN7o2hVGcYNFBwvyZDuloQSqc pa//L2nDAR8MTUg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: mpcuN5vOtPTq_xxDrQiP_tWBA_xmv1bU X-Proofpoint-ORIG-GUID: mpcuN5vOtPTq_xxDrQiP_tWBA_xmv1bU X-Authority-Analysis: v=2.4 cv=a9sAM0SF c=1 sm=1 tr=0 ts=6a0c6325 cx=c_pps a=1Os3MKEOqt8YzSjcPV0cFA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=lH6k5GM5CfRwGFUYfCYA:9 a=QEXdDO2ut3YA:10 a=hhpmQAJR8DioWGSBphRh:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTE5MDEzMSBTYWx0ZWRfX9996SmOgFKQv t3s8zARpjulQSSLUVLM2F9P5Qeo9VLo6+WW0MJ2KEc/0njDXu7aooDXGrqvXpn7ZJQIy0XqvMUB Y29Yrp75F74bTvBqJ6LKvdIcxLghpC/E/Rm1DOgUEU8fhnQlFedJBtI0uzMcP/rvwviATbfqAXo GIlXDnkMqoOJ7dv6nO15NZeToVX6O3rok2E+V31o/pDimqKrF69OffgVAS8jtpYy99vZpOycylR 3FeuckgNxEX59qKwvKcbh9eh5H7e04pBQjaNnhiNdMc+a/tIQfezoFVNDMyoXBqgkm8+98vcXGp /krppRxOEdxQwNagwSv50vpTBWCFwul20QZQ8Sp5AHEbMBbYxHJBTV3Il4mKrrDvC51OxviNy/C GgOZ0VkNVQyPhSYW4cH8xhztbgYYz443u5OwtsWvkO6R2sBWpT588l+I2exyULcao2USdU1S14Q KswAdRpVfG3QvVLP81g== 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-05-19_03,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 priorityscore=1501 impostorscore=0 adultscore=0 clxscore=1015 lowpriorityscore=0 bulkscore=0 suspectscore=0 spamscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605190131 From: Bartosz Golaszewski This function can extract all the information it needs from struct qce_device alone so simplify its arguments. This is done in preparation for adding support for register I/O over DMA which will require accessing even more fields from struct qce_device. Signed-off-by: Bartosz Golaszewski Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski --- 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 5f724db7c65930991218557394d99574418fb68c..90f44db6606173d8afbd295a6da= dea177b7bcd11 100644 --- a/drivers/crypto/qce/core.c +++ b/drivers/crypto/qce/core.c @@ -233,7 +233,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 May 25 02:57:45 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 8E23C4028E4 for ; Tue, 19 May 2026 13:18:33 +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=1779196715; cv=none; b=YDibTroXnydWQVMchp24uGm1h6i/PDko9mlf7o1sqbe6mEuBCn3rieGbizAAKQQ8xmo3ruHouQ3GIQxQ47zbLPDUo8oVW4bF7N35V6T01HiAnF4NuJwvr/fkOjLkE6cltHqkDlkOehoZk2CyI1aQwH2KVo2MbCsSuivQ2QpHC+o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779196715; c=relaxed/simple; bh=9uIzNvyfvjB7Lfk2BX/bVvJu1lFsXDUaVj1eiyJyLZE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=oygDnSJLG9TXaFEGzm4LGefV6koG5tggRAbEWvRNRfpZu1Ed4IawNhAK4yrK1+Q4YC9qdxsMtW3PyG/C4q0IwXiMdEj8+Q1dMrJBbfIDSCcV6v7FwBoh1TWQBjPqe20tMzyVkcsFbScz/+7iZw/3pgHxoSr5FCO0f7qzZk/NDEk= 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=MuNNPpeS; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ind2SGDR; 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="MuNNPpeS"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ind2SGDR" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64J7UOCh1147627 for ; Tue, 19 May 2026 13:18:32 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= rUFRedyxv2ZWJh5/udxxljoSXdv1UlG0qZX9Fs/V80o=; b=MuNNPpeSGs2mmyOE 81M7YgB8TXY1c8g2eOoiNqKrUIikddT3MhnsM7bxqdWjcB3mVWgIhaGbnjtvt6kw ugWAK9iZlmaV3iWekg8o5s/Ui3K0CnW0ec5zrrHKHZHb53eLBBu0zQoxKjzcM5Sn 5xvusjrvTqAw/m5T758jrUjgwGQlxelP0UosZHQD2xe5LTLYzPxsESaU2F2836fV DStVRcwUgTvjM93YXd7dCeEtMe1tnEs91t9jNAksxoeJEmhgRt4X6wNqryPnFgeJ ygDT15NlIvtzobgyfvWaY7+tr7XhbE+qZutF2bsTCU/eu39OepfAlmsyn9FbGRBL cf/XuQ== 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 4e8e7ejn0x-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 19 May 2026 13:18:32 +0000 (GMT) Received: by mail-vk1-f199.google.com with SMTP id 71dfb90a1353d-5752402f5e1so9491447e0c.1 for ; Tue, 19 May 2026 06:18:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779196712; x=1779801512; 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=rUFRedyxv2ZWJh5/udxxljoSXdv1UlG0qZX9Fs/V80o=; b=ind2SGDRVfdK7KA5HJDohhwlOXs004fO/gv+21/fzcprNbU0J/6sA/fZ4TjzULst++ 7Uk0/y5Nl7Vn628V6jLjHDxt36BO+IIkcGIsFg/k8HFt3qSefr8RAdpQP4rIYiTR6vq/ 9CCPZuOz59OGPpCgridMNJWKg0kVenvIXKf1pqWBcb40uCbwS89rQ+3U7IJx0wAsg9UC 4loJp9JVy2e+ByM5ornJbq8trMONn5/nGTFeZhkeDdTSMJXCswcxlX5Hp32fZ+2pxYDG JDaEmo8g2gwnpU9NMDhSfn6aIEw245s8ZHCOMgR3N5KCKdZujfnC4tUJb7KnSCAGV+FX rxBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779196712; x=1779801512; 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=rUFRedyxv2ZWJh5/udxxljoSXdv1UlG0qZX9Fs/V80o=; b=DJLrq2fArJIbXvfy6ZmLpKmIGVXTTda0mfFWuASl63iVxubQQKPOsWFetlZGcu0/pa 4AJowYnpboOhHAkml5Br5B3c/tnF0s4Grurj/QaRtff+jxT+jbK1KzyNTBLCMmEB/qw6 yxdoEW8mnYxFtpPrSvyXXXjx1W4HMufOOohPqMaxDLQ3/L+28lg/B86UcOLR2DBsL/ZI uIHlv4QPD0VfYCmefQPCIWvTSDYyaViST+6NaVCgAxIi3lFir0i1WufCg5H+eFpSyhqH xp7KAauhVQQu/47kaZFUw2iCTQvC0tdJgdUQWg7iTgx9mt/T+s+bfBwzyUwA5IhvUz92 BVpQ== X-Forwarded-Encrypted: i=1; AFNElJ8Php6EbkrTR4ypa8V8v95l3i/pmFAtUqwVOXVtUB3LpcJF8DP06+IXPvrLkN7kbTECeOhnb2EMRWw6ppE=@vger.kernel.org X-Gm-Message-State: AOJu0YwwiUg1APl3/n5zEv11tO5f9RWLPdGZHROKVqb/xqyroiAZrGQS cTbSBpsn8BboPq9XkAilkyXnB4F8baPLjBVVtQXvSLLAeoHhRtHA58i+Y3mFiGRWUivTyEvL857 m15Lmm5VDGkCuD6xeHCzk/CkxnbnDUT0G8hPkRK+S8vjqH9T9nHXrudDrmwfMGb1Uu0U= X-Gm-Gg: Acq92OHkrb7MzYp9Vc7YznDzYboQfVZbSklp82Ls6flSeJ3A0VU1AF3UnPxgn9nW9eP y3g00PyopHGJ99T1EN6KIFiYs4tWVBKLnGt0crp5uruQfJfScmWhQEFWrXa3WyXN2HKOf97LH2M OUqI3kR/4h1A2wTEL046rrMhIXx1TPKlHf0obez5cBjxku0KSmGVSP86mJfi7jc86GucGrKog/u viKBsCvHZZowSDoegCYYRCj0CFPxtuaeNxAn7ltcgnDtkQkbaL38yM50fmM0+eN8658OnLL7ChN /2HBVO987FAJMt+qgB/bD0Ijp4SYRTA+vAM1Nwf8fVSV0JX3wQB1M/QtORJTD+bZtVhJPcqbFaW uCvcSyWsRRruHpmyqMmX82NGri6XVGu9TG5L7TkZKccxkqCDuG4I= X-Received: by 2002:a05:6122:338f:b0:56d:31e1:2c9c with SMTP id 71dfb90a1353d-5760be39b65mr11841959e0c.3.1779196711779; Tue, 19 May 2026 06:18:31 -0700 (PDT) X-Received: by 2002:a05:6122:338f:b0:56d:31e1:2c9c with SMTP id 71dfb90a1353d-5760be39b65mr11841884e0c.3.1779196711297; Tue, 19 May 2026 06:18:31 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:3fb6:74e3:3c25:ba2f]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48febe7dd22sm143969195e9.7.2026.05.19.06.18.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 May 2026 06:18:30 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 19 May 2026 15:17:53 +0200 Subject: [PATCH v17 11/14] crypto: qce - Use existing devres APIs in devm_qce_dma_request() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260519-qcom-qce-cmd-descr-v17-11-53a595414b79@oss.qualcomm.com> References: <20260519-qcom-qce-cmd-descr-v17-0-53a595414b79@oss.qualcomm.com> In-Reply-To: <20260519-qcom-qce-cmd-descr-v17-0-53a595414b79@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 , Andy Gross , Neil Armstrong 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=2326; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=Kub9ORcm7+PjuGNnZqvGfNQgLhDmAjRY+udGQlXYRFY=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqDGMLWsN4P+y0sI6nEo3BmIFA8t/ghg/wXe5qA Ql+ONm/pqyJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCagxjCwAKCRAFnS7L/zaE w+krD/9XHniBTHaTTIndeLMo76y+ouTTwRewnyUZAauiPo9reRkjMHBltEt6SiBr3iFPGpXAd/6 L5gstUto+856tZiKAd1qNe5g9kXSm3lHbgb6xadcJWt8F8zuUgjnW/4VbXV7Ix+2zOHWIyvWYaM TkGjKDGFRV2Sf2t9XJ0PbYI9yHZH5RAwmHSP2iuza3+1OddN5CbKu6+DPNJs2ZOmXFFvexdbUZm p0Q6CxK/HpRDO+NbqOiM0zbEsrySJ6l0QpNUN53D/0jPiCAsZFNJ8SJTmhUhWhKsEsPFdwG2OCo wHaKp6PACef7O6n0awDeHXX4JGrv6wL+1SyAMIN0JNPbim1hmscQFqjQncKd3mP89sb61pMLRAj NsUbg1jOdeilx3GPB+WM9z+Jp2gGEQBsDqQg2uHL+OjnvqecGyNTgx4iICm8XGSEcJ42Xbbotvh oqanh3S9oO/3tFeNad0mNGjeW9yXc9+ZykbexBzgVU5vCrqRbiJ7hd8Sghs80HnopNR0d8/ANsP MQZ9lXcFLzDE2Ykwb+8Wm5gx+ordD7EQxkmcS45P0E6uk7GZnhuaeh069x6H0KoEHSIKA58nfVs 5r0XXSexj+81IATdH+zKC6mtGZL7Lme0jvulvWJjxAVM2WWtbMT2X1jatuW10rVrm93LBCKp2D0 RbzhD8Svhh5rK6Q== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=Rt316imK c=1 sm=1 tr=0 ts=6a0c6328 cx=c_pps a=+D9SDfe9YZWTjADjLiQY5g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=VwQbUJbxAAAA:8 a=r78XHnC5kAO70zNBxnsA:9 a=QEXdDO2ut3YA:10 a=vmgOmaN-Xu0dpDh8OwbV:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: 5ZqX1yHaqML4-Q1_zhRwaolXgAk4lK5Z X-Proofpoint-GUID: 5ZqX1yHaqML4-Q1_zhRwaolXgAk4lK5Z X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTE5MDEzMSBTYWx0ZWRfX3AVf/+BFmaFk lXokdjahFvjmINYAja0yq4Fggu9toz/+p3gkIvdeqk4IncBu3Z2JC0awW19NLjny0jJuqS4PSyn KOwkI4pTfqMJPM/oIgGKxatxAAQiYrdA5IZsuFjlxJKPvd4rTBi0ns10SmFwS5Jbr1yKyH60142 /V9sNyiqjL37L3ZGBeUHEmB8nZAGsOqYmlu80RZbUE+3LHIa7d/q1YdmPmjM3s+cLKHngfCondf 1YrdK7xwKLt/powLKDdICrI2v5kmAxlbk+spIS23xioHLTF/eZcNTT81nZJ4W1yjUDX/I/1M9P2 PTXw36ck7lt+myoAeT1gGheaAYt8WFWhjujLUTIVxzFv10/Ku1Yp+H7DF956PKkrFudHPAFbcQP Njjm2csKNoX66b6jPM4qVzXgk9ix08z6ZR97LdwomZXIX3uH0Ekx1PGZt9NOp8np6wbQuO+NuzF q60FiHMYAzaixdgyzYA== 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-05-19_03,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 phishscore=0 spamscore=0 impostorscore=0 lowpriorityscore=0 clxscore=1015 suspectscore=0 adultscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605190131 From: Bartosz Golaszewski Switch to devm_kmalloc() and devm_dma_alloc_chan() in devm_qce_dma_request(). This allows us to drop two labels and shrink the function. Signed-off-by: Bartosz Golaszewski Reviewed-by: Konrad Dybcio Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/dma.c | 41 ++++++++++------------------------------- 1 file changed, 10 insertions(+), 31 deletions(-) diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c index c29b0abe9445381a019e0447d30acfd7319d5c1f..3db46fc0c419a0a387abce93649= 084fbf4b1f128 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->result_buf =3D devm_kmalloc(dev, QCE_RESULT_BUF_SZ + QCE_IGNORE_BUF_= SZ, GFP_KERNEL); + if (!dma->result_buf) + return -ENOMEM; + + dma->txchan =3D devm_dma_request_chan(dev, "tx"); if (IS_ERR(dma->txchan)) return dev_err_probe(dev, PTR_ERR(dma->txchan), "Failed to get TX DMA channel\n"); =20 - dma->rxchan =3D dma_request_chan(dev, "rx"); - if (IS_ERR(dma->rxchan)) { - ret =3D dev_err_probe(dev, PTR_ERR(dma->rxchan), - "Failed to get RX DMA channel\n"); - goto error_rx; - } - - dma->result_buf =3D kmalloc(QCE_RESULT_BUF_SZ + QCE_IGNORE_BUF_SZ, - GFP_KERNEL); - if (!dma->result_buf) { - ret =3D -ENOMEM; - goto error_nomem; - } - - return devm_add_action_or_reset(dev, qce_dma_release, dma); + dma->rxchan =3D devm_dma_request_chan(dev, "rx"); + if (IS_ERR(dma->rxchan)) + return dev_err_probe(dev, PTR_ERR(dma->rxchan), + "Failed to get RX DMA channel\n"); =20 -error_nomem: - dma_release_channel(dma->rxchan); -error_rx: - dma_release_channel(dma->txchan); - return ret; + return 0; } =20 struct scatterlist * --=20 2.47.3 From nobody Mon May 25 02:57:45 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 D93443ED3D4 for ; Tue, 19 May 2026 13:18:35 +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=1779196718; cv=none; b=LQEd0SZMZTlx36tpSRHXIgd53QefBEgkiTPz4q4WjysjlkcEHYmm3yO2arIkZtGkUX8NPUks82QLenPNnBEi0GZQuRxwTPYrkOJthi/eG/26LEJxvhbE+BoBN4l5KHAJMBiGgRwcvXjJNFO18XDDsaHzvmLu3iWQyih2OPqWITI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779196718; c=relaxed/simple; bh=ACfjNn0Xmi0xAz9LfKtOCRm3C6QBMsK1YM4epEGgMH0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=govgvD4tEE6kEzl/pjExiLHvvcmgB4Hriv/UM8A9Pf5xnMJGH8wxf52IXhmb/Ud95jZXoUSvBKHA4dIrp47F2OJDDy79JYgx2b4xtK0uqEK4IbjazKx7zln1xfr0592BuvOuYe8UGLa9lbqyh8I84KZoQR2fr8IMArNDueuL64w= 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=phvzaA6y; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=i6rHliRY; 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="phvzaA6y"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="i6rHliRY" 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 64JA7Z2g4131347 for ; Tue, 19 May 2026 13:18: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= vnYjXg4+G9V3/qfm1Rdkfn1Xa8dIu/5XX3bTDFJWAzs=; b=phvzaA6yv/M7JJ+4 DtJZkpZRDrCEE7J5bZF9aTtClkuLwyVtqR0IJZHyZDRPfG8rULQwz9Ijvyec4+qv VsgrtpU4BUWO9bd04Gro+RI2QHIPEpH/cCUaijwrKSmR4l2pBZpLlZyZRPYZ8ocD I8L+PJbUNArCsfpu53CIpuAmm5PM3yPx4lyMEzCHv6j9nWq9Yxs0kfkK3sVzIRvn Vm9++8V7XTZwYOPjhTzPoB/qlL2ldYHeydJqpgsL+hhHe1Yb/vdSiSCPrv4WB+Lo 5Rv4XiDE2gBxImx6XcIkZ7o4Gc2I7kWjfFUOzuseWgQPmFDYhXFk5VNjt5CaK35i EjODww== Received: from mail-vk1-f200.google.com (mail-vk1-f200.google.com [209.85.221.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4e8ht1hw46-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 19 May 2026 13:18:34 +0000 (GMT) Received: by mail-vk1-f200.google.com with SMTP id 71dfb90a1353d-56f6ef62af1so9984613e0c.1 for ; Tue, 19 May 2026 06:18:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779196714; x=1779801514; 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=vnYjXg4+G9V3/qfm1Rdkfn1Xa8dIu/5XX3bTDFJWAzs=; b=i6rHliRY7f6jJK6mTUoKwmVt7pVGQx1SOa2YaU3FuJhsosoQFt84cfNeuPhTMTpTaE erkjbKlJB6plg3vCyhs6//ulGSguFJ23uWTd95TrsR3A5yIRgE0v8nxPpEKB0LowkDt1 IuHJi9op6ewQGdVRJ1oaw9qM+fBN7+7ihL2Lk9rNyYPJ0dDijLmO7v2+BggN2vFnDiT9 lN37Yjgc7TR1Vu6hfWGV3QbVDdw40zeSZO8pLri8Hm7+yNxurDDZcmQ+J07+H/qrassD jZowObe7cx7E5/ZH7AAfBRAww+Mn5bq/WBqxxNh9+PZwIFagCT4kBYcW4kFx/gtdCIeF zB2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779196714; x=1779801514; 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=vnYjXg4+G9V3/qfm1Rdkfn1Xa8dIu/5XX3bTDFJWAzs=; b=YDZ9h5ZhMNQ1MfPhEATTdDxSpkTFKRJjuw/ZeuUVnN63O33gowFcXL8tjbgtW5MK5g 0dcjStxeFrlcuUn9dziBzQU0cmgpBUcTz4tXR6BKVbIW8XnV8I2/9sdiuy3yIAKeqdBj xhiMwI/dALp1T7crx3lXXLVETfZvIgsc2kJqoNGLQkgLYCpgN5lpdrUM8hhZdppSt/Em OeX0blf5aO/Gh8/AwkJxEBbFrLNztvlLTGV++o5mwTLgGsssX2N6bmFFep/6tOBT2i4z o3TWrf5z0t1JiXF+z+LzIajB4aSc/62F5Skv/PIbhDj9cCh83tsDReV+g0dzFSFyQSH1 dkfg== X-Forwarded-Encrypted: i=1; AFNElJ8Mkp+JyVOLsR2X9eJ12Qve2wjv8lCNYGLUAqDg92WNhxOFHbgyGVrd2Ztka5b96vEn/RCZgkDMBoTRgdQ=@vger.kernel.org X-Gm-Message-State: AOJu0YxtmE+Gq6nlSro3oNrfi+AInSLQVbTKTJFMe3ZZFczr3yxasBZk SrIvWESxqughojISMKa2ktyvvhC8QFJi6wtzsXHeQN2bE8+YGPjigkuvSqUVX/1ydK7nvXcr6jj 7YNFSNZcr4/5hKfphISlMjBgrHQ76IRxOlNqXSTAO7N6qbzjlGCcXykTW6fyKELhihO4= X-Gm-Gg: Acq92OFZlJkdsQ5ngLWDMKrOH1o3VKOficQjxgzauQvVB4ER3sT0WTsgFGzXx7IjMfh 4XPS9jj+b7l4RW7COfSC3X3pkPK8NuAARJCWByIuAGH3q7iOFvRxdTsTxSu1bSBgSXPRNbvMEmf oixSTWXyMcRWI/qnuPeYUcQ2bAq+cDpSNksFaJBWhxIwUA2eEF7q2V2awHAds+Ks0Ve0Mj0LqGp 17WU6Wla/oabQpQbGLxucrn6FwbW6a2doWjfKNhXH/Cv2VfZ7VFEAskRtmvN+8hmXIQrG9NSLuB pusxHYwJtZTAFZnlN6vrcO22ikVnCNAKWbCTEpAmkVDdlQWSypY3VKY12Akr1uJ37MoFxiFDvcE 1L3VJWSCjm1W3zH542OR11iyRySKHOLT78NdG2Ml0g7tHD/qLC4Q= X-Received: by 2002:a05:6122:8482:b0:577:48e1:8aff with SMTP id 71dfb90a1353d-57748e1c34dmr4550025e0c.11.1779196713916; Tue, 19 May 2026 06:18:33 -0700 (PDT) X-Received: by 2002:a05:6122:8482:b0:577:48e1:8aff with SMTP id 71dfb90a1353d-57748e1c34dmr4549992e0c.11.1779196713486; Tue, 19 May 2026 06:18:33 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:3fb6:74e3:3c25:ba2f]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48febe7dd22sm143969195e9.7.2026.05.19.06.18.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 May 2026 06:18:32 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 19 May 2026 15:17:54 +0200 Subject: [PATCH v17 12/14] crypto: qce - Map crypto memory for DMA Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260519-qcom-qce-cmd-descr-v17-12-53a595414b79@oss.qualcomm.com> References: <20260519-qcom-qce-cmd-descr-v17-0-53a595414b79@oss.qualcomm.com> In-Reply-To: <20260519-qcom-qce-cmd-descr-v17-0-53a595414b79@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 , Andy Gross , Neil Armstrong Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3111; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=LwaqCPG1Aiq/Ip1gw5isqE52deYIfhKxJV8LsPZOfRA=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqDGMMgUZBXtAun1WVICmoDrKlYXgwNP/Vtty4q LAYL2RvuMSJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCagxjDAAKCRAFnS7L/zaE w+nED/wOXv46s4GX7vrYvm0ZwRQQQ0Y7E6zST/6NIODzhLlnL+vsiagdUCEyu4PFaZckHGoYQKu cNyOGysFV8YV6aI2YIpQTQ2M5sJKPtDd2IXy13as45HSwlRSRV+iULi1SnE7ZU3kaiKb2+k0NsT iJxx+NokE9zo0+0+VWFFmgO+pkulbP14peCl6UW4uS0+jC5Q5ND6Bhk9PeoTnHIlbY/a5oiIQqx KEHwGQmVoANRMbbaxaH9BzgehT9a/f7BV/DPcGvYfrluShfiQcMJ/ub/Ru4g4pyL1mdhbyETYfM YoXa2wI7M7zhA9Stvpj3JJ0Yu7ppCvG/Hck0QmfLvWyc7IVrXfMpJvexhzlTKRsNVZR8wbT1dII xtqJL22Rb6+qIgqygmyuzZiiS30nm4HEKAgksbwCTPg3gQM49BWymwUwg0PfbYCNlxVCmyPzNHm 7WCt/CntNKJYpkGrX0oTVnq9wnHfzK2reZRUW9kUzIh52tm1uMfByu9Y7kCelBuxbrbXxEM3av5 LvXhZLHGLzTHL9x+j7WR4U4kjyuPWig0Z5Jk8j8ydi5x/GupqP6Z4MIhM0fjGshN1hazJjTt1cF BAB3MCZQ9RuGBZLVfazkIJ6mtWx/joYdpNcs4LoyFwFqAN5VTiwkPzCs5/odP0Rp5nIRA9twd2e LAGPCYT0mvqtFBA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=JKULdcKb c=1 sm=1 tr=0 ts=6a0c632a cx=c_pps a=wuOIiItHwq1biOnFUQQHKA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=9tNk7rGwWxUH_P3zroIA:9 a=QEXdDO2ut3YA:10 a=XD7yVLdPMpWraOa8Un9W:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: z8O3o7xK6QWmR3TWfzD9kY78L9iUdp8o X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTE5MDEzMSBTYWx0ZWRfX6KFVelIH4fqv yxWlOX3KjL/E/WJ7u1IVxvm6HOZhPnt9rIaxSCsvlHbn5r+FMaUxrEA1xjp+bXhCi+ukbE6iCQy ZD2Bs9jtZ2U3+QL+8ZHNR938JZ9UJi/wGZQWAv/tHiGrPo1oCnXhAQbGBpsihvdovRof00Xd7Bb wlY3mXGsnU2gK+oOGIAuRnKo3j8zb96kdkgXpMuEbTwGlD4E4j6qTyAOMboMW6aQj8KC5VmYEwu r+KDJtwHx02RuQOVpYmsfx4ExhO3XdKo+sPkxH/C7/VAu45bAIYJgrrAm5sMqPDNqe/EjiToWsD 6s4HVBcbDW0ZziKD4GwERFIf+ZIssTQ7Wlxg1VXkygWQ9RYrvsjM8Q8cqAVEzmSgjdeAQdHj2cn OZxqAg1FpE9qRTSTxl4gZJYhJ8V05q+GIyCm5u/b7ijr88oFCc6nIamvNvvaHQ4SIKe5F0LmoLU TFOZTFKnOQHZxQ/hlpA== X-Proofpoint-ORIG-GUID: z8O3o7xK6QWmR3TWfzD9kY78L9iUdp8o 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-05-19_03,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 bulkscore=0 priorityscore=1501 malwarescore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 phishscore=0 suspectscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605190131 From: Bartosz Golaszewski As the first step in converting the driver to using DMA for register I/O, let's map the crypto memory range. Signed-off-by: Bartosz Golaszewski Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/core.c | 23 ++++++++++++++++++++++- drivers/crypto/qce/core.h | 6 ++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/drivers/crypto/qce/core.c b/drivers/crypto/qce/core.c index 90f44db6606173d8afbd295a6dadea177b7bcd11..92e551f4570c0c69cbbbb709a07= 52fbc16c307e5 100644 --- a/drivers/crypto/qce/core.c +++ b/drivers/crypto/qce/core.c @@ -192,10 +192,19 @@ static void qce_cancel_work(void *data) cancel_work_sync(work); } =20 +static void qce_crypto_unmap_dma(void *data) +{ + struct qce_device *qce =3D data; + + dma_unmap_resource(qce->dev, qce->base_dma, qce->dma_size, + DMA_BIDIRECTIONAL, 0); +} + static int qce_crypto_probe(struct platform_device *pdev) { struct device *dev =3D &pdev->dev; struct qce_device *qce; + struct resource *res; int ret; =20 qce =3D devm_kzalloc(dev, sizeof(*qce), GFP_KERNEL); @@ -205,7 +214,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 @@ -256,6 +265,18 @@ static int qce_crypto_probe(struct platform_device *pd= ev) qce->async_req_enqueue =3D qce_async_request_enqueue; qce->async_req_done =3D qce_async_request_done; =20 + qce->dma_size =3D resource_size(res); + qce->base_dma =3D dma_map_resource(dev, res->start, qce->dma_size, + DMA_BIDIRECTIONAL, 0); + qce->base_phys =3D res->start; + ret =3D dma_mapping_error(dev, qce->base_dma); + if (ret) + return ret; + + ret =3D devm_add_action_or_reset(qce->dev, qce_crypto_unmap_dma, qce); + if (ret) + return ret; + return devm_qce_register_algs(qce); } =20 diff --git a/drivers/crypto/qce/core.h b/drivers/crypto/qce/core.h index f092ce2d3b04a936a37805c20ac5ba78d8fdd2df..a80e12eac6c87e5321cce16c56a= 4bf5003474ef0 100644 --- a/drivers/crypto/qce/core.h +++ b/drivers/crypto/qce/core.h @@ -27,6 +27,9 @@ * @dma: pointer to dma data * @burst_size: the crypto burst size * @pipe_pair_id: which pipe pair id the device using + * @base_dma: base DMA address + * @base_phys: base physical address + * @dma_size: size of memory mapped for DMA * @async_req_enqueue: invoked by every algorithm to enqueue a request * @async_req_done: invoked by every algorithm to finish its request */ @@ -43,6 +46,9 @@ struct qce_device { struct qce_dma_data dma; int burst_size; unsigned int pipe_pair_id; + dma_addr_t base_dma; + phys_addr_t base_phys; + size_t dma_size; int (*async_req_enqueue)(struct qce_device *qce, struct crypto_async_request *req); void (*async_req_done)(struct qce_device *qce, int ret); --=20 2.47.3 From nobody Mon May 25 02:57:45 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 55903408121 for ; Tue, 19 May 2026 13:18:39 +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=1779196721; cv=none; b=uZcaag8IFFerRxilFq5ArpfA3yErA7sdfKSGCBa5odoWyI5O6IExh6in/bhaWfU4degYNX4if0MPo3icam+2W/hChd0PI/s6jOyPrpz7dkhKFceoQfH/zfM+Gtbw4uuGwQ5bpL81MTWcqyIRcHhx561LjW3Wsq2ojPN8G8w9Cl4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779196721; c=relaxed/simple; bh=2QhMLRpY944u83yDkcKOu8e6NndElvZMHRFS04lvfjw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=WhB9KenJHTn27ng1dLkQnqkrbsIXx5Nx3UAb7etCPCZcmRm26th+shk0qqyPZZFMbBU2JB+4r3xIb8880dP0VGHtW+h0iTkBiy8HPsmcf3cGFJdQydFfJIAhJBoMVoSRhltHN96ZMzwRgHbQqre5+3bRpdntnJmrw8LXKqu/kvQ= 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=haqH74so; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=TLL2QyXC; 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="haqH74so"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="TLL2QyXC" 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 64J7qbvG2975394 for ; Tue, 19 May 2026 13:18:38 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= 5GlyGg4/0Y33wv9l+VYbeg6zivTBYMQf7kD3PUmedfI=; b=haqH74soNn5kjpos gxQn2sbll0Uewjvo1v4gfwnWNDt6i0Ct9DTe4eQG0sfIbFXLjIuQfFPDa+mNTC4M Aq87yzsSJ+k/yahv4c1MdlgfWCxUyUZCGobC0CwqDJVPo4/Yqvun/cDoZnaThY5f YZmUl+FN3XMNtvh8Hls3DzVx0JIRreGHBWD70It+wR+mn1SqZUjYcSAKGsuCVO2h KCCHanrAIsNe7XYOE7d+/Yc8VTKjUUx0ioiaCJJtK2ZvURVCVz5asWsyVWLiaR+X /wkrFjP4ODvLwYqOKL3jm2rsLc+IQuqRhLYvH99oQgGDL9XmaXOMG7oIFgveHUMJ bMyaLg== Received: from mail-vk1-f200.google.com (mail-vk1-f200.google.com [209.85.221.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4e84v4cmy1-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 19 May 2026 13:18:38 +0000 (GMT) Received: by mail-vk1-f200.google.com with SMTP id 71dfb90a1353d-56fab6d9242so9652642e0c.0 for ; Tue, 19 May 2026 06:18:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779196717; x=1779801517; 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=5GlyGg4/0Y33wv9l+VYbeg6zivTBYMQf7kD3PUmedfI=; b=TLL2QyXCdafkSbSyLLgyNJTcv+pTOo+g53igkPJEDJZsvDiiAzcQ8lAJCUZCXbtcyh YDw2fGd7EMTOzll83zGN1zp201aVIro8Pkb+Mbo6AHJbsDzZrkGPZNiAZgsmlLT8j8O4 cGgYxBHunDr1iSFa+rQfD4wwSGhxKQkfeTYTIEDs2dFEcM6GBJ2DR6VfL69Zk3lSJ+sY OY+u+2bB4PKHx/GtinxVsRR+XebFgxgikd54rREJ7dipROyf1/Cb86B8HYBQlaQzWdT4 CMwlqAlhURqJmLNRtmWN8uMzdNp2ZjHHmMAhlxa8W5Z29jqcQU7kxvEuz5GSWG16Dq98 y1+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779196717; x=1779801517; 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=5GlyGg4/0Y33wv9l+VYbeg6zivTBYMQf7kD3PUmedfI=; b=FXU8+if3++cfpIWzOtMJZ3XTSYSTl3zdipH+BdD2/y/07RjTka2kAK1JOYYC0jWnob vzSwB16M2/uMrz0R4IkMLEdBJYcEAN9yv8xvTB5BF54TYb7YILYrDkoCX1XDtHPiE51p NYPrpESaFWRQLxBg1Xw379X1g+fjUkPAQm3esj5+P6JQkmjkVLXAoFA5HwnQjJchMQt+ XIVkI0LyVCSJFG2IHol8hw2ZiGLXlRjfz/1SNbxCT7qF63SEJP620z4tq1bgzKuWyreE U5iuRehjZXrGNyIYeVyxbgb06Ml3mKCV7MV1LPJ8myyLxAcqLR4ag1EJZxUCwGd3H+ZB KODQ== X-Forwarded-Encrypted: i=1; AFNElJ95EbL+jcL2VBVXCBq/3+CwiN2JYrDH8xRwcO/lkqc9kIuuoLcEsCc77cWpa6s3hwTzfHvEqZ/B72YhpqY=@vger.kernel.org X-Gm-Message-State: AOJu0Yxa/Z+2aEgNPL7moTyr9nQz7792cF1F8J+wQo/CqmOZKJDRunWN LkLH6THO/G8OZ3lvO9mihxbW/CluQtlMO/2meJiGqdpOZUu9ykVWOud+k/Y4N90H/J+2TKlMxwP Spi4anZ0EwBMUDKxHaxdrstbx6Oq4xabPHDJ12etZlIzVrqpY5MOvTOS7Js7b19qZr40= X-Gm-Gg: Acq92OHinMxYvzkryyE/EqZL2K9+8oqQwYt2Z7h6uOuw6suCaHeUBQD0SZgkG4VZFxD lU4oiWxMDplb622f9VODqX8+gFIyn8R7B1AOEzC2kGbBU+WQ6sz+OYjK1tS/V7+o3OPXavqQYwj oe2Zz0fnJDN8VjxTZGVGwrsdHBChjtIh9P81M3rkGde8XF8ZkH2R7F8JHwKmh82WGFzF+Vcfo24 obD5N+C4MSLfYer3qk8N0G1s3Y0VVzuGnY3oY2aEaHc5PBOxNBBb2FM2I21yCL9bnFi7KEx6mIH gAfgI47vV/s2eDc/O/4hNBZ/IHuWDsYrkOy6HyWFIIODzCGtaGVgqVEoTLMx6P/IFFeWo9VXk71 vNTQIhhbeLgiYt/hT355KP1L+MR8056FQOY7OodkmBrpkSFah1Qy1qFz37Qe+Tw== X-Received: by 2002:a05:6122:181f:b0:55b:d85:5073 with SMTP id 71dfb90a1353d-5760be92579mr10733466e0c.4.1779196716694; Tue, 19 May 2026 06:18:36 -0700 (PDT) X-Received: by 2002:a05:6122:181f:b0:55b:d85:5073 with SMTP id 71dfb90a1353d-5760be92579mr10733380e0c.4.1779196715646; Tue, 19 May 2026 06:18:35 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:3fb6:74e3:3c25:ba2f]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48febe7dd22sm143969195e9.7.2026.05.19.06.18.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 May 2026 06:18:34 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 19 May 2026 15:17:55 +0200 Subject: [PATCH v17 13/14] crypto: qce - Add BAM DMA support for crypto register I/O Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260519-qcom-qce-cmd-descr-v17-13-53a595414b79@oss.qualcomm.com> References: <20260519-qcom-qce-cmd-descr-v17-0-53a595414b79@oss.qualcomm.com> In-Reply-To: <20260519-qcom-qce-cmd-descr-v17-0-53a595414b79@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 , Andy Gross , Neil Armstrong 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=12913; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=jreRFOfgn/VYnkaM6wuV0J8POfaxN42uyHappvHAP1o=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqDGMMrpsH2A30FeN3kN7IUQk7eqOJyVIRMC6yg vQb9ZAzQyqJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCagxjDAAKCRAFnS7L/zaE wxMGD/9hDxb/tIcCc41EnarspIOdCW9A5r6UQJNRKbhqJc9Wr5/zewJCzBWTFnLzluAnpYMCms/ 2HqwSIGbnU0Y3DsAxnfEk7Sz92F70vxEPcgtiuxmaPH1ONSAQ1lrvW+w5wvkUS/HunIeI2ovI7Y sBOO48F9ml4OFz23Q82fe3wj+rpSPTEuYmKxBzpwiD/ysTmWfnwo7D7IffztTKPqCD0t3lPt+PS dzV00FXeUH0j8SlUoaJtR8fxXqIEIk3Nx5juEjU/HJ3nbYdfjlWxGqMn15oEeXpASABRWwjsitY PGA14N/fXfo207lQB91TpH0kZ3OklLlCEsmbtWEu1EMq21zbpehZ69K4sJzjrfYUsMs86bC6ohI 3JJXzbN8usiWtLPH7jUNb6+AvFUK8KfPdJ8T2W0Fpc3Yn82UmI+uRGn5wb+LbmIwQkc5Guu89D5 AbrlqMqL9o88lHcoUnncIu4eaJgKHeCx6LGKDpjRX5rn5gTIlM1OrnPpgMru9wwFFCIkTl8uqET z++C6fjMNgb1AD14N4lMNHBWKjUpx8/QFA8hmYhWMOYNzTcrKvJ1R1v2tWGctk4ou3Zn3QE8FhG J6/L/3+woPTAiTUOTog6jFWybJnElmfQwviAALZXhKxYyfN08voNXyV7H+xOpFOLvv7ZSpWH+17 LJQH3Byhs5Gn+NA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=VJPtWdPX c=1 sm=1 tr=0 ts=6a0c632e cx=c_pps a=wuOIiItHwq1biOnFUQQHKA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=DWmi4q4BpbBovChKCuEA:9 a=QEXdDO2ut3YA:10 a=XD7yVLdPMpWraOa8Un9W:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: yrS57E8ajd6ezXX4gtGCd4amkibuFnLI X-Proofpoint-GUID: yrS57E8ajd6ezXX4gtGCd4amkibuFnLI X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTE5MDEzMSBTYWx0ZWRfXxEbmWnH0n60z a1k2CzzpNOAGCm+t+m6e0nXclAQa0L0BYNg4KUVVLhlkTizD9BgEPFnLjECstaS1SkYAdFkc2HI 0wa4vP9c93Y/IWJJ8CdJZTKqVKZ1dEWVsr6Gh2jROF52BlXzrSN5Ozh4ZxCTcwNt8e0wEGubHSP vaUaXKaVKYBUj6w1h/zAsVIDHzUFG7THWQHODropvTeD+Sak2YSkleta6KBAcs6v7FnZt6/JV/P IllG3l/a0RMw9uFTap5ezazpaNToDGNgKkqnXa0Nz7NHlIhv5A/F8uJi8si+yocZNQJ62V6DF3G SN91xcgJSPCDAc07g+fQltPv205Z26dxLilJVmHSs8HFXNIP+64cD7Bsr1tInj090ShUWh5ZS2g QHOdcgpl2RHzyXVyuw/VmrenM/0rQxdtsQdeOteJ6IEa2Vj2Hp7XmARIuMFlpsWljdTUNyClfm7 gprxNi+HbAnDL+nIxTw== 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-05-19_03,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 adultscore=0 malwarescore=0 bulkscore=0 spamscore=0 suspectscore=0 lowpriorityscore=0 clxscore=1015 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605190131 From: Bartosz Golaszewski Switch to using BAM DMA for register I/O in addition to passing data. To that end: provide the necessary infrastructure in the driver, modify the ordering of operations as required and replace all direct register writes with wrappers queueing DMA command descriptors. Signed-off-by: Bartosz Golaszewski Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/aead.c | 10 ++-- drivers/crypto/qce/common.c | 20 ++++--- drivers/crypto/qce/core.h | 4 ++ drivers/crypto/qce/dma.c | 123 ++++++++++++++++++++++++++++++++++++++= ++-- drivers/crypto/qce/dma.h | 5 ++ drivers/crypto/qce/sha.c | 10 ++-- drivers/crypto/qce/skcipher.c | 10 ++-- 7 files changed, 152 insertions(+), 30 deletions(-) diff --git a/drivers/crypto/qce/aead.c b/drivers/crypto/qce/aead.c index 03b8042da9a1b4aebdc775ad8ab912abc7b2383d..e271ecbcbb4a33c405fbec85c45= 8cf1daa7e2c55 100644 --- a/drivers/crypto/qce/aead.c +++ b/drivers/crypto/qce/aead.c @@ -463,17 +463,17 @@ qce_aead_async_req_handle(struct crypto_async_request= *async_req) src_nents =3D dst_nents - 1; } =20 - ret =3D qce_dma_prep_sgs(&qce->dma, rctx->src_sg, src_nents, rctx->dst_sg= , dst_nents, - qce_aead_done, async_req); + ret =3D qce_start(async_req, tmpl->crypto_alg_type); if (ret) goto error_unmap_src; =20 - qce_dma_issue_pending(&qce->dma); - - ret =3D qce_start(async_req, tmpl->crypto_alg_type); + ret =3D qce_dma_prep_sgs(&qce->dma, rctx->src_sg, src_nents, rctx->dst_sg= , dst_nents, + qce_aead_done, async_req); if (ret) goto error_terminate; =20 + qce_dma_issue_pending(&qce->dma); + return 0; =20 error_terminate: diff --git a/drivers/crypto/qce/common.c b/drivers/crypto/qce/common.c index 54a78a57f63028f01870a3edeb8e390f523bb190..37bb6f03244d317a887aeb0aa10= cefe327b4ce05 100644 --- a/drivers/crypto/qce/common.c +++ b/drivers/crypto/qce/common.c @@ -25,7 +25,7 @@ static inline u32 qce_read(struct qce_device *qce, u32 of= fset) =20 static inline void qce_write(struct qce_device *qce, u32 offset, u32 val) { - writel(val, qce->base + offset); + qce_write_dma(qce, offset, val); } =20 static inline void qce_write_array(struct qce_device *qce, u32 offset, @@ -82,6 +82,8 @@ static void qce_setup_config(struct qce_device *qce) { u32 config; =20 + qce_clear_bam_transaction(qce); + /* get big endianness */ config =3D qce_config_reg(qce, 0); =20 @@ -90,12 +92,14 @@ static void qce_setup_config(struct qce_device *qce) qce_write(qce, REG_CONFIG, config); } =20 -static inline void qce_crypto_go(struct qce_device *qce, bool result_dump) +static inline int qce_crypto_go(struct qce_device *qce, bool result_dump) { if (result_dump) qce_write(qce, REG_GOPROC, BIT(GO_SHIFT) | BIT(RESULTS_DUMP_SHIFT)); else qce_write(qce, REG_GOPROC, BIT(GO_SHIFT)); + + return qce_submit_cmd_desc(qce); } =20 #if defined(CONFIG_CRYPTO_DEV_QCE_SHA) || defined(CONFIG_CRYPTO_DEV_QCE_AE= AD) @@ -223,9 +227,7 @@ static int qce_setup_regs_ahash(struct crypto_async_req= uest *async_req) config =3D qce_config_reg(qce, 1); qce_write(qce, REG_CONFIG, config); =20 - qce_crypto_go(qce, true); - - return 0; + return qce_crypto_go(qce, true); } #endif =20 @@ -386,9 +388,7 @@ static int qce_setup_regs_skcipher(struct crypto_async_= request *async_req) config =3D qce_config_reg(qce, 1); qce_write(qce, REG_CONFIG, config); =20 - qce_crypto_go(qce, true); - - return 0; + return qce_crypto_go(qce, true); } #endif =20 @@ -535,9 +535,7 @@ static int qce_setup_regs_aead(struct crypto_async_requ= est *async_req) qce_write(qce, REG_CONFIG, config); =20 /* Start the process */ - qce_crypto_go(qce, !IS_CCM(flags)); - - return 0; + return qce_crypto_go(qce, !IS_CCM(flags)); } #endif =20 diff --git a/drivers/crypto/qce/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 3db46fc0c419a0a387abce93649084fbf4b1f128..b66e6386fccda20d9462e70e51b= 8b485be85dec8 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,99 @@ #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(qce->dev, bam_txn->wr_sgl, bam_txn->wr_sgl_cnt, DMA= _TO_DEVICE); + if (!mapped) + return -ENOMEM; + + dma_desc =3D dmaengine_prep_slave_sg(chan, bam_txn->wr_sgl, bam_txn->wr_s= gl_cnt, + DMA_MEM_TO_DEV, attrs); + if (!dma_desc) { + ret =3D -ENOMEM; + goto err_unmap_sg; + } + + qce_desc->dma_desc =3D dma_desc; + cookie =3D dmaengine_submit(qce_desc->dma_desc); + + ret =3D dma_submit_error(cookie); + if (ret) + goto err_unmap_sg; + + return 0; + +err_unmap_sg: + dma_unmap_sg(qce->dev, bam_txn->wr_sgl, bam_txn->wr_sgl_cnt, DMA_TO_DEVIC= E); + return ret; +} + +static void qce_prep_dma_cmd_desc(struct qce_device *qce, struct qce_dma_d= ata *dma, + unsigned int addr, void *buf) +{ + struct qce_bam_transaction *bam_txn =3D dma->bam_txn; + struct bam_cmd_element *bam_ce_buf; + int bam_ce_size, cnt, idx; + + idx =3D bam_txn->bam_ce_idx; + bam_ce_buf =3D &bam_txn->bam_ce[idx]; + bam_prep_ce_le32(bam_ce_buf, addr, BAM_WRITE_COMMAND, *((__le32 *)buf)); + + bam_ce_buf =3D &bam_txn->bam_ce[bam_txn->pre_bam_ce_idx]; + bam_txn->bam_ce_idx++; + bam_ce_size =3D (bam_txn->bam_ce_idx - bam_txn->pre_bam_ce_idx) * sizeof(= *bam_ce_buf); + + cnt =3D bam_txn->wr_sgl_cnt; + + sg_set_buf(&bam_txn->wr_sgl[cnt], bam_ce_buf, bam_ce_size); + + ++bam_txn->wr_sgl_cnt; + bam_txn->pre_bam_ce_idx =3D bam_txn->bam_ce_idx; +} + +void qce_write_dma(struct qce_device *qce, unsigned int offset, u32 val) +{ + unsigned int reg_addr =3D ((unsigned int)(qce->base_phys) + offset); + + qce_prep_dma_cmd_desc(qce, &qce->dma, reg_addr, &val); +} =20 int devm_qce_dma_request(struct qce_device *qce) { @@ -31,6 +126,21 @@ int devm_qce_dma_request(struct qce_device *qce) return dev_err_probe(dev, PTR_ERR(dma->rxchan), "Failed to get RX DMA channel\n"); =20 + dma->bam_txn =3D devm_kzalloc(dev, sizeof(*dma->bam_txn), GFP_KERNEL); + if (!dma->bam_txn) + return -ENOMEM; + + dma->bam_txn->desc =3D devm_kzalloc(dev, sizeof(*dma->bam_txn->desc), GFP= _KERNEL); + if (!dma->bam_txn->desc) + return -ENOMEM; + + sg_init_table(dma->bam_txn->wr_sgl, QCE_BAM_CMD_SGL_SIZE); + + 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,28 +200,33 @@ int qce_dma_prep_sgs(struct qce_dma_data *dma, struct = scatterlist *rx_sg, { struct dma_chan *rxchan =3D dma->rxchan; struct dma_chan *txchan =3D dma->txchan; - unsigned long flags =3D DMA_PREP_INTERRUPT | DMA_CTRL_ACK; + unsigned long txflags =3D DMA_PREP_INTERRUPT | DMA_CTRL_ACK; + unsigned long rxflags =3D txflags | DMA_PREP_FENCE; int ret; =20 - ret =3D qce_dma_prep_sg(rxchan, rx_sg, rx_nents, flags, DMA_MEM_TO_DEV, + ret =3D qce_dma_prep_sg(rxchan, rx_sg, rx_nents, rxflags, DMA_MEM_TO_DEV, NULL, NULL); if (ret) return ret; =20 - return qce_dma_prep_sg(txchan, tx_sg, tx_nents, flags, DMA_DEV_TO_MEM, + return qce_dma_prep_sg(txchan, tx_sg, tx_nents, txflags, DMA_DEV_TO_MEM, cb, cb_param); } =20 void qce_dma_issue_pending(struct qce_dma_data *dma) { - dma_async_issue_pending(dma->rxchan); dma_async_issue_pending(dma->txchan); + dma_async_issue_pending(dma->rxchan); } =20 int qce_dma_terminate_all(struct qce_dma_data *dma) { + struct qce_device *qce =3D container_of(dma, struct qce_device, dma); + struct qce_bam_transaction *bam_txn =3D dma->bam_txn; int ret; =20 + dma_unmap_sg(qce->dev, bam_txn->wr_sgl, bam_txn->wr_sgl_cnt, DMA_TO_DEVIC= E); + ret =3D dmaengine_terminate_all(dma->rxchan); return ret ?: dmaengine_terminate_all(dma->txchan); } diff --git a/drivers/crypto/qce/dma.h b/drivers/crypto/qce/dma.h index 483789d9fa98e79d1283de8297bf2fc2a773f3a7..f05dfa9e6b25bd60e32f45079a8= bc7e6a4cf81f9 100644 --- a/drivers/crypto/qce/dma.h +++ b/drivers/crypto/qce/dma.h @@ -8,6 +8,7 @@ =20 #include =20 +struct qce_bam_transaction; struct qce_device; =20 /* maximum data transfer block size between BAM and CE */ @@ -32,6 +33,7 @@ struct qce_dma_data { struct dma_chan *txchan; struct dma_chan *rxchan; struct qce_result_dump *result_buf; + struct qce_bam_transaction *bam_txn; }; =20 int devm_qce_dma_request(struct qce_device *qce); @@ -43,5 +45,8 @@ int qce_dma_terminate_all(struct qce_dma_data *dma); struct scatterlist * qce_sgtable_add(struct sg_table *sgt, struct scatterlist *sg_add, unsigned int max_len); +void qce_write_dma(struct qce_device *qce, unsigned int offset, u32 val); +int qce_submit_cmd_desc(struct qce_device *qce); +void qce_clear_bam_transaction(struct qce_device *qce); =20 #endif /* _DMA_H_ */ diff --git a/drivers/crypto/qce/sha.c b/drivers/crypto/qce/sha.c index a3a1a205aaf8559a04809936e2a3b7d564c16c53..5be82b345753f49202797852cec= 09dbc7f0a1e03 100644 --- a/drivers/crypto/qce/sha.c +++ b/drivers/crypto/qce/sha.c @@ -109,17 +109,17 @@ static int qce_ahash_async_req_handle(struct crypto_a= sync_request *async_req) goto error_unmap_src; } =20 - ret =3D qce_dma_prep_sgs(&qce->dma, req->src, rctx->src_nents, - &rctx->result_sg, 1, qce_ahash_done, async_req); + ret =3D qce_start(async_req, tmpl->crypto_alg_type); if (ret) goto error_unmap_dst; =20 - qce_dma_issue_pending(&qce->dma); - - ret =3D qce_start(async_req, tmpl->crypto_alg_type); + ret =3D qce_dma_prep_sgs(&qce->dma, req->src, rctx->src_nents, + &rctx->result_sg, 1, qce_ahash_done, async_req); if (ret) goto error_terminate; =20 + qce_dma_issue_pending(&qce->dma); + return 0; =20 error_terminate: diff --git a/drivers/crypto/qce/skcipher.c b/drivers/crypto/qce/skcipher.c index 1fef315a7105c869e7fc6a60719087b721e78bb3..6535336a2c57c39db9499901189= 0b8bdad5c58c2 100644 --- a/drivers/crypto/qce/skcipher.c +++ b/drivers/crypto/qce/skcipher.c @@ -142,18 +142,18 @@ qce_skcipher_async_req_handle(struct crypto_async_req= uest *async_req) src_nents =3D dst_nents - 1; } =20 + ret =3D qce_start(async_req, tmpl->crypto_alg_type); + if (ret) + goto error_unmap_src; + ret =3D qce_dma_prep_sgs(&qce->dma, rctx->src_sg, src_nents, rctx->dst_sg, dst_nents, qce_skcipher_done, async_req); if (ret) - goto error_unmap_src; + goto error_terminate; =20 qce_dma_issue_pending(&qce->dma); =20 - ret =3D qce_start(async_req, tmpl->crypto_alg_type); - if (ret) - goto error_terminate; - return 0; =20 error_terminate: --=20 2.47.3 From nobody Mon May 25 02:57:45 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 3DD4240812D for ; Tue, 19 May 2026 13:18: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=1779196722; cv=none; b=ENNC69Toq3lRJQ5TKUURULSwEl/rEH7K45aA27ULzFRwhcB3r0JLXUrx3jQaISi7ieROab/6eJOn9VCiL/yA8+MUd142EZG1Uf7su6GJwk99tqgKkB9FRs8D/43KZiiYP5unCXzKhzTRuthS2JUHfbIDHplN4WCHyqH8EqtkcOU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779196722; c=relaxed/simple; bh=fF3LWtSaRCfQuTbybvZLaTumSZGXpdr/02UZIHBIpKc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Ot8dj+xT5AZBDJOqEtonLtxxM7wPFxuE8C2hSMjJtxe1gZu0K2rOHlpZJLe/RN3fy+3TgCZAWXuy33ril2zjtIT+QfYKx7XPeIxKsjRlnr01SlZOMSsptPaBMJuxzcf/ahKroxMMF7Rkf0UXnFMClK+tWzEUqCW+LDv50ezNxMQ= 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=ajRB1AQQ; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=A0rxGd9F; 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="ajRB1AQQ"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="A0rxGd9F" 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 64J9YoCX254044 for ; Tue, 19 May 2026 13:18: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= +izIZHqLCBp8T21B+b5LpfhK3/xi1bxBWarBUiU8z6U=; b=ajRB1AQQF9z9+lL8 p9Hr2Gr/QH4SKqIzCfYR4ce938jL9xfYO4xeOAw5A4rBZTAQZA9lfZw3hNebV/rm yB6DojcCyrdasuoWGYGxe6DrEDPdVkslz5+d8KA5FMFwNFQv9XqNREDeXoQEA1ik 3adY0X9uQsBMfFFbUy/cdHkMRNg+tSt6BONSH1lkBqE6pyqZjScB28uC5OOXBhSk SbDTBc/Y2RSW5K+59vhUjnurtzDD2QIEukEBt/mlHu0fqPQwOtHWg4/+T0fWtslm E4gkh843gELkA+L8h7YWRw5B5IsTokO2R2yBpJ8340NS3H4GiVn5h/GJl7l0WDJy uAGoaQ== Received: from mail-vk1-f198.google.com (mail-vk1-f198.google.com [209.85.221.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4e8h87t1jn-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 19 May 2026 13:18:39 +0000 (GMT) Received: by mail-vk1-f198.google.com with SMTP id 71dfb90a1353d-575231e4b89so2999367e0c.1 for ; Tue, 19 May 2026 06:18:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779196719; x=1779801519; 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=+izIZHqLCBp8T21B+b5LpfhK3/xi1bxBWarBUiU8z6U=; b=A0rxGd9FtFRBLDihn3Ltp+w3/qVxTM/gVzPn/1GNyCDLqmXVlsF9odC+p1kwygGfpU RUtWusYl1DhnIAffN0rRbN8hN6fd32qa6y7NTjMNZb5L7UusDqJDvOKP6i9RPFWIVzg/ VF6YUvPCJBtp6dTpuX3n/IqptYm9q7lYv9hPIM15eB/iy7HZn5mSQzRz5f/XHa7rOfAn Nn9sYrJ6lF6IsAM3B8DE3ekeOBrvqu9BN1JY/S5dCa+OMIiUM+UwtUqemdDPP4N6GVOC ck2TZn0RyOzhUrmG+pzAO8Jn3IpYPlgWXK8F31lbacwY33EIvSUvHlv//OiNRpfc5qkZ ygvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779196719; x=1779801519; 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=+izIZHqLCBp8T21B+b5LpfhK3/xi1bxBWarBUiU8z6U=; b=SslEXTIj887XBjLT3j/kppzTSh8iGNzosNr7xyob5C44bJDmyPidX1KH2fxQ18pQTS Q8FOH33MsuaxMCdaOanq19L3c1bG6pIjFqhzIt4F/jNlEtZvBOZZyoBurvDaguDl7LYd 0UTNK1L+ecneNxBC+1dGIvEgMG7Lu7Gyv/BBpdE9XOzaqvS1ZU+tfz1sYMqcswmFQ0PS N76XxxF3KiEcR/uosfKAtdZMoB96iqmg4Eys4RAIvlVPUZZVXZIcxOFDnjpX4rdZdB0a 79Y9p9ibH3NS901RUJZKvJRIycg/V35uTuNau7mc9qIw7TQuXAadF4e5mSUShs6lhBOP NVJw== X-Forwarded-Encrypted: i=1; AFNElJ97/MB9JWTzKX44s3xNajVpcQYjiu2AlGPi6WJ3mZcP6u0P+PcWXVbhMf3K9qwPWgJdxQpTaa0mUBz2Lh4=@vger.kernel.org X-Gm-Message-State: AOJu0YwACpbmhdIVSCxKeVaCQxy406KGlZT/SGSCNn/de9aPfVr+Sz8+ OblVLggwH95gyUxAzB1R6u0/RPtXDDhzV3bvU6R8t+T3mYJ01M3TxftxsUwd5M00iBMNNCpp2Qi rvTmaONNuYP48+9Qy3Q+HtrDpFmyDIN1hqQ7k5m9k7Q8gAwXtBUIW6BLTp4dTgaONTEY= X-Gm-Gg: Acq92OHNqEkiVwtzjIfmzeXjkc3df+bFjiU0SnmErFUwWAJ2Ymx3VUHKDBwXYrNr7Z4 nZXEkkuw/jeq9KxXflZoc3Gmh7GSunjX1ZdnbxZriOvE7tpkEk5sy8+eUKCCITrjfa7HEKbiZM4 cyWWq/BJemhYCupLip9Q9Ruj0hn3uL/NrFc4CZWwtttEf954Abh46vJWsFDB/EEugzSSedTL5wM QaOM3NPna5rTn07uyifmdbHrsRMjZwik/KtRdycKFB0+KOhzJEnj506CpDQOzRM3A/aZhskG6F3 wLSqdPcMb/zObPnKURwnMOOsaOWi36OmAXCPJUTcGGtaEIaosHlBGM6JcYUyVFVbG8O742vLCn2 /glRV7gJPJrIyfgfXSP1VSBctnjLmWID3Ax7yWvcYBBizdj6UgWQnWhPU5M5C4Q== X-Received: by 2002:a05:6122:3c4d:b0:575:a6f4:46b4 with SMTP id 71dfb90a1353d-5760c0b790bmr9222918e0c.9.1779196718692; Tue, 19 May 2026 06:18:38 -0700 (PDT) X-Received: by 2002:a05:6122:3c4d:b0:575:a6f4:46b4 with SMTP id 71dfb90a1353d-5760c0b790bmr9222857e0c.9.1779196718090; Tue, 19 May 2026 06:18:38 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:3fb6:74e3:3c25:ba2f]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48febe7dd22sm143969195e9.7.2026.05.19.06.18.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 May 2026 06:18:37 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 19 May 2026 15:17:56 +0200 Subject: [PATCH v17 14/14] crypto: qce - Communicate the base physical address to the dmaengine Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260519-qcom-qce-cmd-descr-v17-14-53a595414b79@oss.qualcomm.com> References: <20260519-qcom-qce-cmd-descr-v17-0-53a595414b79@oss.qualcomm.com> In-Reply-To: <20260519-qcom-qce-cmd-descr-v17-0-53a595414b79@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 , Andy Gross , Neil Armstrong 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=1550; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=fF3LWtSaRCfQuTbybvZLaTumSZGXpdr/02UZIHBIpKc=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqDGMN8gfVCSHQkgogvpJk/77PWD87w1mz+Yhe6 /EA9InD0eqJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCagxjDQAKCRAFnS7L/zaE wyD0D/9OyxpLqslfzb+VGtAo4gbAefVOklFa/B6bIa4jrZLqXy8VOVv1wK20H6XQL4MAJX0Fr8G mnEB7w7i2qk6i6UjU76GGGvUIYifYwmEYd/yHk1dOAOtsXCV9dJGfglGM/Y8gFyFzjgz8pm+oFo c9O0Zga8oVlWoA93I5DXx5Zr0+cHWozkXvvq9wAZN/jHw7YtPvBWmC385t8BfdNcq7F6OgBoAdF WO2+JwdY+k7rgxiyEr5AXJ0bSJVkEPiJ4/iu3Cc4+A1IQWobsPOww3udWQtLdErKUyIexiGkHZ7 mZNl7aSV87jY+7C4iOfsmzUQYJLEYJaDGdns8urmHxyrAbJISlupVxMVHqEG86C5QcuSLpgw6zi cnCM6jei2hKIvXir4rbY+XwAOgFoYbtuX9/R5x2RG3tg5WHNIfRXfFaR94LbgRjqe6ANuLiU8Cj r6kuQmHoVkd75GHNZYmJe2Rwc/KCzrPPY2sMjOU/O39K1Ib6F20NVKL6w1ZmEH+5wnCv2JKjAJC zAxB9mPAGhIFAbtTVlclztYhkHNCg1i94S8v5PZBwZz9aZPALPuYLt1FVAHJtwF6kNq3VksgagG fbBxpIh2IntnUarvsIVtmffG4Qq+e0rRwQASh5Zw7xIlI4M3SWtVjAbG1IICv/iYSB1zi+4+dox CDyi9Ko1sFfi3KQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: KQNRyHF6raIpFBi1RpA62drrviKAYPjn X-Proofpoint-ORIG-GUID: KQNRyHF6raIpFBi1RpA62drrviKAYPjn X-Authority-Analysis: v=2.4 cv=a9sAM0SF c=1 sm=1 tr=0 ts=6a0c632f cx=c_pps a=1Os3MKEOqt8YzSjcPV0cFA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=TFgmKHP77OfOvYwKDSoA:9 a=QEXdDO2ut3YA:10 a=hhpmQAJR8DioWGSBphRh:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTE5MDEzMSBTYWx0ZWRfX4sgS/rIx92Lz bejAxtqNO3yLCx8IOwWXsYW3JXMshjY/ltltrbqFCfzkTRplNIP1hbHRScejHJ8qaUefq5BtlgO l/6CXZzI7efvLboeqvNask3r7VbgyWKF8rWgrCptHIrljuWj3xBNXr4+FXOdsHSDUL4R77CPQTe 913jFd5/hN4oeo2xEYMYew8h9//NSpz8o8H/DOX8EToVDjxBz8xNQi/GU3SphGZadXYbnq9V2tt P1zrhQpsGepK+YICnakWtpl7W4/3Dv/gUzYmXXUt2hH1ecXroXE8uxq/peOEDA8v/kPi2DOEzAV bQ3QmuRtrtn8NpReKhQ3x8O3euype/Ee1iKgiFeWOc7UnPNTSr6IhS4L5K6kVkq/i6DOzamqNQ/ +Hu6MPmcJEZ1nWYOsthVCHDb6pZEpntJk5Wi39CGZUOrmujw8Qpac3bI2uH03/KY61cO1WmojvX qlYv9U9wHVeR+eaUDNQ== 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-05-19_03,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 priorityscore=1501 impostorscore=0 adultscore=0 clxscore=1015 lowpriorityscore=0 bulkscore=0 suspectscore=0 spamscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605190131 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. Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/dma.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c index b66e6386fccda20d9462e70e51b8b485be85dec8..97b0f02c2b4d212f9e9ad41bbcb= 3a33e0b64835a 100644 --- a/drivers/crypto/qce/dma.c +++ b/drivers/crypto/qce/dma.c @@ -11,6 +11,7 @@ =20 #include "core.h" #include "dma.h" +#include "regs-v5.h" =20 #define QCE_IGNORE_BUF_SZ (2 * QCE_BAM_BURST_SIZE) #define QCE_BAM_CMD_SGL_SIZE 128 @@ -43,6 +44,10 @@ void qce_clear_bam_transaction(struct qce_device *qce) =20 int qce_submit_cmd_desc(struct qce_device *qce) { + struct bam_desc_metadata meta =3D { + .scratchpad_addr =3D qce->base_phys + REG_VERSION, + .direction =3D DMA_MEM_TO_DEV, + }; struct qce_desc_info *qce_desc =3D qce->dma.bam_txn->desc; struct qce_bam_transaction *bam_txn =3D qce->dma.bam_txn; struct dma_async_tx_descriptor *dma_desc; @@ -63,6 +68,10 @@ int qce_submit_cmd_desc(struct qce_device *qce) goto err_unmap_sg; } =20 + ret =3D dmaengine_desc_attach_metadata(dma_desc, &meta, 0); + if (ret) + goto err_unmap_sg; + qce_desc->dma_desc =3D dma_desc; cookie =3D dmaengine_submit(qce_desc->dma_desc); =20 --=20 2.47.3