From nobody Fri Jul 24 04:54:30 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 CB3704D98EC for ; Thu, 23 Jul 2026 17:09: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=1784826593; cv=none; b=fs6TP4Jn1Cp9dtvyX9ZQmNIEHtjqhN7iooFZZQTnimgN2HozO/qXc03RiOdO5vZct5bJHhwCMHXcD213gU1sRkkeinwWihROzCeH/DIlLAIwoClI5tkzMqY4aAPiRV5Mpjs6sUSlaT4Hpgnuqc8L464uKSttpEHglYvmeE5JT64= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784826593; c=relaxed/simple; bh=T0ZAEoPGlcD+MBsHOs7IR7iXvbxs2FRnDbpOdt9CWCM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ELrwZfesfB+2z87tNMeKKKhmZ6ofq1H0mxaau39rDEczxTkxAjh104fFvkl15t7ziGcQxMMEOBkPddn0LOuQZWk22ioo6JsdqtRmMaLI+SCYV86FmdkBaaFsSJPwc56C/9jY5rRw8KsXYIWbYOMZVR3QcgAZf9sIU630UkkR32Q= 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=BRIiYJkT; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=AhDJg/wg; 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="BRIiYJkT"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="AhDJg/wg" 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 66NCvUJd3819792 for ; Thu, 23 Jul 2026 17:09:39 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= ssHW8XScr3JWgrcOFJ5LiFi8t9CrlHFACuaOrI33AwM=; b=BRIiYJkTaFfnRKez 9LFca34yN9Nfj3m5sF2P56gkbbN9oknSm/E0BbCk9VnxVaFm+K3wQnLChMUqlpBa Ow/htXbwIqbth/AzJJJhRtn3x/oQg1pJKGPHhP+JWtmsc4mT2XpO66TLkKhI1MOr 3g/SfVK8Eals9YmUrtalyfaDqBh17pxmMi4o5QeBT1Hi6+t4L/2XR+LSRFT08ZUc yOOaNJBxDcKBxhgJTsVuDeHXkDoIp+i9GVceMifFMS2/rsIeCFwzB5pPluWRr1Dv 1H50PyMV5PD+1DAhJr6lf4K2342VuUWQoAii7Q8fLCy8QSQXA8avikpjL2U43+F7 4ojt5A== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fkafw3hbt-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 23 Jul 2026 17:09:39 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-51c0408254aso12848821cf.0 for ; Thu, 23 Jul 2026 10:09:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784826578; x=1785431378; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=ssHW8XScr3JWgrcOFJ5LiFi8t9CrlHFACuaOrI33AwM=; b=AhDJg/wgu8C4WPTLao861GdWzS0trNwUnMfbq2K5y8NHEalBJ9RxaxfFSca157kXTZ mh0S6RTi7JJlDBLYL7g1C2hUdE9PszzN1RMbW+DXKwAS12t+Axm0fwa0ezzWxO45brrA QKyKcc1NNNqfPpACZqDu5ier5LZqgWXPqXbeDPUK8Qcvv57K+XKENETbMkp3d8tuOu7V Ul8ruH+jqpo5Lni7+7hUCBbk6c/AyrPU7NER03qh5/SaPDNYI6aH0A65QceY0e+uBBzg 8CucUIn9nXUs2xwL/tN9kWsW2KKWj8wRqexjpbs5yiSvWssLKQSBBeRJ6DEFfBYzrLDz Nguw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784826578; x=1785431378; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=ssHW8XScr3JWgrcOFJ5LiFi8t9CrlHFACuaOrI33AwM=; b=MBiVVIwhs1jdtRHVyNycRvKBxIgd6dcLXKBa6C05VLqom5PqW7D4jFjUZzjyqHJRDP gEkgSEporMvd4Bp44x3Xo6oSD8gvuEUxMFI3pZR69ITCK7s64fliPVYOEMSd5Z07O449 +phsZZNSx7NLWv7xfll3fq69VnKEUeOetueHc4KB4jbFFKO5yNpZy+bsJ+IEvgOz0upQ ljfMmyxt7o5RVn+LFxe5dW51zr95snnUKE2lACblRyCmVY/USQCCls9ziHTTk7rPWO+O AiCAjhjjJxGvpZ6vA82tURBSnoOhy5jUqtL2p1mn01KWihpKPlYURUO2/Gb0+KX4PiDS GwQw== X-Forwarded-Encrypted: i=1; AHgh+RpQM3VUnWBPBpKUN9u3z7+7wBYpYJcvkQukXx2VR1Mmb+Ly+vT4Hl57Azi0sRJSA8L0YrVIQGDH0oZawCg=@vger.kernel.org X-Gm-Message-State: AOJu0YzHP2SwPBBr0zkML6vQObiTwGQSIgJ4Lm3EkEj3gCUoS1RadZpR 22L03XGXDHT87KFR+heQN+YBExNurWAqUHeKFo+EzPUDagZQ1xswVamy2TCwX8c/SQzrrVF8az6 AVG88/KfaBwTMYiM8yZV0mk3JOCuvibLHXcxrxIvHD+Q5xsbeS9HDlhQKgjbwu3rg1IM= X-Gm-Gg: AR+sD10ySmJgOfRwqG9FJ8QsYrShzCw0fbIq5DeZT2IPknjQJcMUicxQOFHOOsZpheF YwScknTq+X5rSBRbxAmUSUEZsQiHYvWKSL+py5aGysl2Rxmz11cA6hHdjgeCbiBNVIkfOVZUb9X zykvrMcXVOH0AbaT+eDzSUyA4eYBWvqDlpJQl9uHyDUNxLB7JDsjEl4tBMx3tgtqKX07uibu28x DPHp4XDqAHFwn8PFOT4tO24OTHFw9/MXmlCmvFf78KCSdnAwAb8IMp/mAe7l3x6Dc4HtGJ/AAKn Dr4w8zIpFiKZwFdJUzdZsYmRr5BFhtNvpxjTnWIUjFhEkVryPKiZwKbSzej5Xh7vW3lHr/Vw+G1 pVNXxR1BvufKmg531vqtC2DvKChhs X-Received: by 2002:a05:622a:2307:b0:517:146d:2cb5 with SMTP id d75a77b69052e-5283edcea45mr34172311cf.20.1784826578433; Thu, 23 Jul 2026 10:09:38 -0700 (PDT) X-Received: by 2002:a05:622a:2307:b0:517:146d:2cb5 with SMTP id d75a77b69052e-5283edcea45mr34171681cf.20.1784826577854; Thu, 23 Jul 2026 10:09:37 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:cd9c:212:1357:7832]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47f85b9a64dsm18472999f8f.1.2026.07.23.10.09.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Jul 2026 10:09:36 -0700 (PDT) From: Bartosz Golaszewski Date: Thu, 23 Jul 2026 19:09:07 +0200 Subject: [PATCH v24 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: <20260723-qcom-qce-cmd-descr-v24-1-4f87bb4d9938@oss.qualcomm.com> References: <20260723-qcom-qce-cmd-descr-v24-0-4f87bb4d9938@oss.qualcomm.com> In-Reply-To: <20260723-qcom-qce-cmd-descr-v24-0-4f87bb4d9938@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 , Mukesh Kumar Savaliya , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong , Vignesh Raghavendra 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 , Radhey Shyam Pandey X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2359; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=T0ZAEoPGlcD+MBsHOs7IR7iXvbxs2FRnDbpOdt9CWCM=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqYkq+c6LBTlXt4m7neMwOdfL7vsgLIh7+nkKfc DNZ04kVDdKJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCamJKvgAKCRAFnS7L/zaE w76vD/4mgzkaYL3ZdWpQAtPUlCh/fnXkz4jgHg7jckJ1RsVEWNsBm23V5l3kePvG4QcjSJBhzXi GXtJIILk97K5O2f4GQLSAm4UFpNqY7TsCxsx9W7RSb+DeuzrKtmV9me1dezD879KziHuazLJJrQ FNm5zBJ8CRuHQKgiXgtciq0FnbV6vTsOqZtStN3VFaTkZNFQOjHecJxdl5ZpaDFNyaff3+juM2g QCvAIjcFhtGBqQb7YAion5P0AUKVs3r0/NX0J7XiPjH3tNKY56z+q3zT3shmLrbfyOPLhyKeGS/ Ecpr9wENWIYKvJK2DRDtFE3MCLV8FuZYUqvDvxIpNvOTpMbzYdmBtYhoVFSPQQBPo2OvJ5dyOIS K5GmTrghS0ayU3SxKmWAe23fHFpoEUrJ/8N2dSFAfA9tHGC/B/MUv7qdhcQ7EK2Gxpuumfy3Xgi dJ5nka/napQyt//M+9enVm4uPqgrgHpcpt4A6r0Asa0XRybzgGowPMKkgDZzKgHMKKg4TgIzKs7 p4lt18eMBbr6BrsirF8z4vO763JZUynWVZEvfh6eMwUp4smDmZj5p4EQuQBFFntRvEkRMFtbkDM wYWSCTH9IW8ws3sAAL6Dd0JVz+eEdwolFK2LOktJjfWgqX2XAICL86pWHXLBIl0xtK0AZw5i41V 5EcSVG74U6om5iA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=XNkAjwhE c=1 sm=1 tr=0 ts=6a624ad3 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=VwQbUJbxAAAA:8 a=zd2uoN0lAAAA:8 a=EUspDBNiAAAA:8 a=XeVHrwws4l7kqE2Ex6IA:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-ORIG-GUID: dWeQWFfKE_WIo2THzJIncRa49Z3dvSF8 X-Proofpoint-GUID: dWeQWFfKE_WIo2THzJIncRa49Z3dvSF8 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIzMDE2NyBTYWx0ZWRfX8v0EAw48DUmO m3/IcNjGVXfCTzXsneW7REd7icwXaAylZjRrgvG5WCQalITSHdZjMSpTJG8tURY17N2gmzecdv6 oZ0teudneUte9PklWSAwWBMIDgUV42o= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIzMDE2NyBTYWx0ZWRfXz1mJvGR9ouTH koaaIf9FYJbuR/bO4XAGkXmTZUlw7pW2VedRxHWGMZ1RlCwzN+PiImsc7jteEzl1wAuvuU/uYhu jpkb6rnARaxO9/hm9l/K8hS0Zt0qrhPYdfystglUdNQ/K210So3X9wzH9kRGJ4pbhXbOkVXlZNz eZ/oFRhufK/Ju0Lq/5nzsfUnz4wU5A+stFS9KmxD2uMAq/7Ew7prK6wPWpELXtiTnfV5jtcoKDZ Pk+EbYrJJwqw8pjOdtsRI1koTzZcHl5d15JKGL2g1R0v0a37nBkbS0iU/rtP8VZiY9i1OzsdLpz LfeFHnzhD/E3wKleV0FVJLEkevPdbauG2SulNO0YdbAgMK0LxLonYOv9RC5wTXy/1KQCzXlC2Mt 86oygNYSzfqdyDZcI6qwVnJ2g6EW8T+vEIujfWS3Sc+pYWLQpXWkoF4ZusN7md6RpdHv8PSo10B o8pOVHFr+giShDbIMwA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-23_04,2026-07-22_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 impostorscore=0 suspectscore=0 bulkscore=0 clxscore=1015 lowpriorityscore=0 phishscore=0 priorityscore=1501 malwarescore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607230167 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 Reviewed-by: Radhey Shyam Pandey 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 1cf158eb7bdb541c4e7f4f79f65ab70be4311fad..fb21e0df5ab7b20e4e16777b5ff= 7f61d2ae67b2b 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 Fri Jul 24 04:54:30 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 4F6BC4F7987 for ; Thu, 23 Jul 2026 17:09: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=1784826601; cv=none; b=ko6GSIZi7xFEfi7RcFM5oPEf4e3ovz6dpklY5Xl82LU/PWPC+DKuPQUhOyOJwsSYEYt3gMVVmnjNsMhiwnaImrrNToYLMeEZT68EnfyKH/e7DIHrBFWYybhqZUGnzQHwrMjYR6xrGJxh04SETkaD8a/i9JDMy2hxjlo2YOXWkgM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784826601; c=relaxed/simple; bh=4nbFs/xg8cCMPYrFtHWE96AOtkhXxC7yUgPXEapSLFc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ZDPSjpWnbsr7ZyN+EFZ+wh72pHW0D5kr49Z47H4gk9UoQk6uujkSRmnjOyUp54FSalHs1mJxA/iiDwWtTc3DWWQ2LXxUB7LD6iYeZ2zoz9ac9zRZf+t4nacVWCIuOrJNg5TdcITn8G2c5szrtZ1pbDbLYU3QzAGezXs+Wszwht8= 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=orvzQi1K; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=eSGHGfuF; 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="orvzQi1K"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="eSGHGfuF" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66NCvhbW4172644 for ; Thu, 23 Jul 2026 17:09:42 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= /Vh6sT+8mC4wwsdE+AaqQfMuc9K2i5dAUjEpzQ2UVhY=; b=orvzQi1KLIGbJqyb Uet/ZTdsuMVFNnP4RsH0E0ZTynZzpxphJfPAG3ufb0QjeYMyRLXRhTJGbfwAyKhQ SHJ97xycouzpcMWkVyR9on52d4S7Rhga+bFoLYvwYtKRjyg5jk+pN+nVrEIgvpZb +AetOHg5QQlOxTxkZ6lRAfzU/TLxEkHJv2qxZ2hptOVWcUGMO+2gtrNjMU9ZligW FfcjWT3GI4f2hQe22LaG/Hf0TcRRiUPOxLP48n5wbKOitqkQSB639PTk4Kfj/SqZ /DSyEMBrlMAbke1rr/aciOAH6cSoWqEgk8qkFlytq5DoKV5rCupDe3rVFFrUDFuE A6Gr1w== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fke7qjnd1-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 23 Jul 2026 17:09:42 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51c110a3b6aso13175691cf.1 for ; Thu, 23 Jul 2026 10:09:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784826581; x=1785431381; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=/Vh6sT+8mC4wwsdE+AaqQfMuc9K2i5dAUjEpzQ2UVhY=; b=eSGHGfuFWIrqr3ypIku98UyEXZso+9/xPgA7g55IBiywtyEsX89nRdp6XVg7jo5Awe XQYMc04RiZALKaRsjHvfBghJ9Ii7jJtD+RAgqrW0l2yFe+8pQKx+j+37wctrgH6aR88T XeEVLHboE2NY7cVBp2z8FNvaaY2KkbfmPgOIeI6WZKeXhXdC/gIkfaXZAiKZ2rWWLr3I tLRUpGbaEC/uTrQLDe2jsUijrrRVjdmIyDRWRb/QnH2SB0y34/ETUyPO+IQDegcTBTXI hlADv1iRc7NH72vw0Gg2oWF5hge1C50maHcef+iXRIh1obYdZl8Q5+9D0M0qn7nTwG62 5jEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784826581; x=1785431381; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=/Vh6sT+8mC4wwsdE+AaqQfMuc9K2i5dAUjEpzQ2UVhY=; b=Ix4MkMHGGUz+ik/1BmI7h8CZhqWSFcN8/vW1ptfqejN4eVXSBHErJvyYAe8yvVv9sZ K3HSKY3qiWd6k+HWp1x2nhPpgiYXBEYT1wwGbWzHM1l0h7jVcnpiEu7bQfbhMYi5hcBX 5pSZD+D/aBBMj4oZGh/NjZpoBTtFQjr3rs2e7NTSpGzZoSTv42ATC+0t+YcJ4BcKLmGr hZkD9Z1yGUPvZbbUheZfjBJMz+/pwEH4++fclOWBtSm5Y8Kgf+scmzxTg29lEzK3PMwZ Z9wZt59dMQ17OQr21n88g6VSrTpyqtOHkC02buQJuWAh2+Aj563m70XIVmKhO9FSF0Un FkWA== X-Forwarded-Encrypted: i=1; AHgh+RoIFgZILad5sLfUlBfSfpTGTPbWtBQIofIPVvkWS+6XGSD6YbXPmd+07eRWAGVV/W4zWC0sMQ/jAvG6hBc=@vger.kernel.org X-Gm-Message-State: AOJu0YzoNuLjQ5pkj/T7spB2RFs+0mmr/v8KcxQPOO4wDTimtYVSCOPw qSsf/NdIpD4Fst033DMlFhxSLU/uRzARP+eMpC5GWQSUbii8ISCVJ+kQ3ryQPMSBKC595vTlxJ4 li2Hq4X9KFgLZA9+eT1zOqeH3pSx2Cxf/eG/Zo0DjYHS9yBQ7elrMpvbWGAllG3WG2Os= X-Gm-Gg: AR+sD128d8fgt2RJF8LYOS8sUoEJzcDtPswrJw+Omi0afvXKQNi8PwCpzr8gC/UnrWd prcY/y9yFAVY/rga8pxn91U4ebvkEkMPm5RelrtW7KtoM3m0v7fsaJREx5C+HeDXHoiv7zBCp6I 8/HpKU4LxbWjMYFjTSW5f4LNPUvfXQx+kOL1QAGx555ZxzSFRyAnoL/yv857ucK6jVfHXacce81 EY8TLTujmXn/8tVIqNypeKN9UbmuIoRSrhiIiiuW/05vWoaHuZrLYtTTIBQcP7T3KTS3HvC2VZE bKj9JinHsCleQGe/HRRIphxBFPYjYqmxZQJXnQ6R7BA/etaIQP4dtzj1qaXW1axw5GNLbCmTCAT WsNWT4pOheA6UWYUaR6qdWQrOrfY7 X-Received: by 2002:ac8:5fd5:0:b0:51c:c29:d4c7 with SMTP id d75a77b69052e-5283dfc878fmr34791511cf.62.1784826581145; Thu, 23 Jul 2026 10:09:41 -0700 (PDT) X-Received: by 2002:ac8:5fd5:0:b0:51c:c29:d4c7 with SMTP id d75a77b69052e-5283dfc878fmr34790841cf.62.1784826580251; Thu, 23 Jul 2026 10:09:40 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:cd9c:212:1357:7832]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47f85b9a64dsm18472999f8f.1.2026.07.23.10.09.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Jul 2026 10:09:39 -0700 (PDT) From: Bartosz Golaszewski Date: Thu, 23 Jul 2026 19:09:08 +0200 Subject: [PATCH v24 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: <20260723-qcom-qce-cmd-descr-v24-2-4f87bb4d9938@oss.qualcomm.com> References: <20260723-qcom-qce-cmd-descr-v24-0-4f87bb4d9938@oss.qualcomm.com> In-Reply-To: <20260723-qcom-qce-cmd-descr-v24-0-4f87bb4d9938@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 , Mukesh Kumar Savaliya , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong , Vignesh Raghavendra 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=2818; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=4nbFs/xg8cCMPYrFtHWE96AOtkhXxC7yUgPXEapSLFc=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqYkq/WBUoWLjOzExA79z7UMdsm0HF5JKxlXZxt tTjR80KQnOJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCamJKvwAKCRAFnS7L/zaE w31CEAC5obaMMhHtPfFZmXXLzrCNZlzYHp/1Y7abX0djXAm3vL4YOq7s6EXKNbKEGjg9uW7MYbk btwotFetGoy6sfEuM5e4PMxHWHiZgWqE1vuWcnnE68ugoHN1nE4L1cOurCeFcjNNpdz+48v7qcA ykOLqNuTJNIduqr8zgFTv6oTWswf9y8Z1So7gfh6+IMCsLZCYNipYtJqNKpMNFT/Ai3a/6jgh1N B8VwOSgLmfSSvfscDAJhx38ZpZERlZMF4vYFvLmOjA8ann1WjGimov1TbDwbiswXTIiypqRuRsb 0zXSUTWQ2FN24NVH3vnekWVQVZEC8AwRsq10h0dtkPwFR0ivFZEypRbP3p/TAZJIdpkIeDLWd/S gBvVCBGSZkpJzHGGQ0edBPO0P/NO7qYnW/ETpiaeO3URS/Ag1Kv8JWcwboZyGGKO1KKX08OGPU0 a0uSXrqveSC9S1PVv5WXvSJjGfYf5xNq5W6rTgGc1vwJEJquNWjBTzHSxACzPKu2ushNcna5X31 Di27HDYFOe2GUpzSpSfyNwgxehROjGBPOFsdozayswtBqfRfOl3g9rrD4vmmJgNmOCp9blU4iZM JlSgH1heKvX7U3peoeh1GLQOfef5MY3a2/xlYNvDt6RqeNbczORhD7Q/25BkIkl6TiYUhAXGt2b R5JExTs/jzzLuoA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIzMDE2NyBTYWx0ZWRfX57MNmgFQCYHo CVwe0fFrZoj1+rqZoCIybQyT48Lk5sjqCYVzzisI/gfpRCf4jrne1C98kD1yqmGmxRfR3wNgHJN dmz9A8pRI70bYzdMXidPXB7zT5xZACE= X-Authority-Analysis: v=2.4 cv=aYxRWxot c=1 sm=1 tr=0 ts=6a624ad6 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=c92rfblmAAAA:8 a=EUspDBNiAAAA:8 a=VwQbUJbxAAAA:8 a=n8zAjjMAgf0wD31B80cA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 a=GvGzcOZaWPEFPQC_NcjD:22 X-Proofpoint-GUID: xPYlg8jUTxyoIXjBafZLh9dncKov1NS5 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIzMDE2NyBTYWx0ZWRfX85HRq+t9m1Oi ran0eLlz9Q+msCoECo/9UsX/wO8iRruKsAEkOaf9aQJL+6rwMIVuZf4j8UFT5hZHGV6aITFiNs5 WhTetBfbhDrhZlIFP4mJLYtRg8kUlihl0rqvlGMNF36y0AX/r/PO5LweQA4aBm7wGLrL+bQxyiL 4Ue42ZA8DMEg+ZeVhN145KaeC+4AyWAIVmahb+ftqG95vYOfu5RkgYyKKu7s9tLirdfBaSQEQ8K ljD13CRhWdXdX7cUadUTh7+Lk/1q+sDt0MT/Mbx/kadINNyFhRuA5yU56XtI1lfXMO/GlWaVGn0 vD2TSSniP+rCURuGvBnwwcz5xePslZDS+E6zQA1lzO5/1Zb1UHPOwfoyb1YMtKKZKzhQ+DODcAI D1n6vOSC1eTIh6pMWuIE2LQDz2WSFp8uCzlY3cXU1gFR7Ddne7N6WKY2g7BS2xPN2jvVYIbE+BI 3+ZzhaBgBgUFb9cNlgg== X-Proofpoint-ORIG-GUID: xPYlg8jUTxyoIXjBafZLh9dncKov1NS5 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-23_04,2026-07-22_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 malwarescore=0 spamscore=0 lowpriorityscore=0 phishscore=0 bulkscore=0 clxscore=1015 adultscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607230167 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 Reviewed-by: Manivannan Sadhasivam 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 1bb26af0405f3a16f97e0d4b86c945c252d97f57..fc155e0d1870cbb7e099a2c4280= f9f8fbdf6cf15 100644 --- a/drivers/dma/qcom/bam_dma.c +++ b/drivers/dma/qcom/bam_dma.c @@ -1332,8 +1332,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 @@ -1366,7 +1365,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, @@ -1385,6 +1384,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); @@ -1401,6 +1402,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); @@ -1409,8 +1412,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 Fri Jul 24 04:54:30 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 84FEB4734F8 for ; Thu, 23 Jul 2026 17:09:46 +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=1784826599; cv=none; b=kJm2d9SCsP0riFXEitQdTBVhJgUie3FlhcHpa6sgvMIr7UDFehol/jfXfGAM0JtIc8rPdXYwBTPjBBES6TWMFBfLtwBeGseP8qT6uN2xCwg/4bMEvka5lkVyRNYlmiAuyfnor3Vy+Zs4U0wtW0VqBOrMRAPyw9YvfDW603ANKUk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784826599; c=relaxed/simple; bh=wCpLSEqzl6yoBDde9p+VABZfQUJK0dP0DnJmF5kRzKI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=pmUA1Qy8dHw0QvUNlktAlENAgZGlkOAsQQrWoAB/lO2R70u48twlOQYrpeC9tAFmNDybpeTpzM5MCqZ2UtluDW/1azbHBCVTQmSjOZ+IQCINbteyOaDA8fL0/NxKjFcA/256e1xyFwfPZ4D1jIvGRkwpeqRd2/xdSDFwmL33wVE= 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=kn1hPOoe; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=TwSNWX46; 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="kn1hPOoe"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="TwSNWX46" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66NG59jJ482817 for ; Thu, 23 Jul 2026 17:09: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= EisVJTTfRpbffhmQLHO5RqC6wDH0dg02BTw4k+UhwPA=; b=kn1hPOoe0KcUbjHa +wIOfkQ+gSJv2FonGs3nvAeM9E0OnBoX38UvSiqErEhF3Pi6rZathVDxUyNXgZbU XoabpBtiQI3+nn9a6RcrZ4BcZGpgkRMZ1MqwdHtRaEid+oemJ7/j/mr+zFLdYQER ZwV8FPJSPFVMt4CSyzOSXmX0KXjK2dj8gbd+1PtEEAnGrmc/NNrWWb3WQ/RjPmUv ACIm2bBW7iw9KcdgutioXB0rpuFfDkNvhcKW4zt4XMuZSYsNRFlzC00RFgEE2/jR zYp2pxcHk6BdJUqsYSSHpkkJcoOaQAykrQQB7pjzBjd6A2nRRPwyZRXNbO4tTNf+ eaQajg== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fkp5vg9u5-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 23 Jul 2026 17:09:43 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-51c0f0a0760so25371751cf.2 for ; Thu, 23 Jul 2026 10:09:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784826583; x=1785431383; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=EisVJTTfRpbffhmQLHO5RqC6wDH0dg02BTw4k+UhwPA=; b=TwSNWX461TrbHkYVV2sw8hCtA/xCxqQ+ZrjAZSWWAvfTEUAMhgxhwN4am0ED2fluVE CUTruDFftS/Ll6LLUpz6htrhrkjwgzNl5QkXfhh3vobt/zetqgCmxaXE8U8HClxCkq52 a9DhG42XC8JhXx/gbMXKlYrWHSP0k0UpArAk8cnveBd8eHdRombQppt1aPKi+qaESKPu sHY9hm1Rwjmo7oqADT8oBYySSPYvWM8JTsMtY6BG/pNayFV/oBLCQrx+HBE2+CZBzd0C mCOcKz3qM1Am8BqvgU0lAMso167+bCrGW9CIGnPOnRamIVbg7PnBn9KyBj4jWpVtH2c7 cMfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784826583; x=1785431383; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=EisVJTTfRpbffhmQLHO5RqC6wDH0dg02BTw4k+UhwPA=; b=gjub6XRwJIeAB/5bWHsSPCyaV9pQhrZlrjCKfTDUcDin5ctPl/5wt0IJcC6CewQj6H 4dq9EDwCfBeHKxUvIeJFb1lR+6ivwUfnVX9DyVMIUoNuJX1MOCxRqKQ+bZprdQM0ELn/ 9/JzXjqOjo7lkuZkgn+UMV3JHm8uJkndG44zPsm4Y1YcxBVv0d0mKpDG+wwYd5QUkYJX AijRTbOQk99WG+6MsL+OQwgqaHKG/uqnHIu3QJ3mmQsAZtCSOUORlwZpsz2A0pEGCLJ3 pU9Ma3b+kNDfDQ2o9YoOz/84YOz8IH4k3rJA599rqj0xEkKpHkSeiF+CZuQ88X0BsX+2 fGUA== X-Forwarded-Encrypted: i=1; AHgh+Rpld6dnwN2uvqR9ac1b4XnDplpocILU8fAwHAK5QWJRvL+tUmIVxlp1pmLMwcewWLYMjf9lmm15qgIBo6M=@vger.kernel.org X-Gm-Message-State: AOJu0Yzlwg5gmYs1MqjIzAbvA/KYGetENrozu4LE4jB5nMKmpRoBETcY V6nBbgAplsLZxnMLeZBCY4keTcu0+719eUvK8P85jPGZeN3kQ7IN4roI/syZTg/1tau2sZgy8EB EooVEX4BmW2tTcaF+mBljBYgRdEa5fJjvgKNt2b6gvPO3QdORaJt4Dr4Wnr3eSVwcK28= X-Gm-Gg: AR+sD109UVB+qv7i+9zatp//iumFWY0Tgii/pyyx6g4lQTCylKm2cXCPBy3SOoLnUiH +UjTGjELrjPn47h4OVqbWZ9XiDjwH7huhMzgqljY2eglfnANZ7kPsGANpH2+yRaW33qp5mEa/HO dB+Z0l9exQg6Nw6DmSNnHpwZs4k95TM1C08T7VYGpznpk2Uyi8AtdjHgzLcpWvHcy5B/18x6kUk mM3iSQUg+LhIjbZ4RTeMk1mr2W2fZLcOXrO/WD6Vc47MbJDt7Cufw/dltj1b7oa7mrEQJoZZXcF 2l+yLupTo/3rHD63sCvw4ODO0Aps7PeX5EPrHXeSUva6dAPa3v1a8U7P5w1hU28NJPK4f5UO1xN qGm4dSA9l9wvjD/UZh/6sDp+3Nopt X-Received: by 2002:a05:622a:5c17:b0:51b:7af7:77de with SMTP id d75a77b69052e-5283dda3ebfmr39083211cf.14.1784826583031; Thu, 23 Jul 2026 10:09:43 -0700 (PDT) X-Received: by 2002:a05:622a:5c17:b0:51b:7af7:77de with SMTP id d75a77b69052e-5283dda3ebfmr39082491cf.14.1784826582431; Thu, 23 Jul 2026 10:09:42 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:cd9c:212:1357:7832]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47f85b9a64dsm18472999f8f.1.2026.07.23.10.09.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Jul 2026 10:09:41 -0700 (PDT) From: Bartosz Golaszewski Date: Thu, 23 Jul 2026 19:09:09 +0200 Subject: [PATCH v24 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: <20260723-qcom-qce-cmd-descr-v24-3-4f87bb4d9938@oss.qualcomm.com> References: <20260723-qcom-qce-cmd-descr-v24-0-4f87bb4d9938@oss.qualcomm.com> In-Reply-To: <20260723-qcom-qce-cmd-descr-v24-0-4f87bb4d9938@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 , Mukesh Kumar Savaliya , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong , Vignesh Raghavendra 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=wCpLSEqzl6yoBDde9p+VABZfQUJK0dP0DnJmF5kRzKI=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqYkrBvXqR9TZC1tbg8D3QSJWkpFx+AucHs4s7N H/zFMiPLRqJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCamJKwQAKCRAFnS7L/zaE w+cxD/9Vc4yJMbV+XbQUTP6CYYzcaJyhYB+RJkFnIEGSb3RFNPchjtx3OR4fq44eQ68G7WP2/CT Yo1PXNdApTIEiJ6wuRcSYmqUHzNGgUg+KiRbdfdkag89Wma1+/pvLtYJ3GMM2nURtrFR5h0MsE0 p8BZLw93ejhP+gL8rSjEqjmdH1ayehxewGh9QKAneLyk6225eFvO+qu7Dmdj4FLWjxyXN7q7WCp nLNxnFhf/t+JH+yInWkzzxIAySxRB0g61mWbkFIxCmlU6HYnek8lOGfh7dIdQnAWaFWTny7QFKr yjSzS2Wh6dxxXN4IvXYo55kV+yUpMdERa5z0+zw2Jm7OfZFXrnISL5evJepkVxTEg18/9G8mN2f sCrGEXbkmkZo8wrhwtCVBCTRn2MIFDLG7EkqvHZpop2+OidVsTKv3KFxwAVztLJ6T3x7N+obVMc uY+bhBU685gyJGijKrwpDxrbao7AU5h3tqJ/T+qjQ3oHEOsW+qb7O5E+txRz9RTYwl1MgMdIRbd qF06NvEq9aKoPhge7B/gfmVK4CjoDYMb9w39TJOS+OGVKgHHIw6toyew0X+nGeSM17qoR7GPDrn cLlWTfWqwWtcx+h0mjG0WXm4FUVWPYy0UagXxeCaFTdyzXLAPwlxa5WCi6uPU91be5aD0sQy15p 8BxnhIrzqhRUSaw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIzMDE2NyBTYWx0ZWRfX/+GyP8M3e9Xa g1VORx9hDIiHLpn2P9xt1Sjq4Y3cQV6tFrExBVoB47uKWQVplyAcNHLVuwqwkOH331gyeWfG5kF km9Y2MZ+XWjxy/IG7cjOGjb1FX7EIyo= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIzMDE2NyBTYWx0ZWRfX2wTrU2KJJiot In7BXUhbwxJhpZ1gou/ReiSZNtKurkfwN+vNvWC++gklklGEBhIMwY0ZWKYLNIj7Yme9PecYr3F gxK3J3U44pwB4Dw41y7Sc5yo03CLYAt56LuK/uNECU7DR+86Zh+NOQ6lki/6FhOG6yF3FsllZ7+ 0wH8YXoFNMX6UDmhe5F8aJkID1CP0ORn2g9mKNdQflLagYrVAN9aobNKcemvXSSpqLQ4gRT5/ZQ RAOolrIAt71rVHEIVtoPMsdAinpyf1y6jgilNOV0f67eBVQGB6IBqtfyV7L0ibS4R8WMDkxDA5X /PyJikZNg9iwarZwblvaNlmmCLIvbt7XteQ5RNaPm+aHboMK0se9CDaT3HKojVJAL1StOqJZPH/ 6hlcuxnCK6aDTlfFBwMwWnyl5pFBfH08o3FSt16ihUaLoEgujKw9uyhXXh92X56Jg37Hb4gVy7M QimZ7/Q69kjYAyss5Cg== X-Authority-Analysis: v=2.4 cv=Z9Dc2nRA c=1 sm=1 tr=0 ts=6a624ad7 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=KKAkSRfTAAAA:8 a=u-biHsxzOdRIXVMzAPsA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: aCacYGr1a__Jr2d57hNNEAdlW0KMGqH7 X-Proofpoint-ORIG-GUID: aCacYGr1a__Jr2d57hNNEAdlW0KMGqH7 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-23_04,2026-07-22_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 spamscore=0 phishscore=0 impostorscore=0 lowpriorityscore=0 adultscore=0 priorityscore=1501 suspectscore=0 bulkscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607230167 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 fc155e0d1870cbb7e099a2c4280f9f8fbdf6cf15..ea3df28e777f99c0532761b6aee= 6807ab23ab4ca 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" @@ -426,8 +427,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 /** @@ -892,7 +893,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); @@ -922,9 +923,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) @@ -1120,14 +1121,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 @@ -1140,14 +1141,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) { @@ -1316,14 +1316,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 */ @@ -1389,8 +1389,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 @@ -1424,7 +1424,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 Fri Jul 24 04:54:30 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 391C2476691 for ; Thu, 23 Jul 2026 17:09:53 +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=1784826607; cv=none; b=CGdBM/YV2idhpWhVUwDhhrzPCCMW7OD/5VOcuWgnVy06IcbuzgidNvrm5FQopA9OAwBxYH393U2+xTmhl4CfnLaBzc/gkkYJZDSnH711j9GmLdEZ13IdnBfhUlAN650+j7tcHWinYQJcfnC4lXzJLBxn71U4eAZHK+0ILWCziwU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784826607; c=relaxed/simple; bh=1Q+aPsoEc8W4PfEahFbzsFEdkzT9tiwxUCi1Nvr+Dts=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=q3lBRPjswcZ1GJkJtHkuOY40mqbciF2UojUt5GfVs7CT9pPYLChlbf2ZeOJafe9Kkrr/M/nJ9Ur87mBr6Ock6TEZci0NWeJyNtexB7GZZ6i6Gv1/rXJNTSsDDXZS2zP5z/7s/vhj/EFQbKGwVxVK73KT/5pGW9mSSc8+WaxingQ= 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=M3Cyl69c; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=iNqBJ5Cy; 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="M3Cyl69c"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="iNqBJ5Cy" 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 66NCvh0x020986 for ; Thu, 23 Jul 2026 17:09: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= 1SQ6fBG0Ah0G+Ee6NE98a2a6c+tVDqglySr17bUd1/A=; b=M3Cyl69cXgWU+3dl 7bZAy7BvT8ATtm3EmclgD+SEr2bQw8cSOVLhtaJhn7ZSSkX73hw1dOnFW1crM8v6 HSzMrM0ZOVdDwOA1cewEqzMubBtGJ5VRXHFeQ4XWK9udOO+vobgj1+UwA0d8zRX8 1XpLlV4R0vPns/pv2z0LPcGynJHMdUfXSvbkET7ky71A0qo517tubAsyBzPKsx9P Sb0EnIocFF2dkj/BeCWNvyqWaTm+zMzBtff/RLNuFwF0f1KY5mU30UwfLLKcHR0g mdoIqiKel7XyGsl0UJ49GBj+W8wcvMICOwvW3jHmjT4DP3DrrRZlv9zsUUsMUZeE 3rRtLA== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fk6c7mbdk-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 23 Jul 2026 17:09:46 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-51c1a97644aso23391931cf.2 for ; Thu, 23 Jul 2026 10:09:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784826586; x=1785431386; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=1SQ6fBG0Ah0G+Ee6NE98a2a6c+tVDqglySr17bUd1/A=; b=iNqBJ5CywxaTX5mY4NanqqB7TIT/0OY2hCsYoCOkkuToprTMoBrl8a3lZ5lo3cIEwx TBx3HWG8MKQEC7BoFBj1ltW8NPPCAg0eJq4gH89+WwORGID4fOiQXZybXvgJDjPHfFxd s7+MCo0G0hdUZ6DwP3WPUzAN3wU2oe/6uEESv/US3lIjS4B2ieb7r3Jk8BHMxRfwcsnM Nvb2STTtJo7TWiMSEvaxAbh81S3gF8mB2d9rTPx2Ac4TEVXyYlNX7yyxz0mOQATXHq71 RGgWP3ItNhgawwkOUX6UGmYu9dEjwsXlckq59EMJ7GdXryVSpLaP8298pMSTG3I+nlPA MGCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784826586; x=1785431386; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=1SQ6fBG0Ah0G+Ee6NE98a2a6c+tVDqglySr17bUd1/A=; b=cNC0emoDsrysaVCSHQBhq1oK/vEdap3Q6waYrtzunpS+jrcWdqP8z/AU5FZLL4N8Jt W8H2gMByG3a6JXe5vaGqVMA842U8wY8kXgjmYIXa1kb4tuqZkQbAUBO6lhtIwqALllI8 4V8JdGG6IOED5q3riI21OVx2m0CG0BkMNhV97HXhI/NGQm0BsLGDB5w6NYc8QRdkjtn2 dc97LYma81tfehclSXfFD6GCRcfI1c8H2qBnMMdlpa5SrZUU3VtSYl8x0i7rfU8FDnMW sdnyoaWBPLQbxMjPQqnpjpF8SMnAX3JZtPFcq9k2THU5/LmHS/58oFZ2SE6VX3EzGBlM huXw== X-Forwarded-Encrypted: i=1; AHgh+Rry7tAwR1xMMV4lj0TdpfwC7qTZwEdU2/jpgpDguWZbZ824J0b/YmIl0rtiNKdDn6qrL4vaE4sNvWAtXeA=@vger.kernel.org X-Gm-Message-State: AOJu0Yw5z8r7ppZTxV2jFhC+C+I14prLDmaedcg36zUD3nNa3jMAdqUL hz37GrKliX9hlUjPWVHbYSanFrxcXZmyoezTQZpTwJOxXtAEotwXFaJqCtcmBHQZEGL/uB0Hy0G c6LaLjs0/3+dgtJjg0HezrJS7HjbeGLvJ9aU0PeCS0I1hDCy0oksUpsqrO7D0gmVPB3g= X-Gm-Gg: AR+sD109BLE6km1xx9xiZVE4kUbR/zeybJ/dSQKD4ZYniezvZjk4yKXCSWk3T8ZQ51r kObf7RuQtCGfhHkNFpT4yJOl6o188woKjuT9ilvRz48EwLjhyzQXnqx4RraX2rqqxAHyqNCW5vW nL0m2lU28maFCQmeNT+b2wzH+45vIy8oB6CPljE9WO2644FGlv4Uxoda+tFkFH5VPuhP3zHhiVg bjW6V7VpkcV7L8sBbThkxoK0bAHQTnkjWjGgpMvedrfEbVCCD1GAR54aQ+KK22hYkjHhTdM6/KF pol9dn9mIFnk8dOAR3yiieB7Uv7g9Pbejckzd7nGmlj/vxR57iahczk9rfH5wk0i9I9f7YdITcI yKA/I1dW5QONz1aeyqjDwfZf98Cce X-Received: by 2002:ac8:580d:0:b0:51a:f94e:ce51 with SMTP id d75a77b69052e-5283ded5b72mr32348681cf.50.1784826585690; Thu, 23 Jul 2026 10:09:45 -0700 (PDT) X-Received: by 2002:ac8:580d:0:b0:51a:f94e:ce51 with SMTP id d75a77b69052e-5283ded5b72mr32348161cf.50.1784826584952; Thu, 23 Jul 2026 10:09:44 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:cd9c:212:1357:7832]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47f85b9a64dsm18472999f8f.1.2026.07.23.10.09.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Jul 2026 10:09:43 -0700 (PDT) From: Bartosz Golaszewski Date: Thu, 23 Jul 2026 19:09:10 +0200 Subject: [PATCH v24 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: <20260723-qcom-qce-cmd-descr-v24-4-4f87bb4d9938@oss.qualcomm.com> References: <20260723-qcom-qce-cmd-descr-v24-0-4f87bb4d9938@oss.qualcomm.com> In-Reply-To: <20260723-qcom-qce-cmd-descr-v24-0-4f87bb4d9938@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 , Mukesh Kumar Savaliya , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong , Vignesh Raghavendra 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=4322; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=HGeQqzQf8+DrUa/4bzOvLohFWS/bDVC1MPHUwVaBFAE=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqYkrCvDnscYF5kUf6Mp/2eDen/yDbwikQKtft1 KTtqtdDMMiJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCamJKwgAKCRAFnS7L/zaE w6OuD/4zPA74drmfeqhUyo1KEaxXhhhdfBx0+mCETQAaXZVxinzUTtMU+cYKtozIiJYUIMZKNyB 1ZsCFc/FE+fv1NUvXZ9a4yxkzuvG0Ec//565pchVrOHrPbjOs0yiM3JpMYVVumzriF2lREehVEj Ia7f91E5ODhFX6Yccp2hApR/40AM27icIGK9J+2fbozO4SyXtiVPv9aV5sUtVYLfm5tEjvz4Ghc yxvd5wJnqscNrNy02SUj4U1doUnv798meLMxu+uHqa/ai9BB70qToYFzK8dlMiLdn8GgDD5KlPA 8HCHp1pmWtZZjXrVTtYxOvJzUNyeH7aDieBtPxWhUzbwX518OFObCqa2lLcdQSbWDVPUbhsNZUI 1M9SBkpgVDrCeKWEcMU8baGVJhZq4wTjR11ZveOQZSueF8lwVvJkTqDjlURRM8gxdqaraZFHhQ0 IA8QA+VGg0Pge0nSFjOaOCrjGwnP4r/ueMLWWXj2oB4Qh4xRtCtDJJhcceohh0Ntz8QerbEIKfw 0ebYD7qKfqPMJMrvf2Vy9b6xfTY7ScWG/523eJsfdpDYYQB5tMVMFTBBc/CbIA54zGmq760eEoQ lywH38YJ2y34AkORmBVzyQQup/qNHWjGED4lBcETXH3GG9ycdgNS8E1y6j0bB34yCPvGQ5DuuMU sgMmdCddSoiSchQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: 3l0FxGhDT_2np9lMBvj5ds1MRF0CT1EE X-Proofpoint-ORIG-GUID: 3l0FxGhDT_2np9lMBvj5ds1MRF0CT1EE X-Authority-Analysis: v=2.4 cv=baZbluPB c=1 sm=1 tr=0 ts=6a624ada cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA: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=ioP1PY9e4_dTeLeN8ycA:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIzMDE2NyBTYWx0ZWRfX0FPCoDwMtHrH kL0rEWQFZsWHLqxr5Civ3WL4USbzi5K2qQvH+RyzKXRgKVYz0l4HOH+VaOTYkhSLqCHN2VAsQTF GpIlVHLb6vOeTn9NXz/A/ZxoJbzGKTY= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIzMDE2NyBTYWx0ZWRfXwmM1KtTmWFad 581u0Vy7jf+NIZ5prFfxflEZOXKYU3tjp5SAQoBhlKEjgSYoWFjDx/hemd7ET4vZU0yyGHimsgB 05yKM4o2fKPzTv+GA7VOBFEY68ul/QaPTUAX9ui6kNKHhogHcQEcVgy4Fom6LhqRACupWyrOigO TWwVnXU8JmgOl9nzMUltLYwgenRLFGESumQKczAUNLfmwc6fripcNetkB2ermlo+28dj4QJ8gm+ dJNgLwJg6A4QL0eOTlfgofgB1CeQaQJ8PkB1W8y5A1ljr7QGZKr9YgaEN21YfvIi+OwLRIP9WdW B42sABO8JzcQoMV/7SakK+3422YwacooXjC4SQk/ASq7CcjRQjeYT8zW6fnfL8Pb3oDlwNIZgXF 8QZa5pZwmaTx7E+1wWxQzChpe6dyHAJe0njU/I/FSq8/2jOL4vaiBqLkVIFTVFfeqsbX5IBg1rj 8kAwV7n38llf4Z67CRg== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-23_04,2026-07-22_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 malwarescore=0 lowpriorityscore=0 phishscore=0 suspectscore=0 adultscore=0 impostorscore=0 priorityscore=1501 bulkscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607230167 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 | 34 +++++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c index ea3df28e777f99c0532761b6aee6807ab23ab4ca..8ce0fe085c5fea6cc614edd692b= 5cfd264b94d5a 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, +}; + static const struct reg_offset_data bam_v2_0_reg_info[] =3D { [BAM_CTRL] =3D { 0x0000, 0x00, 0x00, 0x00 }, [BAM_REVISION] =3D { 0x1000, 0x00, 0x00, 0x00 }, @@ -229,6 +245,10 @@ static const struct reg_offset_data bam_v2_0_reg_info[= ] =3D { [BAM_P_FIFO_SIZES] =3D { 0xC820, 0x00, 0x1000, 0x00 }, }; =20 +static const struct bam_device_data bam_v2_0_data =3D { + .reg_info =3D bam_v2_0_reg_info, +}; + /* BAM CTRL */ #define BAM_SW_RST BIT(0) #define BAM_EN BIT(1) @@ -422,7 +442,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; @@ -440,7 +460,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 + @@ -1234,10 +1254,10 @@ static void bam_channel_init(struct bam_device *bde= v, 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-v2.0.0", .data =3D &bam_v2_0_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 }, + { .compatible =3D "qcom,bam-v2.0.0", .data =3D &bam_v2_0_data }, {} }; =20 @@ -1261,7 +1281,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 Fri Jul 24 04:54:30 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 3B4AC476696 for ; Thu, 23 Jul 2026 17:09:53 +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=1784826606; cv=none; b=rr4u56KiMQf4tIluu39Ivv6OgDRa1vZGj243KX5ulonAyqUQIhZZyLam1a9JtTDUqaoGS39wCOvkO8kNycGPkDS0+j40JSUgb/nXbFB6T0pwE3yRPApWq/IAWm76VB2qbmpgn+HJypkSMeFI4MYK0duTaSw5iHj8Cs8BO/WJJEM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784826606; c=relaxed/simple; bh=zHIuoWgA0JNzB45qmsTvX1DiRfFAkkbG2L0hbAcWpaw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=JeESMOcdrRoVmm0z4a1Laq+rRrMnq9gWUNPYPJClULgKLU2pxPlcajthct9ATUsoTYDo0lv+8FtqCqSdRnXnzhWI7c4KwGHuzyZWcohSWlKf79mnkvI6iHcjGdh5BgxHeUY6rQUAwC4r1FHxR5BspnOKrIXtSg+xngZvIR7J1eQ= 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=jbWY6Ab0; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=BWiZ3XeR; 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="jbWY6Ab0"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="BWiZ3XeR" 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 66NF5KrR1325727 for ; Thu, 23 Jul 2026 17:09:49 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= d0wSBB0zdvgp8nv5/qOGe9s7Ri2Cp1uCk4+HjNdiilI=; b=jbWY6Ab0LtE02a9k nzQjefrQYoPi8EB+5t07GosHgPVpg+XeBafY6+2+mZznmiqxx77/3VpDk/4N0Gw3 KqzBDj8cflM9Yt9uDgGmcUUhjLvlpxYLNK/iDRKtLt4nFoRSFVnDtnxqKn5LVDgu 6ua/VJNZtouLLm/2zeWe+TzSIKiYFVBRtijqrUrmaCimoC8cZnyKfrUYyTxhovwJ wZxp5RuR17twKADvSgyL4qacYziebU7z4tiUPyvHlUMFOL1+W9ocBgwYz+hHh8zN LM69bKCDC8R6cDAQy0PiGhnNar7I2bwydhxkit225EcxIwIMGUOC/4I4bUQ81efS i8KunQ== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fkn9a0mx9-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 23 Jul 2026 17:09:49 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-51c26012cd0so15431591cf.0 for ; Thu, 23 Jul 2026 10:09:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784826588; x=1785431388; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=d0wSBB0zdvgp8nv5/qOGe9s7Ri2Cp1uCk4+HjNdiilI=; b=BWiZ3XeRRCyeKk5LBxYCMXInuOv7cPouL0zERorKnrvekxRyNAM/Suq6ou9ctXRYJ9 /OLgOmOaoNKmt2Bb7v3kC2dhrhTdmAgtq5pI4cj2g0zxOhXp2wjIR1G6Yhwi3r4vdGIB iXfC9tfz7VE/0FzWVNEJs5aF817buiC0lUAe2hc5eY5kf6nFCFbxp+9OtJvCiF3KEtBg HTnlgiUr+gJiHVtudrdvCQLhC+EQDbjs6UK46xQNCwaqTbGHKXlcS4rm/GLnXntwt0rS E9pg8QA23hDV5HWYkl+qukaxlrd6AxWovby/MtAjWNZQn9v+yidLZiqb/bL1HyopWZdY CUSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784826588; x=1785431388; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=d0wSBB0zdvgp8nv5/qOGe9s7Ri2Cp1uCk4+HjNdiilI=; b=Kkvbe40G037sPpLty1ZQ9AelliQKirPynUYF0KOxkNpewSs8SBZ5dlSMYCgikYGyKr kAkbJZmWNf3RweauJv9xGuK1NpqQZ9GpLuuRovKj0OaOo24vjbbGiFU5XzM2cS5JTme3 PKlsoAMszmsZdNyDBGOR3YAJJBmeHI1RAtrRRyLCMVarlHjnLzfo0uWAHU6GsHZVYf50 TGAq1TOnrSxpGxQVh4aR6B4qJLzukpg8t8r0VK2flbDSIpzdnmGfnL4UYpx/zJ84RKtN wlssTYbUEWHo8k2nLmFo7UD/X2abxm+dMOfN8eu7psk5z86pLwmD10N7ty/XtajSAxTU 3JJw== X-Forwarded-Encrypted: i=1; AHgh+Rr6ThH8MnK/aS56mFZKQug402E7DDG3Jjlq/Efm/Z9tuc0VmCF6FRHP/P2TUwJYeKykBeDxbEHHXITw3ww=@vger.kernel.org X-Gm-Message-State: AOJu0YxUpJ8a6Wx9OkENORWI2ExoVF3zw6cW0y472yBOtPBEDgcIJplw oloxSbwf/hrz11YhHOzvWgmE/4R6i6GncVHt6pwiCNudwl3W60i4krBHdipSRfO23D87M8o6VRf oXRJMwwRAF7kMCJE7hJLAK2s/aPX/nN2FIXrUhrrv8AzFZ419q33DjEfW3E75NDazWvA= X-Gm-Gg: AR+sD102HIfHxwu9Y4UH9jj3OmKoEV4pSt9lSQbzx3rZuhmQ4dQpM/taB0fxBZ8TDfT Gz8I+6lXoxMP6IS5P2k9h+jllfzjqxBuyH3B91OO1dLFqaaaNrC2RD3c9bbj9ECepRYtQdolGuM 4sNWsznQbLI5pyrvl8lQf9VK2MxCNCuKHNBErKpkLOXk9SQncq9aXhe91gjz/kKhhxnFU/obppc RVy2xIM1xFfKskFFFxHRG9VO9LCXOUAiogMv8v1SkBgSynIyR1eV6eOpt5+hTPPhr748cNgdIlp xka3bY266/kDmbsbK0OqEh9q7BhsfG8EPOmrPywbEJjrnoclWyk4tdkiaqOKCHrbMvUgOCNIKRy ztMf6FBonI1KjQeGxxvoOm97kicnR X-Received: by 2002:ac8:59c5:0:b0:51b:ff45:bc82 with SMTP id d75a77b69052e-5283def047fmr38941531cf.54.1784826588183; Thu, 23 Jul 2026 10:09:48 -0700 (PDT) X-Received: by 2002:ac8:59c5:0:b0:51b:ff45:bc82 with SMTP id d75a77b69052e-5283def047fmr38941091cf.54.1784826587612; Thu, 23 Jul 2026 10:09:47 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:cd9c:212:1357:7832]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47f85b9a64dsm18472999f8f.1.2026.07.23.10.09.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Jul 2026 10:09:46 -0700 (PDT) From: Bartosz Golaszewski Date: Thu, 23 Jul 2026 19:09:11 +0200 Subject: [PATCH v24 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: <20260723-qcom-qce-cmd-descr-v24-5-4f87bb4d9938@oss.qualcomm.com> References: <20260723-qcom-qce-cmd-descr-v24-0-4f87bb4d9938@oss.qualcomm.com> In-Reply-To: <20260723-qcom-qce-cmd-descr-v24-0-4f87bb4d9938@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 , Mukesh Kumar Savaliya , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong , Vignesh Raghavendra 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=1807; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=8sCOVL39BX2AFiqeGpscXeG1puX7rtAOjEFEhJGJOUQ=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqYkrDbgCD7phY3Uv4PgeKzNuMgjyq16Ha9+jE1 ekzU9LOXVGJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCamJKwwAKCRAFnS7L/zaE w+rHD/9yY8Gd9PEPIebmnnDAMTNO7Rfr0HVIH1hqo3NFdpV50y9bf0qKCMa2PDllweAqWysUlsY OM1NNzPNAWSGRNk1un67WeGOdEujiXoEF0mHT5EEvurrs27xlPeK8gO/ycdhD1ITNgYTjcn5wFE m28QKupJzTy0gooQsgasLhB08H7e3qiNxMI3TIKAMHSjKe1HoVUUaGDASaeMI+8+KO4zYWwCEk8 7AalLfGQQG6V5RFZwCRBz9Czy73VQUFYOBljAzaxbEQSESjWcbOS6nMRTWOjAivZ92TBD945u72 OeRV3Iajr1NzY/pfxj2THL2OSgDY/vLWmHjCNhobH7BB1c4/L6JInUkkPYqrrtYUuH0LMp4dh9A rJZyzrldxi7rb0gMcl1JPDwV8u4UXL8m7HPWtmxhL0k7XdFvWAwnu78a/3Iv5Zgy2/wM9MYqXJA T/v6H2qhj27EiUL0+t/f8mY4/XoGRbhHK7jxHl0lcpwRguq05Mz4d7QM8KsJL3aL0lO8YFW/kmV wapRqisIrziTVCTXzGNgP4LZbJS/fF4ak5vMsydCSF8pSYZJU10KhsvzjmIvyiQ49duNj2dyOh/ gplxjZCjqgVJI4OUoG2ZXWShjuh6hU1bF5fMds1QxiQyKf69k3ggq/APrjwnAZlZ8VOfw28zdWt wYwCJoiKU6E2AAg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIzMDE2NyBTYWx0ZWRfX1YHmTURFP7PJ KrE0BQZUFf+LNHXfERnzJXQGSZK9ZT1oXkZb7kMHnaFWVo90ReweVolwS9lkS2v2FWS8zal6AO5 2FuewkOnfb7JufTkfPyTygJ0ax1YIbt+IqdV2cSe1rfxzIf67foEYFYKwQMXhZKLJHD9Yy4WL5q yhBAtlY+8We+hFCZPUztoAmHNz98YPLOrCQOI0H5gGmUdJBeGbhkoIubaQ8diTd5ngHMtrdCUIZ aCiozu3Qft1ehxYD+/5TrdKKcoIN53D/7vSSzn6KxUBfICJK60TexZ8E/82HJ2w76WwHB5/SZog 8AZDYz3qwnrl2743cX8GVFbkUSY0qgem5JewrY0LGXAgEQO2FN0Xm1tGvC00m+X3o7JIBZd3lbu aop2rXTKMx7zyWBZzehXL5EYAsz4kEAx1Zck7i1V8hNuYAQ5pjSpZiwxOn9FgrxAKs0LOgeYfIt QCcbV03Gk/zNjaFKU2Q== X-Proofpoint-ORIG-GUID: 2A-C-tpja2JShIxlFoNXVh21E5CGl9on X-Proofpoint-GUID: 2A-C-tpja2JShIxlFoNXVh21E5CGl9on X-Authority-Analysis: v=2.4 cv=WOdPmHsR c=1 sm=1 tr=0 ts=6a624add cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=VwQbUJbxAAAA:8 a=ZSnkYuKn9ZpO9KHknGoA:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIzMDE2NyBTYWx0ZWRfXxRj1MNtNZZ+x 8hCDQXmjsinrSK43Gm8m1fV5oaNzQm8AgpR0OfVZgyWVBWLzs4nIdHy/8M3REXgOQGsPbxeG+qi FUVjTeC+OyUhli65nwqnm0RsS7nkLdQ= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-23_04,2026-07-22_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 malwarescore=0 suspectscore=0 lowpriorityscore=0 adultscore=0 clxscore=1015 impostorscore=0 bulkscore=0 priorityscore=1501 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607230167 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 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c index 8ce0fe085c5fea6cc614edd692b5cfd264b94d5a..f3e713a5259c2c7c24cfdcec094= 814eb1202971a 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 static const struct reg_offset_data bam_v2_0_reg_info[] =3D { @@ -247,6 +250,7 @@ static const struct reg_offset_data bam_v2_0_reg_info[]= =3D { =20 static const struct bam_device_data bam_v2_0_data =3D { .reg_info =3D bam_v2_0_reg_info, + .pipe_lock_supported =3D true, }; =20 /* BAM CTRL */ --=20 2.47.3 From nobody Fri Jul 24 04:54:30 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 735E94766B6 for ; Thu, 23 Jul 2026 17:09:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784826612; cv=none; b=G9kuNUWF7g3c9Dxlz922TiAlTMoMqFrsM4jAvTCdQ/vbkT02uyrssGLySYKixOtyN0u2zdgq3kekuJPxgTYiCf37GuDXjICLkQQLoiABdDwvlmeFYNpU1u0WyFpoFzxChLoBIPPG44abC7LhdYASx9kWZ5uMANlEorUY/jud18I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784826612; c=relaxed/simple; bh=PfWCetNllimOpOUBKWykny5pkd6KZBQfqTfxQ67v6/g=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=XCuEyGHAfHkvvAge4HPF4UeWtAdQfrf2g2rakpSRT7b+La4sooM2QGEvq2hyuesR9hY7FL1p1al/ONePxxkW+BPvkIBEgdfW4ooJWry9f+eIWZh+GNcrXKUwNIJBk6Yanz0RHJbvl0LVQvuaW7930pVcZSfkoP5TyEZcbAMlVRM= 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=bo/CTYdd; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=A1O9olbo; 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="bo/CTYdd"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="A1O9olbo" 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 66NCvSeo154385 for ; Thu, 23 Jul 2026 17:09:53 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= ejvRUKxPi/Wn/dhDhMVWcTvyATRa/Q77QtBmpujdjeI=; b=bo/CTYddYan2ADEk 7R6sCDJb4sICpPe75EE0cr7PPOKHOggrObyM3KGTrjDB0NKK7eD5UmzOFJE4tIjm 7Ef44Gbq0mqmgHUN8gC7qAUlO0JJHbnHnsf8fVK5O/0hjCmg7NIIYBkgk+tXVqHV 6fUJRcqZzYW/P7G6JOSW+MlqsrD7//fN4pZxm6q713ySSE2Sxd6qGfctQMY1rV9b OUwNm6Y3E5mTROMlJ3iyHaVb8Jo4oaTnAPbNXqVfMg02ZZjseT5Y+FmRpz3UIqsy rbiqQ6uWcY1fyUh3Ui1zHCG/6/6B/QEcA+JZrOsPHmd7OO0SGUcW27YVbdxlhAVy ln1oyg== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fk7b5462p-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 23 Jul 2026 17:09:53 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-51c110a3b6aso13178241cf.1 for ; Thu, 23 Jul 2026 10:09:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784826592; x=1785431392; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=ejvRUKxPi/Wn/dhDhMVWcTvyATRa/Q77QtBmpujdjeI=; b=A1O9olboyUfmKi5HIViy/ty5Av4nW6IM1xNDYP0J2Q4KRKA71dI/NTFgu2tYvMOkKm dlqmskamysy+IGP4RqtC4nMPga2D6qyHv2M/rwtuFL+dkYdXNLM4WKDF+JFn8fRlJVC2 id6R7XdFnf4bs/Bsx/1Igwt3JexHr88gf/Uq4yuJ/MHHaOZrKxm4CehkoglEon3C1jYe QQ+bNCs/3ZVA+CTtZeZudImY1z1YHK3OTvOywGI9dcNXSp9lzLG8XSptHSy5VoKO/syY C21SEQENx6GG+fNaX+MnWOvWDo1sKc1JIUFwXzfN/b/RZ3wJQ4s1kcmLu1rPd/l/C7vh cAqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784826592; x=1785431392; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=ejvRUKxPi/Wn/dhDhMVWcTvyATRa/Q77QtBmpujdjeI=; b=qgrMVqlNhu3sVlIOcb0ZufD0cQXu2kzr511D6kNh6ie+jtqfk63J9g+3mOz6bxxYlA 7glVOEPUtjs2SWtbS9druD3Kcy2V7ggf8knYXEeYxkSGdEkpH5jLR83CkHt6h9NjiVR8 CiHOBrseZD6FlKNuoW4koPRec+enfNbMKc7XJye3r9Jp1mY2NmT3qSRF2Up+PvCJGk+o LIyoi6PWcB/B8hI97TFrEpt67Zefa8cYMNDNmgYfUTArLukODVfOGdOSbx+0869WEu1/ NPb+BKPR243bjByFKzchePPQTQOwkcNVjkEwmS+VvObZrkE0d4AsaNRQvzKWxVicOo5C l54g== X-Forwarded-Encrypted: i=1; AHgh+RrI43TePzlwO8I04VOOFYoq9cPndbQ3Rb8I9fexjc9BpHLW9lgjkFxQnKfhEANZS9nAcFIcGtJ3auwIw9Y=@vger.kernel.org X-Gm-Message-State: AOJu0YxArmagC7qX0SLEQUrC9OdBrKxEYDyckvHWYKNmOUCl2x7TaAwK BtrLZLPqakML+GxXNeJFovfKxiKtyjYcrG2chw3Tx5+1wNsI4s/TsH8nAEBCSY8XgpDjGcqWnWJ dY+WtSkGFyjb/h/rSC45wx/vqZf/uL5N35OIqCNSgeV2ECpI6xa61B5fq+0vozBRcYPg= X-Gm-Gg: AR+sD11npMmv5J/hkE7uKdb+qIEPvG5rElgN3fN79B89fngA5IgPYIudwXW0qImlRN8 rZ//znsFMKhsM9pjsgGKn2WISUf/ZwnHvoWATSGAitSCW2M/9UoKUyPHxGDSnwLMu5hKTYULiC8 bmXIvxphl4ma3YUmUh4GC9gCOGxPcVfvv3jfkIW6G31QbclDBE++8GJL2eVBc1fYYk9HEvWsnBn 7R9OXAkhGChg+3+knb3iTHwSJPULpY+sA4YmMdDgIjkNkIX3Jr0SrwE8PgRda14Ffyc8kZjIJKb GkYFZKpxMndp7r4whoKtUoHG28YxbKq1ufgOZS8AnNDaDMGRE36MiPBsg1FIcamqKcQYUrMMEWl hAww8kVgHa/NvzoovBX0KD7N0hJ2z X-Received: by 2002:a05:622a:997:b0:519:5680:1b5 with SMTP id d75a77b69052e-5283de4650emr40055251cf.21.1784826592176; Thu, 23 Jul 2026 10:09:52 -0700 (PDT) X-Received: by 2002:a05:622a:997:b0:519:5680:1b5 with SMTP id d75a77b69052e-5283de4650emr40054461cf.21.1784826591671; Thu, 23 Jul 2026 10:09:51 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:cd9c:212:1357:7832]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47f85b9a64dsm18472999f8f.1.2026.07.23.10.09.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Jul 2026 10:09:50 -0700 (PDT) From: Bartosz Golaszewski Date: Thu, 23 Jul 2026 19:09:12 +0200 Subject: [PATCH v24 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: <20260723-qcom-qce-cmd-descr-v24-6-4f87bb4d9938@oss.qualcomm.com> References: <20260723-qcom-qce-cmd-descr-v24-0-4f87bb4d9938@oss.qualcomm.com> In-Reply-To: <20260723-qcom-qce-cmd-descr-v24-0-4f87bb4d9938@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 , Mukesh Kumar Savaliya , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong , Vignesh Raghavendra 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=11494; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=PfWCetNllimOpOUBKWykny5pkd6KZBQfqTfxQ67v6/g=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqYkrE1DwfOQgN7MQQ494QYqLhOLXnNwt+6mdBl YiD45w98kyJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCamJKxAAKCRAFnS7L/zaE w1QzD/4rQ6JNctSRIiKygQdFG5YQATE2b4dqnimtzlgoDbNEjTNLVg9MMjQgYag6o1i/t/lbW6q DzaZa4x4o4VnkI3PBJRnKG3irTsUYKXb7sAtgzhBPNm7q/xa6hyZoUdBBf2puECKwwWr4bBRlWh GAWci5oyDjFhV9MV1n6BjcihpHm1F0iQCVI2FkFJipjSuT9GQRdtXin5WLLmm3o9gXd9h+5ejWg Hp0T64nA85wvjtUH83YKKatAIE/BJ7vDOChypmJpZL7r9H+17/+CJ8sEKMPwMW9rSJl4o0XSP4t 6GaprcBWX9VRST5/MmSoiW7C/MB42BNmEtzSGMbtGVII/UJUIMqDT/8o1anSGZsMOEkGhhyW6jQ iQlSvP+y8oQoRyU4+kyobRu4pdBz/hBwRd/guN6rL6ZqoelrO55C6hOTW0VMPJFZEcJGsGGBK1c d4O9Liab6VgiUzRr7uEyQRozxTwBPi6ouK3U57GD7MAiCNz00dM0FnmQcpVXCEmwtXJrXLS4Xi2 iTDCOYozdbkgUWwTHz070hH8bmU99BuADe4ngynD7yMxigycJUr/6ttycCoLgwsFABeGzVwWF+J vxr+BU07mLilNxWq8au90+9P8wx5QfiH5MZZYV8MJOVHjRm9Zd+tgomdalS282olJwOyomqmWum sd2kcP6NONB6dXA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIzMDE2NyBTYWx0ZWRfXwr9k1k6DPreo 3eX+65Kft9El3J88uHNIDpK4GLmoNqJbrAyJYUCu3Tx7WA76KWz2ZzuCoe8uW/QMGUpZ4H0A+MG slMajjJahAgyTSfvl/ps75G9tBFoNCM78CFAmncIKedElGnnQ5MaDCvmxVm2TCMP5XIAZ5gzVTY ARC6ochpDyGDZ4oIFpS8SXbkP+SYaGHFn0QOsPw/7Gz2GEK3gFn2KBDly6Z8cL64GzVghydsCtO 7U0gIHj8+bFevaZvHdJrr2dTTEyVH2tpq4TtXqai6VFRyNx/dYh/39C90klKp9ynDlxT7nwnC0L UKmamhC8wkw+ndggCRaR786RCC+rYXr+tfxAJEUV5bC6pz1ec3v4i+KC8n8IU5spqIc8+8MGb/X Ba+8YfQEoWP7TdbWWh+sP8qS9SjpNAiCED/KSLIEQhwN0jh271x1w7PTrmEVx5kAWWnmJ60fUjs 4lsFm4wsgDQx16zr2Kw== X-Proofpoint-GUID: ERZGW6AgWYMTKE4gcCOM0thHmq494gqI X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIzMDE2NyBTYWx0ZWRfXzNJ0ry6u4pKz nOdStdXfu2I3lBPa1QvzOoQCpgoinqz+7g/dnpMpu+8br9FqsYfT8qS+6OOfFtVjXcAXBNE45sc 6S2VfNU17u3imdq52Sdl9NfmsjdFt7s= X-Authority-Analysis: v=2.4 cv=btx8wkai c=1 sm=1 tr=0 ts=6a624ae1 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=VwQbUJbxAAAA:8 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=ajFzEv-yE-Ol-vb9n_4A:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: ERZGW6AgWYMTKE4gcCOM0thHmq494gqI X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-23_04,2026-07-22_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 malwarescore=0 adultscore=0 lowpriorityscore=0 impostorscore=0 phishscore=0 priorityscore=1501 spamscore=0 bulkscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607230167 Add support for BAM pipe locking. To that end: when starting DMA on a TX channel (DMA_MEM_TO_DEV) - 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 slave config. Reviewed-by: Manivannan Sadhasivam [Stephan: came up with the solution to write lock/unlock descriptors directly into the FIFO] Co-developed-by: Stephan Gerhold Signed-off-by: Stephan Gerhold Signed-off-by: Bartosz Golaszewski --- drivers/dma/qcom/bam_dma.c | 146 ++++++++++++++++++++++++++++++++++-= ---- include/linux/dma/qcom_bam_dma.h | 13 ++++ 2 files changed, 142 insertions(+), 17 deletions(-) diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c index f3e713a5259c2c7c24cfdcec094814eb1202971a..373569c36a94e149d54ef041974= b11018e634669 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,10 @@ 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) + +#define DESC_FLAG_LOCK_MASK (DESC_FLAG_LOCK | DESC_FLAG_UNLOCK) =20 struct bam_async_desc { struct virt_dma_desc vd; @@ -425,6 +431,12 @@ struct bam_chan { struct list_head desc_list; =20 struct list_head node; + + /* BAM locking infrastructure */ + struct bam_cmd_element *lock_ce; + dma_addr_t lock_ce_phys; + bool locking_enabled; + bool bam_locked; }; =20 static inline struct bam_chan *to_bam_chan(struct dma_chan *common) @@ -638,13 +650,22 @@ static void bam_free_chan(struct dma_chan *chan) goto err; } =20 - scoped_guard(spinlock_irqsave, &bchan->vc.lock) + scoped_guard(spinlock_irqsave, &bchan->vc.lock) { bam_reset_channel(bchan); + bchan->bam_locked =3D false; + } =20 dma_free_wc(bdev->dev, BAM_DESC_FIFO_SIZE, bchan->fifo_virt, bchan->fifo_phys); bchan->fifo_virt =3D NULL; =20 + if (bchan->lock_ce) { + dma_unmap_single(bdev->dev, bchan->lock_ce_phys, + sizeof(*bchan->lock_ce), DMA_TO_DEVICE); + kfree(bchan->lock_ce); + bchan->lock_ce =3D NULL; + } + /* mask irq for pipe/channel */ val =3D readl_relaxed(bam_addr(bdev, 0, BAM_IRQ_SRCS_MSK_EE)); val &=3D ~BIT(bchan->id); @@ -676,10 +697,51 @@ static void bam_free_chan(struct dma_chan *chan) static int bam_slave_config(struct dma_chan *chan, struct dma_slave_config *cfg) { + struct bam_config *peripheral_cfg =3D cfg->peripheral_config; struct bam_chan *bchan =3D to_bam_chan(chan); + const struct bam_device_data *bdata =3D bchan->bdev->dev_data; + + if (peripheral_cfg && cfg->peripheral_size !=3D sizeof(*peripheral_cfg)) + return -EINVAL; =20 guard(spinlock_irqsave)(&bchan->vc.lock); =20 + /* + * This is required to setup the pipe locking and must be done even + * before the first call to bam_start_dma(). + */ + if (bdata->pipe_lock_supported && peripheral_cfg) { + if (cfg->direction !=3D DMA_MEM_TO_DEV) + return -EINVAL; + + if (bchan->bam_locked) + return -EBUSY; + + if (!bchan->lock_ce) { + bchan->lock_ce =3D kmalloc_obj(*bchan->lock_ce, GFP_ATOMIC); + if (!bchan->lock_ce) + return -ENOMEM; + + bchan->lock_ce_phys =3D dma_map_single(bchan->bdev->dev, bchan->lock_ce, + sizeof(*bchan->lock_ce), + DMA_TO_DEVICE); + if (dma_mapping_error(bchan->bdev->dev, bchan->lock_ce_phys)) { + kfree(bchan->lock_ce); + bchan->lock_ce =3D NULL; + return -ENOMEM; + } + } + + bam_prep_ce_le32(bchan->lock_ce, peripheral_cfg->lock_scratchpad_addr, + BAM_WRITE_COMMAND, 0); + dma_sync_single_for_device(bchan->bdev->dev, bchan->lock_ce_phys, + sizeof(*bchan->lock_ce), DMA_TO_DEVICE); + bchan->locking_enabled =3D true; + } else { + /* Don't touch lock_ce here, it might still be used by issued descriptor= s */ + bchan->locking_enabled =3D false; + } + memcpy(&bchan->slave, cfg, sizeof(*cfg)); bchan->reconfigure =3D 1; =20 @@ -802,6 +864,7 @@ static int bam_dma_terminate_all(struct dma_chan *chan) } =20 vchan_get_all_descriptors(&bchan->vc, &head); + bchan->bam_locked =3D false; } =20 vchan_dma_desc_free_list(&bchan->vc, &head); @@ -869,7 +932,7 @@ static int bam_resume(struct dma_chan *chan) static u32 process_channel_irqs(struct bam_device *bdev) { u32 i, srcs, pipe_stts, offset, avail; - struct bam_async_desc *async_desc, *tmp; + struct bam_async_desc *async_desc; =20 srcs =3D readl_relaxed(bam_addr(bdev, 0, BAM_IRQ_SRCS_EE)); =20 @@ -879,6 +942,8 @@ static u32 process_channel_irqs(struct bam_device *bdev) =20 for (i =3D 0; i < bdev->num_channels; i++) { struct bam_chan *bchan =3D &bdev->channels[i]; + struct bam_desc_hw *fifo =3D PTR_ALIGN(bchan->fifo_virt, + sizeof(struct bam_desc_hw)); =20 if (!(srcs & BIT(i))) continue; @@ -900,10 +965,17 @@ static u32 process_channel_irqs(struct bam_device *bd= ev) if (offset < bchan->head) avail--; =20 - list_for_each_entry_safe(async_desc, tmp, - &bchan->desc_list, desc_node) { - /* Not enough data to read */ - if (avail < async_desc->xfer_len) + for (;;) { + /* Skip over lock descriptors in the FIFO */ + while (avail > 0 && (le16_to_cpu(fifo[bchan->head].flags) & + DESC_FLAG_LOCK_MASK)) { + bchan->head =3D (bchan->head + 1) % MAX_DESCRIPTORS; + avail--; + } + + async_desc =3D list_first_entry_or_null(&bchan->desc_list, + struct bam_async_desc, desc_node); + if (!async_desc || avail < async_desc->xfer_len) break; =20 /* manage FIFO */ @@ -919,13 +991,12 @@ static u32 process_channel_irqs(struct bam_device *bd= ev) * push back to front of desc_issued so that * it gets restarted by the work queue. */ - if (!async_desc->num_desc) { + list_del(&async_desc->desc_node); + if (!async_desc->num_desc) vchan_cookie_complete(&async_desc->vd); - } else { + else list_add(&async_desc->vd.node, &bchan->vc.desc_issued); - } - list_del(&async_desc->desc_node); } } =20 @@ -1046,13 +1117,23 @@ static void bam_apply_new_config(struct bam_chan *b= chan, bchan->reconfigure =3D 0; } =20 +static void bam_fifo_write_lock(struct bam_chan *bchan, u16 flags) +{ + struct bam_desc_hw *fifo =3D PTR_ALIGN(bchan->fifo_virt, sizeof(struct ba= m_desc_hw)); + + fifo[bchan->tail].addr =3D cpu_to_le32(bchan->lock_ce_phys); + fifo[bchan->tail].size =3D cpu_to_le16(sizeof(struct bam_cmd_element)); + fifo[bchan->tail].flags =3D cpu_to_le16(DESC_FLAG_CMD | flags); + bchan->tail =3D (bchan->tail + 1) % MAX_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; @@ -1064,22 +1145,34 @@ static void bam_start_dma(struct bam_chan *bchan) =20 lockdep_assert_held(&bchan->vc.lock); =20 - if (!vd) + vd =3D vchan_next_desc(&bchan->vc); + if (IS_BUSY(bchan) || (!vd && !bchan->bam_locked)) return; =20 ret =3D pm_runtime_get_sync(bdev->dev); if (ret < 0) return; =20 + if (!bchan->initialized) + bam_chan_init_hw(bchan, container_of(vd, struct bam_async_desc, vd)->dir= ); + + if (bchan->locking_enabled && !bchan->bam_locked) { + /* Defer locking until we also have space for a data descriptor */ + avail =3D CIRC_SPACE(bchan->tail, bchan->head, MAX_DESCRIPTORS + 1); + if (avail < 2) { + queue_work(system_bh_highpri_wq, &bdev->work); + goto out; + } + + bam_fifo_write_lock(bchan, DESC_FLAG_LOCK); + bchan->bam_locked =3D true; + } + while (vd && !IS_BUSY(bchan)) { list_del(&vd->node); =20 async_desc =3D container_of(vd, struct bam_async_desc, vd); =20 - /* on first use, initialize the channel hardware */ - if (!bchan->initialized) - bam_chan_init_hw(bchan, async_desc->dir); - /* apply new slave config changes, if necessary */ if (bchan->reconfigure) bam_apply_new_config(bchan, async_desc->dir); @@ -1135,11 +1228,24 @@ static void bam_start_dma(struct bam_chan *bchan) list_add_tail(&async_desc->desc_node, &bchan->desc_list); } =20 + /* + * Close the bracket once there is no more client work queued. The + * UNLOCK is flagged for an interrupt so process_channel_irqs() is + * guaranteed to observe its completion and retire it from the FIFO + * promptly, instead of leaving bchan->head to lag until a later + * bracket's skip-loop catches up with it. + */ + if (bchan->bam_locked && !vd && !IS_BUSY(bchan)) { + bam_fifo_write_lock(bchan, DESC_FLAG_UNLOCK | DESC_FLAG_INT); + bchan->bam_locked =3D false; + } + /* ensure descriptor writes and dma start not reordered */ wmb(); writel_relaxed(bchan->tail * sizeof(struct bam_desc_hw), bam_addr(bdev, bchan->id, BAM_P_EVNT_REG)); =20 +out: pm_runtime_mark_last_busy(bdev->dev); pm_runtime_put_autosuspend(bdev->dev); } @@ -1162,7 +1268,13 @@ static void bam_dma_work(struct work_struct *work) =20 guard(spinlock_irqsave)(&bchan->vc.lock); =20 - if (!list_empty(&bchan->vc.desc_issued) && !IS_BUSY(bchan)) + /* + * A channel also needs kicking if a bracket is still open + * (bam_locked) with no further client work queued: closing + * the UNLOCK requires a fresh call into bam_start_dma(). + */ + if ((!list_empty(&bchan->vc.desc_issued) || bchan->bam_locked) && + !IS_BUSY(bchan)) bam_start_dma(bchan); } } diff --git a/include/linux/dma/qcom_bam_dma.h b/include/linux/dma/qcom_bam_= dma.h index 68fc0e643b1b97fe4520d5878daa322b81f4f559..d18fb59bb3bba9d67b439896aac= efbcf0c64fba7 100644 --- a/include/linux/dma/qcom_bam_dma.h +++ b/include/linux/dma/qcom_bam_dma.h @@ -34,6 +34,19 @@ enum bam_command_type { BAM_READ_COMMAND, }; =20 +/** + * struct bam_config - BAM DMA peripheral config. + * + * @lock_scratchpad_addr: Peripheral-local register address to use for dum= my + * write operations when queuing command descriptors + * with LOCK/UNLOCK bits set. This is not a system + * physical address: BAM command descriptors only + * encode a 24-bit address relative to the peripher= al. + */ +struct bam_config { + u32 lock_scratchpad_addr; +}; + /* * prep_bam_ce_le32 - Wrapper function to prepare a single BAM command * element with the data already in le32 format. --=20 2.47.3 From nobody Fri Jul 24 04:54:30 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 849114766B8 for ; Thu, 23 Jul 2026 17:09:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784826609; cv=none; b=mfifkwt7URLLqnJcHIKhyWpyby3+/zlDcG554ZXLAZmCJxqCRut7rwIEVSpmvA1rvJnJuGtuG2rwzhRcjzGKeoNhINowqHG1DWek9Dif5VNreF8Tc51uldU1OLYtf6KbwCzwarOGoZnug9nIvsgYTlmvftiO1Xt09NnITuCGY+M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784826609; c=relaxed/simple; bh=NNnz6awfeEqmEC/yqDO0GWP7yizfp6R665Mk39/3FRo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=lCVpa9O1fGZNPNdrTkbVzEICqQBaf7hG91CcF/tEAagt7AJgZdddPU3N5Ai7566iqVyJomIG/tEmMcTQH79wBHisov5G2A31GgqGooBGzbFC3jpyd+L9RwCgwXkl2LYEBnSkIkYzSjce9lFE4kZJHZU5YFpNT+IzmE3UDoQLqps= 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=RuQZ6qnc; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Mtycc4vM; 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="RuQZ6qnc"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Mtycc4vM" 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 66NCvSOU154398 for ; Thu, 23 Jul 2026 17:09:55 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= U1qOoj9SQUQgxQzB/fcCsnUQs1r8P8lLj6KzEKTr4FY=; b=RuQZ6qncLTOl9oSR ntR2U4RL+S8vxLh8JksY3Ebtk7fUx3Pf2qr24/BBqcSv8WFagXcE1ZaEWivY89N3 PoisljpFl6pB7m8+WbmUWrZ/wPa3uqzPJpRyXplT57kHRk/1SULaznRQx2Q4OYwP Y+YrZzuk0W/J3zSmeRjIW1i6q0RQAfuCQsCfh5Ot1A4YirbVpLxrHRv6Lu7LXonl bY1IY2bGeQnR5YfCNLUSo5pJucJFko2Pz8LWkQJ4RN9dJNL13iD6WDZvv1fQo/1Z GSXzqFqqO56eD50r2J0LwKdt0TBkFQNylPUQtNdxCEaGsqgLL6lR8tlhIDdEhyxe 8NdMIw== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fk7b5462t-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 23 Jul 2026 17:09:55 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-51c083f1818so15634631cf.0 for ; Thu, 23 Jul 2026 10:09:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784826594; x=1785431394; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=U1qOoj9SQUQgxQzB/fcCsnUQs1r8P8lLj6KzEKTr4FY=; b=Mtycc4vMfk3eXO/wiF/whm7PResZhWNkt3vmt6gPdtrp/iDIeDGPdVhebZulJxokCg dYVkFkMPhBrKsT/B5g7NfY3Z5CJ83TPwSMCfVotHXrp/WTRHN3c4dUWRH6kYUInkK4cC 58X3ZXMIuLdRErLSJ6yf8RmNclJ0oanLZXeGENlH2yOGjahKxTzq0qzy/Zrk1dyg0jlo beyakqzDrwetsrdt5nmv9dtLvn96aSJAdBvlNZ1kEVObuYYHqjU2X/I3hUBs/4eGNftY J7s7gARPDhRr6AjfR55+hVVl5pvQex9bX7dmNme/w7v3bUHbczpZ7CnemV5rOw68iVqO SObw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784826594; x=1785431394; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=U1qOoj9SQUQgxQzB/fcCsnUQs1r8P8lLj6KzEKTr4FY=; b=eBbZFfbli/IMfuclVkHO+nTH/A4j9GotzH9traqnNdQY6e01oUv4bi6zxy+5Z/ZUbP iOrkP6KL1/MYtfNoqsTut+UWcbFX/DgrMx0rfG3PkhtKtZk2ot65W51Ui3gSB8IJhQS/ tzaNpFUkqKhRTIEdXbOSf5B+I6pmUDeaJJK0O/LbtDmpzGSEGGMTnoj5moBCEDEVaqxO WrZkbyEk8cl7vg5Xk1+9nQ1KqMa7HW7NBJAF9xxOyoGVVsgX8idyxXwnAqV90+IM73SR 72H8uHfwW4JUar8BCL/V/d4NfOoCRHadtVg2b1HugFeFvaLB+fn7VAP5KSYjiFFluSTZ rerA== X-Forwarded-Encrypted: i=1; AHgh+RrG8h8q4jspGPxTJ6NBMScT9/w4fLigJOuLzrB+LgZGBhA/6Yn10cgCzsv4XviFyugdU20rekcxhi4wzYc=@vger.kernel.org X-Gm-Message-State: AOJu0YwCn0D9MiF9RRH/l1IEnxOYHEktzlQWgJUwm1B4H+jYDsU8wyTR t0Uw5e2T9HLmEdBHKjLuswSIOy1zKtAiE2ZY2VgxNSdnkD85vDuG+ARZLnoLFlKe4QJB0QlcGw2 FmZSPKtFyCwZ4F7jDT/HHAD4SMlZIXCvt2nfYwFK1jA/RmIzkvUPro/PcKn3Yf5Bqx2k= X-Gm-Gg: AR+sD12+8etAaOvrMCUSE2LJcgQqca9u2V64K3atsI/sMzs5Ba47LyzUuXhVQBrSUiS aN49g6/OC53C15bJVaE/NkKKBX2SkjkcB41t3PfMI95qZ8jQ6x4jB8B4eXuT6iq6VQ1gYBHEATX 4GgEGmP+sGduLd3SpqzdkgTwAymxrmD8lzOYlaHOFYYM7so3badubhLGsTFBuU2G3XyrmfYHzLP DdBbXUx3WLMs8/grWUv2I3Kqaedj1hHMKbTulwsRgzS5G7AtFl+A5y8nzFngqcHyxG6OAxmgivE LujhFbIfaZkZHvT+jxSjQ0Ne9TFFRadA6xXdEXfXwghGXxzGQlSeiEsC5/0CEJtOChG6+vVzcjC knr1vXivuho4JUhVd4ucVcmzjdzNP X-Received: by 2002:ac8:7d86:0:b0:528:32b1:c202 with SMTP id d75a77b69052e-5283ddb0edemr36278991cf.7.1784826594235; Thu, 23 Jul 2026 10:09:54 -0700 (PDT) X-Received: by 2002:ac8:7d86:0:b0:528:32b1:c202 with SMTP id d75a77b69052e-5283ddb0edemr36278371cf.7.1784826593725; Thu, 23 Jul 2026 10:09:53 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:cd9c:212:1357:7832]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47f85b9a64dsm18472999f8f.1.2026.07.23.10.09.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Jul 2026 10:09:52 -0700 (PDT) From: Bartosz Golaszewski Date: Thu, 23 Jul 2026 19:09:13 +0200 Subject: [PATCH v24 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: <20260723-qcom-qce-cmd-descr-v24-7-4f87bb4d9938@oss.qualcomm.com> References: <20260723-qcom-qce-cmd-descr-v24-0-4f87bb4d9938@oss.qualcomm.com> In-Reply-To: <20260723-qcom-qce-cmd-descr-v24-0-4f87bb4d9938@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 , Mukesh Kumar Savaliya , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong , Vignesh Raghavendra 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=2473; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=NNnz6awfeEqmEC/yqDO0GWP7yizfp6R665Mk39/3FRo=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqYkrFXChhPvWs/N/IJBpiKC8XVWqYScOKAwNPF CGQxQZdRKuJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCamJKxQAKCRAFnS7L/zaE w6/bD/9wZpY63c2tN+fULVfdgY8TdNqRNv/T77YoZLohc9Pm9Gee7Qs2XWHGQdHiPLLVSVcCd4S TXtc7Sk/SU3Jl0W56Ay8EHyxVzsm4DdysAyDzEWQdlNIPqbweU1jK3L4/qH9Bo2oJG2YM+F2MxH 5+90KCuhvDIWayeBqbQ+gLo3xAmKWq9HK/SKI4P3n63gPic0zkFglQvq6YnXubK7DtCBYXuLtm0 it4DYDg5Joi4/HnK4uS0oS5Ao9v4Ckf7JL4I91/gVCJOwIcZmX+a9fIbSlcupDIdp4SaI7oRtID lV1x9u1QV/ttYZ4XKByiidT5zQocLaCXIln4cRvUn/YQEWRsVDqSzQllkjR1lKvsdP3nk1PYTFZ Kscl+fWREhhiVaMHyKsFSgNagliWKjnTes8JIq4TJ8xm6dYtviNrtS8z0Ig884T8Vzr1xiPDh8y drNe0SjR5L+HsGcD6mtd0LZAk4V1BH4MT3DWZBpxWIDmS170ynnK+6k+eREnqbZmBmKfFoBJFG6 CLyA2AN29pKQ7Ood5qRWfbTLbQa9h3J0vMFjgnllGesotD3mbkd7ujeMaMxsIyxJqKergfdDYzQ IEdfHMU96YjlhhzJnEBOE2c2vTzxpe2QXP5pQPPOS6FDKXjRKCvCjxOwst86MkGJVW33fRVjR+H lSotaLlYU+tHObA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIzMDE2NyBTYWx0ZWRfX8CnsjDG8vMfW q3wAh/RAHx0rnoBZYytbL59yRi/P91vVGAJsQFaB+djUOU4V9r3Whof5Y7LzWTMkb2YOdRiNdEk I/4aKMO7JMlDSlO01M7/caiUFTID6t4Iea2zXJOWRIu2cBML7mUSToymfL3++saZU+4x/fZDutx dfZCiENwLiBvdshLJ+eeEqKWP9n7JBVvVqdcBh6rHJizKn/rvO6aeXIUIYkXZOPP7cmlbJ2g+AT 1px47yO7pQPtkWqMS6r9GrRvreYrul/FtooRK58MrrcfumSP/qVNHBz6G6mQkZw6qjy29wv1Jvh hgXS7MFuASAvjdv1mNzktbRmRbUdNSXwmi7iLNCNeE1yHMX+yjWBTpe2x6G4qGxNWBAHtdGhbNU xZqkJvYsrJAqZ8iV6ENTt7673J/5ng1mU6n2WjEPB5q74LNtfbTkwFbrJuc5xpb+egcNY0qRTcu cevgCSRES3IpAdy659A== X-Proofpoint-GUID: jOpLDT82uOd9BVTpE3LjaSy5zEYiCoqB X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIzMDE2NyBTYWx0ZWRfXw2Oli2oDYMg4 HH6S6gAykTRJVoAj8pJaxeXdH4YnOMDrQ9dRLTcTWLvdiaUpjtJJWfeE527jNAjXdXdOS4nIdwp 6o29sRKfmbtpFE91xTSrvvZsQgvpLOg= X-Authority-Analysis: v=2.4 cv=btx8wkai c=1 sm=1 tr=0 ts=6a624ae3 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=c92rfblmAAAA:8 a=EUspDBNiAAAA:8 a=VwQbUJbxAAAA:8 a=SDQHpg0AWQOuS8LWovAA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 a=GvGzcOZaWPEFPQC_NcjD:22 X-Proofpoint-ORIG-GUID: jOpLDT82uOd9BVTpE3LjaSy5zEYiCoqB X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-23_04,2026-07-22_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 malwarescore=0 adultscore=0 lowpriorityscore=0 impostorscore=0 phishscore=0 priorityscore=1501 spamscore=0 bulkscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607230167 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 Reviewed-by: Manivannan Sadhasivam 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 ac74f69914d6175b39ccde43f16269570fbcf715..b52a26ffff5ee733adcf4e8cf8b= ef75018dfa63e 100644 --- a/drivers/crypto/qce/core.c +++ b/drivers/crypto/qce/core.c @@ -185,6 +185,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; @@ -226,6 +233,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; @@ -238,7 +250,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 Fri Jul 24 04:54:30 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 592DA4766A5 for ; Thu, 23 Jul 2026 17:10:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784826617; cv=none; b=aZAxph5dWwP2X5kT06IAAu1CxhMpZhZgc+JFZX8YQHBSXjg8Y7Buw/H3IReHWGJjo7GVynV85kiDh9qYp9MeTbOWno3eRBHA77Les4Dat+Ot22zv4+Jr+ZzgOEu5MmJQkQiCTA8S1HCdvRw3TvCMiDRFxDc5toPfK8FsXoKK76Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784826617; c=relaxed/simple; bh=vuAef0aUBOeSio60r/pSKcTossm3V61GQJlAyMtLfKU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=CpXCsTiVbR2Wn6hYR9b2jU3DiUgZAYRvrbAbcUmg0uCHnM5ETWX314WpB0DnWDEudxLMYBtRppBCsdX0wnF5aoe8D6fXVzpi5xhvMl4meWhJjZ4O2RlpDnvcefF7JKenq4g/XsbALq79whSrvpC6WocZIrGCXTK29EqoHm5I75c= 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=B7Lxjbnm; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=PTpoZalI; 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="B7Lxjbnm"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="PTpoZalI" 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 66NCvpL7011859 for ; Thu, 23 Jul 2026 17:09:57 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= ToTIYJiHy5tONa3lc6dWWbGZLTEc7JJCb/cDS7cr/tE=; b=B7LxjbnmkxUZXHF0 L0C07w/pnWCQsRcnPxj9APVQJ+cvacENCp3pCXw7Dt7Ux0JhwCOHFJzkHK3r92rp PcycRnBC77OII2w4x+ZZ0Li6A4CKu4fxNbfu+u5pOvCXuj5DQTyJGpYekhqi5H+t 9bcYyDHzP46wL66IegPdjou2M0wnDb9t/OnEp1mu+3uKUix5D6uWsVCmQDA/ES4R 5b+/2+DPxTPdrUCwUPT8UE/ZfEScuAOH0djAar9BqaDLfenfTkgT4JJl8Dpx5BDk 2puWi0UbS3j1tc0qBhrI5rtDjBiW560Q5Pl2EYuIOpUgJoYG12VCa8Z3Se7evwJ2 yd8xFg== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fkayhbctt-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 23 Jul 2026 17:09:57 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51c19493ac2so22572421cf.1 for ; Thu, 23 Jul 2026 10:09:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784826597; x=1785431397; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=ToTIYJiHy5tONa3lc6dWWbGZLTEc7JJCb/cDS7cr/tE=; b=PTpoZalIDNKn7dCVB9MjSfLKy9iHf8JVMVi6c4EMhrrPuXYY+W4WSSJYPr0HDNcYfT diRfbjE1mcGSlXig4SjM3DIPQQ1JTBGDGLMshYsnLkC1rcasoNBprwSidQdX9omMjB0N G4jsTHnee+4gMAKoowT+OdpdS611rF0HmQgPJB2K+9F93U610AY17uMGZK0o/52E4nlC USTfeDgEwCLGKnYMI1MrR26VPFT2MFdJW/+a0xoZSHyIfeUGbtwqSU755e1rFrifkWqb YcMTfjxfC/G5xAFODdlXsyK23Kt2ZTP13E31LV7GF0IfUO74qVrkm1NCTlRsQ4lNz7kZ fH4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784826597; x=1785431397; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=ToTIYJiHy5tONa3lc6dWWbGZLTEc7JJCb/cDS7cr/tE=; b=VwCZT7hq8DE6vv7G8/KD2p+C1BedkV5SNcZx8qKCDcKpK+kLF/FUhqV4fiXmA25IHu hnOwdeeck6RiaCruYjU/pyUFVFwi6jtQrC/QXEQynMb7G9SO1l2v3lpUdi9c4H3pPstL SPD0tT8VcSqMN3DJ1QmIu+FSM8L5+IP7uSDXc4KN92xdVWErBzIEt7c173XPENPq676L V/ZvVFIQCYOnRckfxFF6STeczzcFHNa7wFDeljm+GJGIMwNraQ008VasZCrcxbnumZhk eqP0L34L2mZkVLOqR3EIU3+kSL9WlgvN1nCedYGIfsDX8zC0I5RCh+JRNCcjx6+iAPnR 9rGg== X-Forwarded-Encrypted: i=1; AHgh+RrwjRMDSf2/PkgxNfddZa1r3uaEyPjjwcqS5QFMHXpoC3tObKpb2hzaSpW/ViuuEfW8bKI1bUXDaD+Bh8M=@vger.kernel.org X-Gm-Message-State: AOJu0YyeIp01xjF7EfoSZG/9T8pgdL1zPf2Th0bTAMX0FFWZl2oAHXO1 AxnMwrm1j9BV51cxd2ieEsSnRBenKOwMaPnhBzPdmYZcuRO0RZUlBrB1uLqTaSu47pkQ/shL4eb utqR2S2bJcrw/mRzdUaxXieAP/KzFwKsTzt/KHwq0c/Se5KEkOX7RR88t/YlGutq1crw= X-Gm-Gg: AR+sD132xusYCOEHbpZHS+DZVQsCE+Mpki+7pyj8vgt5+w0wi+b0UBjN1uq6T5l4ZpE w+qo+WWLiAKTtfuyAW2J4FOvlidgot4CIcqthcuCKoXC1CuWB73Paz+7AWa3aC44AVaitgBhsU2 I8Ao8khctdPLbYTN/Xy0ke/xqY8YHe1EfyaB/VP10rxg6y1mvef86SlElWcS75POoul3tzWDkEL ys8wKhbo5mSQxkLI1SZydvft5KjOHOXRSIgtnOtLLobNPKRjyJYHEUsFJAO3/OGPGokhCo3odqV b2UAgpKu4wTG+o5m7mw2RuU6Z52wsoIXSv7zZSH80nX1DfmeaiOh1fuYe6zkE/br+h/3CctJ3fN njnjv7F7Y0/VAwu8i/JQGzn1sPixk X-Received: by 2002:a05:622a:386:b0:51c:f3:34df with SMTP id d75a77b69052e-5283ddf7e49mr38796511cf.30.1784826596617; Thu, 23 Jul 2026 10:09:56 -0700 (PDT) X-Received: by 2002:a05:622a:386:b0:51c:f3:34df with SMTP id d75a77b69052e-5283ddf7e49mr38796041cf.30.1784826596112; Thu, 23 Jul 2026 10:09:56 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:cd9c:212:1357:7832]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47f85b9a64dsm18472999f8f.1.2026.07.23.10.09.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Jul 2026 10:09:54 -0700 (PDT) From: Bartosz Golaszewski Date: Thu, 23 Jul 2026 19:09:14 +0200 Subject: [PATCH v24 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: <20260723-qcom-qce-cmd-descr-v24-8-4f87bb4d9938@oss.qualcomm.com> References: <20260723-qcom-qce-cmd-descr-v24-0-4f87bb4d9938@oss.qualcomm.com> In-Reply-To: <20260723-qcom-qce-cmd-descr-v24-0-4f87bb4d9938@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 , Mukesh Kumar Savaliya , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong , Vignesh Raghavendra 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=1305; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=CUp2WTmSuEfCdx1+Ds/evRL1UENxTV/cwxTY1f9GBAU=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqYkrG0VLs+VISSBWfLayx/0GnGbzVv/3UnOYeu At3Nys1tmOJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCamJKxgAKCRAFnS7L/zaE w1E5D/wOKIYx6yDd8LZ32i8TxjBbQHNdN9m1zJ8Yao3Roa38cxzQJEB1eI2zUMduHnYBaeu9tg4 VKbKKPrK7byHWwNRhin/x8eYccQvhXXEijM7yWACZ1pJw9V4QRz+c9nM/Y2NgXXP3J0peax7wk1 VEy3rcgfFR6ObVQI+AZR4A92sndpV3IaqIWjsFRTqjYJ6hnbhBm4cVgof6xHq4yY8+FkQcFS+0V Sb1Qv5ill/33pVV6WXzYfbv63h84gFSFbqm9Sx9za6+DWJLWJ1+PAtl0BU02+lG5mRFMhHi4UcY gMXVkAVFRQBE3BQlb4+8EZZUqT9tluw1upXIeH94iEYDCRitcD6A8+UlNVpzTrKjWs8h8VCqHQT fqiQrLQNSmyeEWL3ZtDSF4jXh1pwwpEXiRkYVqskDZ9ZaDIgp/PKyP1txTzjjsSsImUsXXGzygz evA9OqUVc8f68cdl+fMl+XtT0Kdn65NPeZE2FVIDo8KffMNHjIOJzKKFAO5HsVk8fZAhRzkFDtC mKH+OWiB7CINj3E6/YWyZ6igQ4Lssq6xUe0pl357qphKcYM3rJzOXeo3LxDF9EMPaIKCbjzjLrX vMU9OL9rpqPg41NJRPD1OvQ9e7aBowndyXwNGgE7ANqSOfrn1xGEZC3ZBPF1PLRQwDDgia66UFo SH+lyo5j032fUZA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=HZgkiCE8 c=1 sm=1 tr=0 ts=6a624ae5 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA: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=rvG61WhHFVBzVmnuldcA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: NUpZds8Eq2YTSDX3iBh6ySfHXdM2YDqL X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIzMDE2NyBTYWx0ZWRfX+nF2eLVtYjZP oPl8omyfwcYrGgiQFaAroJCUcAJD7c8Lx6Zi4hV06OSXF5AyNMeNAn5vZsnb4SeQLvhcmHUVtFE 9yWuqG5EzO56ayZn58Ewj2+MOkt2lFIHnq1vayZb1ektEAMxj4cET+GupnJjG87pcBmq/S2Yv8N xUAUA5cYHCSOVP43saMaKYBCalfMZyDPmmfV0tdNylz/6Y2PwAJyJf+4LJPOXmtpfNJW2p5LIXH URWy0fMBuAOd67IkkdkO2NG+xWmSUAqHwkXpijIHr1tFEAIOxAivhxJXlPmYyu6hjquEGw2JxDx 7ms2pRlZTzxNcJx5ePoEVPK2kg+qLdXVe2+F4XanxKhd2jfmShWXQrV8U/kCMrnV1Jli2jN5uYM NnYP60cqnSUVg9onhpq0cy6rUMFyOSVa9121IOiVPanbXO2wyHqQHO3c1ZhcrceSOTc3hMJ97Gp S0o8a5ToAFLvlUIoA7g== X-Proofpoint-GUID: NUpZds8Eq2YTSDX3iBh6ySfHXdM2YDqL X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIzMDE2NyBTYWx0ZWRfX+lnV5/b1U6r2 DD8zlOm/VHeBIQLVxbTQRes+NB112gXvZqAgCvkqAtNH9rwzr7N61wSayXKqhmOJ/3qw7LBusnB Gzv99ZEBxFsrdlExOUU5iNc+kxhCmHY= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-23_04,2026-07-22_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 malwarescore=0 phishscore=0 bulkscore=0 suspectscore=0 priorityscore=1501 adultscore=0 spamscore=0 impostorscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607230167 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 b52a26ffff5ee733adcf4e8cf8bef75018dfa63e..dd860435d2c47a608c82cc26865= 83a44ff96c889 100644 --- a/drivers/crypto/qce/core.c +++ b/drivers/crypto/qce/core.c @@ -12,7 +12,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 Fri Jul 24 04:54:30 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 52E74476681 for ; Thu, 23 Jul 2026 17:10:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784826617; cv=none; b=g4IbYJk5p52crAQ4/Oxw38EXRKYiNhCE0EFzoK158SYE8MDAHZHiCj39LdxcSMI4JS53XR+3l5tdwSK1nQAwuMOMGldLPGzmq3FBT3n3baSxxaDQ6yO7FNu/Tjn7MU1ftA6lB8Uy/E5f2FjzYW2Oz+eWuNFvUsDHsO1WMc8lZzQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784826617; c=relaxed/simple; bh=vpDVf/b6zHPEUgtVCAl2sRJELM4MLJc6gtP24/up104=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=EiUCjD2iByDTD17p7iKL5NCNKGh+DGrxP5vMk7y4gWPyWMH/yJr0dk1Tjt9OPUWj6rx2vAzwPE/e/qVbBjv1hwWRD76l4Dv3TIUBgrAAXbx0zdqiwWjfGjntupenI77Ve/+Q69rM3hPOSpnGv8q5Cta8x3orWfs4cfOxFC3EOxw= 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=LGSaZwYT; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=izFg3kvZ; 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="LGSaZwYT"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="izFg3kvZ" 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 66NCvpL8011859 for ; Thu, 23 Jul 2026 17:10:00 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=LGSaZwYTvZGwccVl pA0EWYh/eZK/4U2qPMKc6ObiY15z7/WdN9Qa0Zt2fIihfTQGV+Sk+vXGXodVtOaW dH/4TX+mbplfE6yEwzc73/mGn9ljwcVfH9ri7IoFRETbBhEMQ5r/rwGv9GuftWMx PV/QXPbTfVgucEfJoXbLRWD2ptWm4MzL6MjJJ53msaQMhcW7F56RTFx9Z61hvGCY Pu5t3iZBUb+fAf2JC61QWLBtVs85ahXiA9BdpbId0zadKuIHJ67l6XZyouEe1V00 fmKGyJ6MtE4kuOPqBe+rh47j9/uvFw2t+Uhur68zwKFa+FPl1d9XeDsM4RlWL8zy U2OsoA== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fkayhbcu4-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 23 Jul 2026 17:09:59 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-51c1e6f602cso15101901cf.3 for ; Thu, 23 Jul 2026 10:09:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784826599; x=1785431399; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=twry+rQD67k4KXlgASz4DIRuOCwVvltNp8BQTuA56nA=; b=izFg3kvZlNj8mj0TgPaNJIIP44cWibX3S0fdi2pinps4HqgKhGzN2BNTeheSUMalVe tw3/B52qIZRMuCp2AhjekXpsak8XXJ0lKazyAN+WIkF3Uc/kLQM8lFTlYXE3GUH8RufR bxsoE+KMWs3baBmldd1tS8EaGrULQn01+Ez0hJS3/AeyFOscUyjOwr7Kiv0y8XVLup4E osjhOKTYLV3Zm5Qrjhb5O9KAqeYHCMjcHB90+uKI2E7PKbq8GFg49R07NbONY89PLlmL 7uRehcwSPTekPnnHYy7HYQPPP54xLdWaaGJ4QF8emY8Vf8ifwW25XmvKP7ySHh6zTPZn r2WA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784826599; x=1785431399; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=twry+rQD67k4KXlgASz4DIRuOCwVvltNp8BQTuA56nA=; b=MJH3RwraXcvTfdrUkQF85haRa2EhJrZmh5/62a+z3ik92l6r47+qK8RLkIV7F1nRhC PbNTFSXi2CQtrFX61+m/e1aEFyUXYEuCCI4PEvddMUhW3cOJ4XbxlLU+xZz5KOoa3fI1 Q446PV0HMJP0CN1z1yXA9CxcWtsB1GB+FS/6XYn7/1lL8+42rzcgAak7bSHgIex3ZXiu iaqGzGXC/tW9T1KpIEHUSfBShSbTl7xPuu+LKbtsL+GYV+f+vwIZ8/z8YtKgXckQ5YmM szLi3Y55Wlr05sDsp27ydcoTQJIjwNVM/QMXs+hEEERK+rFy01L9mu1l6pk/g/c2OEYd BDIA== X-Forwarded-Encrypted: i=1; AHgh+RpEU+sUnHSP0PRCjydy0sT2NDL2wgx9ZEG4UsRIAxK9fTujwYOBoFSaVAoM1XG/eTsol8La9UkJtvw2Rio=@vger.kernel.org X-Gm-Message-State: AOJu0YzJ6gOO4SYrF4Ko8Ul0o91AOGA27HYuFb8Xh0lUms4wWE+lDBHj 3NOW/lGl6Pue1MTLy8oQiX/MXoHhNKSWl0dBywOA+jNjbd/pByLrbClA2WX6tpytpeMxYPMFYXI sTzt6ARpEAmP1OJ7wdfaFXL1gJhR2zVR61nVarxgEf2kjIYNTKuc86Up5x+Ngl/3X4hA= X-Gm-Gg: AR+sD12JJeQTmzuF76SdNifxFWIncPMJNSp2qj0hHTQipGdOv6pImPQ/TYv0R7vOoyN heGU4RXnjxLSOwGxivClwrxhJr21lfGIEI7PXLs4NR2pHE05RrgrRwONE68TfowJIwFcD2HoSNH hJ5ALt8nPI3qa8ZSA82HEjgj5GZKgDHfkojiU5lpLWtWJZsFlmsH7bxMOJSlvJ6h0OSunpnIuvM GLO5ard5yfEl4Tr90SOs5+u/8eAUWgrQFczSgK+EoyKqQ/kS9kCoVU+PJR8sSdbo1zP2ykURiAf 5EzlFoERR06nEWZYx/rqaiVcU/hsLjKHbQYgXKyAucmlzP28kCdzxoPZBXsvzG9PMt8E1HRcFNh JphxBYf6UNj2gy2UwWP4fxuGfiyqY X-Received: by 2002:a05:622a:4887:b0:527:6d0b:b00c with SMTP id d75a77b69052e-5283dfd07a9mr37944381cf.68.1784826599261; Thu, 23 Jul 2026 10:09:59 -0700 (PDT) X-Received: by 2002:a05:622a:4887:b0:527:6d0b:b00c with SMTP id d75a77b69052e-5283dfd07a9mr37943611cf.68.1784826598688; Thu, 23 Jul 2026 10:09:58 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:cd9c:212:1357:7832]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47f85b9a64dsm18472999f8f.1.2026.07.23.10.09.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Jul 2026 10:09:57 -0700 (PDT) From: Bartosz Golaszewski Date: Thu, 23 Jul 2026 19:09:15 +0200 Subject: [PATCH v24 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: <20260723-qcom-qce-cmd-descr-v24-9-4f87bb4d9938@oss.qualcomm.com> References: <20260723-qcom-qce-cmd-descr-v24-0-4f87bb4d9938@oss.qualcomm.com> In-Reply-To: <20260723-qcom-qce-cmd-descr-v24-0-4f87bb4d9938@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 , Mukesh Kumar Savaliya , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong , Vignesh Raghavendra 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/NoTDAcsmYgBqYkrHRC31uqWfuPCshkpr4F9yhF00Q8kTZX6rw dse+wx0PiSJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCamJKxwAKCRAFnS7L/zaE w/U3D/4l/JZB1CI1zLQeeEPcdQ6oFcKCNVWSMVFUFdkhJ9BkrcxnGZuhnMpJwO4vO+Oj6Yhmb/h ZoKCPuJ1X0o3xdGe6tpfEIzROywogHcp2+tQcqYhyCwTg7WZAcGzxoR0LftUJ9KvGYq9QdqctNc lSFZbf65kdE2Tc02wAU/H+pC7yUQU76utOnkqbgTIHQtBA26Tpy8SDY2jAHTcqM6RUDQS/QZOE2 uYL6JpIio9+5No8/xj/sIFfBWrZTD9y1gSq027YSHsL78J4qPTu9UpiVhcgX5p4R0cIB7cukMoO 6HTz2lNB8WtWCCmp8ZGwCW/17HnhWGzniHiXH6GyrVOQSsLNFV+Ska6P7uo4vilXjNcYfM70IyW 0IcDc45D5hsjGPbcRaRykn6DYvvomb7lzqPYxxwwj/5LqQIkcVI9c8Tm/idGAf029Cwq2zKMd6X yGyPL++zMP7shdIb6qer47c817fmdblEWodhtGQl1taZMKPTYA0N9McR0wbJHiNif8QSwy/eauR GhIMYkKSCIAzCinSVVcK+VR/pQ/2hHQQADI5icvIrRVwJX/zBRs5UUwqphuPB26sxEpab+svSq6 1tRdkQ+B0BpxsfWz1r7YLY5YrwBYQXmF47ceIy29rd+FOOQwPz8X+u+hiypJ2UTXH73pm19LuYl DDKG/6N7DZoUbYw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=HZgkiCE8 c=1 sm=1 tr=0 ts=6a624ae7 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=tWRRbWwrKX-5tUpmLDIA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: 16yTKv9NTkqOM5V5vpnlmbWW998rLBk1 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIzMDE2NyBTYWx0ZWRfX5FQzvQSwc59M 7w4Qpqr6kb4BkmLboavWg1AFnKiwrjVrvbLEoLI2v38fUpjcOqKfAohMEpE4ZUVE2Eq4kp6Jz3k LQR9VQvq1R9ExM6dUcJrmsqFg8SY8iV1CSieLWggjmRoZpxTrh8SxK0kHoEj5IAhj2DWX18DI4C PruqOyxj2+Pi99kGzkLPJHqEBN00Cu6XMPWHFUFsSWqR3XGrYithh/C2/VlxLubuejXcEDPnvjZ 9A55kGVYUk2fFtlMtzktHVpnCOdHP7RwsS0zUxvpkT57Ot4H5ERPxuYWJLj60Kcw0jeyt9Y3cpi KPHziWqcS9Y6kND3d1+gN6rt1DXA0mZdr3WzD8PWnbkDA/6X9o0JJy+blbBDGQ5k7KDLTjHI0EA X2tvPf+2cDDTGZOvXAEY0k2+mCnMFct0hir4zNPtJdYF43w2MFZc481zwu2WedtbtxBUFAfTc22 bYHm0e6hVLQXk8Wj/Cw== X-Proofpoint-GUID: 16yTKv9NTkqOM5V5vpnlmbWW998rLBk1 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIzMDE2NyBTYWx0ZWRfX/Q7XxVo7Q1Jd e/dGE4UDVIzG+B9HyTqr6UktqbzYOj0dO42xGaCqttwjrKx293g91/EmOTuvRaD2PQ3YaNPJqXl fHUIxFwdybkAgjBq4MV7/wuiGkBh5f8= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-23_04,2026-07-22_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 malwarescore=0 phishscore=0 bulkscore=0 suspectscore=0 priorityscore=1501 adultscore=0 spamscore=0 impostorscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607230167 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 Fri Jul 24 04:54:30 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 85E83476683 for ; Thu, 23 Jul 2026 17:10:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784826620; cv=none; b=Wrw1oSh1tTDnM7Qih4VEPw19C+rNr7Ddzqec0R65wlidtdySoqC4ies+K8Xe/c5MiwNJRj0sR/kdXkdPrEpFYYEUypI/wWqRi9G8U8Q6YR+1LHc63dsxPAJoCoggIV+xF16tGwpg4FLmpxdp9mht7zZGVo8aM9TUhXIi+B4Qazk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784826620; c=relaxed/simple; bh=/3Q5BLE2qswUURgRMp8Md6+CmS+GMHS0PuiKEz36BBw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Hllf5xEH0FEHb0Y/VOFsrtVcbVWjm2UTkFh5rWsYphpHIlnL7W3yLAMxdOEuQs3Tc57MgjII1bxmpkew9RZ2iSsN+WjybSOqWOCvweCOBB6XbMjMg6a4+fyXhbB6RQVZ2yc0Z2vi19HTV9iL/L+ce2oBL8NtUMn/J+kXCKColH0= 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=W1SU1wG1; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=hJlQcRe8; 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="W1SU1wG1"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="hJlQcRe8" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66NCvgS64172627 for ; Thu, 23 Jul 2026 17:10:03 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= I65WEZ9oqgYF8KlnrmzqEJMBV2oN2r3NUJBwbhZLtgQ=; b=W1SU1wG1cOiAxKSD Gdcxxsx6tVxyntq52L3+AiSd4xlX1k+IUpucp/6Dc3aJJE/W5aTNvUDNKAZKaBdz jhpTvpRKi+x3Fn1VocP6NssLgV20ZuxZZL3xqh6scI6+btGUFddBHRJXsgbtJHWg VSkTRq4u5O/b8htAlXaboBjROtfoSuh6IOC91lqO5nkGDfC0xvOYQxVLic0eap+r dIJMJMI8gT4UvZ+DWRIokzQCA0pRjCbuHPbGOZkuXLO2lmutLdnA5ygkclMYret+ gV2gIPnThW4qeCzwUHSOaM1xqGeBkoRmFcipTF5epI1Y0Qb/BQ0q+c/DH4trikRK ZnmS9w== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fke7qjnf5-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 23 Jul 2026 17:10:03 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51c110a3b6aso13180881cf.1 for ; Thu, 23 Jul 2026 10:10:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784826602; x=1785431402; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=I65WEZ9oqgYF8KlnrmzqEJMBV2oN2r3NUJBwbhZLtgQ=; b=hJlQcRe8vcRFdM435fS/p8hdcUcNPPxN7efmSA9s+sNw8d1N+7bF9LF8zEjxXxG6ve wfcSB2dtlXL2m3rbWAf4imZ5pIjttNo7+zpsB7n+4kdLTpqMNAWyIXuTNiQmydIT2EqH 9ZUtc/vzXllBQaCO9PBjIbvnfo37IybpOLiSI/CuHqHLjlrsTorx5xplauAEZM5Qc7G9 o4d7t0qHAKhmTReD5aYEYJeDYBeiWqe3Ur0ZAAEFZcajcTNgkm1PDpe6Oq4Wk7eTp7kH tSYmwbIgaihAib5iMUahSGQ+RraRYBAhRmOPgTSYT9T1zfLIuQcPJjYKr2XPjJBL51tU 3n0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784826602; x=1785431402; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=I65WEZ9oqgYF8KlnrmzqEJMBV2oN2r3NUJBwbhZLtgQ=; b=Ri1j71Sme4ktW9MG/qP3gWob7S9evxPlyUTomYqh9dZq1htGXPHALo6xTJZYY3xqCg BxW8safy61h+JD+5ANrc67KlJR/I+C+8gHB39m8aFK3xtLfCsOf7gk/jCqtQP+mK1H5P p2i55TzhEWcWS4dDefntdkZhixQTP71imUNZ5ybj4WOZRLyWolU8dgod1q5VVpWHXW6p 9CNY4BSBdEaTl2ilEoBkatiLpqp9Zmm2+GQ+mqUDPNhwV3NcmZES1bWQF2aES8UGQrRL dtJuWWodMrvdn792jImgCsq5l/We/3Emg3N2bgv6/4QLFX8xRQ8Ke8VW9zmCFIF3UICU 2n7Q== X-Forwarded-Encrypted: i=1; AHgh+RrUVpkJCdFFfh9GBxcD3qhm4YkVsMs1fHt8ldJU5uMW7SkW92xGRxKz+A+EkAhaZCFcnZbjgo+kVRG+7oU=@vger.kernel.org X-Gm-Message-State: AOJu0YxV35qDogyw9m2e+zO9vlQEgL/Klbe8YNIWlWLwZsfJarPsPHJy KPAgGe06Tc+susaME3qMywbBVXb587U1cqvaCnM7Ftz7mxswslo/5C/6fBLFoAI65h8rFawyaS3 CYDPVcQMdQvf84HIq/7aTdQDrEw/mbLavNHSbCgAp7dKekStuk3WKy45yTt9Ifex29SE= X-Gm-Gg: AR+sD10OpUsONNE/84QWYHYJ39gKun7FGX/nVfS0jE+eLYdiKD9V+6JAaDfe3eTgL93 UDok3E+3phTfLpWsGx7hikFK1W409EvVanN+m1A6gdDTaU/VRB0cDfek9Ol4SVcZ0QwYyBo0k5d 1XZ/YiAPw1Vb0kMzZUIrHFqOwJFZD6sO8FuSmsbkVSPku63LDfhu1LQ7SNgHljgozVvbD6lJTa4 MhzDXNTvqJT1u0p4VkxyM9DQB2OaKTOcPNd38ijZq5coussW0WV32iz8YBZo3uUtZo4LaVXAlJ0 uGAeZu3WthVl9bnBUYfLh4XedPnSMZhGfYcQRQiRbnseznAYDsx2qC5klGaKhGDCKO8yM7oZl+/ 1FhGEqYmkHR06Xq9TOWYiNsozBcfp X-Received: by 2002:ac8:5711:0:b0:51c:1291:911c with SMTP id d75a77b69052e-5283ddfb0edmr35646611cf.14.1784826601618; Thu, 23 Jul 2026 10:10:01 -0700 (PDT) X-Received: by 2002:ac8:5711:0:b0:51c:1291:911c with SMTP id d75a77b69052e-5283ddfb0edmr35646141cf.14.1784826601146; Thu, 23 Jul 2026 10:10:01 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:cd9c:212:1357:7832]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47f85b9a64dsm18472999f8f.1.2026.07.23.10.09.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Jul 2026 10:10:00 -0700 (PDT) From: Bartosz Golaszewski Date: Thu, 23 Jul 2026 19:09:16 +0200 Subject: [PATCH v24 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: <20260723-qcom-qce-cmd-descr-v24-10-4f87bb4d9938@oss.qualcomm.com> References: <20260723-qcom-qce-cmd-descr-v24-0-4f87bb4d9938@oss.qualcomm.com> In-Reply-To: <20260723-qcom-qce-cmd-descr-v24-0-4f87bb4d9938@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 , Mukesh Kumar Savaliya , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong , Vignesh Raghavendra 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=34ButmP/zHfg7ujor83QeeFN6rzFB4sOTC9ae7ymGro=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqYkrITet9bWWLlF1QKOA3a8SVNipTK2mq9EKg6 mnbit3+FIiJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCamJKyAAKCRAFnS7L/zaE wwGoEACZ+RmlquNZErTNw//QiZlhjQQf6QcXzkBFThMY6q8Zr2WHRA+PKl0pKeNy5bfcaUPaYLI aa3kTfzcoTGyW5IJZEJ/C/Xdv6Ao75I75LEIjIAKnNuAJxNp23Cuj8E/Xa3EOOk9HAmILlJPBKB n+ZD6GIVXWBve9KwXr6MqAouS27taz8n4kw+ptOmdngOaI7jxOJgHkB1v3FcuCk9PZpS+7y560v 5CGYgGge7GF8zt4rJk6Nw9fc4wvBG5qz9DdbN4MdLVqNGISuP/CodKg32hvb+YsHQJdJpkEIchD imPpbHCPfeoXFdvhDjmRNVsqCq5KQnilNnHiWgdW6Eo+RJieeEN8wD+TuMhMo2sarSAGj9PluGe XQItDy4ymVBmCdVt7Vfwm6x6LhCW35mnnqZamOT+CNlZ9rXCIQBD9udrswfIhPN1CFABWmrpCfZ O8oh23hz1Z0XY9pCVgfi3Xw+JMQrCi1SVbD4CYEh95T91n3qdW6Lg/xv1I25j9nWY6TFX7WTJhk 3gHZnD0M+gUD5JTFLYZbU6oBYmjBSJjP7Mvydb6xYEZyijORxd4MMKfGgeFCmdJZwfiivPxFiaU VV3maAF3APxQ6CQeMDLBVopbArKNWfACsvuLr9jaTwTdi/QZjRTWm9P56+mKm8jTfNTE8rj5cvK pWy+eAQez6U8Y7w== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIzMDE2NyBTYWx0ZWRfXx6V+wimrnucK p8nv6Wvl11C/vUbolrgVQrbUX8WNXgeyUVjjjft9VFwC/1onwJVVMkvNG28//4q9LfaYdyL7XFa 5Z/U/03tSHqA3zLqqGDjB+PZR4z9bFs= X-Authority-Analysis: v=2.4 cv=aYxRWxot c=1 sm=1 tr=0 ts=6a624aeb cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=lH6k5GM5CfRwGFUYfCYA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: HdTYlp8fq-7lV7IMKqGNbPa67WgL6ng8 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIzMDE2NyBTYWx0ZWRfX+lPSUuiah8WI lzX65jmeFseifnvcNElTUD3auk+pLF0VKwZPw6wEtr3HwkXknPjMroWp4pf35rb/4uyEbLOnce2 X7m8WTfc050e6cN3CeV2liHOaCne/uLYuR8ycKOhtbQpLA0QADdxxGEeeiPzh/v7OXbwN/+Wng9 UEu2K8GHpur5FaaR56DwNlvDAg/rVO+HY8Z+zk6VwOMlqpa6P8ke6wZidy2QDO1mUogzVKRAOtP o0OB/7JGxEW+EBHFGIqO+voE0LegO8n2VGZTsvaJoL1514Dm4oAVN/s8J+eJS8VZyAKbpkB5I7d 5+9TeDoHS5BXE88J99DQWW6ZP5YiBNqBM+yqM3AE4xXZTXxtoGT4wT5YTAGBj/kyV+Wgjwa+2pH N3L4shziz1QxlxaVLbBJgAhnducyEa1WPIU18DfyMAJBdnlG0rcjQlUE9f3beK0p4+/21Ru4fk/ cwCsDBJaWa5if69AdGw== X-Proofpoint-ORIG-GUID: HdTYlp8fq-7lV7IMKqGNbPa67WgL6ng8 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-23_04,2026-07-22_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 malwarescore=0 spamscore=0 lowpriorityscore=0 phishscore=0 bulkscore=0 clxscore=1015 adultscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607230167 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 dd860435d2c47a608c82cc2686583a44ff96c889..aa4a0b17749081f1ad653424bc2= 65ee81e348e15 100644 --- a/drivers/crypto/qce/core.c +++ b/drivers/crypto/qce/core.c @@ -237,7 +237,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 Fri Jul 24 04:54:30 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 E16C64F7988 for ; Thu, 23 Jul 2026 17:10:07 +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=1784826623; cv=none; b=AsRYMpS9fO68EG5tQ9DAJS2wXJvz7eeBxFe5Yg8TKBsRAqVhl1HU9liG7bj4/dnsOOz5q7Rxn2zeClac644S0fZf+a5CUkdBd1IrtSowhBpo7jLHuy6vivdmMkXMOt+Vi6Bvai1Ec59zBsdKhTiT5aNz8TLlvxeT0cOHqySNhvc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784826623; c=relaxed/simple; bh=czoxItsxxVvFFRsK/bUJo7zI9PxP/5bmJEdhhzZ9wNU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=qYgC6GdGCeyg/8zSSxuvtJ9JlwJJvjmCckNvKG9qoUc69i4M2Tv5ZK25AB7GGSML85agEiXHdXvZQIzQC5W5NZv/Y9M2LlbEL6RSNFO28taMM5dDGbzF42klsWrjg9DGhSyQu8H/MzK/PfdOeEdJn7qGXyzraWJWhAwFMvOCePg= 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=ebnZ8Og1; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Ua1JDbLE; 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="ebnZ8Og1"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Ua1JDbLE" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66NG5Fsr483050 for ; Thu, 23 Jul 2026 17:10:05 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= eLuzW4UoyjLIBOHVkT1M1Bap2xQlYADrM6wCNEKkohQ=; b=ebnZ8Og19oSO0yyt MeE5Au0Qr0sgRzlfgMFfGQqrF5t3SnmYZI9HSQsDYizxdOH9jKjF5YevQGCvv/EG jvdNX8x9iq+NYgtmbPnQI18alH8XkJReeZL84g6cAeZYm8KybmBzAtv1CGvgl5yW yjASBY50WwdSdNeoJGeCQe4UKTJjkL0xdVIKYlmSy45O1sVdx6PptI3ZI8HQjVdS v2nx9hkLp6myeS6nF7GdFjVwBaSNFT/qrXFXckhqkiLHqyKpHMvpDCLHvKxYkFgw Z4wvzTB93n0HL3GF9DgqR+tnbIdr4JFBTNtYreHYSxEictWXNgxrOE07iMKaLwbD nfTRBw== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fkp5vg9w2-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 23 Jul 2026 17:10:04 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51c26012cd0so15436271cf.0 for ; Thu, 23 Jul 2026 10:10:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784826604; x=1785431404; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=eLuzW4UoyjLIBOHVkT1M1Bap2xQlYADrM6wCNEKkohQ=; b=Ua1JDbLE7d95U8zgWXZ7znMIQC15i0ECmpWfmgxXyYk3AYk/3J6ZJGNupnIQA7plGL OwHrZPtJs7Y+RJ7AUQLCKLezv38nn0kredXTkoOimY+zvzwvP0Gn/3JN/QaeHnJ2g5QW 9uq0SFhfeFdA4nby5R8sNSU0Sof8VD9vwHrI80tbxWuBxhSR+VF2RgBV1wEwtpxvQv+0 cJLLgEc4KsXIUSdMmVRGhTNcqDNBtIkEKSbbUsCUCwCPag0asjUzAR24woan30RpGo4o aBpsfBXvcnc0P9B65MT8IAT4qPg6GJL4bwgUSA+0G2i426jmmvh/SE3b4Rk0J7wmYPmv sG5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784826604; x=1785431404; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=eLuzW4UoyjLIBOHVkT1M1Bap2xQlYADrM6wCNEKkohQ=; b=BGS6ym/jf/ccQbVov5gQbridYLRDV83qpooYuFzdVmSE7yUPSTaE+f6+sx3ArYBnmP fuOzobRYPZuzpTjlVJRA9KsmzKHrhmKG9FqlPMdF0DC4n2nvSp1P2ER/gmpNy1+v2OIt PINwxLcCg+wlOXbCzw1SaIOe32+U5RAyOR/UcUX4tieOVPNOgH2S+t0jwrg3YDGZLRMq hsxbkI8127SvtNdj9lKhtNfHd583yz0QWYgxSuwh8ok/gFzN2eMZX/aExTaRbhD6+Jsd znkap4bCnKEyEj1UmjZg0S2jmCF9lm8axwfkDpxbCmMKK2JmJE8CMDcLOoAg5pQaN+AY FLgw== X-Forwarded-Encrypted: i=1; AHgh+Rq6XZXM5+S8QqfYp+k6HFCb+Jml8epX2rFDj7eeHiE8+9KRAe0DT0htAemg6Hr+710Bq6HGgQhw8gIGmMo=@vger.kernel.org X-Gm-Message-State: AOJu0Yz9f3LH/yf94XvJixLofxqvWCgWo2dAhTmqVe7OPjhOHfaYiPxf L4A3DC354qbCAd7rb3VTfVvgp9foTPPtpsLuAU3mhlY+G3I049n17aV+XrdmFY7+QfH4FYsYjBa ItaRVwzkOkFQviJp5azgTUeFjt6aMRaOm9YYd71N5sgHML5VuCr5AjlYkDVW7AdoO+Ew= X-Gm-Gg: AR+sD11tVyX5/Ld5RNY0x9hNlQoNTXVo7XXQ7dTEB833HVaIj9upC+NKmAdLly6sdzV MViq2LRlfD0KDORZzzoCtVwCqpqcVElXv7dhtuOl99QtS9inldo4QMYm2jX04u1sYBRscOPv/Wp b+RnxkDICVQA+HeFeUTaHTII8EZmbO9QbC3t4vMg/aN8WwRaKLWnV1Mh1RS3p9BVMWE8dVCoj9s pNn2FLLcYPYeWOJU5MNmo1uaA/ydAGjxObiXO7eYXcTpOo6c1a1Vd5B8ZyCFQDaDc/5w/AQahms qqvmQ8z2gEX8RTl/SmmyBGceMAyyalcmTDLiseZEZZSGezZaBCcx0O2KfWGCnTbchxFAKfbLPmq YPS4mwfD3Dl6rXKgq1AhpcO/ZrsH+ X-Received: by 2002:a05:622a:5cc:b0:51b:f563:f613 with SMTP id d75a77b69052e-5283de11072mr36590921cf.35.1784826604320; Thu, 23 Jul 2026 10:10:04 -0700 (PDT) X-Received: by 2002:a05:622a:5cc:b0:51b:f563:f613 with SMTP id d75a77b69052e-5283de11072mr36590161cf.35.1784826603701; Thu, 23 Jul 2026 10:10:03 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:cd9c:212:1357:7832]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47f85b9a64dsm18472999f8f.1.2026.07.23.10.10.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Jul 2026 10:10:02 -0700 (PDT) From: Bartosz Golaszewski Date: Thu, 23 Jul 2026 19:09:17 +0200 Subject: [PATCH v24 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: <20260723-qcom-qce-cmd-descr-v24-11-4f87bb4d9938@oss.qualcomm.com> References: <20260723-qcom-qce-cmd-descr-v24-0-4f87bb4d9938@oss.qualcomm.com> In-Reply-To: <20260723-qcom-qce-cmd-descr-v24-0-4f87bb4d9938@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 , Mukesh Kumar Savaliya , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong , Vignesh Raghavendra 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=2502; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=9GKLcUmlCf8HlWjhhByBBy4VvPdK7WbPpBpBdYahW+0=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqYkrJbewWNT9pp3Iuj5o3JRrVPX68BimOcebxp b1lNT8J6w+JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCamJKyQAKCRAFnS7L/zaE w0keEACQof/cuLvUHKye7tcsrRsQkf3ZRamIThHi+aI6BsMNPxt/AiopzRmZz4ndWpJ+USLZinb nDdpcY0tY10kEpyLtN9W5Mnf31qIJFShbhOg7tOrPf5Oy0q5RmoPs3C6oKLCENbLIDOFUIFcnly NAeDO3wOzN8MlHHYcf4P6fNgV4JyeUTeaK2ZsFeqX0CFVhQ+K9QlwOQx7qe97dkxM9oPSXRaL3X YzwWSqQop2j2ChJbO7+NsaA9KhBPouuHJgLz6l3NmwZxi4qZwvXHIPY4ZU1yb5KkohmMPkbjCHx 9ajv6adWteDjG9/jLH0Aey6rLjz+Uf3wf0qgOZW7e3WNpbETEopNJ2QS/T0KdQqTyheFU7zrEep OlBt3D4vowcpxdZUyqv5vJiqCPdII4+fxArhqEpVRVdlnIn8luBE7WJvaY2LIbgeheC+dTCEI+a 9NZIAq+6YVGkHPIdA5erDs87gc7cdyOO+X7HOW4hqVyw190PrWP1Xc/K2VfrJv50LyT9c93cIcM CVXWZlIPzxHg34xlblv5R2P3sxBtRO3InHnVKa4NSU0rVq373NtJGIaK2v20GG74zPJWLjgWqlm 4N7P1dv8O/uVfXIavjEX2rHv6KyA7i6qarewiG2bO06plsiDJggI8CzbEGebsBkRdIR9efbLlBD GujAj0dlDs/plmA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIzMDE2NyBTYWx0ZWRfX2HTdyRxRxVJf n/0o1nc8u/bZ79xxwjwPpBk2e7OJsCCHclBNtoJ5lPRf0wGcKgZNmb3N9KQBkMgPPi0TpvJtJnH CRXXJ9KARj2jI5d7UHRioohN4OBkuVI= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIzMDE2NyBTYWx0ZWRfX1qgfgDHr04Kb u0e/EPUE4MxlbE7QRtVxomBpnUqhM79zvWbV+UfskTTE5m2npk6M7ACvo4sE8FSFnfm3SYUFMgi d42tVZsroy6vlFDf41qsFp+MCuQagjczLq3ijWf9kmRReAkso3WQBjE45BlEzfLGc4VZkBp2k9d Q/tTGPqVa5bKOO5usNqmLSwskeIFIL5RX2BzNzJjcyfgRKOe1bmZYeBI971qDFqArHrkyqrpkZA nXq6XoFxEnCPzb6NO4woGS6P8yn8txp/zqAzLQijqjyrSxGqgh0j6ts/DhqWtiTmoOWft3m8LSl 2Om2Fgf22nPmgDmsh8gDPC4T8quAOV/tszd/XW4qbWhYbaDNvDuhfecg6Jg4AMUnLmHPWJsG/MK kHAl7LPT+9+O3/butIwu/5zBFgw3Jf4lpBiqLhEj/DvCfaqxxKpXTx1BDBMoidtuBkJMA3H7Vnt kkSRFJ0Pwm3z5UMGFrA== X-Authority-Analysis: v=2.4 cv=Z9Dc2nRA c=1 sm=1 tr=0 ts=6a624aed cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=VwQbUJbxAAAA:8 a=rzIBUVXPi645tD0pnwUA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: 3cWeFF3kkgvZ-ZhYo1bEQmdasA0CEiDg X-Proofpoint-ORIG-GUID: 3cWeFF3kkgvZ-ZhYo1bEQmdasA0CEiDg X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-23_04,2026-07-22_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 spamscore=0 phishscore=0 impostorscore=0 lowpriorityscore=0 adultscore=0 priorityscore=1501 suspectscore=0 bulkscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607230167 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 | 37 +++++++++++-------------------------- 1 file changed, 11 insertions(+), 26 deletions(-) diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c index d60efb5c26d88f8b0259b1dccc8724d0f75571c6..26347e9fc078adede712722107e= 74958538accdf 100644 --- a/drivers/crypto/qce/dma.c +++ b/drivers/crypto/qce/dma.c @@ -12,49 +12,34 @@ =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 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 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 Fri Jul 24 04:54:30 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 0B4AA417BE1 for ; Thu, 23 Jul 2026 17:10:14 +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=1784826635; cv=none; b=M3WCc2mHGADT0LbDlAWHd8ERUUM/ewje2L8DSZBnzMXM+PoA+e2lhOrvK7SFNG/UTqTp42Kun9US8AgPmu6WNQsAhXv4CQPw4fvgUlGif4ulbKv1STsGkH5cc3/y+BNhNIHkLFZ8aXtjFas7nATufgp9FhCJnKH5TwQk4T9Zo0U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784826635; c=relaxed/simple; bh=I6qozPBGCCC+qW2tSIhDtPr1pqACnLdSRJYO6Q/jVhw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=LOOoPqRwg5MO3lh3GM2v5ApNdmPUnEBYKc6+c61aL607UeJpiZB3OakR2qvMZBmxT6PM2R3c+qa52YBJ9dpa1T6twsNdtjrBsFV6FKjOFuARa+edKHHl/1iMfoUGik6cNEjPsJJNf58ga/okCLSYLJfETvLPoibi3Y5JEgKLPZQ= 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=K39y9gzt; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=QGzgTGdE; 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="K39y9gzt"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="QGzgTGdE" 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 66NCvn5i011757 for ; Thu, 23 Jul 2026 17:10:07 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= /ulYiF5q27l0HtYTWxPl+5HbnGbtV3QzEBY0v8bm+NY=; b=K39y9gztZxLnA4zR 7bJEVeCZ7GuWpK52y6cVKBXuBkrrvZF5d0Khpzl+E4RytfNggMM+BsIpYAUEa19g ElslQqwPQwTi8afKUQQCUZHsL8XItdk5u47ApJvfAcxFoXZ40Mp4V+XX/7jCE2J8 8VJEimp0H5XFzrEdYRivdxXs6jwB7/N+MXNDWJg2iGdJlofcmA7s8cH/MaSDjGEc ECbK9nRLJRQYorJdI7/SAbz0pFdn8tM0it9y+cK6F0tC2WYIp5CMQXTLl1AEB9wA PpUtFojNZm+i3u6vw/RxQsJZBy2jcyczwOLnsc6F31dV7TrS3ZIDefhwZR8hP4mb fReINQ== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fkayhbcuy-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 23 Jul 2026 17:10:07 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-51c1c7f135bso15160381cf.0 for ; Thu, 23 Jul 2026 10:10:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784826607; x=1785431407; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=/ulYiF5q27l0HtYTWxPl+5HbnGbtV3QzEBY0v8bm+NY=; b=QGzgTGdEyqZXR/ao2c3XGdrcM0pz9gpcmHQTfqLBGQKnAbHEFWN8J2Q41sCii/nhNP X5SmDhz6ls2ncUmtAdZwSIwmUQKDlKd+2ZeoJqpP5gKJa6Z6X05PW3QY821NA1T55cwX aZg7coDxEdEzS50Q5xIsv8HEzd+zVjOGqQ6LQbSjhDotfnk+c5u2gJgLgguHiveDvY/m YR9ylnZ+luW1auIhjTRGDyl0lejb4/q65BSdd1UnmxRO7kNQWpe4q/Wgeh/jWQe7hYwz HnkpguGEGYl4gdQ2jOScrIa0Evvii+p31ObnvM4gEciaytnIsI6MI1qH9tYX6jLqLr7m wjSA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784826607; x=1785431407; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=/ulYiF5q27l0HtYTWxPl+5HbnGbtV3QzEBY0v8bm+NY=; b=sGXBxzLSHP3FcfajBYK6Cr5y+OqX5u5rWARwDERH4ihDFXXbw1vzqVMZ7bVevL0poD 8KNygN+xQmm53VBlmvONPcM4jNfxBmlneIftuKGWdhJLRWrSQ3j3Lg7o2FXalhMyxQ/d WRH1D/rml51bmDGXtGp5h36iX7/k/NzMxeL3OeM004kKNr38O3dFGmFMlA4oFi1ddU5i +msw2WAndEoz2tUoDkk11EiZEiUjps1Ugy+G005TlXtYNW0gp+WmI0g9mezGRTdwHTgx ahstXi7uiTET/SP6GwIrASzvtWwb0t6SoEQl3DKuKrZMH3Z5lsg5V8xVA5eFE8FDDuUb c7Kw== X-Forwarded-Encrypted: i=1; AHgh+Rpeo7YVhpVKzcZFi4kueFNyosHsdUgmvFs7bHdqG2yeaHpXhFrAc91LHCx+foXWj1LBwWJw/29UC7z09jI=@vger.kernel.org X-Gm-Message-State: AOJu0YzsATJQTfJAqpuATMoe5xWS+TFskeLCTAvN9jxa7wm7NCXG2LHN hO0UzYiHhOkZH7knXFOaElHR+wScCgIrtRFAVXo3QwS2nCiKY5OKmtVx1s3aBv66CY8dpsmyuDg OV8UUZFu3t1XEnEYp1BxJCfJbJqNytBFscjJ9d7V2g48XI8jmOqlGsaoLe3ku5AaIpl4= X-Gm-Gg: AR+sD10Ko10ENpAqkBPxF5fmLMx4/SfAy5klBmrH3IRlM6yTafERpHtudJuS0nwAtUZ Eh5yKQ2miOcjiz68OovrVZXgUotQF9QcaLyN8+wZKio45xsAtpDJ6IMlq0pTFDjIpZwv9LOuQIm qnfCxLJWjHCHedlno0IEnKPOUqdXLe7CRM25PF+COqZsQEUdGCQtMGKOqprtoh1NVodaT7wfaSI OkS9FjpeNS0XoDAU10ly130LrgaDETSZpNTOqXYr3+DBrDdyAR3Sf2ATaMh0hUGDkLNHNsjt4gh zie8ysETJAJVD7e1YxjjyV5ruXp4FnUr1iQNAMXR8LTg1GkER+cbmv1I/Ks0yj3fw46bQ/S6H2o A+wRpMsUmkCbRD+kKsueBvlGf24Fs X-Received: by 2002:a05:622a:c08:b0:51b:f40b:2fac with SMTP id d75a77b69052e-5283df4fea9mr36098291cf.50.1784826606805; Thu, 23 Jul 2026 10:10:06 -0700 (PDT) X-Received: by 2002:a05:622a:c08:b0:51b:f40b:2fac with SMTP id d75a77b69052e-5283df4fea9mr36097591cf.50.1784826606341; Thu, 23 Jul 2026 10:10:06 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:cd9c:212:1357:7832]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47f85b9a64dsm18472999f8f.1.2026.07.23.10.10.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Jul 2026 10:10:05 -0700 (PDT) From: Bartosz Golaszewski Date: Thu, 23 Jul 2026 19:09:18 +0200 Subject: [PATCH v24 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: <20260723-qcom-qce-cmd-descr-v24-12-4f87bb4d9938@oss.qualcomm.com> References: <20260723-qcom-qce-cmd-descr-v24-0-4f87bb4d9938@oss.qualcomm.com> In-Reply-To: <20260723-qcom-qce-cmd-descr-v24-0-4f87bb4d9938@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 , Mukesh Kumar Savaliya , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong , Vignesh Raghavendra 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=zV1OR5DiqlcnDzl6TeLEQ0wLAWkLclKWK2ow4Gd4Hb0=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqYkrJWYMHq7kgUQ1IfzagISl+V3RwfRRpCm6Yd khK5qcSBeeJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCamJKyQAKCRAFnS7L/zaE w9xgD/92jcrwEhths1pM1e26qDuDJsTs8VIHecHJGIKG2MtyXCynY5PlgFVfMaFI2Stj/0kd8eY G8J1L6CENOXg4sqkzkyCadGZcMbOFk5LrvNWyRjM3pWC7bS/fnMgspSQtm53psPCCWMZeIG35XP zcyjmf/5sYnVBKahalPJ8iZ5pjAr+UZuVSJEzUhOCQ8meMFW/nXUmJ3eiJuLUPAAIXtyZxv7ihw eyboRKSiJ9jYNRqhln14yyjX1OCzcWswLTyPdpk+nrOI35GXijzwyLAiYpIJVZ4VUAy5Q3RKP+Z M01nXfEcldcYqOn5xa2gz+KvkyR8FpMGN6ii9o936kNeN04gsRR4NNzbqK6oZt5AyAQOsSm88e2 fJ19D2Ohu39cVbAWLJT3m8C340yYc4mMHGPXVeLWOlA+QdroTy8xgjxX7P2Rouz49JRb2RP39Je JnPbJMlty2L7uTD+y/LcloDitkR5VoKHsOhUhBZz4nXuJ6nDj+y/NGSTHsB+Sk5xsx4dm4gcC6d NVf6XenrRTQzz3SZUDgW/JVDMIdkYsMXFeHqMwBZx4ZPK0goy6K3zVnNoqw0NzCL6xGmMlBEvJs 3vxdKjiflG/X1ofeGO9yQ8BLW0wtLeJjSjIlAkhzB+MtMcYi23Vb6Qu3vzWI+Z1/jvECmh+x3rJ 5Zkj+xQYXoASXdg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=HZgkiCE8 c=1 sm=1 tr=0 ts=6a624aef cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA: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=uxP6HrT_eTzRwkO_Te1X:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: Olgm74t2JsK2U8FYFtwumPQig3eFPaVg X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIzMDE2NyBTYWx0ZWRfX2IrZNfaoEYqw LtyHTIuggaINqP6wORwHqAyeI2pq70db8cGo4poxBK4936FdwbnXwAPzPyS22/AQMj/RFZO1/is ZM9zJDaTZYBHepTqzaHHCuoDX6XThQXUwVROo9XrA6GyGVpV228vylzpD/EtS0e5yqV+ADKz6f1 RhM2pFo5xz6jmutyT5Y0B5oomTdR7NMXJ9zQWUmkLNi7fYVf5aMSYkf50OJyJ8FdO20A8Vu4gjn bWSCLxt0A0UA4QKDjcRC/HXWA6LI+32+blPQ/OKD20jPf+oI9SilgAxyBCm1R/bu0e5+c444I6i AIAWy3bPvpRf1/e3jH9w1DSOfOYTJfYTveGwzhHTe9RDMVtlGy59RbdGmZgHiz3Zo0tSNZNzNg8 ryTxfp8GZZmISVbvMh7u83YaqluHeG6/2aAQJ3mUvatzVCPlIFLVFZ1FU15NhMkJU3bWdBBOY0x OcJ2aDOrh2iwqMLopLQ== X-Proofpoint-GUID: Olgm74t2JsK2U8FYFtwumPQig3eFPaVg X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIzMDE2NyBTYWx0ZWRfX85y7f6QikFbJ 215PHbnW7/zt6m5mnvXjf0/GZHbOX6ikMKZGpR84/fHXD/N6TxC2OiQW3ptYX/K/o11SD+yS12e j8esS0JaFQLyLpta2mVUvF4nR39SXBQ= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-23_04,2026-07-22_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 malwarescore=0 phishscore=0 bulkscore=0 suspectscore=0 priorityscore=1501 adultscore=0 spamscore=0 impostorscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607230167 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 aa4a0b17749081f1ad653424bc265ee81e348e15..4031b4516d6519fc5024bbbcc43= 9500a7b3314b2 100644 --- a/drivers/crypto/qce/core.c +++ b/drivers/crypto/qce/core.c @@ -191,10 +191,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); @@ -204,7 +213,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 @@ -254,6 +263,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 Fri Jul 24 04:54:30 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 9679647D452 for ; Thu, 23 Jul 2026 17:10:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784826630; cv=none; b=YuLPVowgg/He4HN5YMemjBVZ0xaU1XjFx7R8WNeNr5VwFYQKH+0qx3rc9qWywOV4IDA7UzfPdsC5je9Su1nlRASMfmWh6tCuzl3fMaHXJd0udTQItrkrqZZAGNxGZ9HT6W5llFEplq1QKwjzKuEDFvPwe33S7DUEXH6c5nCiHEY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784826630; c=relaxed/simple; bh=vxwkMMjZRH7IpQoBQNb3jByeFTi7xo35vP8N7bDq7+A=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=O/rheCbImZp/Lvjh9aESRycFga+LmTNS2K3uxTAI4//8gNMFH7bzG4m8298t+yQuGpxCx32BFxRFJsP2bAvQ0aBv8NsS99x9KuVL5PxNJEbvmJQtOPLRMXqOoVASqz+YbJ6pEBdw2f20lAnSSrQpDqTTrYfsLTK+sGpqOZN8g5M= 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=lPASLLBd; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=j166AUmn; 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="lPASLLBd"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="j166AUmn" 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 66NCvZgw3954511 for ; Thu, 23 Jul 2026 17:10:10 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= KhaVY2+kU3TOaAYdtCMY25s/44SdUzKCL6zQWTuyDKE=; b=lPASLLBdPZlmJqH6 i+ILibay/+d8E5PtBnMpCCrg8msLQbU6FeJ8m9z1TMiwR7tpR4MPzS4ORFCq7fx4 GzoSkp1WdoTqBTtRnfeCtbtJ+CMQrcvHnRRAseiFzyJpQWbPO3ceLdROdArcRzcC POUVDKGdCLMxUrMYBR+msWprOVdZAlD+f56TVMIga0JU2dJK37LSIy4nLW3Op8H7 maxFUl15AW/1UhVy6dtFzgXm86AeUVmnCuh5M+heux08HO4jQTRKxJnoX4tLfwkB JyIzS6aR3MNGSaNVquFpVfJkPntXaMNuU51ShUShou8nl/8bEv/P/zAAuqEdhTS0 NLz5Aw== Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fke0ktnu9-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 23 Jul 2026 17:10:10 +0000 (GMT) Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-8ef8249f73fso21058176d6.0 for ; Thu, 23 Jul 2026 10:10:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784826609; x=1785431409; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=KhaVY2+kU3TOaAYdtCMY25s/44SdUzKCL6zQWTuyDKE=; b=j166AUmn6JtJ/oHGG3lQPbaQeTni72cKKlK4XJhWUnczbq9vtNrlgejrewKM8cL6li WrPudZTSEt+CngFxtxhB+Zr8LhMEbJxW+46Y7aN2KH6ebHDB+6bKXPZLmqK00oEKezaJ eBuRG8BMxXohc/EscciAhVexypAm8zr3alkKSdQHcH2qnWL7LiTYxszVGdqQBFB1aCTe vgqtn7+L5m8oz9abXJT8vfRbQzT18y32APGs/a6lpcH7LZ6hjV3oH59r/xoef2uKr0kG fqY0dz5/jK1E+62Ba27DxeTdj57M7kpt9RgiZCFOoRDggyVhkBTn6RfrzdOAkt5kC+yO 7+eA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784826609; x=1785431409; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=KhaVY2+kU3TOaAYdtCMY25s/44SdUzKCL6zQWTuyDKE=; b=JW4Io7S59Cv8oNoIsy6oURvRY5qENJ4gmm8LpnEVlCduttqCE7C1Nyeqlo7PqT9B6m vUkQI8+oig8tUkc1aPASACz9YQiMpCow3j8MQ3WsgqEgK4ykL2zA/r/A+YlT0FJq1ogz 8LqIg+PxzrkHzHIlrc0LlKzaqp6i7ibmH4zNnxvxm1pZuyn/9kagfmPBumyqHES4fcbC O+dKq/BlmwYHrb5w6tYYH9NLDx/uVoP9s3UnCsG2kiD59/C5tMbpO6wn8orNowV/O1/c 9xvuZQWAGrPf2M8BAYTUzDQqT8ha8WOg9G0jTeJ99qGNI6yLoh+Ae2VlKOEubvD2ve4/ j9mg== X-Forwarded-Encrypted: i=1; AHgh+Rr0+G87b8pLKJ9e4PQLvSLdIuavKiEJDbujjRIxfc60PtEpYvZDDPaRlFvnIA/8yj9OnAJ8FPRaKb5izNY=@vger.kernel.org X-Gm-Message-State: AOJu0YzYkUqopLfoDOrkk6C9nxRkCXZjr1W6UDFrroBDNeltjFxYTDrN HgRdcOA9V4PvPv9kvKRTfUGiZpYNoGCbwWbMSNEfJsyrl8MILoTSeQNH+5NxHBVVSIDYOnKvO/Y PXSg0430ccxzANvqRhKhxUgLwanuV9deL5Lb+UdNvvd9n38gv48mOYMTY5+NI2D/Z/Q4= X-Gm-Gg: AR+sD115DxRUW8Y5dGb19j1vPdpNG0kvjA1wDF4REU+rrVJJTiSxpxHmSqEpMHn3LSU e7OyayzclSlKtv/8aWD9MomWssWt2uEictr4wAMsgnCRWXjhbnHKmyIOtanI/99ejZyz+AsQmp/ KBJEQeToNFW0qOZ1JtLHmZNAv+Ny62zBeNl2qwAmYeeRY2kHdRmMb6HJYYmYznkkg/GkC7J45cP 1ZwqiAcmJwtuWJRAJbvZ3AALdU2cRL+T0DDxFkvR8M1NF7lx2Zh1mP1uSQ96DYGFcWgAp/SfGLc hgErSOBPeSkAwlfBDWhc/4FZoY7GtTPzDLaz5dVKJYIYDi9fiRxBESvXvcGRA17TLPABeRo/Wqr zEnOATl0I9L8viJG3lW6OiZfqwm1V X-Received: by 2002:ac8:7c52:0:b0:517:96f0:5658 with SMTP id d75a77b69052e-5283ddd2adbmr37412951cf.14.1784826609381; Thu, 23 Jul 2026 10:10:09 -0700 (PDT) X-Received: by 2002:ac8:7c52:0:b0:517:96f0:5658 with SMTP id d75a77b69052e-5283ddd2adbmr37412331cf.14.1784826608840; Thu, 23 Jul 2026 10:10:08 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:cd9c:212:1357:7832]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47f85b9a64dsm18472999f8f.1.2026.07.23.10.10.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Jul 2026 10:10:07 -0700 (PDT) From: Bartosz Golaszewski Date: Thu, 23 Jul 2026 19:09:19 +0200 Subject: [PATCH v24 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: <20260723-qcom-qce-cmd-descr-v24-13-4f87bb4d9938@oss.qualcomm.com> References: <20260723-qcom-qce-cmd-descr-v24-0-4f87bb4d9938@oss.qualcomm.com> In-Reply-To: <20260723-qcom-qce-cmd-descr-v24-0-4f87bb4d9938@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 , Mukesh Kumar Savaliya , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong , Vignesh Raghavendra 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=11853; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=TZfKk+MyyTslO7iExD/EK4Vnr88LW7a2C5QGmGC1RAs=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqYkrKmtJHhwQNBkHj1FDmOuNyz7WabMtuJ1uzw 2lLCgm+OeeJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCamJKygAKCRAFnS7L/zaE w0xBEACRu7hxP1niJglw2Ecf6rwFI+pRR3k8UgRAeTJTQCtwUpF8q3i21kEw2qExMr37V529y59 I0QrTLy6ShNFIeqrDYBmWOPhNRShuGRIGiDaqWVV70i8a6uCzwJJdDkq7K5OssXXAn6a+f0s1IF gwjA1p2Q5ndb16Yt98T2H6XnWSKZKlsv2KL/Ya3ollNfYxDawIkSUh77tFHrAF9ioEnz8SkOzlM y+Yt7I3vc4j96KwY9yYPTCtV8HTo3U00hK5lK3uH+DDADb0qZHSs/FKs3Jhq9kiJI1LHo55Hf2g M2TRHhNUxmmo5CSCkItxdysqCUvblrGOE9baAE3xozsSi28hWTMC4pnd3Vlq0FzIDcNgQ6mme9J i1TfIGjo5AN6MQwgXTPHppIy1lL2TsG1xYcnjHOlosi/xIRxtPcMFLaEpJq0GG5sP1EA8IjHvS+ O/Uv1qFa24GHfN8WdC2NEqPvIpdEB0wy8rjqrmK/82e/gbA/5F1gBjzuTPtjDmUv+dRAMxCDzze 3s0+eIR/fGVozJr4YRt1WVicu7AbQDYYE7m1Nyvv4y+fLFTlupivqN5+DSexvU1XKRSRwaYVdRe ZUjD0Iy/Ixbtcd1B7Fnyfdmq9Kj3yavQfzw4sDkDn6T+hdfRWyVInvcWnfkQlD9MSOJEfMqy7ZX GpuT72k8LD7Kslw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-ORIG-GUID: hJsx0fJNrg726iwvS_fLRkdBqP4ig3R_ X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIzMDE2NyBTYWx0ZWRfX9jF9xPqqzLK8 949JBwSlG+771h+i9cdcOOqSCiZbwqYUTnmq2P/AfEwDZRgLqodVkM/eeq5bCqDd7w7t/U1jfQr Pp6H0QziQETUZYk9EZCe66WEcd0E8Fs= X-Authority-Analysis: v=2.4 cv=S7DpBosP c=1 sm=1 tr=0 ts=6a624af2 cx=c_pps a=wEM5vcRIz55oU/E2lInRtA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=ExZEzFaq8QRYdZmHolMA:9 a=QEXdDO2ut3YA:10 a=OIgjcC2v60KrkQgK7BGD:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: hJsx0fJNrg726iwvS_fLRkdBqP4ig3R_ X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIzMDE2NyBTYWx0ZWRfX4PUFPCHZCT4m IhJjh4ZG/BwBM43mNvvkKb9/FDPAZwZXBvcsF6/RSKw7IRCnj7n0X3fjRM3nJK1dbqg0FtBIHfm fBhnl9nJJTtWCdIU8Ee+ueHbbFNhF4/j/F+C0Ut4AN2cfDceFWbJXfhIf1n5/87RtQeXI0iB5ic QLNod6rE4h+rObpCliguYdTscEaSu8J0mofZ/iY2EH/9SNLPne0mqLrRx3xt7jhyIHa9pznj18F iDhRSHl3K6Oqty3TuJ8SCvTsQEWLdXCtBHOyvIrsRElma/IjewrcKaCve0GUkLbngo8NfxyQuhY aDe/b/hk6BUKZo4ex7fsB3F/P4uDW00kUG5/XLiZXCF81Nmx12NnoAgqSEEOvQlBqfyxlPRiPCV qM0Wt6M9DmWizPZOiOekpEx16zskIous2dU2utfmZ5mmc+hi3jQ/UzdxpZXi27zMb5vheO9XoG6 ymgeURkyQ4zqiUFWEHQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-23_04,2026-07-22_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 lowpriorityscore=0 malwarescore=0 suspectscore=0 bulkscore=0 priorityscore=1501 adultscore=0 impostorscore=0 phishscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607230167 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 | 122 ++++++++++++++++++++++++++++++++++++++= ++-- drivers/crypto/qce/dma.h | 5 ++ drivers/crypto/qce/sha.c | 10 ++-- drivers/crypto/qce/skcipher.c | 10 ++-- 6 files changed, 146 insertions(+), 31 deletions(-) diff --git a/drivers/crypto/qce/aead.c b/drivers/crypto/qce/aead.c index 1461a08e6c58b00e60aa35515f3392c096726f6a..544a3cf8709248a5f3eb2b669e3= 0b09183d3a69d 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 26347e9fc078adede712722107e74958538accdf..88d253d9147cfc9ed275653f7fd= 248538378194a 100644 --- a/drivers/crypto/qce/dma.c +++ b/drivers/crypto/qce/dma.c @@ -4,6 +4,8 @@ */ =20 #include +#include +#include #include #include =20 @@ -11,6 +13,98 @@ #include "dma.h" =20 #define QCE_IGNORE_BUF_SZ (2 * QCE_BAM_BURST_SIZE) +#define QCE_BAM_CMD_SGL_SIZE 128 +#define QCE_BAM_CMD_ELEMENT_SIZE 128 + +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_free_desc; + + return 0; + +err_free_desc: + dmaengine_desc_free(dma_desc); +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) { @@ -39,6 +133,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 @@ -98,28 +202,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 5476d4d30fae7eb72bbcbcdd7d8be7a76f6732c2..5cfd769a59a791a79da42e2a5b0= 554ad974f7631 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 a9b59e68df4b6837805d45391f5a5fe43fd47709..b4ef3748fbb4dde542b0307f32d= 4c871b7c33ac2 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 Fri Jul 24 04:54:30 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 DEE404746D3 for ; Thu, 23 Jul 2026 17:10:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784826630; cv=none; b=foh0OUf6XSGodpv84Vk26Gb3w0Jb5LLgDO7Z+NOPUNMaZ03ExY0pp0ViXcddSn/42l+sExypQjzcLMr0QcRU37DjxxhgRluC3LH7Dn4N8FCGRRz6l0UbRYcVV8BYC8sBIluolCeklvXv0dpFgEKatb9xRLS79B1wz7bzcduv6gU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784826630; c=relaxed/simple; bh=KeA2nSTNl2mDaJCzIxdtrLUkRk83eDvjYrA1TIhvlbk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Oxe4ti2hMmtU6yFS9h6smrRkOFBN8qZjzJwkGExFuYSXmJoN+qgsQymC9C268s55vvwH+o0Dn43k1AX06aaw4tvRLklSwrtxlmMuiBkuxGzcFBvH+IfElmd5DfkBaOalfDV/xUdRWPKgd/+IVbpHxnonORRMnTTXGt7NmCgKxAc= 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=WInOlkdy; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=gLxBtEw2; 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="WInOlkdy"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="gLxBtEw2" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66NG5BKI482906 for ; Thu, 23 Jul 2026 17:10:12 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= tWAPezfKekMTeUaXy15klHPr2QCAL4plvMCAq141yTg=; b=WInOlkdyW0bqceuJ XP5J+K4waTI2PIMPHCKf6xQGma6zeMfIoQA5N6dRnlpGJcjd6cO1e821jPzmKhrd acDTzvEg6dbppefZiCOEl3MGEBS/9TWYEUnnneb/RtSHnoyHKOHZT2Ui2YbQL1qH Uj6YP8j7BEutk5SNBJmg2YN2leGIEuJ164IA1nau/BEu+kfeq/kxJVmJYbTAuK37 F7O+ECK2HxFIfLeJP7qZSd4MyDsoqjDwZw9/8MdT1wxgV26CGW6IzJfwvJHrCs2N htKmrc3dCg1MGt7R68FqyuCwwQv/f3cNbh+Sst4Yo7cpQwySmzmp4YwZNzVnol/e kcK8Ew== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fkp5vg9wt-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 23 Jul 2026 17:10:12 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-5283fa0656dso13116651cf.1 for ; Thu, 23 Jul 2026 10:10:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784826611; x=1785431411; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=tWAPezfKekMTeUaXy15klHPr2QCAL4plvMCAq141yTg=; b=gLxBtEw2qLd8Pq72f+g8JYUG4ci+wb3AIG/fzgP2geRWdrrKrZDIIIGUsG42z6jDQn P2VyjNRKpyP1Rchj5pfPqkiCiApDYuag7VVrwQ0H3LohysU/zf+29QiJpJufoczS/0GS dQENsyLJkGHkK518Ec1YrauhTUjg5w3vg5Hqe1WGQpPt6rBcnGkdWCiJk4RjBWXTetfz 0OEsFPfrFy3Mu5oE+Fr1R1qHxsElhQlYD/X8V25zS61OTubvz69Z9yctE2uf+jjbxdUt KHecpXcX6nTY7aFEocqb3lgQkf1rgLoIgxveMLHbTzASvfrxt0ytgkXHrn7ZSSjWgYiG uhBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784826611; x=1785431411; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=tWAPezfKekMTeUaXy15klHPr2QCAL4plvMCAq141yTg=; b=hVSvyhmazUd5ptjEJvhe4yHfUYXIUlbGscN/jo/hVONWa30ebnQ59szGjOGFckStRh RnpEZPz7L8EXGFkXPTFw+6uOKFhnFkdjO+UXXyX2cB9WxCPF7bHEtzBdJQT3VFiaYCFC kRcjdUwLdDnS0Bzzo8I2FPjl8zlMPEQISAu55dno+ZeQQwkzRKf6feudwkn/7jTlwX7q bDxGhXTBUXoWiXxJxGjGevN2hjkPAG86sJRKBelsBfATpgEfESMee2oQVuG89G8VjXgZ h4FIdEJ3yFf0kWmSuN+tKNsrxDYBsRMNBVb7m4xztxrvARjinweK1SSTB2MBNEWNQUKK OUhQ== X-Forwarded-Encrypted: i=1; AHgh+RpJpHDw/jR56COSufcdPL6jZaF3+NlDCpvRuo4OJO8tsgHWACK0hA0sDJAsEFRQfvTijYOQeZdP+Yigc8I=@vger.kernel.org X-Gm-Message-State: AOJu0YwQMyEp+ISeMM/l1imUHeMWDrHA4mDPLGVlmOa7sK2hnJzhIPpH H58YTTlbBe8FQ7uDJP0/ZY2QuHjT8g2QTgUxmBQrSnoWWZY1LoC0obv//htozcjV3YpzDkjRgo5 ToLsXsB4UyaqYcmLhlYIETh7ggWVU29UY8CAUizKRDR3K/QMgsTYF2XQ/o4YWKqQXa/w= X-Gm-Gg: AR+sD13Jy0aWsrFFH/s4OALOs0xQ85HLI+NJg+7xekBYjZ2Y/YLbphz78Jqq0PYtM9C ViuW2cXQlnwZJWprpQVLdmNL/17Y1NVCIv4G0yvSeONg0EUMfobKWhiBmz9qBUYE/ShOMzvYNVq Hy1UDVXtOBBeeNUTP4G4W2jWnhqi/Tmbv0natmgNWhlspU9nEc4rLq5XeQo4MxescLpvhl+lJHz v+cynMonlWpg2PAeGzAe88X7coIcHnIR3sxyTF5oTYYySQDxEwHhKdP2+XxoNkrpmlqN9+4yiN8 kxvmo4AJo1972c4V7KKsCs4BoGP+3/I8NXnoM0AC/r5Iz+nr7hFa0xPw/0Z/kAGozj/+gvueCs1 VL011kVZgOD4ez687YVj1EfwdDInB X-Received: by 2002:a05:622a:4d44:b0:528:1bad:a2a4 with SMTP id d75a77b69052e-5283ed28baemr34689701cf.15.1784826611458; Thu, 23 Jul 2026 10:10:11 -0700 (PDT) X-Received: by 2002:a05:622a:4d44:b0:528:1bad:a2a4 with SMTP id d75a77b69052e-5283ed28baemr34689351cf.15.1784826610957; Thu, 23 Jul 2026 10:10:10 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:cd9c:212:1357:7832]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47f85b9a64dsm18472999f8f.1.2026.07.23.10.10.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Jul 2026 10:10:09 -0700 (PDT) From: Bartosz Golaszewski Date: Thu, 23 Jul 2026 19:09:20 +0200 Subject: [PATCH v24 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: <20260723-qcom-qce-cmd-descr-v24-14-4f87bb4d9938@oss.qualcomm.com> References: <20260723-qcom-qce-cmd-descr-v24-0-4f87bb4d9938@oss.qualcomm.com> In-Reply-To: <20260723-qcom-qce-cmd-descr-v24-0-4f87bb4d9938@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 , Mukesh Kumar Savaliya , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong , Vignesh Raghavendra 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=2903; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=KeA2nSTNl2mDaJCzIxdtrLUkRk83eDvjYrA1TIhvlbk=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqYkrKe6UqD+TDnHwjbOTrmC7yHfh6DFtjTuZM2 qORlKVkrc6JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCamJKygAKCRAFnS7L/zaE w3soD/9tkyrjFGKxSib9ygzwLxNvhuL6MH/F4spX6VXKXz/JZ1DgRRetA1dhStrhWjwcWHyQbPs tG8dPKx+MV8/Wyrz+ELdMYHkGiTLa7zVFbJx4F9uRDQ+o2s6G0JBCYfEMUHfgjiZQ9wuwfRPK4B SYj4r2oSVTilPS8LT723DNYTJUi7mN6wQTq6aFt3TwubwU8hb2+jmvhVgZrpQ6Arc14ahAEKHyg 6CgjZ+Vj1yHCJcJsKEWZyLck0fW+kg76xuz4GmAKHBOQIfNffjjvWITGqXb2amPXayfWrCnQwE9 wt1/H9sp9Nge/zdE6JgRe8m+cuxxFYDcSw9N+5Q8272vcTo9bP2SbuilMsVrYNwCvtP8AUt4F/1 TMjlEPkDLCw8clfqx8SH9ZhfdKmZGHzT1r4WRpEoQrdoDV45W3qPLpJIhCUWCtqZo1tqF9Tnrnj YRIzwMCK/qUh4xJf1Z44Yc7zcsUppmBlUaVWM9O484FMXD9xeojk+JoTAlTHAJY0DcooY2O/CjE 6CWKFoDV6R0kK78xhygNqKVYlggk7c/YSlQLQbFZkhIu3ylWETzXMLdZ6APFaP4nqHzsx296H4l 2VT8T+Whq13rgpAZi5E+7w1zrkQbk8Sx1DoPxHtL4ctvR9a6gY+8inx4kiHahJPtO4IO5Xocdt3 c8Vaimv34oc6Y3g== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIzMDE2NyBTYWx0ZWRfXyD2s/w4oSghz L2kVCKBKivkskdX3461cC8hEla3H9FVbxsSx3kiEuGHT8VIODj+G7kE96rpSlAY5ovihibJA9M/ 7eUwArTZuRxC2ZLr+fyZDpk2ISWV1kY= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIzMDE2NyBTYWx0ZWRfX6nmvALLzUtOG FW0BNbgkJrzdvNQCRS6oTpgKI7JcrpgazFCwTVSAHTVxh2ULivaNJkLoINO9bt9ojjumhX5h6lq 5K15VjJNrvcB5g/8iAah3wgseLV1c6cAXpBfx+fFumQJVPHUEszyMlKC5s/79OoRFu7p4OKGc9f mTR7pEsM1IQDKxua7A7Nkbb0/cBGPPdU1O1M0NVnWISkD+UYLqt/nc88eVg9Kuzdeuiw4rCdVPQ pMSqjQdHbMDp/wFl/V5YAUkhiTzVT99PwJ7VZPzSk9kPv5/z7/L5WMlQgKvI15gZi7Xc0v5hloz yLXEUYG2OLsXfBrBnshM+B3NkTB3Q/RfQ/gT/FWcgvfZg5R+xk+3YUXnWKCuY5cYO9x6U8SIaR4 DmMvvMJEiohX6UI7V+5AU1KR0GHPr+W4wz6znG0unBpnAJ8DHaRz1Km0ALhyToc5WtZ4oNsqsos Rm7lOtvXAzhVUocrMog== X-Authority-Analysis: v=2.4 cv=Z9Dc2nRA c=1 sm=1 tr=0 ts=6a624af4 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=6g4OycmRf1yXlxMorl0A:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-GUID: WYSb2y4Ka279u5were6n9ZhK5VLdFPLz X-Proofpoint-ORIG-GUID: WYSb2y4Ka279u5were6n9ZhK5VLdFPLz X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-23_04,2026-07-22_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 spamscore=0 phishscore=0 impostorscore=0 lowpriorityscore=0 adultscore=0 priorityscore=1501 suspectscore=0 bulkscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607230167 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 the dedicated BAM peripheral config structure and pass it to the DMA driver using dmaengine_slave_config(). Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/core.c | 6 ++++-- drivers/crypto/qce/dma.c | 14 ++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/drivers/crypto/qce/core.c b/drivers/crypto/qce/core.c index 4031b4516d6519fc5024bbbcc439500a7b3314b2..50fdc8d808d0fe1d9d430ec601a= b2ccf2ddf6e91 100644 --- a/drivers/crypto/qce/core.c +++ b/drivers/crypto/qce/core.c @@ -246,6 +246,9 @@ static int qce_crypto_probe(struct platform_device *pde= v) if (ret) return ret; =20 + qce->base_phys =3D res->start; + qce->dma_size =3D resource_size(res); + ret =3D devm_qce_dma_request(qce); if (ret) return ret; @@ -263,10 +266,9 @@ 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; diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c index 88d253d9147cfc9ed275653f7fd248538378194a..ad951a8821a480ebfe4e025eb6a= 7417f97d7331e 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 @@ -116,8 +117,17 @@ static void qce_dma_terminate(void *data) =20 int devm_qce_dma_request(struct qce_device *qce) { + struct bam_config peripheral_cfg =3D { + .lock_scratchpad_addr =3D (u32)qce->base_phys + REG_VERSION, + }; + struct dma_slave_config cfg =3D { + .direction =3D DMA_MEM_TO_DEV, + .peripheral_config =3D &peripheral_cfg, + .peripheral_size =3D sizeof(peripheral_cfg), + }; struct qce_dma_data *dma =3D &qce->dma; struct device *dev =3D qce->dev; + int ret; =20 dma->result_buf =3D devm_kmalloc(dev, QCE_RESULT_BUF_SZ + QCE_IGNORE_BUF_= SZ, GFP_KERNEL); if (!dma->result_buf) @@ -133,6 +143,10 @@ 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 + ret =3D dmaengine_slave_config(dma->rxchan, &cfg); + if (ret) + return dev_err_probe(dev, ret, "Failed to configure the RX DMA channel\n= "); + dma->bam_txn =3D devm_kzalloc(dev, sizeof(*dma->bam_txn), GFP_KERNEL); if (!dma->bam_txn) return -ENOMEM; --=20 2.47.3