From nobody Thu Apr 9 13:33:11 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 0F73241C0C7 for ; Mon, 2 Mar 2026 15:57:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772467062; cv=none; b=aMHj/0X3AA6zuB7P0VfumnjcGAOOqSOjNJm0qpG1kHejrto7/ISO8gT0Q7E95sdRVbiTjT2dP0NZ4D4E3g3ZCurinRbbKXZH0YCB3XM3ye4Rocnn4zxE8l8fef72D0nZ7WdLQLoDs87Ta3UH5+JKAv7IzVw7lovLoxth706x+s0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772467062; c=relaxed/simple; bh=D/DbbvsYNV6WfJJN+Y3qtsfzsdueJP3Q7cdgK44aCk4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=OzgKkQf8a5y8dRsU0xszAifJYzDGQQbtTt7U+rP4j/i5+dP60UVGpKdGsUJyxQn8eg9JYQL9QjabAIlivQGd/NmGLzqmkkSurJfcfPv88vOgNBEU+y5q8Fanb40p7i73Umg/CgziCWVnau579p/XvTONW41BzW+cz57Yxso4h9c= 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=SBllgFz6; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=GRYo3eiq; 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="SBllgFz6"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="GRYo3eiq" 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 622ElnNa2048742 for ; Mon, 2 Mar 2026 15:57:40 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= f+eJOMoesWuzpXTSR4Li0Qt2PYtZi1rSvrjFdAlx9Tk=; b=SBllgFz6RRZIhcTk Ovu6OJSriXhpnFIAcfKMJw1i/J3Db+QzABVLKRafiE1IbZWrDg4NHUqNrjA7lNrK AyezPrXWrAuZXainW2H5Y42tef0FKODWk9H5vHx+DPptzFfBc+GR1MXkgv1KJ4NS 2ARW3hIZdFf0XxToG+oeM2qWDWJMdi9W+NOhFXILIMNfHes4+NS9OHveiEpR7Usn yq6Df3jmdOd0C+Nn5nNpgFdRwxZdhjmzoMDHnwyEPpa8Z0rzAORzNvv7DfCczp0s iKGijakEU+5qPOZP8FhzdzVxGg91cT6KzZhnGEN4Elap/cHHUhCbbng4LEcgovh0 GS64IA== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cncmfrahj-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 02 Mar 2026 15:57:39 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-8ca3ef536ddso61646985a.0 for ; Mon, 02 Mar 2026 07:57:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772467059; x=1773071859; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=f+eJOMoesWuzpXTSR4Li0Qt2PYtZi1rSvrjFdAlx9Tk=; b=GRYo3eiqJxLRXkxitrukb4G0FUXi6oUabzpHMWF1MC/wLXzQnkI3f51cpcDvH3hx+Q 1119A8+zX98PctGdbhZzyUDlLPQNZWIanHvEq257jKdOHk5oaGFZoJnMjRQL3xirEa+a B0RTNl15X8LfApj3kfqDZoZqU1aB338IhtynQVRzo6lOekQStSquocRdsjMrKVcPpSRT SVG0zirxWvRr0bVuHT3lhsjYGk20gcbyEjBB8ZKzWO9FEwpWPwcotLzSxNtVukj6W822 HD3x1semrSQuKCP8D2gr0flD48tdCtzs6LGqtKqWT5eNToLgKC2P0mDZq+1YXOdUkTeW 3MaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772467059; x=1773071859; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=f+eJOMoesWuzpXTSR4Li0Qt2PYtZi1rSvrjFdAlx9Tk=; b=Tcmcux2b6ptGPbRbLC7WTUMOi5ML9L0GZNO/IspDfdE/D1+vTaxuuk0BRwmt5/oufF 5lS1J5pvQxH7EbyZ8PndIMKKn13NxVdRICwnPa9DHH+DKoQ3tqREg0vwzEtStEP10I/W rh/lKcTSuzr6ctwCQgtiBcmkxFaq/JcRetn1SCujZoy9qXduMQq0nDLDJgqGJG1gb7wT kLIjKmQ77txLCktrH+GeA0Ki52oGBj2b7q72Cd24Gbu3osJkg6DTl5Y2+S6UORd2LIk4 U47Lh1a0HFOW3FTjdWR0zahwzFwFJ/Re9MKVM33nzdUwsHZ/yKnvlw7ifpeARwzlLPhA t66A== X-Forwarded-Encrypted: i=1; AJvYcCXb/CsWOFE1WhjwzhwS3CSIP5kkb0FBBMJQ7esPrpfNFClP/0ygIA8i3u3qDTSqdueFMSCWQutQVbDeB7I=@vger.kernel.org X-Gm-Message-State: AOJu0Yzh84I0FJOHXkNQcpd61wDEYMwLWA5VrQ9aJZN7Y5qwlKWwOjj4 JpamgiyaJIiRQ8O8ckVXVQV914mo2n08e3B0sGbO0WZ60DeAXDfCZKYNozU31wBzjfEcIDaXrc8 zM/lF/lK2V+1dnYD1yUZTuIXN5Aedeu/dW/KUkBYRZPgklz+tkP5BhNsVUOeLp2ehpS8= X-Gm-Gg: ATEYQzzthHdgktG/ghQa/wBf0W2gY94tr8080jBHU3r1DUdnB0d1srFBgywvyMfzJLq +PBOKUZM8Mpe0eOXEIMwatqMMyY/Y+Oi1ywhh43nZXaqrJ6d8bTfpFp07MMnVsn9kproxLwx821 JVg4fLZGf2ATPUZ/wYcRcEiyjckS5+E9v24IusMAMI/NnyL05VDlfLCrAmj9YQk/8X67GcPR4DK HoU6DlmqlJ5NRe3K7lVRhrOhI8Xx3jX3vBkTThNklxP6tpdH6oNuZgmmPn8QyUv5+r14wtBMlSL vampIQX3SUQ1McluS5eXowjVGxp4GmmdhQysJyDHd+o3FChTSdd19hI3TqwseMAzI/7535af3SR yrP0wSW9TWw08hS36WbUIMPNf1Vtl16WuGG8305soh326vlMyaudI X-Received: by 2002:a05:620a:2846:b0:8ca:3175:cc9f with SMTP id af79cd13be357-8cbc8d836f0mr1605847585a.7.1772467059424; Mon, 02 Mar 2026 07:57:39 -0800 (PST) X-Received: by 2002:a05:620a:2846:b0:8ca:3175:cc9f with SMTP id af79cd13be357-8cbc8d836f0mr1605843285a.7.1772467058928; Mon, 02 Mar 2026 07:57:38 -0800 (PST) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:87af:7e67:1864:389d]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439b41831easm11282438f8f.12.2026.03.02.07.57.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Mar 2026 07:57:38 -0800 (PST) From: Bartosz Golaszewski Date: Mon, 02 Mar 2026 16:57:14 +0100 Subject: [PATCH RFC v11 01/12] crypto: qce - Include algapi.h in the core.h header Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260302-qcom-qce-cmd-descr-v11-1-4bf1f5db4802@oss.qualcomm.com> References: <20260302-qcom-qce-cmd-descr-v11-0-4bf1f5db4802@oss.qualcomm.com> In-Reply-To: <20260302-qcom-qce-cmd-descr-v11-0-4bf1f5db4802@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Daniel Perez-Zoghbi , Md Sadre Alam , Dmitry Baryshkov , Peter Ujfalusi , Michal Simek , Frank Li Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1260; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=SMWOwwGJxSzHnqJ7yBoaojvGxwV6GTuJEaiwl2WXaqU=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBppbNjIaYMypGt8AbHNF5MYs8KdA7K86/B7cDgS 54sf6/cmuqJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaaWzYwAKCRAFnS7L/zaE w0cOD/94s/2bVOYiPJCqENniMi93N9mRVCLsomcrtCgqWQvkUCVNkga72G4hnTw/2yRADy6XCw5 AaBdMHMZAhqkwyDDEMKOY5lurPDLsKWEGa84cNzNu42n6FPk8fn6zQkRtK24uloTiYe7nh+cB6A Vb3IJrFrUxsFV7PulNIIYL1fFbLG97Ih7FGicxvVJH2NoA2Cbsz3UeJ8thK5XKlxbOz6GPqH+AX F+idKBhFVulPgzv7whqCc6Y012RFhROz68EM4/haYyBx0faNOkok+XPFGCo6nPOw164Eu2JKjC3 IX+SAfJXSoxiwSv4jFzy5MMkm1DALxwNW9jO8v0kvS+BR0d8Op8UPp5DuNy2dgHm8pn5CBcHumq 1ETgZZYJVZmQgQf4q8+eR9OfgmOhOZjZFubdu4f+fo+yeH8XBb1jx84zR6xjG9TGHJwa2O5TiwQ 4/9SD0YOPRMu7fXfpOn8RPNOrtCyc2tc009e0h94GKnlEgrgjDpieFzn5AQ1Z7UFj0nRk5B57+8 hS6c9rykHJnGLOR7oOIX4nb6/cuG/kouDAUF+TPDwVWYEd4Hg8FCfk4ESBu+/WdxskI55J9RDcT TpM4UmipiuyNO8k/P8QAjdaRMQdaVGP82uw2gPD9qg+NBgF6MGKVSBYKoPX/s+IcmRdIo8MbsVY AK3NULbojNbu+qw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=Br+QAIX5 c=1 sm=1 tr=0 ts=69a5b374 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=rvG61WhHFVBzVmnuldcA:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: U8MlFV2VVdABlI5aS3uVWSs4j6R2NweF X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzAyMDEzMyBTYWx0ZWRfX69eVo8CQ+mHO 9EuSJa1bsiH8KXv/ErJNQ7xI/LIXeUWovgvgXkQCTNG2zDslofbnAUGKlcyIF4dHU4KCxcrlnPg l52hX26EVlx78/7AGwliWnCdx+/CJslfT3dKVqKwT1qsUmilA6tY0Sf7Y8AQfVFqug1eiMok8VB Q+/jD6H5YOSF05wlCdEyqdl76m1xU7C7khUx5ZIrS28VYQ2lce/34t+tFpkAAGKdbDsdDIQeTH+ k7ILxqVwjIN6OG9u7RCGf/1w6Lh1pnrbdQ+a52wI6q7QRPt6MVGBsFqEqJ+zy8hdvreOVMqx0Ez BAMLNsZiY0rgd2DC3B6C/EHu46XYsMeUTEh4IAyPzYJUkBKQMi9udkzi2HSirah3jnu3x6LTtBU RzVFTZVmXpaniOPUsiaY0krwqMARATconpg/nyPJnQjOllZd+7zcp6tHLgASH5gRX1iwuzgmg67 b9tz0utK8jOWzaHo3LA== X-Proofpoint-GUID: U8MlFV2VVdABlI5aS3uVWSs4j6R2NweF X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-02_03,2026-03-02_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 malwarescore=0 clxscore=1015 bulkscore=0 spamscore=0 priorityscore=1501 adultscore=0 lowpriorityscore=0 suspectscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603020133 From: Bartosz Golaszewski The header defines a struct embedding struct crypto_queue whose size needs to be known and which is defined in crypto/algapi.h. Move the inclusion from core.c to core.h. Signed-off-by: Bartosz Golaszewski Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/core.c | 1 - drivers/crypto/qce/core.h | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/crypto/qce/core.c b/drivers/crypto/qce/core.c index b966f3365b7de8d2a8f6707397a34aa4facdc4ac..65205100c3df961ffaa4b7bc9e2= 17e8d3e08ed57 100644 --- a/drivers/crypto/qce/core.c +++ b/drivers/crypto/qce/core.c @@ -13,7 +13,6 @@ #include #include #include -#include #include =20 #include "core.h" diff --git a/drivers/crypto/qce/core.h b/drivers/crypto/qce/core.h index eb6fa7a8b64a81daf9ad5304a3ae4e5e597a70b8..f092ce2d3b04a936a37805c20ac= 5ba78d8fdd2df 100644 --- a/drivers/crypto/qce/core.h +++ b/drivers/crypto/qce/core.h @@ -8,6 +8,7 @@ =20 #include #include +#include =20 #include "dma.h" =20 --=20 2.47.3 From nobody Thu Apr 9 13:33:11 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 6C6E34219ED for ; Mon, 2 Mar 2026 15:57:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772467064; cv=none; b=PgnjNyrIw7AvE8CWXd2S6HSz1jqfr5CEyLkObhhiSU7iWf4ENGC1+iCxWvVg51l6yal+7PnVocdjSVvg0flCMDsvTbpLj2XGMNKdgoRmfW+TbYpOSaqiJu8jYJQyF78A9eAD5MN+5TmeVd4/PWNNLw/5CKMCtVSX2Nx17j4Z8Jk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772467064; c=relaxed/simple; bh=6dN4XjHr+6OQnOzxmGwMll0VZH7PW0q5aNlxk1E5+Hg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=sJE+Bzif/ky0Dv7mte2Ce4tzcM4BrLwx0B+N3J8osM7sFpZDJt3vpXlmivI9IaDlPyLZYvNdf6bAIbe03CJGdqRlgfZOna1c3UOYWt1ieGscYCdJNwPVcyvGXwo1G6hcdENs4POHN9eNbLvvCLACq6+66Vh/+7u9BwxSa36T6KM= 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=L6SDHWoD; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=WHjXsyt4; 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="L6SDHWoD"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="WHjXsyt4" 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 62294W2x3752705 for ; Mon, 2 Mar 2026 15:57: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= 9iGVNuTYeeAltbq14HNN1Bd2g5XTMHQ/MFj6N7hyZ8I=; b=L6SDHWoDuyS8pwP/ BWEWgMtQNT4qHpXHmncz+8QDZEMvIHQH2z8zGA3D4C6XvWXS3ZodhKqc2RN6zfKE MQNd0+b1EtnEV1ZLVtXzebhTyRdKfeF5o9vGd214a0ZRIQPHJmksT+nslXZ9gjOn rCJmc5n5BBCK1yghxPxkgvMbX54XET/YeqaZ32sPiP5j4JiBZvHulSQWYqxizXNk +9JpZbLooBzyjFK5bBmh16tJF2WbxLDPYvUAWbCFMzVTokT2FjQ/O6OhexVIstqh tipLAZXSlJAQXfQxcJ3vvkvRIe9LgUIqiYD4k/Qt93hCbIiKNZ+N1ZKhLy4oxskM ctVcYA== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cn7kq9dfc-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 02 Mar 2026 15:57:42 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8cb5359e9d3so3751719685a.2 for ; Mon, 02 Mar 2026 07:57:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772467062; x=1773071862; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=9iGVNuTYeeAltbq14HNN1Bd2g5XTMHQ/MFj6N7hyZ8I=; b=WHjXsyt4wgctG9kBrd+2P1kFpQt/0F0Gj5zwN2bqGWxbXW60HIPNtRVCRJz3LwlRYt hCcbbslwO/93Dz2dz36EMC/9GTNEOO43iUsXsR9AzttzgTlneeX27+f+eC+34FWhotRZ BGS2mluv9jrWE1HD6fZhKOvlob23xT8ahzhoRbqJzb20Y4HvcpVLzhJZVOOaZOqLGHfl nmNSQ3USWbCiKDq1fvEr/9uUvuV0rJyCVcws+nIh0bl6byjURV2hdb4rINg6VoK6rh4N w4UB0vzDTd4dtfScSX80KDJ7Q+j+5dY2wGo6Ht//Df2HSiZd6A7JF/qWsa/nKStkTEXx 0+tA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772467062; x=1773071862; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=9iGVNuTYeeAltbq14HNN1Bd2g5XTMHQ/MFj6N7hyZ8I=; b=O5tYojpvJ1rCmFM6Z9GMMi1BWR/0m7Hh3RCKyAAQX/jPqPFSf8mKnJfjMK2wGFs1wC XLsQA9lSnTREMOl/PkPhX9e1GSvR4QkdtQDwO9Z5BWriQuSESBqGn+Ph86cg9DzI9f/7 p5GWYAC2WeQGfIl7lXoOIuferYVVRc0FWSdWzSNodoNIfS19biwoKsw2ECwvv78baCbg O57DLIB6M850zjjefMIJ3da6XNJmvrsmLIrNolyOpaqCgvcpFvTFpE/b6i5GnRK1+GMw lAuOMx9qH659jS7LkrXfKkCYg6bf/gcWR8SMBabC5LSC6yHWxfG0Tqh7kLIX298zokqh FEsQ== X-Forwarded-Encrypted: i=1; AJvYcCVl5ZFn5XDJAdDjGy2LiKuy/d+wPmmSqA/bJgCLH9mHIYJ/+h6We52ZpSQ/mRtK+YC5pmAaSjWMuU/sxDY=@vger.kernel.org X-Gm-Message-State: AOJu0YzrjGiSNae/sERZIZgzhjSJoreeXUCb2GVtalPQETLDe4RMYq8q 3nUsQxWxE7MMsUjMT3n5JkEBdFNck8VwrYRmAKl7JKtaqXAeLbPidPz6olNfGfjY3WM0P1nvwal 8LDo7uHHIYAouQVQA7DSaMCC7w2JW7dtChJuhGWjPdqdA8bPGT6xBGzC1Acg7bdsFODzgXywWKd 8= X-Gm-Gg: ATEYQzwpaK/FgXZy3kYT7YzppIy+NEzyab492JlxIy1SkiJhazWEnBB37UN9EW3Wa4T 5XgKRKiRjsosVkgBK4c1FDIPZtCKoiwb+J8EkZdxRE1dyCtJAKTjSRLs7PUgz5pgPqWCCSQEmka AFxsKZXxbeSCjntUGVy8M1wOs3phSnNzj7l4+zyz8p//08RO+LYVbuDz+KW7E9X3f8LJJbDSmFs 3nIjvtlcXbTmc2y3weiFMve9CM10kJwdwHdaURtxhns3r9C3NrZ28fnhPQSfIT4MyhcxLEwcxCY w7TM5+VzYS3jP1WTYF3phAqCbMx/NeAUim0Vb+Itcsr7ASthDVNvaJx5THjWkBnC04fn5Kg9gPq 4dDptn+fVczNod6+meNfRzmSZVYOlcWOoYVJnRpbnnoR4x7GQCryq X-Received: by 2002:a05:620a:4509:b0:8c6:e11c:5ebc with SMTP id af79cd13be357-8cbc8ddd208mr1694529285a.18.1772467061628; Mon, 02 Mar 2026 07:57:41 -0800 (PST) X-Received: by 2002:a05:620a:4509:b0:8c6:e11c:5ebc with SMTP id af79cd13be357-8cbc8ddd208mr1694524985a.18.1772467061130; Mon, 02 Mar 2026 07:57:41 -0800 (PST) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:87af:7e67:1864:389d]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439b41831easm11282438f8f.12.2026.03.02.07.57.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Mar 2026 07:57:40 -0800 (PST) From: Bartosz Golaszewski Date: Mon, 02 Mar 2026 16:57:15 +0100 Subject: [PATCH RFC v11 02/12] crypto: qce - Remove unused ignore_buf Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260302-qcom-qce-cmd-descr-v11-2-4bf1f5db4802@oss.qualcomm.com> References: <20260302-qcom-qce-cmd-descr-v11-0-4bf1f5db4802@oss.qualcomm.com> In-Reply-To: <20260302-qcom-qce-cmd-descr-v11-0-4bf1f5db4802@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Daniel Perez-Zoghbi , Md Sadre Alam , Dmitry Baryshkov , Peter Ujfalusi , Michal Simek , Frank Li Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2012; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=DfH5Bb+Cx5AadRW9+jaH1GcMtyO0VLpMWlVREcJBr7o=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBppbNkOhcfZbOa+wMaID6vgraXOKRBMT7qNcfsB Wzz3K6XPTyJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaaWzZAAKCRAFnS7L/zaE w+OID/4mTtlXpEUiB3RNmRgLvY6eej5CSRNCAUPyC2kO/mA+7dv6YhEYDmXv1jpNLaNml/Ahwqa Pp9geYv7K/Dp9cQXoZlWCNRCZ1lWarrGJhSNhWaix+8xVHLCJJDXpP/gd/J1llkVo2gTEhSBSl6 t2QQMk802Ju777yCvSsPxucUjOcq1V5i4TmuvTUT2+p2SdSl7rcxNKHW8zVeKN9OJ9PjO5F657l LNEnuAlD4iMlfsLKMLvKjusBOCO6H9kS6aLEo0KvSwZmQFsGUL8n3P93O2R56Ey4EJEUHoiNJ4k hG3tFVMb1tNFJf1J8LagBHhRU9avV+NK1Xl+Fmu+qUvN/43k/YNkPeK0aThQoZc8Y3YZaaKaT3X mDRoTu6uIunjByGj0HVODLCdmK6cYN12YGT8F4Xhr2tGs4nJPLsQ7ngqpJLspGr3yWJq54Qtpmt qVPRygk6pldWuE21E9oZr2qYuo2P/JEbnQvawoASRmxFfH0uN4UGgH3B1usJRNoRzwF0m3CYRg8 sHQbbyFUDTbU9YyjAu12sHfMfrboLyGQa0V79cZtLMH65Ub2SKCmigDTGL4OUt/Th2kytc7mHQ8 MugneSEySKGuYI+BR85fQpW8kzYQLvQyyJpAVPg7oHWNSYyP3BaP0C3nAqxE/NpqA8CnM4kSQPV KQyk3QdCdJ/ngqg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-ORIG-GUID: tLxCrb1gB5tEDC7FnmsJ-mEe0UUBr3HK X-Proofpoint-GUID: tLxCrb1gB5tEDC7FnmsJ-mEe0UUBr3HK X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzAyMDEzMyBTYWx0ZWRfX4R79jURlRoES qrRDLoyssF0Sgv+k4FIbAANrrruw/NfQivslgk9qW4MYn3hG35UQBZvhsdgyx2l+tcyVzFVT8Nx iEYPU0k8CeUkJDC9COFgMtDHKSVZxzjqTrG0wl66oqpzmpUJ7ZyEsy7ltxJXvbfDbBcfKk2weT4 5LiOyhWDWe/6KQvC5oCJPqMuDgViEjOgRx29VOmigrnDTvphrjLBqOqxEE7WO3RfviGmtZQQC7y fOylu6JBsQtgS+s8Fx4cYagHOIAxrGhU/c+X7/ro1htlXjvfnELgBhEwq4mPnLky+a9+3ttkfod yIKatnhWfPpMbjcyuv5kJEdrHx+V00j2YDhLVs59onLSIhpzTeoFXbuiV/N+osdIHd7ARe4x+ym 2glxtCi5iooAcepj+vXaB9bNzJlXd2p/h9nWmtKap7clSoMSydQYnlNJ3JEO7qBQJa2ugIdrHwF pDEMVHdaLZwjnb3LHgg== X-Authority-Analysis: v=2.4 cv=GLkF0+NK c=1 sm=1 tr=0 ts=69a5b376 cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=tWRRbWwrKX-5tUpmLDIA:9 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-02_03,2026-03-02_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 clxscore=1015 impostorscore=0 spamscore=0 adultscore=0 phishscore=0 suspectscore=0 malwarescore=0 bulkscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603020133 From: Bartosz Golaszewski It's unclear what the purpose of this field is. It has been here since the initial commit but without any explanation. The driver works fine without it. We still keep allocating more space in the result buffer, we just don't need to store its address. While at it: move the QCE_IGNORE_BUF_SZ definition into dma.c as it's not used outside of this compilation unit. Signed-off-by: Bartosz Golaszewski Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/dma.c | 4 ++-- drivers/crypto/qce/dma.h | 2 -- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c index 68cafd4741ad3d91906d39e817fc7873b028d498..08bf3e8ec12433c1a8ee17003f3= 487e41b7329e4 100644 --- a/drivers/crypto/qce/dma.c +++ b/drivers/crypto/qce/dma.c @@ -9,6 +9,8 @@ =20 #include "dma.h" =20 +#define QCE_IGNORE_BUF_SZ (2 * QCE_BAM_BURST_SIZE) + static void qce_dma_release(void *data) { struct qce_dma_data *dma =3D data; @@ -41,8 +43,6 @@ int devm_qce_dma_request(struct device *dev, struct qce_d= ma_data *dma) goto error_nomem; } =20 - dma->ignore_buf =3D dma->result_buf + QCE_RESULT_BUF_SZ; - return devm_add_action_or_reset(dev, qce_dma_release, dma); =20 error_nomem: diff --git a/drivers/crypto/qce/dma.h b/drivers/crypto/qce/dma.h index 31629185000e12242fa07c2cc08b95fcbd5d4b8c..fc337c435cd14917bdfb99febcf= 9119275afdeba 100644 --- a/drivers/crypto/qce/dma.h +++ b/drivers/crypto/qce/dma.h @@ -23,7 +23,6 @@ struct qce_result_dump { u32 status2; }; =20 -#define QCE_IGNORE_BUF_SZ (2 * QCE_BAM_BURST_SIZE) #define QCE_RESULT_BUF_SZ \ ALIGN(sizeof(struct qce_result_dump), QCE_BAM_BURST_SIZE) =20 @@ -31,7 +30,6 @@ struct qce_dma_data { struct dma_chan *txchan; struct dma_chan *rxchan; struct qce_result_dump *result_buf; - void *ignore_buf; }; =20 int devm_qce_dma_request(struct device *dev, struct qce_dma_data *dma); --=20 2.47.3 From nobody Thu Apr 9 13:33:11 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 14C784219E7 for ; Mon, 2 Mar 2026 15:57:45 +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=1772467066; cv=none; b=nYbfbxcCVWsMBkhUcxxosKUpgmrss9Z55KKpu1iy6HGzciMeMJkqpOsza2rTWMPBIaRjEIxS3Se55HCv787krHvAC8ylOIsZnrfbiKSGaJ+/k9T7RnZAR1/Lb6uMziM5UVOvKmaOSdMv7Ojhy63ajohOD6f6XASksAhFtXtalCM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772467066; c=relaxed/simple; bh=H6RGZzI1m6Hy642I73fornlozWd6x9hkPKo2H6raYsE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=TmBKnPz9v8g0fnbbXyZFH97r62pLgzhO3TURVZjOdvOWQNGpdSw+e3TzFP2427rb9l0kw48Sj+55oeSd4sj0OT+2feUSLhoop/aBsYzR+wlTvrvqrEyVWXTpnYFTgwwFRgB+/v06sNzrnD1LpqQvMVVYBpONUwmQPJPTahwEliw= 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=aQ6hsgyO; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ZB8WwlSu; 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="aQ6hsgyO"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ZB8WwlSu" 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 622Elm9Q3227146 for ; Mon, 2 Mar 2026 15:57:44 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= DQ9O/WxlrEXbsvKUWZga3GBiGSWqxH7TMX/h6DSnlY8=; b=aQ6hsgyOrwv/XjdN K6Cy1RvPnmTtr8oQNppm7QSEZF9mP1iAI3EE/3M4IRTINiC2ljQ1DugLmN5+A8EI f6D9yuyLC6kLqgbo8tUw7owiDL2E2wgdeIpGjG6gX2L2o7CKwaF9v5VOc6SwLRRE 0KENO3c0sOQXBk/iI63PbC0L38Z+0TRsqwdXzhq6n0SRF2/tnk7c2CSPy+lPFseu aNIM671nmsTIEBp6Gx6W0IkAB/lWEjnWoCJt+eDcQyTOWPrfKdDLBsdqiqr3DAcG NnYiWmjjykkIZT7ccuroU8D/rC6/lor85rvxvfQiVJ9u2tEieZS92yK5coEANcqB sFJWPQ== Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cn0b1jueu-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 02 Mar 2026 15:57:44 +0000 (GMT) Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-899f6e5b909so86496636d6.1 for ; Mon, 02 Mar 2026 07:57:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772467063; x=1773071863; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=DQ9O/WxlrEXbsvKUWZga3GBiGSWqxH7TMX/h6DSnlY8=; b=ZB8WwlSuse7BiTXACl5UBM/OY1btuxvzp01Cc70gst60tDfIw/E/tpMG06lAETbfLt bm+RkMv5RIJrAYOmmGGdwv0uBUjjpPMC9VwVqukyG7LqVNury7WGhY4EyJXfWl10YHNc +zMnhswz0YrCHSvBlTWZ/tomtr1eJKZHJLUV5FnuwexFNGGrk20R6f2V51klENHMnVHS mawzgTuZDAvuytzdXGCo4ri3cH1rf5nvEEzZrSNxxSOU807W8HxiV0+CSvFdAfcxiAXs PndJGdDAzS70IkpO+Hoeqm5+7SBdeyYdEql94tbunTagXIDHPUNceN9U6ZKdzgaaTbx3 NETQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772467063; x=1773071863; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=DQ9O/WxlrEXbsvKUWZga3GBiGSWqxH7TMX/h6DSnlY8=; b=PDkbtuzEMavRBc5n3Xjj2lXK0V+zNV1pLGofXqGEfqcde7UMl8yxC5oldY8wv4ACGz 15pYC7F4yrS8OFxrDykyKbf68MZPzewQvSSocmz98eoYKGs+dWa93FL02vi7NUQ4HuZm /qLqC89pBdT+08rxXma//Yzvcv8YrPOEP+IpyBL98BX/x8UOykYQ3a+l1zc1uuFEFvoj Qnb+l/yku/9JNTjefc7ICShVJJgxFJLFHkglcFKvaTwGRE40udnKbFqhOQxGIhKjHDlR /70RbgvV29uG3v4/2Kv/iNJOAXHNEQLJH7ckWrwDlcK3kG0+VELo/l1xA2xlynFU8Ckr EU6Q== X-Forwarded-Encrypted: i=1; AJvYcCW3fbmK9btQt3YYm6VhbKdXcyxu43rX6nCzIhoNUZ2UBR2F4Cs7dSXlEpMM0I1aI6TDFnehOHRQ2aqVkXg=@vger.kernel.org X-Gm-Message-State: AOJu0Yy6y+UKatVfQFuXd5uJzBLJWKCLN/qdYl7qdj0aCYLI0+xcsvTg WH+bBiO4hzIWnCrArSQzcBLZI5jDmHsaEX0X+vOG8IOXitNE8cSy7HUr515qLBVA18tBmX31Z2d obsLr68eA1NwQEJkqobCd+fpXLexv+33cmXZVg4yM6Jt0sDPbRih0ptRscxUCSrbn2m8= X-Gm-Gg: ATEYQzxiJyYoooUFrQWSoJcuIuB94LXIjBJnLiRnIMhrwvRTiBJ+MnNm0ZslccNsir+ pNJcgDYjc+l9n3zfZjHwDt2rFSyEBhX471qVWQExvpCSWhR9X5yDV95tHjYgaP1U0eaKg0LZPlh YlxTuzBQjXw0j24tpgBRlZHYzM8B5N/TfqRu4mSBX1ixvXdIWNDkxJuJsY38THBvr9jHAmF80F4 gDR351nYP4PorGPUXH+fpLQYvqucSVDC3qPukz5VSImpVXVj3hp0y4ZE87BZuQBZjN5EYmc0FwV O4k8pIz6ayN/to/kBXCfVvF8IeEwW3wfaxtiJeWTL01JHUOsHvszHghAaOFWWjRmoIBpSpZ8K0H Xa2xfWk2TU+BxGcxTWRwkCekQRd2zuaRaXIO2fGUsndZ4THNBNfpR X-Received: by 2002:a05:620a:4608:b0:8cb:4a3b:5e06 with SMTP id af79cd13be357-8cbc8e222c8mr1398997385a.67.1772467063393; Mon, 02 Mar 2026 07:57:43 -0800 (PST) X-Received: by 2002:a05:620a:4608:b0:8cb:4a3b:5e06 with SMTP id af79cd13be357-8cbc8e222c8mr1398992885a.67.1772467062914; Mon, 02 Mar 2026 07:57:42 -0800 (PST) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:87af:7e67:1864:389d]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439b41831easm11282438f8f.12.2026.03.02.07.57.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Mar 2026 07:57:42 -0800 (PST) From: Bartosz Golaszewski Date: Mon, 02 Mar 2026 16:57:16 +0100 Subject: [PATCH RFC v11 03/12] crypto: qce - Simplify arguments of devm_qce_dma_request() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260302-qcom-qce-cmd-descr-v11-3-4bf1f5db4802@oss.qualcomm.com> References: <20260302-qcom-qce-cmd-descr-v11-0-4bf1f5db4802@oss.qualcomm.com> In-Reply-To: <20260302-qcom-qce-cmd-descr-v11-0-4bf1f5db4802@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Daniel Perez-Zoghbi , Md Sadre Alam , Dmitry Baryshkov , Peter Ujfalusi , Michal Simek , Frank Li Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2620; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=TfRVgyaOMZw2GJQ0rx6WhRl0huHGm4mvuAmz76BcVUM=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBppbNlZG9LYSOKfu5TlTDseIe/TgDfGHUo+ed7K 9LnJ2eJ032JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaaWzZQAKCRAFnS7L/zaE wxShEACbtCvIVVakGFfkdp+go+XnzCkQJ2cVC+uPIiyIvG8vB0m5MYzgjVEEQuizT5Om48orKFO Dv9WnyBpd4u5lsgJCcef3LjQuOconyGuIZwzF56VlNnrHG4gRO3FrUMYaEpvDd/avaUZWvXV5Jq tRpDzMLe8+l+UfkbS2WJ8xyxBRaR5kqUwrCvzGzjb1V+3BqQR0p+ccdNX7hYBOXsVj3MYawfvf8 0jYdBwK7B+ilI9Fev2ZkM6IZ495svAEWmEAlqwGn7LprjASLX8pyDX0MJml5ATSMx7W0arufyZS 3QWunDUcsbD2Jt5g1XYNoE+S0yNDQCs+dTkVP6k0V3+idx2VwhvRuACHCAr8zpO9Ek+VrXGDcUD yD1ogpHf7riRlIPLmlnpKYf/wBUgq0P9oGuO58bNfLOqBmGrPzT2IAD0wvaQJ0i6kFqAr91Ip1e fcb8YuYR7DSDS46UbMKlzsHe8tAXX8O9H92eJEFvanCA9MbsjYQEAHCI6w3WVOtqJsHzDUh2mjP Dx8iMe0vezyl9gWvaradWUGc7T53RoVja9XHFD1UkBh70E9ElXDi6Lub5Ng+JJDs9VRMXS5TbvB cpnKz/UMqM9mG/gESnL+YgDvpA8aZt5/UZC/+0AWonxkMHfKY/ixMu2BhEVAesKwHYlP3DO+he8 4c8t2NdUEFvtphw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: Cer7JT6MzXWh4t8Zxmli8q3Yc5dZ-o_X X-Authority-Analysis: v=2.4 cv=Hol72kTS c=1 sm=1 tr=0 ts=69a5b378 cx=c_pps a=7E5Bxpl4vBhpaufnMqZlrw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=KrkfD191a8oFwBap4LAA:9 a=QEXdDO2ut3YA:10 a=pJ04lnu7RYOZP9TFuWaZ:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: Cer7JT6MzXWh4t8Zxmli8q3Yc5dZ-o_X X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzAyMDEzMyBTYWx0ZWRfX84w3Nh5OYtlj EZ3u6U0+JeLPgO6l5Ila/b2ToOI0+gvOW3zgdfkAfJ+iXmMp8T5bnvTulxJzZI4K0W/nTmLQ+FM ehXlpRwa/oas8/YewIJXe8rY4T5IWDd/9DP8S9m3RBIeO//zjQe/OgrDxvdGnyNC34kiumC2ctO UX/wUiN3pQV12VmD75vdQmz+Dj3GWOy5vMNSxcByGejD1wAIqjeaPT3IXfViOuX78rpIqb5DJCw UdO9qUZQ532Ahg85knDSLyjEgLGMrFSWe/AAn+nlGfwlpHV24MV6Rzv8cJE0IIATdG/V0RrA8jC b5x/GLq9pWSo6DaTYYlo6pMLLYavul2OGqWn1Ef8HQzrKzAxSUg5AFdcVOl6XPTftn/SixNMDZd /fmZ2aPFVookjdHI9c2x6XaJk6QV+xj4lypAx5ernviHVCZwirkQc6v/vpA3kG0TZC4nCWzoXqy GCOFwEnHRd1lEI6/qkg== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-02_03,2026-03-02_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 impostorscore=0 malwarescore=0 adultscore=0 suspectscore=0 lowpriorityscore=0 phishscore=0 priorityscore=1501 bulkscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603020133 From: Bartosz Golaszewski This function can extract all the information it needs from struct qce_device alone so simplify its arguments. This is done in preparation for adding support for register I/O over DMA which will require accessing even more fields from struct qce_device. Signed-off-by: Bartosz Golaszewski Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/core.c | 2 +- drivers/crypto/qce/dma.c | 5 ++++- drivers/crypto/qce/dma.h | 4 +++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/crypto/qce/core.c b/drivers/crypto/qce/core.c index 65205100c3df961ffaa4b7bc9e217e8d3e08ed57..8b7bcd0c420c45caf8b29e5455e= 0f384fd5c5616 100644 --- a/drivers/crypto/qce/core.c +++ b/drivers/crypto/qce/core.c @@ -226,7 +226,7 @@ static int qce_crypto_probe(struct platform_device *pde= v) if (ret) return ret; =20 - ret =3D devm_qce_dma_request(qce->dev, &qce->dma); + ret =3D devm_qce_dma_request(qce); if (ret) return ret; =20 diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c index 08bf3e8ec12433c1a8ee17003f3487e41b7329e4..c29b0abe9445381a019e0447d30= acfd7319d5c1f 100644 --- a/drivers/crypto/qce/dma.c +++ b/drivers/crypto/qce/dma.c @@ -7,6 +7,7 @@ #include #include =20 +#include "core.h" #include "dma.h" =20 #define QCE_IGNORE_BUF_SZ (2 * QCE_BAM_BURST_SIZE) @@ -20,8 +21,10 @@ static void qce_dma_release(void *data) kfree(dma->result_buf); } =20 -int devm_qce_dma_request(struct device *dev, struct qce_dma_data *dma) +int devm_qce_dma_request(struct qce_device *qce) { + struct qce_dma_data *dma =3D &qce->dma; + struct device *dev =3D qce->dev; int ret; =20 dma->txchan =3D dma_request_chan(dev, "tx"); diff --git a/drivers/crypto/qce/dma.h b/drivers/crypto/qce/dma.h index fc337c435cd14917bdfb99febcf9119275afdeba..483789d9fa98e79d1283de8297b= f2fc2a773f3a7 100644 --- a/drivers/crypto/qce/dma.h +++ b/drivers/crypto/qce/dma.h @@ -8,6 +8,8 @@ =20 #include =20 +struct qce_device; + /* maximum data transfer block size between BAM and CE */ #define QCE_BAM_BURST_SIZE 64 =20 @@ -32,7 +34,7 @@ struct qce_dma_data { struct qce_result_dump *result_buf; }; =20 -int devm_qce_dma_request(struct device *dev, struct qce_dma_data *dma); +int devm_qce_dma_request(struct qce_device *qce); int qce_dma_prep_sgs(struct qce_dma_data *dma, struct scatterlist *sg_in, int in_ents, struct scatterlist *sg_out, int out_ents, dma_async_tx_callback cb, void *cb_param); --=20 2.47.3 From nobody Thu Apr 9 13:33:11 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 008AC423158 for ; Mon, 2 Mar 2026 15:57:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772467068; cv=none; b=Q2MaRJj+QlQGItbgp7qf4fsHrXCBfUPF7FJwnnVOZPTECVmhu4Jvw8OT1GJ6V2lxJIQjtuayywz1aje8bH6B6LzdrT0l8uEUoz3OUNGscXAFPZNBgSDMRu1uLpBPqeSMq9LbHuAM4O1vTsZlGdqdHSZmlQKC5/RJtMD8WTibdoU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772467068; c=relaxed/simple; bh=0l3gdVnkPeEhRWmaFMSjmRRcTqey535uYCWAXzuHtwc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=OXa7Sa97sPF0vtpRM+Ahp1xIgTm6LbQF00d5WOC6FRRbqQu3bYhYFF04O4EVlE+pze77L5fOLvjPSw6i7j1mM2QURU6T0afeglcX1w4JW+1y2ZaK1aNJHF9ck5qtn7eAZNa+ct8KMIAE//uZo8ESqvKgKKWf7d2clVTEAB5tEzA= 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=h7To7dNl; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=WHrh3B0/; 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="h7To7dNl"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="WHrh3B0/" 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 622EltLP2048909 for ; Mon, 2 Mar 2026 15:57:46 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= bP+u/9sMDsi5B9HZu73nJnAW0uvD7B1160U6L0iNO8E=; b=h7To7dNlo0bGxp+Q EZJpBC37c5uNiXjvM/ABPGgFm08JcRapbDq4bokRXb2hoj1+cklRuVsyaS7TL156 M/8H1nbIJmx9JxeZoDi0BYnXlHVGFxT2dz+peEgtrCHYHM+8bgOUz77LOSRIvys0 /2wQ+cwmzHI8+2DbALliOV8hMwAMLE6FBbq4X8mznMBlNLj9/baRnuntqWXKAFfZ hqbeqqx+d1/JiTNeGv4WIrMiQS6jv7ejE9lDLg2ArU3tllwtya/tmbSv9fiE1vZJ mTqRtBXTROex5jkFZWmFmaIcuA1SNJuSY4lm2sTO03jwF800HNLxptonmIYYXs4Y rGlcbQ== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cncmfraj1-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 02 Mar 2026 15:57:46 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-8cb3fae6f60so4138758185a.1 for ; Mon, 02 Mar 2026 07:57:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772467065; x=1773071865; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=bP+u/9sMDsi5B9HZu73nJnAW0uvD7B1160U6L0iNO8E=; b=WHrh3B0/vOnjC0Tc+5uf58vXMCwvzq3T0p7bKDLgG4VWcuIa4aY6WewRooWu5F8waU YMT8NSr4GjznL5mdqCZ9lcnrbVT5R1gxvxv5r5HS9bzwxOv0trH65ZJSMwjn+AFNZVYn 1fwespeg/wautHZCslB71WZRkwb7MtGUyyWaxfcEXS3nOKTQmZTuCyGzwZVjFcNT+SUq +8N0ANXL7ShCz+uZDnJcguwJUKNFFKg6F86WaUEinlDxf3V3Ge9ufoLNe7xE2Mv8oVBB PEkSTEdYgArcV+XM0/iAPccEHtfTN931vK7icK8m/Za9+Y8fG5I8vveXVQUrwvuEI7pw HmBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772467065; x=1773071865; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=bP+u/9sMDsi5B9HZu73nJnAW0uvD7B1160U6L0iNO8E=; b=dpiIhAfzWNSgE8130xFUTc7xXOvoB2mcjEKew7pvE81W1GIDqM0um3Q+LPylbu6X4l vPYyaBal8D2f1zWaXq5bma6JzLmAwAvmvaVkwjdQsir5hekBGO4Acy9DCumxYOz3iyJy AccaOikQ7TR71PMAn7vYog3CyMj+jW1QRhBBtvwOwblFaXNoBIvxsMm8Ng+uZcbpnkn9 5CBFt4EO4zvoB+fzJ8+ogMGO5G0EAzVK2NP5czrSsNvsER242a8VFWNgvFpEmLYwYuJ9 Y6cH4Qub+95ANNKvD19uTeq0p/mpA2nSECCqm+EnKcdfv+gJX1//0QdZRKS4cGo0QkN9 oY2A== X-Forwarded-Encrypted: i=1; AJvYcCWiq0FpBP8QsCGDCRCllVDJXNctKsFxtwfR+IDHLjVESrhdSWj5evoVvAHyW/ETpbXAgH4W713HzgPp8Sw=@vger.kernel.org X-Gm-Message-State: AOJu0Yza/aCoG8BLlRKGAdpW81lvgNLo/z7lHgkcvdkS0EjtDFFzuE7T N4MxDmAYhC46Wgcyt7ZyeKbrjEM8BO9AZ33xkybfHsCm9BJj/Jiho+1F5ysG8QXY7VzsIhd5Md9 OjBOyL7z+z3wqmuZfmEFsrpq/hB68PAmA5wS5fq3tGZmqh9uAigeb5+uMUQM0vgRY/ME= X-Gm-Gg: ATEYQzwsRrM2I3P0qq2m9qP950sTUNxUv00vz5fMg5RAsRIJdQg+NWgqVfp0pqDKohq uiNkkgSClIgKjRclxLJ0yTbeKJe9Qxa+sVvpQcmSYNDonTaGwGDECGdMPEkentBnc7Q4G7yT0XY UeuhqPDfiaDMzThQuveftzFERVtgrsMGTRSSUzYNaSznGOmYLren8Pi0aZ9wB4c9MCX7dt8hi+V Cr88YbcIsr2h7SifEcpf+99Tepuqz8KcJC0MiNrXBBeHzxJLVntwHp3IkRsxwXGcPccF6YxGno6 0HUQ1bK/ar3GkMl6d9tAIth2u8thfFwQusKmV6jCBworJxoD14cz5r1iLtaVxPamZOfZBlNKTMg OKZUjSnVf1KcC/2I8zGH/RYsFy8o8GlMCqQSrVTfjLyHQDi+I+K0C X-Received: by 2002:a05:620a:489b:b0:8c8:82cd:1a85 with SMTP id af79cd13be357-8cbbf3cf0c4mr1857931785a.21.1772467065335; Mon, 02 Mar 2026 07:57:45 -0800 (PST) X-Received: by 2002:a05:620a:489b:b0:8c8:82cd:1a85 with SMTP id af79cd13be357-8cbbf3cf0c4mr1857927985a.21.1772467064814; Mon, 02 Mar 2026 07:57:44 -0800 (PST) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:87af:7e67:1864:389d]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439b41831easm11282438f8f.12.2026.03.02.07.57.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Mar 2026 07:57:44 -0800 (PST) From: Bartosz Golaszewski Date: Mon, 02 Mar 2026 16:57:17 +0100 Subject: [PATCH RFC v11 04/12] crypto: qce - Use existing devres APIs in devm_qce_dma_request() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260302-qcom-qce-cmd-descr-v11-4-4bf1f5db4802@oss.qualcomm.com> References: <20260302-qcom-qce-cmd-descr-v11-0-4bf1f5db4802@oss.qualcomm.com> In-Reply-To: <20260302-qcom-qce-cmd-descr-v11-0-4bf1f5db4802@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Daniel Perez-Zoghbi , Md Sadre Alam , Dmitry Baryshkov , Peter Ujfalusi , Michal Simek , Frank Li Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski , Konrad Dybcio X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2266; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=azGHQ+ypZ4Lhe2NPlFIx77n1JCkKbs9Xx9/yXH7ccEw=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBppbNn4Ew/vxQqWEKjOV5+kouN3wqG17yKI1J4F U5nB8f/UuiJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaaWzZwAKCRAFnS7L/zaE w98MEACqc+YM2pKSB+KOfm67CXPbkWg/mT5lZOTSPM1ntmS/L1MfDMb60c+eQecJ4lEeV3FCsC/ ZVM7g+eaXqaj1RP8KdY1UW8Ri0uOi8aMV2YMb9IV3nLnCTAagMc3zVeCB7qLxz+lIFF2a4n5tvk ONg71SWGZUfjhsYi0MDvjnU3xbkyrTXdokdHOqA3LkZTD5MzoHW3sEZYDC6Y2UsaJ4DVyoO0GoJ uueMwVDz+OO3UALvNpGAstuCIzF8Y+GhEte0Gifb5APDDFtvhWKas4CyRcm75IHpVhO/Ra+Ev9W 3/JkWtSAG5uN9hwqvf/hE7CLU6ZsX1EzobcgR8ye5GhsK263n8yOpwWVYHMUDXNCr1fbSQjmVPE MjK7aiIzipzUSe0LDA3Vrvz8DkKftmas7bb8bUmW2AFpKYniRVt70waSfjh90OduCZpAYJkdeLG LaX9oWPLblAVEqTuINU+Y7k5TVTpzPgIfvlZ2zYYcTcl2E8aIFHDw3rIA5WkPCjJwPpqaozxAsg ZOvvGuVn4Kw3MKXbPUHIPQDezgKyOpcnSyIPn4KJGGT9buX5tCyNBcJiGyZatojxqsTPI+z0/Lm Rv+88mriwxosWTA2Y0oakM2rlOwyQHRezuWe4NRpidvjrs/IfjjKqxpvK9H+5WcPMyZFimZqKOg E4IxnzBW1z1uh3g== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=Br+QAIX5 c=1 sm=1 tr=0 ts=69a5b37a cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=r78XHnC5kAO70zNBxnsA:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: b7gWDJnZO40phnL6RIbOs1NF-ewOHjpA X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzAyMDEzMyBTYWx0ZWRfX//TViM8X1tP/ X1RuJLXbfTUjpqoWgjKTe/A2cFPy1YaIZ/sGB5uaJkRpAoEdomEhPoG/jB1Wi+tPGc0X2YWLLW6 F3l8hzppcaeancDCQ+lc933YLUi7SBmlhc0sEsXZWDxWRUNVbWaC711DOy9hKi7MSmjBN3wQTi8 1PRwxY3gBSbJxBSNkIwTBD+2hV9ikyO9CciQ21zVC7UwEZFe25lYuKN9xlGp1jQu8A5NP9BE0bg vL4k0JL5qTt8bB5LjoXqeFg5Bt+re5lFXdzqy9bsPAVcgEk7t4zhdboQU3VASHNwRvprx3x1Zlb 4KzHVocguIDhgyrpxup1QqpSPnHlMfS4RqM3ozlRAorASce/9OiZTl3ZyTrRJzhYNDKldjdQaxc bJNlG0MgBBoFFf7YPMEIRhWFuXbV1MP2z2pZE+gFhYdRPn5oWp6J2Vcmx5by2E7DH6+cNAhTQ1n zXj6N3+AxR97jeE9wVQ== X-Proofpoint-GUID: b7gWDJnZO40phnL6RIbOs1NF-ewOHjpA X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-02_03,2026-03-02_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 malwarescore=0 clxscore=1015 bulkscore=0 spamscore=0 priorityscore=1501 adultscore=0 lowpriorityscore=0 suspectscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603020133 From: Bartosz Golaszewski Switch to devm_kmalloc() and devm_dma_alloc_chan() in devm_qce_dma_request(). This allows us to drop two labels and shrink the function. Signed-off-by: Bartosz Golaszewski Reviewed-by: Konrad Dybcio Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/dma.c | 39 +++++++++------------------------------ 1 file changed, 9 insertions(+), 30 deletions(-) diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c index c29b0abe9445381a019e0447d30acfd7319d5c1f..a46264735bb895b6199969e8339= 1383ccbbacc5f 100644 --- a/drivers/crypto/qce/dma.c +++ b/drivers/crypto/qce/dma.c @@ -12,47 +12,26 @@ =20 #define QCE_IGNORE_BUF_SZ (2 * QCE_BAM_BURST_SIZE) =20 -static void qce_dma_release(void *data) -{ - struct qce_dma_data *dma =3D data; - - dma_release_channel(dma->txchan); - dma_release_channel(dma->rxchan); - kfree(dma->result_buf); -} - int devm_qce_dma_request(struct qce_device *qce) { struct qce_dma_data *dma =3D &qce->dma; struct device *dev =3D qce->dev; - int ret; =20 - dma->txchan =3D dma_request_chan(dev, "tx"); + dma->txchan =3D devm_dma_request_chan(dev, "tx"); if (IS_ERR(dma->txchan)) return dev_err_probe(dev, PTR_ERR(dma->txchan), "Failed to get TX DMA channel\n"); =20 - dma->rxchan =3D dma_request_chan(dev, "rx"); - if (IS_ERR(dma->rxchan)) { - ret =3D dev_err_probe(dev, PTR_ERR(dma->rxchan), - "Failed to get RX DMA channel\n"); - goto error_rx; - } - - dma->result_buf =3D kmalloc(QCE_RESULT_BUF_SZ + QCE_IGNORE_BUF_SZ, - GFP_KERNEL); - if (!dma->result_buf) { - ret =3D -ENOMEM; - goto error_nomem; - } + dma->rxchan =3D devm_dma_request_chan(dev, "rx"); + if (IS_ERR(dma->rxchan)) + return dev_err_probe(dev, PTR_ERR(dma->rxchan), + "Failed to get RX DMA channel\n"); =20 - return devm_add_action_or_reset(dev, qce_dma_release, dma); + dma->result_buf =3D devm_kmalloc(dev, QCE_RESULT_BUF_SZ + QCE_IGNORE_BUF_= SZ, GFP_KERNEL); + if (!dma->result_buf) + return -ENOMEM; =20 -error_nomem: - dma_release_channel(dma->rxchan); -error_rx: - dma_release_channel(dma->txchan); - return ret; + return 0; } =20 struct scatterlist * --=20 2.47.3 From nobody Thu Apr 9 13:33:11 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 B8382425CC3 for ; Mon, 2 Mar 2026 15:57:48 +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=1772467070; cv=none; b=Piv0Mvwbl/NsQKPSJg3j2r9nYQIinraLqHTWPc7Bzfas7SIB6R49lwZ2XEH2d0R5F30tmHJvl7GDuUnCsmPtXDrKtuQqovXXb83Z+i+kRXkUPAdl+fXmv7LWP1JLIvGFpGiSRrTujymta8FQi3aw7ELzfQqoku+4pJYZRKEaQ/8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772467070; c=relaxed/simple; bh=FnVBtOe0OnnBy34d5WsqwWSUvkeiYQ93/vJc1qwp/2M=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=QGXTBknw7zCzW9oqnWQAiAh+yZNuFniUoyVspHTeglL0kXHMAK1HudSzddmyjciLS0Hg86YOSfOr/VxzCp3vEicyo1rtzdhJtuFRBM+Cx8/iZsIJlAUonRxm2sOpdH7Lsz3ZAR6dTjHV9TlFhmNb9RGcxCrCLJ20s//2McN8Au8= 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=jAarcipw; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=BEGguL+T; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="jAarcipw"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="BEGguL+T" 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 6229K3kr782814 for ; Mon, 2 Mar 2026 15:57: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= MnBQFcKPOgFHzTGJJB4DToRykxT+JvIdZWyKHEJZL1c=; b=jAarcipwtmxwc09a HrPau+DA9YlTx41/Z+j1BH6lVFcepgZR10u6NW3BakceYuc6gQxPYuTPbeD43jmz 3KkVB9o+aS5Dfw5ulD8f5idazwkcbWFQ+bptal6szPs2SPbdL9M0uuSloY94eZ8z tQOkkrXZsZOpmVRhojfQlRgDifleneM+5qvda22LIk3LvLVAzEK8h2b71jo342m8 dhRIpQmFPSl/Pau0bTYri0OsqPLjpLzjc2Tqt9gPoKjVVPJ1NF/4KbbwGZMzldcG gMa4rlEtMGrEMeU7wtUxmM/VPuKXRztMQHPhJbKHv8TumIpWTCMhgptbBc+Gm44F UT9aTw== Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cn7u01b7p-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 02 Mar 2026 15:57:47 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-8c70ef98116so3962124685a.1 for ; Mon, 02 Mar 2026 07:57:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772467067; x=1773071867; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=MnBQFcKPOgFHzTGJJB4DToRykxT+JvIdZWyKHEJZL1c=; b=BEGguL+TSCKnbacPD+njdAYu2Fs+Li+X4Qh66cJWdMATE8NzLAMwDdxm5PyuVlX7Vl ILZnXPQWA3Z78C7CSN+IpZroufSG2+Ps7WLwfqiH/X90pJMVd0VR2XbVB2DxrZyClZtx 455iPPHZAIBJIk6L+/MQb9grUF7+dSx+fXjei8DuDEgCfw9RQlK2GHjn9aSjpCMlEZS8 BhjBoadJKmVXsc0XdL5kXw0MVhcHJ0jatoMHpv6wT4kkGrnHVVDTHmIgdML/Q3hrwJ/k MuJNP07rgjaRt1vt3d5jYCPISwCrReNTvrNPeFcSqyfH9WY9qb969cahXP+ye782/kAT /7MQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772467067; x=1773071867; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=MnBQFcKPOgFHzTGJJB4DToRykxT+JvIdZWyKHEJZL1c=; b=gBpZTB+eV0aLAiEj/QwAV7UcQRkf3L4nExcpP5PF0UvMUp5V+34PEALwoAruM6ouV8 UgE3BXmXQEHgYBhdwXlrVxgOILvQ1u5JzpJDQVaoq35Iqu+lOdVpvnhx8D0InppTy3d8 Tlrw8L+MzRxbAq5hHR/v9S7lDZXfScvCFZv0iUUxnY8fF6HSej4uWm1o9oRMMfLrgHab 6MxdSzkEs2W7gGv6xr2NV9UxFvtJluszzRLMLsug2l7izWHHC0NyIE64EivNmjXfS79I Wm3y8RfIImdclDZWI4j4h2mAMNNV+VkToMkO+EY8PqOIYMqbtqkOmk6B8luXtimBGJyi pPgQ== X-Forwarded-Encrypted: i=1; AJvYcCUsLs3gYoh6VUVFlPM1ypfyVH1MslLg4O89dGy4qRf2KKcOo5a5O8PU8mDalucYFcddiFZHqjdz5UO26Cw=@vger.kernel.org X-Gm-Message-State: AOJu0Yw6hzPeSoaDZmefgXpoh/24wzlX3qQ5MikFUoUyQBFLKM0rY1+k BE3u6qS6K+6Ij5ISL1Mim4TUcqUQhlG3/9qcsCA4dPEB3ugOEJ2MJUzk2BH6IwmGbaROPpnEiyC WufoOavLCSeqI/R9VXs0qnfmj4KujdLgp+q+GwlhEF4JDyoJZFY2VgF77TF4abOpCr1zRcOSCSi w= X-Gm-Gg: ATEYQzwBkZrFbiTJyH23Dn+XT5RJXpX5tDxvPAuhZNGZuLqJAMD0HbMfL5OSRvpllpb /XUaql3uDDem7l8zcRafg+PbRBopLcC7KMboiaGwVmxwhowLnumUv9Nj9ijzSf/FZ7di417HIm1 05e/pO5lUoCNAkmViwvSwqAE9ROnNWarLIke0FNlgMrKpR8YlD+Ny6FbEtnF/bR043h923elUqF LR1FcURoVgA8d1pBERgnFPx/eaGFys5eGTGnll6QA9zoQNzUwj43g0aWzLlefIpvwjyorNnEGE3 TIW/EgYw/MH1mTr+2JeBfxwzpq0YodDPQLmD0D0UyyFBdJLOnxDPsM9FersXuVkxrRaEDHWVfpP eHiJVo6DpSFBVi2049SHFQvyCYzu7vD79DJmpQ51vKpJxWoYV7OhR X-Received: by 2002:a05:620a:1a28:b0:8ca:123e:8196 with SMTP id af79cd13be357-8cbc8de8546mr1626713985a.53.1772467066939; Mon, 02 Mar 2026 07:57:46 -0800 (PST) X-Received: by 2002:a05:620a:1a28:b0:8ca:123e:8196 with SMTP id af79cd13be357-8cbc8de8546mr1626708485a.53.1772467066472; Mon, 02 Mar 2026 07:57:46 -0800 (PST) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:87af:7e67:1864:389d]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439b41831easm11282438f8f.12.2026.03.02.07.57.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Mar 2026 07:57:46 -0800 (PST) From: Bartosz Golaszewski Date: Mon, 02 Mar 2026 16:57:18 +0100 Subject: [PATCH RFC v11 05/12] crypto: qce - Map crypto memory for DMA Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260302-qcom-qce-cmd-descr-v11-5-4bf1f5db4802@oss.qualcomm.com> References: <20260302-qcom-qce-cmd-descr-v11-0-4bf1f5db4802@oss.qualcomm.com> In-Reply-To: <20260302-qcom-qce-cmd-descr-v11-0-4bf1f5db4802@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Daniel Perez-Zoghbi , Md Sadre Alam , Dmitry Baryshkov , Peter Ujfalusi , Michal Simek , Frank Li Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3159; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=gRGqUxioVpJcY9zBfeIZn1vIilzfanwkfyseaIOaQFk=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBppbNoDslcDGElaIAuZqmx28V75+Ght512gj9uO 9BTyLYxQoGJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaaWzaAAKCRAFnS7L/zaE w7KfD/9BNxHL3nf9PbluMpylf2ev68g/KfEFzZeeTiPet/o+UvV5i0+4a0Qfj/vCdJTSNJREmRP REp30vj4p6T6SLQzbZwAUS0SVyjTlWlcHvqv/R1lANqL8DUysFR+1f9+wJskMhwpUoFRuZHCtEi iftJpRpd667KdkazXCISt13fJ/32FARqxK1iTWUQcs4OJah6ReHGal34HphX+Oj0AZZIvI/jKRx WD5rk0pfsfSxUnNPxzwTZWQL+UmiJg0ipnOFGsh2pO8mSkiR3CEcHqPUbOqACMRrQvT39J0jlYG rnXGeAHnCyRY33edRQN6k7nY5C/zdN6IlAavw5egTuYHZ97LOqPT1D2l9tlhiBC+fF26f4A6pOl +p8WUhe9ZNKYMQ9GTOUEzP2Lu7pXC/sXi9n/YtKeXDauC1gzAjBHm2W7WhgaKzNfXDprJS6cWGq IRrNpy1l6nJ8GB3DrNzQCVSrxjnEE9dgpNWiO4NVzdW3lDDVBG5W7FRoA9brtGvu1xNrU/Pq+Tk uXvURGBIyMEmRKMw4awIsY77OWlpiWqY50TUTlxK8E+lOlK6Vp119wKAokr6yaQSJhWhthuC+Uw FYXFrDXaoPkLTvhcZFf27Wp+8oA8zsEY48Ejpi2ihflYE4QJZwQ7HVNxGubyakYL6oVmVXMM1tb v/CY6qcEoGSwXoQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=GMMF0+NK c=1 sm=1 tr=0 ts=69a5b37b cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=76fuQ0JqpD8MvifAs1cA:9 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzAyMDEzMyBTYWx0ZWRfX8EIkFAvPdDBJ Vj2m7lFoYIb35W4sdnOKf38m1BBruFiARCNW+t2Lvt1cViJLGuPXu1YxkqPl5RanYEpp0AXVQTa EdJYsPAr5f5NwXasnPFgmADVQIz9gWgSfm87yCQBoI5bsizH4CqR6nRT+82GsKemxj4bl4U5KAV 5eIzsmGGFtz7EKxfLmBUj3NhbV3WGtSuqKn4p6l1EiQc8kKieQt/PXw/ufUB81iWKkUb/AFxFw6 HVdzFLSjMf5tYG2SULP3KiZ/WFcyTGeHduLj07Up+ruzfAHD5u3STVhkNc5guVEk7RunFipTZmV CyWKGhsT4qGdg8F1SI+lIiJ7DEubq5skrGn9itKeysKxuzN19NWzvUuzqt9osimXKibBTFg7skT d8sBD2zlAsz8yPRLS3kjVDTVy/cmwpiEsFJUKzPb/6y8Obycc3sKD9bKlIODjNGD/xI3AS2W9qR oU43TZwHTXxv2KQrpCA== X-Proofpoint-GUID: 8oTRpwROUXWTDWj2_oKLJ05qDRllbQu1 X-Proofpoint-ORIG-GUID: 8oTRpwROUXWTDWj2_oKLJ05qDRllbQu1 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-02_03,2026-03-02_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 clxscore=1015 lowpriorityscore=0 spamscore=0 adultscore=0 priorityscore=1501 impostorscore=0 phishscore=0 malwarescore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603020133 From: Bartosz Golaszewski As the first step in converting the driver to using DMA for register I/O, let's map the crypto memory range. Signed-off-by: Bartosz Golaszewski Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/core.c | 25 +++++++++++++++++++++++-- drivers/crypto/qce/core.h | 6 ++++++ 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/drivers/crypto/qce/core.c b/drivers/crypto/qce/core.c index 8b7bcd0c420c45caf8b29e5455e0f384fd5c5616..2667fcd67fee826a44080da8f88= a3e2abbb9b2cf 100644 --- a/drivers/crypto/qce/core.c +++ b/drivers/crypto/qce/core.c @@ -185,10 +185,19 @@ static int qce_check_version(struct qce_device *qce) return 0; } =20 +static void qce_crypto_unmap_dma(void *data) +{ + struct qce_device *qce =3D data; + + dma_unmap_resource(qce->dev, qce->base_dma, qce->dma_size, + DMA_BIDIRECTIONAL, 0); +} + static int qce_crypto_probe(struct platform_device *pdev) { struct device *dev =3D &pdev->dev; struct qce_device *qce; + struct resource *res; int ret; =20 qce =3D devm_kzalloc(dev, sizeof(*qce), GFP_KERNEL); @@ -198,7 +207,7 @@ static int qce_crypto_probe(struct platform_device *pde= v) qce->dev =3D dev; platform_set_drvdata(pdev, qce); =20 - qce->base =3D devm_platform_ioremap_resource(pdev, 0); + qce->base =3D devm_platform_get_and_ioremap_resource(pdev, 0, &res); if (IS_ERR(qce->base)) return PTR_ERR(qce->base); =20 @@ -244,7 +253,19 @@ static int qce_crypto_probe(struct platform_device *pd= ev) qce->async_req_enqueue =3D qce_async_request_enqueue; qce->async_req_done =3D qce_async_request_done; =20 - return devm_qce_register_algs(qce); + ret =3D devm_qce_register_algs(qce); + if (ret) + return ret; + + qce->dma_size =3D resource_size(res); + qce->base_dma =3D dma_map_resource(dev, res->start, qce->dma_size, + DMA_BIDIRECTIONAL, 0); + qce->base_phys =3D res->start; + ret =3D dma_mapping_error(dev, qce->base_dma); + if (ret) + return ret; + + return devm_add_action_or_reset(qce->dev, qce_crypto_unmap_dma, qce); } =20 static const struct of_device_id qce_crypto_of_match[] =3D { diff --git a/drivers/crypto/qce/core.h b/drivers/crypto/qce/core.h index f092ce2d3b04a936a37805c20ac5ba78d8fdd2df..a80e12eac6c87e5321cce16c56a= 4bf5003474ef0 100644 --- a/drivers/crypto/qce/core.h +++ b/drivers/crypto/qce/core.h @@ -27,6 +27,9 @@ * @dma: pointer to dma data * @burst_size: the crypto burst size * @pipe_pair_id: which pipe pair id the device using + * @base_dma: base DMA address + * @base_phys: base physical address + * @dma_size: size of memory mapped for DMA * @async_req_enqueue: invoked by every algorithm to enqueue a request * @async_req_done: invoked by every algorithm to finish its request */ @@ -43,6 +46,9 @@ struct qce_device { struct qce_dma_data dma; int burst_size; unsigned int pipe_pair_id; + dma_addr_t base_dma; + phys_addr_t base_phys; + size_t dma_size; int (*async_req_enqueue)(struct qce_device *qce, struct crypto_async_request *req); void (*async_req_done)(struct qce_device *qce, int ret); --=20 2.47.3 From nobody Thu Apr 9 13:33:11 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 B0B12425CFE for ; Mon, 2 Mar 2026 15:57:50 +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=1772467072; cv=none; b=bfz08vvmG4yROj9VVDIedCZxdsT3auCvzlUlQGEfsjfQsPguANcUm85+548MeoxBm8bezoGPym/os3UmuNrT8lKvTAaVDIK9thvZBg2ibXpBVpSayUGQQeEVjTnER5dk7Yu0B3CJTlaVOBL9oc6Y0gZSvogcyfS76i9NSio/Yi8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772467072; c=relaxed/simple; bh=IpyCcQVX9q9Bh7P2C71ZivsP1o69+7Z885fDtTkZvoI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ulH3N8KgwuHTRXSC76b2/aWWJzFf+mQo94BVHlwY6ROc8MPloz+wTsWWIqa9LmbWM7LZH/uDjPxFJ+QhPudhMMVhrwcOSKH5HD0ABtoXN2jF85BxyPUE/kuq/oqYYTSrUGlNMDgKQNaUSy8wdxSr+xjx3WVV/ML+piO4Zuk42gM= 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=ATTOZmLi; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Bgx0WFxe; 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="ATTOZmLi"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Bgx0WFxe" 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 622B4QBR3561999 for ; Mon, 2 Mar 2026 15:57:49 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 2/urxcQjHbvUQXWmg2wCVncg8OrfyW3z29xPxxSUMIY=; b=ATTOZmLiQT1GO5SH cZB4CrhY+q+qpHbkF0zF7nX1VZZcNpKl5pidNrRiGqs3xa4/mA4H4lQsmfrYqr78 j2x4srbdQC9mUTWUP9lIjsnAHicU2ACSRCCqnhejBaoGkHxnafZ13F7fjcC8VJ2L nVASTDuvWshgv7+c/JFQDRNUlU4csK4ix/0miN+CBeYFibRT1BILlwbJU/tzu98z Ry3DfXoL7ngCcOGxbhHCguiLSb2VylJ48MtJlQM0x2KWyhUnqGIMTKKbzDXvcEN9 oROrX1aVhNw1gWAGkgVCWiHM40ckXkd7zinVStnVsyaMJWX938NM8m0aeBG7o+Cb 8HPn6Q== Received: from mail-qv1-f70.google.com (mail-qv1-f70.google.com [209.85.219.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cn9bv8ydb-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 02 Mar 2026 15:57:49 +0000 (GMT) Received: by mail-qv1-f70.google.com with SMTP id 6a1803df08f44-899f6e5b909so86502276d6.1 for ; Mon, 02 Mar 2026 07:57:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772467069; x=1773071869; 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=2/urxcQjHbvUQXWmg2wCVncg8OrfyW3z29xPxxSUMIY=; b=Bgx0WFxefjNCqi7hDeZxVJDj/XHO8jDopZ6kTTTCQbz+FomH90gqcsZ0/wrszZJIDF iGD8nGd1Cx7H9+Q5w5pAOAl7QNveCJCWZQ0Q5DObMCgqsn0gMOEJusfwQpxI9vQbhAxs N8emIhkKF0cdnPCgnXw/rONm0ZXbLi6aKVkgkpnRkRZN5b1Wn1LAyxyLG2FA6duGj58A 1gEtodO3Tp3kEuzph68aNj2zl5QQdZX/jPUG8HIvW9Urx0fvn6FiEtJh35BLcW9MfYat 7M7nlWpe4EENkanme4zmHo/bVfMeL+zjAUMFqbvnJGq2o9iGjMXBMY6h45Vz5Tr+mJ6S 5M0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772467069; x=1773071869; 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=2/urxcQjHbvUQXWmg2wCVncg8OrfyW3z29xPxxSUMIY=; b=KdqMAenUYYDdg1dYG5xj1q2TemxyPxmTUgBiUqPdjF7E9p7Q39egQ6Af88dRywkAGS YCX4swGMFN7J2wGvoS7tHNRSizldb/4U9iZQW0teNzggzKqWlJv7lQ2Iu/3txt7IeugG XknZUo1Edk7/TMNuMqlcK+ehCEHgNOFBKPt/gCm3BKfcB8Madki8NJXef84Ab9OmC6fk gDjdcoezvoHtkiyCD4pC0DEqzMKfDjQfqbIudZ8y9mrzVa34ZtA9A/aKYYDiwXkgPEwa cUZxY4Y50trtb47PeyDzuiSznfy9R01+D5IxG7KkvBZzxnfXTnyDpGUYkPMa3Sm0P62D MPxw== X-Forwarded-Encrypted: i=1; AJvYcCWEfYIRpBXcWLKIZ8UglpIozQ2/+Vzuzpw5RdgsxoNgbRSULozYmukBHR2Q8g7frFwnsZM24p8OyjEosYI=@vger.kernel.org X-Gm-Message-State: AOJu0YxMHxE2B0iAFCUIx59QsJ5jjYm7eGP/0Jn/eSjZ1R+kEWzmVoWy eYJv9BpjS+ON9kfsvBSY9+2N8pEsTwK0er2rfBBMtee7xBY02RWsVSd/gpw6LQLSVrrW6kMN57P S681AHS/55QQ4D8rLjvlEF1KRqL7shRyXW8doxa7sYmkBI3QF5liB9fTWUPdmLGjWvxQ= X-Gm-Gg: ATEYQzy93/oBZDZaPU5XQki2GzkXu3LlXd+7gPCPvFpIsn9Eb/x9a2Apk1KolBbEVEM 6xgGv4HlhlKKyewdf7WRYjCrcb+Jcv2OFMTSBAFH2SBLircxW/eFzzvZxOxwcw3qxglBmRJaxGA wR3Vc8jwW9ulH230GGgh2+0oV5fro6BsKYP0nRiZUEF1aBVAHjgd8nnyLxVP6+chyG3av85hY5x jkppEWGVxOANG4bjnS6mRQxr6SFdJH5zXhq1L0vEyA2pYAfPaSxbA2H/9COtSVYwLJG2AUaqCKK tw5HfixTknq6ft7JID9eyU9zZlaDdoDvfC5PzAYw6GjUb0A4GGuHIr/y6Fk0CCLuxizEFsfeXLb WZfnb6N8akfkzia7nUwsJDoKDk0wx8FLdOZKGr7VTXcuDhCXmstFv X-Received: by 2002:a05:620a:414e:b0:8c3:7f27:a65d with SMTP id af79cd13be357-8cbc8d9d9b9mr1676276585a.28.1772467068705; Mon, 02 Mar 2026 07:57:48 -0800 (PST) X-Received: by 2002:a05:620a:414e:b0:8c3:7f27:a65d with SMTP id af79cd13be357-8cbc8d9d9b9mr1676272485a.28.1772467068111; Mon, 02 Mar 2026 07:57:48 -0800 (PST) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:87af:7e67:1864:389d]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439b41831easm11282438f8f.12.2026.03.02.07.57.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Mar 2026 07:57:47 -0800 (PST) From: Bartosz Golaszewski Date: Mon, 02 Mar 2026 16:57:19 +0100 Subject: [PATCH RFC v11 06/12] crypto: qce - Add BAM DMA support for crypto register I/O Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260302-qcom-qce-cmd-descr-v11-6-4bf1f5db4802@oss.qualcomm.com> References: <20260302-qcom-qce-cmd-descr-v11-0-4bf1f5db4802@oss.qualcomm.com> In-Reply-To: <20260302-qcom-qce-cmd-descr-v11-0-4bf1f5db4802@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Daniel Perez-Zoghbi , Md Sadre Alam , Dmitry Baryshkov , Peter Ujfalusi , Michal Simek , Frank Li Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=10084; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=xVyXRxFp3hoaIPdmV5W3HruIHEbBK3c+oEfKaj3P3iI=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBppbNp3uL1qF09VByovmCxr0BrPF2qt0vumz3w9 4VDWOB+XZGJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaaWzaQAKCRAFnS7L/zaE w3QWEACVBpmfAzAr7VheSYyio4m2cLxyZN0JpZvXOWcCmYcyKruO1ubprk1VjaXrtxmnqPkJFOA 8Z2G2q0RWqM3m4FtgyR2cXgBh3H8mWh1N7HNbYfe4DXsL2HBwznabEZPjB5lcQNISfLls/a0paU Z5yygOOtjS2O75Z0Y3xqbKacBqbxCkRd5vlQSV9hdQlebDClRP5wZT32tytJzGrXUMK7dtd/eqh lHTjxyF9KIAWBLKBa7PPTFW9XMRdnU/BGS3hwN9G77cZ7vh0TIFV6LbwMpUaIIA3aHaltAO2TSp ufaNp4It7NI71cUM7S3bZgLYHnUvqKUBjNkiLCaeykIbiJflZ8IIACcnZ2xVRdVHo2Jv9sgB3kb UnsqQTh2RC3Pb1/RmrwaJegHk/XCTVNVoVm+zVkbsWCd4IWJx/MZ3M+uh95STXoNAPaCX0eoysP IhMrn8HlnXNt5MtoBfwCHpiwbrfmioXT/6pCCPdcu06zPkCcz2xl1ytMoQJZrJ9Zk8FGEevT6r/ TX1mw84tUvo+l/0Iy+Zx3oCzB/k5mPIfR+Eo88IZ0svKagnxXDauKwFSabFLc+jKx1UCBo+QKNP p7qCAu6MWoIZykAmINl/yY6tYNJzo3aUXg/mO5EVEwsIne9FhKDH3RryvT7/Xbd30U41QLqIXwm yOcuYuvxgovT7pA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: QVfcWqFLvw0cvZ4xG1sVsy8hAxaVvcG0 X-Authority-Analysis: v=2.4 cv=S83UAYsP c=1 sm=1 tr=0 ts=69a5b37d cx=c_pps a=oc9J++0uMp73DTRD5QyR2A==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=koLDk85rXkRIAoTU0vQA:9 a=QEXdDO2ut3YA:10 a=iYH6xdkBrDN1Jqds4HTS:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: QVfcWqFLvw0cvZ4xG1sVsy8hAxaVvcG0 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzAyMDEzMyBTYWx0ZWRfXxtO/G+OuW0G2 XvEVBw+BlAQS0oH86h4E3H1t46co15q+UoDjT3pXiREBjX/pCVve6loiQDorbPCjO+MeifGRQAA zTAx8uYWdFpcFCIijrOTC5n2Wp0PSyW7qrZ20fTaaxjgiiPzmPBdPe36nQ1xrHcu2+tjR1GAylG ULJ3fe6IQk2gUT8yYugomAB6Z+Q4RfmBiJI2bLxCt8yr89Lvth2/ZG1/yWqjBFZEFikILBuzhaG E78Ar0psQGIqDrjTKhbYrCzUeBiLeYyXUyT0jvRh9NmBXB7qzdIogNn7F3eM2oDjH70JmY9bBSs je+UxZNpBu0edcd5EG3Ds1oKYLgjS1Bes1hk4HD2s+S6To04KKP29pM+eBzqrvXabx88ebT8/bn XoWSx88wKlwn10fx0Rm1z4SmWYW4qGRtihCUWRA7huKrVOsOMQbt6fJg1ONtwd08wgfECoop69D TDrT7GjGSeu6u9t06Dg== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-02_03,2026-03-02_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 clxscore=1015 malwarescore=0 lowpriorityscore=0 adultscore=0 phishscore=0 spamscore=0 bulkscore=0 impostorscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603020133 From: Bartosz Golaszewski Implement the infrastructure for performing register I/O over BAM DMA, not CPU. Signed-off-by: Bartosz Golaszewski Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/aead.c | 2 - drivers/crypto/qce/common.c | 20 ++++---- drivers/crypto/qce/core.h | 4 ++ drivers/crypto/qce/dma.c | 109 ++++++++++++++++++++++++++++++++++++++= ++++ drivers/crypto/qce/dma.h | 5 ++ drivers/crypto/qce/sha.c | 2 - drivers/crypto/qce/skcipher.c | 2 - 7 files changed, 127 insertions(+), 17 deletions(-) diff --git a/drivers/crypto/qce/aead.c b/drivers/crypto/qce/aead.c index abb438d2f8888d313d134161fda97dcc9d82d6d9..a4e8158803eb59cd0d40076674d= 0059bb94759ce 100644 --- a/drivers/crypto/qce/aead.c +++ b/drivers/crypto/qce/aead.c @@ -473,8 +473,6 @@ qce_aead_async_req_handle(struct crypto_async_request *= async_req) if (ret) goto error_unmap_src; =20 - qce_dma_issue_pending(&qce->dma); - ret =3D qce_start(async_req, tmpl->crypto_alg_type); if (ret) goto error_terminate; diff --git a/drivers/crypto/qce/common.c b/drivers/crypto/qce/common.c index 04253a8d33409a2a51db527435d09ae85a7880af..b2b0e751a06517ac06e7a468599= bd18666210e0c 100644 --- a/drivers/crypto/qce/common.c +++ b/drivers/crypto/qce/common.c @@ -25,7 +25,7 @@ static inline u32 qce_read(struct qce_device *qce, u32 of= fset) =20 static inline void qce_write(struct qce_device *qce, u32 offset, u32 val) { - writel(val, qce->base + offset); + qce_write_dma(qce, offset, val); } =20 static inline void qce_write_array(struct qce_device *qce, u32 offset, @@ -82,6 +82,8 @@ static void qce_setup_config(struct qce_device *qce) { u32 config; =20 + qce_clear_bam_transaction(qce); + /* get big endianness */ config =3D qce_config_reg(qce, 0); =20 @@ -90,12 +92,14 @@ static void qce_setup_config(struct qce_device *qce) qce_write(qce, REG_CONFIG, config); } =20 -static inline void qce_crypto_go(struct qce_device *qce, bool result_dump) +static inline int qce_crypto_go(struct qce_device *qce, bool result_dump) { if (result_dump) qce_write(qce, REG_GOPROC, BIT(GO_SHIFT) | BIT(RESULTS_DUMP_SHIFT)); else qce_write(qce, REG_GOPROC, BIT(GO_SHIFT)); + + return qce_submit_cmd_desc(qce); } =20 #if defined(CONFIG_CRYPTO_DEV_QCE_SHA) || defined(CONFIG_CRYPTO_DEV_QCE_AE= AD) @@ -223,9 +227,7 @@ static int qce_setup_regs_ahash(struct crypto_async_req= uest *async_req) config =3D qce_config_reg(qce, 1); qce_write(qce, REG_CONFIG, config); =20 - qce_crypto_go(qce, true); - - return 0; + return qce_crypto_go(qce, true); } #endif =20 @@ -386,9 +388,7 @@ static int qce_setup_regs_skcipher(struct crypto_async_= request *async_req) config =3D qce_config_reg(qce, 1); qce_write(qce, REG_CONFIG, config); =20 - qce_crypto_go(qce, true); - - return 0; + return qce_crypto_go(qce, true); } #endif =20 @@ -535,9 +535,7 @@ static int qce_setup_regs_aead(struct crypto_async_requ= est *async_req) qce_write(qce, REG_CONFIG, config); =20 /* Start the process */ - qce_crypto_go(qce, !IS_CCM(flags)); - - return 0; + return qce_crypto_go(qce, !IS_CCM(flags)); } #endif =20 diff --git a/drivers/crypto/qce/core.h b/drivers/crypto/qce/core.h index a80e12eac6c87e5321cce16c56a4bf5003474ef0..d238097f834e4605f3825f23d03= 16d4196439116 100644 --- a/drivers/crypto/qce/core.h +++ b/drivers/crypto/qce/core.h @@ -30,6 +30,8 @@ * @base_dma: base DMA address * @base_phys: base physical address * @dma_size: size of memory mapped for DMA + * @read_buf: Buffer for DMA to write back to + * @read_buf_dma: Mapped address of the read buffer * @async_req_enqueue: invoked by every algorithm to enqueue a request * @async_req_done: invoked by every algorithm to finish its request */ @@ -49,6 +51,8 @@ struct qce_device { dma_addr_t base_dma; phys_addr_t base_phys; size_t dma_size; + __le32 *read_buf; + dma_addr_t read_buf_dma; int (*async_req_enqueue)(struct qce_device *qce, struct crypto_async_request *req); void (*async_req_done)(struct qce_device *qce, int ret); diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c index a46264735bb895b6199969e83391383ccbbacc5f..ba7a52fd4c6349d59c075c346f7= 5741defeb6034 100644 --- a/drivers/crypto/qce/dma.c +++ b/drivers/crypto/qce/dma.c @@ -4,6 +4,8 @@ */ =20 #include +#include +#include #include #include =20 @@ -11,6 +13,98 @@ #include "dma.h" =20 #define QCE_IGNORE_BUF_SZ (2 * QCE_BAM_BURST_SIZE) +#define QCE_BAM_CMD_SGL_SIZE 128 +#define QCE_BAM_CMD_ELEMENT_SIZE 128 +#define QCE_MAX_REG_READ 8 + +struct qce_desc_info { + struct dma_async_tx_descriptor *dma_desc; + enum dma_data_direction dir; +}; + +struct qce_bam_transaction { + struct bam_cmd_element bam_ce[QCE_BAM_CMD_ELEMENT_SIZE]; + struct scatterlist wr_sgl[QCE_BAM_CMD_SGL_SIZE]; + struct qce_desc_info *desc; + u32 bam_ce_idx; + u32 pre_bam_ce_idx; + u32 wr_sgl_cnt; +}; + +void qce_clear_bam_transaction(struct qce_device *qce) +{ + struct qce_bam_transaction *bam_txn =3D qce->dma.bam_txn; + + bam_txn->bam_ce_idx =3D 0; + bam_txn->wr_sgl_cnt =3D 0; + bam_txn->bam_ce_idx =3D 0; + bam_txn->pre_bam_ce_idx =3D 0; +} + +int qce_submit_cmd_desc(struct qce_device *qce) +{ + struct qce_desc_info *qce_desc =3D qce->dma.bam_txn->desc; + struct qce_bam_transaction *bam_txn =3D qce->dma.bam_txn; + struct dma_async_tx_descriptor *dma_desc; + struct dma_chan *chan =3D qce->dma.rxchan; + unsigned long attrs =3D DMA_PREP_CMD; + dma_cookie_t cookie; + unsigned int mapped; + int ret; + + mapped =3D dma_map_sg_attrs(qce->dev, bam_txn->wr_sgl, bam_txn->wr_sgl_cn= t, + DMA_TO_DEVICE, attrs); + if (!mapped) + return -ENOMEM; + + dma_desc =3D dmaengine_prep_slave_sg(chan, bam_txn->wr_sgl, bam_txn->wr_s= gl_cnt, + DMA_MEM_TO_DEV, attrs); + if (!dma_desc) { + dma_unmap_sg(qce->dev, bam_txn->wr_sgl, bam_txn->wr_sgl_cnt, DMA_TO_DEVI= CE); + return -ENOMEM; + } + + qce_desc->dma_desc =3D dma_desc; + cookie =3D dmaengine_submit(qce_desc->dma_desc); + + ret =3D dma_submit_error(cookie); + if (ret) + return ret; + + qce_dma_issue_pending(&qce->dma); + + return 0; +} + +static void qce_prep_dma_cmd_desc(struct qce_device *qce, struct qce_dma_d= ata *dma, + unsigned int addr, void *buf) +{ + struct qce_bam_transaction *bam_txn =3D dma->bam_txn; + struct bam_cmd_element *bam_ce_buf; + int bam_ce_size, cnt, idx; + + idx =3D bam_txn->bam_ce_idx; + bam_ce_buf =3D &bam_txn->bam_ce[idx]; + bam_prep_ce_le32(bam_ce_buf, addr, BAM_WRITE_COMMAND, *((__le32 *)buf)); + + bam_ce_buf =3D &bam_txn->bam_ce[bam_txn->pre_bam_ce_idx]; + bam_txn->bam_ce_idx++; + bam_ce_size =3D (bam_txn->bam_ce_idx - bam_txn->pre_bam_ce_idx) * sizeof(= *bam_ce_buf); + + cnt =3D bam_txn->wr_sgl_cnt; + + sg_set_buf(&bam_txn->wr_sgl[cnt], bam_ce_buf, bam_ce_size); + + ++bam_txn->wr_sgl_cnt; + bam_txn->pre_bam_ce_idx =3D bam_txn->bam_ce_idx; +} + +void qce_write_dma(struct qce_device *qce, unsigned int offset, u32 val) +{ + unsigned int reg_addr =3D ((unsigned int)(qce->base_phys) + offset); + + qce_prep_dma_cmd_desc(qce, &qce->dma, reg_addr, &val); +} =20 int devm_qce_dma_request(struct qce_device *qce) { @@ -31,6 +125,21 @@ int devm_qce_dma_request(struct qce_device *qce) if (!dma->result_buf) return -ENOMEM; =20 + dma->bam_txn =3D devm_kzalloc(dev, sizeof(*dma->bam_txn), GFP_KERNEL); + if (!dma->bam_txn) + return -ENOMEM; + + dma->bam_txn->desc =3D devm_kzalloc(dev, sizeof(*dma->bam_txn->desc), GFP= _KERNEL); + if (!dma->bam_txn->desc) + return -ENOMEM; + + sg_init_table(dma->bam_txn->wr_sgl, QCE_BAM_CMD_SGL_SIZE); + + qce->read_buf =3D dmam_alloc_coherent(qce->dev, QCE_MAX_REG_READ * sizeof= (*qce->read_buf), + &qce->read_buf_dma, GFP_KERNEL); + if (!qce->read_buf) + return -ENOMEM; + return 0; } =20 diff --git a/drivers/crypto/qce/dma.h b/drivers/crypto/qce/dma.h index 483789d9fa98e79d1283de8297bf2fc2a773f3a7..f05dfa9e6b25bd60e32f45079a8= bc7e6a4cf81f9 100644 --- a/drivers/crypto/qce/dma.h +++ b/drivers/crypto/qce/dma.h @@ -8,6 +8,7 @@ =20 #include =20 +struct qce_bam_transaction; struct qce_device; =20 /* maximum data transfer block size between BAM and CE */ @@ -32,6 +33,7 @@ struct qce_dma_data { struct dma_chan *txchan; struct dma_chan *rxchan; struct qce_result_dump *result_buf; + struct qce_bam_transaction *bam_txn; }; =20 int devm_qce_dma_request(struct qce_device *qce); @@ -43,5 +45,8 @@ int qce_dma_terminate_all(struct qce_dma_data *dma); struct scatterlist * qce_sgtable_add(struct sg_table *sgt, struct scatterlist *sg_add, unsigned int max_len); +void qce_write_dma(struct qce_device *qce, unsigned int offset, u32 val); +int qce_submit_cmd_desc(struct qce_device *qce); +void qce_clear_bam_transaction(struct qce_device *qce); =20 #endif /* _DMA_H_ */ diff --git a/drivers/crypto/qce/sha.c b/drivers/crypto/qce/sha.c index d7b6d042fb44f4856a6b4f9c901376dd7531454d..9552a74bf191def412fc32f3859= 356e569e5d400 100644 --- a/drivers/crypto/qce/sha.c +++ b/drivers/crypto/qce/sha.c @@ -113,8 +113,6 @@ static int qce_ahash_async_req_handle(struct crypto_asy= nc_request *async_req) if (ret) goto error_unmap_dst; =20 - qce_dma_issue_pending(&qce->dma); - ret =3D qce_start(async_req, tmpl->crypto_alg_type); if (ret) goto error_terminate; diff --git a/drivers/crypto/qce/skcipher.c b/drivers/crypto/qce/skcipher.c index 872b65318233ed21e3559853f6bbdad030a1b81f..e80452c19b03496faaee38d4ac7= 92289f560d082 100644 --- a/drivers/crypto/qce/skcipher.c +++ b/drivers/crypto/qce/skcipher.c @@ -147,8 +147,6 @@ qce_skcipher_async_req_handle(struct crypto_async_reque= st *async_req) if (ret) goto error_unmap_src; =20 - qce_dma_issue_pending(&qce->dma); - ret =3D qce_start(async_req, tmpl->crypto_alg_type); if (ret) goto error_terminate; --=20 2.47.3 From nobody Thu Apr 9 13:33:11 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 CD955426D14 for ; Mon, 2 Mar 2026 15:57:52 +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=1772467074; cv=none; b=ouTFNYKmZzBggcetIsHjn7yQw2KhYLJjw4jgfAtnikgGdKs5uIZ5A2W0Mv+qOxr5VfsNjyjCHVIZII94VPFRMjdv+0Ie7KDnP4yTvsI5Y/sPUoY1MGudd9geCN/91G0wleF1LlhbsiU+Q6DBsFRUFHMo6fAiw6RxowEJ/0ZQ5ks= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772467074; c=relaxed/simple; bh=huNQ1yJ9Jt+LKMpc7zrStUQQmAlHoApmhoOAR8Dvs3Q=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=gVDlboxUq2Md0jMGKzMqvX/GOGe+M+cl01sJy27aAeJS9Dz9eQxtRU4XiZKIIUSND59FC5THilG8OGokC/FD1byM+LWaP6cQ3TyC928Jcng54s+isCb8vbwqau1NGRCt3S1EQETy/gNJVvoDMi+ZtcYKfIawQCDpnc/hGqLFvLU= 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=d19viBf9; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=am90d3ok; 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="d19viBf9"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="am90d3ok" 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 622E0GJN055231 for ; Mon, 2 Mar 2026 15:57:52 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= GTF3K17Z/loG37nN0J9p8Kv0gzEEsdZss3KIPasgllI=; b=d19viBf9cUd5JOsm d/xhsJktuB0bZJ4LhQnmCsU3r8ut0mZSID+FgC9NiO5rJ5Yb63Uibm1a7UVvQ4z/ AzgX45HW1fh1qgqR6mWazVyx17wIUWQ9+/LoQjZ/8uf8JOfMQChH1Q2p0u/xT18u jSJNpyrkS691DqtErOVy0g0iGle5FAS+DzYozD/SITDletOGn0wQlffr7snjKR6C BHafayLzonwo+X2pCE0EH3HPtdge4PvEWkX9Syaf9fO4Gp9+WA5BN607hO+Mi9G3 uKHRs/H3qx11uUudgfkO3Fg6Jb1GYK4j0klNxLat9iyL512dbhyRwMLdknZiCcvg qu2q8w== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cmw64b1vx-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 02 Mar 2026 15:57:52 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-8cb4b8e9112so377147485a.2 for ; Mon, 02 Mar 2026 07:57:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772467071; x=1773071871; 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=GTF3K17Z/loG37nN0J9p8Kv0gzEEsdZss3KIPasgllI=; b=am90d3okPMJsEBwHsvG4U1vy5BNmT9PsLwX1fEWvgbHikttvqQn+XKWkyWYzxMpY9K tI7OLgD46lzSfhEvlmHY5Ir6b0wKpqyB5xgqxisrNHLNpDHrYNVYUzJB8L8VbuQimoKE 3PbDK2FctI3jYpIYYHWJKiazbObVu8G0GM5wPfYhsV7EnsPAC1fpl0hJhTZ5fzqIM3cz mdGWFBaqlUJ3/vUl4aXhiuwpQer+exXqq3PqDS/RmB6GoquqxtR/IyCa+8JfhoribHUW ITs9LLkiI6Fwd8qBv5Q4d+FgyFpZAmac8B+LqHROrQr/CYiPWQMkdN2w2oIMvrBmBy+u JVmw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772467071; x=1773071871; 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=GTF3K17Z/loG37nN0J9p8Kv0gzEEsdZss3KIPasgllI=; b=lSFmY5RuDLMVRFmHIX3JOZn/cE/qL31kZATjQ8frYhfMij/Q5/GaknTw86Q6HZL9q6 tTGcaVn61FGEQMB/TAHcOhXViGXP1J2y+jCwXCa0LJbVp1UVTr9KFwXhDjQYLcVPf4oN m4g72GIxQUjYvf2i6Zu1MqFpS/2ukJTJWwcHJ0Ha2RbrAqAOd5GwIPXP9b6XJQsCal7P whUvwj80b3ugPHvDSdJ1+IvNza2zWYxM8xIbHmAf+peLZZ8UvORjyHnBVxGPIr1DBbXo UohqY/aoXVTYeOy9FyMcA+/R52USINoACUgRU6DN8Yp3MxGvIw75J3ITrr1KFEzUK9i9 PPrw== X-Forwarded-Encrypted: i=1; AJvYcCW8Tfr4jFm8urpyotHT4trObVIqnhJCS6x+AQymm4Gnj15NJC47hnQF3TWkpnRkN4I3ZundXZuFuuIshOo=@vger.kernel.org X-Gm-Message-State: AOJu0Yytk8Gnmuf09k+ImvAM9+Js9l8JnEYu5a3Hr6TuNTleDzgR9Qp2 +aXveeBIBRYJMCvq2PxOMlMbu85XR1SScEjZ6SorY2y5olGbOHQMwsthftzZOIWFUzC8M6/7jRm 45HUKEbbwNco0mkqrk714nf8Lj2lo+VJZqGL8tdfx9dC/57dsgykPXPf4Zjnkqhp7H3c= X-Gm-Gg: ATEYQzwILbbrb3/i61wFqXQYRXa9ry3UImdEvdv2pE0QznsVdJGPr634S1Y1PMbq/v9 E88LW23x3xa+8iQgonvI+cUofT8PixfISdwzhB0uQH1zLGgAVcHVrl443ZRIT60qwD+a1L46AO+ LuWErDdNPhsNUYkpDdXPVksiUD0DsbTkqIB2WkJeuny+eFpHtsUJ1ripiLTaveioVlWbWgJ0gEN 1CnSC1MU6An5TtCIrWafIHWbpz+8F9iTujtMg8b6hYY6aRjc79kVXmiKbZx2gLYseMaLM0gDKjN Sy6t5maA0S6sz7bzHAyeizceOHdj1MwKp7qhCvq3LiZaB4icSq4tVLCJSXaVq/9l1BGOQL97fFR jGdM9BLfEIXd2zX86+y9rkLGIg9T9AYI9H+CijWFA9I2E2lLO91F4 X-Received: by 2002:a05:620a:2a16:b0:89b:9b75:f5f1 with SMTP id af79cd13be357-8cbc8f1564emr1570334485a.53.1772467071032; Mon, 02 Mar 2026 07:57:51 -0800 (PST) X-Received: by 2002:a05:620a:2a16:b0:89b:9b75:f5f1 with SMTP id af79cd13be357-8cbc8f1564emr1570330785a.53.1772467070508; Mon, 02 Mar 2026 07:57:50 -0800 (PST) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:87af:7e67:1864:389d]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439b41831easm11282438f8f.12.2026.03.02.07.57.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Mar 2026 07:57:49 -0800 (PST) From: Bartosz Golaszewski Date: Mon, 02 Mar 2026 16:57:20 +0100 Subject: [PATCH RFC v11 07/12] crypto: qce - Communicate the base physical address to the dmaengine Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260302-qcom-qce-cmd-descr-v11-7-4bf1f5db4802@oss.qualcomm.com> References: <20260302-qcom-qce-cmd-descr-v11-0-4bf1f5db4802@oss.qualcomm.com> In-Reply-To: <20260302-qcom-qce-cmd-descr-v11-0-4bf1f5db4802@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Daniel Perez-Zoghbi , Md Sadre Alam , Dmitry Baryshkov , Peter Ujfalusi , Michal Simek , Frank Li Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2503; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=huNQ1yJ9Jt+LKMpc7zrStUQQmAlHoApmhoOAR8Dvs3Q=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBppbNqkO+K8MdcaL+Iq6maaBsACCQxJZeE48tEz jQGa0foWVqJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaaWzagAKCRAFnS7L/zaE w1yxEACN61b2eBwGFN4Xz7RuHV8ss8EeNNW/vq2TM6zZ/jPXhTyII117kppB3b5qNpaGJz20GnK dWRcJ1pJfW7u6bbtUcWyWNYrLj6MsB7qIUUqsE05hJMDxoCgUgCjLudN061h7/2pSF82wKsZTh5 vkS4PdlDZuq096UVrubrkJX7nTZTERvO0Gr+qrUIDSKTysJcO3aZego6U41L0+ENNLYsviQgSIT qCAb0F6j5z8VZLVIOUDslPf/fC24OaG1c2fHMlNmvRHX/Fy1JzCYIW1z+ozscoG6iBFOBZ92mB6 y4oLivD/Uh/AnB9gjkXUKQ2yG/1kNfXyT5ypqgrYWRZ4WFqcyrySrCWMQZ1Ja5lIDzbaw9tYAXC Op7zvDq+Aqf2NqKG0i72xBTtdUHsA5ha9D5mcOfppMIdC2IScKvMB7MUFDtp3DKiQy1WHeIzeUX uCSHJ+CJw/qTH6D5yh0ij5kS4ZLEm30P6Ok933D3NY/Ba2yOEj+MxC18vhWK11z4XN/zzSJ03Ve cf5JH7UXZnz3dmamrVE08YCBAqLX9pKTjvZ+Y8HVz5klOWx+dZ4YVfVF5DGrmH1YxS/h2wiLBz0 7a4hRu1ACC15yEpuj7qc7b6Npve2UzyhgUQxfXUlZ2L6RR3chm1ccSZaF1NEtNWoC1PzPz3Qjeu 0qZ0jHqMtB27R0g== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: 8BJOM-bJVobDTHaHOKiFqKNOVhx4E3mR X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzAyMDEzMyBTYWx0ZWRfX5hXGR72rIH4i PMJqIsyXar+7t8apUky8/PFyOac2Alh1PvrIRfPRQ2sozA37mgwJAjeJpyGip1+6Ax/YgHzTdgO rI3XN4fskKYgKgq7libHBNSZ62LOUBFlVmqhNApEZkqVRhg0rQ7dHPa8SBrOx4v8MF7UcJiTfPd 6jEQTltciWxWdbzr482m51DjXmYX2ZqdkjO2OHIwOctquqCWVCPEqPQWjdA5/JfIz0p1+jsyjMc za54gpf1qnxDl/tXMfrHq2YOZ3Dv+fZ1kbNjfV5OKN0Bj0knIAg6bThkexe0/0YGtI6LGySUop5 Y3xhjNhnDsE15n6x7b3RrMcUyPTHbgq4Ss7bUm1pkneGiRIb2k/IeCfRUBL8nV64/8OwAN1jXUr GeS/quF7XKxB1fbO3BnLd1zx7HdnypyHqLkS3ofE99AoCuCvYNZy2rEhJAZOkiu/u2LXefDPkDy PpyoFq3unaFI87Wx6UA== X-Proofpoint-ORIG-GUID: 8BJOM-bJVobDTHaHOKiFqKNOVhx4E3mR X-Authority-Analysis: v=2.4 cv=I5Vohdgg c=1 sm=1 tr=0 ts=69a5b380 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=EUspDBNiAAAA:8 a=mwBPi38BU94uBFWovtUA:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-02_03,2026-03-02_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 adultscore=0 priorityscore=1501 lowpriorityscore=0 clxscore=1015 phishscore=0 impostorscore=0 bulkscore=0 spamscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603020133 In order to let the BAM DMA engine know which address is used for register I/O, call dmaengine_slave_config() after requesting the RX channel and use the config structure to pass that information to the dmaengine core. This is done ahead of extending the BAM driver with support for pipe locking, which requires performing dummy writes when passing the lock/unlock flags alongside the command descriptors. Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/core.c | 3 ++- drivers/crypto/qce/dma.c | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/crypto/qce/core.c b/drivers/crypto/qce/core.c index 2667fcd67fee826a44080da8f88a3e2abbb9b2cf..f6363d2a1231dcee01768241353= 89c42bec02153 100644 --- a/drivers/crypto/qce/core.c +++ b/drivers/crypto/qce/core.c @@ -211,6 +211,8 @@ static int qce_crypto_probe(struct platform_device *pde= v) if (IS_ERR(qce->base)) return PTR_ERR(qce->base); =20 + qce->base_phys =3D res->start; + ret =3D dma_set_mask_and_coherent(dev, DMA_BIT_MASK(32)); if (ret < 0) return ret; @@ -260,7 +262,6 @@ static int qce_crypto_probe(struct platform_device *pde= v) qce->dma_size =3D resource_size(res); qce->base_dma =3D dma_map_resource(dev, res->start, qce->dma_size, DMA_BIDIRECTIONAL, 0); - qce->base_phys =3D res->start; ret =3D dma_mapping_error(dev, qce->base_dma); if (ret) return ret; diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c index ba7a52fd4c6349d59c075c346f75741defeb6034..86f22c9a11f8a9e055c243dd8be= af1ded6f88bb9 100644 --- a/drivers/crypto/qce/dma.c +++ b/drivers/crypto/qce/dma.c @@ -109,7 +109,9 @@ void qce_write_dma(struct qce_device *qce, unsigned int= offset, u32 val) int devm_qce_dma_request(struct qce_device *qce) { struct qce_dma_data *dma =3D &qce->dma; + struct dma_slave_config cfg =3D { }; struct device *dev =3D qce->dev; + int ret; =20 dma->txchan =3D devm_dma_request_chan(dev, "tx"); if (IS_ERR(dma->txchan)) @@ -121,6 +123,12 @@ int devm_qce_dma_request(struct qce_device *qce) return dev_err_probe(dev, PTR_ERR(dma->rxchan), "Failed to get RX DMA channel\n"); =20 + cfg.dst_addr =3D qce->base_phys; + cfg.direction =3D DMA_MEM_TO_DEV; + ret =3D dmaengine_slave_config(dma->rxchan, &cfg); + if (ret) + return ret; + dma->result_buf =3D devm_kmalloc(dev, QCE_RESULT_BUF_SZ + QCE_IGNORE_BUF_= SZ, GFP_KERNEL); if (!dma->result_buf) return -ENOMEM; --=20 2.47.3 From nobody Thu Apr 9 13:33:11 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 B30EB426EBF for ; Mon, 2 Mar 2026 15:57:54 +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=1772467076; cv=none; b=Ah/w9foyoUzyC9EB+TSy4GThrq5uyXmSbLeuveJwPqvx0OSxRJDDDOQ5qdS+royu38Zkd8iT9f8lOTomMn5Yils2JBM6Asr/4tpsO5I3255G+Y+i0yyYmoOQdJJhmjWGcx0CG/G2VY7G2sBmfkvKG+VAjhxjWDLabIFdXl4nfqs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772467076; c=relaxed/simple; bh=aUMoNrCGDXfli/Niiqe45turoruXO4WeijyijWZBwgw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=dXyDE/pVAIHJ05quM/O9d7H+O312BBO057TuePP6oQ/eEf96QKwPPKUq1ykxNbbfyNTTmAhzYUZmtAIemmmVZNAeWWyaXbJqdy2L6ImrNA3nRakEvYWjSGHVnRnk8h4f8P2f5LBYGyR2dJMqmY/40LIj32Dph0v1ypopJKr0kRU= 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=lLQlqDBd; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=HzGSeRe6; 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="lLQlqDBd"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="HzGSeRe6" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 622B3eqW3862845 for ; Mon, 2 Mar 2026 15:57:54 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= YTHMQ74pG40cf2TThEo/dQpxpxcnmIMpmWq++2akSHc=; b=lLQlqDBdv9RwvqME yBGs4nQ6md19yry3vx53hoMA4iTI9D8LDJOVvquidw7pWr3C2ACNmXVLaTfNATg5 K4cb2Kep8d/g1SriXpAxFJdiCbo0mWaNY2/vtBX1GznM/B+0tg14MTiOVjSL1LJN pEfl8m0iJsNPcrwc59+ghfgorhlVSTz4WWokjTKdm1HkweluaexxwOjoBQw+2l+l b34TSYBe9e/9EedeqQd0H38q896cYJ3osgHbDBa6NhsmwFmQCZj3k5MZBAZ656ST cxTkGPK/fijtah67StX2Pi26fFUNUT/lVSRrVjl1q6jcd3wsE5CX8Sw2g5GLgsHt goyObA== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cn9bjgyh8-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 02 Mar 2026 15:57:53 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8cb5359e9d3so3751806585a.2 for ; Mon, 02 Mar 2026 07:57:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772467073; x=1773071873; 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=YTHMQ74pG40cf2TThEo/dQpxpxcnmIMpmWq++2akSHc=; b=HzGSeRe65rAc3rY5DoBboEu6v+ZrxvFNAiJ27ZY3yPwTVcZfM1LGnxqMnw5H+q9I0K tulZdypi8o3eENMNA+A93liZJyqW5RgCAbqNhmdHqiWi3+Xxv5/VtllmjEaTHP/9YR5O LQjKu2pFiEpqr8lV9pxaTiuu3HXEzbByu58ynsyydf/gj7PS7oUoQGR6RlMsJI90b9yF n6JwIMtECkPOwrnrCVDeSvijSR5IS3u4DsWGlRLMvWagRathbljn9IQaUOt9eVpmZzAY DBiXZLei5ZMo29peaNklkZ+KlqTJghTzrHF3rF5DP1NPsVzO4sNuYajbihtegBI4a03M 0zYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772467073; x=1773071873; 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=YTHMQ74pG40cf2TThEo/dQpxpxcnmIMpmWq++2akSHc=; b=JXMRxMbJhokheIuTqbJr9gMDA7YWRqIdkuhN4TZibgKbmCim2phn+Q+OyC9QPScZiO c6xdzVUlJv2jrabeEnch4GLolXDLOzPuJiDCtEMLonQJd2to0r91hhox88SIHuWtX3kK BbpABFIcq5PVuZyb3aEpYYw6EKgBn5OZWT+UTbdy4+fbnDmg6+D+ZCHbjPBBlhbzGx25 e15jvWAZIp7Qfw3FVUH2YqXzHbP5vIMtd1LGnsLeOmXN64GjfegtE7WnIEFWE/tqp3Jk 2hpqiIXBaxsyQBRDaRIuLoyAyFWIHDFOlKdRQ1q2OG2hlDrzeeqaB04deXxnqB5MRYod /oLg== X-Forwarded-Encrypted: i=1; AJvYcCWoz2mk55SWsnDh6DtYj9IP045MKE/2jS3EXXHzkbd9yIyOfX7xZSyjeJ1zGQWjKMCwuTF1R+XYt16c5c0=@vger.kernel.org X-Gm-Message-State: AOJu0YxOg8FFbeuEnyLV2Gdo1k7PHLSmwMVoCSCH0LliMdBdr2i/cjFK 8Hv6I/DonF4VSbmFpyvFhX+la5PIYE3gUQu2SRKD9Tt0/FughMPs34VziR6n/i6NAjcS2n6Flw6 ww4btdM7gXjx4RAD1aCDbkjxOUyhy8hJ5nHkmBloEpcVGpuCTj4kKDu84+8MQvdCKYjY= X-Gm-Gg: ATEYQzxI9MNii/v5hJPUQLSkexUgA7qW87s9zfspmUbdB5A9usvlO907/mOS/q1pKCu JYxULsbNbjn7nYHOswVoW7X0YCyqX+ICoBY/Ib4cKP9+W3jzpQp6ROb9SGQthFQTIhwYkB3qGV0 BL9ROyQPuwaPyEueqzXPj3kZMNh1PIQoDFD2lB505BAyPpBP23oZ4gL+ceoSBtqHWvDu88qMELa RvcFdbeKg/BCVTw9tD/HQT0PfbmBE05vxPwnwYD1YsEH4XLEs+AUoURDE9pFU3kFVa0a+9OB+a2 7C2VPipS/Lm747vxDN5W/Qh8NU6e6rwaZ3vryPakmIpn3xDZwZixonCRfmqOORRazZYHRRWKmk1 34/5KZGaGoIpypGnKBqUOK7i6dICLL9BLKnfYFKdenMBiAM2ETXCg X-Received: by 2002:a05:620a:2989:b0:8ca:ffe3:3d3b with SMTP id af79cd13be357-8cbc8d29be0mr1478734685a.0.1772467073167; Mon, 02 Mar 2026 07:57:53 -0800 (PST) X-Received: by 2002:a05:620a:2989:b0:8ca:ffe3:3d3b with SMTP id af79cd13be357-8cbc8d29be0mr1478730185a.0.1772467072663; Mon, 02 Mar 2026 07:57:52 -0800 (PST) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:87af:7e67:1864:389d]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439b41831easm11282438f8f.12.2026.03.02.07.57.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Mar 2026 07:57:52 -0800 (PST) From: Bartosz Golaszewski Date: Mon, 02 Mar 2026 16:57:21 +0100 Subject: [PATCH RFC v11 08/12] dmaengine: constify struct dma_descriptor_metadata_ops Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260302-qcom-qce-cmd-descr-v11-8-4bf1f5db4802@oss.qualcomm.com> References: <20260302-qcom-qce-cmd-descr-v11-0-4bf1f5db4802@oss.qualcomm.com> In-Reply-To: <20260302-qcom-qce-cmd-descr-v11-0-4bf1f5db4802@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Daniel Perez-Zoghbi , Md Sadre Alam , Dmitry Baryshkov , Peter Ujfalusi , Michal Simek , Frank Li Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2241; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=aUMoNrCGDXfli/Niiqe45turoruXO4WeijyijWZBwgw=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBppbNrTjy/ojBhX/ZFgmg4UwznZqz412Fh06ExU MrjXRXycaKJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaaWzawAKCRAFnS7L/zaE w0UaD/4kKdICehR+EWUpEJ7Xw3Pn+Zs4aSTYcrf87riNyI4MzlhCH9lalV+/4BgyrQyWXL9jTIY E6LoPKCUQ+NdQNJ2vGxj+QpJpzJ6UccaNpN6ZUZK0rvts+QJ8QaXx3X6RBZmGgZOHe0cwxhBUWl aNraBhcjruZNqcafqUeryEjGqOqg+6rsfB0md5jISCrvM1Y3HPo3HeFT4vWipDT1qGnWh1u3rJN lMvE4e4OSeXuVXrB1TRCawmTN+F4B/3fWGKhTlSIvZoMPztvk3zPaBlI9x7CXKara6Ar0G9nUq5 egR+gTGfmAmxqNojshzYdq4A/ok0vrNoZInhe4AR885iaIaBZukm1rbb+Egd8oOklSzOi1HMGv5 OH1ZH+ZBRpeJcK71LxHRL3gLkkiwa4KnaLE45jL+8z2bRwGPN+RHc4vgkcmErEOWZFmN8X1YSQz uWCzc5urAtYMJXBFGkovaLpeEELBflXDQeQOpVyAQwdU6C+D0ln4C2Lftlu+zDhSw2+UuBe+WxK Rj4TxlDts1Enx2YFfESAsXxdfCIlJm6f7FsF0TEJAWdkm98ziV65XXVDtbT37J+NWU6OQMbGoqv aG4PjmKvoMvJz2sNe35Bw+OcH/MrfkY1SS0ewx3s0n6kx79xujbAi+fo01EvBPTKRt2vGywy5kM PO6CirSIe6kREYQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=Pe7yRyhd c=1 sm=1 tr=0 ts=69a5b381 cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=XeVHrwws4l7kqE2Ex6IA:9 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-ORIG-GUID: PCthifv2PZ8qENssRStb6j5AWNdmqD-e X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzAyMDEzMyBTYWx0ZWRfX8TekvYXMFydK dMp/q1Mw06frgnjtRplnfgsybtUbKCKdjV15sKW3JrPK/iNxZumgY5ts5nPP5bkA/1GlN7hWYBK MF8NdWfu51EKcdBtjoBLXo7O37A4T6mhWFJJSAFvhQ/j3BofwYgSun4snnuRm++EOp3PnLQtQMD 6eTTxV6xSWte/9tTZC8NoWsj8E9pQWVgJaY653JZ0iplbe5folsSp+7g4vG7oFCdKBvzmjRNc1D /QvBSb64kdrdLKhTTAppwJ7fZOSQ6QJjBm8iuOfV+qprO+Q2mV3sAXf+AWM2qeRx3KSlOthGl/q FUwvhsv5TqbDT1ZaxouIAyBUPDSxtqpG3llaOFRmkzzICW2imREXvEp0pPCOpptYahTEqGByt8i x3vMseFc4UNYlNPkMyJPe4KVpVg7OMf0nInEvWnkpE6ngbM8fGK03yoHgy+UnLlqF7AfQ1QQMWw QSK8brYIE3PJX0CZlzw== X-Proofpoint-GUID: PCthifv2PZ8qENssRStb6j5AWNdmqD-e X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-02_03,2026-03-02_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 suspectscore=0 impostorscore=0 priorityscore=1501 spamscore=0 adultscore=0 bulkscore=0 lowpriorityscore=0 phishscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603020133 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. Signed-off-by: Bartosz Golaszewski --- drivers/dma/ti/k3-udma.c | 2 +- drivers/dma/xilinx/xilinx_dma.c | 2 +- include/linux/dmaengine.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/dma/ti/k3-udma.c b/drivers/dma/ti/k3-udma.c index c964ebfcf3b68d86e4bbc9b62bad2212f0ce3ee9..8a2f235b669aaf084a6f7b3e6b2= 3d06b04768608 100644 --- a/drivers/dma/ti/k3-udma.c +++ b/drivers/dma/ti/k3-udma.c @@ -3408,7 +3408,7 @@ static int udma_set_metadata_len(struct dma_async_tx_= descriptor *desc, return 0; } =20 -static struct dma_descriptor_metadata_ops metadata_ops =3D { +static const struct dma_descriptor_metadata_ops metadata_ops =3D { .attach =3D udma_attach_metadata, .get_ptr =3D udma_get_metadata_ptr, .set_len =3D udma_set_metadata_len, diff --git a/drivers/dma/xilinx/xilinx_dma.c b/drivers/dma/xilinx/xilinx_dm= a.c index b53292e02448fe528f1ae9ba33b4bcf408f89fd6..97b934ca54101ea699e3ab28d41= 9bed1b45dee4a 100644 --- a/drivers/dma/xilinx/xilinx_dma.c +++ b/drivers/dma/xilinx/xilinx_dma.c @@ -653,7 +653,7 @@ static void *xilinx_dma_get_metadata_ptr(struct dma_asy= nc_tx_descriptor *tx, return seg->hw.app; } =20 -static struct dma_descriptor_metadata_ops xilinx_dma_metadata_ops =3D { +static const struct dma_descriptor_metadata_ops xilinx_dma_metadata_ops = =3D { .get_ptr =3D xilinx_dma_get_metadata_ptr, }; =20 diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h index 99efe2b9b4ea9844ca6161208362ef18ef111d96..92566c4c100e98f48750de21249= ae3b5de06c763 100644 --- a/include/linux/dmaengine.h +++ b/include/linux/dmaengine.h @@ -623,7 +623,7 @@ struct dma_async_tx_descriptor { void *callback_param; struct dmaengine_unmap_data *unmap; enum dma_desc_metadata_mode desc_metadata_mode; - struct dma_descriptor_metadata_ops *metadata_ops; + const struct dma_descriptor_metadata_ops *metadata_ops; #ifdef CONFIG_ASYNC_TX_ENABLE_CHANNEL_SWITCH struct dma_async_tx_descriptor *next; struct dma_async_tx_descriptor *parent; --=20 2.47.3 From nobody Thu Apr 9 13:33:11 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 666234279F7 for ; Mon, 2 Mar 2026 15:57:56 +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=1772467078; cv=none; b=BZN0otdf+4fOcfpeyVdRpGY80Sv4B8x73MmLEWXGaccnofl5swSSfMyNKdnrdjIoH4OIr7Yi0AT2l9vqCBM9yacA1lOh+i/tx8T5TeVWDYs8gjvRu7/aAmvjNnQYsW6Fjxr3sJVotH7a46lb1hqBoF2o9aQ7oe5dQAXXqwfo2Ps= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772467078; c=relaxed/simple; bh=ZjTo93puqxgLaTUXkUuT1EliesGs2ukWThDJ46ZWj64=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Io1/CvdtqA84oqnGkZP9g54tyr4cqZ9vfRD+RbrlgqZssAiQpyNUo17OCrgJpRmAX3TEjMf6g5+Oao91ICBLTtTDvX0AtyOx9Mw1Prb/BBg3c05i16q/3K4i9NgnNxE8bXBWlbHN3rN6McxsnuBHhP5zAqkMn7bQl8qaMhJXLWk= 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=bj/lDlIf; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=DpXv0vbS; 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="bj/lDlIf"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="DpXv0vbS" 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 622EltLQ2048909 for ; Mon, 2 Mar 2026 15:57:55 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= FqTHsx1l1/9oEj5e3q2mep/esitBtih9Ht1cGIH4yFE=; b=bj/lDlIfTCoGy+il wTHLVJDnEZjglMVroeRiu4IlDmfvZlBnEN6tV/FFHa9mvQfi4tftG2kZdFw4odOB QHgC/A2Vc754f5mItYFovLT4Qoy+82ZYq1zKVuoN9dZvVl3LxaBT6Ope4N2uTDWI S964HuUTfamMVKabBkPMJmdm8Izb1Vbww7Gbwg3BNVjP6vSGiIXbbb16EDuINInW +7DmTHUjq5ghEUTOwi4NiGZyOj7/6iZanBXbOlhPoMxGIFrnZPt5IQ/4tOUxu9i1 RXsdzkl66aG3uihpAdqqoHzXYB0KCjwCnMWFLWiR7QiDNJxergdycS2xSerGAttz YES+/Q== Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cncmfrajt-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 02 Mar 2026 15:57:55 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-8c71655aa11so5143912285a.3 for ; Mon, 02 Mar 2026 07:57:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772467075; x=1773071875; 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=FqTHsx1l1/9oEj5e3q2mep/esitBtih9Ht1cGIH4yFE=; b=DpXv0vbSG8JOeJcMtDeom5CHCYTB3lOn04GYqGrp4Y4cjajbgAkfumNkAsCX02DUrE JOigFyUNY3RfMMUWQc53Xq4n1ihxucDC44XfQtFkRjdtJNugkc6q/+UYdZboMnblAtnY A6LWue6Juw1uTraWR/bid6hX/d+Ggv+yeWmqh9KDo4kNBT1AR4yNjGhqbzyDV/NtILn5 D39oUb0xrRW2o0Hdj8BYmu482pjymfSwfjssYC76Z6O06lZ2XCRlBaaqiV1AdcaA4Gih jCaJDEfpXrDqnR47GxTydnyTWHU6ahI9uCUL7i7rmKe5wHcWwXf50xnym8tHuMDvT2eO 2aOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772467075; x=1773071875; 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=FqTHsx1l1/9oEj5e3q2mep/esitBtih9Ht1cGIH4yFE=; b=SjrjR72n+GEyxV06UxbUw8qfZwm4+J0lp/CLDtIWbmjVfOP5t/sRIT/LZFOcliguXq cSIxkWzgcTZ2hjLH4wE+YzBTgGTuBGNn2R9d7frC4t1Fv7N9BlorUlgkrAXhJB8VQmIz UqCFoP315zl5+GtbXDJ5gvGPvIYXqKYA5KqHVHL6teq6RJvbB9Mj6YikmAjWJ1xu51Ag QeB2TQ2ZRMfp1QlB2Jtj2RwhJqoQpEcjnqHo5WOvTh96GvuYkFSxbOyfDyYttQBcggla 57cnfESGRbfgZ7ueayrgrCtCA+QC6piPc238/D79ZUmNpClscZY6vGDLZeXzjzmD+GDi +j1w== X-Forwarded-Encrypted: i=1; AJvYcCWCW73VKq0MAJgoqxOr6fod2FViz8kO5BWQOqHunOGQkvwf4xtFi8dzpku9e5aA/NbI5OVe3+RugdI0zNw=@vger.kernel.org X-Gm-Message-State: AOJu0YzubjDUHfjFV+dFVDQSgKKm7paxPv6dqxPlLWUCtV85+busvOY7 wiWvF3jRR8LJpHbnaw6IDmS2jWp1Zm06LHPYHlf03vaDoPt4fmYFk9OqX6fux3EzABE4xM87F2K sWNTJdA0IFG1iyMWt8/wd0e1rBnKFGpUDTgZ0sKcKbcy6/jZ3rXFzHAznORrw1nHn0jU= X-Gm-Gg: ATEYQzwSmBQg+nvqYWqeXBc93WM9W28YHDorIY8FiOd0Lc7lwFuIQY44nH3+TaQ+rJc dD148O5jrYz7A0igPoM04cczeUtsqXVl9lM0xwS+BvW9xBCWHIut929+eHHYsxboNXtrVUshgbk eXY+EIw6P88algQaf+b5BiIiPUGAqr5qyWnSr7G5za7yG9uI6QRsF3TeLiM5Bwu2nTNvygMuTHL 2GXAHhlPk5adXw95zeJ0SLNsl595Op0SJF8MZnB3I8HkuTtwepryeSJolsgorMa+0GrrJpMk/ub w1y7Vr89H6fNE0Y5bxAXpDtceAlG8u+hbnm7ZH/7VzKqwNXvlAHtcHRn8DxdRs9DHFSL96tM4dH WmQF9SkRRrStrZlQqCWUda0w9n/dPOC5YyDLex7qDw9OUo223qgCq X-Received: by 2002:a05:620a:4543:b0:8ca:3d7c:e74a with SMTP id af79cd13be357-8cbc8e6996amr1438252985a.56.1772467074775; Mon, 02 Mar 2026 07:57:54 -0800 (PST) X-Received: by 2002:a05:620a:4543:b0:8ca:3d7c:e74a with SMTP id af79cd13be357-8cbc8e6996amr1438246985a.56.1772467074240; Mon, 02 Mar 2026 07:57:54 -0800 (PST) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:87af:7e67:1864:389d]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439b41831easm11282438f8f.12.2026.03.02.07.57.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Mar 2026 07:57:53 -0800 (PST) From: Bartosz Golaszewski Date: Mon, 02 Mar 2026 16:57:22 +0100 Subject: [PATCH RFC v11 09/12] dmaengine: qcom: bam_dma: convert tasklet to a BH workqueue Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260302-qcom-qce-cmd-descr-v11-9-4bf1f5db4802@oss.qualcomm.com> References: <20260302-qcom-qce-cmd-descr-v11-0-4bf1f5db4802@oss.qualcomm.com> In-Reply-To: <20260302-qcom-qce-cmd-descr-v11-0-4bf1f5db4802@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Daniel Perez-Zoghbi , Md Sadre Alam , Dmitry Baryshkov , Peter Ujfalusi , Michal Simek , Frank Li Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski , Dmitry Baryshkov , Bjorn Andersson X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4367; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=ZjTo93puqxgLaTUXkUuT1EliesGs2ukWThDJ46ZWj64=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBppbNsLhK1j9d23E6BouMmy1Syjsq/SkCH3Y7D9 L29Yuvs3B6JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaaWzbAAKCRAFnS7L/zaE wxc6D/9IklHZUQkEAv7VtBKbEDjVJALH+W3s5NCnKWr7mjlYx01tUTylRIQydShsUtgX8iDbSnw KBKkdLu53Ey9b/5TcmdohP/R/QA94LyqnxChaXGpK2iIhKsNSfBBVxZnYCTR6/eYxSYkOpe7W+W 4/g2fYUqgt5LHy95b92BzCuQLOPmvJtkscBVBnm8xDVo6mIR8dbnVib9rWjUXJdPO58iU76aFiW VQG228PnWm/7IKpeEwOWBo7mqjNBloGnQbslE8guY0vZgQZOI1GxRu7i+B/4fJ5ujSBqBZzy4OH oYeSzBxqP4GtJBCUUwHN5/TTdVwl+tJdskbauS604LrGvUKTR7Iv6VeAh3TPHL10eZ0zDXcVeII v0l6ypHc7kE6N6jXoDHPGmdGKF5uEDf+40WB8pxg++ZizdL1c5Ui8+M6im0m1+wRnbahiGl+MbS h/eXoYqfNa7pGBUUpP5I7zYEMJaP2h8u9Qtleyyx3m1ihJHGqQNH7Qii7TTFT41EkPpKp2orrqy xPivIDR5fwN9Wr7ZRe25PLYwUfrViCqZJWA0eFhTKxU+gV260LvZ9wHadoNk58Oi/atD2AGTE4/ g6Ke66o6ICLtq4ubEVDC1iHX8mgXIImhcxP7/3QEyQix0T5U4xVdIuNeNu7WWJY09fFMQje+b++ CvOtNPLiNbuqAZQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=Br+QAIX5 c=1 sm=1 tr=0 ts=69a5b383 cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=KKAkSRfTAAAA:8 a=u-biHsxzOdRIXVMzAPsA:9 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: IuExXgc5fhL20JEKDEsaaWK3AtHpoHyK X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzAyMDEzMyBTYWx0ZWRfX0AsdOJhij44f 1WT0+4ItgbuIfYmsBNjnlxo0bZn2paNaMAAYeYoXVMw74KjQaHM8EgGcL9PsjDSGe/hfUZ1SnkG XQ0Vm6NIwNBqoKNYnvJX7p6r6mYWi0HIfDN0kwq6aNQDOlOgapqV5wox+PP1nZDbPQcAP1Oe3Sk oTIlydnHabjsqY5eratJBvtmC3b3lQdPY/BxCTQj8MZvChJrCHJZR9gOWP4LVyyxjpNUcfIfCiG 8a0EB+Nx3nvB/PLFxdhx0q+qik93wlPlRlXxq7uJ2SuH3MEYolEWtmQ5lyWtTo5y7CJyT7nyYEI xHxSPcpr292w7/mthq17PZUDWKfpT+bCxllvm49Py30wDn6FuumE2XUwM0YyXvPtgzM92JXiYoE jy4xiTuBdekmcmNebTeiVn7OGRZePIpSY/IdO7IcRhT/xzvPWC00tcIn0dkTn6A0X//Mjgs6FZT 1jM/GgJuN21v0IZUcQA== X-Proofpoint-GUID: IuExXgc5fhL20JEKDEsaaWK3AtHpoHyK X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-02_03,2026-03-02_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 malwarescore=0 clxscore=1015 bulkscore=0 spamscore=0 priorityscore=1501 adultscore=0 lowpriorityscore=0 suspectscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603020133 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 Signed-off-by: Bartosz Golaszewski --- drivers/dma/qcom/bam_dma.c | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c index 19116295f8325767a0d97a7848077885b118241c..c8601bac555edf1bb4384fd39cb= 3449ec6e86334 100644 --- a/drivers/dma/qcom/bam_dma.c +++ b/drivers/dma/qcom/bam_dma.c @@ -42,6 +42,7 @@ #include #include #include +#include =20 #include "../dmaengine.h" #include "../virt-dma.h" @@ -397,8 +398,8 @@ struct bam_device { struct clk *bamclk; int irq; =20 - /* dma start transaction tasklet */ - struct tasklet_struct task; + /* dma start transaction workqueue */ + struct work_struct work; }; =20 /** @@ -863,7 +864,7 @@ static u32 process_channel_irqs(struct bam_device *bdev) /* * if complete, process cookie. Otherwise * push back to front of desc_issued so that - * it gets restarted by the tasklet + * it gets restarted by the work queue. */ if (!async_desc->num_desc) { vchan_cookie_complete(&async_desc->vd); @@ -893,9 +894,9 @@ static irqreturn_t bam_dma_irq(int irq, void *data) =20 srcs |=3D process_channel_irqs(bdev); =20 - /* kick off tasklet to start next dma transfer */ + /* kick off the work queue to start next dma transfer */ if (srcs & P_IRQ) - tasklet_schedule(&bdev->task); + queue_work(system_bh_highpri_wq, &bdev->work); =20 ret =3D pm_runtime_get_sync(bdev->dev); if (ret < 0) @@ -1091,14 +1092,14 @@ static void bam_start_dma(struct bam_chan *bchan) } =20 /** - * dma_tasklet - DMA IRQ tasklet - * @t: tasklet argument (bam controller structure) + * bam_dma_work() - DMA interrupt work queue callback + * @work: work queue struct embedded in the BAM controller device struct * * Sets up next DMA operation and then processes all completed transactions */ -static void dma_tasklet(struct tasklet_struct *t) +static void bam_dma_work(struct work_struct *work) { - struct bam_device *bdev =3D from_tasklet(bdev, t, task); + struct bam_device *bdev =3D from_work(bdev, work, work); struct bam_chan *bchan; unsigned int i; =20 @@ -1111,14 +1112,13 @@ static void dma_tasklet(struct tasklet_struct *t) if (!list_empty(&bchan->vc.desc_issued) && !IS_BUSY(bchan)) bam_start_dma(bchan); } - } =20 /** * bam_issue_pending - starts pending transactions * @chan: dma channel * - * Calls tasklet directly which in turn starts any pending transactions + * Calls work queue directly which in turn starts any pending transactions */ static void bam_issue_pending(struct dma_chan *chan) { @@ -1286,14 +1286,14 @@ static int bam_dma_probe(struct platform_device *pd= ev) if (ret) goto err_disable_clk; =20 - tasklet_setup(&bdev->task, dma_tasklet); + INIT_WORK(&bdev->work, bam_dma_work); =20 bdev->channels =3D devm_kcalloc(bdev->dev, bdev->num_channels, sizeof(*bdev->channels), GFP_KERNEL); =20 if (!bdev->channels) { ret =3D -ENOMEM; - goto err_tasklet_kill; + goto err_workqueue_cancel; } =20 /* allocate and initialize channels */ @@ -1358,8 +1358,8 @@ static int bam_dma_probe(struct platform_device *pdev) err_bam_channel_exit: for (i =3D 0; i < bdev->num_channels; i++) tasklet_kill(&bdev->channels[i].vc.task); -err_tasklet_kill: - tasklet_kill(&bdev->task); +err_workqueue_cancel: + cancel_work_sync(&bdev->work); err_disable_clk: clk_disable_unprepare(bdev->bamclk); =20 @@ -1393,7 +1393,7 @@ static void bam_dma_remove(struct platform_device *pd= ev) bdev->channels[i].fifo_phys); } =20 - tasklet_kill(&bdev->task); + cancel_work_sync(&bdev->work); =20 clk_disable_unprepare(bdev->bamclk); } --=20 2.47.3 From nobody Thu Apr 9 13:33:11 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 073BE42849E for ; Mon, 2 Mar 2026 15:57:57 +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=1772467079; cv=none; b=iFF3TRu9FvhMDjXsNqOve//rnbofegyYdKjgTf1IesUOShV/iw52fpD6xJ4fs3O099Oe4T538l87n4S2mUI12i0JytZ6WxRt1oB0HUZcbbW3Q0Ftx0DFzsIBXoVuCQ8M2GgtQxZjrinqvIe4T5B9OxljitNo7lXO6P+bZmX5zCU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772467079; c=relaxed/simple; bh=Nz1LGAzCKnFnAcOBVZfb8slxeQc/H+JbDOJrfn5zCw4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=WK2P/Ryg5HjI/ZwO5iqKGWQf48Vv8/LeUixH3VwmD5mXG70qqDUIR5Xwuhp9kcEJlhk0g8LRZJLDAj6buotTo8NLd48WBJTVW49IhbqLid8bMxqxheDn5fqK9GSG8eZHq0M4hYJrLn6+OnFcOtzYNOSeL0WZLYRCHHtdUtj8zH4= 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=G6Hk2lLC; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=a5sww5G7; 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="G6Hk2lLC"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="a5sww5G7" 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 622B4QBW3561999 for ; Mon, 2 Mar 2026 15:57:57 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= TdhhWrCvUxcn/reedG1xQ5srVVcpowXHdjBHgIUwuPY=; b=G6Hk2lLCwbfiIWMG +YLPOw/kLl9CMV6Wz0zt0sOJ2YhyyElyu5KOetBqgsHaevDsM+PlWJqxNW82VZuq KBxy3TyEoN1mvYSWy4K+4BGVcXbHskc4syGpAKUNZlch8MxonuX9x8niL9//gB5C xVByOBICpHlvpdkjR7a3Xj+vYh5VdpSho4320wKzaTETAEioT5KM6P5hW6eTtbOq Sqx58h7gp7099/V+UMEDLvlotd1qjTsnXtoUE9jPCzsSPVntiCVW7p3mgWNQmX4k 10zWtVO5JtlcIZZN5xRh6zfFttMq7hEpJf3X1B/U52eo9nIpJSveIQ0SmYgdJn2r L3EryQ== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cn9bv8yef-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 02 Mar 2026 15:57:57 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-8cb3ff05c73so3339152285a.0 for ; Mon, 02 Mar 2026 07:57:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772467076; x=1773071876; 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=TdhhWrCvUxcn/reedG1xQ5srVVcpowXHdjBHgIUwuPY=; b=a5sww5G7JtJmrQp0gQt6KP8ixWZcxo7IUZmtQvrRdiA0hOVfOqyMgbYC8Hwlsafs5g Xpg6qXS2A99NVcLtFRTpQsUE2r6pOg2p7Z7wF2QToYWF2pecgBBKvwH+G9VaTVEJbO4w ukWtfZDsZMt4USP2F6J5WOoZkQoU9vJjdcvJh/hfI8eF0ohgxF+HIH95Pprq2EXtyKPn psjV30BYEpjs2fkh9Ymt9CHV7xUxeaSXw3TevmlXeq5iF2AA1Z+X9KcRrK5XOW9q49Za 6bJhIRQYzQST+eRxaydNxujS7e2tA9pjj66UQURX+NtIIiQouVof3SP3uvLGhMvy+4JV 8SnA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772467076; x=1773071876; 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=TdhhWrCvUxcn/reedG1xQ5srVVcpowXHdjBHgIUwuPY=; b=Ie6PPUVQaV6riLNbkdr5WpaRuQkg9htalieiKWi7wFxKRGUddntMOfj9RDv1RGqfDr VOr+XSKOoEpJyYVTXYTSJ7wQRc+4G4sqtFDKnrozOu1p5ZMZxfhWxEjVweld54Nd3J6l g8RfUUThi1ishF4YZnZYMqu75FYpescwJ/RTxQCThyms1nM0LEBZsbDozrzxoPzBrgJR AspN7UFA88raZpzS9JYbFokOLnN9H2zNief2tJ5MSQGPD1Oc6U62FZhfDTJ3SomRTqoA E5nswiBVAXIrmswseqXv/OP3t8S0xM/8YcXPODWfNHOf+irfVKHJmrL50wymjiKlCFRz VjuQ== X-Forwarded-Encrypted: i=1; AJvYcCV4QSkKx0phzg2YS6YVlekb19T5R3k77H/a9lgShCesWxJ+SWi5ULrRdWPpL81CBbC8LT+qWXUCCtd9zhQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yz9YkR2pyQN7mYHsGs+37e2EOPpPw/dYuRFj9GW7afSVLj7UKg6 mGO6/ilHTVQKuhaHK+LW0JcfGyNfErhalKoSzaa3otLQHtJxKK5fUg6zOtH8E25Fa6R8FNzo6Bx bq0F5jJvVQiPT49l0J2b4rxe8+RACtjzge7X5xTuiUWFZJz9VuH7xF7MV+GEGBgQVbyY= X-Gm-Gg: ATEYQzycjlA2LHo6fhoLFPzfotgCluBb+nUCbNZAoIXDBMNl6Xf6uNaRi9YCGHK+0hd MJcJABO34577opLMkV2GYRiUhkYOiHr3F6Ykt+UV2Q+XSkx2goKLdA5aBHrv00IH0fC5m/ZsWFm Hiurtj/OJGt1vjCa0Qey5tuDIcHbECgmew9hiyAIloUg5wStPjteUzwMfBMqCWHk5FFCJOS9Axm G8n5inzTup+225l03bMamJdeQOM0//2KpESHQxikNvRqcvgX7Bzs9ipuXdIX8fc9eI1fApRTtAl 3M8ubfwNJ9VGWN0rnBStkSLRZ44St4S/7vGcZWg/VCBRrkIu24krCXVvtiuFkudk4ji2MMZZisO G30XtxD1V6NWGa8tAhhXisgL0sZ3iCOwkAZwhl/6pS836lK5cRSpE X-Received: by 2002:a05:620a:4692:b0:8ca:4392:c20d with SMTP id af79cd13be357-8cbc8f66fb7mr1378644985a.80.1772467076364; Mon, 02 Mar 2026 07:57:56 -0800 (PST) X-Received: by 2002:a05:620a:4692:b0:8ca:4392:c20d with SMTP id af79cd13be357-8cbc8f66fb7mr1378642785a.80.1772467075908; Mon, 02 Mar 2026 07:57:55 -0800 (PST) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:87af:7e67:1864:389d]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439b41831easm11282438f8f.12.2026.03.02.07.57.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Mar 2026 07:57:55 -0800 (PST) From: Bartosz Golaszewski Date: Mon, 02 Mar 2026 16:57:23 +0100 Subject: [PATCH RFC v11 10/12] dmaengine: qcom: bam_dma: Extend the driver's device match data Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260302-qcom-qce-cmd-descr-v11-10-4bf1f5db4802@oss.qualcomm.com> References: <20260302-qcom-qce-cmd-descr-v11-0-4bf1f5db4802@oss.qualcomm.com> In-Reply-To: <20260302-qcom-qce-cmd-descr-v11-0-4bf1f5db4802@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Daniel Perez-Zoghbi , Md Sadre Alam , Dmitry Baryshkov , Peter Ujfalusi , Michal Simek , Frank Li Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3724; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=/m906drTofLPxOtAkNVHVDE5jDZx6cmoeu2XGgbJbDs=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBppbNtbOoFuqUEGNue0WR3gJpP8wb1S3UgLzT/l qttk43KdpKJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaaWzbQAKCRAFnS7L/zaE w60XD/wJfk/WDsX90N8SlNoKm/OHcoyRv3ABx4tr9gD6Kmj/R38oUJhVi0r4fdM778ubuxbbH+i H80XZAmEJNW6gL13WQZbnlBwATu0u7COqYqmxiDZkfRY7TgcSC63HpDpK3l0G+ji1s9Y61bxlrs WC+4AINyndhc5XEvghrZ3Uji4MbqBIKH8XSn9VQdB6IE35R8Af4DH8e/yyOSYdeSBZClpbj9K2Q aIcITg+8DmDfdYRI8eicKEw19GZAamC/ZVERCpqJ1cHOOuUIrvG8mWNNu4igEo8xXHRXi6KPM8l QcddMM3V0dP3CLHj7qpMUtLJC3bXFfiO2INEeljThG/GKvAdSZyEOItI8aDue02vo1KaJOJpwli QbuiNb8LXMuhQOLqxuGXc89Ww31ZvWZe2AVkKiAiRjvqEYJ2jAu3/Y/rQFzo3ys8XQeOjvSVCXT a8FOZ57XZD+ZBtQQp34uNOImP2X8yQrkOfCkJ2CoEs6r6cyQPoGljhgloYmssB/yRDqvvXBGIgE IQI4+umN+KvMru6URMpISKeWnv1NV+lOiLsJmt+eHx3l4J0wkv4U1pSkifKXxOR2ABNixrVrM+F OgsL94XbNrOfOEQCOiyTDir068m3kNG5/BcxeuJxWVff8850YyvXt/MMOs53oYya6JQ1fO8yyMy 3mUgXRez1anKFcw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: Oyrz7H_A9y-7fBV_eqZR_p3V2Teou3MF X-Authority-Analysis: v=2.4 cv=S83UAYsP c=1 sm=1 tr=0 ts=69a5b385 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=Fb6uNmSZeVr-t7npd3wA:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: Oyrz7H_A9y-7fBV_eqZR_p3V2Teou3MF X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzAyMDEzMyBTYWx0ZWRfXxvm/JImtT2zf 7VSsShICi3RDtIy5dS+cMBL5CICzEFzV8n+tmyFkmPWOKkghnkxfOoCOHraq0lHzqcfcXjm1WLh VQukFlnanUR80DDofFKOHLxt/cw4x7ul6XS3h8us0+d4AMdY6BLBUg9Hs+6uPDrrdeMUpIjEIYP EGNSPYZsm3lE47iRBoZl1psZMZfN7D+4cFnzhQFXFyZRm61/emcOJoXgw4ROheD43IpC2isvnmv sZ3VXJWN2cJzEKAZHboBgiavnSVLLtJRh0wuln8Ogb+sQy+6sM2j8Q9LFObrwZFUbqSEcA0AuT4 Uhc/sf286wOpvk1+N7N9tCyN1ap7w7CHxf+TaC0FYIjVc3xk0tC8hfNxu7tHzwBfdCIikNNGIfN xa05mvFpzyKJ1p1pd8VtYtpRTszCHsfrSUNIXBFgf2KtQQ3dqN7QEnTa7dBggWnwyG9E8O6Ialg oUC+Q+3vw2qCfqFEp9A== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-02_03,2026-03-02_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 clxscore=1015 malwarescore=0 lowpriorityscore=0 adultscore=0 phishscore=0 spamscore=0 bulkscore=0 impostorscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603020133 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 Signed-off-by: Bartosz Golaszewski --- drivers/dma/qcom/bam_dma.c | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c index c8601bac555edf1bb4384fd39cb3449ec6e86334..8f6d03f6c673b57ed13aeca6c83= 31c71596d077b 100644 --- a/drivers/dma/qcom/bam_dma.c +++ b/drivers/dma/qcom/bam_dma.c @@ -113,6 +113,10 @@ struct reg_offset_data { unsigned int pipe_mult, evnt_mult, ee_mult; }; =20 +struct bam_device_data { + const struct reg_offset_data *reg_info; +}; + static const struct reg_offset_data bam_v1_3_reg_info[] =3D { [BAM_CTRL] =3D { 0x0F80, 0x00, 0x00, 0x00 }, [BAM_REVISION] =3D { 0x0F84, 0x00, 0x00, 0x00 }, @@ -142,6 +146,10 @@ static const struct reg_offset_data bam_v1_3_reg_info[= ] =3D { [BAM_P_FIFO_SIZES] =3D { 0x1020, 0x00, 0x40, 0x00 }, }; =20 +static const struct bam_device_data bam_v1_3_data =3D { + .reg_info =3D bam_v1_3_reg_info, +}; + static const struct reg_offset_data bam_v1_4_reg_info[] =3D { [BAM_CTRL] =3D { 0x0000, 0x00, 0x00, 0x00 }, [BAM_REVISION] =3D { 0x0004, 0x00, 0x00, 0x00 }, @@ -171,6 +179,10 @@ static const struct reg_offset_data bam_v1_4_reg_info[= ] =3D { [BAM_P_FIFO_SIZES] =3D { 0x1820, 0x00, 0x1000, 0x00 }, }; =20 +static const struct bam_device_data bam_v1_4_data =3D { + .reg_info =3D bam_v1_4_reg_info, +}; + static const struct reg_offset_data bam_v1_7_reg_info[] =3D { [BAM_CTRL] =3D { 0x00000, 0x00, 0x00, 0x00 }, [BAM_REVISION] =3D { 0x01000, 0x00, 0x00, 0x00 }, @@ -200,6 +212,10 @@ static const struct reg_offset_data bam_v1_7_reg_info[= ] =3D { [BAM_P_FIFO_SIZES] =3D { 0x13820, 0x00, 0x1000, 0x00 }, }; =20 +static const struct bam_device_data bam_v1_7_data =3D { + .reg_info =3D bam_v1_7_reg_info, +}; + /* BAM CTRL */ #define BAM_SW_RST BIT(0) #define BAM_EN BIT(1) @@ -393,7 +409,7 @@ struct bam_device { bool powered_remotely; u32 active_channels; =20 - const struct reg_offset_data *layout; + const struct bam_device_data *dev_data; =20 struct clk *bamclk; int irq; @@ -411,7 +427,7 @@ struct bam_device { static inline void __iomem *bam_addr(struct bam_device *bdev, u32 pipe, enum bam_reg reg) { - const struct reg_offset_data r =3D bdev->layout[reg]; + const struct reg_offset_data r =3D bdev->dev_data->reg_info[reg]; =20 return bdev->regs + r.base_offset + r.pipe_mult * pipe + @@ -1205,9 +1221,9 @@ static void bam_channel_init(struct bam_device *bdev,= struct bam_chan *bchan, } =20 static const struct of_device_id bam_of_match[] =3D { - { .compatible =3D "qcom,bam-v1.3.0", .data =3D &bam_v1_3_reg_info }, - { .compatible =3D "qcom,bam-v1.4.0", .data =3D &bam_v1_4_reg_info }, - { .compatible =3D "qcom,bam-v1.7.0", .data =3D &bam_v1_7_reg_info }, + { .compatible =3D "qcom,bam-v1.3.0", .data =3D &bam_v1_3_data }, + { .compatible =3D "qcom,bam-v1.4.0", .data =3D &bam_v1_4_data }, + { .compatible =3D "qcom,bam-v1.7.0", .data =3D &bam_v1_7_data }, {} }; =20 @@ -1231,7 +1247,7 @@ static int bam_dma_probe(struct platform_device *pdev) return -ENODEV; } =20 - bdev->layout =3D match->data; + bdev->dev_data =3D match->data; =20 bdev->regs =3D devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(bdev->regs)) --=20 2.47.3 From nobody Thu Apr 9 13:33:11 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 1899D42B741 for ; Mon, 2 Mar 2026 15:58:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772467081; cv=none; b=TALxNVGy+L5mejLzwzywAeiIaOmJBu8LA49kW2lAjqYQg1m02OoRaCSVKKqsoS8sJvsv5oYUHqlUY6ug/8Tt/3wquOMmCftI4eYKmwH+CREYjdnyg6/7kdWAhJ5V3CLPJ8kq3UkSI8XZPnAv/vwaH6AtCZUTAY78S4vQKjoslUQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772467081; c=relaxed/simple; bh=QtDKw3sIoTdfDtZw65i+I58veFyHFSLP2ujI82KTTCs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=sEGQDptfHjJjZVsSux/tmZWEbWiCcwyZxEP2rHHIa6YKTkdjnZ8h/H62+nMpewFxtZI5tqVLGvwDMElGWdUV+1lxZSZk/hcx1Gn5Py5qNGqs9tmvG9XrLXuG+ug+KuersIkCTwiZSXsUaP/2qNyccs1UAb0WMdTuTQP5UdWmBgM= 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=pQ1cF/MH; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=fEFjOI5Z; 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="pQ1cF/MH"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="fEFjOI5Z" 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 622Fui5a3752736 for ; Mon, 2 Mar 2026 15:57:59 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= AJf/VHFbEfrJ7fM8DpDhu22yxXg6EYy+KGz73+G0kyo=; b=pQ1cF/MHYq59woRz oPrTjawyd36QiltIrv43pzT61p3G2qkYzR/zqYARzavBpUevniNAZXa1EVozR2PE RbUaTpzJdtRHFOP7mHtMmZl9GdOAPUGNnztZJOdUxGIf7ppNfPUR85fQhI6nAoj+ hfkbZuQG4T3Zhd3V422sOQwPkHm+lkLJRudA8Ar4m8of5apM7xIz6yzQB2vJBhZX vBjN5x/zBYjil+QO42LFEWpPtdaurRGUCpecBMuk7EPEg/QD+/NGvvzDErfDwP1b lgJ2351XzPs7Uv+UQpq+SIPjiwBGb3Kk22wy3j8vJod/lMMA/RYfgM9B5WTv0Vgg bRJXGw== Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cn7kq9dgw-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 02 Mar 2026 15:57:59 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-8cb4d191ef1so561745285a.0 for ; Mon, 02 Mar 2026 07:57:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772467078; x=1773071878; 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=AJf/VHFbEfrJ7fM8DpDhu22yxXg6EYy+KGz73+G0kyo=; b=fEFjOI5ZZfVUrHIQrBzM85/ZrTaxhh2J5tXIDhSdscNRCOoXgIxJmGI/ysz6hjnsD0 wcc/A08cFwk5h2zGgGDMNyPEHk7og5m6PanyS2lHaGB2xRL+nPi+Dj9GHpCDvF7H9EjA nicOEA6OF8KrkDRUhZ/Pz7SfORh5+JbwmDWnYvn5By/GhzIUCB/ifsWsfOMrwGNxayGW ulF2W9DldLTbCvs791djKjFdKfd29xI0GFl8dxlGGgiy+gWgV2tRzC+RSSyYKdb8iGtJ dQe/9IoHavkdJ1MeM4ySWLnAPWhpK1NHVJk73zCaNlrqePLLsvxEmLZkDRzNitrOog+l mXbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772467078; x=1773071878; 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=AJf/VHFbEfrJ7fM8DpDhu22yxXg6EYy+KGz73+G0kyo=; b=tk+URSMrmg3QCg8j8wegSspYqrMgdrMqStRBRjFJuI0f+iTs0TJy9+8Mk3Ux0vSLxy Zrxd7HJAtxnhIZHuLBxSbL30qv9HSA8X12E3p3+WFB7kA5r8v3wq4ooDsR/Fm0b+96cQ LsVxBQg8DhnOEDgMpkyQcKqeF15nSHGi/CTFBrgHae8AT7jc7GWOMfqObd3aHQBWGzQi s6y5GHN+I4YJ/Xp/fh4PDeUqMBtd3bRUfNNE57pQs7ZrYMZWd49h06vYLLBPV33Gdy2V m0aoynew9anovbJMdSv+aBfKcCuRCwrY+b6bVtzqqDeNWUgeYLBi+wfL17d3eqRIfTNu T28Q== X-Forwarded-Encrypted: i=1; AJvYcCUD8QMaRYy9aHi5173kSNaD24UHI2/kzoXrc5BREzczfOiOp3/WfNpnEGNWmROgGVYZiS8cU1/O28BdnZM=@vger.kernel.org X-Gm-Message-State: AOJu0Yy1q8tnKtkpnTYFEPLFAblZMFpnPJqr92zn/r5CGiC1ukKN6Jyw CeLbZDlA9xqHowFQCbNEwp7PegNkQld1fmx6jl2ZZEz/IIoURT7Hswtn8L+vRICB8cj8FgtTr7w dGn2rv901az1ZHOcn5hjTyBZ7yFGW2hpuhlB6tQ4msBxyEmjZ/6QNLckZGaAuI5AO3Yw= X-Gm-Gg: ATEYQzy4ySmpHj1Uabz0pV3wJ36iojPDiTwD8lf83CFL8ZZpNDGzH4i0/5SZkpf8lQx jec5wD65V8Twx+2Rdd7pYzhlAVFBGcE/7EJMbQQMAr00t2DSRCTlPjT7rcGVe9CGxxtGWyCtMmr us29VmJLIpioouJL+GFZUQbtrOiauIS4wacsjtNRStQcYsPugR4hkZC65QDnHOMa7/eNobNcx4c 09FCGtS1w2kWMoQGcmlD6mX0a/SaWTeQa9/xMQsX+9kW3kwT/uPnM5c2amCcELCOqclTo6MtBXb Jae1I7dP+EU46qoP3JcmJrdpVIJprHeBix/a3pZ07RVqCHt7M4b1qEOe6NV73ChpjxVa3nKc8NC DfU+jfjcaHjKzcBBurJ4pAr9D8TQu42r2t/k8rl/k1+QR7jCVsa6b X-Received: by 2002:a05:620a:404d:b0:8ca:2baa:774 with SMTP id af79cd13be357-8cbc8e82641mr1612983485a.18.1772467078424; Mon, 02 Mar 2026 07:57:58 -0800 (PST) X-Received: by 2002:a05:620a:404d:b0:8ca:2baa:774 with SMTP id af79cd13be357-8cbc8e82641mr1612979485a.18.1772467077944; Mon, 02 Mar 2026 07:57:57 -0800 (PST) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:87af:7e67:1864:389d]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439b41831easm11282438f8f.12.2026.03.02.07.57.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Mar 2026 07:57:57 -0800 (PST) From: Bartosz Golaszewski Date: Mon, 02 Mar 2026 16:57:24 +0100 Subject: [PATCH RFC v11 11/12] dmaengine: qcom: bam_dma: Add pipe_lock_supported flag support Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260302-qcom-qce-cmd-descr-v11-11-4bf1f5db4802@oss.qualcomm.com> References: <20260302-qcom-qce-cmd-descr-v11-0-4bf1f5db4802@oss.qualcomm.com> In-Reply-To: <20260302-qcom-qce-cmd-descr-v11-0-4bf1f5db4802@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Daniel Perez-Zoghbi , Md Sadre Alam , Dmitry Baryshkov , Peter Ujfalusi , Michal Simek , Frank Li Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski , Dmitry Baryshkov X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1425; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=gfl+Fn+ISpyM/izQ226zR5pAGJiHs0gWIagW7nCmNI0=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBppbNt5bDUkL7J/F9xgZHxua3RHn7yN37DQAd5k a81DXZBCUmJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaaWzbQAKCRAFnS7L/zaE w1AsD/0dIvkbcuCLSVavXlzNy2A5vtB4RVHS7Sh8XU1wqW/rudIXRcE6A/tT6zQwwRl9FKk72R4 LRyW5woC/F8fOtXQbE60wN+nyNhHJqFaQrXGcgvkIdjSeMEPHBP0UGmLQc/DlMK7Myvcmha6NBq a7R9i65yQ1O7/TjxzvKbo4c5VsEJosG9sqsIFAyo+cctWRU5+DVpaHS6Watckmbme0qFNGqMumJ ZK+SoYfWp7qA+QUakyhPHwWmBJCyojx0QWjNQ8jaXYHBMQvDDGeTv5aXLGbiN/X7cONQ6t+5gok bjmeSoRCll96nWdaXevAKoCcIZSlLAZtKNrPRTP2GWc9NskijVbNH/58e7ZJdTtHcrHe2AuqrDX 5IoxbK++ZYng/eVj0Co2mqvxa7b9p17y2odXkzVfMnvcQiwUd3gp9OHNLvtUjXhwgnH2+9bLInl 7QeLiTkq+oxQOUFnF2NkQSywZFTVeUuczgyvavqi+GMgYUPijvaprVjCA3R9hLuxKq/Xj99E9i0 bHNrt3Nd6WdtF2JvBKm+xXlADr7nUv01fx/TDwiXIhzvk/GnJoT/ZfH0BqGi/ktIBdPqgujId+7 xcRzaDdTjSY+NCHZL0FfykhDxXOXZjG03CXeFld/hXWHgD9mY3CgjRQ8lj2++jdO2J9Q3dLNRSB Ddhf8CtiibFMAxA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-ORIG-GUID: gszwy6KYMLa7VS8jjVMY8PHT0XhyNejz X-Proofpoint-GUID: gszwy6KYMLa7VS8jjVMY8PHT0XhyNejz X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzAyMDEzMyBTYWx0ZWRfX9nYkArMfVD/t H7+FNM5P82f9gtv7Ls6wxvSiVlt/n0w2gqpYGVE92an9gTF5EL+7ePtEhMLCL7ybYgZxw6bKpI8 mswp2BIvD5jGEO3FCosnjLESwGNUiHEGC4bcD60vZtyv3xnC5AN3lBHrPozMAvvw0w21czdMcZ/ O3W1J29OEbrEP7lXZR9gOmtMrdPJjFwDsylTm2lU9c2qRSkKzvoXGpAJ59nbwDKni0HRqqVVol+ hrlhZ2ali9gMt86XTzD97gRDJPsUj18CequTplFzFtgAd4tLECp/GFAylIaeTl9tmBvtZXp2E1v 4Zud8Rn+ZIWndrGBNuosiwg5Dsrir1RLwv/hRxSCeWaP/6ZUk4Dm30TI790PPaVlst1rKTxhDpv vXva6F7DrWBgdx3wrabGFKQuX5CvlR+szT9K2s8jMDkQ+gsvbBl5LdcZgj4pzcoCwABN9MLY9lr agQNUPL/QEnVvKgnA+Q== X-Authority-Analysis: v=2.4 cv=GLkF0+NK c=1 sm=1 tr=0 ts=69a5b387 cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=ZSnkYuKn9ZpO9KHknGoA:9 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-02_03,2026-03-02_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 clxscore=1015 impostorscore=0 spamscore=0 adultscore=0 phishscore=0 suspectscore=0 malwarescore=0 bulkscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603020133 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 Signed-off-by: Bartosz Golaszewski --- drivers/dma/qcom/bam_dma.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c index 8f6d03f6c673b57ed13aeca6c8331c71596d077b..83491e7c2f17d8c9d12a1a055ba= ea7e3a0a75a53 100644 --- a/drivers/dma/qcom/bam_dma.c +++ b/drivers/dma/qcom/bam_dma.c @@ -115,6 +115,7 @@ struct reg_offset_data { =20 struct bam_device_data { const struct reg_offset_data *reg_info; + bool pipe_lock_supported; }; =20 static const struct reg_offset_data bam_v1_3_reg_info[] =3D { @@ -181,6 +182,7 @@ static const struct reg_offset_data bam_v1_4_reg_info[]= =3D { =20 static const struct bam_device_data bam_v1_4_data =3D { .reg_info =3D bam_v1_4_reg_info, + .pipe_lock_supported =3D true, }; =20 static const struct reg_offset_data bam_v1_7_reg_info[] =3D { @@ -214,6 +216,7 @@ static const struct reg_offset_data bam_v1_7_reg_info[]= =3D { =20 static const struct bam_device_data bam_v1_7_data =3D { .reg_info =3D bam_v1_7_reg_info, + .pipe_lock_supported =3D true, }; =20 /* BAM CTRL */ --=20 2.47.3 From nobody Thu Apr 9 13:33:11 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 47CD942EEB8 for ; Mon, 2 Mar 2026 15:58:02 +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=1772467083; cv=none; b=u1rOl2PEH3Jkca9T22QT1Hjxt+ETu5UOqAHOUUnPAXs56f5ciYIj/8BnnTMlM6WDxAiuhOCBq2gjZr+7zXEL2vu7pheYHUxbSRAjLBBTkQ35VG0P/L08I3G2k1SKUkariuAhPdj5SUFxEhtcjGxCAOYuPPIuHSc8p8tpK+J3yc8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772467083; c=relaxed/simple; bh=UUgEXylEiIfyENE0peCNzYmE4sxUi2nWK9Ajpi5BrrE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=D5jOt+5CUVGaglXefaz0oOCg4B/Vfpw9UFvwBtqJF6TIdAXFpdHnKohZFsDqMygNg/OG08DJHXp5xrcPyQCSzAOUQSrE1CmV7GMxQ0sewQ+31zvsCNuAiFtXTtv7xJTkY2MLEWwuGIvTxuIyDVr+11U8g5/ChfptH7C/Kn1IkgM= 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=ii+o15pJ; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=SKnRMiiW; 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="ii+o15pJ"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="SKnRMiiW" 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 622EX4Wc662340 for ; Mon, 2 Mar 2026 15:58:01 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= UPKupKC1xgRq8szLkSXUnMuGW4ZDJHNFE164RxCwkP4=; b=ii+o15pJA0ObdYt3 nGfXs1wAil3n4EBCqhUko6dV5l0WXWS9DsGA+IP3l7zkNx9RRI4+6J5OH2RzJV6i qQYP5hNh0i3xWwtSnUwHV5uO4K3igZc30yF1/JKM8P4jJrlZVgUBwfFJ5J8Z+jOG TlX1Ao3gc/YS5XnSKhcDon5svWi1KeUpUKCMYhznFYgBjm6RS3FnkSqfuDd1CFpt nCfjNHDwx80Kj4qul4aSPTkB0Xe3vron3l7GiaBppDPBzOJF37qLuQMgS9ffsWZT pPnm2JXAu29qSr8ftw1n8jGyHwjyps58l7jUQI32hTxQaxLFxCHCw+KZTz9e/9RK HQQLrg== Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cn6r2sprv-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 02 Mar 2026 15:58:01 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-8cb3ad1b81aso5895785085a.2 for ; Mon, 02 Mar 2026 07:58:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772467080; x=1773071880; 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=UPKupKC1xgRq8szLkSXUnMuGW4ZDJHNFE164RxCwkP4=; b=SKnRMiiWsxCWEcfJ50/MVtCJjc32xgPLJ/o5zqSxInOP85giWoSBkkHcm0tVKh/s9u sC4+ZgeuhRyhadZOvCXg24LuwpfQR04FC0I9ezMs19KZI/6q7Az4n3lNgrP/sU8KEAOi wVRNn85lxKAWeCKQJ7rcUvyAkbet6YOIyvWKFi61j+DRnCSceYosRN9vh50VqL8VAzyU shezr4GcaqjKtFveiDfZFP7IZltODvvFtL3JDCEap7Izk4RMQdTwLiBE2TCNSJVkpwhp 4ikZ0tSo/70/rXUzHv+CEEg1oiLKdC6zvmz+Ca43FnPKlHvfUyGUSAYolCW9pAPSeIN9 KFOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772467080; x=1773071880; 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=UPKupKC1xgRq8szLkSXUnMuGW4ZDJHNFE164RxCwkP4=; b=NBfPtOf7n0EaB33EvfHRp/A21MDQfXJnH+VR1Rbj7+qjt3kTGCEytsxdKZOwnEMMdE dlJHMcnAU4kf3mtOvP/60qk3QsA1u/TBF/QI0bryyVcu4ZWQaO0TGGRWUnil35R6vcm2 FQoHClBFqmIjGDS4P6F/FAIsUK75o4d4TkUv2jbFDgdtmoxvsUAmmxIttGfDwyeCIcL1 9LDNb9F0xl9xZlZEgCI6K93m4WSbyzWY5p+zCuuiOYtruA4/vyULR+ppSdD3iXmo03eo LZU6YG4NrG+oYbjHcEJXr3kjgQ3GYkr7CnZLdSePKr7zxoc/RP61Dx26pbARPDKob/Y6 fDaA== X-Forwarded-Encrypted: i=1; AJvYcCWd8Fg2BriuegswCa0RhjXs9JmvkWs0EPMOormB/di0gppj73oYd90jWr4bvcz6XUsFx3H9wUGoRr2nNX0=@vger.kernel.org X-Gm-Message-State: AOJu0Yxj6nZ/rIAz1y7kUS4Os9g/ruGdavb03vT223izc6nVPA99gGAt 3HvwDdOcy/zIIVGGD5uZdK+1dz/ZoocG6fkVu6rlcu/v/8dQFaJ+DDjINf/Y6zx+3RXAgqKm3ix MapUnSLOnqX+IaQaibJbw5EjdAqK//zsmr3HzFdsvMYRfX9P6baYakbA3BvYqw/7iGYU= X-Gm-Gg: ATEYQzxEZopARFPs3zfJPPW9a/vuxQWYzZuztQdz7/WWnmVr8TlYfZGBTyzPKExiQNU yBlHQLF2kZDb5BwEHkajc5T3KRF+5S8CKk13OdlIJ6vHmOkkxujQ/9f4g2B+UTHVcCIJMuNe/gp Pb6oGkwGttbY5f+mhC55h7QGNyJ8wqr8eVJrMCDvJR8ZawAKvyNwkN3buQ7sJZjaGdxWlF7h4CB xLPNlOlic2udJ9EojGoa1MQNr4+08+kUg/eDlgMDUqrJhuMd8TJGsmkchBvSEn1Xs4f0PGLTQMv jAWvDhvhtm/6vIiHMI2U2I0TsXbXFJXy/noS17Ytgonq8tueOGTte5xCeQ3xssiTTYXZWKzyvOR vK145xbMJeMZuUi5w97AaAfgAjcH7x6wh3YiMk116XJQFTCfI+spq X-Received: by 2002:a05:620a:7118:b0:8cb:4059:a90d with SMTP id af79cd13be357-8cbc8e50bf3mr1568262785a.38.1772467080454; Mon, 02 Mar 2026 07:58:00 -0800 (PST) X-Received: by 2002:a05:620a:7118:b0:8cb:4059:a90d with SMTP id af79cd13be357-8cbc8e50bf3mr1568258085a.38.1772467079863; Mon, 02 Mar 2026 07:57:59 -0800 (PST) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:87af:7e67:1864:389d]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439b41831easm11282438f8f.12.2026.03.02.07.57.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Mar 2026 07:57:59 -0800 (PST) From: Bartosz Golaszewski Date: Mon, 02 Mar 2026 16:57:25 +0100 Subject: [PATCH RFC v11 12/12] dmaengine: qcom: bam_dma: add support for BAM locking Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260302-qcom-qce-cmd-descr-v11-12-4bf1f5db4802@oss.qualcomm.com> References: <20260302-qcom-qce-cmd-descr-v11-0-4bf1f5db4802@oss.qualcomm.com> In-Reply-To: <20260302-qcom-qce-cmd-descr-v11-0-4bf1f5db4802@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Daniel Perez-Zoghbi , Md Sadre Alam , Dmitry Baryshkov , Peter Ujfalusi , Michal Simek , Frank Li Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4900; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=UUgEXylEiIfyENE0peCNzYmE4sxUi2nWK9Ajpi5BrrE=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBppbNuYzNnk2eJGRt4JyOLFUae7n6EGdPMeWxfu miC6fIYmfiJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaaWzbgAKCRAFnS7L/zaE w7F6D/0ah6PwxRWwRZZZ5QK1V24RCKtmj7bJS9c2b+P7QDdfyd9Axw1tX6IBQOeiU/H6d76yCCc FKwRTrSdvxnIMCjgyz+F9zyo98CqyeY729UpSZso4Aix+B3ur0stcv4j3I/Sjw5S2L7jXkUfFXd dDwOq52o2hvUnwp/Rs1xWulqb6yKgesa46m0fCw2PCA8PcKYckNMUiITaITT2Rz9Hvtr9PqAbf7 oU1lOAi3+mCzJBcVQ/GJSyl3lSAmTeYeRv7JdoEJEnVedQ9LXTGJwmVvjBNt5QGOWov0YJT4mxI qWAXfRZ6/qbB7taKE0xR/pujgrZlThSqp2kiIIn58N8VdUFbPHVwU68FRP7gScBFenmwgmev7t3 0YwNvoniDq3zLervKJu1fxgZcUkjN5RHdNhldom0bhU/KF+/OH1ubzRLLppW0Dx6djvopjCWSy7 WxJZL9fkwwucP7wBiJfZju3J3UvkjLVe2K8ebI1w0PVGGo0cnYq+vQkd/x+bR6LPkq9gwPKv0J+ +qwk8haYIqtaArSVdx0Cj+j+t+qMwcb9yWvcxzD2DoVlgA7G6LaSBJF3fWpHh2ZPETwmPW+udNF MfvjZ4/g57Z3zSwVWsn9D0xGM8YHTmTSP4nZQlfFdXF0qGcET+J+dzK/onXhMMod+UneCCi3R6y E+lmkkjCDmtGdcQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: Z4_BzOBBO9ToUUSJkZZBpNQ4VNtRYboP X-Proofpoint-ORIG-GUID: Z4_BzOBBO9ToUUSJkZZBpNQ4VNtRYboP X-Authority-Analysis: v=2.4 cv=Hpp72kTS c=1 sm=1 tr=0 ts=69a5b389 cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=EUspDBNiAAAA:8 a=KZCnMsYHACgmd2lUPBsA:9 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzAyMDEzMyBTYWx0ZWRfX770NitEn/gPI QZ1NAGQvLtvSReLe8MZvawISyz+e0DESgYAaICeJ1gUmUF0EWMX1Cor2RVV8skwJiJjClds268k 9Hy0hRespWTn2L8XOmRQn9ziTF4zgTc3VVra7IIhm6t7vwNjBKvuzy+5P/5hXpLqv2qDmdTmbib GxMBiZh6l2MlbqJgKCIVCPH5AfFFo4kgr/6EEZjs/BXP1IC9Nw7cKdn6upXq0+i0oefRrWTpUjS R/Jq7cuQ3+kpKjBrIaii5G73SHlRlTy6PZYP7MlmyCc5LfwSD7fy5G3p4t3qRUcU0Yg6ema389k xI98+DhxyfwqoNeyIcVvNGtawdFZFTnroUic/I021yTqaPD7eXaTbfDNc395uU1m04Bh0tqd6Yr oKn4n7CWALeUeIhREObsm/KbVRuUb1cQdLrEkgcwZa7+w+R2CzVDThntSq7Pt3hV036zrh5YjiK 3XgCmOGWKopuj/WZaDA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-02_03,2026-03-02_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 suspectscore=0 impostorscore=0 phishscore=0 priorityscore=1501 adultscore=0 bulkscore=0 malwarescore=0 clxscore=1015 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603020133 Add support for BAM pipe locking. To that end: when starting the DMA on an RX channel - wrap the already issued descriptors with additional command descriptors performing dummy writes to the base register supplied by the client via dmaengine_slave_config() (if any) alongside the lock/unlock HW flags. Signed-off-by: Bartosz Golaszewski --- drivers/dma/qcom/bam_dma.c | 100 +++++++++++++++++++++++++++++++++++++++++= +++- 1 file changed, 99 insertions(+), 1 deletion(-) diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c index 83491e7c2f17d8c9d12a1a055baea7e3a0a75a53..b149cbe9613f0bdc8e26cae4f0c= c6922997480d5 100644 --- a/drivers/dma/qcom/bam_dma.c +++ b/drivers/dma/qcom/bam_dma.c @@ -28,11 +28,13 @@ #include #include #include +#include #include #include #include #include #include +#include #include #include #include @@ -60,6 +62,8 @@ struct bam_desc_hw { #define DESC_FLAG_EOB BIT(13) #define DESC_FLAG_NWD BIT(12) #define DESC_FLAG_CMD BIT(11) +#define DESC_FLAG_LOCK BIT(10) +#define DESC_FLAG_UNLOCK BIT(9) =20 struct bam_async_desc { struct virt_dma_desc vd; @@ -391,6 +395,12 @@ struct bam_chan { struct list_head desc_list; =20 struct list_head node; + + /* BAM locking infrastructure */ + struct scatterlist lock_sg; + struct scatterlist unlock_sg; + struct bam_cmd_element lock_ce; + struct bam_cmd_element unlock_ce; }; =20 static inline struct bam_chan *to_bam_chan(struct dma_chan *common) @@ -1012,14 +1022,92 @@ static void bam_apply_new_config(struct bam_chan *b= chan, bchan->reconfigure =3D 0; } =20 +static struct bam_async_desc * +bam_make_lock_desc(struct bam_chan *bchan, struct scatterlist *sg, + struct bam_cmd_element *ce, unsigned int 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 NULL; + } + + async_desc->num_desc =3D 1; + async_desc->curr_desc =3D async_desc->desc; + async_desc->dir =3D DMA_MEM_TO_DEV; + + desc =3D async_desc->desc; + + bam_prep_ce_le32(ce, bchan->slave.dst_addr, BAM_WRITE_COMMAND, 0); + sg_set_buf(sg, ce, sizeof(*ce)); + + mapped =3D dma_map_sg_attrs(chan->slave, sg, 1, DMA_TO_DEVICE, DMA_PREP_C= MD); + if (!mapped) { + kfree(async_desc); + return NULL; + } + + desc->flags |=3D cpu_to_le16(DESC_FLAG_CMD | flag); + desc->addr =3D sg_dma_address(sg); + desc->size =3D sizeof(struct bam_cmd_element); + + vc =3D &bchan->vc; + vd =3D &async_desc->vd; + + dma_async_tx_descriptor_init(&vd->tx, &vc->chan); + vd->tx.flags =3D DMA_PREP_CMD; + vd->tx.desc_free =3D vchan_tx_desc_free; + vd->tx_result.result =3D DMA_TRANS_NOERROR; + vd->tx_result.residue =3D 0; + + cookie =3D dma_cookie_assign(&vd->tx); + ret =3D dma_submit_error(cookie); + if (ret) + return NULL; + + return async_desc; +} + +static int bam_setup_pipe_lock(struct bam_chan *bchan) +{ + struct bam_async_desc *lock_desc, *unlock_desc; + + lock_desc =3D bam_make_lock_desc(bchan, &bchan->lock_sg, + &bchan->lock_ce, DESC_FLAG_LOCK); + if (!lock_desc) + return -ENOMEM; + + unlock_desc =3D bam_make_lock_desc(bchan, &bchan->unlock_sg, + &bchan->unlock_ce, DESC_FLAG_UNLOCK); + if (!unlock_desc) { + kfree(lock_desc); + return -ENOMEM; + } + + list_add(&lock_desc->vd.node, &bchan->vc.desc_issued); + list_add_tail(&unlock_desc->vd.node, &bchan->vc.desc_issued); + + return 0; +} + /** * 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; + const struct bam_device_data *bdata =3D bdev->dev_data; struct bam_async_desc *async_desc =3D NULL; struct bam_desc_hw *desc; struct bam_desc_hw *fifo =3D PTR_ALIGN(bchan->fifo_virt, @@ -1030,6 +1118,16 @@ static void bam_start_dma(struct bam_chan *bchan) =20 lockdep_assert_held(&bchan->vc.lock); =20 + if (bdata->pipe_lock_supported && bchan->slave.dst_addr && + bchan->slave.direction =3D=3D DMA_MEM_TO_DEV) { + ret =3D bam_setup_pipe_lock(bchan); + if (ret) { + dev_err(bdev->dev, "Failed to set up the BAM lock\n"); + return; + } + } + + vd =3D vchan_next_desc(&bchan->vc); if (!vd) return; =20 --=20 2.47.3