From nobody Mon May 25 02:57:46 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 92AEF43635E for ; Fri, 22 May 2026 13:40:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779457224; cv=none; b=tuXNRFe8OiPkiLy9K6aaVUi75+6wMVc5wkl/LaFQgOIpF8lkajlOPaiUujMW+yfh75FgFT3LRBhwcpKaDxlKDNYW6YTRZbXzOWtnMIjLPJZJa8jJcQ79PD2dLVHr/sgMWhcyNdFLykzu3128y4ZOOk1Oc3wJI9tQ+VdFdbNLCEs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779457224; c=relaxed/simple; bh=C8t0ZoGUnDPF/P+4BK1Ho5MJ1aexupcCMbMgOX1T0s4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Zegby4bg2x09zI3niKktXgkB4RBqPN0o+O+IvYqj5cCbZnbQ4g4cvcMcga84f36d9+PsYINTotIvAbRoKjx6BI5UeB8foP7j3Ys1uhfKwoM++5M0AZLsawLkvh91u+J32bkLfNQbgduycg0Z6qy8/Jg+m53XqcCqAWUv/KW/dQE= 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=loxzmJ+F; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=d1ANo+R7; 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="loxzmJ+F"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="d1ANo+R7" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64M8uuj43005135 for ; Fri, 22 May 2026 13:40:21 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 51xURu7Zhd73Xm88jAVPEesUyLMnmj9g9fiXS+Fq4Bs=; b=loxzmJ+F8dCyrSYR 7Dg7ljkvX446yu9V2U+pR0QIsWFMM3NileByF4whwhNT1IXjGpb9WU3pwtTkb+GA rkKm/xIV0ciryNqrrxAngAR0wQBI4EzYvhZ1fYd1NRLSBm7IrizJT7GAiGSfaWdH lVGzUe7wWJJOuJNitUDaMGcSAy6cmhV81nhUnXMt4B6ZQcRKsTo+ukFIRTuJ5Bek YfsVqyorPD576chs/2OVAvWePmakuvCj3tdpzPtCfDbkeym++CHxLDPmTDyp3Ph/ esGTKBRC/1kSYhHKOFW47kN2PXuCWvzLzPiNKK6ybRrfndH/wbumbKcbfhIVDW5j p2jsdg== 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 4eafrta689-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 22 May 2026 13:40:21 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-514b673c8f1so124925011cf.3 for ; Fri, 22 May 2026 06:40:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779457220; x=1780062020; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=51xURu7Zhd73Xm88jAVPEesUyLMnmj9g9fiXS+Fq4Bs=; b=d1ANo+R7qbuBuS+LZqegVy/9leEcU+TtaAMnQLUpQmiJeg9kYDVeRfHnGKhk3BBjD+ O32dZ3RUwQU4FjDIs0WgRVcJ9YoLdP8qRxekoA6IokSY0+lSY8YPuj/4hSJW7zMB0HEu KahMebV/z0jFHSSeOayfQI2Kh62LWsZPfE+ip11qiuZ89IPDaE69/FztGxoJKVUIP2TW /slJ9iFVryU1ieGFNAFmlxr3Ig/4s2Tt4HE5ELZFlukNFAsnqxJjnkSqrScb/ge+7q1O gAzYuSwHDPZO95kRrJAXBrOgtDrh/tkkd4vPIkexISEdTZKmzGyFYKKro9+ChLnVZKdf f95g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779457220; x=1780062020; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=51xURu7Zhd73Xm88jAVPEesUyLMnmj9g9fiXS+Fq4Bs=; b=BdstBKTBEHJvFPkCo7WIkpRd730w55WwJW6FfW8vMjuR9Hz5GH3QZRjCq4Ah/C3e0A YdbdjdPxmnFmGkZbwyuQ+mWk5ySUfHSGZLP9QSKLcqHRaIWUaJZEr0PC2FppBKXCKXCc 6akS5wrcbgBb76Og/HUeyjel/EXvWeQnJ+eAhiezajYn99tTqx4H+dUXGucXZtoJlZ6V TDqrGOyeqcZiZ0c/uelRNi9woMcyAcq5MRUXMWtF+lu+WvZ+AzTlgQZT07G3R0CuXixX YGLmzfhKNzsJKfa4damFpsq73B4iEI3YcCN1WGjHg8B45o7FMOENihERyCGZxGMN4wro hSVg== X-Forwarded-Encrypted: i=1; AFNElJ8/ruvekTOUKtO6uQXb5JF1fDM32/eQQzkvh1bFSfPBFGPaPAGfKPVSmqOz1hPwm0caq4sLq+Zq61hNK/M=@vger.kernel.org X-Gm-Message-State: AOJu0Yy6jEC+rFDrN/GKQ+Js76Kt9xVqoP79nJg3bZd0n4VPR//Js1Eh k45d5iTVdNNE0a/ouXxVbf4pG41OlJq4Bj+S1Npxy0lh5VWhKsQJNu3kk9r4TDHaqFm1tHXwzgU StliHdp2hdTjD0Yj8DISyXF7VfShVGmW5Xxp0qXSNvH4jeVuj3NVu0ZiTwm4jYOI0Gv0= X-Gm-Gg: Acq92OEorxd7PvVka+CambqvrrK6wsWl4c4TnvaFDD6aHLaux7Zuk9HjpcBSZ5mNWFf d19VtgJcTw8l7oExWiKm9iFQf/WVVKr/GGAj7gXBsaZ2uC84jM4Ahc6RHeATDeYW6KoQyQcWysr aAP4tnxzlK6ecEjcJX2QAG42/cwWAdy8MWMabuGoDMJfhpnqtDVTuprWF5rKnVdiN5MKRce9q4h yhyb7hldrhofAZwqQrfBjKE6cD/kBQi+v7ByV1D7YW+sSc89qSQxJFWuKYTbLMVYM0WqxMalPwL RiAcZcL3+DiSgjO8YAfPHHS6zuhHkK5MDLyrkZmjuKmGxSdLiX08ltS8ruZa/oAuwQtPzZecsgZ qA+XAqQCRooHm3IXjB9lNWqucllDjD8Mh9jTxqq0A8HCUWcLlmMZHZU9ieRfU X-Received: by 2002:ac8:5cd5:0:b0:509:2b02:c1bd with SMTP id d75a77b69052e-516d442805fmr56740411cf.12.1779457220185; Fri, 22 May 2026 06:40:20 -0700 (PDT) X-Received: by 2002:ac8:5cd5:0:b0:509:2b02:c1bd with SMTP id d75a77b69052e-516d442805fmr56739721cf.12.1779457219446; Fri, 22 May 2026 06:40:19 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:2fa:6280:a48f:fb37]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-490454c600esm44912825e9.3.2026.05.22.06.40.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 May 2026 06:40:18 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 22 May 2026 15:39:54 +0200 Subject: [PATCH v18 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: <20260522-qcom-qce-cmd-descr-v18-1-99103926bafc@oss.qualcomm.com> References: <20260522-qcom-qce-cmd-descr-v18-0-99103926bafc@oss.qualcomm.com> In-Reply-To: <20260522-qcom-qce-cmd-descr-v18-0-99103926bafc@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2295; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=C8t0ZoGUnDPF/P+4BK1Ho5MJ1aexupcCMbMgOX1T0s4=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqEFyyMyvLLfOOTHigPKtrLIkfFqjpy/Vy1HESB YKLV/xlDEGJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCahBcsgAKCRAFnS7L/zaE w9XEEACBI+WYfAdsUiua0bePagUO7ktC4LRT4cbP1YIPs4CKHpbMR8GPY+M41nEEKYqHYoK2eVS kXUAk3LTJiWCPIoZzrtNEy2ney36HCmtBt7yuln5eTzdcrjqrf8C01YI0hCnniB4CQlu4GzkCC5 ILveBVQ9B77lGzfz89+RS1tx5jtoBtcdVOO4pzNgG2aDmK+Efvsg84bRoEy92CYOZWDp/7eDeVU aYwRnFCyKeE8lIjYZt6pS/lZEPRt03Z/YELtvjDq2moubGDEb0BKU+AdoNoqm8IdwbtiCLybHz8 13nKV+WcfefcCDjxFHa36y/xB7ikS+PTYQ1QcuDGeEywOwobW3ZvyV55XOfNXMXJrN5Gk6RwxGZ dimIHmQEp0/HUTc1HlnCZLhVRYZfjrx/RGcvyyYv862Uc0wT92ffexINzv3/WSbF7siR8smt/pZ DE7KuF/X74xOGRjs2URJep2zLHeWWbQohK70r0qD3aoQzkgIlDxr9RuAI8M8OPsY70D1PR09RhN sLIe38e854qqBne5Yl4k3pMiXQhaclJYTrBrMUVBxuMp09i2IOxXsifKHqeqqlbN3vsx3dA9Udh uvdxMg7bEOdCwssfe8gqSXTFZMestJCULF0Cse4mJ6K4+1Qt16N/FdbORA1DUWLmZhaTnYdCFFe 5sCLfu5SfezeBPg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=JN0LdcKb c=1 sm=1 tr=0 ts=6a105cc5 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=XeVHrwws4l7kqE2Ex6IA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTIyMDEzNiBTYWx0ZWRfX4i9G8O6lmpuI TE/3OWMyReKG9pjFuHFR5Ux0N1b8fqoMYM6mHECr41vyjTgNed/7495W7O3Np2YjR0vCCyD4cp2 uZYqgtNEo/lqiMZE8U3pHe3jXDY+/3F+orQ8vDpIpCFmi+8jo7WLV76NMI7kBDLCCiVX7ekotdP /lOlzOuJvKYONczhundOM8uVI82w1p9n3T2aKmJFjQ9Ct5Lc2JR66x/r+JlhGcgnh+REkFzwznD UoolWUnUMWHQTw8GICnnYNkKkUz2QGjzEQKOdYySp0Gye5LTIf83q7/IsWTPN7y/ZFgVPMwQTZP jhN58bCET4bNeatFunEima32sq7rtFmEC73se3p6N/qjboMmstcj+fdQkukWyCNokHm56gn8ey8 vofcbtrN8zqgHfyaEjWx4CmVAXFgWTMUxn/1yf12Cwv1INA7lGPbxNlA1qW4Dz7eLDoPMT0S/uo JxzaL2HuuATQH/VfIdQ== X-Proofpoint-GUID: v3oPcuL4KWALMpMDP5UqVTrIiR8LrDB3 X-Proofpoint-ORIG-GUID: v3oPcuL4KWALMpMDP5UqVTrIiR8LrDB3 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-22_03,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 lowpriorityscore=0 suspectscore=0 malwarescore=0 impostorscore=0 phishscore=0 bulkscore=0 clxscore=1015 spamscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605220136 There's no reason for the instances of this struct to be modifiable. Constify the pointer in struct dma_async_tx_descriptor and all drivers currently using it. Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski --- drivers/dma/ti/k3-udma.c | 2 +- drivers/dma/xilinx/xilinx_dma.c | 2 +- include/linux/dmaengine.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/dma/ti/k3-udma.c b/drivers/dma/ti/k3-udma.c index c964ebfcf3b68d86e4bbc9b62bad2212f0ce3ee9..8a2f235b669aaf084a6f7b3e6b2= 3d06b04768608 100644 --- a/drivers/dma/ti/k3-udma.c +++ b/drivers/dma/ti/k3-udma.c @@ -3408,7 +3408,7 @@ static int udma_set_metadata_len(struct dma_async_tx_= descriptor *desc, return 0; } =20 -static struct dma_descriptor_metadata_ops metadata_ops =3D { +static const struct dma_descriptor_metadata_ops metadata_ops =3D { .attach =3D udma_attach_metadata, .get_ptr =3D udma_get_metadata_ptr, .set_len =3D udma_set_metadata_len, diff --git a/drivers/dma/xilinx/xilinx_dma.c b/drivers/dma/xilinx/xilinx_dm= a.c index 404235c1735384635597e88edc25c67c7d250647..165b11a7c776abc6a8d66d631e1= 9da669644577d 100644 --- a/drivers/dma/xilinx/xilinx_dma.c +++ b/drivers/dma/xilinx/xilinx_dma.c @@ -653,7 +653,7 @@ static void *xilinx_dma_get_metadata_ptr(struct dma_asy= nc_tx_descriptor *tx, return seg->hw.app; } =20 -static struct dma_descriptor_metadata_ops xilinx_dma_metadata_ops =3D { +static const struct dma_descriptor_metadata_ops xilinx_dma_metadata_ops = =3D { .get_ptr =3D xilinx_dma_get_metadata_ptr, }; =20 diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h index b3d251c9734e95e1b75cf6763d4d2c3a1c6a9910..5244edb90e7e7510bf4460b6a74= ee2a7f91c1ccc 100644 --- a/include/linux/dmaengine.h +++ b/include/linux/dmaengine.h @@ -623,7 +623,7 @@ struct dma_async_tx_descriptor { void *callback_param; struct dmaengine_unmap_data *unmap; enum dma_desc_metadata_mode desc_metadata_mode; - struct dma_descriptor_metadata_ops *metadata_ops; + const struct dma_descriptor_metadata_ops *metadata_ops; #ifdef CONFIG_ASYNC_TX_ENABLE_CHANNEL_SWITCH struct dma_async_tx_descriptor *next; struct dma_async_tx_descriptor *parent; --=20 2.47.3 From nobody Mon May 25 02:57:46 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 34C12438FE3 for ; Fri, 22 May 2026 13:40:23 +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=1779457225; cv=none; b=fiaJXUCZNR1voNovCyIgJKE8bMPtY8WAP2n2D7rkBlfHFRq0i6mkfp3asiOdAnz9Y7w9CO4lu9b9VfQOb76Hu4puf3dhERXIZTm7/o8JUFpEzkpuNkgpqlbJ2sh3C6xTTQ8/1xtQOeQLu1Ty4sr72xDlRqyNQuo71SL+YVuib4Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779457225; c=relaxed/simple; bh=yKvgG0rTvuvJLcjw7C6atYAtuGT91Jlwk9eV3sVaoBM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Y+9nx53yMeGRjahLwkQ5SKJPwH2Ed4WtbT3IAJBFIzmSbQG+/5yClKDybM5of3RMpkDg9korzhUIpyyVPYUr7A/2g5/4jDA3vpH3G+BE6c7NUpY5ZlNY1yeiQQ3dxxuPAVHHTESmGDkKkUO1xjD58aPlD1KCg0nCf4CO3CIPOY4= 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=V9QMcUOi; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=TOGZXXez; 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="V9QMcUOi"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="TOGZXXez" 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 64MAIomW1800948 for ; Fri, 22 May 2026 13:40:23 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= j2g7T67hXwVirNiCmNO6EC06JYgACQ8VaJoiHLwm9Nw=; b=V9QMcUOi7GuPFjlk iWsdKoKhc5xnnmNqA0jCFDOGNwx6V6T5eNUHnqAMEHx8ivt1habATb0HlK1ov731 BBX/0y5CjhIaETy3u2BdCIx/G2q+d4wb6Rci9txyiVFK5yQRta/etS16TAXGTI6C Q9gbYtn3lC/yBbW4r0+QArhi/hVwIeejFvhmkHCjwM+I84lHjwLaOryxzD+3p796 KuVkqmCw0dJOHOMKjGnqu0dTsupbo3QKywOmfbnZ5iHvsh/I0vwmKV6ubhfCvxPL SzHkR9RKFkuwjHkdOcg92wocaDkWFZeFhPpqGscNHbCyO8Rc0RyxpL8o36BA0/e1 g1y2NA== 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 4ean9g0nrj-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 22 May 2026 13:40:23 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-516d8b6e4dfso10081301cf.0 for ; Fri, 22 May 2026 06:40:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779457222; x=1780062022; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=j2g7T67hXwVirNiCmNO6EC06JYgACQ8VaJoiHLwm9Nw=; b=TOGZXXeziVN6nRQOSb/FeaIh5KGZ6tlHxbneL/e4SR7ZhcPC8epqGPv9DeTMpN4s62 4Fmqm7l1S0IoM+q+y8oNbwy67ZTQWHmw1JvqGHurXn+WEYf3GDWsOr8BbNCCzu7dNc11 ZkXfsRvfl2q+u2vMd1JhN103vEtttiIcYe3p3gefWNImo528t2aBv1C2et+xxW10RIwd UH6CT7pBtaqeFP5gxG6nbGOwlPf1Rgsg9CqjYx2A39n7bOLoPVjaiZVmKsccCPMZUVC/ COJl/H+7hz8en+uhEPo5qcY/AEmwOGkd7Ty/qCehWJNbTWent7r7soK2rSul5GDMdQbJ VjUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779457222; x=1780062022; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=j2g7T67hXwVirNiCmNO6EC06JYgACQ8VaJoiHLwm9Nw=; b=J8gfpCdDduyS0qM0XTMuZRlhXKoWfcXyUyCwfddw8Frs6oWX5MhmOqShkWKDbj0oQq 5onabqJNHKAVgvXBKaFIFnzmQtEoYnmgZvc4zJALHxOTzv8zeN2Mk3WelKh83Qie/IuH wzugyjieArStvvt1NK3LrJHzitKDmQqvVhSa73j5a0h5koHDaASAwRaHuSmLiKv0tQnU YKHPL29kPMpFpDOY9mqcTU8hvl34SL5imKOFDOymvdwVxYzW5XElY6/zmvS41PDl3HAm lytP4Cbi+tOsGIwuGT9FLUDxiTNqKtHk5rGZNEHlYfenQCk5szlAL7rLZbFINrUILXlR OViA== X-Forwarded-Encrypted: i=1; AFNElJ86/zLJcNXHEhCB9jKrIaCAjnEm/HLZsututvPhTdU1Csnjwd05n5Pysr0J6wF9c18sBtZ8C68LeVgkrkQ=@vger.kernel.org X-Gm-Message-State: AOJu0YwfOnBFjTLxWu2VtYbXK/nEQtO80Me5cKNjLkK3Bz15Bg2D8Juc gCsOZR4V9pHxEkPL+8FUwDR5QfOyKsPfQ/N19gq7XU5tALxIGB6aGo8AAjd/5RyTkZI1U0+X9vu +lZDXmAG+rUcgHxEehnlMvBbVjsdJXGKIchGcYIvJTJCgk82AVOOS9dOCbr7nJzCza+4= X-Gm-Gg: Acq92OEBeCHO32RMzSsBywkx6mCwxcSB88HZmsjt4EfR8FCGFo2Vft9YZk8UUKqPFDe bRpugit1pqG6+NDlOiobA0780eqTDlPtCcxs4MNBrBiELejHYheLEU3DSrJLbCV0LqsZUwOusJB NzsKaNkvJL2pYh5CykmtV0E/ngNzZTgmIkp2axxp3ffkeHHYzHEg2US13qwLNZKPmPXit7nG1x6 KLC1IoNl1NBl/qJm6irXEkVwqEGtjMXd9JeGAGdK+qAEbZmUwmid+FO0eixSTlY5syq+I6qK2kX 5E2UJBBK27DqjbgIRVvX/zf3R/IwZJPeE4iCGXalwAdikAeEoaZPPZCpAId7eYEA/1pPBfR61IB v0B2Mfz5ZFIaw/YFBrY1LMIPDwnemDwk3Hn94AKQlw3GUCe17+A== X-Received: by 2002:a05:622a:a90b:b0:515:7d69:4c0a with SMTP id d75a77b69052e-516c54cdacamr67015311cf.2.1779457222329; Fri, 22 May 2026 06:40:22 -0700 (PDT) X-Received: by 2002:a05:622a:a90b:b0:515:7d69:4c0a with SMTP id d75a77b69052e-516c54cdacamr67014841cf.2.1779457221737; Fri, 22 May 2026 06:40:21 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:2fa:6280:a48f:fb37]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-490454c600esm44912825e9.3.2026.05.22.06.40.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 May 2026 06:40:20 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 22 May 2026 15:39:55 +0200 Subject: [PATCH v18 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: <20260522-qcom-qce-cmd-descr-v18-2-99103926bafc@oss.qualcomm.com> References: <20260522-qcom-qce-cmd-descr-v18-0-99103926bafc@oss.qualcomm.com> In-Reply-To: <20260522-qcom-qce-cmd-descr-v18-0-99103926bafc@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2764; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=yKvgG0rTvuvJLcjw7C6atYAtuGT91Jlwk9eV3sVaoBM=; b=kA0DAAoBBZ0uy/82hMMByyZiAGoQXLPIYQPrnZ/xYu60uh01cd0qPgA+V20Gnmo2k0X5SkfnW okCMwQAAQoAHRYhBJHlEy3ltUYde6Jl/AWdLsv/NoTDBQJqEFyzAAoJEAWdLsv/NoTDIUgP/1Rs 8KhvkXDlop1eW5Zm2UYtzwQ8MWsBJXIcYHv/LvM40EtGmuKFx3Dv1xPh6uG/54rAtUWB6pdUTt0 Rt9yQ7eXGUbiO6q6HRm0Nh7SCwlHZEAAmfB/vUQqNa6+FQ+vRujcfXj3tPs41Ra7H848YAYrCJ6 tMMHzVsFSeQ2mEQ9JDc5cn+F5Z3TWqq7uNfrAxocXFAvdO7/eg6zQrjEbqvWyPB8xxwK2mSoe0d tTTRZdmXS9nGoYK6CWq/r9W//W9Ur4DRnzVOBCXsFBsm5Px08pp4sdFZOQC/pBM8mOnZVLmBJ11 tMSI+TuVsEkxgEfu3OsMZQrL42RDjyrOl4bgXD6GiFERrp6+dU8+KsQbzdMmRTAi30wncJW5wD+ 0XevaHhE2m1YkGstKi6MLn7JQYlXZwkVJM/2k2BvFRDgHel+nZp35Ple22kd/s6/Vw0CIIFlczO kGtLE+okV0fbXc0IXMEZhP2ybDw3YrIJQQqLl4P4R7EqaGGcOZEHIJRsZ+ijTZTowqV9854hMnp Qu52D3mczLLjgod+IrcP+e5SKtmlZa3jc+mdmI/N2lQiPM1unFZGtUoQ06Lxl/ljfLNwwU8RhIs w7g2bdH6iZsY9W7MZdpBnc2SWBMojiIBcy2eF0Xgcj6Mnq/O/84w4q0MwypJDN0BigyVnVRWhT5 GIU7R X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: q4zk4Eq8ZsEU8Mcm078Kn0QoGbkIeGkK X-Authority-Analysis: v=2.4 cv=B/qJFutM c=1 sm=1 tr=0 ts=6a105cc7 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=c92rfblmAAAA:8 a=EUspDBNiAAAA:8 a=n8zAjjMAgf0wD31B80cA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 a=GvGzcOZaWPEFPQC_NcjD:22 X-Proofpoint-ORIG-GUID: q4zk4Eq8ZsEU8Mcm078Kn0QoGbkIeGkK X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTIyMDEzNiBTYWx0ZWRfX9cEc+S/CqM9L F/SGYBs8m+ztEIT1r6l5uHZ9Ey3r67NASnJe5o9wNODubKO3d2Iv8s6X57OIq2tUBfwa8DLxzpR oOWMI7F/ATNC0HHreGn2Q32NIQ9A5uNvBfpo1h5AB2zMvk0mNyhnhzzjaSXp13Bx0Oc+LR3x0Cp TUvaokArJMKZI/lXLbLIiHKyQ/lM4M1mfwxRRCKIKPFzEgYiQ44PiI/sMGnLC+YgVg5vvrHuDmC IcRT+4PY7HojDC6oXLRDzUShzHEXJKl2OUkJ5yPTVq500EXfFDyMVmnIt/93D8wnao5VnJvtL0d 2BP5jq1s8Kis9Na+3LyD7rMHNDkMuN95tgF+9PWENsz8Q6ANv2gROmGq3OXnSS/YsyCXxIyiIq+ yp24I2En2Rzdwt/afKkjSmuhebVY+U/rSRTkzJY+RuNu1iWXvOpOgSU8il+/qBrvjGZYihfu89f fZVgBwXQdxNFuQ26X5Q== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-22_03,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 impostorscore=0 clxscore=1015 malwarescore=0 lowpriorityscore=0 suspectscore=0 adultscore=0 priorityscore=1501 bulkscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605220136 The BAM interrupt is requested with a devres helper and so on error it's freed after probe() returns. We disable the clock before freeing or masking it so it may still fire and we may end up reading BAM registers with clock disabled. Stop using devres for interrupts as we free it in remove() manually anyway. Add an appropriate label and free the interrupt before disabling the clock in error path and in remove(). Fixes: e7c0fe2a5c84 ("dmaengine: add Qualcomm BAM dma driver") Closes: https://sashiko.dev/#/patchset/20260427-qcom-qce-cmd-descr-v16-0-94= 5fd1cafbbc%40oss.qualcomm.com?part=3D2 Signed-off-by: Bartosz Golaszewski --- drivers/dma/qcom/bam_dma.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c index 19116295f8325767a0d97a7848077885b118241c..b3d36ea79984385fe0d05ce5604= 2d3e6e3030c5a 100644 --- a/drivers/dma/qcom/bam_dma.c +++ b/drivers/dma/qcom/bam_dma.c @@ -1302,8 +1302,7 @@ static int bam_dma_probe(struct platform_device *pdev) for (i =3D 0; i < bdev->num_channels; i++) bam_channel_init(bdev, &bdev->channels[i], i); =20 - ret =3D devm_request_irq(bdev->dev, bdev->irq, bam_dma_irq, - IRQF_TRIGGER_HIGH, "bam_dma", bdev); + ret =3D request_irq(bdev->irq, bam_dma_irq, IRQF_TRIGGER_HIGH, "bam_dma",= bdev); if (ret) goto err_bam_channel_exit; =20 @@ -1336,7 +1335,7 @@ static int bam_dma_probe(struct platform_device *pdev) ret =3D dma_async_device_register(&bdev->common); if (ret) { dev_err(bdev->dev, "failed to register dma async device\n"); - goto err_bam_channel_exit; + goto err_free_irq; } =20 ret =3D of_dma_controller_register(pdev->dev.of_node, bam_dma_xlate, @@ -1355,6 +1354,8 @@ static int bam_dma_probe(struct platform_device *pdev) =20 err_unregister_dma: dma_async_device_unregister(&bdev->common); +err_free_irq: + free_irq(bdev->irq, bdev); err_bam_channel_exit: for (i =3D 0; i < bdev->num_channels; i++) tasklet_kill(&bdev->channels[i].vc.task); @@ -1371,6 +1372,8 @@ static void bam_dma_remove(struct platform_device *pd= ev) struct bam_device *bdev =3D platform_get_drvdata(pdev); u32 i; =20 + free_irq(bdev->irq, bdev); + pm_runtime_force_suspend(&pdev->dev); =20 of_dma_controller_free(pdev->dev.of_node); @@ -1379,8 +1382,6 @@ static void bam_dma_remove(struct platform_device *pd= ev) /* mask all interrupts for this execution environment */ writel_relaxed(0, bam_addr(bdev, 0, BAM_IRQ_SRCS_MSK_EE)); =20 - devm_free_irq(bdev->dev, bdev->irq, bdev); - for (i =3D 0; i < bdev->num_channels; i++) { bam_dma_terminate_all(&bdev->channels[i].vc.chan); tasklet_kill(&bdev->channels[i].vc.task); --=20 2.47.3 From nobody Mon May 25 02:57:46 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 6F96A43CEDF for ; Fri, 22 May 2026 13:40:26 +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=1779457228; cv=none; b=CtaSgAMGktouwGYAaH2RORkDB8oTTHnceX1ryIcXX63ebEH7L7P1/QPaEu5iM48YeMFproFMa3bglaGbOlJiKhmx+vFEiiCHXcUX3jWXHLwZuAjE7m/n3Zz4jTYZWJACXN+C6/lcta5cSlnMZhWZZ0wHyCAMU1nVNyAsuhmOiRM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779457228; c=relaxed/simple; bh=8kt/r9HrIy2XInrbgvfr96jusMTBkm3qidl31H1ffz8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=esLnHh2UduLzYD/1IWQi54Wyta4rahl+MEfyVENMszCWwr1ldVp//V1vP78hpNnFZzXwPENvJUf94pJZ+0h1qb8CgwCL8N2NRuntCxbCu9aIvu//ZtRlHfRHLfCf06a9Yrx3GN5JYmG5e3F9qb6bPRyqNUsQMc97Jq6dN4Xd41g= 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=No6M8Rjp; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=EsqWgxlE; 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="No6M8Rjp"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="EsqWgxlE" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64MCQhZL1960008 for ; Fri, 22 May 2026 13:40:25 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= tEzaODDzYECg7HtqD+MDkUrvvRFJmjC1+RPt1k/O9MY=; b=No6M8RjpytrH+Ej8 nPxPuBMdxzhYY6j3kJxMz9Qs6FkM1YzdFcOha7sPXPST+aN9pMfAxzn4XjhhKYtv tCf5WeivKclkFUQBlZepbztZ0otTM9+ZGcTgGzS0EOPRfPgDva4cUg5o//zTunfV 2CADJzvneru1kpFX2jINryf+HPy3PvlSFYuQdOaFS3M/lE5uel88UmBoYsH6xo1H H68qlK+MkmWqpUGqDaTsRxOZQmA9wFs5Kc6pZ7uomo/I/0nuIcqLXyBiV7tFFqBh sAIsmGFSnI9OJOb5n8FTdaG7dN9NyAlP2yWWHT8oAKRHjmzHRWHw55tT3tTxJNxs xarMEw== 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 4eahxesqcb-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 22 May 2026 13:40:25 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-516da5a1db4so13176551cf.0 for ; Fri, 22 May 2026 06:40:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779457225; x=1780062025; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=tEzaODDzYECg7HtqD+MDkUrvvRFJmjC1+RPt1k/O9MY=; b=EsqWgxlE3sVKwpi+NuShfmH8VmFr4RExWdz0uUJ/bAoG4kkuzHWne7oiWcW7IGsjRu zcTs+EHJthbh2h8fUW0JUvv1sxPks41DnCF+5VndBlyhmdGxQBi2pOzU92FY+HX+qUuj IYPHeNcKiyro5jK7KsQHjnFqci592puHlAzFaJqBlFwMrW2IrP5ia9rBfMd5x7an7oJX zQZ80V9L1gJ5b3inZB6McJIIPQFbvnl/NPfY3Tajj3D6q7wwOzfLembujQsrdlhGSwiw Ksphci+wY00J40LHmfY1IqaiEnaqhqPEP7tgT0eQz7h408O/GLQcpJFOKXGj3FgYJvqi Vjtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779457225; x=1780062025; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=tEzaODDzYECg7HtqD+MDkUrvvRFJmjC1+RPt1k/O9MY=; b=oMQgDxPbPASl9fJG1YON3NMwNXh3GBvgzANYEjvybDYMmWFAocVhZrPuq8G06Y3kbp wnvLdJEXJfIPpD+Rp1w/sAMwAcJE78m67nTz+5TDC58WiXG/BGL/wS2YS7t01Uxs783o nfEZXGM50oVr/L6Rh6wM9ILVE0SZK7JNWSqY0IWWnEtb4yqee+jtySshOi3Vz91F1uaF 83STLndGu+qQHRppyiaP1Ozznn7EOG/PckZuxMYZboO2UnXRo+JHN+w2vFl9SMouRmn7 YW7m5WKIObKcNZA1c/UK73DR+7VCR9ysG0N7+MAD9Kv9j3RkOAL3t0gTCB/farSEnLrQ 0dMQ== X-Forwarded-Encrypted: i=1; AFNElJ+xPj6tscHVzx8hHZJn5KFpTPnj6kLP0GPrOc2H7foTRSXu4sO7lRa/dZLKRdJvOsbGMyVF7fcSecaAccM=@vger.kernel.org X-Gm-Message-State: AOJu0YwPDL2yXHPhNkCkiRwka7fTzDWOT2m2DH7dzKTprhr6pdt8ZpRC d3o8nyG36peZx4kd74Ytx7dqcPNYQECD8LnF7dZlI0H2AOGEKQSbLGuQyzHLdlbQtwjMy7w4gWt iaPGS0AsNhxpv6jcg/+swyCcXaox8ZW3rdSzBLgJfFTeDn2g6XcICYmUh9+rq/PaJk6A= X-Gm-Gg: Acq92OHXH7GcZI4XOow1Yi7lfhUEi71sl+n76ARG2vjOsiQmp+YE1lxFTyVPlCWRANR kd/ZS0Ek4BKihRjfLpNBhKK3cI73mKjuIs5ndccDMx8fJWXjEzYSVcaFAINmDcAD3mxBwNuRp1L CvavNFYTP/m1v/xDhswZOM/vNmiWAZAKUg0TMzZNhQuGPAZWvnKzulcqVOS1BiKzSM/G1wBFwZ/ iyVDyiaB9dFfuaJIOW4EtOd8o9swxfBiD0mTpvieoZpcahJmCO6Nxe1ENMwh73brfaPpqnKVU4G vlM5GhXIMBx/2EtRdTA672NZiVgiP29URf/4N4vvrrueesZihZ+udtfDqPNObC+NgsxCObDFIm8 aaQWhDJIycG3kiUSfMm+stGgzr6ZFCMx05QWuDGX8V1UEnWbkeQ== X-Received: by 2002:ac8:59c8:0:b0:516:d1c9:8c63 with SMTP id d75a77b69052e-516d419a58dmr55277621cf.0.1779457224550; Fri, 22 May 2026 06:40:24 -0700 (PDT) X-Received: by 2002:ac8:59c8:0:b0:516:d1c9:8c63 with SMTP id d75a77b69052e-516d419a58dmr55276951cf.0.1779457224043; Fri, 22 May 2026 06:40:24 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:2fa:6280:a48f:fb37]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-490454c600esm44912825e9.3.2026.05.22.06.40.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 May 2026 06:40:22 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 22 May 2026 15:39:56 +0200 Subject: [PATCH v18 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: <20260522-qcom-qce-cmd-descr-v18-3-99103926bafc@oss.qualcomm.com> References: <20260522-qcom-qce-cmd-descr-v18-0-99103926bafc@oss.qualcomm.com> In-Reply-To: <20260522-qcom-qce-cmd-descr-v18-0-99103926bafc@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski , Dmitry Baryshkov X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4421; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=8kt/r9HrIy2XInrbgvfr96jusMTBkm3qidl31H1ffz8=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqEFy0QgoalJd4nsv+KyNxeRwnVz7T7emmA0iAn w+bq7A/yZqJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCahBctAAKCRAFnS7L/zaE w8mtEACcAKWhiKNBPOKaDaJWsMVeL5dSBaURqzzIgwKoPMxvuoftrlvuBf9efXzi/pqWbtaH27k zaZ2VYgftBIn3qooLBaL0NYAUIEL0rkJBjRJo8M+OrFTJMRa/zt4/8EMlssPdQ42Z6O9IuYvqXB ltpqe+k1ySWpH8rH/jqUymODykLOR+Vh42x0oxLXw0eKowTJCVaLgza1j1In+LZE1gisl3EuPeF kX0WWm99riJ5ldQGaKd7GF+DKVF15LNhbVMhQU/wJdzkajj28R7ZppWrDj9HE6UJRUUs1MiFJPG uHVZDNMB/GaQ4W0ZGae1S2Lv36kurmV0NGASA1lzZmw3/n9xnNywj/Xc7WqYQ0aAyyuBbIWFG8m z4A/vK2REBIoVkpStuaxEV0fV0omG+8va5zkFTPuOaZT/Q/g9SEs4Bo/atbQE6YvngQJx8P+0QY Mg7WaYS0gSIHxj7rlXGXWNG8mgA2w/taXG4P/bRXYcDXeWIgTurtwBY6UIq4Tb/YeRn7xxHqvCV v9ZBIadNbVG0A2yw+TTYB82HBOPlZKQOnDjG+g6Y76jg0l9df0lzUuDyLLoq2eBHz9+Z+KsKxcl B9+cO0gPpUZSV7V7fz83npdvNUp0ZCQo8BrNQiu3DMAhWI8ssB2KQ+SO/69U2QVphTM6bIGp3Ia ArAwsHajuC1N1YQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTIyMDEzNiBTYWx0ZWRfX/cUDnLJDSk6e 22e8+KPoy11K0oaBA459wPJ9UPhVZ+3XVwjX+CQSy2aVQjn34pHK4pgOHWJxS0L5ZA2X2o/Br6B m3lcGeCrWRlPfLJWYgFzkhhrJJXAD/pH/dMKuQCQJAnJ93gUACkU8sifSFEKNN3vABNBE+Cu7+I g1kRGhr9F+UDtXeVSzbhqtEGj6xAZkwzd+Y6K1M4FbtP8+JSKTy5cMIbG8BJa9dqQbguHgeM3ST K/BN+hoLKXQZOx95b/wEHj570yp/qJexhPD2E//+OzePf+IDFpCxXMIwMhPqqFvImeLTBZ4uINO /qbnJM2QjE6z7kuC3q4kZSKShUz/+lq2KvC/b7sb6PJcgdjTKiGlb0BxUPj8FrGFKEXQjIUbVCx ly73QPg/rjzAY1LSDqyLmxug7RGD6mJBmFeDM0DwrKFzIX0eckm450e0GHeBX08CPp/3kMPuOTJ M4ruwHQ7aMbrwmGAeDg== X-Proofpoint-GUID: xSvC7C-MCj7VK1NnVBYarmgM9mT4oib_ X-Proofpoint-ORIG-GUID: xSvC7C-MCj7VK1NnVBYarmgM9mT4oib_ X-Authority-Analysis: v=2.4 cv=ar2CzyZV c=1 sm=1 tr=0 ts=6a105cc9 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=KKAkSRfTAAAA:8 a=u-biHsxzOdRIXVMzAPsA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-22_03,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 bulkscore=0 spamscore=0 malwarescore=0 adultscore=0 clxscore=1015 priorityscore=1501 phishscore=0 lowpriorityscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605220136 BH workqueues are a modern mechanism, aiming to replace legacy tasklets. Let's convert the BAM DMA driver to using the high-priority variant of the BH workqueue. [Vinod: suggested using the BG workqueue instead of the regular one running in process context] Suggested-by: Vinod Koul Reviewed-by: Dmitry Baryshkov Reviewed-by: Bjorn Andersson Signed-off-by: Bartosz Golaszewski Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski --- drivers/dma/qcom/bam_dma.c | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c index b3d36ea79984385fe0d05ce56042d3e6e3030c5a..1c62f845ac0b956e311857b93f5= b504086662f45 100644 --- a/drivers/dma/qcom/bam_dma.c +++ b/drivers/dma/qcom/bam_dma.c @@ -42,6 +42,7 @@ #include #include #include +#include =20 #include "../dmaengine.h" #include "../virt-dma.h" @@ -397,8 +398,8 @@ struct bam_device { struct clk *bamclk; int irq; =20 - /* dma start transaction tasklet */ - struct tasklet_struct task; + /* dma start transaction workqueue */ + struct work_struct work; }; =20 /** @@ -863,7 +864,7 @@ static u32 process_channel_irqs(struct bam_device *bdev) /* * if complete, process cookie. Otherwise * push back to front of desc_issued so that - * it gets restarted by the tasklet + * it gets restarted by the work queue. */ if (!async_desc->num_desc) { vchan_cookie_complete(&async_desc->vd); @@ -893,9 +894,9 @@ static irqreturn_t bam_dma_irq(int irq, void *data) =20 srcs |=3D process_channel_irqs(bdev); =20 - /* kick off tasklet to start next dma transfer */ + /* kick off the work queue to start next dma transfer */ if (srcs & P_IRQ) - tasklet_schedule(&bdev->task); + queue_work(system_bh_highpri_wq, &bdev->work); =20 ret =3D pm_runtime_get_sync(bdev->dev); if (ret < 0) @@ -1091,14 +1092,14 @@ static void bam_start_dma(struct bam_chan *bchan) } =20 /** - * dma_tasklet - DMA IRQ tasklet - * @t: tasklet argument (bam controller structure) + * bam_dma_work() - DMA interrupt work queue callback + * @work: work queue struct embedded in the BAM controller device struct * * Sets up next DMA operation and then processes all completed transactions */ -static void dma_tasklet(struct tasklet_struct *t) +static void bam_dma_work(struct work_struct *work) { - struct bam_device *bdev =3D from_tasklet(bdev, t, task); + struct bam_device *bdev =3D from_work(bdev, work, work); struct bam_chan *bchan; unsigned int i; =20 @@ -1111,14 +1112,13 @@ static void dma_tasklet(struct tasklet_struct *t) if (!list_empty(&bchan->vc.desc_issued) && !IS_BUSY(bchan)) bam_start_dma(bchan); } - } =20 /** * bam_issue_pending - starts pending transactions * @chan: dma channel * - * Calls tasklet directly which in turn starts any pending transactions + * Calls work queue directly which in turn starts any pending transactions */ static void bam_issue_pending(struct dma_chan *chan) { @@ -1286,14 +1286,14 @@ static int bam_dma_probe(struct platform_device *pd= ev) if (ret) goto err_disable_clk; =20 - tasklet_setup(&bdev->task, dma_tasklet); + INIT_WORK(&bdev->work, bam_dma_work); =20 bdev->channels =3D devm_kcalloc(bdev->dev, bdev->num_channels, sizeof(*bdev->channels), GFP_KERNEL); =20 if (!bdev->channels) { ret =3D -ENOMEM; - goto err_tasklet_kill; + goto err_workqueue_cancel; } =20 /* allocate and initialize channels */ @@ -1359,8 +1359,8 @@ static int bam_dma_probe(struct platform_device *pdev) err_bam_channel_exit: for (i =3D 0; i < bdev->num_channels; i++) tasklet_kill(&bdev->channels[i].vc.task); -err_tasklet_kill: - tasklet_kill(&bdev->task); +err_workqueue_cancel: + cancel_work_sync(&bdev->work); err_disable_clk: clk_disable_unprepare(bdev->bamclk); =20 @@ -1394,7 +1394,7 @@ static void bam_dma_remove(struct platform_device *pd= ev) bdev->channels[i].fifo_phys); } =20 - tasklet_kill(&bdev->task); + cancel_work_sync(&bdev->work); =20 clk_disable_unprepare(bdev->bamclk); } --=20 2.47.3 From nobody Mon May 25 02:57:46 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 CD40B403E9F for ; Fri, 22 May 2026 13:40:28 +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=1779457231; cv=none; b=eG0AeCV5GQHregR+ae+y14aenKi0vHq2PgDx8N0oZ/SM7tkHElXptw2VOcQ8fEAIiSvjb8MQXJPONBwrNe2IzwQTDdrmZN8EXEG/3usc6rA3/yyl2gGE6iahLAv0q+gahYRAPGpd2ZjOfnYVV5kq98HmkgAGsIfSsm5zJPPkBv0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779457231; c=relaxed/simple; bh=szNr7XYlP/RmxhFwkiXdqgSbJMTs5djSMoKrGxWxQpw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Hxusky6s0CbFb4o8/wrGKmRSZtFPCSevjz9+0xW7oKxBOYf+r5XSF6JgJXwULG5AsMHJmrBitOa4y9sRQ5sCQgscngiE9xQlXPRk7gi1/q+adkbgJCOC8LTJiaFwf64gnPEu8jz/WAt0c5V8p8yd7vSAC8pVDm9XatN33/nONhY= 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=XP5ZBn20; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=KGwSCWCd; 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="XP5ZBn20"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="KGwSCWCd" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64MBx3Ta1298051 for ; Fri, 22 May 2026 13:40:28 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= vBHLofPVeYPfx1ZGHrhJ7CLmG7Qg01nr7l3iawgtmCw=; b=XP5ZBn20ASOiH0ME BjwJ6Td9XM9NGXPdlbLJqZmUz10jT+cxRJ/Gvb/h5g8hKlPAmQoiYVegIGVsEcee 49HSSa6QDqjWQUX6GhoryHGfxx3werjTtSxAByMfN7xRmyQHJwuI7qbJFwCOqQZQ yxOiBgYXqDPeISz5VdEqCM49zAF5umnG8F5JdffOJpaNU7zUKbcdK2DRb0RBwI/V nVnO+kPFgaIWXweK9n4YUR5xXA+wMYOvwvAntuk4QdFHx/i3HkKEB8DQkGAUtWra eRS6kRjvRDU6pgnX0P275FQSSLYa4t7rC93FvFQ8AuvCSfAUUdHEycIHOiZdZ0HJ mbz07Q== 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 4eaah0b5qb-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 22 May 2026 13:40:27 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-5104b861649so265653091cf.1 for ; Fri, 22 May 2026 06:40:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779457227; x=1780062027; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=vBHLofPVeYPfx1ZGHrhJ7CLmG7Qg01nr7l3iawgtmCw=; b=KGwSCWCd/xDO0XzlO8/JFP5G9aMkEVDLzoUQKAJHneceW/JI938KlbY+yVQdIlZyVM JjubiWikHb9MD4FyCe/W2E/NEmz+8kH0blUVnQo453dTBHM5TJUdh/cY6JUYUDxxLyg4 zfmLs8FpHOaLySyy4cfakvltEf+CzcoTDgKEy8eqNSFI4tzu9CzuqyFhqJJ15uwq1YG+ PJr9YBUCUXkeRZEmTBDZB9W5cU8skg6uTVb9BFDl3OWuSWDci93JbPQFYENYe374VqlD yYggt7TqYfM0zwneZHb3QZ/WUvdQ+5+Zfftz34NFDUVzcyNOYgvALyWvFqJDyUmIJLfZ KuoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779457227; x=1780062027; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=vBHLofPVeYPfx1ZGHrhJ7CLmG7Qg01nr7l3iawgtmCw=; b=pRT04wH5FZY4FBD75gFYZEugXzHsfD6fu6tfVUxEPHAWVsg+mKB1hqQ8B+4gBOx6fw YBEc8ODHOJPFLWyW5OzQubjvOIG6Uad2NKpG5fD3Xv3yXRKbeTESfn5R8jr0QIa6BX4P YOots5d5rvutb/UFX8Ih2cCSxvDiPmuBmQqqdnV3XL/+QqiibJmzOkK+IlO+TAhPgLLn 8NkQNZdYfVI91Nzemeiyuz+BD4BbbM3OqQQpvJgEDePrudKfhmV90aKxejLvU4BJztdJ C8Rk8afS/5/VVTUpNdzfmkRZbnYwds/XRNJiZyKHO0yKJeJsFpyQAew0ZXUUVEmMoWL/ k8NA== X-Forwarded-Encrypted: i=1; AFNElJ+fasAdR5mjyK0e3KL3AbwWPvaFCP3sEG3ztZ8jNmUXUBDihkAViWZzWZnErqUvztzWcHJlPX1UFa8QFhU=@vger.kernel.org X-Gm-Message-State: AOJu0YwHXVX0bjvSMSnc1j2csD1vGii496qYpBBScjCzcqs4C2RTpK3X F9OGG7XoGsrM9za981cc4kufFpZYPWxDZ/XjC3X6fYUHXymqbULoF6OdEiDln9JfcZRktadum0o T34F1515wi77v8VEDPRnd9XRtNzZta5BZNxiOm8oWrTUCCdZzRjwLvi2NpYsvIPYH71o= X-Gm-Gg: Acq92OHnSLmEL4kq9yF2wB9VPexnjsLvG3K5vAhjGaIwp+F9Q7AsiFwTKq8U3jKrAGj /oBW1MGGj1cT47TxN5z8DRuZGCRpcqAW564DzJWELoksFlLn5twhGYRNmWZtGai27IHO/nrZe2P w2Fw1YW6ibzwRuaYziUPa0d6IwAlNLQ85xwmIU1gnRmOnA0BO8E3fyZIHX4Ip4DKV3zRdaVaeOn YdWTL3kaSpjdQUn8Pyl7o505p7YXDU+pH3sfdK9ueQuMtlMF1bZOL97e3vhwhgRSsYmSrSPb/i3 xTpEKk1nkmzly8HEk12xkmPpjbSQixSkz+5wuhQpgiybs8o5jDZszqLD80Hc8fjfxE1Ztc4vuBp VIoQLWMkcPTPRXT8q0P/08I5nMKEl1o2FDgx2Pnr2RI1aLBJB4Q== X-Received: by 2002:a05:622a:4892:b0:50b:6b21:2bf7 with SMTP id d75a77b69052e-516d419e624mr52230821cf.0.1779457226659; Fri, 22 May 2026 06:40:26 -0700 (PDT) X-Received: by 2002:a05:622a:4892:b0:50b:6b21:2bf7 with SMTP id d75a77b69052e-516d419e624mr52230111cf.0.1779457226126; Fri, 22 May 2026 06:40:26 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:2fa:6280:a48f:fb37]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-490454c600esm44912825e9.3.2026.05.22.06.40.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 May 2026 06:40:25 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 22 May 2026 15:39:57 +0200 Subject: [PATCH v18 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: <20260522-qcom-qce-cmd-descr-v18-4-99103926bafc@oss.qualcomm.com> References: <20260522-qcom-qce-cmd-descr-v18-0-99103926bafc@oss.qualcomm.com> In-Reply-To: <20260522-qcom-qce-cmd-descr-v18-0-99103926bafc@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3778; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=uxRjFVxEhrXgn9P1PbRyStGi6yK9KFcQvfp9JiG64Wo=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqEFy1F3/f2c2itAh9Qaq8Q6W2ocaop66yQq4N5 rk20Afw3+6JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCahBctQAKCRAFnS7L/zaE w0NvD/9g1BWT4Z86O5Ed0CczEU9qQkYOEi0OeK8LwPNkKRZ1jkeHLQQ/NJX5vmz29RA7xzAHJ80 RBMCF3OtHxg+mn2UiH2QjgmvTdHLG/KtxJ85gFJeYO9ZPn2AL3lNpkl4nYoO1xPHsRyvWr60KNf cnJF4diDlxPjNEKj5WovaQz+hIrttw99F3iNUOg0FbQxNskhP5mDSkcLvGGOx0KflMtkjXWVh3I jv0QiC6bjn9DIIMk4bdbjOCYyDxnsrrBnHVNFeHPGSYAotWOOS1a8DJqUAi5NSYf68CLn2JNOoX /Tq1qh1vdiCTlqQCGWB0nnINUPdNelgQGHhEdRSMBTGQph3Eqqkgk5GQfuvPjLKkmHuKzjmHMJF WPmTZzehASqp2/ME9sP10t7LvhmVRqECK0EX9EHCsoNFZ9E5jpcgwSujHoMBjmCsfNS12L06eEX hhSdMt9fo0Tj36FjfaupkLVE/kZMZQesr7Jqb8x0hVFgM3BHg8OZfVRZC7kZDwIL7mxvwtMlGW8 1BSzBJlqTzkmLaEFxD3DSLWFXwdczo8/KcxB/5jB0wouOI/uVDVtTknys4axBWTsn6LWqUXRWI3 Y9rb6wb3jkmpKiq2YuGphX95fFfI5FhBwX44u2Y3gOrrxQdKchF/uDkUInMtaKyKjr5GU8uVuKQ 9/g4sFC6zEBYIVQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTIyMDEzNiBTYWx0ZWRfX01QV4823Yu3a w69rDu7bkY5H2e6rgYpCh6vGU3vUYckm7wfzpZzkGJmFDrBygGt9l1XUmqPNtkwtSouCdmfrhfA +qaHDfF+NXqgqAc1U/wNvxt/Uiu9HO6/vPcAnZYKvEA7kvLGYD9aL8CHDTJ/SkkZyiav6G7DlrP 3FtUO8e9OOsks1zrqpTSqiv3gFDMpBSRtmNFnDgdTjrK3e9YXgOyInsgyl2CGsldapoS35AOyq4 Tx+psUc+ag5hbC0TbkWQJv4F0rZJ4ikSccI9HBmDG5SCFDrWoIvDfzIqcsbKjAWRAS1bHsmNsjo Rn0k9roa4ovxPLXH/ZCbkSVMhgQurmBcPoT1bNy9U82tTLulwi2WR+sttEJ5vbDf05Tez/QRjtC mSuSnfnSnXlCQiUJB2rpp4193cd3TAZcYU2jvJdKpdbscynsAGOmRqrEqe9yKrOyBvO00D4VCkr 4LuvUcZ8Kqlme6WN0ww== X-Proofpoint-GUID: RBvhFsGLZLt0rTvMDcTDP5elgXGB24A6 X-Authority-Analysis: v=2.4 cv=LNdWhpW9 c=1 sm=1 tr=0 ts=6a105ccb cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=Fb6uNmSZeVr-t7npd3wA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: RBvhFsGLZLt0rTvMDcTDP5elgXGB24A6 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-22_03,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 clxscore=1015 malwarescore=0 lowpriorityscore=0 priorityscore=1501 bulkscore=0 impostorscore=0 phishscore=0 spamscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605220136 From: Bartosz Golaszewski In preparation for supporting the pipe locking feature flag, extend the amount of information we can carry in device match data: create a separate structure and make the register information one of its fields. This way, in subsequent patches, it will be just a matter of adding a new field to the device data. Reviewed-by: Dmitry Baryshkov Signed-off-by: Bartosz Golaszewski Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski --- drivers/dma/qcom/bam_dma.c | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c index 1c62f845ac0b956e311857b93f5b504086662f45..2129ff5261571581a2c086c13dd= 657dc63e16f90 100644 --- a/drivers/dma/qcom/bam_dma.c +++ b/drivers/dma/qcom/bam_dma.c @@ -113,6 +113,10 @@ struct reg_offset_data { unsigned int pipe_mult, evnt_mult, ee_mult; }; =20 +struct bam_device_data { + const struct reg_offset_data *reg_info; +}; + static const struct reg_offset_data bam_v1_3_reg_info[] =3D { [BAM_CTRL] =3D { 0x0F80, 0x00, 0x00, 0x00 }, [BAM_REVISION] =3D { 0x0F84, 0x00, 0x00, 0x00 }, @@ -142,6 +146,10 @@ static const struct reg_offset_data bam_v1_3_reg_info[= ] =3D { [BAM_P_FIFO_SIZES] =3D { 0x1020, 0x00, 0x40, 0x00 }, }; =20 +static const struct bam_device_data bam_v1_3_data =3D { + .reg_info =3D bam_v1_3_reg_info, +}; + static const struct reg_offset_data bam_v1_4_reg_info[] =3D { [BAM_CTRL] =3D { 0x0000, 0x00, 0x00, 0x00 }, [BAM_REVISION] =3D { 0x0004, 0x00, 0x00, 0x00 }, @@ -171,6 +179,10 @@ static const struct reg_offset_data bam_v1_4_reg_info[= ] =3D { [BAM_P_FIFO_SIZES] =3D { 0x1820, 0x00, 0x1000, 0x00 }, }; =20 +static const struct bam_device_data bam_v1_4_data =3D { + .reg_info =3D bam_v1_4_reg_info, +}; + static const struct reg_offset_data bam_v1_7_reg_info[] =3D { [BAM_CTRL] =3D { 0x00000, 0x00, 0x00, 0x00 }, [BAM_REVISION] =3D { 0x01000, 0x00, 0x00, 0x00 }, @@ -200,6 +212,10 @@ static const struct reg_offset_data bam_v1_7_reg_info[= ] =3D { [BAM_P_FIFO_SIZES] =3D { 0x13820, 0x00, 0x1000, 0x00 }, }; =20 +static const struct bam_device_data bam_v1_7_data =3D { + .reg_info =3D bam_v1_7_reg_info, +}; + /* BAM CTRL */ #define BAM_SW_RST BIT(0) #define BAM_EN BIT(1) @@ -393,7 +409,7 @@ struct bam_device { bool powered_remotely; u32 active_channels; =20 - const struct reg_offset_data *layout; + const struct bam_device_data *dev_data; =20 struct clk *bamclk; int irq; @@ -411,7 +427,7 @@ struct bam_device { static inline void __iomem *bam_addr(struct bam_device *bdev, u32 pipe, enum bam_reg reg) { - const struct reg_offset_data r =3D bdev->layout[reg]; + const struct reg_offset_data r =3D bdev->dev_data->reg_info[reg]; =20 return bdev->regs + r.base_offset + r.pipe_mult * pipe + @@ -1205,9 +1221,9 @@ static void bam_channel_init(struct bam_device *bdev,= struct bam_chan *bchan, } =20 static const struct of_device_id bam_of_match[] =3D { - { .compatible =3D "qcom,bam-v1.3.0", .data =3D &bam_v1_3_reg_info }, - { .compatible =3D "qcom,bam-v1.4.0", .data =3D &bam_v1_4_reg_info }, - { .compatible =3D "qcom,bam-v1.7.0", .data =3D &bam_v1_7_reg_info }, + { .compatible =3D "qcom,bam-v1.3.0", .data =3D &bam_v1_3_data }, + { .compatible =3D "qcom,bam-v1.4.0", .data =3D &bam_v1_4_data }, + { .compatible =3D "qcom,bam-v1.7.0", .data =3D &bam_v1_7_data }, {} }; =20 @@ -1231,7 +1247,7 @@ static int bam_dma_probe(struct platform_device *pdev) return -ENODEV; } =20 - bdev->layout =3D match->data; + bdev->dev_data =3D match->data; =20 bdev->regs =3D devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(bdev->regs)) --=20 2.47.3 From nobody Mon May 25 02:57:46 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 49CF6403EBB for ; Fri, 22 May 2026 13:40:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779457232; cv=none; b=cGlLz94M2FOyG6A9wCiLuH3d153+wnNb2Xh+3IRuikrPZcaOG5pOU8zPYG6B5gvrAno6DA6qvtaKLGMrU6Nka4HPRsuMPgpQHVTEvFYXdf6LAsO2aMQvhcjY68Yyty2BBpo9Nelemsg2xhe0VruOBfy9Qdxy4dd3bZlt8eM5ODI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779457232; c=relaxed/simple; bh=W1SOKd2RIQ9nozxC+fLn2sIL5/s1so7KiyQzTPwT+38=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=kJ6DAHhkl3gMhKE4CcuCTYF0P5xQOtXJ4D3CEp74XyBcmUXZnNGeF94hl/cTbk5MChHdRaQjTBQxtSS8ZXwxgHBc76nepWiTP27noLXxWMisxkhaRWSwNdjjM3Lb6zJHl5m+uMPfsR3lHRWE3DJWonQVaXubfmDdfpxlWkGqoQo= 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=Q3BeDV7b; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=kSmZ1cmA; 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="Q3BeDV7b"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="kSmZ1cmA" 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 64MAIomZ1800948 for ; Fri, 22 May 2026 13:40:29 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 4MzlzgFENj0SGuc5BtzYXGLVYZCfinPwBm1XxV5rC6I=; b=Q3BeDV7bYs6Iisvy rVyqZ8B9BBRjnkLdFbF4k99xPuPt1P0Crd9bzejmb1Qm0a6EvrUvFGZK/aKhsia8 sPlJBJhNbL/zwmmfAW01mgIDDzHHHncCcSzXDrrQZcXUoRzq0P7rtRHrKi8iOHqW odNss916PK6JBOr57rzFIKRDOyOFPqB460GgX1CIxUnThwQObJ5x0hj5oLWjSuBX z1OUdiok0JKRHmzezdMk01Bb8EC3ywqUMhD7c1j3XpF9NWTHqoE+BqblLLSWBe1m 3LlF84PepGhwQDdTpJiwy1a7H9CrlDBnqk3Cc30PeDRphnEWeDugJsGoI+T9wmat 4y0frA== 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 4ean9g0ns4-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 22 May 2026 13:40:29 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-50ea1a7a5d0so200479291cf.3 for ; Fri, 22 May 2026 06:40:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779457229; x=1780062029; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=4MzlzgFENj0SGuc5BtzYXGLVYZCfinPwBm1XxV5rC6I=; b=kSmZ1cmASR6yXlmWkTEfH4uMmxgauXECq2motigdF50fh28tUJqQH+uxD6rZl/z/7k 5RW6TaNreqQpy1MQ8herHbPjv2ojEFi2yDaK6UDjf/n9JPNLyGoX4BymiXuzjKASORIh 73choLmXHxu31EkG068i6NlLKzRsFMNqzBMSbx9VeA+jl0R2nyzFP8MJA9XRdUiRuF+h GdqXWG01lCyCqZYFwk88eopdVEKeq2qnrM9s0qMOp3qhFfwdnoy69TXdCg+1Wk3pPS6P MJTw14xFUFMzGR+R8QFgBRcr7qSnwRcNi7yN6GuoQRkJLLq1mDNfGQ9LtOfNcZ2HhzPp l79g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779457229; x=1780062029; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=4MzlzgFENj0SGuc5BtzYXGLVYZCfinPwBm1XxV5rC6I=; b=BdL3Fsx2FMoFXIxgIUCIwO8J4JGEq5uOTewxRnbVdepNxeVZ8iBArtWNooUza5qL7g WOKfbWrY4ndo/kCdFqmT8VwtqughcmNIUI2VM7isM7CDaar6TXPc+5Co2T1tLK/FTAnD U46dnQHtYi0vSve5vCkqcDfRz2NzZl+17XofoLZPCtyw1jEDZpZ85BS8WnUHfzgiO05p SHHWDoMBow7xH0GMcdOYKr4NuXKQKDdiBAj6bu6K7mlXLwqGr6PxiK1GwYHYcnHKOZn6 C8o+BJ1n9JFvtMxn0SQ50ohn7oQJN20Sd9NLkanVe5vDQJ7j81c5MQRUjCFYm1ys9MS3 rH3w== X-Forwarded-Encrypted: i=1; AFNElJ9AtM7QVk7/FTkXrIpm33eX7UDaGuNLPBMvd4JdyZZpIqxIvl7FSEZpg3Jqt6Htv1Nqqhb0sB6D0KnPK2Y=@vger.kernel.org X-Gm-Message-State: AOJu0YwNYpF5Qg2yenEZwibfdzZLFf4mp04VI3RZZz/VuGiLeEunX0u1 bnMIx1qYwil3id+j78rA1OBDld/qZ2ZnWNKyV+gA4K4nBAXKs7FDt+Szqig90+Sp/mODogjgAcc 1r1ivXHSL+sdMUiqPunULqStI7lMm+B50rpwTfEciG9rouSztXRL1U0mRCEuFFV3dNug= X-Gm-Gg: Acq92OELcZCA6Lv5gty5rZbtcHYRFKYzddApaXxiNJhC4FrCOEZr0xsCAJxbAdEEI/m mMkK4bdVYOIW2UH7ZiXn6PZqDq1yYWsrZ98n84PcvQp1WTCvUibLbi7VsVxQIFZlHEjs04Ku+Bw a8BrNb5TJe+5CqKqcmKqX7q+LJD8lK5uKvXb6Xn+5BioagSsG7qIW/zYUdZ6GrL97ye6MGomfZc bc++exbi1u0HSB5xDBPEAuWTDFcgcU3h+Vp7u8lxLV5NOuYUfYUZ5gq/CafVrczqv/RRloY+kVX bDhnYKNCVuDMzABA6QwS1GksVEg6LwBuGFXFUA2VKPPHdwCGOrfEc3p8pBJqxkDnOFot0MIckg5 TFxe7lEOXRuU9P0EfwXAdIsVQH4z4vXchjmLlAGXFqEJAFAycVQ== X-Received: by 2002:ac8:58d4:0:b0:516:d2cc:5160 with SMTP id d75a77b69052e-516d459212fmr49798601cf.32.1779457228688; Fri, 22 May 2026 06:40:28 -0700 (PDT) X-Received: by 2002:ac8:58d4:0:b0:516:d2cc:5160 with SMTP id d75a77b69052e-516d459212fmr49798201cf.32.1779457228286; Fri, 22 May 2026 06:40:28 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:2fa:6280:a48f:fb37]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-490454c600esm44912825e9.3.2026.05.22.06.40.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 May 2026 06:40:27 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 22 May 2026 15:39:58 +0200 Subject: [PATCH v18 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: <20260522-qcom-qce-cmd-descr-v18-5-99103926bafc@oss.qualcomm.com> References: <20260522-qcom-qce-cmd-descr-v18-0-99103926bafc@oss.qualcomm.com> In-Reply-To: <20260522-qcom-qce-cmd-descr-v18-0-99103926bafc@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski , Dmitry Baryshkov X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1530; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=XWQU2M8GNJi1hTXicUIAjauPbHJI4z5KvicdSabu0NQ=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqEFy3+8CwAWUYGtz5ChFcSpJ0iDTEYSKzMHbak OKb8pYpuFSJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCahBctwAKCRAFnS7L/zaE wzgID/9fxcVgxjsMMtcsIfMmsrA6TLSsgpemAxxT/40RvT0jg5qrmvtvuKjU7DBA3LruRgkIUBl cH6PqVB/NxyAEgQJ2taTQUiIJdGgcFZxckR0jq7LBCgH3vlQX980piQjxK4JXi3CR7PI8k0eC7Y 2LLbZvn2hM8DLjnY/ZqShrSvILBra1sJZt8aREI7frl1ZN9qeoqNTT1txH43L/8+ovfKoIMWK9O 4ZCQ31MvqIOgpOAKDIvZGMk653f4HpcH5y9dmO/j3+MEsPcE/dM94QBMj1zYPSKpUliX+3Gjs99 s6fOret4uXBcgSec9BfQv8vOhoG7dB7KsUHwHhyWi3hkkCcCi1LDYUXV1Km2Fe+dNZJFLkF93vy f6b0O1bwcSWyUZU1Cbso+mETogeowV93qnfGDOs9wUpgctZF9Q/5B0hjOu9omJ8+bcpSIWdfQrz OdLdKNTuEWawDE/ih2ASVNoe8auSHcbM1QReW7zW05PTL+ZQN/Ls5k8jZr9K0Bd5ResQIG0uC6+ qlmekYdXlM4XIgA3DNVoTRyLeaKW9ligxe8c1bGvfBWNar3qokt/mCDyZCgEW9CB+e062+k6BIG EYmdGM8dWBzvjH8aNsMaEbToKdMrWYaLaHi+LEUpkSBd5repkGloyVsaCnbzzwiE/3z0TuOGS8Q ZFkWIwO2J7wZuww== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: PNXfa40JxdxrkhFgy1gy2LtksDp-RpoR X-Authority-Analysis: v=2.4 cv=B/qJFutM c=1 sm=1 tr=0 ts=6a105ccd cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=VwQbUJbxAAAA:8 a=ZSnkYuKn9ZpO9KHknGoA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: PNXfa40JxdxrkhFgy1gy2LtksDp-RpoR X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTIyMDEzNiBTYWx0ZWRfX51sP6BvvftZU twKjdGfSt/TQlLt6LUDLkqv0M8538+ise4I3fvaPq2XCIUEeVc8OtabYHQ15rUCEJJTrFu1GpXY TqwkMMUUBsEl11/L8bq6Y07hn9YrYDouzfulGkSa8KWV6B2dvTfklUVR4FpPUAn4TAc5NBNrq0C wSgDlerTUzIBjfm/PS6iUxMGDHeBsHuEE3DCQ9R0GIzwgf8nrPCj0Nys4ThBxtkbT1a6+gYbNwu GbLI8cx5faWhtTP2iP+JsPF26zEvo8UZtkSvjpKhCz9QRLKbvoyXB/Lrl79xsxC1D4t3QJQVvFF Ks38FFVfC45gH15uN6juRzlF3mEY1N491Z98BhRRhvw/lK9eVPKUlbBdX2kWam8TnkiAt00ycCj 7sYEQlfb11z9wqi0nvw8uA3NLXSrwVgBQMFc4mvUDlC6ht6d4hw4XW469zOKLJG+5OkMkgja/CA t2BPuHYVrRCuiaIo1xQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-22_03,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 impostorscore=0 clxscore=1015 malwarescore=0 lowpriorityscore=0 suspectscore=0 adultscore=0 priorityscore=1501 bulkscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605220136 From: Bartosz Golaszewski Extend the device match data with a flag indicating whether the IP supports the BAM lock/unlock feature. Set it to true on BAM IP versions 1.4.0 and above. Signed-off-by: Bartosz Golaszewski Reviewed-by: Dmitry Baryshkov Acked-by: Manivannan Sadhasivam Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski --- drivers/dma/qcom/bam_dma.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c index 2129ff5261571581a2c086c13dd657dc63e16f90..04fe1d546be73f074c66c4a5712= ad65717e10929 100644 --- a/drivers/dma/qcom/bam_dma.c +++ b/drivers/dma/qcom/bam_dma.c @@ -115,6 +115,7 @@ struct reg_offset_data { =20 struct bam_device_data { const struct reg_offset_data *reg_info; + bool pipe_lock_supported; }; =20 static const struct reg_offset_data bam_v1_3_reg_info[] =3D { @@ -181,6 +182,7 @@ static const struct reg_offset_data bam_v1_4_reg_info[]= =3D { =20 static const struct bam_device_data bam_v1_4_data =3D { .reg_info =3D bam_v1_4_reg_info, + .pipe_lock_supported =3D true, }; =20 static const struct reg_offset_data bam_v1_7_reg_info[] =3D { @@ -214,6 +216,7 @@ static const struct reg_offset_data bam_v1_7_reg_info[]= =3D { =20 static const struct bam_device_data bam_v1_7_data =3D { .reg_info =3D bam_v1_7_reg_info, + .pipe_lock_supported =3D true, }; =20 /* BAM CTRL */ --=20 2.47.3 From nobody Mon May 25 02:57:46 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 2DA7F441037 for ; Fri, 22 May 2026 13:40:32 +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=1779457236; cv=none; b=jLRDXrXnFq8XmMWq+8FBwczyiI765yg3phT4YcyUDhi5fv6kf0IqzXa1QCjLP4BMEi8O+uqX3NXwVU71fKJ942mHQq4/pc7wp38VcmXo0R/ezy7dgx6aX0O5Jp60qjFWnSUymu0zv/7mvZZZfS/xmvH+UPrL6F9bSEfursofx6Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779457236; c=relaxed/simple; bh=HhoEcDWExL2Ap0vs1A4rGhTAiEUByXGzsAANKLnC7Qs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=CJatBi+QO4Up5F+a+ogTq2BS3W9X7JxKsL5KZJoCKka3Pb0NUWi1iUfUcO7CeQ5bMFTL1glcHRbYOu4phS6CwqQnKHNzVJGZZ5/LD40BGHknoVALfYFc16bgv2nA8GVLgidIMy4nWJCyRPjOhSzSZEth4lL6UP3sy3a+v95mJ+s= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=LEDael/o; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=LPeUO4kL; 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="LEDael/o"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="LPeUO4kL" 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 64M8Zha23533229 for ; Fri, 22 May 2026 13:40:32 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= qArNrMH5KTqvCZasC6lyOsOGhEUcokzkTX+X16pKOIM=; b=LEDael/ogt2NK5bY i755JfBzIv7UC3I9pvSefqiGTSYxNnt8jD+GcSpAKMh0TM7LhUkeXzQ4TQ4pUZO/ 3ujDF9SkMosGyQIBz2/HOIgJ0CtVwx5XeRQs/HjqXgozPDbeZcSBBI4pwunT7T6/ nJz+c2MJq2BhoqE5boqvWC3avJiNpef7uRF8wxKumc+B9Bri42wj5Qv20ABDVm5l YDyELfxjREqgqNvjRawenuOmpkxGErwUVw0tVO6KpCYCIHHPBOP1PWNzEmXXfTq8 E3g4gGOl5PfP7MfnppJAeDWjNGwpOxS2/8ejRvfeOER04L69KD+l/O15XUXbFueE 4zxROQ== 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 4ea39gw8vm-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 22 May 2026 13:40:32 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-516ceea1984so35116481cf.1 for ; Fri, 22 May 2026 06:40:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779457231; x=1780062031; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=qArNrMH5KTqvCZasC6lyOsOGhEUcokzkTX+X16pKOIM=; b=LPeUO4kL5R1UQPZ8K8m/ote0lV/cuo7qnRl+GLJVAZJDJJqCkG1e8JAV4iMcogvClt 24dqpIUwWWxlvoTdMwKALOGyN1a/YoqMtQ0kj6/y4/n7xyKrva6DnXrg7Wg29ofLHnHx qYJrf98CrvgMogU1wlSgWY84wd6kGMtfaFpQZUnm9b2GvTwzXU7BByckQCQ+CuA9QRF0 zj+5mviV5X0AkW72OWA07NxtHDjJVJ5JWNThVYikEVNC7XH2pwaojZJzjVYviFoxH5LY G02QPfWsVxNScUCXoPW8PUFxh0/fpdjaaG8/+E7IlFnCRZ5NQAwuta27jI9Lfk7uFLfC x0gw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779457231; x=1780062031; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=qArNrMH5KTqvCZasC6lyOsOGhEUcokzkTX+X16pKOIM=; b=hQRsuuB8TIZDNO5sG+zlaW1gwczSRgVnbDLklmD8Q3+Jd/HUgvg04RvxmOUZ7CP9Zl PkW0fQy8DfBHcyrN2WVApvZnSB9Jk264WC6wvOHivV+BSjSAQf4qwmwiyWIX0TnIYIq0 16/Hz7gBwtUCvIg4VeeuiCZNgAcHa03g5US+i8r3Rm+ym+N158RYt2bS65MIDKwgB7cp 7DiKcaYAUe5gI2+NcJUDT1rBYSsYExay10ZYVTnR/HpR7f+Fydfa1nBXdceS1KxpB/j1 Gy6PEvykxCdJjlyMku8Qx8WSMN7lsI0BSO+WDtkytXJwSW6MzF5YOpYOcBZUZXSNmDkN 1TOA== X-Forwarded-Encrypted: i=1; AFNElJ8uRQTzOF2ThXeonK5up0JAwSLy47Fv22DkYfPl7adRf1/0An8jE/ofc9lp3tUIsNc+WLOT/+YXg9t9gLo=@vger.kernel.org X-Gm-Message-State: AOJu0Yx+U4IwyCGHT3z6JQXQcOg1fzeFb85ndCGTTTZgN93eXEKp3yRU 1sfrU8XHREmI9f4NpZeuwvSk02LilC0W95ABh4M1Vq2OkjqqAken7H4SgeF3EDK0L4in+ixYamR 9JgbWYmnEr/og2kYJmVJ6zBLO2NOfPKsfw73uVw1dmxXJ6zQoDPId6gnuk2BSxhOdSCc= X-Gm-Gg: Acq92OFRiqlPuuki10tgjz0ENdvn/B1+7U7iU57wLPuZ4e4pkLu7u5H6kaq5hPGaOR3 NQQWVyY4v29vM5ijdoe8VP8s+AaprmI8129tZMiET3QRNFwj8u99uUerSMrGbEi/IRaX+lQv57L 84eNeUGuv5gyI8M30oGuj8OsNKrqiqQLfnS54Uo/LAqF0jVN1Us5qJftZk/Q2PKBUI07PTn9uHm nAaAv+LvpkK33SgV3saFHkW855w1a6IP9c9AF9XmB4VAxC5W8feTsQGKPFQ9aPz8c/QqOliB4VI b38jDC/0+zvCD8OKdIylnZST1p+ZKjpbaxJTT3/pDwMdp8MTq9WprTyyM07xNhJg4DvN7LVTkLX 3CglgXzewg9E7o9wtRK7fF/7n3ZZx50AI4m6sF84Hlddm4lEjFA== X-Received: by 2002:a05:622a:134d:b0:50d:8350:9a15 with SMTP id d75a77b69052e-516d41a06c6mr53499681cf.0.1779457231035; Fri, 22 May 2026 06:40:31 -0700 (PDT) X-Received: by 2002:a05:622a:134d:b0:50d:8350:9a15 with SMTP id d75a77b69052e-516d41a06c6mr53499101cf.0.1779457230342; Fri, 22 May 2026 06:40:30 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:2fa:6280:a48f:fb37]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-490454c600esm44912825e9.3.2026.05.22.06.40.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 May 2026 06:40:29 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 22 May 2026 15:39:59 +0200 Subject: [PATCH v18 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: <20260522-qcom-qce-cmd-descr-v18-6-99103926bafc@oss.qualcomm.com> References: <20260522-qcom-qce-cmd-descr-v18-0-99103926bafc@oss.qualcomm.com> In-Reply-To: <20260522-qcom-qce-cmd-descr-v18-0-99103926bafc@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=9548; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=HhoEcDWExL2Ap0vs1A4rGhTAiEUByXGzsAANKLnC7Qs=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqEFy4qFoUlg/XIQWAFrfjt19rwHpYv2M+FeMMB +WyNZodHTWJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCahBcuAAKCRAFnS7L/zaE w4baD/401bs1vEaN5setpJ7gA0m1M07tUgQz5VObJDQJkGFsZ7vsZ03/kgAvRh7sv8Cb+BwY0I2 pmwkbtKZPilM3DLfkccr7HI0EW/UuSpqyVsV2GugGpW22i3JDpVP8OO1VdMNuf0kr4UYhfn7z1Y KJHrwVQoJ0h/him0v7R2Q1mdB3GguwiHu84JB1zE7qFJqmfkrrnu4FoSLTdrKhzfXEqPKgC+DmY BQNk0eLuJVevixZRGRuQmMWqyph0cPGYpTeSttDWQIpHL3rEWu5yjjwtaOMLalsO9gAaRgedmKb WxIyhrZVeIbNBFZuCEVaDUdh4fP9E9PhA2rc1qWhb0NkkQ7p1gkOEDzq/AOee0P4560ElEg0iAh /lehPIdyfI300CPwtyfjTD/V+fc+RRWl8KORiAf1pYDzYPrXFpe8E6zOJSWahknVob1mTiU4T/y ZepgUfrRI2oys6IzLxNNw03gQ65AQSjY+AJG+qKLA+/ytLFU/1OEwdHhh8H8k6M464LKKXxv9w2 DAAyXyia8Gbtr7MTVqkZ1eqhLEtDG7aOhuVvevlvi5xU6p34C+1IKZIjZdvs9SxrvtN4dwVxN1Q lZaQzVqrKa+kiP71YXHMlw55JIbqyrffelovjPS9P3VOJGAr3eAtz8OtUVo3i6NW58JAvZak4Vk 3JBaL10pFjp+gHQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=Yr8/gYYX c=1 sm=1 tr=0 ts=6a105cd0 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=j-cXwOq41x9PnjJ4jooA:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-ORIG-GUID: NqUm89lArq7LEbqqEbHUPbFv3sSzD93p X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTIyMDEzNiBTYWx0ZWRfXxQNRnd1I6N/c RHNuQv14YAX7G2/go27mKbG1zxq0/VUVaOqgoRxaTLg9qwe36wKC2ebTmsSiQ32l+fXVQlyF9ww k8vfF6RPZWCZ6szknbOMyJiT7KoVdNnvjEYVk8mY5wwsvCXQngBXf6oFnN/Gg9Ms9VHIUrIuxWi TvdJ+bUg2aY+TlC64InTXcYUFliw0Tn38uDcLoqCP+a+0GkvcUyewIpCXt+zo5ahUKc46gQQuJa ZjCrbHngh50TEnUV5R5oaMawj79odxDOCkTcQrnZSZYFB7/HoUutUhgw6IDRfzlrqHWR9gNfcT0 isizXSJr7bhqWQNEEVDdJCz0CFqbqWP9hUFjqkAe4s3Cl3CdL2QY9lce5lZ4eCA3T9uvylWcIXL oZnPxHHt7ZtbM5pAPCC3jWd5saH8c0Zr5gBz1V1WQ7or0DQDRV6aHbyx8DXxOIDrHkjKvPtIVRx pfeEMoeZWk/GlfyhNVg== X-Proofpoint-GUID: NqUm89lArq7LEbqqEbHUPbFv3sSzD93p X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-22_03,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 priorityscore=1501 lowpriorityscore=0 clxscore=1015 suspectscore=0 bulkscore=0 impostorscore=0 phishscore=0 spamscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605220136 Add support for BAM pipe locking. To that end: when starting DMA on an RX channel - prepend the existing queue of issued descriptors with an additional "dummy" command descriptor with the LOCK bit set. Once the transaction is done (no more issued descriptors), issue one more dummy descriptor with the UNLOCK bit. We *must* wait until the transaction is signalled as done because we must not perform any writes into config registers while the engine is busy. The dummy writes must be issued into a scratchpad register of the client so provide a mechanism to communicate the right address via descriptor metadata. Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski --- drivers/dma/qcom/bam_dma.c | 155 +++++++++++++++++++++++++++++++++++= +++- include/linux/dma/qcom_bam_dma.h | 14 ++++ 2 files changed, 165 insertions(+), 4 deletions(-) diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c index 04fe1d546be73f074c66c4a5712ad65717e10929..40b5d5c24067af562e9776416e1= 26128e29a368f 100644 --- a/drivers/dma/qcom/bam_dma.c +++ b/drivers/dma/qcom/bam_dma.c @@ -28,11 +28,13 @@ #include #include #include +#include #include #include #include #include #include +#include #include #include #include @@ -60,6 +62,8 @@ struct bam_desc_hw { #define DESC_FLAG_EOB BIT(13) #define DESC_FLAG_NWD BIT(12) #define DESC_FLAG_CMD BIT(11) +#define DESC_FLAG_LOCK BIT(10) +#define DESC_FLAG_UNLOCK BIT(9) =20 struct bam_async_desc { struct virt_dma_desc vd; @@ -72,6 +76,10 @@ struct bam_async_desc { =20 struct bam_desc_hw *curr_desc; =20 + /* BAM locking infrastructure */ + struct scatterlist lock_sg; + struct bam_cmd_element lock_ce; + /* list node for the desc in the bam_chan list of descriptors */ struct list_head desc_node; enum dma_transfer_direction dir; @@ -391,6 +399,10 @@ struct bam_chan { struct list_head desc_list; =20 struct list_head node; + + /* BAM locking infrastructure */ + phys_addr_t scratchpad_addr; + enum dma_transfer_direction direction; }; =20 static inline struct bam_chan *to_bam_chan(struct dma_chan *common) @@ -652,6 +664,35 @@ static int bam_slave_config(struct dma_chan *chan, return 0; } =20 +static int bam_metadata_attach(struct dma_async_tx_descriptor *desc, void = *data, size_t len) +{ + struct bam_chan *bchan =3D to_bam_chan(desc->chan); + const struct bam_device_data *bdata =3D bchan->bdev->dev_data; + struct bam_desc_metadata *metadata =3D data; + + if (!data) + return -EINVAL; + + if (!bdata->pipe_lock_supported) + /* + * The client wants to use locking but this BAM version doesn't + * support it. Don't return an error here as this will stop the + * client from using DMA at all for no reason. + */ + return 0; + + guard(spinlock_irqsave)(&bchan->vc.lock); + + bchan->scratchpad_addr =3D metadata->scratchpad_addr; + bchan->direction =3D metadata->direction; + + return 0; +} + +static const struct dma_descriptor_metadata_ops bam_metadata_ops =3D { + .attach =3D bam_metadata_attach, +}; + /** * bam_prep_slave_sg - Prep slave sg transaction * @@ -668,6 +709,7 @@ static struct dma_async_tx_descriptor *bam_prep_slave_s= g(struct dma_chan *chan, void *context) { struct bam_chan *bchan =3D to_bam_chan(chan); + struct dma_async_tx_descriptor *tx_desc; struct bam_device *bdev =3D bchan->bdev; struct bam_async_desc *async_desc; struct scatterlist *sg; @@ -723,7 +765,12 @@ static struct dma_async_tx_descriptor *bam_prep_slave_= sg(struct dma_chan *chan, } while (remainder > 0); } =20 - return vchan_tx_prep(&bchan->vc, &async_desc->vd, flags); + tx_desc =3D vchan_tx_prep(&bchan->vc, &async_desc->vd, flags); + if (!tx_desc) + return NULL; + + tx_desc->metadata_ops =3D &bam_metadata_ops; + return tx_desc; } =20 /** @@ -1012,13 +1059,105 @@ static void bam_apply_new_config(struct bam_chan *= bchan, bchan->reconfigure =3D 0; } =20 +static struct bam_async_desc * +bam_make_lock_desc(struct bam_chan *bchan, unsigned long flag) +{ + struct dma_chan *chan =3D &bchan->vc.chan; + struct bam_async_desc *async_desc; + struct bam_desc_hw *desc; + struct virt_dma_desc *vd; + struct virt_dma_chan *vc; + unsigned int mapped; + dma_cookie_t cookie; + int ret; + + async_desc =3D kzalloc_flex(*async_desc, desc, 1, GFP_NOWAIT); + if (!async_desc) { + dev_err(bchan->bdev->dev, "failed to allocate the BAM lock descriptor\n"= ); + return ERR_PTR(-ENOMEM); + } + + sg_init_table(&async_desc->lock_sg, 1); + + async_desc->num_desc =3D 1; + async_desc->curr_desc =3D async_desc->desc; + async_desc->dir =3D DMA_MEM_TO_DEV; + + desc =3D async_desc->desc; + + bam_prep_ce_le32(&async_desc->lock_ce, bchan->scratchpad_addr, BAM_WRITE_= COMMAND, 0); + sg_set_buf(&async_desc->lock_sg, &async_desc->lock_ce, sizeof(async_desc-= >lock_ce)); + + mapped =3D dma_map_sg(chan->slave, &async_desc->lock_sg, 1, DMA_TO_DEVICE= ); + if (!mapped) { + kfree(async_desc); + return ERR_PTR(-ENOMEM); + } + + desc->flags |=3D cpu_to_le16(DESC_FLAG_CMD | flag); + desc->addr =3D sg_dma_address(&async_desc->lock_sg); + desc->size =3D cpu_to_le16(sizeof(struct bam_cmd_element)); + + vc =3D &bchan->vc; + vd =3D &async_desc->vd; + + dma_async_tx_descriptor_init(&vd->tx, &vc->chan); + vd->tx.flags =3D DMA_PREP_CMD; + vd->tx.desc_free =3D vchan_tx_desc_free; + vd->tx_result.result =3D DMA_TRANS_NOERROR; + vd->tx_result.residue =3D 0; + + cookie =3D dma_cookie_assign(&vd->tx); + ret =3D dma_submit_error(cookie); + if (ret) { + dma_unmap_sg(chan->slave, &async_desc->lock_sg, 1, DMA_TO_DEVICE); + kfree(async_desc); + return ERR_PTR(ret); + } + + return async_desc; +} + +static int bam_do_setup_pipe_lock(struct bam_chan *bchan, bool lock) +{ + struct bam_device *bdev =3D bchan->bdev; + const struct bam_device_data *bdata =3D bdev->dev_data; + struct bam_async_desc *lock_desc; + unsigned long flag; + + lockdep_assert_held(&bchan->vc.lock); + + if (!bdata->pipe_lock_supported || !bchan->scratchpad_addr || + bchan->direction !=3D DMA_MEM_TO_DEV) + return 0; + + flag =3D lock ? DESC_FLAG_LOCK : DESC_FLAG_UNLOCK; + + lock_desc =3D bam_make_lock_desc(bchan, flag); + if (IS_ERR(lock_desc)) + return PTR_ERR(lock_desc); + + if (lock) + list_add(&lock_desc->vd.node, &bchan->vc.desc_issued); + else + list_add_tail(&lock_desc->vd.node, &bchan->vc.desc_issued); + + return 0; +} + +static void bam_setup_pipe_lock(struct bam_chan *bchan) +{ + if (bam_do_setup_pipe_lock(bchan, true) || bam_do_setup_pipe_lock(bchan, = false)) + dev_err(bchan->vc.chan.slave, "Failed to setup BAM pipe lock descriptors= "); +} + /** * bam_start_dma - start next transaction * @bchan: bam dma channel */ static void bam_start_dma(struct bam_chan *bchan) { - struct virt_dma_desc *vd =3D vchan_next_desc(&bchan->vc); + struct virt_dma_desc *vd; struct bam_device *bdev =3D bchan->bdev; struct bam_async_desc *async_desc =3D NULL; struct bam_desc_hw *desc; @@ -1030,6 +1169,9 @@ static void bam_start_dma(struct bam_chan *bchan) =20 lockdep_assert_held(&bchan->vc.lock); =20 + bam_setup_pipe_lock(bchan); + + vd =3D vchan_next_desc(&bchan->vc); if (!vd) return; =20 @@ -1157,8 +1299,12 @@ static void bam_issue_pending(struct dma_chan *chan) */ static void bam_dma_free_desc(struct virt_dma_desc *vd) { - struct bam_async_desc *async_desc =3D container_of(vd, - struct bam_async_desc, vd); + struct bam_async_desc *async_desc =3D container_of(vd, struct bam_async_d= esc, vd); + struct bam_desc_hw *desc =3D async_desc->desc; + struct dma_chan *chan =3D vd->tx.chan; + + if (le16_to_cpu(desc->flags) & (DESC_FLAG_LOCK | DESC_FLAG_UNLOCK)) + dma_unmap_sg(chan->slave, &async_desc->lock_sg, 1, DMA_TO_DEVICE); =20 kfree(async_desc); } @@ -1349,6 +1495,7 @@ static int bam_dma_probe(struct platform_device *pdev) bdev->common.device_terminate_all =3D bam_dma_terminate_all; bdev->common.device_issue_pending =3D bam_issue_pending; bdev->common.device_tx_status =3D bam_tx_status; + bdev->common.desc_metadata_modes =3D DESC_METADATA_CLIENT; bdev->common.dev =3D bdev->dev; =20 ret =3D dma_async_device_register(&bdev->common); diff --git a/include/linux/dma/qcom_bam_dma.h b/include/linux/dma/qcom_bam_= dma.h index 68fc0e643b1b97fe4520d5878daa322b81f4f559..a2594264b0f58c4b2b1c85e243c= ad0d5669c26dc 100644 --- a/include/linux/dma/qcom_bam_dma.h +++ b/include/linux/dma/qcom_bam_dma.h @@ -6,6 +6,8 @@ #ifndef _QCOM_BAM_DMA_H #define _QCOM_BAM_DMA_H =20 +#include + #include =20 /* @@ -34,6 +36,18 @@ enum bam_command_type { BAM_READ_COMMAND, }; =20 +/** + * struct bam_desc_metadata - DMA descriptor metadata specific to the BAM = driver. + * + * @scratchpad_addr: Physical address to use for dummy write operations wh= en + * queuing command descriptors with LOCK/UNLOCK bits set. + * @direction: Transfer direction of this channel. + */ +struct bam_desc_metadata { + phys_addr_t scratchpad_addr; + enum dma_transfer_direction direction; +}; + /* * prep_bam_ce_le32 - Wrapper function to prepare a single BAM command * element with the data already in le32 format. --=20 2.47.3 From nobody Mon May 25 02:57:46 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 7C23143D4FA for ; Fri, 22 May 2026 13:40:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779457239; cv=none; b=L82GU0i7EbW822a+vBw2av99vgopTxcucHHZuX1oiOi4DfdAPEEsRKBW1m1xUSUpzTVsD5NAXEYuEz0sMR9qcLCh0z4KkJQiLvG3bbJ9OM/bm6/Mma56fuRlgDF/yIfWbFO3uoRtCm13kgfP8fEwoDoZKMcbqO0LYsiHL7CnJTk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779457239; c=relaxed/simple; bh=3gGtptRmzqmCc/s80la+iOH6ohsBGrbmA4x74A9e/WQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=OK8DDPPFzxGOgfr8FgclZxwDbKuCitUUHP6GFMgPWEWN0iYTzgFD8WxOFg137l9wmQKzfZwzLBdT6disl1FogAllI5DAJlvDe5ub4FiWf3vmH6aPnZfDwghQUJhfBUxmWqzGklcJxModU1vvNJ0ZKuj9j2uYCoVIyCG10nlTV0k= 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=fswkFDvc; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=St9LFKV2; 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="fswkFDvc"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="St9LFKV2" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64M9DhcC3005101 for ; Fri, 22 May 2026 13:40:34 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= fXdt7SVf/FZ6AuLTLKVeyM4jn/YfPr8JdQLw7VC/8Ig=; b=fswkFDvcWcNggqXy PqIZBlmngvWd3q/Q0AcKl0BPzXocRb9cU0+6VA/C5dibb6gdgLwHTPCK4z3Te+ij nQ0S+yLEK5nMzbPI3469k0Kb0B39ObjlrUicds3fAwLRYDLarGdIMLNLW83HD51j V+AQXsylq3DTny8+gR4rFzEbgVxrKEHNP3+N7peHd4aMmhLJt0rxt1vDl7Ft7wQp xVL+hWj3pk9GQQx2m5Yta2qhgRHK/sWJkIpNGUrZgeqtncRecB3XVUdRko37g9XX FmL1mxwNc7uYXy9p3jgZY6y6Wt42s1L9u3UZjSDMWTCfpX1OLVO2UM4ey3R4Mykp dbtmsA== 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 4eafrta69v-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 22 May 2026 13:40:34 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-514cbe73d00so218103561cf.1 for ; Fri, 22 May 2026 06:40:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779457233; x=1780062033; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=fXdt7SVf/FZ6AuLTLKVeyM4jn/YfPr8JdQLw7VC/8Ig=; b=St9LFKV2cUMGDv1jA+Kbkc08H/WRf/rZjxk8/Npjd82dbDIY7lG0BEr/2hYKJ39aeb MU0wvNU7CXEJRPqJ3XO1vBXogcfnnp5YCL6DnoVyYsPqmGYb42E4KWAtOvrFonrouQVF xD3vLU9jzR7TST8X1+fgdcX4jK/w4wJNTJzQAFd/VsdeABLpgK4AIZ2Jy16neCTTm9Ti I0c4E3kUi7fAYbPAzRhRSSTjAxt7Z/gd5Y0iNHcWufNsK4t/Z4KykMhK/5v6RsbG+q7j 9qdRjZv/AN+7uCZ6GefM2D2AYFqi1GlEak/FwyuBI1FvvdfktGI6Qhp3ilJVFWzsl8kG FQOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779457233; x=1780062033; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=fXdt7SVf/FZ6AuLTLKVeyM4jn/YfPr8JdQLw7VC/8Ig=; b=RziDgKLT/z6sE6rr1EZwZR9C8YjdHp/5dVQrPh9EQUaypartKtgWtSgtvLiatDWT4x rkGzgmFbySweiN9Wwc8H7rT9O516y6d8ZWkVYNTYo678QVa/9WW0stXPxrEHQok8p8Uv 8ClGTuIPJbCvP12f6B90PsgNtgnv54x1vrMATg74gVO1//0rXQEqEYnky3cGTZbpo49D aEqvofZWArjSBi02WY2shCK0JcFYRHuJ2qpMFXBTatoPbrTpZskQMoVMv0QQhS0rB2E7 qf0PeTu+jF4dQRO/WwGDZ8ZfGxgZz91dGZilgxoeE+P8AdxiV8VvHJrWe051E4ADSW0t 6wVQ== X-Forwarded-Encrypted: i=1; AFNElJ+jjouVi/W3ss6Lha/MrYa1kWqfdR4iulm7o4cVJg3k6YJLmxcAq9lDFQvy3SoOZF00poGmdwlHl0ys0dc=@vger.kernel.org X-Gm-Message-State: AOJu0Yzhf3OrUDj15pSKeaS43A3RBp0hmwtIPokRlYJFm0fi/kWz3dV4 X0mARPiQ19Avm2nx/NCshmoyvbRqTYag+C3PwhNiyJ3oXorzNAHDvAbN3OTk3IYpKQGe2gT69TM +bo1uhCdEZPDkDMrK6v03iGW3hJVC9JfuOhwmMSQwCznqD3kn9oND8k/lcjMYv1QnwhwBY8UuJs c= X-Gm-Gg: Acq92OGqky4wM+4JJMo4WTkN++4OsImYsbAQLC54aHtbJwU6O+0VVObHxII5xc5sy4S n3GQztabMg3ujaHRc3UjUIo9C/LL08DZmu/cp0GNjZlMRkMdTkm0EY8/Ls/fhfMPKu8Hm+Fe0DG qunig7ikzUF/gHg+OeF++VmaQ6yUR0vjhXm1vjKzuWaCPLw4l5oh5NaPWK7c8U5Fq7ZbL6Anecg 3G84XDHiG9l04CnnT7WE10mNkj18W5MBq9U+9knwlgAR/7s0osNXSNG/hK8TFHTCSg3OHMYvNQ+ sDmuIcIOSRvRmE3ck27eBJxWGy+DIvoRCYHGBi3rbkwguhBDWEiDd222G1RD+53+9JztPsRgNHa NLBPwkaAyfnNDrvxKlqhRKuDsdXzmAI6hrQwgki77o/oCkUgr8w== X-Received: by 2002:a05:622a:5984:b0:50e:5819:d7e7 with SMTP id d75a77b69052e-516d43dc0dbmr47748861cf.3.1779457233296; Fri, 22 May 2026 06:40:33 -0700 (PDT) X-Received: by 2002:a05:622a:5984:b0:50e:5819:d7e7 with SMTP id d75a77b69052e-516d43dc0dbmr47748331cf.3.1779457232774; Fri, 22 May 2026 06:40:32 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:2fa:6280:a48f:fb37]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-490454c600esm44912825e9.3.2026.05.22.06.40.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 May 2026 06:40:31 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 22 May 2026 15:40:00 +0200 Subject: [PATCH v18 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: <20260522-qcom-qce-cmd-descr-v18-7-99103926bafc@oss.qualcomm.com> References: <20260522-qcom-qce-cmd-descr-v18-0-99103926bafc@oss.qualcomm.com> In-Reply-To: <20260522-qcom-qce-cmd-descr-v18-0-99103926bafc@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1791; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=3gGtptRmzqmCc/s80la+iOH6ohsBGrbmA4x74A9e/WQ=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqEFy5mkKClz2fgik+N1QTc+VutSiwBTRy+E7IJ MSlUN86WayJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCahBcuQAKCRAFnS7L/zaE wxMwEAC11uWJsM+dHhtr9jLXScbswvOXkSzN4sO+6uRizeQwBY0QOxHsKrAtgQO4ZYJIP9pzLbv Yy6li0Stg/PaIitZnP67l5Vlga3V4ElVg3Ih1N4l6p9QlL9Vm1ZrSh/1bqAhlyfURBPCw56FrV5 x0A9LZXfBn41Xj8jlBjQ52ZiHHAOzd8LpWdXaDevoqUlyzAr5PBaYWSyJGkRhGYGnj9CVCCYVlc b0MmGbM1UFWfFknLVZtNpf3k9Q+2aeY3Zz1z35NDLKuVkvORlDJrGR18t8ZN3oDnG1PKyuuFj/7 HsNotGFhzhgPLQo3f28zpInfBh1ValihEOQoIBO/wd561cbr/etjVUOGuawbUy0gouBh9j2mnxf E31qjFRxK1mTEYypb1C1mXRik3P03+9y8kZSF4Ji1x6y3Y9WlO/pxh9lx35D2XSeOHqXpCubh9Q nO03kCbiTcDnQDQ3QZVNF5eWsOmed9rlQg1h3Vr1XwCc3SOnOSAv1e4yibbHvLwU1KqHchSDDZ2 0KRoIdO9L6mAdYoK5ln7hhMznc/rXCbZewKujkiSZ7arbFEz5TfTZc/PE5gTtY5EOE8C55/e88q h2d5F24x968paTCS69AUg/XsUcKA7LvcQPVFig/Q1ROKK8JAJeBindm49qV6iJbHNggXXkEuED0 sw+x0xgVA6rOcXg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=JN0LdcKb c=1 sm=1 tr=0 ts=6a105cd2 cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=c92rfblmAAAA:8 a=EUspDBNiAAAA:8 a=ETIHtu0_8y4auhP-DQsA:9 a=0bXxn9q0MV6snEgNplNhOjQmxlI=:19 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 a=GvGzcOZaWPEFPQC_NcjD:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTIyMDEzNiBTYWx0ZWRfX6YcGTrqqrn5q 3uL3rz8cGlEYAuqENRfeCHJLiB0rBBu+alo9CR02yrr0TndnUgHaEI3nyEMgMcXFOzwwUfKZkyq heBGiHv0NMs1VtuaAH4v03D9RgTrtnZIb8Qw+OHL8889NlYmkqGAaPyxIC2ZwCrzlGbalGhauuY Jh2lUqeLEpPusH2GqcHo+yZugYrX1Bn/FMWKsCvkf/ErGrjai+gHQvFhC8eRVyTe4TBMqombKnk 6vKIIOO+hPys3fBrJyCSznRiqP70ACMbNe1bYMUYhrb+Bnk2oahJLWr/i6KxWK3QMUkE2fAG1PR l/pPIlWHetQ7/eVFg+SDgD049A16uhCCDgIvIc3b67Y3ajQHg5oedvX7hTktv93fql4rx2aCeoQ AWOaVHgmug9IkHGHHX7rXNGbP5nmJMhp1DBp+WJC/Lv616RweB+Vqp5qNQo2TZ241VOkBS1FyIh 8HWSjmayZMTYIXNhhTA== X-Proofpoint-GUID: K-vrLYNa7yjJ72uVuwXlUlzbWD_nYxxD X-Proofpoint-ORIG-GUID: K-vrLYNa7yjJ72uVuwXlUlzbWD_nYxxD X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-22_03,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 lowpriorityscore=0 suspectscore=0 malwarescore=0 impostorscore=0 phishscore=0 bulkscore=0 clxscore=1015 spamscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605220136 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. Fixes: eb7986e5e14d ("crypto: qce - convert tasklet to workqueue") Closes: https://sashiko.dev/#/patchset/20260427-qcom-qce-cmd-descr-v16-0-94= 5fd1cafbbc%40oss.qualcomm.com?part=3D7 Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/core.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/drivers/crypto/qce/core.c b/drivers/crypto/qce/core.c index b966f3365b7de8d2a8f6707397a34aa4facdc4ac..f671946cf7351cd5f0c319909ba= fd87e3af701c7 100644 --- a/drivers/crypto/qce/core.c +++ b/drivers/crypto/qce/core.c @@ -186,6 +186,13 @@ static int qce_check_version(struct qce_device *qce) return 0; } =20 +static void qce_cancel_work(void *data) +{ + struct work_struct *work =3D data; + + cancel_work_sync(work); +} + static int qce_crypto_probe(struct platform_device *pdev) { struct device *dev =3D &pdev->dev; @@ -227,6 +234,11 @@ static int qce_crypto_probe(struct platform_device *pd= ev) if (ret) return ret; =20 + INIT_WORK(&qce->done_work, qce_req_done_work); + ret =3D devm_add_action_or_reset(dev, qce_cancel_work, &qce->done_work); + if (ret) + return ret; + ret =3D devm_qce_dma_request(qce->dev, &qce->dma); if (ret) return ret; @@ -239,7 +251,6 @@ static int qce_crypto_probe(struct platform_device *pde= v) if (ret) return ret; =20 - INIT_WORK(&qce->done_work, qce_req_done_work); crypto_init_queue(&qce->queue, QCE_QUEUE_LENGTH); =20 qce->async_req_enqueue =3D qce_async_request_enqueue; --=20 2.47.3 From nobody Mon May 25 02:57:46 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 F41BC3AFD1B for ; Fri, 22 May 2026 13:40:37 +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=1779457240; cv=none; b=E5ti1WFGbFXBtTNT6w267n1F3FNilfY182gcD3dVtaWnYC3VHo6z/FNguHVDukPd6lUrnES91lW2lHgwx1aMXPEDPCuxobJ+Ek0bdqyc4oygqan5kqoJEwPuYYflYG/H1CFJ+bFpzNvNGvtOv7NDoSIVsZ0Pr4Xutc6EE7c5m/k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779457240; c=relaxed/simple; bh=bxwOj+1r4hE0BIdCr6O2vUvIE65d0GfBKW7+Xew4ns0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=DEpC06F3u8V40KzkYWuq1Ckc/Fjg1gOu62Hv91MzmBhWEdcapoDCclaiAGZUhW6ne/RTOb1snNouekRECAjXxXrtP2+DOLP3K2JaGntMiq1HAqOmvttHGW2BdcZZoMom+1xaUbm2H9mMzkI8XKdZjalQe06P3TJaLhqRbUGQOBs= 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=hFm1zlHV; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=iMDIhkNr; 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="hFm1zlHV"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="iMDIhkNr" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64M9IL2c3005127 for ; Fri, 22 May 2026 13:40:36 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 0kLuBmycbMAXm5ws7TG+DllfddsRIfX83CGKYC8vsgk=; b=hFm1zlHV59sE12if pH8nBKLuhP6tWQZ0fP7EK7qHeZMHzzVSn65kEsR3gU/057Gti5OwtXpDrMq9fm9y TluGSxSuzgq2UOdFUtwxn31I8KMEjnGq5rbycHpvhIlAyfLSPulmXS9GzaOkyz+S wdU9TKltnzwoyBPKJFxwG8+mc/pOhfjBR4pFYT9vzh/pz3B5Ip+1RpEtlCf34rHa EZpl0mYsufGeMNgd17FHUuo7PsQlzB4k7eVilvJU+M9sLOq3wh/pOkPpH4cszi2f NkZo6Sun0lWJus0/deIkBPx/CNeUsq0zduFkQsrf+x4/2hNbdwXeu5K0d/Jz7qj0 ofdc0w== 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 4eafrta69y-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 22 May 2026 13:40:36 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-50fbc70cfbdso4069811cf.2 for ; Fri, 22 May 2026 06:40:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779457235; x=1780062035; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=0kLuBmycbMAXm5ws7TG+DllfddsRIfX83CGKYC8vsgk=; b=iMDIhkNrs7zwWiTWV9K93dC9SFDj3tYoFSzGcwvSLQloqSTisitZQa68CgeBodJifj bn9e3AnBJ0alYv9Pbh/jY+jSTDaiFspQ2w8bhDOUQolXO0oVpV8hFhpUwdATTo4RFbJA +nmKTf1pGtJ9HweHms7ZrPnnFoLard7/+cWD6MFlOr1XcK6pabFm0j4THrBLOSZa9yDd epb9ZmW+l709lydwE8GvDZj2af2r6KZjI4/5bZmP6eEPkDd7oSRLgd7MeFPaDzZTBTJG EiiJ+KEZK6g1pa2rN04n5YoHEeonccbHNVhlRmx+/TIfmrRNqknvAmw/i5tbEnJsZibx gudA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779457235; x=1780062035; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=0kLuBmycbMAXm5ws7TG+DllfddsRIfX83CGKYC8vsgk=; b=lsrczhmt9zqm59XJtDGb8uKEv4k0JbMkLkz88k8B/H2dxMBJTpCHM24DNY+THy0BMf mPfmQSsTHnik3XPDCaYJTBJmNqvoWTuGw21uXlmLM1Tzj2+HuQ/fGTh9ydjIesCpd0Cy Rm/4oJqOAr3hT2rqENE+4/tg3qKLnXqTmLrw2rfDJKqP0eqf300EibQoLparF8RtNGK3 FsBweNy28W6DOsu26IQi2raxR7kTXdfECXSpD297SkALQskHgUesy5fooO2UugxdqVtB U8Qm2QAW/UaQc7KWb5mgQC/xRYSnad0tii4jZkk6Ut6fUg5XpNEz37AGISu3xgq0HtjA WeLQ== X-Forwarded-Encrypted: i=1; AFNElJ/PIA3F8yhjJtgG6tSy2ASZuFif5XT+u1lCRNluNbJveYynn54AXBl2Gme2HH027qcdteZht1rWCu4bV9M=@vger.kernel.org X-Gm-Message-State: AOJu0YyIM8sJjQacxLI/xAPz8VLV9QSI8vgzs0JpYfM1hTeSNItHbzk/ Tt5TxJwGhGzRa14GF8l5yOLVJmWRGS4HdRN3gZIC6aWiXZRIbvYqsmBHFrjUNPjGyabSdmF8OVM emT23scLTGtt3C8wK2C8M/c56ciZlCk14dpmoyN5hvq0FU2GkVaFmpG4c4gOosD5hn1Y= X-Gm-Gg: Acq92OEan0V3NcSR0LiiLObayECrmrNHJWdfQRpazimUMRBOp4F6ZcHfa2vUn9AVh3E Aa795pDLeBuQMSZ2tbbvBcngROeMASz6A4F4IUKurLq5dBkvl+hyRG36xxh+4Tuv6ygpIt+E4q7 mUmyIf7lzoKvZGfgCB2Ew+h/DgMvOATfYLcvH/b0tU80HOsi4SU/JdGxV5nMr1iVnzWDI5jpI9/ q5xMwHCvDNMyqJwhoLGRH20HzRkaXCRvH5qk2tiqswmMH0wSyY5qgmicHwS5oaGiXYzVzabkbvU SS0zAXEoPtAnSOSRl1NtvCkWCO9k2oFMJZO/7Vfge/sPFtpAuN/JTvNhQCAEA9z1dJnpC41zZml m009xqwIUgTXJ5y9yc2IgnN7RnRC7344Nic5Zn1YcRf8iutkkFb+NAwHeBiTM X-Received: by 2002:a05:622a:446:b0:516:db5d:ebf6 with SMTP id d75a77b69052e-516db5e07aemr19429641cf.59.1779457235462; Fri, 22 May 2026 06:40:35 -0700 (PDT) X-Received: by 2002:a05:622a:446:b0:516:db5d:ebf6 with SMTP id d75a77b69052e-516db5e07aemr19429081cf.59.1779457235055; Fri, 22 May 2026 06:40:35 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:2fa:6280:a48f:fb37]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-490454c600esm44912825e9.3.2026.05.22.06.40.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 May 2026 06:40:34 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 22 May 2026 15:40:01 +0200 Subject: [PATCH v18 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: <20260522-qcom-qce-cmd-descr-v18-8-99103926bafc@oss.qualcomm.com> References: <20260522-qcom-qce-cmd-descr-v18-0-99103926bafc@oss.qualcomm.com> In-Reply-To: <20260522-qcom-qce-cmd-descr-v18-0-99103926bafc@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1314; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=Qxst61jdIT+8Ht+en2AytpIG+5WhKs6TgGXh9cEYbqk=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqEFy6BGklBaP1lW8n9Q0gaQ++0gYBLLHAPfPUj Pn6QDYsHf2JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCahBcugAKCRAFnS7L/zaE w21JD/4iKA4zWq1eo8131QpnLuCtj0jhM/ZelDuhM9ibrZfv91X7S4xQ1LFEKU0g7zq9/dfmIbo QBDd0DRHFHuoxjwJF47NHYwHeQsnWtuQaanIlkITMdxltp4vjT9NSZN1ls1mk/KdfUBwdGg7q9t odm2ClpGr/UxBis3w/Dmqp0jox/D5T0YFE4xxzEkLWnIsjSFvo4lH/mL8IQbyH/uBOC0T8fNdu3 2YyixuTnTC/Wr+lHT37sthmfP1J8vUL+l3Pog8Os3LTz+UVeLaM4xaOEmPgQwldLjsRxYtjujGt ID6a/vSU3AgusypMEuPexklUuxUba/4SohLgBW11Jg4CrgFFTt1CBwa3nJx4w9H38K4jxBBdAEA nFADhoYg9ISvEbMutcACZbTrtaGNrhwkx9l3HliHrhVGJAX3FMBdwVxHnrv8EAK2ljpfI5eHSnB pAcmC10IlfcpBUq+BpOCy5PqEVWxEzp68go8jdiAux6NC00i/izE2baJBjQUOx+YNevTECGPsoh OpbDGgsNqfYck1Za/oVuXor6E/pQ3woJioHCcybDuCQB/tty24iWhvjLZAGoaDALiFVrsMe6kN/ SZw/Yz/aJM9+eicofXDvybZpmUadpzf+RC0QQxcpuCIiIZCEYzZZaDt+N9c9sNIDvfRCw3IJyi4 tVBYEj1xMmvK2dA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=JN0LdcKb c=1 sm=1 tr=0 ts=6a105cd4 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=rvG61WhHFVBzVmnuldcA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTIyMDEzNiBTYWx0ZWRfXxPHkaP5sfLZ5 he4v6AVQWvUqZeYtvpTSrCyysGa44g7wOe8K7S2N2Hqx7Ghn5upo5ds/BeFhzsQ2JCK6wfIgetf Lw7Y0RdZrDCy2ZXnbEB5bvZZJEIFjL/+tzsbt0Ie60evXmGFwZlOPhgBpfEayqPTWVeWEzC3hrK /7116FIvZ/m3UDHuezDLHFCjlJZ+8z3ov6eJrOUZ/pHSQsxP1WhsbAS8lNuSScB5ZQ1rzqNmv4D OEDIzLW9Vc2veMcQZn4ChRipeDQau1yx+5PziWkSZqUd9VstZIuLE+p2yf89VhufhPSStzuDyDR 7dM7lm8xFfsgSaduJkaKiWSZGEM2wX+bWyOwpMubkTejK2Ge6jZjf/N1vVQk21NzV5Uj5emz24K yo0kwxeI1dEzLS7SZdHz6dXEvo4FR/MIIJDD4mbfXkNt24DOv5FR2MbkijWlcU2Z7USEeAR5+D3 8lvXQ+cImSTC6HXIwAQ== X-Proofpoint-GUID: KUUsr3aR0yBXbZxPzvukOFSgYvSjsrUT X-Proofpoint-ORIG-GUID: KUUsr3aR0yBXbZxPzvukOFSgYvSjsrUT X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-22_03,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 lowpriorityscore=0 suspectscore=0 malwarescore=0 impostorscore=0 phishscore=0 bulkscore=0 clxscore=1015 spamscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605220136 From: Bartosz Golaszewski The header defines a struct embedding struct crypto_queue whose size needs to be known and which is defined in crypto/algapi.h. Move the inclusion from core.c to core.h. Signed-off-by: Bartosz Golaszewski Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/core.c | 1 - drivers/crypto/qce/core.h | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/crypto/qce/core.c b/drivers/crypto/qce/core.c index f671946cf7351cd5f0c319909bafd87e3af701c7..ad37c2b8ae53a373bb248aff06c= 3b7946e8439a8 100644 --- a/drivers/crypto/qce/core.c +++ b/drivers/crypto/qce/core.c @@ -13,7 +13,6 @@ #include #include #include -#include #include =20 #include "core.h" diff --git a/drivers/crypto/qce/core.h b/drivers/crypto/qce/core.h index eb6fa7a8b64a81daf9ad5304a3ae4e5e597a70b8..f092ce2d3b04a936a37805c20ac= 5ba78d8fdd2df 100644 --- a/drivers/crypto/qce/core.h +++ b/drivers/crypto/qce/core.h @@ -8,6 +8,7 @@ =20 #include #include +#include =20 #include "dma.h" =20 --=20 2.47.3 From nobody Mon May 25 02:57:46 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 C4E2444D681 for ; Fri, 22 May 2026 13:40:39 +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=1779457243; cv=none; b=mDE6puhy5yfY4zw7hVNSmvTeAYHYd29gfVz1ra5vGykY/RAhw9LjUv5LF1YGTqdUIHLckoPlREL+8j9RolxAdptTPMDUWIjL26lKz1jJQbDIwmXnDNoGiyKA6h8zAyOF+lQcYbc3OLdm7az9H27Cy/D+LPp1IkB+dQyVHdPzAoE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779457243; c=relaxed/simple; bh=51qllpaj+ejQVsDQ4eqpW9Xup6eGEgdlD/8rDBDvfEM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=jv3+HC8IJ7zjgehSlOzTXPQDZ0hn/zmMVN73jD5hfJEjh18MDU/s+DIO1F+Kzj5bow0bMNuseDt5xUkdyoGHcnkJC4FCj5ki0x/gQEKfo0zJinmDVVsESKy/DA1DM0r0fdm1WuNPMnVe5p+3qARHwS3FGEguJMFKLZt6sES7QiY= 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=iCK2lo5U; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=fDmjaUIO; 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="iCK2lo5U"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="fDmjaUIO" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64MCNXwQ779220 for ; Fri, 22 May 2026 13:40:38 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= q6yvC1N0mVZtsuZtG+L0tsQS32fNOMK+fMHNLzdHkLY=; b=iCK2lo5Uo3mqAHZO VjRFrMm5+qbBrs0UkiF+o3YL6Ebf/gyIzitwZvAQYYU7XdeJiP7RHwrJi3K+Hk0D 4KVUMlQcNHJzglET8AKstFTGWMTJavA5JSkhLin+QMKpHwCcm0VTfnvy0r/WNggI vqraSPu2nfcokeSERfDRWDvzmurz7uYEFL+uWa+HdaEKz5hmHKs8nJS7hS92zld/ TkgEogR4LX6P2seaxavVSAMDU9R57BiEJkx7wVSKpcs9dcAeG2hyPTBh3fxHS8PO 9rhV9HRtbUCsg+TU75lR4szhBaoBe5cg3RiosN9fmglZvA6X1YjNPDMrCSsDI6AI jODnwQ== 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 4eac7atxyx-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 22 May 2026 13:40:38 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-516d38bfe83so26466041cf.3 for ; Fri, 22 May 2026 06:40:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779457238; x=1780062038; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=q6yvC1N0mVZtsuZtG+L0tsQS32fNOMK+fMHNLzdHkLY=; b=fDmjaUIOKoFolidp2kJIxXWurfXrs/VU0zz0/+37DtglHMxAZRQE6gI1rkvV4/eCNx Ul1NMDP1zvh5iW95iJrUopMLLD5RlhPeuBhPXzepWtqRwOG8RV7qdtkN8Iwy0rivBhzT c0JJ/e4NevVeU7rG3iaUIj7ehQMfHN5uvnqVGiGRafmoe9HcP7DRWmycKFgl9ux1btPu eErFE06iRJWGnaSYXiFxuMYl1cOtFCc6XUuhpWYIvU/Djg09wtzR5RwOb7Z2GtxWi0xq vPzoeRwCE1VC/POS+zQwe+vlgtlyuQWSTM7UxbjZW6DXDXx7AflP1vooskYIVn60mgbG 2B/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779457238; x=1780062038; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=q6yvC1N0mVZtsuZtG+L0tsQS32fNOMK+fMHNLzdHkLY=; b=stlQ8jwK0aPg+vLtBWlM6JsDME4N2MreHoBuoxCtV4OD0ahjigcO6MoVNoYy+Yg5Lq RZ4RSQZC/XSjJeQaCZ5DKikJgFsV7SKQrCKWZy19czLpdvm3mxeOOsnFf7LbQBAbrrsS 0tlaWXEqA5qgyQyXH3iRabOkPW5NwwHLvGQyf5y8/C0keTnh/s4j5HTLdXE67AnZHwHT qVJPM+gF34v4DYf9435mkbQTx9NvG9O9iCmwV1joogQeLuZ8wBf8NDf5MdXmNG2o7RbC uGy46UZfklsRGy5k0mMe+tQXTNMYTx16+jotCXtyB+W3sEJhiBWsCI6+ujMp85ySd5VD 0TLA== X-Forwarded-Encrypted: i=1; AFNElJ+ZY0s4RAd8x0NbAePyOamjts8yL3LpNty5+R+HTtzSy8gxhzqRcmF4Mzl/Q8QKNIS52pbb9ltUzl2jj/8=@vger.kernel.org X-Gm-Message-State: AOJu0YwQZ/1zofovxRGKRssBoVACZslTmUeX9IU++F9Zfcc4BEONDZ5/ O3YxuJY3oEJLSdYp//aTWaUme8EwOuQTRX57VyAMCfep7qEtqDZBeN6IJjV7QSHcfF/6hoVVou+ lQGU2RSREnzhwwxSQOR/cgYHjtvSDmHakt/jmhYOjnCllB3wR5/74kt7GOkvOMPUrLWs= X-Gm-Gg: Acq92OE+S26jlR+UvilRrc15vcSnPjtOQOZJP0aFbfd1+FmjLz6q9Mo+OZOl4zI5dMZ fhDi3quIWhIM+K1v0dbpA9AHJq8K7uaJmBaw99MoaAIG+Z9Y6LkYLaxtVwVmoEf+QukAfzTMm3y wOc5Vlu6spP7z7VaCdS9f6wyi6SCQPAezNN5Z7M01fcpJVxBHGDaM07sE3J0sze4QncB2cA3QbZ RUdVTRg9hv4Y4pdHyzmuuj7BWIoH84xS/uNarduGAZum0BVtvlogQtEjrLfteMGFqEuSL14OwgT QVFI6aZDrzS0UkJyohH8erpoftcl6KfGkiMoW44MRVtBFS0jZdvwmfVK2rntUwArdGGgleD6Dq2 Gdv2XXc8iXIK6fCd1GCzsgrIXhT4XjOSiCj/F7Nj29Aat6LtkCS7oTOqai5Vj X-Received: by 2002:a05:622a:189d:b0:50e:5cea:a519 with SMTP id d75a77b69052e-516d443c718mr51205671cf.12.1779457237810; Fri, 22 May 2026 06:40:37 -0700 (PDT) X-Received: by 2002:a05:622a:189d:b0:50e:5cea:a519 with SMTP id d75a77b69052e-516d443c718mr51205201cf.12.1779457237308; Fri, 22 May 2026 06:40:37 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:2fa:6280:a48f:fb37]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-490454c600esm44912825e9.3.2026.05.22.06.40.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 May 2026 06:40:36 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 22 May 2026 15:40:02 +0200 Subject: [PATCH v18 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: <20260522-qcom-qce-cmd-descr-v18-9-99103926bafc@oss.qualcomm.com> References: <20260522-qcom-qce-cmd-descr-v18-0-99103926bafc@oss.qualcomm.com> In-Reply-To: <20260522-qcom-qce-cmd-descr-v18-0-99103926bafc@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2066; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=n0Cml8iSZ+MTejAlSL1Cpzw3FwIEirUqeMzFyFiqzq8=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqEFy73t7RClzY0R/8YYWO+mVaNF6zAcKbAxXTd /hKSx01csiJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCahBcuwAKCRAFnS7L/zaE wy9LEACDslImbuzNtup9YTuGUbBN7OVti7fpeZJRpKp5U0Y/I732k4RzXG9MFik0daokMSHkKhh jA8/uBpQ1ntj7c0AIGuiRMcFXAuqhUPc3uy69Z601sB2qpGfUBuOkioiX16C7JJ7BFngTomc3Bd sLmHH5i51inclmd/MvnjOALcpYlgftfEzjcU0OKfhxEA/ygadb2n5bnUd7A+bcJ7MJ6Utl23iQn 231ZOxR007HN4BtOIUV/ctZI2Xwl7ZL8AFzKdoKHPsIV23gcKZwFWVtrOmQRlHzgVZ2qmnwtw68 5ftTEg5MpYChmociSl0hS4Xj1ivgkr4Sl6CmlZ3CuSHk9V/sJup+BcsnkS+o9ADfGAl/sLJ4Ovl d9D5vd0HQ5WpjeeNMVJ7c06FwzKxjV497x2qE3Spzf6i6enrhVAyADdmv1P71betrLbWQ18vhly kUDE7Zl+fxuIQxGf1ArInMCnAE/J5pwOYYkRsmnNG17NQGSyEWEMRtc+VYtYS88sUGqOBV5iXk8 IGkkIG3u6a38/SkyPO4RLZfnSogs3mFanSvNg+xGHouz7jwljuskcEiw9/sRNHapfgHM1Igdb9h hKZ6Tvcsw3FeouwBa4yq79p5fdgJNuCI5L/Br66ncxgUIDxwrEq2sL3XEdisBOLsUSDhDwTeAWe dL4mK/25ipWnEvQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-ORIG-GUID: xjo1a5jGJJ5WjiW7nxSHo_so_DgbG2D9 X-Authority-Analysis: v=2.4 cv=JrbBas4C c=1 sm=1 tr=0 ts=6a105cd6 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=tWRRbWwrKX-5tUpmLDIA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: xjo1a5jGJJ5WjiW7nxSHo_so_DgbG2D9 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTIyMDEzNiBTYWx0ZWRfX4ruxlwYZ0CIP otGHaRxmaT0teOMM/LIkshgywjszuTwEsUYUzT3DWi3xYunpYNFae4nmAgWWk3mT2DNrUl6mKU8 UUGKJYvX3XDu5LILcMOlRBAmUysbeEv1fLFgvsM8xcQenQT7E2hqLBarfz155waIaOKAsUG+GdG IdMhhh60BBHWYnGJ34bxv2UseX6K1iLEexFGxYs0a4tWULBHMqbIAgIlJYucUj8de55ZPda5FHB vYYtHFHNznwP+KWgUPepqNjzA0SBlzpBfROzv2Lx1HrEfv0HC6YnNmCyFfYgktJsHxLce2K17/7 wZbch4PGa31hoUn6PTq5xt3evvC9cT+o9jkPO62OpgkFXVCwUJuJvCNtRU6QUndnb6H3KwAU8Qb 5k05Y5UO7FE0Xf4bevnYXZn/8V2UTmAqr9LEjMsG5FMMI54xJ0QhbeQVqrFRWMor03MpiUzmdTE iUcEHMLrCfUkn64gQeA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-22_03,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 suspectscore=0 clxscore=1015 adultscore=0 lowpriorityscore=0 spamscore=0 malwarescore=0 phishscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605220136 From: Bartosz Golaszewski It's unclear what the purpose of this field is. It has been here since the initial commit but without any explanation. The driver works fine without it. We still keep allocating more space in the result buffer, we just don't need to store its address. While at it: move the QCE_IGNORE_BUF_SZ definition into dma.c as it's not used outside of this compilation unit. Signed-off-by: Bartosz Golaszewski Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/dma.c | 4 ++-- drivers/crypto/qce/dma.h | 2 -- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c index 68cafd4741ad3d91906d39e817fc7873b028d498..08bf3e8ec12433c1a8ee17003f3= 487e41b7329e4 100644 --- a/drivers/crypto/qce/dma.c +++ b/drivers/crypto/qce/dma.c @@ -9,6 +9,8 @@ =20 #include "dma.h" =20 +#define QCE_IGNORE_BUF_SZ (2 * QCE_BAM_BURST_SIZE) + static void qce_dma_release(void *data) { struct qce_dma_data *dma =3D data; @@ -41,8 +43,6 @@ int devm_qce_dma_request(struct device *dev, struct qce_d= ma_data *dma) goto error_nomem; } =20 - dma->ignore_buf =3D dma->result_buf + QCE_RESULT_BUF_SZ; - return devm_add_action_or_reset(dev, qce_dma_release, dma); =20 error_nomem: diff --git a/drivers/crypto/qce/dma.h b/drivers/crypto/qce/dma.h index 31629185000e12242fa07c2cc08b95fcbd5d4b8c..fc337c435cd14917bdfb99febcf= 9119275afdeba 100644 --- a/drivers/crypto/qce/dma.h +++ b/drivers/crypto/qce/dma.h @@ -23,7 +23,6 @@ struct qce_result_dump { u32 status2; }; =20 -#define QCE_IGNORE_BUF_SZ (2 * QCE_BAM_BURST_SIZE) #define QCE_RESULT_BUF_SZ \ ALIGN(sizeof(struct qce_result_dump), QCE_BAM_BURST_SIZE) =20 @@ -31,7 +30,6 @@ struct qce_dma_data { struct dma_chan *txchan; struct dma_chan *rxchan; struct qce_result_dump *result_buf; - void *ignore_buf; }; =20 int devm_qce_dma_request(struct device *dev, struct qce_dma_data *dma); --=20 2.47.3 From nobody Mon May 25 02:57:46 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 B82EF44CAF5 for ; Fri, 22 May 2026 13:40:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779457244; cv=none; b=eEkTMY7B6F2KQE2qtV007MBIpfbeaavPOjFezHVmBSNhH4NN26sWoXBZzW7antYrazedfFEifGKURMdB2OnHBdkfez4JhsX5eu5x6Ym1umYnoDGicXzle9KZCuxjd0hrKhiLns50cRjgnnagGjuO0Sdr+2gdzAelfVuO6Az7ZMU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779457244; c=relaxed/simple; bh=1hqWDd/0bXE3LgLE1RPTV9B4kaYMiY3xCYD1OrMkUU8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=swWLZHKU13MAO24hEI7qtVHGQlRqKShHMZb49JI78cTV9zm7OxR/8LaWFWfzcb0UQRX6H29SimyAROJZYaGrg36s7mkZ5RkgUeKiC3PByxcK97NVH8tZFIFDNoqesCyT3kY3/GPJbopo9Au/sjr01UxMWketoniC7JyacvzOdHY= 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=VtBaVqoZ; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=EzNCRUr3; 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="VtBaVqoZ"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="EzNCRUr3" 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 64MAIiL81800728 for ; Fri, 22 May 2026 13:40:41 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= m4JgpUHbn9N6lGMSwan1LLLr3sxikf8Sswa1p6VG+q4=; b=VtBaVqoZwk5lMZV3 UD3TtCxT47gJEz2u728obOtbgeK7KHN3RLDsFeKa+o5HZKcDojGAprLzAbWXJti6 drsSgC81+qtkdh5kG/APkyrWY694X81vQ4EdRVx0Gc3Pwj7P6jM0E+R1fzH+WyB8 i7eDkQ8UYdeRhfr8S4nVuELqHHyQ0EaLdjgVoJgBpoFrdJ7mAGoeaCcwif+eXydn k8C5/tSLDoVjWesd5VW2jpfvnU/TghkFT7j0eEVDNwVxaMX76z1GNVrpm/d5AprR v0bfTzRcOoWaef7ZaXD/LTmk8Cla7T0QCcYSQ9vW76gczWsQcaRFrelWzAmBNiWK +ivbzA== 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 4ean9g0ntf-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 22 May 2026 13:40:41 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-516da5a1db4so13181781cf.0 for ; Fri, 22 May 2026 06:40:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779457240; x=1780062040; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=m4JgpUHbn9N6lGMSwan1LLLr3sxikf8Sswa1p6VG+q4=; b=EzNCRUr3voNaCvf69x+K9Yn0DvWKQkolFHojx/xpQ4eRgk/KXFCPAgzWfOpgN9oYVq Mx7CO5fNW3qgEt1MtIzzo5yX3lXbjH5lZ/KSPTbyfjawBCXVMs/L36atRLbxm8EkBSlk IOvtn9pV/EIRfl87LcKnSwpfrI1d0P1GddU5I7Oon4PRHFJ950EoshfSBxbbuzk3aufV Ifn99oXv9Uatwxcp5SiV2RBbY+YyaRVt8VqcfKVge+i9vq7fbqc4nJ6VuhWnpqNyDIzC d3zWNJRqiFFikncLjwWKNQMuXGBg4xNyoNKkjvUkKi66fGReYPGrdY01cL9rs8y30Osh yX+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779457240; x=1780062040; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=m4JgpUHbn9N6lGMSwan1LLLr3sxikf8Sswa1p6VG+q4=; b=odGrnHi7p7K+MijbFPc8/IImCPobimoPokDpFlueUsVg6HPYFuvbxOGHnKorrEo0C8 2IQrigEh0NCjvRUZkBUp/NJm2F7h7H9Seb+rBFDvd+fV1pp3qgOhyFwmzW3iOux/3Bh/ 4I2BukGvFJsYxExlHYJIDd9C8w9CVrBh4rbOV9Kbf5MFqivfFEU+HhK217j8B47YGUZ9 7B97ZDjtC687JdCQ9ZsEnri/pVvlIeDmMJSZahUPG8Am00i1cLkrQzGxvdZ3R2C5hzjR ZnsQTtkmumFc9cFUeWaEk2sVykWQWBTQSwjNthmrbkdIZfJyKf8+YhXbyLovKLMM2yB5 reIA== X-Forwarded-Encrypted: i=1; AFNElJ9yJh6FsjGgeP8awwFugnzpt4Yuno6Jh5n62J64Ct/5OkmAjJEpuKP0DLuYmY/QJ9InGTbbNh+qSFUiN+g=@vger.kernel.org X-Gm-Message-State: AOJu0YytSek3AP68IDQFsJofSGBTvKwQ8t4hBYO95Q63p0n5SxO8jrGj ZcqNMIaGrQ/Opou6FY9FQ5UsC44rxOHnWrYyF6Km0x0+TpLt0mDOZUZtUqEFzcKqz2OSJoVzHuJ qyuHVnbBlC/T2ugH7fgPKXw71+FYSLaahdVw4gxcsGT4J0ChNhNvzMe8k58swdM6g0PI= X-Gm-Gg: Acq92OHLiqXdoPmzNpqXTySOo58FJnqmt7CXmNhCbDgrP7rq1bD/9FecwmODdi1F1o8 CnErCovFpeBdNXO1Dctawv6U2YYIL5dhqYeNq0v7vP9V41DQwezZeMJminNSrgOcCVDwUuSvnOl P9FP7a5+NeMTP4hdOsmxlMPYi4IxN7HU6O0sSDzQpgd5b0Yz9OkD/SQJDTF59w/R2YG8KI9Ejim wjO+o41ihrO+b6BBF+PNJnDhvHYN8YcRsARo/M/bjjw/u6Chq2KvLziWogyTJXDQI8QeuAmqiAe 5ako1kX4f50tVO6bINlcPeBKQpzNjiCp8ppADygLVr7QVswxoP52HivyAKJMbJJmZb3KbucXxWi H75zCEtBnBCwbOtbYUexr4QjK+QVRHPlU3C9EQBf3SL++De2Glw== X-Received: by 2002:ac8:7d49:0:b0:50f:af1b:1dec with SMTP id d75a77b69052e-516d43a1a08mr50136511cf.40.1779457239909; Fri, 22 May 2026 06:40:39 -0700 (PDT) X-Received: by 2002:ac8:7d49:0:b0:50f:af1b:1dec with SMTP id d75a77b69052e-516d43a1a08mr50136121cf.40.1779457239371; Fri, 22 May 2026 06:40:39 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:2fa:6280:a48f:fb37]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-490454c600esm44912825e9.3.2026.05.22.06.40.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 May 2026 06:40:38 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 22 May 2026 15:40:03 +0200 Subject: [PATCH v18 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: <20260522-qcom-qce-cmd-descr-v18-10-99103926bafc@oss.qualcomm.com> References: <20260522-qcom-qce-cmd-descr-v18-0-99103926bafc@oss.qualcomm.com> In-Reply-To: <20260522-qcom-qce-cmd-descr-v18-0-99103926bafc@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2674; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=/ngcILYEJOF3Hp9tIAViTgKfkzbk8A+3CFbfctgioS4=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqEFy7XqE0J6HFR5/qidJsYGFAAf4n9alpoXZOM /lz7y48oA2JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCahBcuwAKCRAFnS7L/zaE w+4AD/41ATu3vdLYLOhWDKx46u6g9Yg6MCPYiPYG+5qEz3ulKJmxsA3Gd7QVw6ZvZeJ5ZLaWV3V ZKZ1WY3LvfiuMJumw6WsMoVc3kqnt5ATafmLA5wnTt6A00y2jBg16umeMUxguFiJQHqllJ+fWFf XWfuJdrlxaS0nPntfzsxG1b40Q4eBFZAPIImiZ9cR1lQeXoK1bPKG9DjctMoU06WGQhgBPlbZ1t UBPNsbXjGK/jKt5et3IGgMNRZ7uDh21ETHojZPOAo8t98NwQic5WJ752AHb1PUd2DaVHhpY3IM1 w+S7PN46GShJdKYT27ZP5mnU6QwDPOmNpiuiLqajrg92vZwz7pfLb40o8TdX/thaD2jhvne+DKg YHmrOfMJrS3zfeAhWPp7YdhZTVpD/tLpRd9+2vCyJWjflCnC/2C4rqOsHSe90PWTaLK73TdLHJh e48eo8X4MFDQsOqFcSi5+XTTKl2y0l/J164nf6R4/gN9MeJVytsdOP0FAU8hW5X5gtjuWyFt670 tywRYbs8Lz3sDIg1Jc3QsawDhxOhuAIe0lL8VXn6kiEJLPxdu5Qn6GmNBrY41r/JsqFyhZQ/QV1 QauHuWPcK33VaowA+wRtlRa1QY8Q4KUzMOP8qRUiIzA37P3i0nfg4xoXzhaMUCKqVs8jhXj6SOi 4wyHqSHHNPKmkkw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: MyROvn_riVZq_ojHK6E79X6inLFZrBmx X-Authority-Analysis: v=2.4 cv=B/qJFutM c=1 sm=1 tr=0 ts=6a105cd9 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=lH6k5GM5CfRwGFUYfCYA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: MyROvn_riVZq_ojHK6E79X6inLFZrBmx X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTIyMDEzNiBTYWx0ZWRfX19RIwejvtHxp /RVbLfQqsIxbcoOt59jMHrNAxYrRGjJqzqN0tqcE1vrEozBa6bv8cwzpLTxyE4F5FihR/OxYTcy G6/fKnWurl/tuv2/MgxqrA7NWvk7xzYaODe0hOPsYWJJ0TyECUFjYDBVEBJOHjnVF6LQBgobGWL fqkgTTntZYW2RuT+gkDacexJ27JQeCatRgZHsq00DVWVo1kKa6Ae/s5sZ2U5PexdWfVXtxk+alb U/KoeFgL8o5rdclTazXNuhMdBiDHdeJ36no3M8lFUeOEKdL99bsqaj/XNQCNbcaFtbiSlRcPe1L bGodlvJWz+CIfwrDS5kb7VTmJBeB7WNjR0WcRxgZgZmssZoDnBmquHLN7aF+2rHf/H5KsE7kFcf ZJXvaBY6oSxVHoeYJhSykqrLpJ8z1i/R9JKVVNnic0c7tpvQDEODEOPFJqYuTaTXIxXYUiun0x4 6iRJR2efD8e/JbmYFJA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-22_03,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 impostorscore=0 clxscore=1015 malwarescore=0 lowpriorityscore=0 suspectscore=0 adultscore=0 priorityscore=1501 bulkscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605220136 From: Bartosz Golaszewski This function can extract all the information it needs from struct qce_device alone so simplify its arguments. This is done in preparation for adding support for register I/O over DMA which will require accessing even more fields from struct qce_device. Signed-off-by: Bartosz Golaszewski Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/core.c | 2 +- drivers/crypto/qce/dma.c | 5 ++++- drivers/crypto/qce/dma.h | 4 +++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/crypto/qce/core.c b/drivers/crypto/qce/core.c index ad37c2b8ae53a373bb248aff06c3b7946e8439a8..a0e2eadc3afd5f83e46724c8bc3= e3690146b86ba 100644 --- a/drivers/crypto/qce/core.c +++ b/drivers/crypto/qce/core.c @@ -238,7 +238,7 @@ static int qce_crypto_probe(struct platform_device *pde= v) if (ret) return ret; =20 - ret =3D devm_qce_dma_request(qce->dev, &qce->dma); + ret =3D devm_qce_dma_request(qce); if (ret) return ret; =20 diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c index 08bf3e8ec12433c1a8ee17003f3487e41b7329e4..c29b0abe9445381a019e0447d30= acfd7319d5c1f 100644 --- a/drivers/crypto/qce/dma.c +++ b/drivers/crypto/qce/dma.c @@ -7,6 +7,7 @@ #include #include =20 +#include "core.h" #include "dma.h" =20 #define QCE_IGNORE_BUF_SZ (2 * QCE_BAM_BURST_SIZE) @@ -20,8 +21,10 @@ static void qce_dma_release(void *data) kfree(dma->result_buf); } =20 -int devm_qce_dma_request(struct device *dev, struct qce_dma_data *dma) +int devm_qce_dma_request(struct qce_device *qce) { + struct qce_dma_data *dma =3D &qce->dma; + struct device *dev =3D qce->dev; int ret; =20 dma->txchan =3D dma_request_chan(dev, "tx"); diff --git a/drivers/crypto/qce/dma.h b/drivers/crypto/qce/dma.h index fc337c435cd14917bdfb99febcf9119275afdeba..483789d9fa98e79d1283de8297b= f2fc2a773f3a7 100644 --- a/drivers/crypto/qce/dma.h +++ b/drivers/crypto/qce/dma.h @@ -8,6 +8,8 @@ =20 #include =20 +struct qce_device; + /* maximum data transfer block size between BAM and CE */ #define QCE_BAM_BURST_SIZE 64 =20 @@ -32,7 +34,7 @@ struct qce_dma_data { struct qce_result_dump *result_buf; }; =20 -int devm_qce_dma_request(struct device *dev, struct qce_dma_data *dma); +int devm_qce_dma_request(struct qce_device *qce); int qce_dma_prep_sgs(struct qce_dma_data *dma, struct scatterlist *sg_in, int in_ents, struct scatterlist *sg_out, int out_ents, dma_async_tx_callback cb, void *cb_param); --=20 2.47.3 From nobody Mon May 25 02:57:46 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 A530144D693 for ; Fri, 22 May 2026 13:40: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=1779457247; cv=none; b=VV9emu7v5a+rf14h1uJkOssUT7/4zksnBKZjnMA6s/U0ADjtJc7er5XloEepwBz/rd5kjwlcCXP0FsET0u8yx3SvFOKSGqqRZPO392pjX+RC6qZuWQeFFpaDDoqcW5HjiIrmMDoZgPwrCDUqXf3q50x3LiDvnwl2zmoutVckgbo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779457247; c=relaxed/simple; bh=9uIzNvyfvjB7Lfk2BX/bVvJu1lFsXDUaVj1eiyJyLZE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=MUu9ljl8Tkd1mSl6pjxGYgk5vCH1QBJIh1DlJyujP2umazTEaeGo4o44q3jQFZLKcGcQHBb55Hz1NlL0qdvj9Es8E6/1WYVqASd1AsXcF648H+3P3iicGAbvju9h2qvkd/hMRzqxIKdVw2LFBzqWiNVSzFCwiS43HxdpJBkV17s= 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=Df8gBVEd; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=eseIjpsv; 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="Df8gBVEd"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="eseIjpsv" 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 64M9p1Mb312901 for ; Fri, 22 May 2026 13:40:43 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= rUFRedyxv2ZWJh5/udxxljoSXdv1UlG0qZX9Fs/V80o=; b=Df8gBVEdewbjthEr lmrcQuB/KmhvN82MZyiSw9wvvjS26ar3CQVuZBONp6A7g8c5B9Sto7iums/WHcnQ WMA4mZArSxZBuM+NNXQmnMIJfz+tWAzvuEIQkNQw3ivdiX1PVj6oBedalP075z+b BDLR0fVSg/7B0cDnAgVhiTjT2mvkQ1qx8mEMksHsIB7mLpmMBvybnrLhICIR+Em7 YAoBV/emk/Ev+aGBo+cXzjxdSQqSv1u5Rir5/krRbRJ4i57zVc2ZfjECN2w8mH3J Vo1lPe9dltbVorMnhLLiExMFZ3OG/ZWrxnCwPIKnDd8yXUAPchXUK452LlB59NSU MhiX1A== 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 4ea883413b-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 22 May 2026 13:40:42 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-516cdd89225so34480081cf.0 for ; Fri, 22 May 2026 06:40:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779457242; x=1780062042; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=rUFRedyxv2ZWJh5/udxxljoSXdv1UlG0qZX9Fs/V80o=; b=eseIjpsvHaHX6WTcpPttazu2E054FgGVISAbqmLWcIVEcWqKqrKNX6LCbU2skhXSAJ k9Dhu89gfnsW/PbuwmmyxKXVGXoT2GFTKmY+wA6xZ9f2jxFjbmDTmM1wwKAQaA2F/IIL BVyInutkJz8KeMjlsfjD5iCz1qYCmbZvDJxOFCKXRadAPSz5MJ2maA95n6DX5Nqi0dxE Of9qpHykJcmExVMzd+Dj4oO+H8HuTthUbVs4aBxVLsPBOyHVH6nsmT6SMv/kfb+LJAyH cvb6zE9Qy9RIOALnSr9EmuW2SbIyEFIgJnn1pCQfn7D1Vkpth0KobKf+Q4ryhczJcOsH 4+1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779457242; x=1780062042; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=rUFRedyxv2ZWJh5/udxxljoSXdv1UlG0qZX9Fs/V80o=; b=lEzbjgTm8sZM2CG5T5fbHXdQV57SMhW6TrbpzR6WboDDfyNrW++ycHqwGa6vFv2Fqu phHUec37x9tGhJMdmdOjJq33ub/78bZaOp0k90YxmlxhLqC8WwCMCUN8kEEZPaqH7QAU +bfzToAHZGYPulbrWBPgdT5XYXYkVk3j1JqQyEaySy0Khw0ohyItG7fMnl82WZS3W+ow 57dRzv+cCqO5U1bmTtV9bog3WyZNuKlDSkMW4IhyVczSrSJGYCFzuvESUcbRWusaBmBi eD4USwZHdL7bQutvAwqCEy/d4rpb+DoWz5SKc+6Bqu+cZde9UX7FOjAv6TF+R9KZCMJY 5tFg== X-Forwarded-Encrypted: i=1; AFNElJ9kG7HhirH/isEcSSNNp7SV6qDfJ8YwITyFzZtVApYwq48kQ0W5LP9olQVlR1///q3SFd6PBAhA8Bu5lDg=@vger.kernel.org X-Gm-Message-State: AOJu0YxIEz9MsM0r0p0AroLY+1DWUkd4qAOB03sRKP0wsqhx26B6GawY B8r024rshsG9gnwK5gM80jXlaXAsaWAFK+WbzZ9oDxxFrCzSxfVpz5dQhqsMq7bC8vEEYlBgNbz fl4dQs27jyE7SOgmqd+X1jRV3dBtUlzH0jqdVW6H5ZCJv4tHHU+2Z3/g40wuopoWbroE= X-Gm-Gg: Acq92OFuySLr9zbVhMhMWdJepI6Yv58KKG0xyuQ+/WEdS88r3nI1JmFNqEJtCEKE1RJ j7rczcuVZu8zl5Tr8KgmZaQS/UiIBfLX/M1Fm3ADAOlCvCbR0nzTZfY8Amwo9b7BG441+AYO7U/ mwk1bk88olpqRtqDen7ARGrZQT77YMj/5gAXnSwKwCx/humBjwbuYufvSjEm32+w6R5pITQeDFj dF03+mYMcP6YpuStJYnq5Bk32JhbXkf+AlRFJiErwEkxuGcUxVztr0EBGtGh3Vo4YpQzE5L+3xy +IGal+zikAz0jw65bXswfc/IWktZ3E24X4AVjZS8lD+YmCa/SOcM+1oBbhJhUWwfWZtcEnw3W8A ssB1PyjvCLDx1Mxpj5HBoovyH6KeSDegvFRhMgxOIJIib1CkRqA== X-Received: by 2002:a05:622a:a901:b0:516:d720:4656 with SMTP id d75a77b69052e-516d7205069mr33669041cf.48.1779457242218; Fri, 22 May 2026 06:40:42 -0700 (PDT) X-Received: by 2002:a05:622a:a901:b0:516:d720:4656 with SMTP id d75a77b69052e-516d7205069mr33668621cf.48.1779457241783; Fri, 22 May 2026 06:40:41 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:2fa:6280:a48f:fb37]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-490454c600esm44912825e9.3.2026.05.22.06.40.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 May 2026 06:40:40 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 22 May 2026 15:40:04 +0200 Subject: [PATCH v18 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: <20260522-qcom-qce-cmd-descr-v18-11-99103926bafc@oss.qualcomm.com> References: <20260522-qcom-qce-cmd-descr-v18-0-99103926bafc@oss.qualcomm.com> In-Reply-To: <20260522-qcom-qce-cmd-descr-v18-0-99103926bafc@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski , Konrad Dybcio X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2326; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=Kub9ORcm7+PjuGNnZqvGfNQgLhDmAjRY+udGQlXYRFY=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqEFy8sVsJ1rqtkGBlZ35x+opyw4shtSjbnc+wk W66vCyk7y+JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCahBcvAAKCRAFnS7L/zaE w0v7D/4jw+3q8HcVHo1FlT0N6ArmoTBNyabY55CYkleyMxUYKB8XxGjywgksaiO5jRRmO+MYqUB aavzVOWySEc/m3myQIgSCG2jjUNwlaHfeWHDZHqCPTAOvVlhwO5ZSnwvw0BqtW6c5vntgXxaUC1 Dh4EXXfwjZWiZkuQXW1rCj309B+9x5NDnwfoCgvlfZoKhIKuCKOCUydFgZTN9uwB1bzdeny6CST EGWvYyadkUROQ60PH8FvoWrJAFvdyxjnKaPxrn+xcXU5KY0eK5LpfiBZ3iLE4gp8wOAKkvV+3Nd RVsxhVUc9EHmruF813wGw83U+cH95oiWRJ1P15uIh90Q2ERxeAKOjxy15foAYJgHcANGadsXcMG kOZu4LXl3JOm+OcAj1/vYXDkCrmXSfyGkOaes4qMqLlMHMpmyRCGoH30HRf9XXFhdFjYmJk6eNZ RECwm/+dmZOtSYnIg/U4W+F6eaKIesM4ym23bM+DLyv5n1t4a+Xoy9eLuHZN7Ml0rA+7OYzTQT7 r1qMjO+6J8nV92upfXI6YTCu4QG3/DTS9fZiVosBqSLntMqB1EAPQ2jLrv3gxroMLIiV0XbS83m fnr8BaV0ybEV0a4K8bh8xCNssgGnakiDq9/2DEtKkbxlfncd59K0fbs6aQBndrPTjlLyKMLqvC7 aXB0Le0+9+/3mcQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTIyMDEzNiBTYWx0ZWRfX1BLOkI/vIC6g rPvtickmwLAw5TLSwKYHtOqWUVZvKYTplOEudcTjrJdK1PVmv3reKJ4gkYDgdILT8AsK+PbA+E+ JnOm39B98eCmlYkaW4PPr90nmQmR57/oCXmzXPyEDhDFJrgaV+Kvm7gUd+sJvgcYa4pwo6zU4tO OFzZ2MW+TkdDkqKJ7MkFyCOqtbb2UC7Vx+dagHuNsQ+ba/aiJlJw+WHS3s0iJTO+jvYo3IeVkj+ 6gbpb/+OJAjo1hVXgaGU+CJBVadQn7tVaNtP/Ddb05ngnulxQleyZTAXy8mhVWmm6Yn0UBJYyVq OJI9CnPK+vgpk67id+49GxlRzcL9Hcdx7tNs7YlpgPPa+uTmkwX1zpjthVQWW/J3TYeeHxOIsQC tzaUspO5FmUVLFfhkTOq0IYC8DqQdyeFTRnHYEj+c8VjZ7sJ0Y8URJLcJJfraqBxTohRDodcutU S9zCID8CDX3bvFdfDyA== X-Proofpoint-GUID: WSEGCL-CpQjVaXSTCq9Jawfxz5T_SB-S X-Proofpoint-ORIG-GUID: WSEGCL-CpQjVaXSTCq9Jawfxz5T_SB-S X-Authority-Analysis: v=2.4 cv=LsSiDHdc c=1 sm=1 tr=0 ts=6a105cda cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=VwQbUJbxAAAA:8 a=r78XHnC5kAO70zNBxnsA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-22_03,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 malwarescore=0 suspectscore=0 priorityscore=1501 impostorscore=0 bulkscore=0 spamscore=0 lowpriorityscore=0 clxscore=1015 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605220136 From: Bartosz Golaszewski Switch to devm_kmalloc() and devm_dma_alloc_chan() in devm_qce_dma_request(). This allows us to drop two labels and shrink the function. Signed-off-by: Bartosz Golaszewski Reviewed-by: Konrad Dybcio Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/dma.c | 41 ++++++++++------------------------------- 1 file changed, 10 insertions(+), 31 deletions(-) diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c index c29b0abe9445381a019e0447d30acfd7319d5c1f..3db46fc0c419a0a387abce93649= 084fbf4b1f128 100644 --- a/drivers/crypto/qce/dma.c +++ b/drivers/crypto/qce/dma.c @@ -12,47 +12,26 @@ =20 #define QCE_IGNORE_BUF_SZ (2 * QCE_BAM_BURST_SIZE) =20 -static void qce_dma_release(void *data) -{ - struct qce_dma_data *dma =3D data; - - dma_release_channel(dma->txchan); - dma_release_channel(dma->rxchan); - kfree(dma->result_buf); -} - int devm_qce_dma_request(struct qce_device *qce) { struct qce_dma_data *dma =3D &qce->dma; struct device *dev =3D qce->dev; - int ret; =20 - dma->txchan =3D dma_request_chan(dev, "tx"); + dma->result_buf =3D devm_kmalloc(dev, QCE_RESULT_BUF_SZ + QCE_IGNORE_BUF_= SZ, GFP_KERNEL); + if (!dma->result_buf) + return -ENOMEM; + + dma->txchan =3D devm_dma_request_chan(dev, "tx"); if (IS_ERR(dma->txchan)) return dev_err_probe(dev, PTR_ERR(dma->txchan), "Failed to get TX DMA channel\n"); =20 - dma->rxchan =3D dma_request_chan(dev, "rx"); - if (IS_ERR(dma->rxchan)) { - ret =3D dev_err_probe(dev, PTR_ERR(dma->rxchan), - "Failed to get RX DMA channel\n"); - goto error_rx; - } - - dma->result_buf =3D kmalloc(QCE_RESULT_BUF_SZ + QCE_IGNORE_BUF_SZ, - GFP_KERNEL); - if (!dma->result_buf) { - ret =3D -ENOMEM; - goto error_nomem; - } - - return devm_add_action_or_reset(dev, qce_dma_release, dma); + dma->rxchan =3D devm_dma_request_chan(dev, "rx"); + if (IS_ERR(dma->rxchan)) + return dev_err_probe(dev, PTR_ERR(dma->rxchan), + "Failed to get RX DMA channel\n"); =20 -error_nomem: - dma_release_channel(dma->rxchan); -error_rx: - dma_release_channel(dma->txchan); - return ret; + return 0; } =20 struct scatterlist * --=20 2.47.3 From nobody Mon May 25 02:57:46 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 51E6F406289 for ; Fri, 22 May 2026 13:40:47 +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=1779457254; cv=none; b=GupzbDhgK+mfZW9L77XKcRTK5ya0XnSvx3u8D7NR3LAZb1TVP28zUH2JECwDsF18P3iWaGMeEyL6N1fCCnba4pX1CybnmQSR1JocSpxnuVq3hSn+8Z5lcr3T368sqTvzoj2XaCkzRHcmlgRx0EER0yX5JFnyVVpX6Ie6Iq4MrA8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779457254; c=relaxed/simple; bh=haVTCoWg8OL+rLPtFm5RXGk1TNPHvQOhQxIunu3z1Cs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Gi5XAtnHCLz+VPDecya0DMPXsuPi7RiouZctFh3nfAvkdsU+I33kzzEBdJSA6T98xMzck3D+FTRoTENIbbSl+qeAL7Kuedut8jfMIuPSRHNE03BeBmICaaWUZ9YtPvl4ass46//01l4tOzmpFCZcXmdNwqBHV7hfqCEZeV7J6sY= 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=L0bLFzQ8; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=KQV2Mxng; 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="L0bLFzQ8"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="KQV2Mxng" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64M9Bn3t3005110 for ; Fri, 22 May 2026 13:40:45 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= FYq1r0spQWHIRnEkazipWdL66tm0s91r38cl3E1vzGg=; b=L0bLFzQ8eB8qbZY7 r0FH9KylIh7vCVAzy2P+aRxMGDMF71H2/mgtOVU5GuDJW9ZhHIJci89kGsxQNIGg +mCmqghMEoSbOJOK4KwlfqTR54KOdf68H5DayiImhl6nXq/PiywcFTs8ZF4WsElr 9FLzJWMqMeS1YYY0Kz5myN72PaUQWnhCZLSnLa8lSuFmnVDDTaHo8O3fOTSqd1mF IbK7KJSIt/oDIdkcPZ0HAtBdY0z68cZ51AWK4QHQttZ4kBzbA9k4IGw6gAhW/DTY b6nOQD5xYE7s5/1vFskf3/uNjKJczu72MRW1vCRmr/Jp7GZOdTWyVi++InfMnIsp +B52SQ== 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 4eafrta6b3-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 22 May 2026 13:40:45 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-50edf01172bso67234711cf.2 for ; Fri, 22 May 2026 06:40:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779457244; x=1780062044; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=FYq1r0spQWHIRnEkazipWdL66tm0s91r38cl3E1vzGg=; b=KQV2MxngREueqNIxlnyXvaL25f6FNMyA/T8fljxs6ZXPRxlpLMCNnw3pTS9ZksXWKM +qPgVoUw5kF4sz0pmMFeot2+lhViJgsHtlgVePAP7d1DPoz0rZ3SMx8a6c8k0eFyy4t+ MSD+lYzVPCg+s2DLpt66+x04dgxHYZ1dNa0UUVf8oP9HRJV+OJ7MVMcsdMz9s4rnRXzq NREQ85IjzwWgsw8W05v5W8MrOO9snNa4L/v92YuQR17gYedZ0Fhvcyll+6Ry53bxIVCT K53vtQSXQD7y/DiOkyGO3MLxLLqxu27JtnSATkrEI2ZycjA2gTz85gY+XEemn4GDYbkD 72yQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779457244; x=1780062044; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=FYq1r0spQWHIRnEkazipWdL66tm0s91r38cl3E1vzGg=; b=koUeKo71FdJ5B/JEhqXBa/M/HdjsDgUHM16p/Ni3uQ+w6kL87ciu+Ay1w/3+5/Xsjg 7bxlNT99lCeOMzOVYYA9HO+TwvM3+nfIt5A6I5FlwG5E1vE31OphJ/N1xLQiAFx0ep4a /XmPBA1E7/E4+1fq8rVZLedfwp7U/NDTp0tyGOgXbSVrdAKszoioZVhFg6whor/ZwURE +Ire71I3qWuoqosurvJEHZsF0YXlem7kaqUW6SCd3DM2nlnbGpr0MduCuqeGHNEZPe77 PMMWjIPXyAlgeBa7+nnlqScxFjwoCu9kjdD3GN271pdeagW09/cY8b2Tr9aad97ybTJu 7k7g== X-Forwarded-Encrypted: i=1; AFNElJ+/eRi0idBvQxTl7CIeeWk5uhaiXTjHg8fXWbZwHApd7OtzFJQMlqHEQ/E+gZBlbz0hY/9SegeSDMxwSEo=@vger.kernel.org X-Gm-Message-State: AOJu0YwvOTixFcNJSe2RsF4Zw3ORySAXyc6zUvKG5laM7vqma65r7tud j8UKTVBmnZpZh6ixfHZEflbTLE/capKX9N1qfqgZu9YYnOC4/qPXD3ex2Fi+q9BStCCCgSaRMVw MTUgJ9BIf8lqX0lRNbdlgspg8Xc0EsilcrYVHpj4F1gQhKQv60Rw9jTk3cXUM1DixXhQ= X-Gm-Gg: Acq92OEglE04i8WnhUfORnmDPrkWelr8nMiwQnspaEyO9ED3O/LA4575AQjZaiUtaYq jOGtOc8xCbdQjhN/c3bR+7hC4+PkXgr4A82Ami1cVxUy4U+fc+kOyhS2vRM3QazBCvr7A7r+TI8 ZrlLRmiwqlWURJDZZK7OUwBTeDXRMEExkAZYh3w/0xc6fBMMG6/WUc99Dq6/2TSawMyH/7SoSZL hspcHVz+73za2rsK4LTFwyVx8lXPSPwLzUQCAoBNlapn7XJIY1AbNLEPWxRrR6efAvUFYardheo 7et8A/XPfOkowccBxg/oFxRDP1woaUj/9q+Jl53TIsEi5cpWOz+h5etNshIdCmn9vkCmY1KAdG9 878mCVGOLPabisAhWxXvvsYHyqJUB5qT4CZRRsFhQ1jnI9nbcSdVGAVpBAsjo X-Received: by 2002:ac8:5a42:0:b0:516:d812:c35e with SMTP id d75a77b69052e-516d812c62dmr29096521cf.21.1779457244126; Fri, 22 May 2026 06:40:44 -0700 (PDT) X-Received: by 2002:ac8:5a42:0:b0:516:d812:c35e with SMTP id d75a77b69052e-516d812c62dmr29095691cf.21.1779457243645; Fri, 22 May 2026 06:40:43 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:2fa:6280:a48f:fb37]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-490454c600esm44912825e9.3.2026.05.22.06.40.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 May 2026 06:40:42 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 22 May 2026 15:40:05 +0200 Subject: [PATCH v18 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: <20260522-qcom-qce-cmd-descr-v18-12-99103926bafc@oss.qualcomm.com> References: <20260522-qcom-qce-cmd-descr-v18-0-99103926bafc@oss.qualcomm.com> In-Reply-To: <20260522-qcom-qce-cmd-descr-v18-0-99103926bafc@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3111; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=zlCDdZs7gUpD6zwuSqo1JfGszglD6fOxI/qdoCA4A3w=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqEFy9GCej0i1Cd1aztfnZZqtnXG3WAa7q9+ntF QHPDWveOlWJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCahBcvQAKCRAFnS7L/zaE w+TZD/9vRYP2DEf7Qu75DhCLbQDS2mmmkVJ4+R9oiI3lc6AVdk6u3LDUGd9bYd6FWE1rKOHYVMc ax67m1Fw6hUcKQoO3SjAcPfR8emrmbcp9KmC6tuB2d4PGFa56saczmhwcm+WIIGCXM54g0mCT0W LQcJEChKGrkdWsR/LL2YGRjKkLBZBP7YK/i/p2hVnyr9aFVBUQ0ERj87TB5Boh7IrjmXmYQ7MOU OD6V6n3pk5hletbVoErK/FrvbEJhbU5h5Ib4T2PU0J83jfFNqFUmAY85bof5EqMSTOC9OC6USr1 Q77NhHZvFQblQkJZH7+qGFQALv9Xp4+c1CgBJ3gKChzY0ME7O5GbW/4p55XCJbOc8Box9+W2q94 uG1XZvJ5/2gYj/qoO7KjWq0vdO5Fb+md13YyaIrQtmaFWMZlaUB1IIEZ/R2A/YNg3zhmyqYChk3 eceXwNyVKjTDaVbvNWHH7Ie0P6jG9mebIWguUTA7qNEeg0Hf9NuLkxTqnWkDrzz6gRRVqnPXy7J rvDPW4QzOSUkhTiBBKRiFAS6HN/4fZn9+MQTyZbRGl/Fl2qwEGfbXthepOXqviVS3wOJKslnf6t 6cm8E/jw/pnYRuxt17zrXLvsYnoHzdG57xMDlQ+IEtFs+jjtRIc2e578qqvdkewcL4pmVYTUXo9 R1+t9Owjk2x8BxA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=JN0LdcKb c=1 sm=1 tr=0 ts=6a105cdd cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=9tNk7rGwWxUH_P3zroIA:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTIyMDEzNiBTYWx0ZWRfX/MG1VGDuenwS Ha7WzrCEHoZApPhV+cVb8+HUfaxG3JXLkVdf1Kc1NyBXg69JKnaw5ur6RY0NaJbc7Ylvv/KwgFb L4PVAEeHq4e1dZ7AUVFpMYAltR46JBR+ZIakcwvW6MbCYaO1OkCmSZ2YfEwgGvvc0wxDcHv/b1k lQynrt46dEa58qPQHcgcQiPCL5L9S0XIGhV/9VIOzqOTbe1O9yEUw2cpiR8XmKcAAtn8fHqOxxE XqM0MjEBauJssryn8ISyAEwXcuiXp2zMYy3HcjqVjEpFW9ZN/6q3FpXYQ4xzmhw2KMlybta21S8 6Mo6TjFsu28G/S18dDbzb4F7dyZPGtRiAsQ/laA5RylaBIcY3JW8xtO7syR5VTxBhWcq0KAGFLT kj5IXe77nbvpvzLAfYDxEn22ZLo3LWyB0M45VO7BeN/tZ1xKOMp5bX6nQS9k25qK5t9sk53nOq7 YWJdHQJvwFexqGZwHyA== X-Proofpoint-GUID: fW6bBgexCk5ZoWzl5ZiB3DzNZE0rz7Hb X-Proofpoint-ORIG-GUID: fW6bBgexCk5ZoWzl5ZiB3DzNZE0rz7Hb X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-22_03,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 lowpriorityscore=0 suspectscore=0 malwarescore=0 impostorscore=0 phishscore=0 bulkscore=0 clxscore=1015 spamscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605220136 From: Bartosz Golaszewski As the first step in converting the driver to using DMA for register I/O, let's map the crypto memory range. Signed-off-by: Bartosz Golaszewski Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/core.c | 23 ++++++++++++++++++++++- drivers/crypto/qce/core.h | 6 ++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/drivers/crypto/qce/core.c b/drivers/crypto/qce/core.c index a0e2eadc3afd5f83e46724c8bc3e3690146b86ba..d7b7a3dda464964afe6a6893bb3= 29d5bd5759dcd 100644 --- a/drivers/crypto/qce/core.c +++ b/drivers/crypto/qce/core.c @@ -192,10 +192,19 @@ static void qce_cancel_work(void *data) cancel_work_sync(work); } =20 +static void qce_crypto_unmap_dma(void *data) +{ + struct qce_device *qce =3D data; + + dma_unmap_resource(qce->dev, qce->base_dma, qce->dma_size, + DMA_BIDIRECTIONAL, 0); +} + static int qce_crypto_probe(struct platform_device *pdev) { struct device *dev =3D &pdev->dev; struct qce_device *qce; + struct resource *res; int ret; =20 qce =3D devm_kzalloc(dev, sizeof(*qce), GFP_KERNEL); @@ -205,7 +214,7 @@ static int qce_crypto_probe(struct platform_device *pde= v) qce->dev =3D dev; platform_set_drvdata(pdev, qce); =20 - qce->base =3D devm_platform_ioremap_resource(pdev, 0); + qce->base =3D devm_platform_get_and_ioremap_resource(pdev, 0, &res); if (IS_ERR(qce->base)) return PTR_ERR(qce->base); =20 @@ -255,6 +264,18 @@ static int qce_crypto_probe(struct platform_device *pd= ev) qce->async_req_enqueue =3D qce_async_request_enqueue; qce->async_req_done =3D qce_async_request_done; =20 + qce->dma_size =3D resource_size(res); + qce->base_dma =3D dma_map_resource(dev, res->start, qce->dma_size, + DMA_BIDIRECTIONAL, 0); + qce->base_phys =3D res->start; + ret =3D dma_mapping_error(dev, qce->base_dma); + if (ret) + return ret; + + ret =3D devm_add_action_or_reset(qce->dev, qce_crypto_unmap_dma, qce); + if (ret) + return ret; + return devm_qce_register_algs(qce); } =20 diff --git a/drivers/crypto/qce/core.h b/drivers/crypto/qce/core.h index f092ce2d3b04a936a37805c20ac5ba78d8fdd2df..a80e12eac6c87e5321cce16c56a= 4bf5003474ef0 100644 --- a/drivers/crypto/qce/core.h +++ b/drivers/crypto/qce/core.h @@ -27,6 +27,9 @@ * @dma: pointer to dma data * @burst_size: the crypto burst size * @pipe_pair_id: which pipe pair id the device using + * @base_dma: base DMA address + * @base_phys: base physical address + * @dma_size: size of memory mapped for DMA * @async_req_enqueue: invoked by every algorithm to enqueue a request * @async_req_done: invoked by every algorithm to finish its request */ @@ -43,6 +46,9 @@ struct qce_device { struct qce_dma_data dma; int burst_size; unsigned int pipe_pair_id; + dma_addr_t base_dma; + phys_addr_t base_phys; + size_t dma_size; int (*async_req_enqueue)(struct qce_device *qce, struct crypto_async_request *req); void (*async_req_done)(struct qce_device *qce, int ret); --=20 2.47.3 From nobody Mon May 25 02:57:46 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 8C0314418EE for ; Fri, 22 May 2026 13:40:50 +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=1779457257; cv=none; b=EshVP2K19ChAfkzoD3O8b2KEDtWo9i3DdEAmr0f9Nq8pWsObjlaBlb3LMbr1l+7z0E6ZBbiWvSboZv+Vwof0RHWx2fZ/k+D7hvMMDiUCjAqy+v8HNNJ19dPh0UMZn/Pdzel3EvsJXnODjdCPWNE0S6OptSUj+7Abofprlbq/iIM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779457257; c=relaxed/simple; bh=uTGROWgyinEtFSjtDtbNkIk9fBqDNAxWZqwe6VCPC7Y=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=NRQOOiSsf8hrLSzdASvl0yXqXWsanXJW9HUqsY8j5UdR7OcXeDoYvuvM0s4mbYg0r/nYsQMl/38VirpQ0/VigLyAFBYFxbQOgrG7Fv2yU2KwHArhBjk5h9hlh0pkeXyZXmHFYMIuor8s+R3XEtxqwy9C045oesXEXnKmtbOkesk= 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=QnAKE21h; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=kR11DHEb; 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="QnAKE21h"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="kR11DHEb" 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 64MA48qx3947382 for ; Fri, 22 May 2026 13:40: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= uPat2a//bZ6UO+NF81mMzC0mxrRKAC66ywraM+Wxamk=; b=QnAKE21hb5I0l2yT qXczX0rS82LqPRSB39AIujAYUGJ7hqClVCi0HmMRQggxpPu8NyR5BlwQzLOWWGRd +IEJBqsHdgwbKjZGv7qVamt9qYoNLMv99rP789oeyUPO8yv4lQ0bGOkXCvA3ooYY 6S6EW9EKKMIEBGARfTtTGiUwPfczcE4EJvd3Ps/91/TTpEhpuGBJm1zrunaqce9R tL5/ugSdv6S7lUjGnZhVGh/iM/H8tT/zhycvg8Hj2Tb5CauVgyEhOPVC0SN4WIjv F9rygxiqP594MULcmPsI5ZT4NcjdL5N1ZG08r/z1CP/7EXvKM+YnhxvOg84wicmr mkTxhQ== 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 4ean2ngqda-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 22 May 2026 13:40:47 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-50d812c898cso4713141cf.1 for ; Fri, 22 May 2026 06:40:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779457246; x=1780062046; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=uPat2a//bZ6UO+NF81mMzC0mxrRKAC66ywraM+Wxamk=; b=kR11DHEbLVgpHYx7ehwwlUy9zWc2g0Ea6rF6OQDQKuRVhy5nBSLzbq0DZh/2rKSzAs JxKK2IOqB/2fee8wgGzPtd0LnLHW2ktomfB/UR1CVdApq48JIqei0k0znRMryQvUPhYm EcB393dX2FW+OMaX4+l7tdAfQroAN9DxkCqy5Idw4qBCPe+L8JIxVCnjzVnroKJBYXO4 Jmkq5I1EjEYF+H2R9G945CMT9TzjFVADvipNZZCXl+nTbveVD9A/N/8LcwWdkru93LGc 3tnyOYxXkpqVTntAixwBG3VPoynvXyuC8pqnEdRoC5qikTZJuRBDu/7jGxmP4H6uNQ3x lzIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779457246; x=1780062046; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=uPat2a//bZ6UO+NF81mMzC0mxrRKAC66ywraM+Wxamk=; b=GZO5Mv2Cx0MkXc6peGcBlF2H4BGADvJfLvNcKkLqiAgtJ0x6Mqg+EcNoJcGtAV4JkG nMR9AXkdsejndM2XI51MEHWWnRDE8jLe3yiqUWdVfwXtzf8pmBRumgm10KBd32AZkXN+ 8sIbzHEhuQpprD8mPP4QVwX7oNWKuv8YqTZYw/r68P+K2X8Pt1Mx9jTvTgDGSvqcmtkQ +ZLZ3e47cue1aF85V8Qq6p1tTASLunwHbxBv41Y6B9keIGLG8grYgEvUn+qzGq9nM01b qsXcUP/frOi+ivzVbHSzBh7aXpAd8RQr7ksPL2ryqwv78l195MQxhZxp013nybb1YjOz YyuQ== X-Forwarded-Encrypted: i=1; AFNElJ/7G4dt2Z6h3vRj7aQulK3MdS70sJZ0y5lSVxHCoKaDHf+n2QB0GjGP8X6XxOKreCb0bdCE8By+F2/ejGk=@vger.kernel.org X-Gm-Message-State: AOJu0YwOuN3jSLv9uRAg8I7D41hOQBvOyfmosIJi3ZEpeFOSUELLpSyx 1JmG8rPb0yXa0wG/XPgoMVdHlhjPY+GhiwRt8dPHB5DbNioXGRCgPZ7V70idOgij6youQpMPQoO T9MwT92KL6rm4p/T58kfzvnjs/Z5eRN6VkB8jqDsNY1U1ZX3XQklNHR4IbkBcW9iUyIU= X-Gm-Gg: Acq92OH6Z3HhYalu8swvMoYHEKreKJpRfkgdQNRYeD0t70DJPy2o/oBXv0F5AxG4rRG k2tG1O+aIXWVtKGYeZ35bKd2W0S2boYWO50Epxlv5sRSnL032ByRbnX7fdhmmnyG6EfLfRHa3Tv knJ0QiHYT8BvQir5C2Q/cuXhN6wiJMIlFrQNL6frbkbSM+7JF3bflWpMpYWgxcC+lkvqcr8nNEN SYSKvDvbU2+R868BnuhvdiiGTZudgWVshWACIwjNiS6f/REkvjjth9LJdyxM8K5WeTYe0wBNaN2 yYDAKpbl0b9TMWpEwpW0lMs5t3IjJiXbB4+S3DOA6nhhD18/cZOqiW5l+QbRGG4QeYvoNN2qkAy rHM2IdpqLzpp+dNjbgGzros9CDj5BtBR3xixIaMKEO6vvqzlYAA== X-Received: by 2002:a05:622a:446:b0:516:db5d:ebf6 with SMTP id d75a77b69052e-516db5e07aemr19440391cf.59.1779457246052; Fri, 22 May 2026 06:40:46 -0700 (PDT) X-Received: by 2002:a05:622a:446:b0:516:db5d:ebf6 with SMTP id d75a77b69052e-516db5e07aemr19439481cf.59.1779457245370; Fri, 22 May 2026 06:40:45 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:2fa:6280:a48f:fb37]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-490454c600esm44912825e9.3.2026.05.22.06.40.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 May 2026 06:40:44 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 22 May 2026 15:40:06 +0200 Subject: [PATCH v18 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: <20260522-qcom-qce-cmd-descr-v18-13-99103926bafc@oss.qualcomm.com> References: <20260522-qcom-qce-cmd-descr-v18-0-99103926bafc@oss.qualcomm.com> In-Reply-To: <20260522-qcom-qce-cmd-descr-v18-0-99103926bafc@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=11756; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=lwvWwPbYHEdhsfzUX4aUjiUE/iiDM4S0Pqz5DyS5oQ8=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqEFy9Rl8dVaiWuPWA3Tr9/nG7ESCWIGxStxsMc 8DOyBLdK6WJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCahBcvQAKCRAFnS7L/zaE w/tKD/9+7D7KlnMzai7NKGfE9B4IwvklzLHySM/G3C2UAnGBXYgSo0cAQgQ9iPalVkZdfiTnH8c 7OqEUjQ1sRRrk0XWdFLRcO7m1J6S3v1RTJNZtBapuyR0+AX0fjPIPLwMv44GxZZp4x8pnVAqNrE 7HFR1baezruJFCNXAp8kez6R2/PnHOGo/jueTQcxZU0cmi4VAbo0Gc9BY50w0PMO0SASvcoHBGP 9r484ICfaF3QRWISHOnTXzVrDWEbHoNOua5HJrkGj3RplwR3kSPAiKFmFEoTgIpMa12Y+K/y6L0 4tfA9Gc10ykQlvxYLqvgPxfFQbAgco7VBH66NVpfVN4Y7ZZOx93d63VJF1q6aeBdOevmfPcKS0X qtUQ77r5tCMfvfZ77y6wAQMFu6fygOqYVs5/b+d4rGAK1G9tHkcEgB8Jsmm33i4RFlpYFFRe+Kr e7RFR/hwyH50+uF3p0PdCFd/CS5BVCeBUfe71NZ1nNFxyCDCN6fIs7pTJekjRXTXFSZqdaCIdYK sxAQJuSn+DhwGVGyZ5X3QXkTYt01bTMHQCglNgGBiHz7iQ2mmOxuMVKENBwNVqwJ5T2avRs76rS RKZGwed9o1mXu3gIafkNfyb7fK21zZPlRgTyEqMyQPoZQJXHD1YS30mE3RzEN6IzJywLXT/dbCZ vGJn0bo0ZH3fcKw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=XvDK/1F9 c=1 sm=1 tr=0 ts=6a105cdf cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=oAuzKfsFwOPfSl_VwCQA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: pr_93BKVnXVsGAuriwJ6xMn57ZgWi1Vu X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTIyMDEzNiBTYWx0ZWRfX350zU0FjgX7V Cjzxc2sdy8xQxgN5qk7NSlQBA+WjD+UDas50OK3O9EOobt9x7vyLao9eALutkeex4C9y1ibZShV blFduPu3/zFo9EKN9Q+VFiun7wthhKpJFuJUN9Z8JquRtfmy0IwteKyroNAe040eztSpj9GelOI jPhZy/l3EmZkfkIrGb5p/dnEDbG0rz+H2JKlrhUBq7hfw613HC3Iq7P11/DifnhmK3kP3x3xHpg hTA6d6ipAtzkWeNqP5ls9E33LMNrVUC06xueHdx/NSLfwUToKPP7Y1cKJmaHs3s3XPDYr2VUtxE iaqTPDeuuT9xhY5LrADOQBAn8YT/bP+afalnlrqwjj8jPRdhPnDCDCX74uPLuNU+QFCdxUSezky RwYpJgDqrLs4j8VAn23dv0KKyGMYC4sg5ZVgxFx+3qLqMomfmEFggxeUO6COmH1TDlv3E7wQW2K hRKU139NI06tPHZl4Ew== X-Proofpoint-ORIG-GUID: pr_93BKVnXVsGAuriwJ6xMn57ZgWi1Vu X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-22_03,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 lowpriorityscore=0 malwarescore=0 phishscore=0 spamscore=0 impostorscore=0 adultscore=0 suspectscore=0 priorityscore=1501 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605220136 From: Bartosz Golaszewski Switch to using BAM DMA for register I/O in addition to passing data. To that end: provide the necessary infrastructure in the driver, modify the ordering of operations as required and replace all direct register writes with wrappers queueing DMA command descriptors. Signed-off-by: Bartosz Golaszewski Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/aead.c | 10 ++-- drivers/crypto/qce/common.c | 20 ++++--- drivers/crypto/qce/dma.c | 120 ++++++++++++++++++++++++++++++++++++++= ++-- drivers/crypto/qce/dma.h | 5 ++ drivers/crypto/qce/sha.c | 10 ++-- drivers/crypto/qce/skcipher.c | 10 ++-- 6 files changed, 144 insertions(+), 31 deletions(-) diff --git a/drivers/crypto/qce/aead.c b/drivers/crypto/qce/aead.c index 03b8042da9a1b4aebdc775ad8ab912abc7b2383d..e271ecbcbb4a33c405fbec85c45= 8cf1daa7e2c55 100644 --- a/drivers/crypto/qce/aead.c +++ b/drivers/crypto/qce/aead.c @@ -463,17 +463,17 @@ qce_aead_async_req_handle(struct crypto_async_request= *async_req) src_nents =3D dst_nents - 1; } =20 - ret =3D qce_dma_prep_sgs(&qce->dma, rctx->src_sg, src_nents, rctx->dst_sg= , dst_nents, - qce_aead_done, async_req); + ret =3D qce_start(async_req, tmpl->crypto_alg_type); if (ret) goto error_unmap_src; =20 - qce_dma_issue_pending(&qce->dma); - - ret =3D qce_start(async_req, tmpl->crypto_alg_type); + ret =3D qce_dma_prep_sgs(&qce->dma, rctx->src_sg, src_nents, rctx->dst_sg= , dst_nents, + qce_aead_done, async_req); if (ret) goto error_terminate; =20 + qce_dma_issue_pending(&qce->dma); + return 0; =20 error_terminate: diff --git a/drivers/crypto/qce/common.c b/drivers/crypto/qce/common.c index 54a78a57f63028f01870a3edeb8e390f523bb190..37bb6f03244d317a887aeb0aa10= cefe327b4ce05 100644 --- a/drivers/crypto/qce/common.c +++ b/drivers/crypto/qce/common.c @@ -25,7 +25,7 @@ static inline u32 qce_read(struct qce_device *qce, u32 of= fset) =20 static inline void qce_write(struct qce_device *qce, u32 offset, u32 val) { - writel(val, qce->base + offset); + qce_write_dma(qce, offset, val); } =20 static inline void qce_write_array(struct qce_device *qce, u32 offset, @@ -82,6 +82,8 @@ static void qce_setup_config(struct qce_device *qce) { u32 config; =20 + qce_clear_bam_transaction(qce); + /* get big endianness */ config =3D qce_config_reg(qce, 0); =20 @@ -90,12 +92,14 @@ static void qce_setup_config(struct qce_device *qce) qce_write(qce, REG_CONFIG, config); } =20 -static inline void qce_crypto_go(struct qce_device *qce, bool result_dump) +static inline int qce_crypto_go(struct qce_device *qce, bool result_dump) { if (result_dump) qce_write(qce, REG_GOPROC, BIT(GO_SHIFT) | BIT(RESULTS_DUMP_SHIFT)); else qce_write(qce, REG_GOPROC, BIT(GO_SHIFT)); + + return qce_submit_cmd_desc(qce); } =20 #if defined(CONFIG_CRYPTO_DEV_QCE_SHA) || defined(CONFIG_CRYPTO_DEV_QCE_AE= AD) @@ -223,9 +227,7 @@ static int qce_setup_regs_ahash(struct crypto_async_req= uest *async_req) config =3D qce_config_reg(qce, 1); qce_write(qce, REG_CONFIG, config); =20 - qce_crypto_go(qce, true); - - return 0; + return qce_crypto_go(qce, true); } #endif =20 @@ -386,9 +388,7 @@ static int qce_setup_regs_skcipher(struct crypto_async_= request *async_req) config =3D qce_config_reg(qce, 1); qce_write(qce, REG_CONFIG, config); =20 - qce_crypto_go(qce, true); - - return 0; + return qce_crypto_go(qce, true); } #endif =20 @@ -535,9 +535,7 @@ static int qce_setup_regs_aead(struct crypto_async_requ= est *async_req) qce_write(qce, REG_CONFIG, config); =20 /* Start the process */ - qce_crypto_go(qce, !IS_CCM(flags)); - - return 0; + return qce_crypto_go(qce, !IS_CCM(flags)); } #endif =20 diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c index 3db46fc0c419a0a387abce93649084fbf4b1f128..437314f2aa94feee765f750304a= 28ed7beca90b0 100644 --- a/drivers/crypto/qce/dma.c +++ b/drivers/crypto/qce/dma.c @@ -4,6 +4,8 @@ */ =20 #include +#include +#include #include #include =20 @@ -11,6 +13,96 @@ #include "dma.h" =20 #define QCE_IGNORE_BUF_SZ (2 * QCE_BAM_BURST_SIZE) +#define QCE_BAM_CMD_SGL_SIZE 128 +#define QCE_BAM_CMD_ELEMENT_SIZE 128 + +struct qce_desc_info { + struct dma_async_tx_descriptor *dma_desc; + enum dma_data_direction dir; +}; + +struct qce_bam_transaction { + struct bam_cmd_element bam_ce[QCE_BAM_CMD_ELEMENT_SIZE]; + struct scatterlist wr_sgl[QCE_BAM_CMD_SGL_SIZE]; + struct qce_desc_info *desc; + u32 bam_ce_idx; + u32 pre_bam_ce_idx; + u32 wr_sgl_cnt; +}; + +void qce_clear_bam_transaction(struct qce_device *qce) +{ + struct qce_bam_transaction *bam_txn =3D qce->dma.bam_txn; + + bam_txn->bam_ce_idx =3D 0; + bam_txn->wr_sgl_cnt =3D 0; + bam_txn->pre_bam_ce_idx =3D 0; +} + +int qce_submit_cmd_desc(struct qce_device *qce) +{ + struct qce_desc_info *qce_desc =3D qce->dma.bam_txn->desc; + struct qce_bam_transaction *bam_txn =3D qce->dma.bam_txn; + struct dma_async_tx_descriptor *dma_desc; + struct dma_chan *chan =3D qce->dma.rxchan; + unsigned long attrs =3D DMA_PREP_CMD; + dma_cookie_t cookie; + unsigned int mapped; + int ret; + + mapped =3D dma_map_sg(qce->dev, bam_txn->wr_sgl, bam_txn->wr_sgl_cnt, DMA= _TO_DEVICE); + if (!mapped) + return -ENOMEM; + + dma_desc =3D dmaengine_prep_slave_sg(chan, bam_txn->wr_sgl, mapped, DMA_M= EM_TO_DEV, attrs); + if (!dma_desc) { + ret =3D -ENOMEM; + goto err_unmap_sg; + } + + qce_desc->dma_desc =3D dma_desc; + cookie =3D dmaengine_submit(qce_desc->dma_desc); + + ret =3D dma_submit_error(cookie); + if (ret) + goto err_unmap_sg; + + return 0; + +err_unmap_sg: + dma_unmap_sg(qce->dev, bam_txn->wr_sgl, bam_txn->wr_sgl_cnt, DMA_TO_DEVIC= E); + return ret; +} + +static void qce_prep_dma_cmd_desc(struct qce_device *qce, struct qce_dma_d= ata *dma, + unsigned int addr, void *buf) +{ + struct qce_bam_transaction *bam_txn =3D dma->bam_txn; + struct bam_cmd_element *bam_ce_buf; + int bam_ce_size, cnt, idx; + + idx =3D bam_txn->bam_ce_idx; + bam_ce_buf =3D &bam_txn->bam_ce[idx]; + bam_prep_ce_le32(bam_ce_buf, addr, BAM_WRITE_COMMAND, *((__le32 *)buf)); + + bam_ce_buf =3D &bam_txn->bam_ce[bam_txn->pre_bam_ce_idx]; + bam_txn->bam_ce_idx++; + bam_ce_size =3D (bam_txn->bam_ce_idx - bam_txn->pre_bam_ce_idx) * sizeof(= *bam_ce_buf); + + cnt =3D bam_txn->wr_sgl_cnt; + + sg_set_buf(&bam_txn->wr_sgl[cnt], bam_ce_buf, bam_ce_size); + + ++bam_txn->wr_sgl_cnt; + bam_txn->pre_bam_ce_idx =3D bam_txn->bam_ce_idx; +} + +void qce_write_dma(struct qce_device *qce, unsigned int offset, u32 val) +{ + unsigned int reg_addr =3D ((unsigned int)(qce->base_phys) + offset); + + qce_prep_dma_cmd_desc(qce, &qce->dma, reg_addr, &val); +} =20 int devm_qce_dma_request(struct qce_device *qce) { @@ -31,6 +123,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 0; } =20 @@ -90,28 +192,36 @@ int qce_dma_prep_sgs(struct qce_dma_data *dma, struct = scatterlist *rx_sg, { struct dma_chan *rxchan =3D dma->rxchan; struct dma_chan *txchan =3D dma->txchan; - unsigned long flags =3D DMA_PREP_INTERRUPT | DMA_CTRL_ACK; + unsigned long txflags =3D DMA_PREP_INTERRUPT | DMA_CTRL_ACK; + unsigned long rxflags =3D txflags | DMA_PREP_FENCE; int ret; =20 - ret =3D qce_dma_prep_sg(rxchan, rx_sg, rx_nents, flags, DMA_MEM_TO_DEV, + ret =3D qce_dma_prep_sg(rxchan, rx_sg, rx_nents, rxflags, DMA_MEM_TO_DEV, NULL, NULL); if (ret) return ret; =20 - return qce_dma_prep_sg(txchan, tx_sg, tx_nents, flags, DMA_DEV_TO_MEM, + return qce_dma_prep_sg(txchan, tx_sg, tx_nents, txflags, DMA_DEV_TO_MEM, cb, cb_param); } =20 void qce_dma_issue_pending(struct qce_dma_data *dma) { - dma_async_issue_pending(dma->rxchan); dma_async_issue_pending(dma->txchan); + dma_async_issue_pending(dma->rxchan); } =20 int qce_dma_terminate_all(struct qce_dma_data *dma) { + struct qce_device *qce =3D container_of(dma, struct qce_device, dma); + struct qce_bam_transaction *bam_txn =3D dma->bam_txn; int ret; =20 ret =3D dmaengine_terminate_all(dma->rxchan); - return ret ?: dmaengine_terminate_all(dma->txchan); + if (ret) + return ret; + + dma_unmap_sg(qce->dev, bam_txn->wr_sgl, bam_txn->wr_sgl_cnt, DMA_TO_DEVIC= E); + + return dmaengine_terminate_all(dma->txchan); } diff --git a/drivers/crypto/qce/dma.h b/drivers/crypto/qce/dma.h index 483789d9fa98e79d1283de8297bf2fc2a773f3a7..f05dfa9e6b25bd60e32f45079a8= bc7e6a4cf81f9 100644 --- a/drivers/crypto/qce/dma.h +++ b/drivers/crypto/qce/dma.h @@ -8,6 +8,7 @@ =20 #include =20 +struct qce_bam_transaction; struct qce_device; =20 /* maximum data transfer block size between BAM and CE */ @@ -32,6 +33,7 @@ struct qce_dma_data { struct dma_chan *txchan; struct dma_chan *rxchan; struct qce_result_dump *result_buf; + struct qce_bam_transaction *bam_txn; }; =20 int devm_qce_dma_request(struct qce_device *qce); @@ -43,5 +45,8 @@ int qce_dma_terminate_all(struct qce_dma_data *dma); struct scatterlist * qce_sgtable_add(struct sg_table *sgt, struct scatterlist *sg_add, unsigned int max_len); +void qce_write_dma(struct qce_device *qce, unsigned int offset, u32 val); +int qce_submit_cmd_desc(struct qce_device *qce); +void qce_clear_bam_transaction(struct qce_device *qce); =20 #endif /* _DMA_H_ */ diff --git a/drivers/crypto/qce/sha.c b/drivers/crypto/qce/sha.c index a3a1a205aaf8559a04809936e2a3b7d564c16c53..5be82b345753f49202797852cec= 09dbc7f0a1e03 100644 --- a/drivers/crypto/qce/sha.c +++ b/drivers/crypto/qce/sha.c @@ -109,17 +109,17 @@ static int qce_ahash_async_req_handle(struct crypto_a= sync_request *async_req) goto error_unmap_src; } =20 - ret =3D qce_dma_prep_sgs(&qce->dma, req->src, rctx->src_nents, - &rctx->result_sg, 1, qce_ahash_done, async_req); + ret =3D qce_start(async_req, tmpl->crypto_alg_type); if (ret) goto error_unmap_dst; =20 - qce_dma_issue_pending(&qce->dma); - - ret =3D qce_start(async_req, tmpl->crypto_alg_type); + ret =3D qce_dma_prep_sgs(&qce->dma, req->src, rctx->src_nents, + &rctx->result_sg, 1, qce_ahash_done, async_req); if (ret) goto error_terminate; =20 + qce_dma_issue_pending(&qce->dma); + return 0; =20 error_terminate: diff --git a/drivers/crypto/qce/skcipher.c b/drivers/crypto/qce/skcipher.c index 1fef315a7105c869e7fc6a60719087b721e78bb3..6535336a2c57c39db9499901189= 0b8bdad5c58c2 100644 --- a/drivers/crypto/qce/skcipher.c +++ b/drivers/crypto/qce/skcipher.c @@ -142,18 +142,18 @@ qce_skcipher_async_req_handle(struct crypto_async_req= uest *async_req) src_nents =3D dst_nents - 1; } =20 + ret =3D qce_start(async_req, tmpl->crypto_alg_type); + if (ret) + goto error_unmap_src; + ret =3D qce_dma_prep_sgs(&qce->dma, rctx->src_sg, src_nents, rctx->dst_sg, dst_nents, qce_skcipher_done, async_req); if (ret) - goto error_unmap_src; + goto error_terminate; =20 qce_dma_issue_pending(&qce->dma); =20 - ret =3D qce_start(async_req, tmpl->crypto_alg_type); - if (ret) - goto error_terminate; - return 0; =20 error_terminate: --=20 2.47.3 From nobody Mon May 25 02:57:46 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 826B246AEEF for ; Fri, 22 May 2026 13:40:55 +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=1779457258; cv=none; b=JPVWs+CcmQW5sul3ylRBlpFo6bWNNautw33+IrJIZdFsTf6L1xUDFZDdDP7dK+mB/uLbxFIL688GxBocMHnfByXTAjWsHcsD1bpc+CnVin3AeJLCnhhz+OA2Cdis8phrliYz0NDpXbmOQQC48zQJJrMYBhogXNgPNhEPPDAsLk4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779457258; c=relaxed/simple; bh=itwan/+JcxMJcmRkoZRAIh//GowjNEJ5Pa8ZGTWCN4E=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=GYf9LkSHxA+dRB/9JiU+HNhljTJ2hdlLUPNxTDbcGuAel0YfySskHn4CXVKuT9k0zBCmMV+MIIHtWwCUybbXCl18lcoZ34luHy7EObCA0faiOM8jcf/pLQpDgNv6nDRIRUhjNYKi+5t6PgpoxybqqiRgJHN2NnX5s/+zytY701k= 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=Q7a7As0i; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Uys/B9Jz; 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="Q7a7As0i"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Uys/B9Jz" 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 64M8xPVc2765573 for ; Fri, 22 May 2026 13:40:48 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= okZRx7JveDxwd/GUmOqQGeY1v3DjRixvo9jJJu0R/N8=; b=Q7a7As0iUCihXzSA 8DGEcg1wkTEXjLgkvMc/oQTcpocWg2Y6iCWPvnVPcQmYL+Vzmd3Lka7M067AfUNY 3klcagQsEd46KlTw5tGan/RrtdMgZbtOayMXBw5oEJOJbZ+Lb4odNzBf6yRq5TVS Xw2x7BmMgVqOlh/xcp4ICszPH0OabjiLTIjaEoq3DAWnkKRgd4yDFW8nJIIjG2Ol SJKYoxcuw2MbSHO74FKtkCUDT7cI51p1eiKmxWtE1mNAlGxFRKQKA9xYLFSz7e+j Qh1GWrqqkbiUp7VhMo1LwakZfur/gJhHvzOKxOuwBj8PyNstpM8UfiRxyvvsgf0T 5/F8rg== 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 4ea3u7w679-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 22 May 2026 13:40:48 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-516458449d4so115365781cf.1 for ; Fri, 22 May 2026 06:40:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779457248; x=1780062048; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=okZRx7JveDxwd/GUmOqQGeY1v3DjRixvo9jJJu0R/N8=; b=Uys/B9JzJNDQMyYbeqPSEf/yLwYzK27Ts2/yPBW4sOt384FpBgPdTJAa2Kn1vyyC10 lVk5WF/WHq38ivIEDq80ISPo1pO4bbVk6sTn6CKnQGFrcdMkF9r7L9nbV7qJIEDDfXm3 KgBg/FKQ/mdZ8y5kYZIw/DjtfK7Gt27HKbD0LCBGVWTAQpHO+dkpuyqABG9FFabpokOt mGqcO+GUSSg5PxAFDfuNqvORvC1SvS5tuBojVOkQ3fSQDNMn+ZafNdH/+EuFCPgiS6uj JwUFYqBqNnkbD1mAT8PmiET96WMrRBN4m38RLJ1oKrJd2Lg5Et5I4ic3Tz8VKIDcOgMA TP0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779457248; x=1780062048; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=okZRx7JveDxwd/GUmOqQGeY1v3DjRixvo9jJJu0R/N8=; b=rRmiiy5pj0DXo694HFxAeADUC5Wwu0Wf1M2rv6iPee0FmokucJIe+HHH6bsO0EQsD6 W9flm7Ld88gybDEDEz7kcwjYwWePGHEuTzxLfIZDOPz4yTYpjzlQ7NPJV2rsK3MWumEQ y1CY9f4Jaq+6750HTMkzT91X8NrtoAnJ80a5BTwgJ1Rn/tNTNOeA1jpO5WrLokxljZG7 ijPfzBiBS4vIhuetXg0tUkvEsn7OV/uTXobz+QRVjAdZfNOF8/v6WRfnISdKN0dXjflv ZXlOGeIc0R0Ijy+2q1nAS2smvsjP+H68vdl+RKlExQZkx0HeHCU7fnpN1cM9DvhtAJpJ rbOA== X-Forwarded-Encrypted: i=1; AFNElJ97iMr6LilalVKuks4uQoowyG7Bq9oVf9y1b8elR7s/vRE97JH6fPptcquDCOh2MUvjoC0Sq9MkWeOlRJY=@vger.kernel.org X-Gm-Message-State: AOJu0Yy1abizcRz94/J//GiwIBUtrId5/ENfIpvyzqOcr2RbjFVujgHm oX9sYEKnp+dv1mUI3UqOVOaih0gfVQiPa/H2gEzwNio2nCPEgFSeTdVGEa3u2rmIvYKQVyVbWTl lFxMONUFT1qA1W2oJV1Y0i8Y15fDdHd45jBSE+b6I5Shk+065mk/NDPXJB5JAvZCBpF8= X-Gm-Gg: Acq92OH6xBIV0qdcGeMZlBlDuD8GSXzFxbs13bDVtVWHKPjt2mZUZbdHg2KGKgS/fBu v9vhKBz7qhHHzgyi8aytFoernqF+4U6+uv0r0/Z8GdfS/2PpygcqY8sHPc9AmH0CuH7Wz2TgO3Y NUbSD+derTf1jwY+iUjKQOFSC/7+pXEK0FzwhQsK/+5I7QzEdyzqx7oHcGtRYUZLVWfHptZiRoU srJVknueMxqZcox/AIDwo0BXHpEQiXX3QAbgrAR3DeWBdHCnfwpR3Ljj26y3eIyEAO0NWliJrBN nTUcDGwmQS79zTtw5RK2S4mhebuf0fmsbkuc+jxMhVqRL6azx3yNd8z+fW+Eulopp1Hdim33ST6 Dale4cxSwR6ZOMg7And9x/+yDnXbB5IOFbPt8iSkS+wruNxiYcg== X-Received: by 2002:a05:622a:244e:b0:516:d66e:7b1c with SMTP id d75a77b69052e-516d66ec02fmr41104511cf.34.1779457247612; Fri, 22 May 2026 06:40:47 -0700 (PDT) X-Received: by 2002:a05:622a:244e:b0:516:d66e:7b1c with SMTP id d75a77b69052e-516d66ec02fmr41103961cf.34.1779457247161; Fri, 22 May 2026 06:40:47 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:2fa:6280:a48f:fb37]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-490454c600esm44912825e9.3.2026.05.22.06.40.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 May 2026 06:40:46 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 22 May 2026 15:40:07 +0200 Subject: [PATCH v18 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: <20260522-qcom-qce-cmd-descr-v18-14-99103926bafc@oss.qualcomm.com> References: <20260522-qcom-qce-cmd-descr-v18-0-99103926bafc@oss.qualcomm.com> In-Reply-To: <20260522-qcom-qce-cmd-descr-v18-0-99103926bafc@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Peter Ujfalusi , Michal Simek , Frank Li , Andy Gross , Neil Armstrong Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1561; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=itwan/+JcxMJcmRkoZRAIh//GowjNEJ5Pa8ZGTWCN4E=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqEFy+1JVvwHaZ9qMXejO19SIcCtwjcWfi4iqrs Snxz+YI1+SJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCahBcvgAKCRAFnS7L/zaE w55lD/9VdqXY5+AwSFtZGtFpvgU3LLl/oCf44IozAmHB4mPzRC4szaMIC2z5hyHEGRz8pCNIr2M Mbg2KnLvgf4gOx0zV09lH0jpN/l3xD6O3KPrk0KKG1bSHejWM7BbQpU/2itE7chaZCpq/q8CqTK nZV5GzNfZJogVF8S8LiBXONsIvsilt37tvmtaljNrc6YLvkYDmY2h4pzeAzte1PpOV4uV693uHo yGYsy65NYMgUvk2/adSg80xBGO4YGkAjpk1QF40eiGNlIs3rgCkpe8TA6ymm7j/AVmmjk79s4SR 8aI+N0zDj4+SLkPE3xdCqca7eu7pP6Jp5PA9lF+/CpHSo+2QdGxJdNEh/N93w4zwY7La09+9xLK o5PL4egztSZFRjx3kPlda9M4PoQRTRlunJNgPFOW1ffQi2kHm18aERxpWHVPCSOOlgHX+XIAHL9 gHgQGB/HpShlJHLvKbTjI5o1fm42K2KHeqDf88Son/Y8GCnpm2geSa39HiB5m6MsGiTd7txCqyz OnoFKiWEd/Ojmrf/dJjXGpRhcaSWRsCOyQzaNGxgnetfP4ORDpp9Vbp+HB3flEhm7LdBd3YMv9/ pwZc/5MWcs5cnysXSUZ1vc6vf7mD1ZrevQPcs5ayprFaJ3vHg/b+1zUQQlAziNSsky/vBK10bUu EE7+gbmtqVy/41A== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=aIXAb79m c=1 sm=1 tr=0 ts=6a105ce0 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=TFgmKHP77OfOvYwKDSoA:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-GUID: _3JjlK7smrIjKPYcpg_natD7ywUoJcDp X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTIyMDEzNiBTYWx0ZWRfX7G+8gNOhGPsa ryX9mtBqWYvpOhCC1IAOp08kl31KxCJi10eH4FbuAbGGEV2gd1CchuqVMk7hJTEKMjjwDTFiVHY W51AuJL/FuF4L6EM5EnIIefut/LCVSeu0Wb/UFYtsf82h3x8ZXkxq9VEdFtpXWnvI/KWx5dgDUI R1dAC12Q5TJx3J75R8xSont1zCSyoxvkx3VDxMxYISTFMsj6IqMTKQ4X4LJXkSuSVM8b8EcrN73 fuEOfOXZ+LyYA/4tWx8R/uF6Icrobi0RcEjIZ5Q1n3iExVjZ76GOcq+98DAwP2RFdyOOvspGNFH FK9u1jr9GdJwCtqhk3fKhw9fW2MeM5fFpfvJNk5obKD8wHJ6cI+osNgzJYmvm/GKBmJpBBqxM9L beM17fdP+Ydz/c/gLOVC0ZEFJRcSv/FS0cF85Rw7Cj3dpBKj7hvsjdEdqZ9G8aBloutFbbpSp5g V1Tn2sxVIL9XYLx5Hsw== X-Proofpoint-ORIG-GUID: _3JjlK7smrIjKPYcpg_natD7ywUoJcDp X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-22_03,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 malwarescore=0 lowpriorityscore=0 clxscore=1015 impostorscore=0 priorityscore=1501 spamscore=0 suspectscore=0 bulkscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605220136 In order to communicate to the BAM DMA engine which address should be used as a scratchpad for dummy writes related to BAM pipe locking, fill out and attach the provided metadata struct to the descriptor. Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/dma.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c index 437314f2aa94feee765f750304a28ed7beca90b0..f7a7b98d843f03b7a2722df0376= a7be6b4a09114 100644 --- a/drivers/crypto/qce/dma.c +++ b/drivers/crypto/qce/dma.c @@ -11,6 +11,7 @@ =20 #include "core.h" #include "dma.h" +#include "regs-v5.h" =20 #define QCE_IGNORE_BUF_SZ (2 * QCE_BAM_BURST_SIZE) #define QCE_BAM_CMD_SGL_SIZE 128 @@ -41,6 +42,10 @@ void qce_clear_bam_transaction(struct qce_device *qce) =20 int qce_submit_cmd_desc(struct qce_device *qce) { + struct bam_desc_metadata meta =3D { + .scratchpad_addr =3D qce->base_phys + REG_VERSION, + .direction =3D DMA_MEM_TO_DEV, + }; struct qce_desc_info *qce_desc =3D qce->dma.bam_txn->desc; struct qce_bam_transaction *bam_txn =3D qce->dma.bam_txn; struct dma_async_tx_descriptor *dma_desc; @@ -60,6 +65,10 @@ int qce_submit_cmd_desc(struct qce_device *qce) goto err_unmap_sg; } =20 + ret =3D dmaengine_desc_attach_metadata(dma_desc, &meta, sizeof(meta)); + if (ret) + goto err_unmap_sg; + qce_desc->dma_desc =3D dma_desc; cookie =3D dmaengine_submit(qce_desc->dma_desc); =20 --=20 2.47.3