From nobody Mon Jun 8 21:54:57 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 07D3E3D9040 for ; Tue, 26 May 2026 13:11: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=1779801084; cv=none; b=Iohgr/7i5YtPBMw99e5qadVO8W78/L7jpZO0pfBIeZF4GNTajgSiggVQC91xmhkt9p7rvjb+uIxtSBWUsSIbawWUqy7zy8pWcUgPFFYVU7Tzs4VXqNQXUWwJ+ge5eY1Esu8q0O1twymY00NUF9uLHIPTl1ZaTqvXqfIikyiFEWA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779801084; c=relaxed/simple; bh=C8t0ZoGUnDPF/P+4BK1Ho5MJ1aexupcCMbMgOX1T0s4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=k5dJ0RXjPgVYavfKIzszHj+mwPgfnDVZTMAeeHtiVg+Zk689lK9ud/1vHs8AKyvuSvARS8ktwmac8ycoNCcbs2rWVscNuFLi89aQNAsOaW3T4OzF2u9ovkcvt+wq/fl8Akh3du6WOgZZMJzXZpxcJBajI9KrNY7yz2eNtPRIy+s= 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=FwrmGo3l; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=AY+3W2wn; 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="FwrmGo3l"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="AY+3W2wn" 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 64QCsUbo2385433 for ; Tue, 26 May 2026 13:11: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= 51xURu7Zhd73Xm88jAVPEesUyLMnmj9g9fiXS+Fq4Bs=; b=FwrmGo3l1EbLtRGR qlEazVpFROCEMbwBKm6Vv0HetJgZSxFxO8U8pSCr1TPTEBybnimbAqCe5vQvblRo 7pkDquCy3HPMGYNv1YkJqD/fWsDXCZwpr9kixeEY6elcHIURXp/W6WL0HHwI0FdX uNZejcqLWErMXzGz4FGVuMKfMYgkEj28Pv1BSQkNnbKgwttri1cUqVKHY3OABXo/ eyPOEBdfYU7Dos1McdIsOLTDF0Yx2xmUN2yIakKd6xSvqd88aAxuHz6wJ/wk1jlw FvZBXWAPcARPtGzX6gF7DtwjK00MOPEtTi6vyru/C5T2I6g+fSLRV2Lvov09bYog /VM0mg== Received: from mail-oi1-f197.google.com (mail-oi1-f197.google.com [209.85.167.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ecnhs4t48-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 26 May 2026 13:11:21 +0000 (GMT) Received: by mail-oi1-f197.google.com with SMTP id 5614622812f47-4853c9d3fe1so6511991b6e.1 for ; Tue, 26 May 2026 06:11:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779801081; x=1780405881; 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=AY+3W2wnEPy3e5a4Bc64c5sWp8OzXNyttoUO5I6GUUlNLvd1Tnfq7/K24EeR8lB2g/ ydyO3VZUJwrCLinwbZ7CcI1rcbD+tFJ7tO8+FOgg5Ja6KIZDopzNwl7DDeX/OMnH5ZH8 a5f7ECAkKpeF9W34NVKpfPrk1CLU2Ny1XJgwvtY8k9Nd3JGiuu5hAkDwhX6vodiBo5Ap prpb2Fx6n8fcLtIWucSSAGzad3S6BewCqKwTaZHmGwvKJsH80xZRQBrCbPTR+F4KxDCe qmjP/L1ew001ytbWn+D2boEcp8yjyo0PtxOVzeys260S0AGUROwcm7iXqSyCLl0oc4fu QSuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779801081; x=1780405881; 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=JBNZ4Kb3ClJQfxQ3suKgDZeNGataWlxZY3otSGxLM8839C/NScZL4c/3L+MRHEK7Cf NlsoLcNXGST+iCroFQViyfM4VTg50T9Gye5JAdvxcXGsmo6Au0ZG9HpUEeyGydyqgzzP pKbjrUy8qxg0de0Q3OllHd98boFipkx6i+CcnRM0d2rPIudAbxHC4nm53Ss6z6V6YVXV 8my5KGw0kxY0m9LuJbBfeWqsYPD9txoXwNBC4FWoIbb4PsZWwFJZKT48TGS+RGgfCYGi PfVSE331x6xKx5AZGLpX49/0fF0SwdB/OsYWJPHqgodJrnRAScuppJ8hSQxjWVUVtAlK F00A== X-Forwarded-Encrypted: i=1; AFNElJ9qSaWzoNl2HmTKkNVHRNG4QaHdZSAQwIBrIFEzBjCOXjnbeNvlm7XTwr8v+jzpF1eQR636oWUZ4PVR1vA=@vger.kernel.org X-Gm-Message-State: AOJu0YzfD9qa0eRyabO9fXh7R1Vea2MyV/qybANrNm+zTSz4oWJH4PGB 70Jp7qFT6OxU0uTjq4KJKh4z5mrhb9Mn2q6P+Ec7QIA4L9n6nUFFKokX6ECW6I6xQrOLQJqrj1E es/PHfKRhPwM4kHy4BzCnxLQc84gRPt0tKrnrnE4PSaNdhfIiOCc4Z7/9iVaee6MVRrQ= X-Gm-Gg: Acq92OEc+49UkIuM2PhexDzZOp7uyzAgzj4gdTG29uaJcVuOd1ar/fGCCyjOYQAQ2zE 63e/+pliWdhVmWhWlGB99c8TyAWz3k5r9kRioaveq6Wm9QKQvoJEKqAYnowYDHpotbdWGoykeDk QUg52e2pSrXIwzK87etSBgmb4JbuDon2AYbKIMaf25kmTjeTdE9rWv+0mjqyVGDCmMRrlhm4s5y PrS6O9gvRhausT9p364T8EjOc/lX1Md6scK2yvzL0h7R7Scn+GM+MuPLXfpk1aFZHdn9vMYLUVi 98CFezlyIwjTSgAhdVbPjiqb7y6LOMfrVcOaYDxEKFT0xX3Sijsnz79o62GEaq1FwGeN96iu3VB +L+87EfWQapOeHkUa2pblS3Kiff6FHQ1+yqaqvjDto5vX5Ri87rggx2b6JFm4dQ== X-Received: by 2002:a05:6808:3a0e:b0:464:3d5d:d9d4 with SMTP id 5614622812f47-4854a48aad4mr11012404b6e.39.1779801080964; Tue, 26 May 2026 06:11:20 -0700 (PDT) X-Received: by 2002:a05:6808:3a0e:b0:464:3d5d:d9d4 with SMTP id 5614622812f47-4854a48aad4mr11012365b6e.39.1779801080561; Tue, 26 May 2026 06:11:20 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:15ba:1d70:65ea:9578]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45eb6d5e484sm34259426f8f.30.2026.05.26.06.11.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 06:11:19 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 26 May 2026 15:10:49 +0200 Subject: [PATCH v19 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: <20260526-qcom-qce-cmd-descr-v19-1-08472fdcbf4a@oss.qualcomm.com> References: <20260526-qcom-qce-cmd-descr-v19-0-08472fdcbf4a@oss.qualcomm.com> In-Reply-To: <20260526-qcom-qce-cmd-descr-v19-0-08472fdcbf4a@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/NoTDAcsmYgBqFZvnZrG4NrNGJaU2pZ1CupvY19poOELzZROKy Qd9YUiJG12JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCahWb5wAKCRAFnS7L/zaE w4Z0EACQvm1qeJpD92p8JU9X4LaK7VoaLhH/+IfHP+YsptyCWHPSC3x+qtByclngLxy8PFoLt47 Oer88xKksxBmBXA1EmW2ZEc0vTFBGgqlICCTBFrKuKn48QnoWMBxHIDwuptDbQVFUX+r4teukRV YAPDvm1KNOtw5WMv87ovAZ3el5vf3JpAxvdTHPnv0cuL3VUZ36iO1cvvEwegUUqN0shI/xMsQSo z96x9aHjXy7uqfujEhXkwKEiAmElCnQ+rodEgxmWvZY4Ez0tiq2yJmeAv32l2+un4s7mn6r4Epr bG6JzPCe0QfkCPEvy9dBDvSqAKA55RUyQXJepXG7QyQGAlFNpRjlMT9HrCeQSelyEjPNKRvx20k tpAELXXp43qk9h99cL10RLdO8vHwadsJWMHaCioMMMMuUZC7YOsC4grTawzERt5PoKe0TlXiBZX tjz3oCUW4l0woFPjZpkPmRj2WP9jbkUBf3KIEMbueS2zxADXK8x9rwHTYxGCkPCH9BBzSXwO539 sx3eWF3YkEvUvXMIfEq7HP8IlR5bdp/fTKTMcBJiAyVyvhy5tuJ3mWA+2aAF8Hx8Cc/PtUndQpz V5JJ63bGin18PVzjZEZ5rztg/+HxLwAKiS5BwEMkqglo9XF8XIIPQ0IyMXteYHhDmcTXSNIwhuk BBhMOmyCRN0DaBA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=Vd3H+lp9 c=1 sm=1 tr=0 ts=6a159bf9 cx=c_pps a=WJcna6AvsNCxL/DJwPP1KA==: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=XeVHrwws4l7kqE2Ex6IA:9 a=QEXdDO2ut3YA:10 a=_Y9Zt4tPzoBS9L09Snn2:22 X-Proofpoint-GUID: AMRj6k5R8sDAwBSf79uBHZI9txeJGs90 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTI2MDExMyBTYWx0ZWRfX5ITnkM4QoZGO gGjBrHIeEBEd7QIzi9iTDenYOVmUkMW3SZ5sSLbdM6Drebv59bdLaGeOT4WkWqaceKZ341P4tCs bHDbdra4Ew0Ik7mu4V/i/oAGojTAYuga3bn3IvFhcImLgDJ26mhMwnRwY4Fb6/2jZbdSQVODI9+ 46SCl60oGvGzfIGnF2zK7Gq5VPCYdy0FanRczuCb93R7LhGue0MjEOIN2pU7IKNp7Uctm5tcKPh SAVYLxwp1Tb/QwylHlKgs0CejP4Sdmvo9mVrxVhAo6XlY/l+5zjjwnT4iyY59S6WGOrJYcef52b UhmA01di+UTZM/hj6/KoUBf4q8WmZCuYxB+GvM3sTs6rjfQWfwY1HkzegeWdQOBWOFohYu6UA/H hiJMjYeJNBXCY2UPeoibm0D+0fnCWj3/3sme5tBAzdyWRrsWwlCQbA/DqQmGHgUcyzL7po2/sYf ZF+GD3aCFADv2mCl9/w== X-Proofpoint-ORIG-GUID: AMRj6k5R8sDAwBSf79uBHZI9txeJGs90 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-05-26_03,2026-05-26_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 suspectscore=0 malwarescore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 phishscore=0 adultscore=0 priorityscore=1501 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605260113 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 Jun 8 21:54:57 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 36526248F7C for ; Tue, 26 May 2026 13:11:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779801087; cv=none; b=fJL3pUP/tT+BmnCZSdkj+/OuT0s0M5oj3eaXoyZLK/OUSs7UaCCqSZNQdo5mCdlBibtiVHeFO3UmvCKTOmG4GUlBflBY+rzLTV/k3V4CCCWOZ3UFpSi5aJkqvXteh6EyvpMOMo1MplyPSsW8gHJR5dAAy9ezZGPvHUj3S0kWWl8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779801087; c=relaxed/simple; bh=yKvgG0rTvuvJLcjw7C6atYAtuGT91Jlwk9eV3sVaoBM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=gRXcWm+COTZYG19qEXEodvlORsaLQi/9c7w6ZctXHKCxfNUavR9Ni02UrCQuAvtJrxynQuRs+VFx5DU22CK0A2IzzPkiWrIxTBC9RkKA2Je8Urz1YfAhck87leVjOzUJaBl1q0JPGjvHkSpzCsVt2LhpN0rwKWysrIQzvnT5/I8= 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=BZbeo/l/; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=GWVMaYae; 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="BZbeo/l/"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="GWVMaYae" 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 64QCsPEa2697737 for ; Tue, 26 May 2026 13:11: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= j2g7T67hXwVirNiCmNO6EC06JYgACQ8VaJoiHLwm9Nw=; b=BZbeo/l/mOWar0i7 D/Ytr1655XiqsovVdEbKuxFZuUFVUgerl7dwyjrEqVPD3sUIyJih+upM7R9lW/Ez zdLO0WN7Dpf5+QfcYH4tdzK1xh/P7KNdaop3eWyEZfFkEtJTtZI1SKusjN2dIiCp ZBzaLNA9pytgHizseArXVt8Qz7mgVQmPiLBJYcpKSe8tv5d2r3is2b2X6PvI/2Oe o+PuvwH8ki/Gh2cLRrnrIYAVEiuayPr1bO1St/v1Xo1YAfr3vAHTJTaRIOYZS3JR YGtqOdXqKyUJn7HQftjZ/4Z78xauLbyiJCWbCTYp2ae8iCpmUn1ylZzo3K6RXz6X 0/3BHg== Received: from mail-vs1-f70.google.com (mail-vs1-f70.google.com [209.85.217.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ecsm03u7n-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 26 May 2026 13:11:24 +0000 (GMT) Received: by mail-vs1-f70.google.com with SMTP id ada2fe7eead31-631289505b8so4386232137.0 for ; Tue, 26 May 2026 06:11:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779801083; x=1780405883; 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=j2g7T67hXwVirNiCmNO6EC06JYgACQ8VaJoiHLwm9Nw=; b=GWVMaYaeeTxS+2VDDSTacBaas0StFK6WfQgBxL3bdr+c0HshS+YUkN4Cu2oVAm+/rO 8nE7m3ewaYmHeu54NbAYpxt8LsSxMmq+zaALsbJ0AHvIPAbX4ZajOP9DLVgnMotRMleU y4znUGR1VLsNLdvSAnkHRR1bCUJ9m2ZahKyYR3d7b9q90BJbww7X+HR8hVJeybMa6sN3 BE6eLVp47kLQ7cCKDVsK4rerog7x76XEzuvvWxv9LmZAbEzD0evy0b/K2X0imPMJkbaV Y9wYpcyLqOAPV7tgsHLbswO/4Ljn8YF+u5ArFFFy/uGHKCK1zPNWS/plOa/1T32zztid q59g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779801083; x=1780405883; 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=j2g7T67hXwVirNiCmNO6EC06JYgACQ8VaJoiHLwm9Nw=; b=dT1sq83qQpX4Q79GEd3Nvfc4GhVRl+E/c0Au52tFCwZUC/lemWqX1lF49vp4DqXpPL lBox/82q64AxNAizOCpRuVSIBKEok+OnYIFht8wLWN5rjzeAX/OtA5DgmXbvoSK1g1WQ ujJcjecKFLlobVQD3gFWO7DYxRVkDh0nMcH8Y5O5bZ4gA+mhsdzxEwdV1UTj/iiZJ2MD fFlctSLYsH7DHb5Ab9BHHJ8mK4l7zEdZKd15WW0vpl9vWEXdxc9m+gk0rt9eJ69fGcDE LU6oNKTEwclQaR0FNwH7o5bLdtULRQjG3AoUJiRcFUlvXotlI3kuyVb+0NPUx64PM4Be elWw== X-Forwarded-Encrypted: i=1; AFNElJ/O1ZSLFxmhAHnd3WdkPjaPbaFTmE7KSFCCP/2BUf/p0qcLOcmHkZ/GxuKqgwZKRmk9U2QiS4oDSzdqi+w=@vger.kernel.org X-Gm-Message-State: AOJu0YyYbGSQ8Im5UCjaaIIHto6eMHjl6DeKBtS9IFEesyLyNd/6W7Kr s0dfFmbgHZJDDlO1rHaxd+q8T0KUKEYpcMh92a7rfOGoX2xRIz7otgW6rXeLzEWgHdYzPJ55IyZ IYiNtvqOFJ7h6HctL3XpTx7YGbdN/3IKM8KMnwOE9FWF3APUWVYEtrgri4e8oKxbXMeY= X-Gm-Gg: Acq92OH3v6Yi9yvhpJnFB8rXsbDymWdn2Rb5NIJER8H3Stw8dXg9gf5QNBCwji7Kzoa PqAZQw9ztFiyF94AAzOyU5PGpWuNwNUM1YAn5UVi+MvaRTjV1Xu3jg/FAN5tj9AAT6K71fYHVPN q6nwfrjcqNY2+mLjwVauXf8AjD6XdYNhCjwg2KcfVlLuIy+v+G0PPytPVjmpTpyBl+QCNqjbUOi jiu0b0tIeafRDTtRbK8wwX0l09hQ+G0OX4EP+iCBV22gDNYb6ETf0/IGrnXBXa1XDVpKbo9mEUf OvPoTu8rA3JnudORhUNPCxCzlN9cL+aQSPyrVmX/WNDYFPCj/+BW5kNjcpG/Imcz0I3k+l1uq/i U1sHxNwaQAmpXnR1QlxfGMggyDm9kRGUi/GvOv0aYuWeADmZZpkY= X-Received: by 2002:a05:6102:26c1:b0:631:7781:fe8f with SMTP id ada2fe7eead31-67c8a075be3mr8074420137.16.1779801083393; Tue, 26 May 2026 06:11:23 -0700 (PDT) X-Received: by 2002:a05:6102:26c1:b0:631:7781:fe8f with SMTP id ada2fe7eead31-67c8a075be3mr8074354137.16.1779801082801; Tue, 26 May 2026 06:11:22 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:15ba:1d70:65ea:9578]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45eb6d5e484sm34259426f8f.30.2026.05.26.06.11.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 06:11:21 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 26 May 2026 15:10:50 +0200 Subject: [PATCH v19 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: <20260526-qcom-qce-cmd-descr-v19-2-08472fdcbf4a@oss.qualcomm.com> References: <20260526-qcom-qce-cmd-descr-v19-0-08472fdcbf4a@oss.qualcomm.com> In-Reply-To: <20260526-qcom-qce-cmd-descr-v19-0-08472fdcbf4a@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=2764; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=yKvgG0rTvuvJLcjw7C6atYAtuGT91Jlwk9eV3sVaoBM=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqFZvp7UZaBHl1OIOMCNcm6ZGnEtt0oh2iZGyPw ENtMY6cdtGJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCahWb6QAKCRAFnS7L/zaE w5SJD/sEn+AzlgXKKc1pQ0NeSWVBb7BQcNXQaxKPk6q72SYnU8eCWrAuvmeH84F2l+i+cL0zAWb nmEHYZx3GSXz7cwvHKyBGoOKjrh5xhzTSTPvT6wn1bVPx0R4nN9HTVm3PcjSOWUWf61eRHZP1la +UNcU6Ul345VLALhUJh0NFWmdc4cCQZwLQ4p5ClI+tfHkBfVtrayM+N+r+RJZMONh4SbhNbTORy WCJFWf4KIjB8sZHqByTiesO+z9uFsxcCGiAVzL3lT895g79R7zaNFbvtfnpCQDniy3UzVYV2Vu/ upq+wwHrIq94JxPbJQA10Dh9USJPv3OtgrrPx9CoFD3c8R7qEQOmjADC+/oK9IRf9Ah2iwmzmZn cxZ7yw+CAagm3e1Ra4c/wxKvk25sNeAr+utNF0ybsjITjR0DJxSnqkEqeY3zFGenYFDqg4MLXHf 3AF1iUfndmbkSe09RX9ngzipL5RXKZ0n/4Tva9DF+U510x6hzGHe7gOzjHxNEXW7ly0j5FiXqJG D3lEDwlhlaM/XbyA5Msi5zXa4CH+sjLFF9gXie7/G5LvJYK28w960meiu9aGttA79tfjoXMyDJc l2CzzFbgE1evjGeiQhxHVRt0SdIdTdiGFr1nrnxiXjfrleDZjNftmUdEHXC8BaIvMUbGlN+Bnkw MQLtAaAgcEspIHQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=CLEamxrD c=1 sm=1 tr=0 ts=6a159bfc cx=c_pps a=N1BjEkVkxJi3uNfLdpvX3g==: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=c92rfblmAAAA:8 a=EUspDBNiAAAA:8 a=n8zAjjMAgf0wD31B80cA:9 a=QEXdDO2ut3YA:10 a=crWF4MFLhNY0qMRaF8an:22 a=GvGzcOZaWPEFPQC_NcjD:22 X-Proofpoint-GUID: JUHo1wrx6CctMzPOs0CfpJYuZrP640-P X-Proofpoint-ORIG-GUID: JUHo1wrx6CctMzPOs0CfpJYuZrP640-P X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTI2MDExMyBTYWx0ZWRfX4ZA3ILVK6Civ UJqJG/XesW6XjIQ5tFUHH65iDRwGWiHl51IdK0RqfM4OSqo+IONBJRZxXNRwzhED8oTP7zGtJKt xqr6oVvOv14Sx0yDQpR0YojeR0eQcHFIKibSFw6zVylptvtDowkbrpVly8E+1O3i2/1zAQnm8eR yrmMgjxWLSx8InN9bNb18T7B55VvSp9uqTyCiIllBacUYGvjoD0hiymT9vwX/kBOsmVx3crwrjo bNQbJC+3eFYn62cb1cYezRT//lOh9/r7yr/UKs6UeRYKM0lb5erG5HzSPYuUPXU5Yeg0YBcbYFQ M9AWfZAUxXBO61vkovqWXpFcYgMgpW/MUd1hHu23pZUogoCIHZ/FU2IoOE2mrndykOSa5y00/tj 8xIEQaLFyEvYdQA5X3dlxFHicdbykTL46VMFicm+zLaFiJYYIcN1FSR4rKyq62YxBotrv51r3JA 3xyhD6X/Lbml2YSxebg== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-05-26_03,2026-05-26_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 priorityscore=1501 impostorscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 lowpriorityscore=0 suspectscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605260113 The BAM interrupt is requested with a devres helper and so on error it's freed after probe() returns. We disable the clock before freeing or masking it so it may still fire and we may end up reading BAM registers with clock disabled. Stop using devres for interrupts as we free it in remove() manually anyway. Add an appropriate label and free the interrupt before disabling the clock in error path and in remove(). Fixes: e7c0fe2a5c84 ("dmaengine: add Qualcomm BAM dma driver") Closes: https://sashiko.dev/#/patchset/20260427-qcom-qce-cmd-descr-v16-0-94= 5fd1cafbbc%40oss.qualcomm.com?part=3D2 Signed-off-by: Bartosz Golaszewski --- drivers/dma/qcom/bam_dma.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c index 19116295f8325767a0d97a7848077885b118241c..b3d36ea79984385fe0d05ce5604= 2d3e6e3030c5a 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); @@ -1371,6 +1372,8 @@ static void bam_dma_remove(struct platform_device *pd= ev) struct bam_device *bdev =3D platform_get_drvdata(pdev); u32 i; =20 + free_irq(bdev->irq, bdev); + pm_runtime_force_suspend(&pdev->dev); =20 of_dma_controller_free(pdev->dev.of_node); @@ -1379,8 +1382,6 @@ static void bam_dma_remove(struct platform_device *pd= ev) /* mask all interrupts for this execution environment */ writel_relaxed(0, bam_addr(bdev, 0, BAM_IRQ_SRCS_MSK_EE)); =20 - devm_free_irq(bdev->dev, bdev->irq, bdev); - for (i =3D 0; i < bdev->num_channels; i++) { bam_dma_terminate_all(&bdev->channels[i].vc.chan); tasklet_kill(&bdev->channels[i].vc.task); --=20 2.47.3 From nobody Mon Jun 8 21:54:57 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 355223F58CE for ; Tue, 26 May 2026 13:11: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=1779801089; cv=none; b=GVL1s1AOaJmZHZR04ydX4SpRN3D2efSjra7l9ejexZSSFeUyXI7pAtVL3g73UmIQtlFRNId0HTWStNyooUYezwpMvnbxWCO5Iip2Xy5+nqwZWtwEM2sP1UMIpNvK0K3u1/uy8uVAkh+AJPZt0t6b8xm38Qy0i3maUy9beQlfFvU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779801089; c=relaxed/simple; bh=8kt/r9HrIy2XInrbgvfr96jusMTBkm3qidl31H1ffz8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=HhwjpeUqhwHuZCMr13vfM0t0tEjO0ZUrkBaiU/FO91CqQDHV+9tR1TJ4GQIgpHIEsbMFmiaXugd3jmkIBXhoqPOHWQiDNt0rZQhxOcC9Kyl96wnffiN48m6K9+ZSCfZU5LbqZHMEX/PUPsC9hlDLArDNcaApYmu5fhBblDUzz9w= 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=RIGObwRv; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=JVYcoWf2; 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="RIGObwRv"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="JVYcoWf2" 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 64QCsVW42882502 for ; Tue, 26 May 2026 13:11: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= tEzaODDzYECg7HtqD+MDkUrvvRFJmjC1+RPt1k/O9MY=; b=RIGObwRvQEsIuu83 TIxVHDCq+f3ZVlf6oD4onWTVPk2xx6xqVLaLMWqTXdxrB+C1v0e0Okp8CYssmaMP e/LHB1CkaLP+kLn2q7WHFiYWwf6yZhbgHBQiPH97zS4dfiQdSPwQvjxA989qWPKT nC9FtJXPuQ+RnoDPcKgiRjMub+pmYPDRZr31yt/pzCKIeZEhnfXoCbEDf9UT8TPD Sd29FPdXAWqa0lKn1smUNPcinw3aDFXJIHNUGkfkcdVLXm5EBu7UExZORHu/XttT RD04vUyWanphDh8aF+dZI8rtjnNDGAft+GhmcKnD+sh6V8ap5QyfV8uzT0vGzZVO wLdK+g== Received: from mail-oi1-f200.google.com (mail-oi1-f200.google.com [209.85.167.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ecqudc82u-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 26 May 2026 13:11:26 +0000 (GMT) Received: by mail-oi1-f200.google.com with SMTP id 5614622812f47-485421d1109so3104031b6e.2 for ; Tue, 26 May 2026 06:11:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779801085; x=1780405885; 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=tEzaODDzYECg7HtqD+MDkUrvvRFJmjC1+RPt1k/O9MY=; b=JVYcoWf2oFLDCF6+Y4VfKyx8iYOBDFkdWkyRunp9scIRIoTEuN1dys7UPsH4CyFvUJ ewbAxM4mak/DF1w614WgmzpplzH8e0whHTGQHoVVgS2ye+DjlNMVOKbkuEEhmI0fRJKN ntSwAGEiNVi127T0EuGNL86bN0HSQUmtWjEWKDV2kkxU0ZXuC8Fp0k040hZB3w/i+Nbs I3dY9d4ogh0HykAx7Y8+6SxZv6kqurYAPUf7ZicZisRh6dqPj4iiCH1oLtra4YTP7Cq+ BuXm4q9yldSIW7/97wRYSDIhAFvBSVD/MVo9RQw90cD107mZn4OH5lcet86bXRl5aYt8 KWAw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779801085; x=1780405885; 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=tEzaODDzYECg7HtqD+MDkUrvvRFJmjC1+RPt1k/O9MY=; b=Pfam7oVIRuaHp+C6TajhgN0heedtC9RumhNXHyYKceJLC6GkowkCRCcCjCo5XyAYYJ 24xV76D/yX7s03mHR9XqNWzPtGwOezGm4+qPZ3y1yvwgILJoSF/sz2yupQqnnkPHkay7 HpM1wFf4M5Q1sbQRXzKrJssCADIXWgIVQqtAHTJJg4J4cZLXB5W7H3f+2bNsPGLfNqxc Xrx4GZTBjNLUVOPCQ5t6SgVBf68Dy80gJfZK3O4V1QBcCidsBsc5tyAAWg/ct4b9UKv2 yNWjdksiXSdRvsscJTLoTyZUpvc2PvHVgxNwXb3n3kJyFU/2ZBXYVeTaVtcRUubnIKt2 jQZA== X-Forwarded-Encrypted: i=1; AFNElJ9/YEh+/IUP0/h8n6dU3/45nmPja8qK61QPS8pj9zZXNSHLZwvtUzMGZrl3VGOt73L8yx3Ku6AFNM4v5yM=@vger.kernel.org X-Gm-Message-State: AOJu0Yybw7HIBFATPRYdO5V/1lG0Fa1qPH35cYTATwYEKKF1pv8rVg1w jSxrb78GGcFwwE5olA7agKZsaSFMsoAT07EtN7T7m9BvfcSdwKGQCf7JLm60070ovkcLM8oEnZL KFRJYOQDS/SxKYHiDeCYBPPn5/QKyn1Pfx4w0LTYMdtk3ZPPzNiovL5ZZCHw+131qqlU= X-Gm-Gg: Acq92OEgp0QIoQgUnMbnspZVTMGy8hNq//N46n90TmrcbucmPsp27a60UsepYhK0XVg McUwbkhiWCnIC1+kpb2arR6soQV+ThSzJuxftJEmZqQFcNGbAriH+SX8NeDns57CLn48K7XH0NP nYeek5Cz7JkSXiOxdBBP4397uXECKM81DB8aa6ROt4EQYnorl+ULesOihPW19P3xhcm0wi5DaWV efJs0fxS0hecQBb/ZaDDApcCMfJrut26FNDuhSYQZBX6iefO5mqj+Y9AnbFa0oddYknK6w62hdD adRLKj8QFvN0cfOOaFWsltk4xtr8aYNRlHJzzzoyR8lCDX0+2aoao6fxVLg1tm9HgTznVIe4WuC 2n0QwDqrR1e4oHchdTCO6q4oEta6OHb1/EtChGfVtuU6ixdUv6YY= X-Received: by 2002:a05:6808:1a0d:b0:482:4dbd:4fe2 with SMTP id 5614622812f47-48549edd3d3mr10664306b6e.15.1779801085484; Tue, 26 May 2026 06:11:25 -0700 (PDT) X-Received: by 2002:a05:6808:1a0d:b0:482:4dbd:4fe2 with SMTP id 5614622812f47-48549edd3d3mr10664275b6e.15.1779801084959; Tue, 26 May 2026 06:11:24 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:15ba:1d70:65ea:9578]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45eb6d5e484sm34259426f8f.30.2026.05.26.06.11.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 06:11:24 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 26 May 2026 15:10:51 +0200 Subject: [PATCH v19 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: <20260526-qcom-qce-cmd-descr-v19-3-08472fdcbf4a@oss.qualcomm.com> References: <20260526-qcom-qce-cmd-descr-v19-0-08472fdcbf4a@oss.qualcomm.com> In-Reply-To: <20260526-qcom-qce-cmd-descr-v19-0-08472fdcbf4a@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=8kt/r9HrIy2XInrbgvfr96jusMTBkm3qidl31H1ffz8=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqFZvqAr/c+zOJnBlNFR6ajuIeqQEySV5XeIfMv uCGrvzCJgmJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCahWb6gAKCRAFnS7L/zaE w7mQEACvAXElwu/GR7rmlovyB3QgxwBOCO6PIzDULjvU9h+onJCDdyJP9XK4gBgRgLoDKQ30ktU ewZlA+VfBMfD5wN7K5C6ogMpdw0PvFuBoYPL+vMkL/fy/L7fI7upSqy+W0TdMwFbr229q3u6C6P PBuuUGlkCOXhy9EGGx0p/TwOc6eNnYKbyIUHtJebx/Z1c/JDMoNUYaFqPVUxIr/Qb8YjYzP4bwb CAjf6MZf/8GYrmj61MRYVaqM/u5Cb3/VR1NNYLxzEhgVLTwz9sfm4kgIusmrxfhKxYjPbcsRO1Y /hQcZ4rpJZkPiA3noFslaF8NPJGkH+6pZyFgjpKOtjwFgT0/MZ3snJt9VX74ca1QfJRObgezzuL Kts7U/NauCGTBhNKJbTAazHYuzoPpFKXuN4Rl+nCR9dUDTo3c6YaCq2Po3+c2u1CdUmlBvo2Wzj 6+MneWI6OxTwlBdz65ssOha/7lSNyrfUot78zsVGHDViCGRx4YS1twZlcCiWVvFRxxpqzvYwE9U 0TzGQMjhcjxSRtdSm2hTUVOF8G6KkDPn3zznJ/B0RWWEtUndeAL+qhrUEcQCGwCN3NxeGLPDZL5 RQhL7c38eXnTKKDY4ktYEcvSCPX91lrxf/UIo8qO3QH4RObfmFmKQMUYA+g73bEU4XFKBU+6zIa mL86zae3L8y7ozQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-ORIG-GUID: skuZJ5a6DOy46670Dp31bb9WDQTHmGDH X-Proofpoint-GUID: skuZJ5a6DOy46670Dp31bb9WDQTHmGDH X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTI2MDExMyBTYWx0ZWRfX6ge3rGeGgYl5 CpAlLlGqvBwjfoPlMXa0AF4EIEMITUHub60qT92E+nfWEW2DThgqEcm+nOnFNVqc7QVsCtgKSCD sZ4nkUwodYELZS+cAT+UoTCUkOPFXzvc52Bpha0sQ5FnaQocw/sKbtOOmT3YPDsMfmlCmBU/uWI k/wTpM17rPlOFHFxEtS5W8sfbEITpTmCDrmb0cFuu5097jQZVnwDz/zvGiNK4old9bvZJXnpycQ csO2EQuJEEepcW2ycASF6lhF6LCOGq6jf9n+9d6h7G/JzrTofiIaa7yLODY9yO/SQwdFs9dYScp M8oTv+dkSijFw9dUIAiecn8cjsEf7KgzBdw8lBbQDKudz9IRnGJyfqBmDAKAPqKcbzxFOOQNOjd HeWmiyZnuwfLW34VRupoKawfp1v2ppvqfRymTq2alHU8e2/Dw9FtPSG/nNzeEOfHw7yS5y9bdtm Xsk9OaOyhyZWmzRJ6sw== X-Authority-Analysis: v=2.4 cv=C9jZDwP+ c=1 sm=1 tr=0 ts=6a159bfe cx=c_pps a=AKZTfHrQPB8q3CcvmcIuDA==: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=KKAkSRfTAAAA:8 a=u-biHsxzOdRIXVMzAPsA:9 a=QEXdDO2ut3YA:10 a=pF_qn-MSjDawc0seGVz6:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-05-26_03,2026-05-26_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 priorityscore=1501 impostorscore=0 lowpriorityscore=0 bulkscore=0 malwarescore=0 suspectscore=0 clxscore=1015 phishscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605260113 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 b3d36ea79984385fe0d05ce56042d3e6e3030c5a..1c62f845ac0b956e311857b93f5= b504086662f45 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 Jun 8 21:54:57 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 680F53FA5F2 for ; Tue, 26 May 2026 13:11:29 +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=1779801091; cv=none; b=jAQTZIuoy6qm0JWiIMXUVjRu89QU0lxE6HisFqJP4x4GJOpIDGaI3WOAdUKg+EPWarEwagNUoDJlxTa7g2m7redPvKACcUVjARfNE74TgW9ZM9eKKYubCXKVFuby3vzVk/FUoycKMWjpGatv+KcsdWgDxYVauOW4/tkyZ+P0aTs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779801091; c=relaxed/simple; bh=szNr7XYlP/RmxhFwkiXdqgSbJMTs5djSMoKrGxWxQpw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=bZzE44LUGAVvPR7LtUaJ4+0vjZIavIVtrCVeUpoH/cMCDvsD7UzLvV7FBRQclQrY2K8lmlx77ToLQBaMdtfpy1/qAE9egoJuJEwME/XeAO3Kg644lawjOdpMpVrM9MfFMEuFvGTGSG8T91iadeNlEoyGHXWnBKO0WAYqmLh1jLA= 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=oUThSWJX; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=YxdGYCPz; 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="oUThSWJX"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="YxdGYCPz" 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 64QCsjmB3797241 for ; Tue, 26 May 2026 13:11:28 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= vBHLofPVeYPfx1ZGHrhJ7CLmG7Qg01nr7l3iawgtmCw=; b=oUThSWJX0k+LUVnG Aeh4v1t1v+5z6edxnBkd5OiNBDuYJZ4F92akANGhGklEtPs21l5JjZZB4oYVymbC BdyC/PW5q5sZ79TUk9x2ACWhl9MuzRE19zfP1KHvLB9cZem8/pSOeHmlNt7Kcvcs ME5Wb7UvS4OGF+HB9qFIlG7W90xvcZOaJFYg4ucPpN7f1EP0KQRdjhD467BB5Eh0 gh5rIgrXjdY0eFSzpS16CST1r56k7Tk+MXwihasnMdo7qX6Xj34VJnIfKHsTf5ek gZFnb6kkseJySR81w+K0LSbavZo+o6SFnwa+AeF82tfPQe9jLXHAn1t4H8jtRRu4 ZzZCDQ== Received: from mail-vs1-f71.google.com (mail-vs1-f71.google.com [209.85.217.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ecpy2mg8g-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 26 May 2026 13:11:28 +0000 (GMT) Received: by mail-vs1-f71.google.com with SMTP id ada2fe7eead31-63146b7289bso23012127137.1 for ; Tue, 26 May 2026 06:11:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779801087; x=1780405887; 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=vBHLofPVeYPfx1ZGHrhJ7CLmG7Qg01nr7l3iawgtmCw=; b=YxdGYCPzDEUcqCusXQDrYxCa6aqVge/gAQzdG/NdU+cwDUkEjy87Q5ORwDUGgREXuz PPa/aeJVOWQB4jCaqPkDqrRpnGLCWbNd5go8dm52D33fMwHUaDGIL7PR2RJw/uj+honq NHe7S03n5ocrEBTlNrcDX7SQz9xFO40/lBUmvPVCWMZVVyocVwtzweCp0PcSuB/+8xpc nnfI41s3pT05kr+j8OJqE4g27Y4DWNFrMrHyYoP0V45o0grsvfozaqMy44iSlsoQ3paq CPhP1daZjqWqpXADiF2GhysAyDb+SB0d8UY32kor9BQT0ZuQjo+T4+J0fk9meAcwULHa IPJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779801087; x=1780405887; 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=vBHLofPVeYPfx1ZGHrhJ7CLmG7Qg01nr7l3iawgtmCw=; b=FQnoyFzO2aR9sY0iF6ZDu8MHhdd4nCOlOytWCor6hZUGSdTGbjKTNaxCHnChOroEL0 nvWwGUAA3Rawlw/nL3JpmKQkn/5nhu08eIsOvHBBeStXtT5TlsOWZok1fgW6Nz4fdqNB Q3XeKydjclhLgMHLYf+063TJC1UhoGXVrVyb3bKMxTvTsPMiB68jBMpIbF6AaiwPZV0t 9rwOL+VSTvwSNvkkL/tHQlCBZDU7KnwuUTA4sS9+JqALbBWB7Ri0RVLtYU08G/4yyMCy 4GeT+k0kHFu2zwQn3r3RCzfaJQQyM1A1v3QOS0nUzFtimIbISba9b3v19C9JWk1rYCQ9 gtOQ== X-Forwarded-Encrypted: i=1; AFNElJ+DoxrC/CTMuPfIisBI2QAkmjHzKRYte5JJUB4ncj2uqrxJuzr7bjBx8JBGg6LEg0KjbcdK10NgZ7cRgHU=@vger.kernel.org X-Gm-Message-State: AOJu0Yy2vxz0RD5WICSWMuYaLOxSE2tFPb6eL+a+IhVk4eaZCa4YxlKZ XEj2VNXKacQcMO9Fdp+bk+C+rf25wN/ieUpTltHjDt0D2f+njrYEPpGBP+31ramTDpPK7m8jVEO rQFRKW3UygOm/cZAt6E55JXljX4Xjm9l1cG9floikJdLFNhvF27nzZ2qrJ3EDftnyIv8= X-Gm-Gg: Acq92OEBU7nphKagbKxG9Z2c4pmCIlP2+eD78NlkXtD5vEQxWZP3bpbs67xu0Md3j0r oNHyT+z7ycAKAgv6YyyMA4sz/uJlmYrxJnzAfCOahr1oSVw5jY4b5oByPVCV/bhtjOuB/bomLN2 XQvV/PbTZMGqjGv2ZfRmwPQfID2kUhD9bzs/hPs+jZ2GJtYZRA+aD3aKn0DIBenAsPfei1P28Fn oBisW8U47OfyW0zdpKKiDkqLQ27BmWaSs3OspUvDGopITQQArzVE/Tc9tW8TP1u47rkK8SGMiiO Yt4RUFT9aJm/BpspITC6aWtRCKCLJ6eyYXQG3hL58bST2niio6SHTN3qvffOwSMRea/Ucxo+b97 xdmDJ1ndH+EvbjhccK6LDRfsCpADSbKKI5ikV7qRxI8TjC/MRnXY= X-Received: by 2002:a05:6102:6447:b0:631:d445:171f with SMTP id ada2fe7eead31-67c92ecb981mr7786980137.15.1779801087354; Tue, 26 May 2026 06:11:27 -0700 (PDT) X-Received: by 2002:a05:6102:6447:b0:631:d445:171f with SMTP id ada2fe7eead31-67c92ecb981mr7786956137.15.1779801086891; Tue, 26 May 2026 06:11:26 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:15ba:1d70:65ea:9578]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45eb6d5e484sm34259426f8f.30.2026.05.26.06.11.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 06:11:26 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 26 May 2026 15:10:52 +0200 Subject: [PATCH v19 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: <20260526-qcom-qce-cmd-descr-v19-4-08472fdcbf4a@oss.qualcomm.com> References: <20260526-qcom-qce-cmd-descr-v19-0-08472fdcbf4a@oss.qualcomm.com> In-Reply-To: <20260526-qcom-qce-cmd-descr-v19-0-08472fdcbf4a@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=uxRjFVxEhrXgn9P1PbRyStGi6yK9KFcQvfp9JiG64Wo=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqFZvrKUL9qIkIN19qHPEpzuE2u/9bNVcl14aWN QqSrjVTl+aJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCahWb6wAKCRAFnS7L/zaE w1dFD/0cVIC3rGapO0PKyqz7apZd6ma5SpNf5q9iP4D70P+gdIIaivnFTjRV5khLy62rL8tKtiD X6NA6JDfEdj7cW4AlYdEvmaVdtCs9onD6Ug6szzgaUyAEB/BkAEIaPgPBx/jgNR0dVSDlV1AQ6Q SuDIaG3gdJvzEavdwzuKmGJ7U5e1F0RhGPLVsrPrJfGH2WqQ7KvrXIkuzylTvmC8luChR6vsneZ RQVwNPOCJJfoDkz35045GwPpd1NTIofdUImh5xGo/eTc7/5LvMApBCEpUDAPuojV2ghp+H3pVpO wEIhCPb6SucKoX+0TizqrOnRE/QdIKTdIQ8mP+KqhG64dCXm06jXch1h31lSBkgV9nTnR6qUYOR ckgplFhHkXnZFSsDCIi9scdtHZxQa6zQUMKtPMRQSGx9Jw8xJVE2bhJHLzw7HyJKL/aJICPdy1s icQMOFwDWGlfP5TSappPtJpouBTbUIIpJSKIgLGuY3pZaxLsRLZv2vnaBqwv0DVqJbR+50lyk0Y 1RexXxlbo2Uzz21FflwZKCLfQHG7mOvuDYQyzGqDjQOHRjMgvnBAU1R0Te4JyUoHHbtu71fBYRf hQ6uiX33ToVBjIr8MOf/OmpSLcpxcQwFUixfMf1Na7lwH6iPLcno4kd6IA6w5J4n2NzOijXI5LT bKeFTl3PBHQGIEw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: b9S-ww6efybpfQM3tmKZO8rX1WuXc3N0 X-Authority-Analysis: v=2.4 cv=ML5QXsZl c=1 sm=1 tr=0 ts=6a159c00 cx=c_pps a=P2rfLEam3zuxRRdjJWA2cw==: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=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=Fb6uNmSZeVr-t7npd3wA:9 a=QEXdDO2ut3YA:10 a=ODZdjJIeia2B_SHc_B0f:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: b9S-ww6efybpfQM3tmKZO8rX1WuXc3N0 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTI2MDExNCBTYWx0ZWRfX34cS9WJ3ETyH l28p7oGi0PjOnrSQPg87mmcGqIi38MwTK0mlKM1zu4TTJGoZNUwvZp5ipy2X4LBayYU9kr81B3g XMCAthNYqYipZkZbVtABgh1PRRlav2JNxY8qYLBCxUgP9givq6Sdm9sHDS3nstihaHPG8hY0OPA tQem0MEIJv+zH0fNXMJ/RNyl7DUlMAhdTWH77RT5a5K2705M9frllWQrzwepG4u1xciB5fOkUXN /8x+8nvQ6SA+2f7FAvxVpTzkXz/69jDmqAIKUkk4COb0K3KZ4Dg2ewuPFlbK6D7C8HEMUroL1MM 4zsiYGcK4PGi+5UrxOKF9Y7EvfnAcoTGBmrE6hk9eUjwt2qf+tlvO9sis5nTFxGy+mqMMBnHXy5 QiGKPbEy5g0w4NMy6eqTRgnzQoR5ZenoxEtsuN4jGTcSWA3oYkwITM9e9N/zv7WBqkghiE5IqA/ 9Mazcc0qTUD5vUz3pMA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-05-26_03,2026-05-26_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 suspectscore=0 spamscore=0 adultscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 phishscore=0 priorityscore=1501 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605260114 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 1c62f845ac0b956e311857b93f5b504086662f45..2129ff5261571581a2c086c13dd= 657dc63e16f90 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 Jun 8 21:54:57 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 ED63A3FB040 for ; Tue, 26 May 2026 13:11:30 +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=1779801092; cv=none; b=qErqIZ47sdXpN74eXaenf5pRUIbzepwaa7fphzOEOS3g0+PJqRNktoanjZliQd8c0khMucOx6ONMb68RHusyeg+BWruVuT1aIxwG0UhaHocIn6Ia/CZimT7gOj1aWFpl7igR+BtTZdvq57K14GxqNFEe7KMfZBE+322I5z8/z9A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779801092; c=relaxed/simple; bh=W1SOKd2RIQ9nozxC+fLn2sIL5/s1so7KiyQzTPwT+38=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=lFFcA4AHCjDwCKzn+vbs31FWZZXVZgLFkDjSlN0iUAOfMjV/xw98W74v/bL/fmM9JTeXHhw/lLjRjrbI9fpdpF4P6khPoPcbNtClxyJy/DZTJObW5X9fYmFFIFWWPJrrpEfqpOHaY2u7HrE1vWuFrpBwkq+yOo44liCPcD5K1mU= 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=EL3VlKhP; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=UQS/yMJV; 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="EL3VlKhP"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="UQS/yMJV" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64QCsX3O1430489 for ; Tue, 26 May 2026 13:11:30 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 4MzlzgFENj0SGuc5BtzYXGLVYZCfinPwBm1XxV5rC6I=; b=EL3VlKhPKpTo8VtD DLli+tRTMhesH4IaeOloJm2olJfrT+88J4LsNG0YQgypjCEvqbRrc0MUsrUrvVTM LtYFwCY5AlRgSyriX7j2kWsROltLk2sP/Xq1zYwduote8gNdS/EsAe10ksAlNcN5 KBj8qqx+CtWAEnp2mp225Q/FqX8ybuv6D4m+vqljxdvwJQb2+14bSvg+zScYSSqH 4ezzgQpbBcCVt2q4dlW6DFNHez3WMXtn8VVTzxZZvitom8KobB/aDWZxA8DrvyqK 9eUJAIbm00iontObpVKfkfCoLWjhwzhBWOYWFjEyrLNS942DMy7SJnJa4D4b6jno 6S8Qug== Received: from mail-vs1-f69.google.com (mail-vs1-f69.google.com [209.85.217.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ecmbv52mw-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 26 May 2026 13:11:30 +0000 (GMT) Received: by mail-vs1-f69.google.com with SMTP id ada2fe7eead31-636fce7dc8dso5503625137.2 for ; Tue, 26 May 2026 06:11:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779801089; x=1780405889; 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=4MzlzgFENj0SGuc5BtzYXGLVYZCfinPwBm1XxV5rC6I=; b=UQS/yMJVR39QJ5wx69UTjVCJCU6jeGlnf0bAngvIk/3TlmG4L1pCqmtmEyaVLCpfNi 7387NCuDIRT5p5eQJ5IAFSPsEDrfCLcQJF8EYM9mq1K91d0jEMKG/cJc4ut0hZj7PVzO daz0kpk4Dc8NjWbUT52/zg4+t5R/Dl7pk5AtdTQn+NL1NY6RyIgy+D8YIKlNiwVAFYTO xxeGDuTAn36Gp/D+tYkOKWtSJh/24yfibQ/H4LMO77C0TFmIdl28bHAvTjoydsNH4NmE 5+RfkJII7TKPRlU/7A/Y/BYiEvJ8Eagdh9OuYR91ObIG++XdlIJiLR1eS0RAERF9H+dn Vz7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779801089; x=1780405889; 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=4MzlzgFENj0SGuc5BtzYXGLVYZCfinPwBm1XxV5rC6I=; b=jnBQZCBY7bylR7lO7ifHbuxEAs0YPzS7+6Vp7aflCEo4vcZxSDKIMMqPDhRceU42om PObkR1Fp5y2GqsxwbOV+AazLB8i7wLPBzZ75q2MENEVjf3JhSgM4qM28f6fGflQ6tAR7 N7XxK6orX2g5F6lOyH/KGd7S65WwbVkSnliLOmYTF+K0YgkHgy9ZvhN/1tndaf1rn169 YVG5Fq11FTzdgOkusOQyWOAuKwS3he4+/vqPadS97MhBlSce0KLE3DKLOsQjZrdchYOP YVMN7EsqUAEheFDd7FOFI9Paol4lEnLDLGsS/JEytmiDXXYM5FBJo+fyoXfH7131vwYD IeXg== X-Forwarded-Encrypted: i=1; AFNElJ8T54s/zRTfQvUnQLpAqzzLcw980c66btr9mKkLWapktYWUbYI5UHyf8vK5rCsOQuwuElFSyIkxdxARNd4=@vger.kernel.org X-Gm-Message-State: AOJu0Yz66bIXU6xtZ/w6b/WwUYjbAhREHhG07r799EbtumgKDVgsiY17 cPm9ckd5NKMjLIZkTGWEx0Sm8Oj7vRDCicG2Ut4Q1nyBVvxJ79FpOgPI74iX78xm1LxSfbzgOG1 wUdYrvKALs3AaJGQ7TZqcbfXVTtt26vilBMpKGF+FDLAJ/rwLDXa9X0IF+KkYKS0gvMc= X-Gm-Gg: Acq92OEALw2O5tuk4h8jIbCxJGvJntQyppTdZYdlE+a7pmzHbmpMYj8RbuBPg54p8nr nc3sd6w8QGdiaBqj+ZT2VD8PeLcdTQASMrenzhQjIdRW07wrx32i7qMQVQ8DAQu/U04j3zimJXC hETe7q1dwc4XAlQIOEgG/klfqEbhHriat9RAq/nWHi4IVtiPxH4jBNmzjVRosr/gdpC1VFNYNo2 6IjD6mVRRYMKbCxv9Os+PtdAvy+aHaksLC4xhCJc6avvs8TdgyZgQbNk94qQZyuUBjxoB1P2B2j pRw5mLD8b8F9WiQ1HEpB15TT7f+IKS2w1ndeZCQScR3HUgwbBCqWRKQAl4RRfv+pJJEWD3Cstl9 uGonEmjuzpomC9nFU3WrqgFhk4M/QFQvt6F3CjO6CxoWxnknE1Tuff8+8JEe6Kg== X-Received: by 2002:a05:6102:3e15:b0:631:2472:e832 with SMTP id ada2fe7eead31-67c7fff41dbmr8318266137.8.1779801089282; Tue, 26 May 2026 06:11:29 -0700 (PDT) X-Received: by 2002:a05:6102:3e15:b0:631:2472:e832 with SMTP id ada2fe7eead31-67c7fff41dbmr8318181137.8.1779801088719; Tue, 26 May 2026 06:11:28 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:15ba:1d70:65ea:9578]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45eb6d5e484sm34259426f8f.30.2026.05.26.06.11.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 06:11:28 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 26 May 2026 15:10:53 +0200 Subject: [PATCH v19 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: <20260526-qcom-qce-cmd-descr-v19-5-08472fdcbf4a@oss.qualcomm.com> References: <20260526-qcom-qce-cmd-descr-v19-0-08472fdcbf4a@oss.qualcomm.com> In-Reply-To: <20260526-qcom-qce-cmd-descr-v19-0-08472fdcbf4a@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=XWQU2M8GNJi1hTXicUIAjauPbHJI4z5KvicdSabu0NQ=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqFZvsBil2ok+w4T6U//UrDGniLgPdz7SgFTDmi XqSwfkI+kCJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCahWb7AAKCRAFnS7L/zaE wy2XEACuFrcK2feOu+lrKAd8U6HtwFQlksXURX5scLbVJhJwrkfs+36Nm1ElbTghc/YDaixxI0t qTcdKbkQNAY1Lj0H4hwEMCVdQcclcPofcTtvt94EuA24riGm3o4z/kU0hOi0kMMftMSq02uJlS5 CxMy9RaV5m4P3e3+OgX7e5ikeGIM/vmLAuo9Fz3pBtsSI+OqRNbhFEYm7XO27Up90UfUl/ul99/ Qtj137V3CbapUiQUVCVKarbJ9+BvPMQD8xiwv/+4Cefb89tQmWvWFFJVarRYuU0l18ZJio1As/V csVRhBEeplMDqc9pbunOnfPUBZITMbOMcfIYv6y3g9VjjPpw8NzYRthGKf/1ygyPKzGHgThLYH4 GNV/KrIZeZQztPmz0opQ+L11t5SRu3ua+jIs7QwWkcS+YEwMgA0lEfn3mEFGQOe/iqT51Dtbvuc GuO8bxp95l8fyY9N5MUaDhG/HE7IqertdXFEqw3Nv5P+RVfmeHwclBS9kJ/t647/Atq9nR4WK0U EX3eTxE+sl9lCyID2eYPB8me3Usaix0I2km7PtvZlLFHdCMUqSEMBPDKKcbaE3j6nvYNWAx5ta9 YuRzKQmNzJvbXRMsNpX4CBReFikdaUvHy2TXG/WIbTVxZybsDRXb3sKfTC5SbDA9qGweBHpS9mD QFqiM05R4l5US/A== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTI2MDExMyBTYWx0ZWRfX4Y54WbdVQQ3x xcQ66Hh9bcA/dqD/oAP0fGv+HKBM4xIXndCWkrJY3si+Sfu+nXA0iL68w9QDBc1XkH54nLxIsMW QYbWmFSX+DsPXScTWtkp7PXX5AIbyesTI85f/dKJHWYrKO4EA9tfbxadaHuOqruWh1aBwSqc/FH aJ3bvQ/khJ+MPrsqhWsHx83hmN74SJZEG0scXJqQlxB+cVsOYYwDVSV5S7988SI6y2+iuJk5ao5 iRpd+7U0f8L94lhNSqXUiTo6HCmQ0bhsbEaSU8GNpvyIM8Cy4tQScEHDPyQLEUNX+kcNZmTlun0 FFMGJ41brUUdrI3ylKPPdm/Ca/cOt2oWXsQhrDi5XUXjDx6UmDPYwN2nUbXWQRqbO7Ec3FR4T4y bJdBVri2D6ab8F67skMJW5f53SmEECgiU70q3OILdt9W4ksfStHXIQ9YVJbMkDw3BpCbZoQmZcz NMrYdkV3gGFH3MW5t1Q== X-Proofpoint-GUID: VkXyEvxyY_f9JlSi_gDCn4NX4oRjh8kI X-Proofpoint-ORIG-GUID: VkXyEvxyY_f9JlSi_gDCn4NX4oRjh8kI X-Authority-Analysis: v=2.4 cv=XqTK/1F9 c=1 sm=1 tr=0 ts=6a159c02 cx=c_pps a=5HAIKLe1ejAbszaTRHs9Ug==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=VwQbUJbxAAAA:8 a=ZSnkYuKn9ZpO9KHknGoA:9 a=QEXdDO2ut3YA:10 a=gYDTvv6II1OnSo0itH1n:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-05-26_03,2026-05-26_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 phishscore=0 priorityscore=1501 lowpriorityscore=0 suspectscore=0 spamscore=0 adultscore=0 clxscore=1015 bulkscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605260113 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 2129ff5261571581a2c086c13dd657dc63e16f90..04fe1d546be73f074c66c4a5712= ad65717e10929 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 Jun 8 21:54:57 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 540763FBEB8 for ; Tue, 26 May 2026 13:11: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=1779801095; cv=none; b=OXmEZ+Tjq56n2iqra6B3Xn8bIDSjJffj4zhCuhLCytRIr6MtFfToda5we5laocPNVOX5tAFWzbkFKOuXO8XGBaUF7lxI11GYAiRZGpJ2SL7EvtJo17gFEOgam8UmD868XmlHyKQWT9hN/WlKzWq+RhzxPv5tabkiVevV4ZmoFjc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779801095; c=relaxed/simple; bh=gwfKXaVEiVIBtazssjucoj3rS7WWAo2eUOnSd/TMZv0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ILytXNXwLy+2aeMlbessESuY+s//X//FRtG7N/w9rP7VRajEb6OENkROWnfZJXZwpHvUhfFr2qPRplyChMeitoM6I7Ar9/pf6/bPQlQCBcke00yC4SPODy4PjfJYypNYpI4BsA4Uqn6YxLZRN03MT0IocKngSjmef5YKJmfophM= 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=AjUmkbJn; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=eVcOFKC+; 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="AjUmkbJn"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="eVcOFKC+" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64QCsXqU2496610 for ; Tue, 26 May 2026 13:11: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= oCU3VsxGEdjPBCoGd41WaHJI7aWQRWqjQ950S1o2Zrs=; b=AjUmkbJnp6qVhCB5 pXdlhv+8zhgzNwFDRak5tSyJLkzurACylamJplV2mXDU/2ww0RbMmL+1K3b5Acft nGasV1nf7KTQ4wW3J5SYJVlaSjk9kuREYeilbukArfp+KjbgGAVAQMkczXRUXi7A sF6WvCcomWBqDlpXH/J89V5y5L1HK99+YwMjWFtYBI3GReXRuikGiEwWswkYLVoh KmWEElPPSVm1UyyoAowMf0YUDHz/FGmq/+abbrlAXfNMbl9E5WwMrjq+3/WSlIp7 mtNfEq0vtPnCpkkVmzSeUkXOh7v3F0miZFAh20/EytaHnNnF0/jDIv9jR9R6bdS3 DS8ORA== Received: from mail-vs1-f70.google.com (mail-vs1-f70.google.com [209.85.217.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ecpyqmd9t-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 26 May 2026 13:11:32 +0000 (GMT) Received: by mail-vs1-f70.google.com with SMTP id ada2fe7eead31-639389de134so4263866137.2 for ; Tue, 26 May 2026 06:11:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779801091; x=1780405891; 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=oCU3VsxGEdjPBCoGd41WaHJI7aWQRWqjQ950S1o2Zrs=; b=eVcOFKC+nPsCMyK0BJPMAFC5NHAZt2eHgiXx+Ugj3lGWXFeug+DeaRL8jcOBVzPdZG bnFPaYLXaa9iUvG+Bglzp2pAOkIVj4IVOfic80GoG6pt6seJu+pDga5eVgyu/VsThEMa kfxpaanAJM8ek/aHF3Y1VZ4pLD5eqWuVopfT7TwP0KLoxk0k8ZFqDFMCgqigQFFvW2UN 35x4SmbtDRgtlG29z30gNrJyRDyA7YpguD1wbQngOlsbl30GI38gTY+1mKtLYlIIwFw3 yZvo39tfEupTXK5oNyFjsrSktv1nQtZgp3V9R2Z96zLh70c6FHTfDU7MVEjxOPmSvJay 9Iwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779801091; x=1780405891; 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=oCU3VsxGEdjPBCoGd41WaHJI7aWQRWqjQ950S1o2Zrs=; b=b+jtx6KlGGKj0Uf3ahXNx6n/ErxxN/X3br0eV1Dby4sSNnghoOaNASN7HST8DWfQpR Iy9k1YBCNjcrlVBgG8i9cxs0dabNUAAMiOmxNHCXXcc5HY3LigNjeHO4jcNpdEvSB/us TZFbyDjbN5rimtEnajpIr4ji75aOREuF+SpzeZitDF+GAdHkq4qRGol6i9sfE964hdNP sDqZWk+BC4SHtO19Go7aegg50HCkD3Wb5igdg0nQiErLrQ1ctacFK43Y8YyNELPOt8zs pbPHzxoz/KyGydKWBzkxqVcUhyIp4NiKEotxVdRH18PNABZPTqpeXxcI9F3EOQRiGHfo He+w== X-Forwarded-Encrypted: i=1; AFNElJ+2teU91u/0G1op0+LUVqgSC/5FDGbfhSYYvvYstsg47GRbr7ZYdPxABqlfcUlzbUUjRIeyZJujxBHsn58=@vger.kernel.org X-Gm-Message-State: AOJu0YxEkElaev7DgCJCzMZehA4A92zJmv7ex5qpETipNq8ujKmBI3hQ WhWQVHK88ToY8y7S2NeidKldlIlNTQnVotBo96gfZv8iL1VYvuvi01SZBGwaPjfQRbGPyL2XvzR YkkuCOyAgW+frlpyx4Vm6R28mvFhMqrLgVKS8a7efclzAw4MCiWvNlK3mY4tEs2X3nZI= X-Gm-Gg: Acq92OFkJa3P1Q6MmPmLUtu1WmFpm2OcYct5T6lGy9wu9Kvu7bPATaI/Fpew4FouWao wbNKyiSnKP/Vuh8bDdpggQPjnXEAfNs8MXBVfhocS1PyvoLmUBCKEf6Jop23b7eQVIrNh2RruSO zLx3OA1q7wlWjhEb6xwiaRIo78aIGxuM6KiUBse/6AecGnsVztsTrMk023rw4eGuYis3afstilO d8JFOCUO6nxP+B771b9MwzxPduuuQkd5bHrxJGdgdeImXvxNZoQL18EbXbDluoDmHHxMqgpklph tKy68Nm7U9XZ4aB1AWD73IZfyGEwFVyOsmkXm399/CPkW3ROik4vKKthAQ3s7edr/ZLa3UYLcUX beXK+fMLQK3E/GwkuqmwCNRhaKMOm66PwGH3kKR97a0MhQDWbUQc= X-Received: by 2002:a05:6102:c07:b0:631:2f82:c3ce with SMTP id ada2fe7eead31-67c77ff1283mr7782061137.10.1779801091392; Tue, 26 May 2026 06:11:31 -0700 (PDT) X-Received: by 2002:a05:6102:c07:b0:631:2f82:c3ce with SMTP id ada2fe7eead31-67c77ff1283mr7781951137.10.1779801090577; Tue, 26 May 2026 06:11:30 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:15ba:1d70:65ea:9578]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45eb6d5e484sm34259426f8f.30.2026.05.26.06.11.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 06:11:29 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 26 May 2026 15:10:54 +0200 Subject: [PATCH v19 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: <20260526-qcom-qce-cmd-descr-v19-6-08472fdcbf4a@oss.qualcomm.com> References: <20260526-qcom-qce-cmd-descr-v19-0-08472fdcbf4a@oss.qualcomm.com> In-Reply-To: <20260526-qcom-qce-cmd-descr-v19-0-08472fdcbf4a@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=9514; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=gwfKXaVEiVIBtazssjucoj3rS7WWAo2eUOnSd/TMZv0=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqFZvtj4BqUHDrNP0sdg0saKBsOM2MRyh34m6Dy EFU7o3qF+uJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCahWb7QAKCRAFnS7L/zaE wz+cEACZYnUIzTy6zDUIO7SgdoD6QjR30C/Nxhwa8F8J0L+2NH8N1aqvbwZytTgSi55IhlnprAf kytBTd8ZYRi0Fl4z0ULnsTtaJujaAewSZZ9WitZuDbOxuw5OsHySSmBr3QY7QJpGgxKyycGA05D kY04xLeExmzTF7AaFcYRit8Aq12GHDi7fiqSH8dwkcLD+18xgpNnL40BkaN4Ye4GmSRQOXre17s ebekpT2BSJCLjnJypO1l2Jdg9s1mbOZxqto9SIVd5X2v4LNFVu+/XZk2Ot72227MJFs702NeXau kfTzswEcb4grbIj4JUOpYyslutAuCqJZjBT0pQOPD+9VhPGl/+flp76E8PJWB2SV54MV8V0mpdp gHPAMG0Q7Elg8GKZwISvbQG4C/VHSSo/azPv0ooqgXipmZ+90r91Lw3i4f0+UoZQX6VIvxd0Se1 xuilqeV5PDpVnWIDDzEc9/LswhTeAkjzp7wzB4Ge30T4uv5afK7VeTh3I4aGqKzC8ekUQaw8G0/ 0Mj0qdsvtrA5KIHEyfGBc0XI7ItVjE6E4xhl5C9ecjiGyieuKUgaXESVDZUtjSNadI9Ov8UKyY4 14v526wQn/c4qN+QQ8O0Qr+0B023fGbosntlXvJq4oYI0dUre8yBtFEtevUi9Oy73rB4lnnFXen bHrMyUSJg+fnpog== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=dtfrzVg4 c=1 sm=1 tr=0 ts=6a159c04 cx=c_pps a=N1BjEkVkxJi3uNfLdpvX3g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=j-cXwOq41x9PnjJ4jooA:9 a=QEXdDO2ut3YA:10 a=crWF4MFLhNY0qMRaF8an:22 X-Proofpoint-GUID: xapIoTONoRNGBrVxV4Pu1LnAgT6nNHhj X-Proofpoint-ORIG-GUID: xapIoTONoRNGBrVxV4Pu1LnAgT6nNHhj X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTI2MDExNCBTYWx0ZWRfXyevbqiYnJQvb LMnNZkWEYuuixBoVYqeFaqnpfiGYlBEMKa1/YCqFoJJz/S7TnXfdlcY80WdhJ0TkewBY7G27gBf f2F5Xsc//7kvwjrhMPIce3Z4sSBn+pyu9PI5B84AA9B90mROqrHxzXoev66s35VQ8oyDay7CPN4 RlYvKSz8q+zZWyXZMOx7HoFg+RIv019GLfUXVujRkfi3J/EFQII+GtYhv+N2zVimwILr3jTYA40 QEjW/Cf3K1rwzHmAVtBxXq+fc1uGzsvfDMVXAiUGunwq6gjL73GNtmg6rEuoT9TPeLxpmpZBJUc GZqaFZ5TP/n/3sSOq9VuKIRHBSOgIcq/eJvEDKgfJ9n5NHycOVqS4b5Ex7Zq4xmwG18aE1TfRiG jpGlPseD3YqtS2N6by2ypALaFMDS1A2Z67fIUfyQmOBh7ezkoHBAO2LdvbZk0ta6iPvB+HhP6Ol sB9jkw7qrmYa806WYOA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-05-26_03,2026-05-26_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 spamscore=0 suspectscore=0 bulkscore=0 phishscore=0 adultscore=0 impostorscore=0 malwarescore=0 lowpriorityscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605260114 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 | 153 +++++++++++++++++++++++++++++++++++= +++- include/linux/dma/qcom_bam_dma.h | 14 ++++ 2 files changed, 163 insertions(+), 4 deletions(-) diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c index 04fe1d546be73f074c66c4a5712ad65717e10929..84fd9e181bdd5fd9a4a744050ba= 57f05f54787c7 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,10 @@ 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); + tx_desc->metadata_ops =3D &bam_metadata_ops; + + return tx_desc; } =20 /** @@ -1012,13 +1057,105 @@ 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(chan->slave, &async_desc->lock_sg, 1, DMA_TO_DEVICE= ); + 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 cpu_to_le16(sizeof(struct bam_cmd_element)); + + vc =3D &bchan->vc; + vd =3D &async_desc->vd; + + dma_async_tx_descriptor_init(&vd->tx, &vc->chan); + vd->tx.flags =3D DMA_PREP_CMD; + vd->tx.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 +1167,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 +1297,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 +1493,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 Jun 8 21:54:57 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 C74D33FC5C7 for ; Tue, 26 May 2026 13:11:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779801097; cv=none; b=OKYxo0XmebbUnKluvSp4tDP85kGLPRKhYXEQwa/+3HFolpG+IMxhfp9DW2ngaxRCtCgndcuM5wdFISBrE+X9Tukq/wWBC0umpPUQsm1pcxGy4JmsB9gmv+nwZVLwoRiLlVNHeCZ7NKRMt7OLiDl8MiALJphoiu7BPBC6yXmEerA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779801097; c=relaxed/simple; bh=atD/C70BmAbtLpgtk/gvN3TNLFsQT9cfTHvoiJm5/zo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=IyZN8C6R+2U2U2KBdWoMKU5iR7JgKMHkSEGxJA2ZO4X80Xz87qnRpHrqz/xp9BuzwaQyduH4qMjmChy1bcbDQ++zGdFrXbPNbLlPCmEHegaMyuVsA6XRrkC1hIBZ0Z2/8nV59taOP343Srsa2+IWuDEQHtrvfHieUghnrl+aTDE= 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=GimBwBjM; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=BPZlrBbA; 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="GimBwBjM"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="BPZlrBbA" 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 64QCsYPS2882626 for ; Tue, 26 May 2026 13:11:34 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= t1nmBooCYIL6gijj0RhLOpiyGlP850IpBxaJF2Uaxp4=; b=GimBwBjMGP2fclBL AKTWRMQn0pV40D2BED3S/IHANk4+2s3Hqm3BEfrhTZjsUVYVZEm3wQKL6zL/uCYa XsqNhUBT1IIhmJ9SD8zypKE50zX/Or6/rzM73vlVdIgZAUJzhIogcQ65ZIbUe+TZ bTG4SiNE8gZ07p4SYA7B2KP897aZiCwsMIhUiKQ0yXbM6hP/fT+CLvB+yJIOFjFr qnoB5Rtl+OFXdvpN9yM9Ji7/rmuXK+oJE+qDcDCNvh8eBLDeFbZHHT/gGald/1JD YuI5Al59xQFokwRrfbwZO+9D7XPwJvcz/USZlbRWIXyOii7UZCoC3QGnvQG4Xj7D QkJc+w== Received: from mail-ua1-f72.google.com (mail-ua1-f72.google.com [209.85.222.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ecqudc83q-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 26 May 2026 13:11:33 +0000 (GMT) Received: by mail-ua1-f72.google.com with SMTP id a1e0cc1a2514c-95cc77982c5so12284143241.1 for ; Tue, 26 May 2026 06:11:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779801093; x=1780405893; 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=t1nmBooCYIL6gijj0RhLOpiyGlP850IpBxaJF2Uaxp4=; b=BPZlrBbAwj1O4QcFHZe1sGli54zbfAKoo9mbu3TMxcKs7oDlmLBuPW8wBhYgQIcDVA AuR7VmrjOnN5KEMss/5bmgU5oGFA3Kx4ai5TKo5YEYQetAk6Peg+Hh2c04IB+Xh2Snss as+3fCtA9/p+CW3KQYoGOJxlEgVusaMym4mnrQQz8l0iIk79zQgEY8IQEjWB8LMuu8/t NeyaedJkfE4X8CvXWcQQuESxo0jpCLTD/9MAtIS6zLc/2GVb6kRlxho5OIBB74t5mTU8 xvQuj/istiB7cKJ9O0e6CX2Q5ixoJWnOZLYytPyWqpRkeEvzvOlFA/LA8cQm3mM+1FXv BRmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779801093; x=1780405893; 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=t1nmBooCYIL6gijj0RhLOpiyGlP850IpBxaJF2Uaxp4=; b=onp+HnNR9Ze6RutHrRxYyT+ixlCD5OmYuMAVsfX6mcydSvd8IcBmn0RIAyWWphjBKv CQSoBb7Gb+NGW4KuPwL5c0ziL+sUQum6QDPgbCejFKBEUmfpbmQS0EAP2mC9i6SaJ8XB GG6R3CyVZsRUXUyMG2Gb5pElHJr7o12fZYZhNKDapM/a4cTboUSGPshDEKErrKxfchWE 1CekZqKfUT9UgsgN/RUndFOcIxLA+ss0hXcPEwvy/N6e/bTdNO9nBIU0BI673RAbr3Un D4Yk0klFr04KpzqlaIR+BI11VxDw2vzYQ2+jWeqrM5KLwkcFGXRHentdxebmF2HcvRdE 1/NQ== X-Forwarded-Encrypted: i=1; AFNElJ9cJaOcfudAWNNOBIHnriFfpfzwJK3G0omZtgX22ByIhun3ZXTyA4H9ukpsbfC26DXpoUE8EAnCY1liBHs=@vger.kernel.org X-Gm-Message-State: AOJu0Ywh+8hbSX46t4nuN9ogdDSbE42BN1vL3bGNYX8WWbBOuIYNKueE q1twMeYfDuencVBnrDQyhrSxfwseGVQGhUsm8pLWaoQXCDwRaxfTLhK+vGuDM3st5TUDTxSivZz JSWxYgjI0g91mvmMEI8bKEICgkK46g8zhFnx1Z4tJmc3U2h9RJp8py1ZUcmJg0Wn+opw= X-Gm-Gg: Acq92OHKhxA8nYRA3wx4d7rjmfoarOW0izLGVZjre2NmEI10wVAM0EBK3MLZM1hT9Rk 0WF0+L4TcNvF3EMedPuPFky65WehTC2EEO6r3LjPrP145L3S1Wy1abHrEgD3fbp9hgBYdQJz1uB MHwOgsRlBY919GHfAR8HVZctN8KQg1aVCEZvNcznivl/x7aWIaGX3puDGqJ+AT4Rrli4oanL5QT B+d/2rLEV5DKYhaRgoUW7eKku0enkP8XLOTDUX5/7UcixhGxBSwyc+NViSadNes4fRMqnCKTUIp 0u8fgBLZa629xh26dtekpv8CfsMUGUJtd2hx+r2sB0wA5gcUhd0mHbrQpSsfZoow5jWLVABy6KX nHEVMcRSNkpt5fFDfcuJeegAUFjZ+/b2vBHCdkDF44LWVbGy2c5ug34k3k19jlw== X-Received: by 2002:a05:6102:1453:10b0:633:9ac8:6bfd with SMTP id ada2fe7eead31-673bf88569amr7323134137.4.1779801093254; Tue, 26 May 2026 06:11:33 -0700 (PDT) X-Received: by 2002:a05:6102:1453:10b0:633:9ac8:6bfd with SMTP id ada2fe7eead31-673bf88569amr7323089137.4.1779801092792; Tue, 26 May 2026 06:11:32 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:15ba:1d70:65ea:9578]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45eb6d5e484sm34259426f8f.30.2026.05.26.06.11.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 06:11:32 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 26 May 2026 15:10:55 +0200 Subject: [PATCH v19 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: <20260526-qcom-qce-cmd-descr-v19-7-08472fdcbf4a@oss.qualcomm.com> References: <20260526-qcom-qce-cmd-descr-v19-0-08472fdcbf4a@oss.qualcomm.com> In-Reply-To: <20260526-qcom-qce-cmd-descr-v19-0-08472fdcbf4a@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=2419; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=atD/C70BmAbtLpgtk/gvN3TNLFsQT9cfTHvoiJm5/zo=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqFZvub4oPxpUvAbSVN4B/pj5xEWuzyl0SR2VFe rF8kbhuJYaJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCahWb7gAKCRAFnS7L/zaE wyeFD/46/l63yuSUdQlhfYT4OY/W+59STZtAewnx+aiAWACncqNoBszVXsTs7wsrckSz0VvVGaS 29ESTPTJbrPNF7es3LUrk+dZ9e1clxUNaDDw1v1p2wk7Ppy2itCaDxO6TGOL8VNWUC5ppAv5e31 gZprPnxh62JRjqFBqTEGLOGLLyVHy9jAVdPNvD793KQb+egpZrFw0MTMQZf+Rq2lQl4bmboXt6D +U16DuZPtw6KXxPUg7UQp/SSey+jiFr/zUd0Xb2juh9TsvXOK7V24UTJc1/ooLH4ossJwVJDpON lcrCUrOANF9NvsSDH74i/UYjXzr0NGMyy7fAXUwiJ45U7ofzg2/JMcBNY1i4VPSucL/504OEKDR vlaocEYX313WRsXI1Q4MLru3WQbJ73qX3JgPdEDE+Oitdi1hr9cXfXbrMXRlzq0bVv36LFXOsuF jFgZeOcS/W1qT5lDsj9XukBwleBmYfvray2BDzRftHqKmq3xGtTS4ThOhHPthm3NEFpO3IqjsG7 C70BRz+oqcQGrXxSN6pdJ1fs6RGdcsy0rVf8GRIKe1PYyLX1XBE2SduPJNKPNfRR/mFWZzci0gm 8wlPzyCSzk4I1SynlWAl5Zk0nVrkI7EzK+tCmLAqHdYYAPfLqepSXqqjC+JjeiwriryO+BRrG6+ bA8kjd5gU5WehkA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-ORIG-GUID: -r98xn2DkRtNFTah_0j90V_RzauJhyEU X-Proofpoint-GUID: -r98xn2DkRtNFTah_0j90V_RzauJhyEU X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTI2MDExMyBTYWx0ZWRfX9gus3VVxTf7C IFwWINObmiEsprqIGjEjktEbkMUvDlZWn2XOCVb4rKXGhuHjRtBSrXgZ9rajSdIA8kzZlsDcj+T 05i4pz5Gr5Y5/qN++HbG52yYNvnlHWDmvWqEyRfDDmw3TGvCbcPPn47kslC7IqvTzDJ1O98AYTx KzR8tTyLZkrBqOvK9wW2uBSNWpeg/nyT1hCK5e4Zo3/a7yjc2sN794AUxU/UG5eaMuXwvje2nOH ED8RxYcF+jKxeakH4febbmmicQe5GAdAWTDh/+pdoWAAUDce7UTndrOQpdhJVbITT8QxrlV0Y4/ bj0nY3pYhPRwDHy7LE1wOrH5OufpJxItyDPkySrjhGgCMoQGq9c6nkV6UqEIoP+NFIPHCz2tlwm UHfXDLakp0mJT2MeGJ05Ix/J5E8Oi1TJcM8NxMsb6ilS9UJfdY66d/HZ5gIr6Lj0SaPp2Odg9FB vow9utdAiWquelCr79Q== X-Authority-Analysis: v=2.4 cv=C9jZDwP+ c=1 sm=1 tr=0 ts=6a159c05 cx=c_pps a=ULNsgckmlI/WJG3HAyAuOQ==: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=c92rfblmAAAA:8 a=EUspDBNiAAAA:8 a=SDQHpg0AWQOuS8LWovAA:9 a=0bXxn9q0MV6snEgNplNhOjQmxlI=:19 a=QEXdDO2ut3YA:10 a=1WsBpfsz9X-RYQiigVTh:22 a=GvGzcOZaWPEFPQC_NcjD:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-05-26_03,2026-05-26_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 priorityscore=1501 impostorscore=0 lowpriorityscore=0 bulkscore=0 malwarescore=0 suspectscore=0 clxscore=1015 phishscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605260113 The workqueue is setup in probe() but never cancelled on error or in remove(). Set up a devres action to clean it up. We need to move the initialization earlier as we don't want to cancel the work before any outstanding DMA transfer is terminated. Make sure we do terminate all transfers in qce_dma_release() devres action. Fixes: eb7986e5e14d ("crypto: qce - convert tasklet to workqueue") Closes: https://sashiko.dev/#/patchset/20260427-qcom-qce-cmd-descr-v16-0-94= 5fd1cafbbc%40oss.qualcomm.com?part=3D7 Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/core.c | 13 ++++++++++++- drivers/crypto/qce/dma.c | 2 ++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/drivers/crypto/qce/core.c b/drivers/crypto/qce/core.c index b966f3365b7de8d2a8f6707397a34aa4facdc4ac..f671946cf7351cd5f0c319909ba= fd87e3af701c7 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; @@ -227,6 +234,11 @@ static int qce_crypto_probe(struct platform_device *pd= ev) if (ret) return ret; =20 + INIT_WORK(&qce->done_work, qce_req_done_work); + ret =3D devm_add_action_or_reset(dev, qce_cancel_work, &qce->done_work); + if (ret) + return ret; + ret =3D devm_qce_dma_request(qce->dev, &qce->dma); if (ret) return ret; @@ -239,7 +251,6 @@ static int qce_crypto_probe(struct platform_device *pde= v) if (ret) return ret; =20 - INIT_WORK(&qce->done_work, qce_req_done_work); crypto_init_queue(&qce->queue, QCE_QUEUE_LENGTH); =20 qce->async_req_enqueue =3D qce_async_request_enqueue; diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c index 68cafd4741ad3d91906d39e817fc7873b028d498..7ec9d72fd690fb17e03ade7efe3= cc522fb47e1ac 100644 --- a/drivers/crypto/qce/dma.c +++ b/drivers/crypto/qce/dma.c @@ -13,6 +13,8 @@ static void qce_dma_release(void *data) { struct qce_dma_data *dma =3D data; =20 + dmaengine_terminate_sync(dma->txchan); + dmaengine_terminate_sync(dma->rxchan); dma_release_channel(dma->txchan); dma_release_channel(dma->rxchan); kfree(dma->result_buf); --=20 2.47.3 From nobody Mon Jun 8 21:54:57 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 9AF723D5254 for ; Tue, 26 May 2026 13:11:36 +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=1779801098; cv=none; b=nsu6Es59SbOX4dwZL0kEc60UXDSqGPmZXrEKQXdqB7klepATBWeX4UK290NM7VZ1ocVxKUzZr/0/dKJqj4hsBT4w0lETsqmDjUUxtOwCvTxjHOBg6j3csVRnd5hjca2bkI7jLyvl0myP3EcH8XQtjvuuleada4Fm96+8Ngd5MDI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779801098; c=relaxed/simple; bh=bxwOj+1r4hE0BIdCr6O2vUvIE65d0GfBKW7+Xew4ns0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=p9R3R+17mgwPTVgkDBp807amiCfOZr3Y2NNmvuYTuc0pZ4+j/MbiUrSY/CDVkNA2amzAJTegepXxNxMtnQLSigSRjiEbAN37Duv8q9RzsclajwE41JiafeK//kbJuLuqPv8jY705Uy0eB3UjYA078Dyk9HdB6+Z+06+9m1RJxdA= 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=PDOAI/V1; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Gk3cyrUJ; 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="PDOAI/V1"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Gk3cyrUJ" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64QD40Kq3693585 for ; Tue, 26 May 2026 13:11:36 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= 0kLuBmycbMAXm5ws7TG+DllfddsRIfX83CGKYC8vsgk=; b=PDOAI/V1AKIUSIf2 8LvaPFxs17fPgR2zWuSNdcb52ZTD7gi2jw3ii9z1SM41iXVk8OQRCO2FQ8q+SCR5 /JtflcFoClrGzQmpfoYS0ldnVSFWfiuBacXjOhhagtO3maaNOe1M7d4zUOs8ZS91 kavXyaLsQB9MFi43fZT5WgWWEtTwgvwSlQoQQ4XI+ACQXYpWsi/f1B9vEVPrVQ2A a34h7/8I5jh5U+cF03+RU5qJoMWZ83H76KJNLuPc4Xk+bFRanecdzOazy+2CYEIM uvhPz/zOxWKEOIgbwkrD9f56P6L4eCuTSvqn5h3N4stymJ1FC05EUDPwCYYkObuA 6CRf1w== Received: from mail-ot1-f71.google.com (mail-ot1-f71.google.com [209.85.210.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4edc2yg1t1-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 26 May 2026 13:11:35 +0000 (GMT) Received: by mail-ot1-f71.google.com with SMTP id 46e09a7af769-7de44ba64e7so17037378a34.1 for ; Tue, 26 May 2026 06:11:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779801095; x=1780405895; 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=0kLuBmycbMAXm5ws7TG+DllfddsRIfX83CGKYC8vsgk=; b=Gk3cyrUJO0YjRjrjoHWvyDOzMXHfoFlmHDVTiPLpf0CkSIbx/aYYSq5pwYIvaLjp66 u38dwR2697GWy+9GtzuvCah94e1Vr5gy1jryK/MjkjkOnomWB/zzMFwVVLwl6FW9TjPG Kp7iFYIm4UWriWQRf5SkMtea0L7lTMqRWfiIZTw30HxGguDRk1+dYW+dLd7NqTYNJ9+X INbk8PiPvGAWluKj+8BMOy6lap0/95dZbfOm3I2NwBo09wGdKpjHSNOfoSYCOVQy5Ykj pBsd4caG0izV+/f8jcg3Tr49WCtQ6nL4QjZrr7w1D9sP2ZjbVtdyo8W0ad+fVIqPQ38P y/Ug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779801095; x=1780405895; 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=0kLuBmycbMAXm5ws7TG+DllfddsRIfX83CGKYC8vsgk=; b=OjEB5iNmC5m3NmQf24JybNYyayoNT3kdW+zs1BOBbx7qyrj7rtbOLMtdoBEgpU4KLz vVIJww5Rp+ud3ZUMVnBPfopGwJEAxMXhNZWjcjStmlfXfoKoADEhNFjG+x/UGyEiCWwm ikMcwbJ6iIjO/xZgm8m7sKSxttXjiQ/tTTYDDVRWiMNXj8xL5092SpAeUfqlYxjxWWUm WsjCrYvUxBxrSUjEBVJasEVKN3BFRw7WoXh2wStBVJLEk0ZWuSwutzgoGsr6VEnsLyee xMt8Lxx1dBOMqv1e2r19zREsYYG6nTA6Wz/+rUCD6zequaFtOVr8/w2A8un7d+z/eOEc bHug== X-Forwarded-Encrypted: i=1; AFNElJ92CzlSGxtbyPklD4IBkkb89XOpQxwOSpVz3+cu6dFag2SkGR6qobdAi3gB8NyQ1GgtiY6la+zTLiP4ONc=@vger.kernel.org X-Gm-Message-State: AOJu0Yw2YyrAoZHRs/Y/5q+jrUENFukQPNBvZBnlAUezRZN36G51rDe4 rCfpmam5n+NAe3TrWOIU2TPG7y6GbtX2+mX2pMAh0J9Q+zbOOGQswAQDe1XFWk/qK70aJfum2Qq AKCoPTidV7psz4egENWYmbuHRFZ6FlgPxDW9XGseM2BOfqJ15+qLK+QKqoqkP9Fegaa0= X-Gm-Gg: Acq92OEN5PZpNmkQp7LBFGf5eIyylgyh3qR0WN6x2+6OMYliEvBonAwPfnP2yQqAL5n avePNS0zlwss5jBjAsJCzWStlwLY2ooZqD/wyL/bm8En4uvSACD/rrDCJyG+4IW3dxsxFyQBZa5 Pa72PWQ8n2BzKnef3CLsxJV4ap2qTS55znD9pscUWfEKu9nJVGG6FNl71BDe8UkwK4gLxA5UeRr IykLPOxtLPkvIiCqtkvery95YFDMbyLCAd3vvRYz7GAAoVQGXLTaG06XAqYWfp/cgneaggXyqmT st8PDg4OY9OszqZJBnUoa0GPz9+HI5KLCqAIsgHcaIP36H8PzbNwlYIWn3X2sjWCJvxEqKlEuey jsGgXdUxYC8kfCRxPg/KsboWF1gpHTeorPXSaXE/6uaS1icmZGu0= X-Received: by 2002:a05:6820:4c0b:b0:696:1262:2ac5 with SMTP id 006d021491bc7-69d7eb32a22mr9146028eaf.2.1779801095107; Tue, 26 May 2026 06:11:35 -0700 (PDT) X-Received: by 2002:a05:6820:4c0b:b0:696:1262:2ac5 with SMTP id 006d021491bc7-69d7eb32a22mr9145993eaf.2.1779801094678; Tue, 26 May 2026 06:11:34 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:15ba:1d70:65ea:9578]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45eb6d5e484sm34259426f8f.30.2026.05.26.06.11.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 06:11:33 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 26 May 2026 15:10:56 +0200 Subject: [PATCH v19 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: <20260526-qcom-qce-cmd-descr-v19-8-08472fdcbf4a@oss.qualcomm.com> References: <20260526-qcom-qce-cmd-descr-v19-0-08472fdcbf4a@oss.qualcomm.com> In-Reply-To: <20260526-qcom-qce-cmd-descr-v19-0-08472fdcbf4a@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=Qxst61jdIT+8Ht+en2AytpIG+5WhKs6TgGXh9cEYbqk=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqFZvwlwWuPPOocJK5HTgo9RXGebXz1TH1fLJDZ zRrnPDCeUeJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCahWb8AAKCRAFnS7L/zaE w4J4D/9TZ8zl+AagDemgV18CxEwlfF5SmO5X5h9N+TTNFeKXSps3Y65GYLhqqOcDTwQ9yafpTQo KslC9G7SJjpvzgeNNc2wTbbg6CSoLLgcU/+BZ9aBBUqclXF5KYZkku7BhnlA08xrcEP997eICkl fs/sGTC+6k/jVAe7ECWAF2F5HFM7yLvmqrRG99CEqe/ALf2yPaUvxFUUm9YAb56si7pAwpRnVNi Jh0g+2REUzCY5DaxJ+ZIBbX3PdDnnrnB6guGPnXEGiDZo1Y0vU3zjZkE6rSBez6L9wksn0tT7lr M8uM3wUPXFpgXqJM6sycWYIora5fV37jTMvt3Wcehn3ZR5CBwXxv9gj/KHnD1WR7oiciKughspM u9OzucZa544EBjJDx4vfMpaEvl8CTJhnAX+r6i4mLpJMyuU6fMrlK0vxuCovpLxezrvCMywAM/f pftFIIt6/7wETddPCn9EJoqeXw+AH+T3K2U9QSZyioq2WWQHRET99cOe8gGv4tjcQx4pPMFS/aQ 1KtXTttCSCGY9C69bDcp0AV1JBJKBZoAqNhobsXE1vEccka1CoK4tvm/AZDfpCsIc+RWRk1s1MU AWpLZ6pbXtgTIN7LxL7wtShVZLIN/uMKbkwIR4+hsQJV+nDyNxSxmtzGmyDq+wtPiUWEM8U3+xf F5T6OyqVNo46OTA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-ORIG-GUID: MExbfVXegx8lDjl9UcQF-yupmR7-Me71 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTI2MDExNCBTYWx0ZWRfX2WsxtukpH4Oz EWZcQS5v21EykVOe9ZQkzpx54uuiOBoirZ1eoIRQOKlfK5TtxWdI46dyV3QJcjPdh4peK4UU4XI R3qmz1PkH2wbPCiANn7AqMsi8M/dw+1/mvchxLC8JIeK8L0xJxdpzaciL4c8znZxc4Oqo+eKCrC zRUQNewnb89KUNkVl3hp6MND623YUuLvFHyMxQkZy/2Ho6qLsZfkfyAgtDEiOiKD49JFvidED51 OxFgx7hJPH347/HQh6UHaKGhqjq5WS5vLehhCyxSNIjabCN2De218Ozd2sy9OZrQd3ceDbeVSgK IitcdDVvEhgsUeSBPhygWsmw4gxAAqt34mitEpx3Nb/cfDTEdq+6HE41JrgEfFBncpRWNn+mz+I qx25KOPm7DBTF8mioEjbNZeCRYIAlaFaGcpu/bzbNBkHTSIbonIO0ugiLra59EgQ46Kr1OuXgtU BwF06lf0T9TvP8pJvaQ== X-Authority-Analysis: v=2.4 cv=CYg4Irrl c=1 sm=1 tr=0 ts=6a159c07 cx=c_pps a=OI0sxtj7PyCX9F1bxD/puw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=rvG61WhHFVBzVmnuldcA:9 a=QEXdDO2ut3YA:10 a=Z1Yy7GAxqfX1iEi80vsk:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: MExbfVXegx8lDjl9UcQF-yupmR7-Me71 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-05-26_03,2026-05-26_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 adultscore=0 clxscore=1015 bulkscore=0 priorityscore=1501 impostorscore=0 phishscore=0 lowpriorityscore=0 spamscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605260114 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 f671946cf7351cd5f0c319909bafd87e3af701c7..ad37c2b8ae53a373bb248aff06c= 3b7946e8439a8 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 Jun 8 21:54:57 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 4A1FF3FDBFD for ; Tue, 26 May 2026 13:11: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=1779801100; cv=none; b=u9L8lSDJKlQauyh7VjbHsnSSD6oOpltpvDXLfds8znf637bImxTDceKqvjSRBWiCnV/d0rpmQ3S+cxzYhkEEEEYleNUk4jp68VLdNRnnRyaKLHEZ61AQlSKfB643etyakJFzYpOX5rimHnXZJkwWNdI6CEPlG4z04GNoGAbGa/o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779801100; c=relaxed/simple; bh=vpDVf/b6zHPEUgtVCAl2sRJELM4MLJc6gtP24/up104=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=b2p5SQEaBG3M9WqJ1BrqnwycVK0QWW20JSCXokP2Q1XlQfbWbURqq0Hdo+sOl+gVDOJeZr+Za4S70jgB7pb3GFcj28mFU3+/KMqWRBRTQpUz/Ol0xdo/SvNyTudyl0cmciuGh4KPLTviuAMKECKGV6EPNeTuKpzRAzS9tIdrof8= 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=fYvR5w6s; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=OgIzIFnn; 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="fYvR5w6s"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="OgIzIFnn" 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 64QCsZHg1575457 for ; Tue, 26 May 2026 13:11: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= twry+rQD67k4KXlgASz4DIRuOCwVvltNp8BQTuA56nA=; b=fYvR5w6sNi7BMsr4 dpFPfDr5EHSwZvnJfvxEn5F9C+GU349KiW3BLfyFmYF+EgWiyS4k8/fcYX9ZpV6z 5TdFUz3zXnCYsljKexRxbQP9Z1DBniywQ59E0oIkk8G9DwY4OBv6hr1lNV9L2BeC I1OdZOZE7K3+IcZYI/p/vkEZks6uqjdDVwp5O2lVsEkYASAwsIrD4e1Zo7W104G5 RjCf1fDa/Ff5ygjsMZqs+wxGjfPA8sKHChl65NFHNhETokdczeUxxwbWfr86aqw9 IRTyoDQlB1fimEPOO4sOOm8Kt8s7zuk1AbAk1wiS1fizWYpqePQ75Hqb7uDXmX/A Hu0AiA== Received: from mail-vs1-f70.google.com (mail-vs1-f70.google.com [209.85.217.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ecqvwv4ma-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 26 May 2026 13:11:38 +0000 (GMT) Received: by mail-vs1-f70.google.com with SMTP id ada2fe7eead31-6751db2792dso1854822137.3 for ; Tue, 26 May 2026 06:11:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779801097; x=1780405897; 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=twry+rQD67k4KXlgASz4DIRuOCwVvltNp8BQTuA56nA=; b=OgIzIFnnymHMAL4iRFkPX81t3cO5wD8p7Rwi38DkrPvZPPuBINzAQc13ub2kGwB2Tr oEUTmiLm2VoIketq4kOo4aPX/UChgE0VLIhDVplC6I5f52ByJISjZ8aKntRCrelmRX5R BVrWhRsDraXu5T3TIZPM0GpLNS1SIXDtF2XeLJ4Lx+Wt4imZsNev35C+2aeJRzL2h3v6 /U/tfzondcEdqHgWazr8T40MTQBmftptOolldDKZwgnVtAtN3n3WxFoUW/VGmJU9p6bB W3hfle9auj20uIFZF8WjsQi8KxxXTz+jRb8HfHus7ddPv5jHioQVdVUH5BRJz/4bqItk IbpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779801097; x=1780405897; 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=twry+rQD67k4KXlgASz4DIRuOCwVvltNp8BQTuA56nA=; b=JMX/eBdLuu9+XwCEu/7X0GsXWC1EEHfgsWQy9tl/mLh5RYgLzOdyGEQ0yGPJUYA5yG tnNuGNvSegiF/djMIuawKMSsE3Lf66XGdCzax8lrM94NXHOsPPscPM4mfxHYNt9duVk5 4U+cCQ30nzWrunhtMN4Zs21kWSVG1ooXpafZEns+If9cFhNby4j1kyAReCrsul/Oj1xm 5M9X68BhZXzetFJSqSqp0c79FZKVpltAQKCiB/CDd6ZNWaJZGBNhDmF5TJybdkG0vtnZ kxPccjn/ygEwX0xGfQYex+vuhBgVqmfYNFcHoV0prz1vAT7T7erUaGq6HJUj1Y6YyxQt E5Xw== X-Forwarded-Encrypted: i=1; AFNElJ+arGMnkj+AaoThKwzErrvVosCPTQ7uCTR7vhZ/vQbAhOGCttRrEYH2MtPqOScvGXmBMl3QbcTZmM74gO8=@vger.kernel.org X-Gm-Message-State: AOJu0Ywds/wD4vGFsShK7d8dW4fBAzjOl3+Cycz+UumUFqfSw1igiTgC wuAQFi1LgMAnobvkiS9aCzhVJB7w8B1AIKO+abWPh6nR4eaRCQqhsqorPcAJ1MPAdHw5YgiXkPd QxHwRVtR+2BEgPcY3dYxALF4rrHp5KVjfB4fctC4ETbdg9TFnge36TSvMqRlCWyOZvaI= X-Gm-Gg: Acq92OFHy2Yico4C5zvLGNXCDrLVCzlEcGw4eVpPD15ZUGO2oFBs9MX8y2eBSfMC4TI gWkCKd9of81F4BBFdZtepdLE8hf+HcZgOH4om8r6IONmWNM3VxcwiJgLKtL192SWY/aoc69gHqT Z6tfmbt8iUoQqTsCfki9SwkhZZfF/tXv7Xv2TWSIPiNKhP6c0Uumdjn3zMmphg9Rg6wNCOCY9Qw eBH+MkjXNQ5uXhb7MpsvRQrXPfkwASeDGaHkXps/jU/zDckMPvgz5WTfOuO9hnZkQQ3ww7rFtRi JsyoCVrwBLOtXnYKsyTfuK7xVjBXZmFjywz5AEN5uC+AQoN0Cwg7BSUNQUzDZcenQYG7vhu2H/u KBr+nVFEN225nUlAIsN4gayx4rcTCN55RNoDfttDXHcIeQ0p7acunA3Mgwr7YfA== X-Received: by 2002:a05:6102:689c:b0:604:f849:462e with SMTP id ada2fe7eead31-67c8e97905emr7864578137.25.1779801097251; Tue, 26 May 2026 06:11:37 -0700 (PDT) X-Received: by 2002:a05:6102:689c:b0:604:f849:462e with SMTP id ada2fe7eead31-67c8e97905emr7864502137.25.1779801096708; Tue, 26 May 2026 06:11:36 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:15ba:1d70:65ea:9578]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45eb6d5e484sm34259426f8f.30.2026.05.26.06.11.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 06:11:36 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 26 May 2026 15:10:57 +0200 Subject: [PATCH v19 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: <20260526-qcom-qce-cmd-descr-v19-9-08472fdcbf4a@oss.qualcomm.com> References: <20260526-qcom-qce-cmd-descr-v19-0-08472fdcbf4a@oss.qualcomm.com> In-Reply-To: <20260526-qcom-qce-cmd-descr-v19-0-08472fdcbf4a@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=j6XY4tGbVrzzivRLNBnBuYRESnCKLFI7yXVP5haQkuk=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqFZvwqOknm+Sglsg/uIVkQOWaSxMSKumM4PoIj kftpwf8nOCJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCahWb8AAKCRAFnS7L/zaE w+rsD/wJMly2un6WFFVD7UJ03Bc4ShEGXIFwEcQVsq8e+Xa7FxB/JpHyDdV57iGPjfpiet5Biww PoyWytdBUim6dh3Q7BTADj+AeO7mxw2u3xdpwPi3/x/gcNGRH26OV5Av3goFZyhkLpUDT62QNt9 pyYMcgAIFaBgEmQKfcq+dP3pnRTvvMyjf1UMUmjKEGIJJvDeBIeMrYm/1xXH5us6dvRHLngjA0n PLCt4dkaneQmWnuGokrHx4VKB0z1LnGGA+gaPOsUBvwAfJ6ZndBGqRlLKxvX5okM3K7arY9JMR6 EMMOa8UZuWPxL9+M+WCiIDTCR1nlLPqS7Pjvz9Oh2VtyYSwhkYR3Ob0iWMZ1KraJEyIfHuo7N8b jnj87TtWJnR8zMaIsbvd2J19LFpYxsfnZPUD8h3+HR5rVlUvJrrDm903yjww4sQ9DvunUC4y5Hs Bbg5poL45iBcgYL20dfor6M4vYLhijGJxZ/Cfa4YcEMzSYKF5eZCbnsqtY0yS7imTVafpaDf4lm KAw+aHaCr4YHgEJ/mX5CfhQSfq5QghGd4c2Ls7VMKtVxftyzf/0swzaxQrJ1tlcwLnIK5K2Qm3k HhH0Ra9K9QHzFSEF/ZdR+3UyRQrIUvabSJVYRRdx1g4+EojjgN8k7SCunAqJBqcbEi06btoKGy2 2ojBZqk7hAD1/eQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-ORIG-GUID: qUS7NfzSVtQo1sSVMGWQPHawG0rGeJEf X-Proofpoint-GUID: qUS7NfzSVtQo1sSVMGWQPHawG0rGeJEf X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTI2MDExMyBTYWx0ZWRfXyPalhyk3mg/M SnZTneIYGRPJNEYKIjXWx7n4fktu+CSYZ/ENgEHN8gSoV7ObBr2bkC0vlWc8DmX8VOvtjq/Fx6/ E+PXIuX5bxXxN7Wb1Wc84ir2IcEyOXdjIwnblqZQEyB1TtwUN51ferwTQ1LIZjpzvyoF4gHaXwW yBRRnSDtpxjb7lk9wID580OSX4cOXq8BKiCincAZ0G5TXuEnXO/XxaNmVuZ6ZLZCWqpFJqfg5Wp 25lQS7G2yNrsBQnM+KHqzXpONqtMntOkJpD8PGBkwsauJ2E2r0ZcAIlWKO6OAZiKdUdfADKiGUg 7dzEAtZ3Iv8qdbhhyd9gUnFAmtXKHsPxdiIVBgNQxhCyNf+xI52HuxC293zsOoodlGRq6OZm2j3 i9EX+xW0xcgRDUqcUZEdXq98aTPHtEqTxbAZroTujp++GKRo2GRZgwzyScIuhPcl7rUza7xQiLt WyFLlknsZh6U7RWpXRw== X-Authority-Analysis: v=2.4 cv=M4l97Sws c=1 sm=1 tr=0 ts=6a159c0a cx=c_pps a=N1BjEkVkxJi3uNfLdpvX3g==: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=tWRRbWwrKX-5tUpmLDIA:9 a=QEXdDO2ut3YA:10 a=crWF4MFLhNY0qMRaF8an:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-05-26_03,2026-05-26_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 bulkscore=0 lowpriorityscore=0 suspectscore=0 clxscore=1015 malwarescore=0 impostorscore=0 spamscore=0 phishscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605260113 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 7ec9d72fd690fb17e03ade7efe3cc522fb47e1ac..d1daa229361aa74da5d3d7bfe1b= c8ab189761e38 100644 --- a/drivers/crypto/qce/dma.c +++ b/drivers/crypto/qce/dma.c @@ -9,6 +9,8 @@ =20 #include "dma.h" =20 +#define QCE_IGNORE_BUF_SZ (2 * QCE_BAM_BURST_SIZE) + static void qce_dma_release(void *data) { struct qce_dma_data *dma =3D data; @@ -43,8 +45,6 @@ int devm_qce_dma_request(struct device *dev, struct qce_d= ma_data *dma) goto error_nomem; } =20 - dma->ignore_buf =3D dma->result_buf + QCE_RESULT_BUF_SZ; - return devm_add_action_or_reset(dev, qce_dma_release, dma); =20 error_nomem: diff --git a/drivers/crypto/qce/dma.h b/drivers/crypto/qce/dma.h index 31629185000e12242fa07c2cc08b95fcbd5d4b8c..fc337c435cd14917bdfb99febcf= 9119275afdeba 100644 --- a/drivers/crypto/qce/dma.h +++ b/drivers/crypto/qce/dma.h @@ -23,7 +23,6 @@ struct qce_result_dump { u32 status2; }; =20 -#define QCE_IGNORE_BUF_SZ (2 * QCE_BAM_BURST_SIZE) #define QCE_RESULT_BUF_SZ \ ALIGN(sizeof(struct qce_result_dump), QCE_BAM_BURST_SIZE) =20 @@ -31,7 +30,6 @@ struct qce_dma_data { struct dma_chan *txchan; struct dma_chan *rxchan; struct qce_result_dump *result_buf; - void *ignore_buf; }; =20 int devm_qce_dma_request(struct device *dev, struct qce_dma_data *dma); --=20 2.47.3 From nobody Mon Jun 8 21:54:57 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 7D2BF3FE377 for ; Tue, 26 May 2026 13:11:41 +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=1779801103; cv=none; b=cw/BDUgydVcRATiL/ylmNOZ5GAdDAzzN0Byq/UTy1sw4cdKC17NK3fkKb72qwyFxuW0vUBPt46n/uhQBYl3KbsoxMj/5gL/+X7Wtim9sEKZJsdgk9zkR6lrmf5lF7sbS4RcpKMDNi5ZtRmwtdjPD+PMjcyYgyZlcwagru3tsl9U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779801103; c=relaxed/simple; bh=3yBeQNw3jzjlpjDFEUCe3Cu5wMqOMdw6j0aFa7VZxZs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=SBqz2dnBkP9a+SdRqQrrf473km/hpod8E4yNMPC0pPMRwx7CfsS/Pmq1HAtIeIALBXnhFv2cvAyvNDsi05W1R49QFek55SD/elIKsFq8dNnRwpTI6MOKJLZAVsrehN5UlHSfcR9nsVALWGa0CxFbedrf31Bmc8ri+Zfp9tTFdQo= 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=KqYUa6mT; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=iD/OJ0US; 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="KqYUa6mT"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="iD/OJ0US" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64QCsWiJ2496588 for ; Tue, 26 May 2026 13:11:40 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= HYRuBcDmeSrwysgBk6y3pl9+6SWSAyowGbE1RPyJdFA=; b=KqYUa6mTTSgPnUTR 20g51nTNeQXj4UzVjRjy7WRvAqxGgl82Mp2i5WEY/SFtnnSeH3pPgHb3n1dQskGx qrZS6M2elC/tRdtVD4Pgg8aV1tFNg6AOoqsKFJNbIPcoC/h8GoSN4LXyvavWEtWn c4sKAK2VMfVQkxbsy1bWI+/GDVD9ETQkHte1i6AU6PQ5Sv5JLIoRcRXTpnsmKeKu iunrnarMQa2Aml8Ruvcbew1jFsD4B+A2H9u++UBTPFQtMsHKUdTjOvAi3MLzEasx kADyzFbdABQjlfrn0S7usz+gPdW8n2zH7sVwS/HWtJmCqvo1gfYguYNe49QjrF9L vybwtg== Received: from mail-vs1-f71.google.com (mail-vs1-f71.google.com [209.85.217.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ecpyqmdaq-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 26 May 2026 13:11:40 +0000 (GMT) Received: by mail-vs1-f71.google.com with SMTP id ada2fe7eead31-6312aa1d7adso6729264137.0 for ; Tue, 26 May 2026 06:11:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779801100; x=1780405900; 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=HYRuBcDmeSrwysgBk6y3pl9+6SWSAyowGbE1RPyJdFA=; b=iD/OJ0USlviM/FD4DGZI1jliNSGSgcPdvHDSnts6EpA0wQJ/RIHhbcxOHjYX/4dLlR zabv6DvFJP9vW07Xadle+3sJXgTIko+2rneqSAgWit7HYigj8TpTlqsd/bQ8ov7Z24GI 4+sMeTNvppNxlEX9gushRWBiGabwgCpKyG2l+id6BnekB+yc4Bify+N44CzMeErRy4ga 2EV6dCYF0jgOFF+521GgzxT7Iuxh8FKqfn5z38uylEFaYjBSn7IWoq7kd79ZjDj5iV4d NUz09giT2L66wdyHbT58JuijdNZM0OQobX/Op1woM+ChRnsKcg2SJjc4UankMoe/zu4E RalA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779801100; x=1780405900; 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=HYRuBcDmeSrwysgBk6y3pl9+6SWSAyowGbE1RPyJdFA=; b=ipK24O69lAt+y/aQhEljyspPNfE1KDy+7mlS2sJOrhRGE4+ZWRxNzvmITvPS71U8yt ruDPS9tvCtSMmAg65B5zwhQz5WPbTXi6CAVHtP9j70kt3HIBdy6I7SBKJcaiMDFP+hnL OBYCPwwdGFnQolF6CuUikgg+efBn9O9++aFHaDE5BoTZIS8t5qAaN5sSOq9FE0jyl4KW UX4CxaGRGok3fksfoid4uCKds8+aorZfL5rXNBUQfx+zm1J1AGs98aTS7//Cs0WYzv7t 6kEnTwOTKqANLC57Htl14Fzw8+g1R/1hwJE4OyLWjuqzzqAtoZBF4tOaCUUX7EAd4J2e VDuw== X-Forwarded-Encrypted: i=1; AFNElJ8Lfl6de7Mxyphwr8gszjuBS5OHskviWE6oh3ruVkkoZAiz9IffpL5JSUJc31KTwiu4eSNi3CCUWg5TqrA=@vger.kernel.org X-Gm-Message-State: AOJu0YzrdTvu4NJYDRyLDmgUL29a9tSZtRNTHjJYLp8s2SA0ws7EEdM2 TnjhDPfkyEpDZ6SnqOR3+AVtsCldXrVGCCA4LJlrLG8CUqFSVfO8YX+kpw2W8DPC50nDvTz7uDs VrTLlojLfRiVTGNDHi2wNDQbonsYI1ZlBqsNvn4N8sy+yRisTGWrVzRVK1QEzyB8b+Iw= X-Gm-Gg: Acq92OE906sjqm4HbzMz4NDV58GHpqQDQBOWgD9qo8G/0NB62QtyLYMiALo0cK7Ckbs 1H7KCQuIcgpIdnh2386iTlxHEXbCmVZW7MdfG3eAcJV1HodD1EtsThwpDHcRTsI5gnHru7wm5yf rE1vVK5Opn8YgqBDU5KnN/CNBe8IITcJOsBA9rzQsYsaO4S7laDoN6ESnfP9nPICkw34s5Xoz87 SosBasg+bpXo79XE81qXavmCWlfPMA0QIRBB9ssfM55mritodmzyX5uzc/+9QBNu4vW4y7F++jT xfa0oHUtcVQaQxd94k3zEwEBsa0lqp2lORP3gxeQXOcWG0xDBQkh9y+aCdNYno6lU2lygbque6D RKxAY3/KMqKM/ufmBd/XyUTkH3ZXqqSgRyU5zsrMSo27bfq6OTR4= X-Received: by 2002:a05:6102:4b1c:b0:650:aa33:5dd7 with SMTP id ada2fe7eead31-67c6f273741mr9659066137.2.1779801099540; Tue, 26 May 2026 06:11:39 -0700 (PDT) X-Received: by 2002:a05:6102:4b1c:b0:650:aa33:5dd7 with SMTP id ada2fe7eead31-67c6f273741mr9658983137.2.1779801099018; Tue, 26 May 2026 06:11:39 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:15ba:1d70:65ea:9578]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45eb6d5e484sm34259426f8f.30.2026.05.26.06.11.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 06:11:38 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 26 May 2026 15:10:58 +0200 Subject: [PATCH v19 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: <20260526-qcom-qce-cmd-descr-v19-10-08472fdcbf4a@oss.qualcomm.com> References: <20260526-qcom-qce-cmd-descr-v19-0-08472fdcbf4a@oss.qualcomm.com> In-Reply-To: <20260526-qcom-qce-cmd-descr-v19-0-08472fdcbf4a@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=fDLeS2ZDhx+ScijOniaw6DzPwcx1IpnjO8zSFEJey9c=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqFZvxilieZXxkagFS4yLDPqAHVk/2laQMRGU/g N/8pGfoF2aJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCahWb8QAKCRAFnS7L/zaE w1e9D/4yXaFoTfncd6ZGr2f5H5IwaviF/8Xp0SUigtSjDqiB7yFSXFG7EZUn8o5s28BYClwxudc te4aq3DoYC2qQE9nczH6XmpHsf3xwIHrF3ybG0+SL1QU3yvnhvSVsGSyvdBjcxCIxclKddqYiuY Jqczy2O3H5so62llaWaPo9CGbLWkNJE8xEdvxsZZt2x8zfIrATUsGkI4ZNI0QbI39IxsRX8ysz+ AyHWXgQbuc6MS5GPNs3P5E18euzP/9FAVlNpu8+BSgSk7AweGjmHaaWxCgYTaDSnF1Kz545bN1c vQqCKdN8oqVOsj8Wk4J/6TNsVZ+csDl+L4hq3zvTIRg2PZAT0hV/Cqte3NaipZ51wgnOwAsW1UG IQgNkQwmeXEr4hSm792Q6q4oh5I+yYY1xHT4dueYAiyK0sZnrc0nbI/ToduD2nY+YCo5LaCgxs3 ohaWaUgxU1MZ2soGSdmDbWuA+bjHkO3FvduEDawZ/1/umnZ4JCsBkewabiSswk7WHysQ6tA4xv4 Vkk5yHwBZIeF2Ai0pQX9vJVQ0Ns0PmTNe8fjCfBufT+uOZZ1+Vo4SYUDgAOEDXi5MjY3+Q2lun/ XRUE31Ob1aG7VwQ9HygD9lGsO4y0erkc+HtLBUbm27WdSAsf+rSIsOAt/WBPksEk2rIELnlnUCt 3VGTavLE3wbVyPg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=dtfrzVg4 c=1 sm=1 tr=0 ts=6a159c0c cx=c_pps a=P2rfLEam3zuxRRdjJWA2cw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=lH6k5GM5CfRwGFUYfCYA:9 a=QEXdDO2ut3YA:10 a=ODZdjJIeia2B_SHc_B0f:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: PdmMdjWn0qXoxrGFFXZLlm42xCAsclaG X-Proofpoint-ORIG-GUID: PdmMdjWn0qXoxrGFFXZLlm42xCAsclaG X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTI2MDExNCBTYWx0ZWRfXyYCDiqixcQKp zvuN4lseq6Fi/ShTVfRSlIAEBR81goCobqxS0bf+SiR4nK87xZjwwXR62LpyMsV5gkMeT/T+Dd8 3M9KQuIU59kyDJgL/Yy9lmsBI1NfzX9CucQfjNoyeItYmTqOYFuOsq+okgmACA9+4a03qmEZ7oh zuKVuhF+dWPCVp+vZt8XO38ETWcfY168jjZUclJM66A/VK4pcYUeQXFJZiLP0gYXsmfP+Y0en+5 2s/VISD7L0wNQeePGDcfH5yvnN79VBeRO+RQa4LiqYRsNxb4RFaiCLyzaPQ/kRK1Oqi6uPx1AOG ZkQRjC2psOiVXDuC3mI/atrJFuoMsz4R/ZRJXCC3z/jf4IrJDtyGZg/A2oWii1AHNNdXKK/oQkd 5A1LnfhV8mYgnLR9JJdFQ5jQuDzm9GhELng09x0D1zlMh/EkyJzJXKVb5wK6fqS0eV9G+Xf7R0s s1KsMsTBCTI+LL9xWLQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-05-26_03,2026-05-26_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 spamscore=0 suspectscore=0 bulkscore=0 phishscore=0 adultscore=0 impostorscore=0 malwarescore=0 lowpriorityscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605260114 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 ad37c2b8ae53a373bb248aff06c3b7946e8439a8..a0e2eadc3afd5f83e46724c8bc3= e3690146b86ba 100644 --- a/drivers/crypto/qce/core.c +++ b/drivers/crypto/qce/core.c @@ -238,7 +238,7 @@ static int qce_crypto_probe(struct platform_device *pde= v) if (ret) return ret; =20 - ret =3D devm_qce_dma_request(qce->dev, &qce->dma); + ret =3D devm_qce_dma_request(qce); if (ret) return ret; =20 diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c index d1daa229361aa74da5d3d7bfe1bc8ab189761e38..d60efb5c26d88f8b0259b1dccc8= 724d0f75571c6 100644 --- a/drivers/crypto/qce/dma.c +++ b/drivers/crypto/qce/dma.c @@ -7,6 +7,7 @@ #include #include =20 +#include "core.h" #include "dma.h" =20 #define QCE_IGNORE_BUF_SZ (2 * QCE_BAM_BURST_SIZE) @@ -22,8 +23,10 @@ static void qce_dma_release(void *data) kfree(dma->result_buf); } =20 -int devm_qce_dma_request(struct device *dev, struct qce_dma_data *dma) +int devm_qce_dma_request(struct qce_device *qce) { + struct qce_dma_data *dma =3D &qce->dma; + struct device *dev =3D qce->dev; int ret; =20 dma->txchan =3D dma_request_chan(dev, "tx"); diff --git a/drivers/crypto/qce/dma.h b/drivers/crypto/qce/dma.h index fc337c435cd14917bdfb99febcf9119275afdeba..483789d9fa98e79d1283de8297b= f2fc2a773f3a7 100644 --- a/drivers/crypto/qce/dma.h +++ b/drivers/crypto/qce/dma.h @@ -8,6 +8,8 @@ =20 #include =20 +struct qce_device; + /* maximum data transfer block size between BAM and CE */ #define QCE_BAM_BURST_SIZE 64 =20 @@ -32,7 +34,7 @@ struct qce_dma_data { struct qce_result_dump *result_buf; }; =20 -int devm_qce_dma_request(struct device *dev, struct qce_dma_data *dma); +int devm_qce_dma_request(struct qce_device *qce); int qce_dma_prep_sgs(struct qce_dma_data *dma, struct scatterlist *sg_in, int in_ents, struct scatterlist *sg_out, int out_ents, dma_async_tx_callback cb, void *cb_param); --=20 2.47.3 From nobody Mon Jun 8 21:54:57 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 64B103FE665 for ; Tue, 26 May 2026 13:11:43 +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=1779801104; cv=none; b=Jvl9cmI1fmzDTNzSww1ab1AoUBrAHtWuXFL5kRi+12X+ZOGkvvwwOW4RaPvQMXISJByYfEXFBgoR8gUf5axHyvFtNH/pl1760RBwSxXNBCkFeug51i3vSUd1Yn5Uqnxb4Uqo12i+0KoIY84Wwwod2beucIPHw8b45zil3m1e7+w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779801104; c=relaxed/simple; bh=igdExzts6hGBwpmb82pSXSqv7njgqWKOAQxuOIrd/o4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=jBZM29RM3R6NP8XScimsKQFcY4Y7L3nVHXsGLNJ8I30XRvAC+aADbgd8nmF1xs76xzqqX8FuAsZGCQpy8VXsEuAHqB+csuaUMVJX7keE9OrA207P4yRE3eAnusMIE4Wjo/4A+G5Niq6qQcaTKCZm377YVKRwSR3HyLbRz6uAUg4= 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=DYHfIrWC; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ZWSynj3P; 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="DYHfIrWC"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ZWSynj3P" 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 64QCsPEd2697737 for ; Tue, 26 May 2026 13:11:43 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= fS5IBVsYa2e0KErQG1aApZysP0c6Drm/Zin4N96y3dI=; b=DYHfIrWCRvPDgXat C3k7E6eCbibBxjEmfL4JRvoJ+UAqTA+ixYDz4GL7yAztI/96a6cindtr/pwiKWLc apTnyppsY8pIb1Z+4j12JFYE5m6dx1M/1vC3j97nSvtHDsLCxIhJOIAgnMjNmw16 21weRK89WfQ0CLSAzTVlhlOwgHT27ZVzLYxIUO981RVxx5YHGOYQt4JVcaZOW+rJ 7Z4PZ/A8bZRa28L6rGfqRLBdMbDyVCFc12mVI3fhUWjOBP1SxqipwXKIMNrO9d/+ HNG+uf/jL+Qxrp/SEtl56W240JAojtTG0evb09pTrnLSvmjLtNYSiWj6CwOtBT1O yJTwKg== Received: from mail-oo1-f70.google.com (mail-oo1-f70.google.com [209.85.161.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ecsm03u9c-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 26 May 2026 13:11:42 +0000 (GMT) Received: by mail-oo1-f70.google.com with SMTP id 006d021491bc7-69d8cbefe6bso2006418eaf.2 for ; Tue, 26 May 2026 06:11:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779801102; x=1780405902; 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=fS5IBVsYa2e0KErQG1aApZysP0c6Drm/Zin4N96y3dI=; b=ZWSynj3Pvk8DkHI218QV6jGpCikihEC8WdjSrMnenDJ3LihhTJQrUlAaiTUOA9K7Bt Y7Gi8HjiTw+Z2ZaDOqKl6zS+qAM/0HSJTuwfQdtsNOal8LHyC3SJPhHRFwWAxNdQuc84 D9rpq/sgncOZeTnYBKUVhegDJM2V2jn8n2LSk2sBrgRoXb88rsJD8v73c7zPs2VapI6e 3xS+a+wwApBDIUlToKIB6hPlPaFrG16zaSY7RF6fdzf6XetzMy64tlYtK/yN630g+9OZ KyARL7viYHu2T9rTojYZx02bohAeuCmjjY/4MidJrTS2XLM70N6cZVeQ80yflnsYvW22 sR7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779801102; x=1780405902; 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=fS5IBVsYa2e0KErQG1aApZysP0c6Drm/Zin4N96y3dI=; b=o281QtojnLoRxsH5Yw2wLx6sMWGzey1RBNCTEvkaxAs5T2kYnA/qlhcDG18vInOYVW UuO941/fPm0bYsapm210o8TOsk7d9F4GNaazrzv/I4eN8j+GdqpYLvyWJxjY5+iqo7cO 4mFYCNOq8taNTOIsQant9des0nDWhp0IprQqw8nzmEuiovM0yP/Q5zYe+Aa8FWB+v8Ko zrrxzTUi4/y2d8wzsAZU1d7REvjMwV38uZMdrMLbYnH4HwMuvOlurqdEbSUWD5LXbDq0 DwpQYOXYZFS05g/cxd/xk+MqZWOKCEs9FJTN28L5fv2/FJusRjHN8B9XErl76my9eepn jeCw== X-Forwarded-Encrypted: i=1; AFNElJ9W6LDnFAmUkTvbXnX8fW1zSHfi/puHUlOFGDU8bRMnNMtXfgIM/YyNn/dIJx2dDrUazMWOYSz21Cp/dt0=@vger.kernel.org X-Gm-Message-State: AOJu0Yykk22a1ESqe/gwmgnO6nDJbmT4lndyQTwc8Cl/cIO+MPQw40Jq 8wADEpH+QSAgufObkb9e1/1FKOawdeoBfvXuTlIi+4gZaT21GG/LXCA3vVhecwOfLN7kOyWVOUf H8eBnvQBbrb37hO1/wpdOLl1yx2DMtVRqF/3kXq+NRDpu3SOHicCvMNe1YgroaC+t5Xo= X-Gm-Gg: Acq92OHDiK2r/f0PV1JoXBDsw+AVtREqRxP2c/fT9LrObcFnqsNsbG9XDsrdk0n9cBU vYTSX8OuB4R3wArIRc8VzINTQQFq7n/CCya/k6aqDUP54utsTf1cyMbEHLQfysUTW//r80Qf6QX 9Y4tDR8PjCORDi+dq9ka2Ko7NZNVPl6ZNM8YZQN0W1xMvLYzYfO8au0/scjXBoK2NmQ1gWxie+W yqXxV//R+t2v2cGP438XliN6e+h1K7iZhFGwmJ6OUKAFg1IEJ2wZhgKefOYqMmhUrEeMhsNLGTU Pw88TKgDqMbhkZ7tUjyBqbxFivr6RwwEsqKdL2RL1SV6Bm8aQT1/wsnLuVjPOnLya+dzQASohKu Um49KHADfdWtEPLNR+d36HDNINlALOvIy3NomPmSFeoTKVaYW0gE= X-Received: by 2002:a05:6820:8748:b0:686:48b7:d822 with SMTP id 006d021491bc7-69d7ec669d5mr7214593eaf.39.1779801102040; Tue, 26 May 2026 06:11:42 -0700 (PDT) X-Received: by 2002:a05:6820:8748:b0:686:48b7:d822 with SMTP id 006d021491bc7-69d7ec669d5mr7214543eaf.39.1779801100822; Tue, 26 May 2026 06:11:40 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:15ba:1d70:65ea:9578]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45eb6d5e484sm34259426f8f.30.2026.05.26.06.11.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 06:11:40 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 26 May 2026 15:10:59 +0200 Subject: [PATCH v19 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: <20260526-qcom-qce-cmd-descr-v19-11-08472fdcbf4a@oss.qualcomm.com> References: <20260526-qcom-qce-cmd-descr-v19-0-08472fdcbf4a@oss.qualcomm.com> In-Reply-To: <20260526-qcom-qce-cmd-descr-v19-0-08472fdcbf4a@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=2324; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=LBuvKb1KuCRjlB/LWrhUiOm8ZPEYJ6TQ+hit1E8hQ2c=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqFZvyYUMx14CV2qOvBEHOWkAID6TiiOEjVKggi O/WEdIfs+WJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCahWb8gAKCRAFnS7L/zaE wyRTD/4hg9wYGDDSy818hpIPlgz9BZ8RyHJGOAdVeinF5HhcFxqOgrqpl+6veVx4dZSB1JHkCs1 +rYVAVniujQFZ0tODiNVro2eRwO/te/v1Y9xuoA7VqETbn72Cvml5+DMnNX4hPIp69aRDCaCcaM kFhBEikic9Oz/nRdSZ06OZdjAAWSegIH/Oj4Gvb1pjY73KkzkgG1b6PRmS16ml6kGhjlfXdag+/ m18+OmiDlkKl+RjyQDh0bNbfhFLbWsS31LeVnF4s6E/l5hEIpJZ90qP2kDNNLLRjAue2v7msYOc 7xIYWzyPgNgpXHxjlRD0CI6ZeR1MM4G2RQwjgkXOoAq8aLPhPHE48Xjw0EkvqnsAT77YshFKzPJ /URjf0hbUIOixGnRUaPMGkdCji2T7/Gt7JWiMK0dUdg2lZ6oqrd0buljm3vOkY78grpuBLKGvNC rYsxOKZips4HzMZ/WTH+NcWGIq2lwop+3kXg3XJRFAXZaFRczjoU+ni1xjW/cnfJ3Ppfx9679T8 opHau7RhCwVUU7h7Z/Lys5VXqPY06561BwwNKvkWD4u64As+hTG+up+vlC6a/2kD3D9wQUbHlBY 67o/pwLPywx78dKQ223mbKU2nUAHF946vO0fhHzeDNyxSGWHpDci5ELRdaet4csQ3vyL7b+8L/q G69dsKySRqClcEw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=CLEamxrD c=1 sm=1 tr=0 ts=6a159c0e cx=c_pps a=lkkFf9KBb43tY3aOjL++dA==: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=EUspDBNiAAAA:8 a=VwQbUJbxAAAA:8 a=Y9RhJx1ZIj24Qa2dK9gA:9 a=QEXdDO2ut3YA:10 a=k4UEASGLJojhI9HsvVT1:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: H_dsJznCZUl5dvj1e0_LqjHaAH0yuS4G X-Proofpoint-ORIG-GUID: H_dsJznCZUl5dvj1e0_LqjHaAH0yuS4G X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTI2MDExNCBTYWx0ZWRfXzgrdTgmJwiKX jctpFh9mdA3+xkg+IUvcHaByNMoaqEfhUmPjTFd/fwFZzDkw2lnZXaHWwP/EdmDEMsrd+GeL9fN P+Jog48QAXcpsCPy760yiQaXhxOnoWe9Gq5pbM3xATyByCM7cBJlgcRwfMfRhyp4RPowl1eNTeL bIO/fcKjNxU3fI8Ew0hR0NK5qiSK93MHoMGptMpG2N6PHM6+IUz0wzw+gRbaLtjNyoiDg7hZTZF ORbf3a5hTvW47zqlNjNGr/qqgYlWPDwuLDzQSsTeUPfVL5kVH+TkZU7ui4i47QHkV6fPWsIlY14 nQDf/ygUaEIlSErlRfQlfPSOpD7oQH+Sbehh7WkFnNquZXZLlCwtKGVszUXkkxEuG4koqjxgze6 b6YFS9Jepv2gynQ02vwDHUtPee90PZl+ujxKfCGGCzBC500K/I6ePrjavQqwCDcV0pXiP7ypAIG UtMhJENRRPRroXxZLYA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-05-26_03,2026-05-26_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 priorityscore=1501 impostorscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 lowpriorityscore=0 suspectscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605260114 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 | 34 +++++++++++----------------------- 1 file changed, 11 insertions(+), 23 deletions(-) diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c index d60efb5c26d88f8b0259b1dccc8724d0f75571c6..c2602d35baa6ad3ca5de734de7f= f6160ff29567c 100644 --- a/drivers/crypto/qce/dma.c +++ b/drivers/crypto/qce/dma.c @@ -12,7 +12,7 @@ =20 #define QCE_IGNORE_BUF_SZ (2 * QCE_BAM_BURST_SIZE) =20 -static void qce_dma_release(void *data) +static void qce_dma_terminate(void *data) { struct qce_dma_data *dma =3D data; =20 @@ -27,34 +27,22 @@ int devm_qce_dma_request(struct qce_device *qce) { struct qce_dma_data *dma =3D &qce->dma; struct device *dev =3D qce->dev; - int ret; =20 - dma->txchan =3D dma_request_chan(dev, "tx"); + dma->result_buf =3D devm_kmalloc(dev, QCE_RESULT_BUF_SZ + QCE_IGNORE_BUF_= SZ, GFP_KERNEL); + if (!dma->result_buf) + return -ENOMEM; + + dma->txchan =3D devm_dma_request_chan(dev, "tx"); if (IS_ERR(dma->txchan)) return dev_err_probe(dev, PTR_ERR(dma->txchan), "Failed to get TX DMA channel\n"); =20 - dma->rxchan =3D dma_request_chan(dev, "rx"); - if (IS_ERR(dma->rxchan)) { - ret =3D dev_err_probe(dev, PTR_ERR(dma->rxchan), - "Failed to get RX DMA channel\n"); - goto error_rx; - } - - dma->result_buf =3D kmalloc(QCE_RESULT_BUF_SZ + QCE_IGNORE_BUF_SZ, - GFP_KERNEL); - if (!dma->result_buf) { - ret =3D -ENOMEM; - goto error_nomem; - } - - return devm_add_action_or_reset(dev, qce_dma_release, dma); + dma->rxchan =3D devm_dma_request_chan(dev, "rx"); + if (IS_ERR(dma->rxchan)) + return dev_err_probe(dev, PTR_ERR(dma->rxchan), + "Failed to get RX DMA channel\n"); =20 -error_nomem: - dma_release_channel(dma->rxchan); -error_rx: - dma_release_channel(dma->txchan); - return ret; + return devm_add_action_or_reset(dev, qce_dma_terminate, dma); } =20 struct scatterlist * --=20 2.47.3 From nobody Mon Jun 8 21:54:57 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 055A83FF1AB for ; Tue, 26 May 2026 13:11:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779801106; cv=none; b=EdqUj/a2201BaTu7Ntau4++8jcYL4xjDSehBKWKXzzuH0MmKfDEVBHe4eOdaSp7kp+X4kxUlqrfFulGMyF46dD/9TotYOSQn7k842M8nG62fxRZBIdHWniDRzW1dJxOU0wQVUWcPFrW+Ji9XJDxPkipmWrO0kJUvmUS8ihMgwHU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779801106; c=relaxed/simple; bh=haVTCoWg8OL+rLPtFm5RXGk1TNPHvQOhQxIunu3z1Cs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=TtRAreXBzs+Hn8CFcyZs2w7nzhymmKRKaFJm89k1vDAgIzf21w/BbKfJI87cgt43fnyG7PPdaO67yxoDidjhag7W1tGLGhxOt13of2dPswuLAIzjXbu/zYGAOaLFg6XNgL6KeiqbFLszQignf1IBCJzOFj/7Xv/dbuYV5QsEKiA= 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=cspD0rS6; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=WwXukAID; 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="cspD0rS6"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="WwXukAID" 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 64QCsWAn2411694 for ; Tue, 26 May 2026 13:11:44 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= FYq1r0spQWHIRnEkazipWdL66tm0s91r38cl3E1vzGg=; b=cspD0rS6sTsjkg7u bfnpRSKD5iF0h0G7DucdneVgcRKFyG1NcCe56UvgrS0m3zfeUhmkoCx9EiPKsU7o 0iQ6glcxxD2Z/JS7lRFH6XwLm/xO29Q/FrnWQXJiErOWc0IDwTX+xoLoK0TSIjh2 hF3uzVEE6j0nsdJYODyPC+WMvUEQW4NAxZLJAPX3lxBk6wQ0HsB1TotzrSy0kuzj KkH1koxNG9gKKYk0gbLju5syns5Zk13N9sAb3/T+bHmS+Q4JHbZZmPcKqsWWnm4l +m6jlUoR21P2p0dmZSfZh/FGO/4QuJy6J/aOJpQkKFigYLweuxXPvWwpj4R+T2KP 18DdKg== 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 4ecqync65u-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 26 May 2026 13:11:44 +0000 (GMT) Received: by mail-ua1-f69.google.com with SMTP id a1e0cc1a2514c-95fc24f7dbaso2847369241.1 for ; Tue, 26 May 2026 06:11:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779801103; x=1780405903; 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=FYq1r0spQWHIRnEkazipWdL66tm0s91r38cl3E1vzGg=; b=WwXukAIDiP/SOmc/+Y9p4JnA6ccJdAWPG2qQh5Pj0zyttj+AOMtlCFEi11vRGSOIIY 99RZ7QAbTJq4lEBBQ0V97n5PtRhD/3wmP8GQgZeUDLTCwn93Lms4TwfxgbHOv3C6UrNe zTwuXncWmajY6Wxq8YkpVccSD04ZBAhTuUNkSamuUNPGl9lrk69y0DqtsXly/dZ3vCTC ska1caXrvJzk/FcqWpwmktprBkvu7jeNxMu0t9rlSOT2Vqr6ExBEWdfvq9BYNvl6et6p GLsidlDDy2OvolzpU3aPagBvLGJlObznitorPwAnCjFAyoXUc6zCxChai5OeJkibKCMh x/zg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779801103; x=1780405903; 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=FYq1r0spQWHIRnEkazipWdL66tm0s91r38cl3E1vzGg=; b=j7f+4QgXkTk0pbqLa8H7DoA0OhjLd77vM38QFtlOYGMVLlD4hQUJgRyEJvIpChiZs3 cjQ7xG2cVyQ9QFYpZNC2R8wV8lbNM5YMERpDPKyQspbSjKmUO4rYNS4hA+xxaKKyvTto 10nHjjycighyaCMECpk2f/0wNW7698crDZGMuRANw1XboGt4DK/CDtGhGb+vqnAue+5C 0JwMn4U45ibnIoBPycxgKVKfBBI9J9uumSLjRCdiDrWwW01sjMhSshSqUzk3sHZtvxyq z8jCc2qXsuwJrUnRq2IXmST5hg+jnDBWM3mTNz0Ep9BQ8H9Nktpy1dJ6lz1jD4dXTOGi VdDQ== X-Forwarded-Encrypted: i=1; AFNElJ8dgPvzzxnWYS8DStiLdTDezX57zPVV2W7F/pic2RbgmiAzHPlbyPui2ERm1bkByxInU1V+j8/ihgMzbPk=@vger.kernel.org X-Gm-Message-State: AOJu0YzQ7UICxvs++vCn9WDCKN36SzQZJh1h1yPWLWxewyKODaYd5fzw neWUAYFynSuODDOwtqASHBcgUZgmEZ22Oh6oESDVuLS72MnzXrHPUCKxWtacIZUMNgrBChm4GQg dJvB6D3DLt9tDvD3kFGJ0roPNvll0obpvG5QCMxnNbUKvfqxmwprhEolXs7+4aN5kj6E= X-Gm-Gg: Acq92OG5mjwpTPl2xxUa8CXsnGIU9NcBhAUuf3UV1THF0/yzzjfAPlmZsoBWFQTgl9Y w1BUNK94f8soDw0P4H52XT6HMmCoQGaoZFTYNgXU4lg/4GstQwkmH+sk77q3KiFw2CVUelEZFvb DQ0+hp1klsnBiT9/k+bgD4o8ae2fwZ0h7tFa8fU1qRAXCtUPh7dI09chfFIInJGfE4W81s2+yb3 CIq/hRHGXwQZ4I33HEWML6fX63MwXW6TDlXhUdlWVZ0wq5wHDnE2vLjDN8lsGJfwMYlorttfzMo Ly/AVdTSGR6r3FCG0fN6JGZ7sX5uAtgvnt2AlkrjKwv/eLszW/hCeRASWKgydk+wHa3tMPzhEPZ aiHO12PRC30hmHfJcIMHXmk33hKdg/hvHp2n4Llm64fbQOxAfDyg= X-Received: by 2002:a67:f0c9:0:b0:6a2:b2a1:f16b with SMTP id ada2fe7eead31-6a2b2eedf2fmr838038137.16.1779801103293; Tue, 26 May 2026 06:11:43 -0700 (PDT) X-Received: by 2002:a67:f0c9:0:b0:6a2:b2a1:f16b with SMTP id ada2fe7eead31-6a2b2eedf2fmr837981137.16.1779801102691; Tue, 26 May 2026 06:11:42 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:15ba:1d70:65ea:9578]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45eb6d5e484sm34259426f8f.30.2026.05.26.06.11.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 06:11:41 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 26 May 2026 15:11:00 +0200 Subject: [PATCH v19 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: <20260526-qcom-qce-cmd-descr-v19-12-08472fdcbf4a@oss.qualcomm.com> References: <20260526-qcom-qce-cmd-descr-v19-0-08472fdcbf4a@oss.qualcomm.com> In-Reply-To: <20260526-qcom-qce-cmd-descr-v19-0-08472fdcbf4a@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=zlCDdZs7gUpD6zwuSqo1JfGszglD6fOxI/qdoCA4A3w=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqFZvyxtIGKA2Vmr0u0AYd8STPeppQGty0OScL8 8apQe7FnpeJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCahWb8gAKCRAFnS7L/zaE w8m0D/4mgvjO7Uz6sv75n83/rB+J52BwnHz0D5oCdqHB6tP58aeaPBALp4NPIhjYp1WXa2XOZbV z6Z1/3qWhI1PW/7xICXkbEPQUw96HDBvKO5hLpECMk+fg2kAx8SWXYV1NgS802BqvBzfAarZdN4 rTsUu9TU/KvL/rQ+WKevWktlM1IU5+Ap3ptONJbiH21u5xG2LgGj2XsK4mTplzGDjFboFYHwYSn w2MMA5EvcUnKPSD6y+aqDh8KJ8rcW8xpORzhh1PYIg7Dmha6dwOVmGS7Lkho6qi6f65tT9ypEcr 1wELkDhoRJWUrm+sL7R8NiH4hC5pZLRlNoB8IVC1h8rlKaflRbJa0YmLKnGSvgd/A+42qdz+F9r O+qO/vh03yWvwvhStIw8IB5/udkss46ucIycYZYaAWnLdFxTbeQNUC+oE4yhVod6zOyswGg7WzH UtvOfVk+/Htqtw5izaR9dokS6e9q31ehyBpb89iuKiDgoSz7QFbORavNzL1Yq0rap9Rgtb4LKGJ hYzrZzssf3KeMoyp226WK1En3/hffY7I72gyELAm57obdyhduc6GH+3XUxh4o25h4WGhY+NytTq aCtYWqkTX180KClZYYVOcaCGF2ycGKJxhL9Fis5S/Nsul4huqMqU7foj7xdrrFyUB3iHv9Eyt7q 2OPn93Ny9vBZ22Q== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=Wpwb99fv c=1 sm=1 tr=0 ts=6a159c10 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=3WHJM1ZQz_JShphwDgj5:22 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=9tNk7rGwWxUH_P3zroIA:9 a=QEXdDO2ut3YA:10 a=TOPH6uDL9cOC6tEoww4z:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: FhzCwauzzjBfZUI4LC_TWMYZnYh1tSm8 X-Proofpoint-ORIG-GUID: FhzCwauzzjBfZUI4LC_TWMYZnYh1tSm8 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTI2MDExNCBTYWx0ZWRfX+fyNW154QFCK /ggQDtviCTV8sE7s/7LijEjteRuX4LV52JCEettFFFfXouWDW2o+xGoQbV+e2Ddv4vw6UZzV20y Cho2uqdlTXeB/hq5MPMch6fYhcpmFKVc3b60oP8ycvCrzTS4hyBvCH2Wg4+Sc3KljNP18dWSFXD m5dYFYyhx6GfUadD7nWMTWMicBu9N2wjF7woztBCwPaXLT3O2gvFWUDljjpZhGO378a0kVWnN7i oU3Tf+3QLcdq5bnI41J2ODPE8NnuVZPVbZ0HcYoUXpIg9B7tKlAHZUMrk0UIeDX/yho5fsS6jGX m6uvcfK1po24cYKes7hxvyKQ9gDEvMeBejDvEZEF2JhDrEye6CQQIG3Z3U1IbDbHlT388eCCR7f pwz4DzwAG9J3ucyi8N/8RNBeRFukp00A/++GWAhvwbRWux8vJn9vzTUCwsHNS/YyYU76bQfj86l +QAb9zAWVCTZlQniqtg== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-05-26_03,2026-05-26_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 clxscore=1015 suspectscore=0 impostorscore=0 adultscore=0 lowpriorityscore=0 malwarescore=0 spamscore=0 bulkscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605260114 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 a0e2eadc3afd5f83e46724c8bc3e3690146b86ba..d7b7a3dda464964afe6a6893bb3= 29d5bd5759dcd 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 @@ -255,6 +264,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 Jun 8 21:54:57 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 CB2E93FF8B1 for ; Tue, 26 May 2026 13:11:47 +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=1779801110; cv=none; b=ruvHdVAvGjYdNEK1O4AsLUl0Vrk/d+0th6wV3pgzAgpQEgqde9mEhSNwUk80uBCPZqWq4CMJgGOunJ87PQ6nIhJuCM6MY/XRzlXkr28FfCSF3nw9czxEomYJZTHemGicm/GiYrBBjO13/FtOMhXCudubkR3egK/M1NcHVn8mCHw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779801110; c=relaxed/simple; bh=KsfN95W6j4/1rnBl5r726uQErsmtW0rsSb3wOOAaxR4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=DtxRevIwJIOGmKG4UxZPLSpJzZUW30gW4sIxqy61ZQPdQo6JSv6/u6A2Rf0hJvoRy59XsJ2aBbYcnklvCKJMqtp6aVS4cAfpA98qNc9sQVwYL2+sv5VsDdzFGO5EQ5twJLBZiHFcACPPh1CojbqXRUOAQ2lYJQyBnWmZrwEM+uQ= 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=FGAs4CcP; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=YlYJflKy; 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="FGAs4CcP"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="YlYJflKy" 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 64QCsVqQ2411684 for ; Tue, 26 May 2026 13:11:47 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= XgdDvfLKvypSdiaTXvswqXHAdJrtzA0MdP5FnHmYrfg=; b=FGAs4CcPgPzPlAKo RKOEOeYpcJOPnipypoVvgloELjue46b+AB/2E0+/p8YlQtq+A/4usloHVrmDbvRS P1mc94a4nlW8eLbeAQWGmmtyfLGk99RjayBUtCJl3EhObjTs4ShvN9zj/gt7112v g2zSoMLHfM/jGEhXbJAfeYuBZ/4hbvyFGZJ3vgnhnuj6oCVq/wnq3W1n9unpNMmD Nmrt4HXsuv9NSC4A6sKknKCJii9aKF54kQOP+yeEo1E6fpqxlVdcc2zUVi9DGXH1 VJw8Mxs8P3LNgSBjxezwL0/TmFene3kCMzfd5ECLZwAl6odwY878RCYaG4aK3K+I ETV/Yw== 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 4ecqync665-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 26 May 2026 13:11:46 +0000 (GMT) Received: by mail-oo1-f72.google.com with SMTP id 006d021491bc7-69d733e7995so4078382eaf.0 for ; Tue, 26 May 2026 06:11:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779801106; x=1780405906; 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=XgdDvfLKvypSdiaTXvswqXHAdJrtzA0MdP5FnHmYrfg=; b=YlYJflKytKE0eSu52zdz5OA+1uljL31Iz7ajg0D63s5oTvG2wVj1UjRdvhqIjBYCq0 WcdUNiAnI80RsoQpwc+otQWjCu12kSzetuZahc6G3/DRcL+5Y2jqukb6ir7Mf7aPsrwi Iq+dvLTYk8LFkgeq2pxeklkwieqs5LopXNyUWVYnoharc3MS+WmrMw/Wgj4UGZw9n1qV b+74Q5BOE5SCfsR42/N05W7tzi/KsqC4ZSDFSmqB0gBaLTDNYkf0XgowMCUhN2CpUDrO 2eNYT1c24z2VghVgtzcVAydwNXhSCnj+AjGCwvUtycco0wtCdHQiTimG2oo/GpQXGMzY XMeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779801106; x=1780405906; 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=XgdDvfLKvypSdiaTXvswqXHAdJrtzA0MdP5FnHmYrfg=; b=JLFHnje5+qojiibnUgSrxJvLoY/TviUsppVK9B1SpQXasvoIKZcXZZlm7urWB3ou8/ spczQNQOKHmJKKiBA1tZlMrMD18c3HrSfhTUkOhYTY38SPcQZ+JfzwZLbSrIUxxPj6By AXGWMFvAerGsuprGBLFbJNpk+VecfetAXSlPnM5EsHhtTUB+PjDBAqEC5yGyVlRsM4qV vSl79Jv1kJxdOwB3NVpaznuINu4DyduufgcsAdYJyuksyc8yZXc7jdXAxu1wYDffcTmC IlW3q09CHMymfu3lGcZHVzy3f7ClmuOP1GuONWLRDT9VCNl6CBRTcv9L3zG0EGhnZQAv 71sQ== X-Forwarded-Encrypted: i=1; AFNElJ9J8GmNYz6tcd/g0pdxDlZOkBJ693ZLbkVYhPFqFTCTxg+O8amFT3Xz2xjaZmnNJtl0CdBpw6IjKm5z72w=@vger.kernel.org X-Gm-Message-State: AOJu0Yyz1mLNtazaDjFEvT0tpGuUaW1tHuuFjxLract1lwR/CyuIEF55 nwcEB8H0AeBQyjJ/3P21qT9jE8AGSroXZf2GLi3DxyGvtysJLmsMV4fsS7PuWjVotGMrvDiQtcH 8RwGZ/j+FMWu99GdKKI7xcydlw9qOBjmdgOlW2cfEagAlI30+DKhy4g/d8pUxy82kCMA= X-Gm-Gg: Acq92OEan/LtfhGgq+uR3FGYvE1pkjo8Mmsn3RyStJ0vH4aKWBZx+uUnAioCRavgbsr Z2ShbzkkV/uuTfwEBW/wShW3FK2+crmG6+0SiLCQB4U06VUKWlDdmYDzJ8yEJwzVq85EtgaDfVA Yc0CHUPsz0UwHODOZq8AiOxLbsUE4XHbk0Vdp8+zx51dxT4mRerCYRTdOQfEM5EroipSeySf9nD SxSaNCnFBqKPFcwQGmimDdNPrrseXtAPGttX3wiCRaR4DR5mjIluMr5nOYBepTWlt6aeFZtZisi wl+rCnZ90+EqooeQEz3Rf14NQPK1NYe0yUbE8PYho97cM/3Ulo7MAIKQVHPYiugeIga+sCteg7W sQqrcNyIWkpffHmRivAZKxuOyw/i4drYBPD4TrOu5b5STpZ7CNRo= X-Received: by 2002:a05:6820:824:b0:69b:8c61:796c with SMTP id 006d021491bc7-69d7ecb7ad2mr10004717eaf.42.1779801106108; Tue, 26 May 2026 06:11:46 -0700 (PDT) X-Received: by 2002:a05:6820:824:b0:69b:8c61:796c with SMTP id 006d021491bc7-69d7ecb7ad2mr10004669eaf.42.1779801104832; Tue, 26 May 2026 06:11:44 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:15ba:1d70:65ea:9578]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45eb6d5e484sm34259426f8f.30.2026.05.26.06.11.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 06:11:44 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 26 May 2026 15:11:01 +0200 Subject: [PATCH v19 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: <20260526-qcom-qce-cmd-descr-v19-13-08472fdcbf4a@oss.qualcomm.com> References: <20260526-qcom-qce-cmd-descr-v19-0-08472fdcbf4a@oss.qualcomm.com> In-Reply-To: <20260526-qcom-qce-cmd-descr-v19-0-08472fdcbf4a@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=11802; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=qaZCt19iP288u9GtfZMb8uAiX3X6Ab2pi2SafoSwN8A=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqFZvzD1oBPzRAXakw+q1Fs7rc55AYAhWb1b/Ca sUWRIGVbfuJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCahWb8wAKCRAFnS7L/zaE wxedD/9S265ah5ADNRC3gx4dK187YLec9CGoaeV6dJOlWNhGE8O5Do6jy5vgCssP2cZ7B3+hCFD 2G23MVr3To3PEicFFoO0tElX2wvsZPiGRtCLONrSyFoZkOPt9iYivdkbkqSPc4E0lXEXJ1X2Mle WiB6pv1/VEZZ6pmzftXx8oyseKWP2ka5076KO1DVGXZ+mLhDC9v8IbjGAE04zWntFoAxW26O3mj 0JrI263gwldk7wDrkod1jpJ6sG/MPgFrlzRgI0qT9hQwqnL6yF/xIir5Y7Z9uvTnBxpXPfmaKgl uKISI2Qr7N2zEO9lQPbefx6v5l8Z/F8IXLmq1GKg13Z093fCKvYKf1rjXNsBhjtsGGH51AceZk0 CqHLxJhtkAGNDJ6XM7aRzI2wjVh3W/jlXXj1IqzT/UVaSbr9y0mRc+vKBUMwB/dFgSRzn3Kx2w/ +WvBJ0Mv8oaCYNlyqt9oTbQBu1cx9vBtBlNq3ATObG4GQPAa7kpjQaJX7lXhWpQ7xWCYKODT5nn XGP0gy4sK9p+yVpgL6jcVevcAs2dmCbc/Q3QgJI9ddQncLWj1aqMJ5QbLXnkjO10o9UQ/2AamKQ DeidvTzDJZmuY+6OnmryXbwEdEcuNMY1sM3yhK9G7+y9OE5LffNRxzc499t2W3REwArhH3n8QZk kFt5YHVwI4KWbJw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=Wpwb99fv c=1 sm=1 tr=0 ts=6a159c12 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=3WHJM1ZQz_JShphwDgj5:22 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=oAuzKfsFwOPfSl_VwCQA:9 a=QEXdDO2ut3YA:10 a=-UhsvdU3ccFDOXFxFb4l:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: 8C6Le2MYjEcJ8Ud0xEvPVFjIfIvo0EB_ X-Proofpoint-ORIG-GUID: 8C6Le2MYjEcJ8Ud0xEvPVFjIfIvo0EB_ X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTI2MDExNCBTYWx0ZWRfX+OrSWbRZ3b/9 sWUlRiQebEs4KyFX4NXDihJvHTzSGmsNTtUsEnqONElx+cCD0pVLIcoyZhWxOGbp1B6AFfxvUkT jkqu3WIT0LX5aILj2w6PjTTIzrFromh9NZsoNwvhcDiaiFikaSLnvwj1iPy4ZJzcra7twXTTxzI rwFaoQYe8Af4pZz1uU7FpaWfhcQCzaAsk7QKF0fW9+3mdk4cqLfxDKY4pmwmuZ/zTdvUCQwGGYd GZwAaSEzRmwp12o6uxyKI0Y7wIO0IM9ADQEYzguRqu3FJisfzYhvk86b1HW8fsh5CAChuS7vpsp noT0I2uO0/GaeNEnSJcS1xnCubJfjCPCmLIWDRZahoHw/WzRoZkw0Qg6PHVp6t9fooslQPsmrBj /P0EMNpEcBwf6QixaEKiZt5flsO5Rdto/I7ly/u0MXakcZaXg0G9/TNNGPc9uUaLa7yWEZXHLyA /qCCZ3g5arN7rrI3oSQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-05-26_03,2026-05-26_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 clxscore=1015 suspectscore=0 impostorscore=0 adultscore=0 lowpriorityscore=0 malwarescore=0 spamscore=0 bulkscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605260114 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/dma.c | 120 ++++++++++++++++++++++++++++++++++++++= ++-- drivers/crypto/qce/dma.h | 5 ++ drivers/crypto/qce/sha.c | 10 ++-- drivers/crypto/qce/skcipher.c | 10 ++-- 6 files changed, 144 insertions(+), 31 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/dma.c b/drivers/crypto/qce/dma.c index c2602d35baa6ad3ca5de734de7ff6160ff29567c..769cc71da90076be446cbdf7ec7= db27f628fa2ac 100644 --- a/drivers/crypto/qce/dma.c +++ b/drivers/crypto/qce/dma.c @@ -4,6 +4,8 @@ */ =20 #include +#include +#include #include #include =20 @@ -11,6 +13,96 @@ #include "dma.h" =20 #define QCE_IGNORE_BUF_SZ (2 * QCE_BAM_BURST_SIZE) +#define QCE_BAM_CMD_SGL_SIZE 128 +#define QCE_BAM_CMD_ELEMENT_SIZE 128 + +struct qce_desc_info { + struct dma_async_tx_descriptor *dma_desc; + enum dma_data_direction dir; +}; + +struct qce_bam_transaction { + struct bam_cmd_element bam_ce[QCE_BAM_CMD_ELEMENT_SIZE]; + struct scatterlist wr_sgl[QCE_BAM_CMD_SGL_SIZE]; + struct qce_desc_info *desc; + u32 bam_ce_idx; + u32 pre_bam_ce_idx; + u32 wr_sgl_cnt; +}; + +void qce_clear_bam_transaction(struct qce_device *qce) +{ + struct qce_bam_transaction *bam_txn =3D qce->dma.bam_txn; + + bam_txn->bam_ce_idx =3D 0; + bam_txn->wr_sgl_cnt =3D 0; + bam_txn->pre_bam_ce_idx =3D 0; +} + +int qce_submit_cmd_desc(struct qce_device *qce) +{ + struct qce_desc_info *qce_desc =3D qce->dma.bam_txn->desc; + struct qce_bam_transaction *bam_txn =3D qce->dma.bam_txn; + struct dma_async_tx_descriptor *dma_desc; + struct dma_chan *chan =3D qce->dma.rxchan; + unsigned long attrs =3D DMA_PREP_CMD; + dma_cookie_t cookie; + unsigned int mapped; + int ret; + + mapped =3D dma_map_sg(qce->dev, bam_txn->wr_sgl, bam_txn->wr_sgl_cnt, DMA= _TO_DEVICE); + if (!mapped) + return -ENOMEM; + + dma_desc =3D dmaengine_prep_slave_sg(chan, bam_txn->wr_sgl, mapped, DMA_M= EM_TO_DEV, attrs); + if (!dma_desc) { + ret =3D -ENOMEM; + goto err_unmap_sg; + } + + qce_desc->dma_desc =3D dma_desc; + cookie =3D dmaengine_submit(qce_desc->dma_desc); + + ret =3D dma_submit_error(cookie); + if (ret) + goto err_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 static void qce_dma_terminate(void *data) { @@ -42,6 +134,16 @@ int devm_qce_dma_request(struct qce_device *qce) return dev_err_probe(dev, PTR_ERR(dma->rxchan), "Failed to get RX DMA channel\n"); =20 + dma->bam_txn =3D devm_kzalloc(dev, sizeof(*dma->bam_txn), GFP_KERNEL); + if (!dma->bam_txn) + return -ENOMEM; + + dma->bam_txn->desc =3D devm_kzalloc(dev, sizeof(*dma->bam_txn->desc), GFP= _KERNEL); + if (!dma->bam_txn->desc) + return -ENOMEM; + + sg_init_table(dma->bam_txn->wr_sgl, QCE_BAM_CMD_SGL_SIZE); + return devm_add_action_or_reset(dev, qce_dma_terminate, dma); } =20 @@ -101,28 +203,36 @@ int qce_dma_prep_sgs(struct qce_dma_data *dma, struct= scatterlist *rx_sg, { struct dma_chan *rxchan =3D dma->rxchan; struct dma_chan *txchan =3D dma->txchan; - unsigned long flags =3D DMA_PREP_INTERRUPT | DMA_CTRL_ACK; + unsigned long txflags =3D DMA_PREP_INTERRUPT | DMA_CTRL_ACK; + unsigned long rxflags =3D txflags | DMA_PREP_FENCE; int ret; =20 - ret =3D qce_dma_prep_sg(rxchan, rx_sg, rx_nents, flags, DMA_MEM_TO_DEV, + ret =3D qce_dma_prep_sg(rxchan, rx_sg, rx_nents, rxflags, DMA_MEM_TO_DEV, NULL, NULL); if (ret) return ret; =20 - return qce_dma_prep_sg(txchan, tx_sg, tx_nents, flags, DMA_DEV_TO_MEM, + return qce_dma_prep_sg(txchan, tx_sg, tx_nents, txflags, DMA_DEV_TO_MEM, cb, cb_param); } =20 void qce_dma_issue_pending(struct qce_dma_data *dma) { - dma_async_issue_pending(dma->rxchan); dma_async_issue_pending(dma->txchan); + dma_async_issue_pending(dma->rxchan); } =20 int qce_dma_terminate_all(struct qce_dma_data *dma) { + struct qce_device *qce =3D container_of(dma, struct qce_device, dma); + struct qce_bam_transaction *bam_txn =3D dma->bam_txn; int ret; =20 ret =3D dmaengine_terminate_all(dma->rxchan); - return ret ?: dmaengine_terminate_all(dma->txchan); + if (ret) + return ret; + + dma_unmap_sg(qce->dev, bam_txn->wr_sgl, bam_txn->wr_sgl_cnt, DMA_TO_DEVIC= E); + + return dmaengine_terminate_all(dma->txchan); } diff --git a/drivers/crypto/qce/dma.h b/drivers/crypto/qce/dma.h index 483789d9fa98e79d1283de8297bf2fc2a773f3a7..f05dfa9e6b25bd60e32f45079a8= bc7e6a4cf81f9 100644 --- a/drivers/crypto/qce/dma.h +++ b/drivers/crypto/qce/dma.h @@ -8,6 +8,7 @@ =20 #include =20 +struct qce_bam_transaction; struct qce_device; =20 /* maximum data transfer block size between BAM and CE */ @@ -32,6 +33,7 @@ struct qce_dma_data { struct dma_chan *txchan; struct dma_chan *rxchan; struct qce_result_dump *result_buf; + struct qce_bam_transaction *bam_txn; }; =20 int devm_qce_dma_request(struct qce_device *qce); @@ -43,5 +45,8 @@ int qce_dma_terminate_all(struct qce_dma_data *dma); struct scatterlist * qce_sgtable_add(struct sg_table *sgt, struct scatterlist *sg_add, unsigned int max_len); +void qce_write_dma(struct qce_device *qce, unsigned int offset, u32 val); +int qce_submit_cmd_desc(struct qce_device *qce); +void qce_clear_bam_transaction(struct qce_device *qce); =20 #endif /* _DMA_H_ */ diff --git a/drivers/crypto/qce/sha.c b/drivers/crypto/qce/sha.c index 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 Jun 8 21:54:57 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 6CAD33FFAB9 for ; Tue, 26 May 2026 13:11:49 +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=1779801111; cv=none; b=DHi6ucXeBP2MkfzYgmTtehJjlm0XN6ocKWykQj4kZuI266zO54IFOYx0ZACIa6qZ0Wtjv2rbVtL+sVKYwmx7eFnpExXmHMNpEsWnT8Y+qXuQIiMOaCkZU9XzN2zgoER9sNOvNhnVP2j1tJgpLKerrUYZpOy8EnmDMW8blgER/hg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779801111; c=relaxed/simple; bh=wYb8hULMzww90PvO6ikCdSc5niQ+bjPp5Yt9PZ3KUhY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=qhEI1b8NTucbH+ON8gdMYyvOHM76yChmi77S0kym+WVzYUSVAkBGEs8EWQJcBulUV01JjO+SRaL6FRYjdeQaqYEZX2vBVytBK9xaj3/peE3/60FsmdPQBsvBRxbgrBk5XggV0klA0xj5c16/NJy1gz2G/wOFR763mXeCzt7TQK8= 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=LVQAAu3r; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Lyc50zf5; 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="LVQAAu3r"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Lyc50zf5" 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 64QCsZS81575444 for ; Tue, 26 May 2026 13:11:48 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= heR+Rq57taQJntO27O6cewlt6NKto0RiHGK1KQcUICw=; b=LVQAAu3r4aDq6EIQ 7bR/wma6Rra4RG5Yhk+pjblvuattCKxBpprJ/R9sku3jK0CMH5qP8Y2j+YlnWWmp E5WWGqXyM/G0tbrYFxQWkDrLMwOTACv0NCFDA6xEARmf0ba/Px6nSY+BjU5jZ73o h3FRnAnBsaMxpiFaXcywmGtnXDymY6wayor66LjQhEFZxTofhZrII04G7spZfvfH Wl14zwh8c3fISM21okivh5RHUzZOeH3ADHS08Tg6729xt9w7ipgWoMaqckON7+/L YDwQnnDvwSKhwNmhkg0sflb3sSpSbQvDYYdNQ3mZ9CaP772w+OVPCoM6EbTPbP88 WLu2dA== Received: from mail-vs1-f72.google.com (mail-vs1-f72.google.com [209.85.217.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ecqvwv4nj-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 26 May 2026 13:11:48 +0000 (GMT) Received: by mail-vs1-f72.google.com with SMTP id ada2fe7eead31-6314daf0053so4339404137.0 for ; Tue, 26 May 2026 06:11:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779801108; x=1780405908; 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=heR+Rq57taQJntO27O6cewlt6NKto0RiHGK1KQcUICw=; b=Lyc50zf525fKOHXJkQOLo0KCi6NqzA/dJx99v+ctnekpT8vaW5SAn/g4bpqbNmR9tz 4Y+yuwPT7uof9R3XIqaCCgXBw/mU28UAinqzv2OCOUCnLYeVrKFRBMXnPjCj97JCJ6He 0bFXGDe04uzP+egyq61cc9ymtrfEaa/HmZmr9hxfOhQBnafeB1mZHKZaoo0gWCUxCOH0 rwbB+Om+PGBi66cibximFFtvzKA2UL7iiEU/83zeDghP74LHHi3mdpC98en09J5LUieA GduZexhkjQwLdMKC0/Djx9wQiJ480uPrtFipF+GM8QJ22lSx/W+JBk4W0H2aw9RuPueI c6kQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779801108; x=1780405908; 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=heR+Rq57taQJntO27O6cewlt6NKto0RiHGK1KQcUICw=; b=HavVnNJBujR5Hv6PRADMnl/LFjvzbYzvb0QaGVBnZFoM/QTBcGxPr0ckBGhe//Xeq2 pm6dF3uYI1Ar2iCG9rIW4sgBjaVnqc2WeGjA5R3c0p05WRtXjJven/RpG3qeOBLJ/Z6s nJAKg9PPthajT1hSQDWRUVyHDuQh4QNtGfZoFANKQdPcbNkf4CIzZOKad9WZn+WA5BIj 5P1bYVxtEycfx7+WcSvEq4Sd6gPgHvYoZHzXqL4sR0D13kjBPH/LuSH+91XZJpIN/TEv QW6yKtl8aSwnCHOQBRsJVaSGGVp8VzKgqOwZqBl3V5sCRzxKTRtssjT9Ti8k6eFOYtsU zbpg== X-Forwarded-Encrypted: i=1; AFNElJ9nysMlO76AHY/75BltylbfA9hSL3I5Qi0VoXI7cnh4m7h6GeqCxUfwVasBVR4gSqxrepULVbDg5nnM1wg=@vger.kernel.org X-Gm-Message-State: AOJu0YwwmDGQeQlIlrnvB/kOuVYHti7Hg2CHhVMPTXy8uTDyeUXLJPf6 sE5qOCsKsZwTy9I+s5MMptEdMIp7K6zbs6/wsg2PnSSXBNk0GHd/kSfiDEJQYl0Uo7oVTYP2FCC 6LOOSqkBmh5WsQvhubp76LVdKguRvNxi5ompl+6lfXJlNTYLZW4l29KFi5qLAJNIX73Y= X-Gm-Gg: Acq92OHiF2NhJ359S571ov3jw3FhITGzFaJ6Hpij49bNdoIEMKGwTKNKsGpy61EzyYi Lg9Z/NGiLcLzRX4PijWNfWkh7wVpXvA0xL1OM7G/FkiUdXMtT6VQ0oZLxQua9QpkTpPy+5FQGIS TeymlUmXfx91v2gIOyKiRZT36oorhx5lex3pc2rYyOC8lxk4BD2oOK36gFQA5aQl/Fsrvwf3WLB ICnkydvuUAuADp0Qj8HQcwn5bDm33ry4I879L+80sb8janQzPgZ1l4GMvD5yZ5qFBp3xfUojduP N8uGwhePl0wKhz9WEoXW1qHe0yBfwkhVEJzw/j13GwRMs+UCZFSt++PLtyiy+F/+AqrOZIYeTlA EmYpbCw/+5XHFwHxTVEVa58jQfKwCQzTEkR+cx255+ykZ4wu/OWY= X-Received: by 2002:a67:e7c9:0:b0:631:2dc6:2f5c with SMTP id ada2fe7eead31-67c646469c3mr7519332137.0.1779801107494; Tue, 26 May 2026 06:11:47 -0700 (PDT) X-Received: by 2002:a67:e7c9:0:b0:631:2dc6:2f5c with SMTP id ada2fe7eead31-67c646469c3mr7519273137.0.1779801106934; Tue, 26 May 2026 06:11:46 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:15ba:1d70:65ea:9578]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45eb6d5e484sm34259426f8f.30.2026.05.26.06.11.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 06:11:46 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 26 May 2026 15:11:02 +0200 Subject: [PATCH v19 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: <20260526-qcom-qce-cmd-descr-v19-14-08472fdcbf4a@oss.qualcomm.com> References: <20260526-qcom-qce-cmd-descr-v19-0-08472fdcbf4a@oss.qualcomm.com> In-Reply-To: <20260526-qcom-qce-cmd-descr-v19-0-08472fdcbf4a@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=1561; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=wYb8hULMzww90PvO6ikCdSc5niQ+bjPp5Yt9PZ3KUhY=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqFZvzxsEoOkXKERoBmJ+YvCvy9mO2/ZVwzzxGW SkD5+eOhNGJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCahWb8wAKCRAFnS7L/zaE w01UD/9Qd52H3q5VW0VL6E7KzqRa+d8K+Y+jYtcVKzVY5jLZ4SyZVi3tVBOS1l4w573XttjwpQ9 bLmG5wgI9YwBOYEKor4l2B4NV5r1RTzWWYY8kkHZbY2pR5ot3GRBk41IHrFkKqJtLCUihkZyTM7 BRvxv0cDH07RHmyCDeInlnwULWxqvKJtnval/yE78/Rv4z7XOflmK5RLA/3E8agAXFd2qK+EBSI HCHt+oBWXtmabclRSm1us0rmipHIsMJu/GXiKVd+Pwl/WF5N/cfq3SxN38ttYfXKzBv3RfSMB/v OTK+WGPkOU5rs3mWfHtvQfbArbPnV786v5NWONXLKaohikx5KNatccGpQ5aeQ/WuaNLreW5d0CX d+sKayWGvRazJP5WhH7iaw2NE3Ik5X3/AbDFd019x5fs8E0IeQX8CqZvFFQgx9GwYVKh7m8++xj eCxrHcDnnjwKXMqmRLUqLEDmxt96FpTmSrvubr3rO8WmtR2K1Rr0+il194IajYmFaXto42h10+P J99xrA80QX3GCp6IAOIQa528bkuLn//rMcbinl9x/FWfJN8PNWeyJLTgC+FViy52icXv9KcIaIR 739qnqXKU4sjQtDrC9EjPhGwzEJJIkxAReeSaJ/bI50Kiy9PgYV3iUz+9wgtb1/+x6A5iHcgS97 3TG2vGnfRcU3DHg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-ORIG-GUID: -u8NCvKJj3-6OQ_FsdApX3RAg_9z6Hrq X-Proofpoint-GUID: -u8NCvKJj3-6OQ_FsdApX3RAg_9z6Hrq X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTI2MDExNCBTYWx0ZWRfX0GVH9l1yepoO x4NF8W5dGqqFEIfQRgqumNlQ0QRXbCjyuGmbg2+80OrxFKCWFN2crWGDE4acjrxEUZXmq4Xpf22 Z4FGq+TQ/mcvVhoeK8y0jROS6aNNaOjLAfLK+MTSvvp6Jj3IA8ypsplmR0zFwDJvAopVXfPHrJD AS7qzVrAcI44gfIM8jX8ixTQ/qMG4upBal3lSF+Cb/EFr8r7xBawH1wzllJg2l4WTKiLNVdAqtQ tBBjc9YfaZg9GLW2ef0D4VkGNJ8goFau8stMC5wvQZs7H6pOVV5HgChvcnyRM1sHLo88IMN9qOK 901fJbIYoQm1gdw6Qgkf7/t4dXoq7DImn9Fuyb6BXN+k6JZcwdGJHjR4VlfVswREgqkAFc63WBN 9ItmgxOCuPKqAtUZ2bczUgCArc2PUNbeDSH8V4XcXXFQJPp4U+5kNJlX3J471mvDA6RnMbMSZam WUmrgYb/BDp0wGVPufw== X-Authority-Analysis: v=2.4 cv=M4l97Sws c=1 sm=1 tr=0 ts=6a159c14 cx=c_pps a=DUEm7b3gzWu7BqY5nP7+9g==: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=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=TFgmKHP77OfOvYwKDSoA:9 a=QEXdDO2ut3YA:10 a=-aSRE8QhW-JAV6biHavz:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-05-26_03,2026-05-26_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 bulkscore=0 lowpriorityscore=0 suspectscore=0 clxscore=1015 malwarescore=0 impostorscore=0 spamscore=0 phishscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605260114 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 769cc71da90076be446cbdf7ec7db27f628fa2ac..349c1d9ce9a2f4628087aa4ed5f= 8dda2bd9eaedb 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 @@ -41,6 +42,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; @@ -60,6 +65,10 @@ int qce_submit_cmd_desc(struct qce_device *qce) goto err_unmap_sg; } =20 + ret =3D dmaengine_desc_attach_metadata(dma_desc, &meta, sizeof(meta)); + 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