From nobody Fri Dec 19 15:59:40 2025 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 59B892AD25 for ; Fri, 19 Dec 2025 10:08:29 +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=1766138912; cv=none; b=SpSaN9yhNoyaq5r6rO1f0Q0R26O3pEW6oyfndpeleMarAIGIh0jtAZw4L392nd5RhyfeGpUsGTE/+PSPpLmku2aHZTobwk5JF7XiZdXv0J4XK04TKOK5Fy6pDKL/W8G4QllHORBFPa2AI6B7vPksgIS05NgZjW7xiqFYo/GEPfo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766138912; c=relaxed/simple; bh=+yW7g724zkTvi6c2Y4D2hyvIoUGp0kLpwcBoXePSCu4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=rv7+Gyzho7kWngOuaHCDAmd1JsNC7y/2B573DKlHylAbDYFpQELopCJCtN0yWn8SmglNkMQJQnknWoH94h2Fo2xhg6GlTdL94YMB9bzCpnjDa6mFH0iyFzViWwnqL6PKPZ9JDmN4gk4Z0M9CnUa9rfHKPaUzRRdjHKcfJpT+WWs= 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=owLOZ6PV; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=PC1VnIu1; 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="owLOZ6PV"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="PC1VnIu1" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BJ4cIRZ3700746 for ; Fri, 19 Dec 2025 10:08:28 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 7KsmdZ4x76VsS5fxr1ctBlIdVxj1CBW4LZiVMfMrgUc=; b=owLOZ6PVkqobpWoy 2YnJ5PHAAAu0NsHXzctawY2nmaC99xDHV3sr82d3vjC9NO7Qa5A+EI7KYeLUp39T JDieAYDU4slBSYkp7opowKOKqJBzCOKqZ4x+D3co93m3dfMZwcagjwXVTsKu7tfR JyAOShRQjDj2YRUpIMAIsMGc6tLRJq1z95oWKr948+v9DOxyJixkgVMrF6q1Hp/3 TS4/0eYERadIHWIwSTfPj664yEyvNXLed9kHG2eZZIuYLLtc+crd4vysxiQbylvA NXW5j85Cq3pl6DcFx82XH8QiOWg3L/YrnyMd1yotx4EwL1Kq9GfawfYBNdXw+wBp n+fCAg== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4b4r2ej6xa-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 19 Dec 2025 10:08:27 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-4eff973c491so35648031cf.1 for ; Fri, 19 Dec 2025 02:08:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1766138907; x=1766743707; 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=7KsmdZ4x76VsS5fxr1ctBlIdVxj1CBW4LZiVMfMrgUc=; b=PC1VnIu1n2XD4d8vXJyA1VECFTXywyMW0j7+7AV0A6ToTqNjjURSStOAau3bCF7HZm g7kw9Wn1cC+H6vD+YaP7Did3vlX8cSgTJ/Tc8LvoIC41Nw9tav5KEC9xpeRNglDZAqEZ NLFj5BX84M1GDSolzXkJGfouit+7AOepNnTahVpIq3l3R+pzPQjWHPwtL71iymuk+/lc iHZVbYZnyO0+2QlIA9oLlTQtyaxYXyj1a6nA1Su6/QZDzkWhLlASEoHsUEVNtrXm+F9z gIOiJHjGnegn/YTbaRf67pzadBCO8q+RaWP4ObgMhFW0Ldf/ZE+6nEMw4UjL55FBLOyQ 0Rew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766138907; x=1766743707; 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=7KsmdZ4x76VsS5fxr1ctBlIdVxj1CBW4LZiVMfMrgUc=; b=hZdYGSxWoCz9rA3Z4DGk7hNq18Tb23qOvjnXao6NTR7koHLoNNOgCGRm2qOWUVSyEQ p6IT1nu4s911+qTAXmujQZOVNMhtDHGvThYOOkntg4u+nlkLJHASmZXhXVNHPw+wgi2y VkKl5C/KX8zUF2ZVf93w2IyiX644gg6YXoUmc0t8S/w4UkbQ1NiZvuOvtgouMCSA9Sjj TH8NfEE8SPIPiiV27fLsB7tL1Sk7um/zRMh49FbbSV11K+b0IntI0vpzb56dGO7yB7jH wU37N2DS3NOKvicX3FQkMDF4lcubjkXXyBWKQ6c7fq1gDV0M8vuVoKQHQDZol3uzmu1W +9JQ== X-Forwarded-Encrypted: i=1; AJvYcCUgY0pHQ/9MnDG6a91rO1uRac1QAR8WJY2S9ArrcZR+/s7eZ1syxfW/ksOXvoRHbvCasXUYXgnflAjUOn0=@vger.kernel.org X-Gm-Message-State: AOJu0YxISczBTb829KtmF9eIGLkl9+I0Wme431ZLsEKfgxWOJwywKnFA Czh6HLn2ZflQ2ccdbb33qagFPqiUcQjVP3JsVxq+0O5JfEmHWKEsXcD34x0+Az119+y0/rn0V+i Xhsr0mN9dTMOe+SXP+W85aqPkpORm/gjyiMxT1zgG+L30YyvnDud1UZ57D2QKni+sDX4= X-Gm-Gg: AY/fxX6/QBGoSMsyaX6byxim+wlsmWEE3VtcLLFbOXoLi24Ke8WaR26R78IsapWaxxx dXJ9g24KFIdx0zA0BoEfLRWn0zVMOT4oQdSGvozpZuAg/BhFl5DUYEAUXXm553lhGcIJODh3w05 k9oY1FUda29ENUP72acjq7J+Mp6OYj0Y/A7vKARn3Qj1Eu78Y0fCe7uQLtvcmREH1wqfSb5t4BW wgIYP1pJCw45Ernbf3+9z6Kqvy3SKp+UKPLvXO+s8wUjwp0KxaYRIgvQ3BvhDUFFyBZLzUPBd0P xf6nhErlLAkuCpfgK5rNGSeMnTWvXLhvQ7TVQEdL6UD9RQbNtvkIUmj80hrC/Hg0v2LIKwoij5F lt5OU7FgiUA4pjguMMSnKTQ33SXK5qA9G26UpjA== X-Received: by 2002:ac8:5dcb:0:b0:4f1:b9c7:18e7 with SMTP id d75a77b69052e-4f4abccf5c6mr34585621cf.4.1766138907168; Fri, 19 Dec 2025 02:08:27 -0800 (PST) X-Google-Smtp-Source: AGHT+IFVRhXji1ckLD/m55ts+YyuKwNuhTK57fef/BjMCO+TpK2cXQDnhsPIAXLhF6EwDS4P7T8fHw== X-Received: by 2002:ac8:5dcb:0:b0:4f1:b9c7:18e7 with SMTP id d75a77b69052e-4f4abccf5c6mr34585431cf.4.1766138906730; Fri, 19 Dec 2025 02:08:26 -0800 (PST) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:a48:678b:dad2:b2eb]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4324ea82f6asm4209571f8f.27.2025.12.19.02.08.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 Dec 2025 02:08:26 -0800 (PST) From: Bartosz Golaszewski Date: Fri, 19 Dec 2025 11:07:40 +0100 Subject: [PATCH v10 01/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: <20251219-qcom-qce-cmd-descr-v10-1-ff7e4bf7dad4@oss.qualcomm.com> References: <20251219-qcom-qce-cmd-descr-v10-0-ff7e4bf7dad4@oss.qualcomm.com> In-Reply-To: <20251219-qcom-qce-cmd-descr-v10-0-ff7e4bf7dad4@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 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, 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=+yW7g724zkTvi6c2Y4D2hyvIoUGp0kLpwcBoXePSCu4=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpRSQNfXlXxoKASScjNexD0hZ6xbMQ4AugwhXcJ QtIJsvcd2eJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaUUkDQAKCRAFnS7L/zaE w4nmD/wMOcgJ12ky6dBNZro/3cEdNyVhXZMXROTbJhW5DdAI9vURbsijk+VvT7ztuHXv22Cyn/c sZzVeFB8oEPldbm+ZdgeLteCQohv5oUUUntYsOs/J91F3JoeWnl4YdHLo5cajw4RVcWOduQR0F7 LLm0E6kfE35ed/hIpHIy60TDduWQqvpyU7J40R7VHVm6o2nFPqycgXyo0qOwk6jp5bQD7uW9vV1 NXbLKCvriJ3PPHRolnomJ6WArmekBtYZmQknlN0IhmOcoDkHlHKi4IBB8SvBL0vEYgeQVhvQfH5 vIocD81ia6ZyZdTcDXm5eziqMLcWS6brIjc4i1IBd4MVQsSIstmBvQrvhPRwh8Okj27gjbd8525 uHDLNmoYUkMKpWsUvd93tPcoyz7ksGR75zDIUWsidziGi2Vd3EdIDhZLItlq0SJD4pNIbaMr6oI oN7h/B5/RRNSzQxtQx0pLzwq+iKUmQXdiVerrWRx/kZByJZKV0iFrqQ+CVtmD2F/O5FSonQkDKH B8ftFXwsko9xknwKX1F9cpQ+tAu42wIUOccTXq/z2n9bAPJ5HjuS6fleF1BI0gF6tXPg9s1TZ3D eW0wgb63pVTkHRsCUS80tKAHB50GqUyI8eiPkL5FB3/HqMWJBOoeNG3NEhHgUafYWqIcQV6Rtl/ rwSQiRrbvpiLrSA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: bkcXaATbHGbO0q7JxDwHvgqWQTqaT-sp X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjE5MDA4MyBTYWx0ZWRfX45l+0661xSo5 r/NCuQBxGH1rxyQ+Yp5Z1A1fqxzjdjN3u/xwMTjp87VDjRrmg4uSdRQ51tJFuR6yLS83GLK7pfV bwPyNcL/+o4k3Zn9pO3nAv5F8UeLhuGn3HlVmdS10GNY+0fks1LxmmzDJcwPITTG5NExKPSPKn9 BF/CAWHqb79YtWkQI0mzQIDXhjFUB5PSVWsvKrqpYnu2sxEfz8U/8AZ+Qb5kh983zLBEoaH/8nw SXelRn1NAHceBjwvjl72ub2uRry/uG6Slxg7cAaTwY75/Digaq1DuEgZE3qnbGdZAcRbHvdP123 IuQBeArqTvuNw7SqVNIISM1z9hhP5qMy2VPUfoDz/wTqIIw5D+IXw3qy/wBPG6r3iJwnphGYVko milL8sXuK4CBR8KrfEXbx0mDe9/60z37qzW3J+fo1a2g+YS3URxBWKzxq2pqqp8mK3D/5F1BUZQ +ui9yEGk2DgdqMzPq0Q== X-Proofpoint-ORIG-GUID: bkcXaATbHGbO0q7JxDwHvgqWQTqaT-sp X-Authority-Analysis: v=2.4 cv=EabFgfmC c=1 sm=1 tr=0 ts=6945241b cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=XeVHrwws4l7kqE2Ex6IA:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-19_03,2025-12-17_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 phishscore=0 malwarescore=0 lowpriorityscore=0 clxscore=1015 bulkscore=0 suspectscore=0 priorityscore=1501 adultscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512190083 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 aa2dc762140f6eee334f4506a592e72600ae9834..75c8eed063af8daf68cd68670ab= ba211740dd11e 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 fabff602065f6cba23cff7bb4f305a3504230a02..e2a40e8dd4b20379f337c1017f8= accebeb914645 100644 --- a/drivers/dma/xilinx/xilinx_dma.c +++ b/drivers/dma/xilinx/xilinx_dma.c @@ -652,7 +652,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 Fri Dec 19 15:59:40 2025 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 AA24B3002D6 for ; Fri, 19 Dec 2025 10:08:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766138913; cv=none; b=YhHuGm4BPHqd7NFhNv3XQrvgFSiwH4pR+MZ5+HmSCgjo5GqGotFkD3oniggP7titnP0kx3YsTAop8/ODuy3zO9hrf9UvSzZnk2j2G8Kwr6/4/B26zUiVdrT0BrwlWA7pZL6CX8OqAXaND7Hvu0JPmplHMRoYiMVaiu88tjrLYWc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766138913; c=relaxed/simple; bh=G5POXs/vmCuxytxBEpXeNh/KhnNJeaEjpo9IIV9F9Kc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=KJ9KeBPzR5689cXm67ZEHJUX7q9h6cykhrVXfrGtl5dSUXeSdPbyV8tntBT6B9qGt14UXvcQqut0k86NLN3RDdv4cqFnLjGjfWwX28sOAapb3Kut8jqW3sx2xeEF9nJeKbUOYZ6ZbnKXUIBR1uyiPfzkJ7453BCgXtZnYLwz7gA= 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=jd6Hp6Wh; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=gbeoZBAu; 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="jd6Hp6Wh"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="gbeoZBAu" 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 5BJ4cgUJ3992412 for ; Fri, 19 Dec 2025 10:08:29 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= qUi2FQ0POg3ZPyPYs1Y5KADOpwaRNzFjWQw8TsUhgY0=; b=jd6Hp6WhE3UlmcHK HzTMUChSk2rNI2LyJTgeW9ia1gxsPgjwRQsZdUBKYYc4ZuIHFILrmq/6Hq0ljhbp K6oggkqDJK6sVtMjCFmcNzm4+9IxipdU5AIUxt4lh/tZYhs9F5wYUSD/b1MMQC+Y FqETxxazPIzaiAJiqaLuCP2vk5Yp5tM/6n9Zx/yAYiz44vvOKNoTcFlpRkin6WWN 7eN8KLDsoCmRtFfgawveAbpejmtlwaGPtOKJySEosvVmWoE9fQruAGzXSDJXDh6D T6ARJhVx4mjp+6eG9iqG+ToAx/O422cEYEU3HYqnOsuvKtzPNCcUG+ZVuqs4AcNH VM4xTg== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4b4r2da6mn-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 19 Dec 2025 10:08:29 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-4ed6855557aso55114811cf.1 for ; Fri, 19 Dec 2025 02:08:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1766138909; x=1766743709; 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=qUi2FQ0POg3ZPyPYs1Y5KADOpwaRNzFjWQw8TsUhgY0=; b=gbeoZBAuES5gp3CgnI96A17wMtwlM8kEn8wShQh+3MSIMHrYB/4jFLs0M0X2D7Mhhn qhi3zxfm7Maf20/RdRCMOf63bCZ4J0xeEOH4YiEtKyvlDkEKT6Mr9yEDONNPtQnH7jzw OV9h59VNLM0JL0PMEkGAPrsOEpN4AHipHQZ1XntEWoFLdwoilp4encakIDi9MBI/VEBW PNSQF6b5VLRDbOs7y8eM8f5okXGLOLt4bbuC1ujT/zm43Ga5jtDRMKn8ItUZ2truUGND ZA5BD4xV1skxxFVjUXwrR9HJXE5/FUc8WA6AnPeqhkHLud7dlrsAWG4dcWLNUIa4fzTc FIkg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766138909; x=1766743709; 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=qUi2FQ0POg3ZPyPYs1Y5KADOpwaRNzFjWQw8TsUhgY0=; b=QANFnv8a4rblkES9UtP5y9Kaq7Zj6JtMpxgOZUEb0FQvZxw0xowwL9nWuce6YCan/N A/7C0O7kJzGo8B8gsP/dAtX6CS/8VTo0VyZa1gZCgPZec0yexw2dSaB0iGwSe3nOwfGV idtZM0QHTnVQdMHgn4Vj9Tk3MWKRQm6kjk5n1RvnhcMD2rgbCsKRqC4wwtfGmWcIop0p EikhFC02c8nwi6fjtiiNWaL2wW716sxaOe/zCrtplbFsiOz5uZmzmSRGsCE5Mk2YCcsY QDjcDw2+RjPKKCHT0Uscvjh9YeLv3Ifpeu+8RR/TTPhmHwZRTDUISSpJb3OhJv5/36vx 8Gsw== X-Forwarded-Encrypted: i=1; AJvYcCUy+AHVvkdYDfj0LE78Jx7Ma1fyd8NS8PsB+vmuNzhRQORf0grjFUCOXK/YBu9tL6Ettwrw42Bqcsme0qA=@vger.kernel.org X-Gm-Message-State: AOJu0YxGeqxlvUCM+vhPuLqH8A7kKpDiubTj4z7S7sm1QtvFocDw+wHy BiAQ0o718BDhKrxLBCD5KRfIUeLdiolOqxy4EZh00zMR7wu+4efj4ThNO5E0Wc8fs38967o0AG1 /pNzyLacSD4SO6yzJn5LXngEpQkBVPCkR9VMUprMxmf8jgard1lp6tQLEiYPGbEki05E= X-Gm-Gg: AY/fxX4e9KmMbvrwB2KZuSU4cmhdlpCEOZFvFPZGloUqXJ4HMf4Px7z8ciAnFnhNu/I vn9BZO+YN/PUU99tUXvgrqezivSpjNBf2DufVwo1jogRPKXMAfQfOX95nRTOwE5/9RVgjHStNog rwz4Vsgud3TNu8WlFvFIWg6KoSdOBnYHoZesYPJYyEqC3RjsIPJkQOD2FNHsib53I7oRr51oJyi 5N+jPvm1rzp9CuEh8NGIGWr6mah1DB39uHPkFavQe22EfFOAm8gHq6m1zhDEbYhiC2yatsT3Drj h9FVQWlicUODT332iDhyS7TPjFKodXP6zF/QuCZUH0tglYKKtfFbk0iRv8vE5SviKDwAA33Cf65 CMmQzGAeO1h5QNdgrmN8LkthOOCDehGtHE/xXbQ== X-Received: by 2002:a05:622a:2d2:b0:4ed:a2dc:9e51 with SMTP id d75a77b69052e-4f35f43ab71mr92918151cf.21.1766138908633; Fri, 19 Dec 2025 02:08:28 -0800 (PST) X-Google-Smtp-Source: AGHT+IGz6+WKg+YwIiNzLJ451ZJSOu/OTYaBgWs6+96xyhrnxrwNi9jy/UBoEDUkTvnuMA9bYoq31w== X-Received: by 2002:a05:622a:2d2:b0:4ed:a2dc:9e51 with SMTP id d75a77b69052e-4f35f43ab71mr92917841cf.21.1766138908079; Fri, 19 Dec 2025 02:08:28 -0800 (PST) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:a48:678b:dad2:b2eb]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4324ea82f6asm4209571f8f.27.2025.12.19.02.08.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 Dec 2025 02:08:27 -0800 (PST) From: Bartosz Golaszewski Date: Fri, 19 Dec 2025 11:07:41 +0100 Subject: [PATCH v10 02/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: <20251219-qcom-qce-cmd-descr-v10-2-ff7e4bf7dad4@oss.qualcomm.com> References: <20251219-qcom-qce-cmd-descr-v10-0-ff7e4bf7dad4@oss.qualcomm.com> In-Reply-To: <20251219-qcom-qce-cmd-descr-v10-0-ff7e4bf7dad4@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 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, 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=Cish+IZ6k1Kr37VBYYJJceEuRFx5HxqYDHdJLoUXgek=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpRSQOb7JCxb2znk7wfYadyLw5C5qwSHaSTqGkw scWaM7eeWKJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaUUkDgAKCRAFnS7L/zaE wxigEACO/BiPI5H9SUk7l3COIH8tDoPvMLrMkacXgtDoEIMSBbbc1i/uow7FEymqd1yGaoUEEps OMDTt9ckdjaddXCL5bJMdGIyMRIEsNRNpNO49UKik34nYhXVIBpRrimwgphvbjsuzup/iy6oWWk KjRjWHxTjFXwkOc9PjE7hhtIpyAD3wxfP3A2Kdvhk68thyhMDJBcYIOWa2w77aAyzrFmlYTIaAF eQEjsBTF2kXpI5PdgseGXw3XyFhLxSHGsvt7nr4obsUA7fwe5yMy3yqq3pc7qSIc47z3mN53zV1 zrZZZQIlv1QGPkzMckoPvWhwZwxRGgomZqAyU273Y0CPz2LRGjGy50ViiwAf7c5JDqOhS0fMYHM 36Jka4f8DQXhc+51uS6E1fYRgwJSVkiUMUI2PTZokoy+K/15b5PuN/OaLaPmakGPnKCxAox2OVg PXAJJDHNrZbbbcuWIRZ4EjRVVUh+dq1GFBc/KQ1ax5JcfEIST1edBMpKDiq9BjdOwTqnTpolYGA rD0f/wKILt3VdEmQ5aCBQb0P4Jt3D8j3olhIPIUQ+q8NeLTm6qtmoPOztP8FDWX4AvdZin7altq nM9Geg9NGYds3dZWIaqTUXgIeu9wVhrL4b/ZA+wL2dgA93T9vn/idn7PgE+3vEtzhJevIsh9YtG Bgmzk3N46I4+NGg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=AcG83nXG c=1 sm=1 tr=0 ts=6945241d cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=Fb6uNmSZeVr-t7npd3wA:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjE5MDA4MyBTYWx0ZWRfX/VudygRxOAhI chGxQHWqxZfmpRWiotPVjjlTPDIX6O+muB1vdHKY3jAHzb3ZxkvtcsC70JmRsHsyJujDRYcDaFA iooDn/9xf1RDjASyLAmCtUpGpRnUjNloo+9uyc2QWWfC8GXzUDw8t+Qr08gialahaVGfQOE2bXE xAYZKpB4n9mUNX19Qo7LkgNim1p4dewHKiIVa/3rL34iaSe0GFURUVQt7ukUxEHIfI5TVJWgIKH Ab27MWSpHJAs+GXFqtA5nEtxdvHr1xoOPWvMcCPh68DhuqfobtPCQGbx+PFcyRnmBCs/AzRrL+r DP3sCNqvoMXCXhr5p0CG86gyWd5gKuNruMiQ2SdLm7BaWRm+fOht4dTZeIQquKuyp4S/Uf/z4qN yeAEeJGFbuhUO4FcLxnNtTYdxpv6Li93zutXUbEkKj0RHarSaM7FzYNPl3YcXc19LyqFOgaCMsY 7ZI5dUlqO9sljzo3xgQ== X-Proofpoint-GUID: fY2X3jKP8tkSqe6pYC3Lnjlsg2n4_e3t X-Proofpoint-ORIG-GUID: fY2X3jKP8tkSqe6pYC3Lnjlsg2n4_e3t X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-19_03,2025-12-17_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 spamscore=0 impostorscore=0 lowpriorityscore=0 clxscore=1015 priorityscore=1501 adultscore=0 phishscore=0 bulkscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512190083 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 bcd8de9a9a12621a36b49c31bff96f474468be06..6f78e6b1674a0ff3deef4c3d189= 2a978555b3807 100644 --- a/drivers/dma/qcom/bam_dma.c +++ b/drivers/dma/qcom/bam_dma.c @@ -112,6 +112,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 }, @@ -141,6 +145,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 }, @@ -170,6 +178,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 }, @@ -199,6 +211,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) @@ -392,7 +408,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; @@ -410,7 +426,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 + @@ -1211,9 +1227,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 @@ -1237,7 +1253,7 @@ static int bam_dma_probe(struct platform_device *pdev) return -ENODEV; } =20 - bdev->layout =3D match->data; + bdev->dev_data =3D match->data; =20 bdev->regs =3D devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(bdev->regs)) --=20 2.47.3 From nobody Fri Dec 19 15:59:40 2025 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 3F20F3009ED for ; Fri, 19 Dec 2025 10:08:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766138915; cv=none; b=V+21T9qpC0oZihdgo6Fe5t45qpO01ePgrzjSDIkk2pe6CElrBi3GX2QFTr4tr47hMBEhqvG14C3O8McuMHhU0/6Su7XRneE5SLQ/Qzgupj7lL9tr7EY3SsN2lgnJR8OQx4Qf26SxkapPkoY7IzodNIUd1VcHb1QnVS7v4TD5Zf8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766138915; c=relaxed/simple; bh=DOOaGvO4aATm/FIZvF6KzTxzN+v3ZrLfCE66Wvpw1V8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=FOSnjupeDTfI1I3IK1RkAz7KnVmkG7ISpQECxc87aJAvM2gTifoXGvsGp8m96ehGVREFx5hnLeK3+5VZixhBKVA2h4/RAvI1HqoXLHEbaL4qNrCBIBybhix2Jv7lmd9QPvp91TtyFKkjqFnmTSH6sT6xvxFdE5bvROpSJU9JXks= 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=hYg3U4+I; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=AzC+Hk6u; 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="hYg3U4+I"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="AzC+Hk6u" 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 5BJ4bxfK3939133 for ; Fri, 19 Dec 2025 10:08:31 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= IFjLzdXS7WFARFCvGYmEmxcoIhULzoVNQ1ypX49ZyX0=; b=hYg3U4+IPM2FZJwq zRbjJ1sL9qTa6t7bpNClH1+XaEcV6OauF9SzPKRKusWgLZQ1K9auSfxt5R8GsUzf 6Sy5bvSLL+hn2x1INGuzMjdAXfDq5PqFEdfbgO0s4I040MSguV0ed6Pv0aohTYrv lX+osfdDr5xVTZ0m3T3YCU+quqveYXBnpyPqRbAdjfVc7DDF91gMkVcDOzi+lUqV Vl+D7GmaoFeN75FqKjLCR3TycKMxsbk1jQsL4HYA7nyDbNLO0B9qEEtH5BqP55/a 3GSUdTOhURb/adaNps5ovvVRKuQKL6EG8RQmGd9LkuY8W2NqcncIGHU2Sz/cym0o kmSLOw== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4b4r2c28t1-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 19 Dec 2025 10:08:31 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-4ee0488e746so31333361cf.0 for ; Fri, 19 Dec 2025 02:08:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1766138910; x=1766743710; 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=IFjLzdXS7WFARFCvGYmEmxcoIhULzoVNQ1ypX49ZyX0=; b=AzC+Hk6uG4GuOWOoO7lFYg5AoEvEGYd5/sES23/DZxbq9eR/cZSDx7VQVIgVnE87uY SJ2lBU1/3enLz/YOJaXcMmqq4XLz0BwAk9oJcj0RrZYcf+5COFdY7Dy+di4CN1yn50oD 4m9ddMSvz8WLYuhZd32CzCU53eYxn0QQJzet9dPXfeLkwqO5hKL/TMRYPn7aodRVucJO /DTXTe60SmNtNoR0KyWGyCsoa8M5QHh/UYE+rusP5deyH/zCooZQH9G6vW11y87A/cgy dz57or7bnvuce8ub+JBPI0qxFr4eK/oV8iJtUvcEwj0VQM7oIqen8Sl+Ocjx2hbL83xJ 3Ibg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766138910; x=1766743710; 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=IFjLzdXS7WFARFCvGYmEmxcoIhULzoVNQ1ypX49ZyX0=; b=r49MvcVCxWhekdO1XsO2pEIFDt81BPZDdOQB7naLsI2sbk69hJUL20a1+p3yCsE3Ip raUsk3QWZPZIBT6sfEzJSE45l4onS4kjxmuHCap9UU6jhiY2wk7+2f/omRddW6HbTeg4 y1f1z4ypAgnt3CylU5ZQpoTZgQU/Sh0zMwpGe6HQwUNsH+FAD0UGi6QmqWK9rYXj/9ob 3ZBh9Qwsc+AqVdCXs8ou4/pwGoz0GTd/VJnTTRnyc89l6XN+/bGC7uG3fac/njMbhZ7u qPlFlPinn/Z+UW5ARESKcdLuyGB94tf2rbuRG4rKY5YWzSl9hiJ7KbYFSXLeE6XpP7wy 4nsQ== X-Forwarded-Encrypted: i=1; AJvYcCWn9qSF9FUQRTIqDkBPKrFB47xAgeN3RqscCLfqInJGXo5MgMZf6LoQj2vofHkBETcwfmX2iHemuI0gmyw=@vger.kernel.org X-Gm-Message-State: AOJu0YxdDvtR75URLFoPtFX7dehX6MvHi9bRnzkWpIHChW+C7QHC8Wdd y+1bzzKXaPmBlUmL11Ht8nkXb53EdZ3CKrPqOrqOkwCUqOKDUG1euLKvuyrVjqgtyaA9dZ9CCpv hRENOVGSS6zTtVob48+R+rLU0hKYy9CmChLL1W5B/LM+pGWOYwD5p0fV+zCgzPU0G4Qg= X-Gm-Gg: AY/fxX76FkUwnUDVvxdB9A3lB4XcubjGKD1Y1dRmLfyDB+B7lLjnjhXinyDN4jvn4eH Cs/d6E7Ol331/QGtkNAGsp/KjuhBbHkb0RVIH0ciEOIybFRTfqeOgbLraKOGJq2sLlE2FG4wccU vNEKI5bIXLL8LsdhDaHekK7gb4L5aPRFjZTT5gDYP0n0C4rNgXTmvjv9naIWn5T0Rc57ofFVHsl NvHalvproOUPXvHtL5U3C4QR/t1cHt5H5BGDaGK4B0Xt2ics0yRJS7VSmY7CcQr++eJfWawEY6U SQHpC7VWBoDFUSs+C2DjBvK6f8rkcE1ghNRmfWUZd1NA7PZwEinq+VoA/ITVNoYPj3KIOqk7CNT BsJCPmgkG5zq09jhr5Vx0lDgYyrM914h7p0CvMw== X-Received: by 2002:ac8:7dc6:0:b0:4f1:8412:46e2 with SMTP id d75a77b69052e-4f35f45578bmr97165411cf.29.1766138910021; Fri, 19 Dec 2025 02:08:30 -0800 (PST) X-Google-Smtp-Source: AGHT+IHc8+g1QsJHtXxcUo099R0j4nSIa2xzIfiFZTkXGHWGmooPljDcI3xhv7ZIU8YcjS+Wh1RWlw== X-Received: by 2002:ac8:7dc6:0:b0:4f1:8412:46e2 with SMTP id d75a77b69052e-4f35f45578bmr97165091cf.29.1766138909640; Fri, 19 Dec 2025 02:08:29 -0800 (PST) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:a48:678b:dad2:b2eb]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4324ea82f6asm4209571f8f.27.2025.12.19.02.08.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 Dec 2025 02:08:29 -0800 (PST) From: Bartosz Golaszewski Date: Fri, 19 Dec 2025 11:07:42 +0100 Subject: [PATCH v10 03/12] dmaengine: qcom: bam_dma: Add bam_pipe_lock 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: <20251219-qcom-qce-cmd-descr-v10-3-ff7e4bf7dad4@oss.qualcomm.com> References: <20251219-qcom-qce-cmd-descr-v10-0-ff7e4bf7dad4@oss.qualcomm.com> In-Reply-To: <20251219-qcom-qce-cmd-descr-v10-0-ff7e4bf7dad4@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 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, Bartosz Golaszewski , Bartosz Golaszewski , Dmitry Baryshkov X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1407; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=yhm3Q7whQ9gDjS2DZY31DGTD5RR1FJpqK58rV1DDyQw=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpRSQPpJf506/e9fSbiImN4c89jPXJ48F6G2GRI dB/Id6WGWSJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaUUkDwAKCRAFnS7L/zaE w7MvEACyVqsMPwz28FGKEH9CvUi6ZkY9Yu8a0NxKlhP5b0YL6qU1x9graqHiWz2fZW48IMAXk42 JVPjkCZ6PHSDsiLSouOWe2aBcAsuj+s0eR+gfH0q7yMskiDbViPS+QN0CyO4B2oGf593SQB4UMw C6W58b/LyPtmPWPsBxOAHiKb+ZLc1vruZruGXeI84LMM0nuUStxsq+OmlYP0cOb3dFSmUOHK1Ey LOjPYUihDfhm8Xn9SL0rPBAQV5wa7RYPjsJxm5DZzkOdlVMpCj2dnyqZ7z2ZNBXjzoHe7o34vZv r8o4Exd+5NePMqYwPH03k9sbI4fm/f/n+BQhndYnnHqMZdRHtdMIx8DR/ijE3HSSQ4wTXOWMwc5 yzfkHqNQvxdGIDf6H6/0b/G9EI/iuTDqR92JCvCsDiMA6Pwjuc5q58itf4Br/BEVIj0N/65N3js 2dT8olKkLHBgYT4Dhw416DvF/Eopo0OIvF5vHARrLIGP5yoHdZcXpAsTfiSpNtGDpL20bKDiQZN tG4GC8WlpWjMzyQlY7wxNp6NfdnbNq4pU3I8Ow3cM8ktZZnNd14bPn0MV+0Hz38h5eTOIQiE8S1 uLM/vfjvJEmUGNYcR7MM6jHs7DG/UmUlp7Rizrjr0IuGZ499a0qlsV9PNmUBozE8gf9SUBdyWSx P26gJNzJ3j0gnRQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: rNji0pHqeK7wMrEo2tnz1mekMJ32YErZ X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjE5MDA4MyBTYWx0ZWRfX2QM5FS58eOo9 Y7is5yCAiqh+FuQEJSPMcOVOPB5xDBU6mtBniDsv5bIiDAq3AtInJhZkf7jjPzjZLQKqBn+nbCp FKdkZqIqApHxEng+i1/iahrT5JY6hXvCtHxwMAyr8aOo7yZr4of/FLDkP7MJsEmLHSOxMZqX0wr a6nU8KlFTUbWbsNipLRmjB3nENJCRH4zcf+pL2/ezTWf2jwdy7l/e0nntniYoIMWUCcTKixRrci Vp4Lz17JsYy9kv9f+kFuCzSZZ+TcZvBIilW8goY6LRFZF0AVQ46tm56pEzmM4E2Q7yjRcn+PvxC o6j5YFouCIsm0vjUFS0tgbIPl+wHwXri4zkbqdI6D1NSNx5/9wvD2Js42rH36u62adzJv/ngcmp +bWZt+xP98eB1jn2zxfUzdMnbIpx6BYvHN0ydfHLnSlcpVWwHSsYjenZwYQ7lrBbF9qjsRbzoKa bM/EDTFd5b+50R86ZtA== X-Authority-Analysis: v=2.4 cv=feSgCkQF c=1 sm=1 tr=0 ts=6945241f cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=ZSnkYuKn9ZpO9KHknGoA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: rNji0pHqeK7wMrEo2tnz1mekMJ32YErZ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-19_03,2025-12-17_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 phishscore=0 priorityscore=1501 malwarescore=0 suspectscore=0 spamscore=0 lowpriorityscore=0 adultscore=0 bulkscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512190083 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 6f78e6b1674a0ff3deef4c3d1892a978555b3807..0ce9153da67032dc8ce910f68d1= f80019d8b29f4 100644 --- a/drivers/dma/qcom/bam_dma.c +++ b/drivers/dma/qcom/bam_dma.c @@ -114,6 +114,7 @@ struct reg_offset_data { =20 struct bam_device_data { const struct reg_offset_data *reg_info; + bool bam_pipe_lock; }; =20 static const struct reg_offset_data bam_v1_3_reg_info[] =3D { @@ -180,6 +181,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, + .bam_pipe_lock =3D true, }; =20 static const struct reg_offset_data bam_v1_7_reg_info[] =3D { @@ -213,6 +215,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, + .bam_pipe_lock =3D true, }; =20 /* BAM CTRL */ --=20 2.47.3 From nobody Fri Dec 19 15:59:40 2025 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 EAAF9301477 for ; Fri, 19 Dec 2025 10:08:33 +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=1766138916; cv=none; b=dkpUqqCv2FsP6k3pgvH4zvWA2jt/PcHYF42oIb1X3kdW0mf0klQSMAeEIUBoCU+jGxeTiiSlwxOqUygPi6qwOu9ZU6JMPtYZ2N84EWe8W1scl1ysoV6ccMWlmqLzVy1jYJnybV9FNtcSDdDIBWu1t4SwZJLE0BZiAXxy6JJQTFQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766138916; c=relaxed/simple; bh=7PMKbHeEm/om41ZfOgXSUioL9D/Bfv6TCCK90Aa4rTw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=slVgAW1JZ/bWL1pfnyWUQoXj8qPD2h4OyYsr4pKPiTl3IgC3fs8CGIVhzAyE4Z+LRR9pzjhJ4V9ZuSlDnBUaCx3IcN0peGNzgwLO82W8LOws702ov/FMq34qOBbNf2zQa0UH0EIYZfPbAEm33aHw1NFOH7n4J5Utj4z79iDs1wU= 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=Ndl0vkEM; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=IwFBeaeh; 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="Ndl0vkEM"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="IwFBeaeh" 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 5BJ4cDAn3991646 for ; Fri, 19 Dec 2025 10:08:32 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= OKtSBSYuKktai9lNFrMLMD4oW6B4SqV4qHfmpcs+L+4=; b=Ndl0vkEMEUdkCxV8 N3ed9BiryJrCvZMjeKx1MFoIncdkjYyRZCT7C/1ZPxYsnYJqzcr4qeFxgPrV9AOI WcPDq6CJKJCQbzVPFlzQ7Hl+4b2IdLLD5eqhtZaMFUdZWJ61piZw5vvIWcQnfauq 1ZVeW4ivGuxy4oRT4wLCpDTiObHhwyg8bHNJlCB8+ekjvl+N2d4PtNyUsk5F8ENM 0um8PGcSFRCulClJxdy4VGo7+oImJq7dptycKgASPHxW7DT0JL00MNtzdo9wl3c9 nachHeRsG6Z5Pqbe/eMQfpX4r/5ogG5cz43oqrwuH8GbME5FuzNiWzWTPL7CRsIR jScseA== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4b4r2da6mw-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 19 Dec 2025 10:08:32 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-4ee04f4c632so28716121cf.3 for ; Fri, 19 Dec 2025 02:08:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1766138912; x=1766743712; 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=OKtSBSYuKktai9lNFrMLMD4oW6B4SqV4qHfmpcs+L+4=; b=IwFBeaehHsEpIzb5mbV285dqQw9Q9lcEjeEHAzCfSVNCtBwrReQLMCa6/2u3VI/i8h nef5XQ5wfiVcZAyUX52M9het4nVDbw0FxB4cjp3xCqHDMgoLbMj1M4bMiI3mA0B6Dg1K xZl+cndDVVzuPzAa1m5ubL8Am5dsBGKvpyeuTNPjoUzt67oiTi1ddlFawDQVYoWilYrV jkb5oyQ+lvBOIzG1ehm7nNhs0NK0TI39ogSHxkxASMICoYUKAZmPwdY4JzBDqdr4o0Uf 1R/YgORTdivw5TK8xDt6taO9ryVCtUJT/3MsF+DVapM8+Hb7EQ3WU2Hp4TDnt40O82ov cTvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766138912; x=1766743712; 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=OKtSBSYuKktai9lNFrMLMD4oW6B4SqV4qHfmpcs+L+4=; b=QHMxY1yQ7fhsuCkONDU4eQvWOE0L9DYdKk3TQETe4AxV9QHFAggvsyQrRi+rPj8c9o QdvY9G2062wNlc2FpfkoplcgcjzEFNMMLsi5j7p8XCoEcnY3gypNdkTumPhl61tJVYVl apd4gd7IPiJic5zCrwMsCtUYOKrdkX7dN1dzR8QkSH0EIKL1/FrwFKK4NRPfF89EZvAj 0ztcrUUSmGrAaO0YOsYZxfMHeD3hIU8+25jdPTlM27b/UuwjFdZ3hJo0PwCrKqVbjHOm pPGbtWv6/8GXLKsLE20nA2aJJ3oHpqpaygyaB2yg94hCH0KNN95WZd8EL7jfvzTmnMgf jcrg== X-Forwarded-Encrypted: i=1; AJvYcCV5Qf9KEuEOaXBH+piTxKqmJKE9nLv8HUf23X2GHF7d3FeF8GG8Dic+6gM3e50vMVNDNqVLlmG9wlH0hBQ=@vger.kernel.org X-Gm-Message-State: AOJu0YzHuRCLaELx8fy9aM23e8m7ahtMgFpLyPSiJv6uPAWVNRsCAqM9 eUreayQJTuzoxOuBmSKT0MFiZTGt8x+55dT5f1/QNmytsbkoon17tnoBJt+WTv2HF6BLdkNzWMz zGQe2bgALZi+6KhxEKxH37975oc+ysfnX3mBdQr3pQ4R83nT8btg54YYYOuYkkTjPnDY= X-Gm-Gg: AY/fxX55/hEZQpMahkFgumHmSJ9Fn+OEBhVe8XVe3ysL/9GoPjEqJmcfJ/fTDCY6v7Q ZqZYdbHmLoqeuzkwS258vi9rIaufFz2oAlPdqGlykZsd1Wh2gkzB3HAXuZpDQqxXsInP2RrSK7j mVv1SNH4m+E86bFMVB7OxtfvftS9p3Ogl145P0yEG6LJCACBD9NWameUtfRSElzExZ1x2h6Ou1D doZRiN8THIb5+zN0Tn5j0C9GAK1VRBiFrLkJdjRfLud8rxJBP4okupbRQOY8hluj8WP1Inx1Mgm qL+JkzfkMwTieW0QejU/h/TwHz/Vyi8gUEAVZsH8VX+Mhh6dATc2SU8O1x7tcFKSOAfgh+V5OQu 9ORveVG3sr/xxblMVxoG1wdfPWPJ8DNnw4/UMiQ== X-Received: by 2002:a05:622a:1b89:b0:4b7:a680:2111 with SMTP id d75a77b69052e-4f4abcd07c2mr28894911cf.8.1766138911782; Fri, 19 Dec 2025 02:08:31 -0800 (PST) X-Google-Smtp-Source: AGHT+IFx4aU9c/3drBxdTal9gjRRzpkhIFGuTGGDieFoT8rX+8Th5TCaz2tgCfcXi74dOJfJo/j0UA== X-Received: by 2002:a05:622a:1b89:b0:4b7:a680:2111 with SMTP id d75a77b69052e-4f4abcd07c2mr28894711cf.8.1766138911240; Fri, 19 Dec 2025 02:08:31 -0800 (PST) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:a48:678b:dad2:b2eb]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4324ea82f6asm4209571f8f.27.2025.12.19.02.08.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 Dec 2025 02:08:30 -0800 (PST) From: Bartosz Golaszewski Date: Fri, 19 Dec 2025 11:07:43 +0100 Subject: [PATCH v10 04/12] dmaengine: qcom: bam_dma: implement 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: <20251219-qcom-qce-cmd-descr-v10-4-ff7e4bf7dad4@oss.qualcomm.com> References: <20251219-qcom-qce-cmd-descr-v10-0-ff7e4bf7dad4@oss.qualcomm.com> In-Reply-To: <20251219-qcom-qce-cmd-descr-v10-0-ff7e4bf7dad4@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 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, Bartosz Golaszewski , Bartosz Golaszewski , Dmitry Baryshkov X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=5035; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=Ky8hwlPnsaQJGL7zF3W8NhhDThxLSiaPym+IqXC47N4=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpRSQQvsUmiLulYKcMt7Dn+ylHkzG53fkNhxgDh wsQHoEoaTeJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaUUkEAAKCRAFnS7L/zaE w8MtEACG6d1PBtOtnqSSYotH582RdbHlR0LL2ik5vDSIR+js62LAIsEzJoNSGDWvy8NnHWcOP8G Hhp3DWitWgvuwBJav0rMhIrnnM5I21v33l2BozxeaehaaDe0qrKLbXXjiNY9oyeNk+RL5nKlImx hO2q7/2Gi0RxG8clBEpwLIf7hz/Fj7fRuDHGOayKJEU7DrclDToToh2lLeIH0pRmgqGOEKrYhps 4Ob6kEhPgaYXhxZjSTgm0vd0nH18qcFtoHeqE/uHqsVOQZo9Ov6W54OU97ezQLev03fTOpoEISA CN63bP2hoXRb3jSa5mohRAaFwMOfoeyOf0gaDTqxAzBYVZL4DgGSMgy/p9CkgamWYd40fcvdTDC GU9ruIpkUtziXSF5ARJo6PY9pHZFuAUoimF6snHTxDY0og30re1TIUQM7zoxWKRTghcB9DvvPPJ KBzuu1B27Mhc69Ua+wR2Xq2efRxGxAqI1zbWngLUA32g+Ezdjbj7VnZayBxQflxDSncJFhye54k udwIt4afIkVdlnwrSacKjywmYp3mP1dxlI/ZkHSCnM0sWsKmzAQ0+WTxraBpJ8ZndtJL3TfmGo6 GTUrxEIxSpIsIoqNdOhO5o5iV29MjT5/nQ+jjcTCv9i+oyFaqMa838CIku+L5qedOjfPnb4Znno vAPKN4X1W+sA6QA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=AcG83nXG c=1 sm=1 tr=0 ts=69452420 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=ff4Q2WZ4h2nLullQlX0A:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjE5MDA4MyBTYWx0ZWRfX+2mPRMoFdYQk jSniQd5uMEG4R8UmhPr+Jze3qA+7SV0+j4wFsj4dpHoet3xjHje1W7KmPp26Jl3jaJQsGC+wCX9 W71gr817fApJM/oKmf3kOPyj4U/ll+UxXjzJOktMqll9Fiss/pnFkdp5u8lYfN9Y8p0B5hfSKxw NuBRxIPPob3dcGErBSRqJXALvQjP4YwXYCNJPYSZL9VyQbNSbkf7StgB25pg2egfYogm0eouLX9 U2LFI6KnINjOGpHrlRYY9CRpCZG5poKCjQ0P6BStovWyMbTJTIrxIp8fFBCSGTJaVkate/17TCh BHu2eHx/e97CRgJu/SclTEYgu3vtloLXcRHbKayBBw75vXUsw/Rfd6ha4KceHZjytb8/PfCWTUh /31RW9fUuXhuqH0dEdMe9gfYg4UAcBB2uSAUdUTQ/h1NCJJAwVWhlgBE9mj5xQN/POWcNe9IXFq C+OYOMy8N+3j+G2qtVg== X-Proofpoint-GUID: IvgJkbO__GuvU30AzvidrUX5YGsE_ypO X-Proofpoint-ORIG-GUID: IvgJkbO__GuvU30AzvidrUX5YGsE_ypO X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-19_03,2025-12-17_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 spamscore=0 impostorscore=0 lowpriorityscore=0 clxscore=1015 priorityscore=1501 adultscore=0 phishscore=0 bulkscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512190083 From: Bartosz Golaszewski Use metadata operations in DMA descriptors to allow BAM users to pass additional information to the engine. To that end: define a new structure - struct bam_desc_metadata - as a medium and define two new commands: for locking and unlocking the BAM respectively. Handle the locking in the .attach() callback. Signed-off-by: Bartosz Golaszewski Reviewed-by: Dmitry Baryshkov Signed-off-by: Bartosz Golaszewski --- drivers/dma/qcom/bam_dma.c | 61 ++++++++++++++++++++++++++++++++++++= +++- include/linux/dma/qcom_bam_dma.h | 12 ++++++++ 2 files changed, 72 insertions(+), 1 deletion(-) diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c index 0ce9153da67032dc8ce910f68d1f80019d8b29f4..e35fc73a53aaa2a6b999b189add= 7d72df15ebf0b 100644 --- a/drivers/dma/qcom/bam_dma.c +++ b/drivers/dma/qcom/bam_dma.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include @@ -59,6 +60,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; @@ -390,6 +393,8 @@ struct bam_chan { struct list_head desc_list; =20 struct list_head node; + + bool bam_locked; }; =20 static inline struct bam_chan *to_bam_chan(struct dma_chan *common) @@ -651,6 +656,53 @@ static int bam_slave_config(struct dma_chan *chan, return 0; } =20 +static int bam_metadata_attach(struct dma_async_tx_descriptor *desc, void = *data, size_t len) +{ + struct virt_dma_desc *vd =3D container_of(desc, struct virt_dma_desc, tx); + struct bam_async_desc *async_desc =3D container_of(vd, struct bam_async_d= esc, vd); + struct bam_desc_hw *hw_desc =3D async_desc->desc; + struct bam_desc_metadata *metadata =3D data; + struct bam_chan *bchan =3D to_bam_chan(metadata->chan); + struct bam_device *bdev =3D bchan->bdev; + + if (!data) + return -EINVAL; + + if (metadata->op =3D=3D BAM_META_CMD_LOCK || metadata->op =3D=3D BAM_META= _CMD_UNLOCK) { + if (!bdev->dev_data->bam_pipe_lock) + return -EOPNOTSUPP; + + /* Expecting a dummy write when locking, only one descriptor allowed. */ + if (async_desc->num_desc !=3D 1) + return -EINVAL; + } + + switch (metadata->op) { + case BAM_META_CMD_LOCK: + if (bchan->bam_locked) + return -EBUSY; + + hw_desc->flags |=3D DESC_FLAG_LOCK; + bchan->bam_locked =3D true; + break; + case BAM_META_CMD_UNLOCK: + if (!bchan->bam_locked) + return -EPERM; + + hw_desc->flags |=3D DESC_FLAG_UNLOCK; + bchan->bam_locked =3D false; + break; + default: + return -EOPNOTSUPP; + } + + return 0; +} + +static const struct dma_descriptor_metadata_ops bam_metadata_ops =3D { + .attach =3D bam_metadata_attach, +}; + /** * bam_prep_slave_sg - Prep slave sg transaction * @@ -667,6 +719,7 @@ static struct dma_async_tx_descriptor *bam_prep_slave_s= g(struct dma_chan *chan, void *context) { struct bam_chan *bchan =3D to_bam_chan(chan); + struct dma_async_tx_descriptor *tx_desc; struct bam_device *bdev =3D bchan->bdev; struct bam_async_desc *async_desc; struct scatterlist *sg; @@ -728,7 +781,12 @@ static struct dma_async_tx_descriptor *bam_prep_slave_= sg(struct dma_chan *chan, } while (remainder > 0); } =20 - return vchan_tx_prep(&bchan->vc, &async_desc->vd, flags); + tx_desc =3D vchan_tx_prep(&bchan->vc, &async_desc->vd, flags); + if (!tx_desc) + return NULL; + + tx_desc->metadata_ops =3D &bam_metadata_ops; + return tx_desc; } =20 /** @@ -1356,6 +1414,7 @@ static int bam_dma_probe(struct platform_device *pdev) bdev->common.device_terminate_all =3D bam_dma_terminate_all; bdev->common.device_issue_pending =3D bam_issue_pending; bdev->common.device_tx_status =3D bam_tx_status; + bdev->common.desc_metadata_modes =3D DESC_METADATA_CLIENT; bdev->common.dev =3D bdev->dev; =20 ret =3D dma_async_device_register(&bdev->common); diff --git a/include/linux/dma/qcom_bam_dma.h b/include/linux/dma/qcom_bam_= dma.h index 68fc0e643b1b97fe4520d5878daa322b81f4f559..dd30bb9c520fac7bd98c5a47e56= a5a286331461a 100644 --- a/include/linux/dma/qcom_bam_dma.h +++ b/include/linux/dma/qcom_bam_dma.h @@ -8,6 +8,8 @@ =20 #include =20 +struct dma_chan; + /* * This data type corresponds to the native Command Element * supported by BAM DMA Engine. @@ -34,6 +36,16 @@ enum bam_command_type { BAM_READ_COMMAND, }; =20 +enum bam_desc_metadata_op { + BAM_META_CMD_LOCK =3D 1, + BAM_META_CMD_UNLOCK, +}; + +struct bam_desc_metadata { + enum bam_desc_metadata_op op; + struct dma_chan *chan; +}; + /* * prep_bam_ce_le32 - Wrapper function to prepare a single BAM command * element with the data already in le32 format. --=20 2.47.3 From nobody Fri Dec 19 15:59:40 2025 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 D403A2FBE1D for ; Fri, 19 Dec 2025 10:08: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=1766138923; cv=none; b=G3plHe8UwZgQ8SAbAV/KnxZRaOJNtO6XUh50kXaZda/oFyLsBMqvbBQW6VdotSeeHJ6Ol6DLbw+hNwqEs+bfV+WuofKRFUsshKXE6iRc+INYBZYidSyjq5LmUq/2ezAPyygZfHaCqraJRi2COMfNaICvAccDHx8Onuqbs2yL/28= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766138923; c=relaxed/simple; bh=D/DbbvsYNV6WfJJN+Y3qtsfzsdueJP3Q7cdgK44aCk4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=s4LmML6qvag4gWdrcqNVZkQ0V+bb1yQM5vQGFdVP7pMiVUTaUP4jPqMrOoDE3en3ODx1r7K6zFV6HFLwtau9EOvAeKpPPkbQ6TopuY6hvNmsnNt5emsiynLORe+o29r7q+qF8icKQdHC9iojIRLQMZOqfPqZpOu5TtQ5w/+yrrk= 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=ZDIoAg4C; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ZkjlWCTw; 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="ZDIoAg4C"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ZkjlWCTw" 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 5BJ4c6WT3991031 for ; Fri, 19 Dec 2025 10:08:39 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= f+eJOMoesWuzpXTSR4Li0Qt2PYtZi1rSvrjFdAlx9Tk=; b=ZDIoAg4Cc6xVpFhw Btnbxl/g+ye7C4oWpu41TA7qnrOPbGWtcnDqsNDMPp3wVlAqbDdbdWGyiMA3YaHb ac42bjAMY2hW/hHq8bUJAuE4NhdolIh5DxqlA1M8TwB7OAP6gJyb2tPzrbfWZVaa +UEKtbHKX+t9JZl6yBGBtlb9STQiYn8K2o8+tQBeNGlMbcK/McB588mGbVBx9RMr SPZgN0nnigIgP0rIAUv03Q90xBVypBQsSH02vv3kZcxiabEv1V4y+L4u7WQEpjS0 k+nqJnegjjyT++1Sm+Sb4ikxZIvL9br7XV3ryae12abBYDqWVQ9Qe2JNbZjSilXv 0kxTpQ== 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 4b4r2da6ne-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 19 Dec 2025 10:08:39 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-8bc4493d315so417113285a.1 for ; Fri, 19 Dec 2025 02:08:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1766138919; x=1766743719; 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=ZkjlWCTw1QpnDlPsrdFB7ha6dztCtmhqzuezAhSInwxNDOA7gw1BA8NodeP7AWIsQ5 4w82ITdU3k25NGqk6KXxaCDlhCqyzjWftx5T/sAwFeQtPTUN4HMopgvZ2NL16jEIZbQq RDMH2x0Q6CXJpUmUwxJr5HIB9O6MoWx0q1DLIjr3CMKW9LDKRap/F00JimrR+Bj/x4iQ /q87865Rf2vys4XkL4093Ca0zkrm5iNz6vH4qjUQrKdUqATNJE9VwBY1gt/3F7Ov1K/y co4qyimqlR+q+K4VE3M703HNprHZvqoyxG2mBnzl560qIzU9RrY9/xq9xSiGEpKX22l4 ZFUg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766138919; x=1766743719; 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=wZBSnUaX4EivyKEpvc1NFPzf8QU1DrPaW0D4wJMHd1W7oOIq7gL/2Rp+PyOic0vHHq xsMjQq4poBRN/wbhcfHLjcA7HgTbvndhwh4PGmXi+y8CHZJsfEKokx1eQmeNsR28Wwep 6IAZO6RL9C4TTUonk6vGUmbNzA20bII2SKCtGClUClGDYg2NpNEujf45kQvoTvl+H1in jxMCR8Z4PKd586SSDY8Kyvv/O3e465ROFeBx2a3g5UcKVtiMD+srfxm9WCTVbXaxLW3+ LCDXWcme14F1O/dkgEpGavqDPYCNKEU7W0/K9DF+7dcgQYLitvWIXgUqZFkoOKjPQ90w ohlw== X-Forwarded-Encrypted: i=1; AJvYcCX+qsz4RjeKxqZ/nDxeOOjSFNjehaFycePj8I8q7QzW4xugt6glOCGkDJ5uLYKVHz7BC2pnQ+275zehs3s=@vger.kernel.org X-Gm-Message-State: AOJu0YxlKpK6OP0uqsJolgugizb6dsb1sqFALPLmuU7ch49zCnrnmnN5 OSCI3QHjQ61qnOq4aTRodRjTf68y48Qk3ZhE3I8G0ShuQdDq6UKWa2F+orIpKKgJ0spNos4IFcA WxCFvq8rrENCP4sFc4TqE5CZiTpYM1n0nZKEsDySzJ36HsZUdbCgV+fz0fQgR2IQfB6A= X-Gm-Gg: AY/fxX78vMX2ZBRcxJDyDaPy9tNQdbrHhPXmZHSXRiRbpY6N839TNQJ6+IWZqgF6XF1 yBM3dGWvmN7bngKwshIv8r+nmvvPmtphh6lL56lNnYsK8pwLBHCBH9UCIeO/Vl9LVTO2WlEaElp TR7JZL/P4yuewJ4ChMj0W3dA0hFWbIDENzjx3N9KHyTNnOgma3LL0hjdVp7OS9P+KSLQunqjOVn hmW0wh43bqkQfjDze4WWVpltW4pYt0ihOY9FDLewLG/0gyV0V0RF/V4QUQz4tying8pTZxjlkr6 XLIfTPfSgjfGQl6rCroz0ABL8/XO2dCT9AML9zu6ryynVSM8xxnHaooxxKmYD5fyDKTBeiGb6Nv HdbJ6VL7xRIS2hDp7ehRVIFWDuS3PJSV5PJ5P1g== X-Received: by 2002:a05:622a:1146:b0:4ee:3e74:43d8 with SMTP id d75a77b69052e-4f4abd752b8mr34648741cf.38.1766138918727; Fri, 19 Dec 2025 02:08:38 -0800 (PST) X-Google-Smtp-Source: AGHT+IETiUyWjk72Laxdo1Vk6nOQPiwxV9KFZsPrNPyv8M50TH4aZslHUQCws2mR1FSndQbsPgKHlQ== X-Received: by 2002:a05:622a:1146:b0:4ee:3e74:43d8 with SMTP id d75a77b69052e-4f4abd752b8mr34646161cf.38.1766138913566; Fri, 19 Dec 2025 02:08:33 -0800 (PST) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:a48:678b:dad2:b2eb]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4324ea82f6asm4209571f8f.27.2025.12.19.02.08.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 Dec 2025 02:08:33 -0800 (PST) From: Bartosz Golaszewski Date: Fri, 19 Dec 2025 11:07:44 +0100 Subject: [PATCH v10 05/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: <20251219-qcom-qce-cmd-descr-v10-5-ff7e4bf7dad4@oss.qualcomm.com> References: <20251219-qcom-qce-cmd-descr-v10-0-ff7e4bf7dad4@oss.qualcomm.com> In-Reply-To: <20251219-qcom-qce-cmd-descr-v10-0-ff7e4bf7dad4@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 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, 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/NoTDAcsmYgBpRSQR/MRuqHz4YHU9TEMN8SBEr98n35SSm14FR aNGRXRJQEqJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaUUkEQAKCRAFnS7L/zaE w72MD/9EkEe/K9FSAd92hRRaw77bZNUMabNTVrznwnoM/8Pl7f4xOFCUWphhGK3X/72hrAg7vLy SEnzXTKn9wKCGiOvapvxRhoL0QRufeXLpKYdxPm8iglsh2Qhn8VWj4hp0j4DX0jwRxtiN9qXdqU VlctspkyIq/+sHc4hdqsuq7pgk6+hxMt1NKsQJASXDPyjj7WunZKoF7Ch/vXvr5qh9otUS1+6gZ /xk8Ihm0srAYCo3SLVjIggbdhFsQSRxznES2nzRwpmAk/W1Fmj+yX/rvNe+W7hXAayDw+wfg6bY 5qSw3CY6OorJaWRE44nIjbT8jtc0JBbj1GQYC/yjgvW06SaVALiXPwtptUwczpyz09hEdKnMO0K LmXZl8+KZwQHSfPes2ovo07fBflzhO54O9Ds1LVr/5vpPk09gV0ogSqSsU91IsSceMbR+17Hu8v bCVPXPOAORcELLx7tz50ZkMS0Z5Z8VgjD4GSRFfo9rGam7qq2FAA7eH/wWR1VXTvvCuq2QDvf/g S8/OIgrVrMoNCjBqoAkmAOMKryGOkSE2xJcYB9iaYYNnzmttJNE2db91TbE2aEc/oD1Vxoh1GPD FzU/i8AdptZ1r1KRQraIiheo7EJTk/L6qTBTnmGSPqaNQJcsUIJ0QiH01S+ndtMAw0m4MaGaxrW UgLNEvLbhjn2frw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=AcG83nXG c=1 sm=1 tr=0 ts=69452427 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=rvG61WhHFVBzVmnuldcA:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjE5MDA4MyBTYWx0ZWRfX7K90KUAgbGlc UA9AqPviKLTrX0lhbj4x20Tj/N2wa60oxUdB0NQMrWa35UKXMsHYZ18aZz3Umj7+w3XKl4frgQC xDtWnioTVRcm5xM4hW7eRYKsvhx/LUqA5lPdBtcrFOalw+hsUJLvpToJsZM2H4rF7QfhZpXwaPU nHFEnvZA/R2vFd2qoAIYKJRfl21Ncw/BLOLE5KJWd7WMNVj7N0ouFuF4AaDd6hYXk8kYjVBKuTV j2z2YKxKxt4PGVr/peb6bAtN0tV8WJXG+mPXmmKg06/lDA8nAV/NA6dl0sBboiWzEgL1IVAg1sk Y3MmjoM+fEVgY5jMJk8J5KOd2hFDGG3LGkPWg5bOCxQKD9Y5GRBi6cC1rleGgaD6bO5fPphCX86 o40aFylcvKwgOdpn7TcSqAio9lmBay7nyjbNBtBoUlvEbfxL0GBDWUB/9TjbUdya/d226314ZA9 JRogMasJAhlNrts8sIg== X-Proofpoint-GUID: Q7akHJpMfh3JtU3Rmi9kQmWj4szlyK19 X-Proofpoint-ORIG-GUID: Q7akHJpMfh3JtU3Rmi9kQmWj4szlyK19 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-19_03,2025-12-17_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 spamscore=0 impostorscore=0 lowpriorityscore=0 clxscore=1015 priorityscore=1501 adultscore=0 phishscore=0 bulkscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512190083 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 Fri Dec 19 15:59:40 2025 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 2D3C130274B for ; Fri, 19 Dec 2025 10:08:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766138919; cv=none; b=T3CD/qM9qeKyKxqoM3Y3h0quWQbTSo65yn3VoQlVk8VtJLc67gHAsE+ORVHDEYJTBzQd+MBKM+nRq/yrdhGTJy2Z/IwNBYwyrgVDONJJ9twdCm3lTOIz3s2rpbbxBwypM4KcSVD/Pcr4mu72XuKVVpzExwB23sucO16lLIVrptA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766138919; c=relaxed/simple; bh=6dN4XjHr+6OQnOzxmGwMll0VZH7PW0q5aNlxk1E5+Hg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=YUIntnfeDKvBHnGVwPGOQbc6/sCaaxmQn8k8jWGa7eqkctTHwDrIOdK+RhN0R3oZnWA3/Fy/eNYwR8PPbMCPjJPKLXM3G5/ptRwu2mU8y80ZyQIiwWgBLPXvohwS4oJDC/aSR7wBe2iZqw7RvNABy1tbX4kzsETBQFDxPLcljTo= 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=n5fqXN0B; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=VBmrq6KK; 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="n5fqXN0B"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="VBmrq6KK" 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 5BJ4cu7Z1772385 for ; Fri, 19 Dec 2025 10:08:36 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 9iGVNuTYeeAltbq14HNN1Bd2g5XTMHQ/MFj6N7hyZ8I=; b=n5fqXN0Bv1w+8CH0 /TZ9HkqZFss7Hx+yvZ+KsSGXvs/aHLNvPt3++hLfdXNAz48ZTDGjn8PmdRIBYHVb b0IkYSx41HEH3I7DkzPodrPATqntLM3uZEmhwYEjcCU9jgZ8SJpVZ7VYDKUY6rll 5KidemAgIRLq6nZJREjPG18Tg9jD8gWQ14LLP4PusBkKr7x+wRiowIGDIKPT5Qx5 8KMHGb3MRF5czPTeCJSdWQeDJK8ZpRBoKDpibS5y+ppqmbq0Mb2GiuHJvEbr0MfM HyT02UPj75GqzsG7mDLsXa7Juewyo/R18JEDYTFTZZeuOPTO1eVFWxHHAlgM3wSB 1WvvaA== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4b4r2bj8n2-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 19 Dec 2025 10:08:36 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-4ee09211413so36212021cf.2 for ; Fri, 19 Dec 2025 02:08:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1766138915; x=1766743715; 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=VBmrq6KKNxm62b1tuNzd/83a9KO19Jxd7bhjI9qS8Yk/gJbL45W+XQ3PNuCYyX1AK4 YUODTzvIqYaNdAwVy+SWpHWYX7PuBkv/wo/fs3i9ywDfU7sfpqqwRPsh4bBr3ZTAdNhD qrVl2VdveE3Zxyu8EaAG/e18kby7vRzp/WxdK05Rh3a0PxMJ8DPXEg5Bg1GwqZrQHs6U h9JQW75+dUy/0ZiqMWooMN0NR0uSjsVoMu0F+7TgdbKU7qnRu50mxLo3KshtuX1Ce68/ gh1E3tE2ax2khAopOh9pOdfrib7/VhhuNCz6VrOfiqE8bDRoRtq6atn4CFGiAyzR7+21 fPhQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766138915; x=1766743715; 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=Foa9hZsO1avO/LaUzuqVMVXGUam98+Sow896yVDWbbWb49meY/RR5ZIzzQnxdCNRIl CvhNMu8u1CfYYn1iVHPhgQoQJEd0cSm1EzVy8T55jZc/U+Ii3twEjZRVnvcJLzOICpON nzYVncNYgW9xo/TNesD/Oizd/c8udBtJSOFXfW0Q6fNDeIcOR4bkw3DWgX383K7kAB8Q ErJEzlby3Si5f0Ke1L148SVFtvzQakPBFnmfubGz2UbIs+ZlCnyFg4JDl5F7n4Qkza4C r5lnxWbhfebdRrT6EkXCCbzKS3vLkDcgZQYlRfmCzWipWMUrofKGebh1w6ivLi6afib/ UfBA== X-Forwarded-Encrypted: i=1; AJvYcCWg8byQVDpo3edzsK4ElZ8xsAcefh8otL+sYMDYvY+hJ1Am8RKpt+v0Y7oReoQdOHdTPqRL9GbGjCUlRQA=@vger.kernel.org X-Gm-Message-State: AOJu0YydVtqL7zlyHjbgpcm8Vc51dIqzackoUwnOtRoJalyJCpTBpQx9 bZHfcmf08o1p5psGOuNuhaUj6MRkZ/Q1HHWo50+oY1zRDGDq03lgMQ+7Z8n9fmcnZk0hTkq4pYV gIGDP9jQSQF8qsPeFWipOmPxEEhyi8G9rXl+dSqDzWyMLLFZ8tycWvxk9bU/Zq52/QbE= X-Gm-Gg: AY/fxX5XZUJ75kQQ017Zy4NtYLYdy9k4TKCM/CaPRZzzY03Dhh/RC8Mo9cnUbk9USwI 16pcmHpxrD4Q6qhIiS3ZAEmJHap58kAKqDwjJnR+e9HOLFk5vKsDFIo21xb7OmkKsjBTqZm9tSX vE2tw/+HAKIZT5YkESMUEMie+MiwUqswp2tIAuV7UWkBmAx0eP5UxtzYmxNNhnidX40ASAr7p5w 3OZtsViYEmB9VdLtKz+vLPGl/ZERSqwt7dgoHmSwP0Sh1DUHmJfyh+iEL9AjtvAMZXcFUU60Lfa gKChn+nlGHGrR4kWjB7veiVIV7Y8HwJxGMjJHZT+aeyntvLLBkzi8AxXRpcdXLA9+2s5woUSNGe qUQ9XKyaM+8+FlWMwgBVhqhEzDBNyR9gOOaGHLg== X-Received: by 2002:a05:622a:28f:b0:4ee:1ff0:3799 with SMTP id d75a77b69052e-4f4abd74a55mr29641291cf.44.1766138915322; Fri, 19 Dec 2025 02:08:35 -0800 (PST) X-Google-Smtp-Source: AGHT+IFz4giQwH5X7LuypWLo9U1+fJMoHQI0FlkCPgyAR+B+nIDT3LsZmrmPqVD87xFUXXNPvdXU/Q== X-Received: by 2002:a05:622a:28f:b0:4ee:1ff0:3799 with SMTP id d75a77b69052e-4f4abd74a55mr29640941cf.44.1766138914836; Fri, 19 Dec 2025 02:08:34 -0800 (PST) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:a48:678b:dad2:b2eb]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4324ea82f6asm4209571f8f.27.2025.12.19.02.08.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 Dec 2025 02:08:34 -0800 (PST) From: Bartosz Golaszewski Date: Fri, 19 Dec 2025 11:07:45 +0100 Subject: [PATCH v10 06/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: <20251219-qcom-qce-cmd-descr-v10-6-ff7e4bf7dad4@oss.qualcomm.com> References: <20251219-qcom-qce-cmd-descr-v10-0-ff7e4bf7dad4@oss.qualcomm.com> In-Reply-To: <20251219-qcom-qce-cmd-descr-v10-0-ff7e4bf7dad4@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 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, 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/NoTDAcsmYgBpRSQTefcv4cYMI1ZoHjt400fLY9Litr6ZG59Dj KtoJRtN6nyJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaUUkEwAKCRAFnS7L/zaE w7DzEACtc8xd+jyPZoQLMG6DPKT8itC99zs9zfVE3otqbuwsbLdmoFn6MqnzRMuHHe90IBhRJmU SY/l7zOg5MDp8BLANHlBm9fqc9xmcqg61MTrzKpM7nYYMJ710O48FZqCl9IDYOhIvETcDh+uqXc 8oaFJ36UpnKHSoLaigiTalvVx15tY0eZFZc1XGV7O29DQ0gxkVEdl2kjfJBn2PdngFwVINmgJtw hMKhhj1reGzd3JaPZbQDjSnFh7mKKKZyP91JnfgXX+vapLLLQDFelirHCPuk4xK023yJkowrz13 IbItlUbrupdp539e4nSfREzOJonDADg/NiIEwKAcp6dBOubSyviUnfKG6jQ67wguSHDtpW3wpN6 i+OwT4XyRHAbViqW8isUIo+3mtIxqJnagIuiGWGnWvX/RbLDK2RP1qZop2sTyuY2CJeCyIpPoUi 5kGt5L5pNb5Q9nSxq9XgZNNmu66T0RK4UpZ0wHS/SHlovNUy+v5muKAHw07Oh6j0RH/fsGHpz8w sQLoP+iAZiS6szgaCgTqE9RfvMe/n9W46ZJ84KA3HRzNpilp9zRxIkAyAh3L1w65HyUOdibwWXd AUmOIZlJQgL48vmGdtAvxN/HKzwaynU5XNMdb59kXzZ7/RkJSPFeiUXucFHbdnW2Zt4Vx6fPvfs t0q5Mk5/jOZHQ+Q== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: esbNu8xdYf7Dotc-4uiIh8dUtxgXYEnf X-Proofpoint-ORIG-GUID: esbNu8xdYf7Dotc-4uiIh8dUtxgXYEnf X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjE5MDA4MyBTYWx0ZWRfX84P+4i2OvCQM v/XqNLiky7upYQ61D+5wbzTdLnhWDcZZKaiNR2ci4DBG5bMYktTS/DepbbJgdKCWaIP3kgnqRPA 3amyA5J+s8efE5V2A6Pe+vXBQBCZvborAz7WcYjDCFhO9vve+1WZ3qR638SwUNRXGLaUzPlSJTW I6sTGsuG8MjyPR4n/g2udEGchafCmJuwurQAGaSXGKM1Uex9DvQjuvQ8EWdY4He0bftDANPZDWP ZbPSqMqDZnMLh5NQBOQo9330PpHewcug/POFRFv/EipgvAqB6TNglfo4YtBKogdnGXzPJ7+43OX nBySMD9vRSFCG9BK7jmgsjarKqrFNo18EmbUqahYDon/QIx/GQzDb9arSJywCIy4bDaX5cITxSR VJAbUUaknK1yXiNtgNCmZMRzCGuQM9uJzIg7gFDMkpUex0nsmuzf3b/1lVl3/T5+DAb1u5NRoHW 7fKoHGtqzfoZ514ypSg== X-Authority-Analysis: v=2.4 cv=WYwBqkhX c=1 sm=1 tr=0 ts=69452424 cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=tWRRbWwrKX-5tUpmLDIA:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-19_03,2025-12-17_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 bulkscore=0 impostorscore=0 priorityscore=1501 clxscore=1015 phishscore=0 adultscore=0 suspectscore=0 spamscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512190083 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 Fri Dec 19 15:59:40 2025 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 7F8C0303A26 for ; Fri, 19 Dec 2025 10:08:38 +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=1766138921; cv=none; b=Q84Bzi9XSSrmuoP3thHWTypQK5SgidVMflyoySqJJ0p8S6TCdj2mmu8xLa1UT3xkiIuDV2UXQX+RYsoWe1QqTK7uoDJUg7gQpPF36RVH8qcrjLhQmURMGCXWZj/AOz8FH7z3QVQX0LdkVg+qOiBQDcrxb+vBo3uvNkCDfGVKJw8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766138921; c=relaxed/simple; bh=H6RGZzI1m6Hy642I73fornlozWd6x9hkPKo2H6raYsE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=h162gZ+Au+lfqXypywvpPpoZYIczEOmGodr/ApFDm1zjWBGVNa5jtwtN3qx6NixoKBfTMpFm5vXB7YvkgmW2ZFLpyAoBGJoZackxv6drWDbqP9tM1SrwsjVjXkbII0dp9KOTfSew+4XQIO3scejam75Hx0vHXfhyAo3+Sea2Ics= 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=FblUbiks; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=J87bdN7t; 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="FblUbiks"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="J87bdN7t" 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 5BJ4cnZe4155417 for ; Fri, 19 Dec 2025 10:08:38 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= DQ9O/WxlrEXbsvKUWZga3GBiGSWqxH7TMX/h6DSnlY8=; b=FblUbiksDdOT6ybC 0eFMd8FZPiQC1MNzvNl0gINkd03cAer4YZ3VDYH6Qp/KIeOKp87DQRyRcMBHn8Se 6xEsfWd38BtmAtbA/vR6kHzZw8eknmT8ycBjFZNTyk2zPTCAjrKMTFvSKQOyfyTz 8GmGmJnIl5vxodjlvfpDszkHG9lCuntckx4hdwg4cbm62csSDDUqn7dH1psnJbGB plMnJzq/ngYmMsQi6UPw5kXjudYO9axYaldM+YUCsDZiNe5we/ok3VvX0806ysXZ xGGLy+4gligIZbBSYWG3rqrjzqmkbDRgZGRQVOTReT7s5tx/ZWSFplGtcjl7XQeA TQIzVQ== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4b4r2ct9eq-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 19 Dec 2025 10:08:37 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-4ee0c1d1b36so53745841cf.0 for ; Fri, 19 Dec 2025 02:08:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1766138917; x=1766743717; 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=J87bdN7t6xKkW4I8NyKQ9PIhP6mScQfjV+3kKr66HycsjhUOQIOri3pP655VUt2o5n Bflm42aVKAdNYUaWyc90oIurZX28QZJ3tRCe5EIJkwbH8gOO41VTEFsV8bN8wRQjezKl B3TyE2zlr2PBlnAWdZKD0nSdcGPpazSc93coe2xgTmSFP1Pvj8dXmyGKjIkRNmzlG0dF C+x064FedWORFoLRypSycY2fnlYXAIgoSgeew/6+9rTq1tgmU6E1wWwyCAsDVltyTmNR l29q0Gl1KMfYA0O68FMfeo59bnKYPJJMkT98Uobktq9Ggt3k21aOCUsNyzbjygJ7U3Ss iiLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766138917; x=1766743717; 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=I/vUURhOFpSb6uU2Ak1XPB7ZkWzJoymB2ElQM86sMvIWf6Kq29S/U88Be0rq3ekVs0 KSz5mEv7qfyKJJQrLZ8kAvsw81BKq8K8iyr2/Ytv18EnW97T7n4XKdwMcF7UDkZqnczs gtUQkxtbUhXD4SztZ5x4IIxG3qof4qp1j/k86Ovn42YdMTa7H8mdbrrsaKywI2O1PIi9 tVQ7/L/CVK/5OcvyRerK3EYKLKu2ld4BbrZqrZ8nIxNTRdHe+6khhU5JlOjIphNNSfEU wged37NomPSlT1BsmPuNBu2/v32ttdJxoOfv2UCl+nU5PKQidKf5VFo7Dl4SPU3ZNeGN VuXw== X-Forwarded-Encrypted: i=1; AJvYcCUrXa7JHVTiXxyQVHmKrYcEG7MYtjGQ2GN8FeN66OQxZXcmlEVwuJJAwzXNQWzeXvz4SMJVJgzYKDkUeF0=@vger.kernel.org X-Gm-Message-State: AOJu0Yyms3kExnMaD3x4xhaBUOTa/7AUfYr/elfDSugeymV3OP/gvBoF rcaG1sdPTzRD6JEyfk+n5ZMhXm6YH1yd9JMD8q+lU7yWHPDPPJX5ao3RIvbXSoT1l5BWjW1Uh3L 3Z3v3nAq3WusyCMq+gsa2qXwBN/DXeHKDDSLe0y7S7g9VdjRiF48btuMCYvKNE3hDgSE= X-Gm-Gg: AY/fxX60tH2FplqMfWHNcTk7+K3EOZ8Hgz50G4r2X/5nVt9XBiQ1079daT43bz2vd4e SMa2SmjDNTQeX6/0Z18fO/PQLHKjSZaUcbUl9bXZzCT8GFG2aP1b8qUC6W+jWuCK2C8Rba9IcbV 60ijF27rpwz27l8mzyeWKg10rm3gE9cXx+tOOZBJFf4+xmz2y9sjmLq+g9y7G7pDcAlhaM+cQjT +JiYfxTU3LaxFJr92xDn4Y4nmqB4DAJbP06veoLdlMIYrUvTWPnF/qAown6cAQTYXDFijc8sJVI r/Bj3v5lFj1KKG7PBuUPCVXOuNcHPVAelQDNpBFc/Bu4PglIpM6gdBxMeNb3rllDt0vEtu32aMs R2EQIq6jbD8VJa1VKjjj/PNYWyDF8HqhEq/g4vQ== X-Received: by 2002:ac8:5f8e:0:b0:4f1:bd60:eb7d with SMTP id d75a77b69052e-4f35f3a0f1dmr74754891cf.1.1766138916762; Fri, 19 Dec 2025 02:08:36 -0800 (PST) X-Google-Smtp-Source: AGHT+IF3KPEegnMuKT75tg6XjQJTnbgPfXlp5ec6OVQCeKcX2ems3nTyFKNO6BdQDvZWNhuFnoUV5w== X-Received: by 2002:ac8:5f8e:0:b0:4f1:bd60:eb7d with SMTP id d75a77b69052e-4f35f3a0f1dmr74754551cf.1.1766138916340; Fri, 19 Dec 2025 02:08:36 -0800 (PST) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:a48:678b:dad2:b2eb]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4324ea82f6asm4209571f8f.27.2025.12.19.02.08.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 Dec 2025 02:08:35 -0800 (PST) From: Bartosz Golaszewski Date: Fri, 19 Dec 2025 11:07:46 +0100 Subject: [PATCH v10 07/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: <20251219-qcom-qce-cmd-descr-v10-7-ff7e4bf7dad4@oss.qualcomm.com> References: <20251219-qcom-qce-cmd-descr-v10-0-ff7e4bf7dad4@oss.qualcomm.com> In-Reply-To: <20251219-qcom-qce-cmd-descr-v10-0-ff7e4bf7dad4@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 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, 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/NoTDAcsmYgBpRSQUTzmSGLFyrlG2gEZOV46m/aXCFMmi/dETO y9XVLzl7a2JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaUUkFAAKCRAFnS7L/zaE wwubD/4pvTivO1ePmCtJUdSnGlI1Y295t5L5NP4cseSIqIWmOvUk6OR31ukM+4U6a2uyw33CL8N x46pBMvqf3dk99TNSzqsweJdYITYtYNiHv35f+/Yjo84hL61azE2qcrKuKPZTgMgzebKIGqC5FG LxOmE23qmKuJZZXfW5RDc7wNd9PWswydsAeH++Pyl9wPmuiwgLDKPaR0jJANiFSb/MoorrsPx/u MFxFlTCQPDkdq038laMZnoJjEWW5mFtwu3H8rNckqPAlrQqbkn3OLCZmFzIarv/hhV3M2Hh8Q17 WYnfprGleqa2vbJp0WFdPp69hQSTE/LXo3lpqenRLxRgyuqAnmKps1L44kWepRpnXXaRZzr8Fsz L8jsdHcuJA+rSiU2KGfDZgPgNfHmbMUgPHuHqc2nPwj3bWgn4tx1m39uaTobEKD3mBrs+7HDKvt rtR223K+FYfkO7G+hCKKJlhGOUtG0WL0wtroFkK7lfiCQGwUhw3mUGkdkkX6UWlp4U4lkkm23KE wMC+uJoHqxNSSXCnVuPrMR2VpG+T9+PJZoL2cfN2D4Mg9jku3vnJ0coxe9h9747DrL8uvX9x+p7 ho44htD8gWdrzYQYR8o67RyLFPKMvtWeHSM52kCeUFspOS9m9muUlwZ1T1+G3tWJBxo/GSvZ+aJ fHmpKPKfJq+71OA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: MCZSL1abxPYFJ5NkKnWGEQ8_w6giNO7Q X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjE5MDA4MyBTYWx0ZWRfXzhra85VSztMj kf4gfFWtLIOyfCYrxQ5GcDU7BmbChrNCjdjMi7pyprSMFFX6G5LG5n73+1PwyM4/5IX350dYzTF 7Of+hevQaMV7KmXJakw2UAkGuPtPR0/+GMTULUfZEx0d+HVKr7fcfQHSOP9kukdijc1y71IqzfQ 5PiYionf5zuW8cyzuIdgWE1uJxIWz3T33ORN94q65goYd//KIrdSppLZ2pUbxr5DpQ0gUSsY7TP 4pEVYpVaQYw67okr4v2LuwH5ca4DA+lIQx6tvY32EVUh8HrPOwaUEqeEg4RtkhPOqEhRWHt4QsO 76CtSPw4OO5+Guzex/hQm/AKjFBZmBTFUoOs1pQQyoWXTcrzwk1iNe7eDr75bD+2x3JocK0i1b9 cd2kmRpboT+ISFq4m3avXVHWtbBvfRhci3mZIf8T33aqfmsfJYnlVwS30AZWxZ81GuGlrkoFi20 EwxgCWFMiRvNfr5GW1w== X-Proofpoint-ORIG-GUID: MCZSL1abxPYFJ5NkKnWGEQ8_w6giNO7Q X-Authority-Analysis: v=2.4 cv=Lp2fC3dc c=1 sm=1 tr=0 ts=69452425 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=KrkfD191a8oFwBap4LAA:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-19_03,2025-12-17_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 spamscore=0 suspectscore=0 clxscore=1015 priorityscore=1501 impostorscore=0 adultscore=0 phishscore=0 lowpriorityscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512190083 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 Fri Dec 19 15:59:40 2025 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 09C0430103A for ; Fri, 19 Dec 2025 10:08: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=1766138923; cv=none; b=soHm+WGiNN5M2M2CpgW87SIFuYlGZiSu7NRcNDNdoL51vRTyBG+wSAZqjTOUMThv/0YqTGz5zrliuIXqCMpsXuSyZMe0DQodkSzV2nnAfn5ziOHiubFiB8Ar9VfuXgd3o4svYSx8qndg07oLjd1resN5QOZFDPH4JAYxt+Aeue0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766138923; c=relaxed/simple; bh=0l3gdVnkPeEhRWmaFMSjmRRcTqey535uYCWAXzuHtwc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ncEekJ7RYfDbfqV9jd5KAMdLTk/R9oBW+2APzjd3xnqM9R0qfMouU01R1ImjmsWH7n0qGTzKOcID4aIvDcixfYlcXx79UFRxolvsbzNmH3ubgfgb1n+9GNg74KNMurxYdC6BqSRmEcSZD3CJdKnCv/C7ZCdW+5kcmlih0OMaqjU= 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=E7HWsdqf; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=UrOlWC1w; 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="E7HWsdqf"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="UrOlWC1w" 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 5BJ4c0n53318713 for ; Fri, 19 Dec 2025 10:08:39 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= bP+u/9sMDsi5B9HZu73nJnAW0uvD7B1160U6L0iNO8E=; b=E7HWsdqftRm/lSe7 yvpq3qxHbM1aAQMytnVnmhqMduehaTld2RXY6cLi+04dbKmyPxjKDPCBeuONokGM r8oqv+PKExm1t/Ovxj7E8f+hDQFAGVNFoUOp8miTIZ3M8TOol5FF3ZFgeFed04AV y4n+NYLr4rI60KD1JAE9Rmq+4VVtfPj9Un1Nv2B9Xu7lMM/sEuHYebiDrfwsKmV0 qHV4lrAayxSzF+e5T8zipIpXmb3ASxHkKV4DFNBDrwvn2gl3XxYcoFdry1HkvopK HikT1E2GQfOZJc/h9YyPe1CNudU814aBYCZe9Xn4/0wx4zMEylDetay/uhU6MXVS aS0OWA== 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 4b4r2et7cx-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 19 Dec 2025 10:08:39 +0000 (GMT) Received: by mail-qv1-f70.google.com with SMTP id 6a1803df08f44-88a3a4af701so35703246d6.1 for ; Fri, 19 Dec 2025 02:08:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1766138919; x=1766743719; 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=UrOlWC1wcsaXOp6oPwERRrwlgFx8JnDDc5qQVfP94zCel2/dD0T9lyw7VJT7DcJj9N gFhn4PS5eZswm6fUhCb/68jpK+AStsO14PAo5ON2zipp4WLS1zaqR7R/tYImg4n99hnm hpHwsjtyraq4+J0+XebFNbyMiZqeJYVMEMGSuHKLOmjaKeFzlnpc0tFtk6Who7b6DIO5 V3VQWprttQ1zbrT6kNX+5ZMdIigF9b0fWSL0wstxD0tX6IkagmxYEsgVuKRrOMXmBVaA jTcYcNXN212dYIhvLK6MRbQYXmnxDxQJQ9Zi0Lvaz2gdLLGhUS6JMHKqrfJKdWhdlUIC gr0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766138919; x=1766743719; 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=L2MGjbQWUSZ7F99KPeQEwVaU1A9S5N1skB0886S959BMOwvHP+hH2ChHQi7Tx4xj19 FD77R02OI1YBSQ46aMN8zkERKcQdLGL4VMiNfMy2hQxx/N3uJcfGyDvQlZkCc6iSC5s/ 6I50hIH90GHMmh+7a4wb/6VuyDt407BXObq6r/s6D6aerrj/5+2MAFsvSyKZ6jnuHYJ9 3JurfCyptaJ+tZFrwuD2MZTcv2YtTGwWvpljhMCa+rqpyAFBErH1bZQ7JT1ELgLwZMYn BdEuXVlpAq8rAYaKLaZT0p58CUKalU8Wap6EcmOr73W68Y2jFHwaaeez92S9Tti3BrWF vuHw== X-Forwarded-Encrypted: i=1; AJvYcCUlhmOL3Pj392LfwpXOyuXs4KhaD9vnKm8/1iRzfyA04zws5gsryealwBq8GCIdPahweON3Q6OxG7eqlEo=@vger.kernel.org X-Gm-Message-State: AOJu0Yx51PUPPSWpz2io2S61NtfEFB/gVGzMLgmWPKkkcNtW1xRKiM88 lPMelomHuM8L73pK4df0N69YkgezO9d6IHjgn8A/e5aM/BMQSIQCJ7q3dg4ZxTHsGuJGC6NIGdR fUs2suJJbHAdGpVk1JY+I/hqcxkukvxPfZWji7NlsgM+7TlehXzzVOi6HZAKoqlwkBfc= X-Gm-Gg: AY/fxX5KBpPuawdCoRp19NRBu9KNbRj3S7rjOje+Obm/C3SCmaFU+Vmhd0aOrNzMsIT vRhpoYQnSBTqFHwLWZHIWl7eCKoJpg1LXmWMYy02HaZJzo7UEMOjADafGEhJq8N7GZRvmQyBTq8 2GS8FXCCFGexyp3bdGvD8rJmqHvgeDlX6dauKgDZIiRIHIXxExKKb8i9c3vJrOMN782SKTC3fjy eAF2BufGn2M5o5jBIvYhLHFYMvShOT+jfPHEauLxhCVbhaaLl1mfmnbVZ9vjDvkBzar13wf/+/O Z0AkSnIOlrCVERh7iS08SVFkZIlWAlcJWmLs+q3dKecjDDNvmpPJQk7SJD/mY/EwNBDSoK04D1T 3EHghGxIve7OCJkiHuugMCDAJJd2vryFx/rBKJA== X-Received: by 2002:a05:6214:1315:b0:88a:43bf:b26d with SMTP id 6a1803df08f44-88d82524bf4mr41463886d6.15.1766138918355; Fri, 19 Dec 2025 02:08:38 -0800 (PST) X-Google-Smtp-Source: AGHT+IH7+ng+TMJdIriKO2FCbHPSS/RqLqd/ZtxuW3TLEQgmbTqVki1I3qDta2wpZfmsBufhAKs30Q== X-Received: by 2002:a05:6214:1315:b0:88a:43bf:b26d with SMTP id 6a1803df08f44-88d82524bf4mr41463686d6.15.1766138917903; Fri, 19 Dec 2025 02:08:37 -0800 (PST) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:a48:678b:dad2:b2eb]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4324ea82f6asm4209571f8f.27.2025.12.19.02.08.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 Dec 2025 02:08:37 -0800 (PST) From: Bartosz Golaszewski Date: Fri, 19 Dec 2025 11:07:47 +0100 Subject: [PATCH v10 08/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: <20251219-qcom-qce-cmd-descr-v10-8-ff7e4bf7dad4@oss.qualcomm.com> References: <20251219-qcom-qce-cmd-descr-v10-0-ff7e4bf7dad4@oss.qualcomm.com> In-Reply-To: <20251219-qcom-qce-cmd-descr-v10-0-ff7e4bf7dad4@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 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, 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=owEBbAKT/ZANAwAKAQWdLsv/NoTDAcsmYgBpRSQUBr0mYDyjQ8uzwnLSY+TxENDs4i7vLTmnZ HUSMJTud66JAjIEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaUUkFAAKCRAFnS7L/zaE w2inD/jp9D6aEn1hR8fcE+ZZwHMWLX1sjWC9MoSYSQoCnooBe45yOVD9RiQE2YITZIlz0MJKtL2 rrF6TMmpOVYoUU4UFaJA/WtYOdPiv+oDwflFafnix3MBzZNCgRl0kuVrt+v2x6zt5VZTWbew+MF PLHYkVkbhEl7q/nZxDmqhnwtoY5dVtWgkPpAZtKP0fFhGgc6ZkS6m0+0tUFQVweFBZ5RdMIiZJS ZZk87V8hyPE2IZOhYx8Em8tgIqdSAgBZ/1vBDeNEKeFe7/4fT9u2LQR0eVm3Ew/i6b5g32oUcq+ NmxOsrskpkyXgwJI0spMwDVrbJY02n5BbiIWGFr8S+qst4il8nsBDfBl7Jt9k5GkR8hPXpq3nNw FWHqgJLEME4XPoiUd3UFdY7Zkm5Qo9rQFpbBzt+8DH3F4X/Fn+utnJ6VI7LUiYDekNjVb2n63e4 HsJihi3ePCFwBhbqan8uhos2Iq7cajqOG/50y8ljAah3e9/2OwqyOzxec2A/J2dD2bJuMJUzMhB R1ci+0g2WW5yi63m0+qDHJI8PuTQPvHz9FSND5jHUg1qy2LDJTT5LYx9O4ht7++5sHYExUwe666 +ODjaRUKU4cSr93JrO5AK0Sx/Tz3IIHL2xsGVHjQ4XssU0qthshPNpshhBAYZU7OacQ86kc+YmT nQjZYoeiVGROy X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: bX9ap-1nnzG4LBt-8ZH_6Nf7Qf8NwvyG X-Proofpoint-ORIG-GUID: bX9ap-1nnzG4LBt-8ZH_6Nf7Qf8NwvyG X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjE5MDA4MyBTYWx0ZWRfX4wFAE9vufqUf Ga13H1mBkValx8MXEgLB757TZNKJr+loiNSIw+xAuhID8Sd1h1o5nLnXG6rExVAjlb8u0oN4Pud braNsEbOIis9R4yWy+HJQdH+zuXqghigg/kXcz71l8u3BXHwZuR0Q/KgKKtld5QWoJM4p85lfVl 6hrrcGT+SNoWRqgqrFrdHvV6/A7GGoUiXuqg7H0KZhZWv2B5wdUqZKf4w6+wq4+dJk1dyRYZOaE l2FEaeiuM966zUPTCT0XVPGX4rnfVT4WL9NB4RPBwgjl5+jlUWmWEDcl4Ow0fy1MU8gMBtqVTns /KnPRvT/2s1jw/1RmTwjQKEmivZdLn/NUseW3RNMLr+EecfSEFMqpPGNO3vLDJ98IVj/FYcz/bh D3+cAhA/CM8GAR08n306GsRsWqJuYt8q7Qn1kMdR40jm1MttQ6I82Aqoz6E2xa2hr4Li1+RqCBF FOKKbNDPCBZR8EuVxeQ== X-Authority-Analysis: v=2.4 cv=Tp7rRTXh c=1 sm=1 tr=0 ts=69452427 cx=c_pps a=oc9J++0uMp73DTRD5QyR2A==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=r78XHnC5kAO70zNBxnsA:9 a=QEXdDO2ut3YA:10 a=iYH6xdkBrDN1Jqds4HTS:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-19_03,2025-12-17_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 clxscore=1015 impostorscore=0 malwarescore=0 spamscore=0 phishscore=0 priorityscore=1501 lowpriorityscore=0 suspectscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512190083 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 Fri Dec 19 15:59:40 2025 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 47BB72FFFAB for ; Fri, 19 Dec 2025 10:08:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766138924; cv=none; b=YdA9xc4lBAO/9U2A0XsosG8qPRztfMOWbOQU+gE0A5QSdmEfRqGQGEWaNPFv/QY6IrPP2aAi1K3kYO49ly2sMxlc25PKgDdRZ2Kkr+02kGx7Vf/lgeRARrxKPhUxf0KKoa0rvmKi761XCiObPAQJHBTw+aWYXFiss4F4Fj5pVss= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766138924; c=relaxed/simple; bh=FnVBtOe0OnnBy34d5WsqwWSUvkeiYQ93/vJc1qwp/2M=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=SBxL+c8a9ztIeFt7LpWGDol3JcdsZpjM1vZUv2zaJOgjgZtNQViaDeDnMekxx0ZEyIthcUB+KwN82AOAI5v4r5fknZrQDhnnXuty4dsudzMHVgfavB//OlnwHOBLajvBa+N+FpGOUsLfeCng3PqZ8JcbXOBTfiyBLvLjEIZx25A= 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=T61wVVoE; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=BzdTy3d/; 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="T61wVVoE"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="BzdTy3d/" 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 5BJ4bwi04153896 for ; Fri, 19 Dec 2025 10:08:41 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= MnBQFcKPOgFHzTGJJB4DToRykxT+JvIdZWyKHEJZL1c=; b=T61wVVoEF547vU/m /4wzOx1e+sZFk7oSZAq4Et9N6dQJ3zOtTBbDrpTFNSqb3pvrosLMx5bfbPzER6tc cw27Um1x+yOFJA/KD3aE4m1vSqbwOrkuWvbiB24iYAqgkYZxnPF2ANDL582qTs7X 9GmBkDbxLWd58jyGUFnaHKz9NuV539sDf2Ug3q7o8dHHmVXql3ZfcPWcITajD69B pQj26GyYXes4PQjVYE0q7F55MrFkJykSRDJkN/Eb5beacNOQfmDE+SfjcfhOShVq 7TPbMIrFdVND45Z4dIVWrIKyDoquPCH94tNLsx0EKRcanEw2DcgNgkyuf8B8uoR1 0gmzfw== 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 4b4r2ct9ex-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 19 Dec 2025 10:08:40 +0000 (GMT) Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-880501dcc67so54762436d6.3 for ; Fri, 19 Dec 2025 02:08:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1766138920; x=1766743720; 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=BzdTy3d/iO5E8K/yywLH5MYQK2g/aKPBaOyauRLK5I/rH1EP/M72keAB6affn2nQht 56pt7W4H9Wqfe0C13kPE4bBRuAqrvD+PjzPIVoVZw/3dbmnltvN87rLvmhY73UPefmPr t0biJL+wSwF7aAWPRrxOP36vZJ74gSC8OuS8dXWzIVGaN/fEVLu+8STQ6C/89RMubO2o 2W4UpdHruBbQKbDmwPFTmBJLbdFmrUehMZV53h0mai1PnFvuZxAuwIk1sWMECMvzMHgd ACGBjTGxcDHwRo3nLwq6DCemr3hLNZ6sauKsfW24DTqjJMhekbWohp/K3UqCvzNXwaEL FM+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766138920; x=1766743720; 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=O/AQe+zW24rad6Zji9MUq+nsJajQ3M6hi+sLdyE0Uf3bLEjRzw/LW92kyG9fzWclQY /AfZBdB6RVBZkL+1x/1IhxX0PzrMASyAf15fOK+kce4CUwV6GC/GNgQ8F0f/U0gCfVEv Rh6P8bdzFHaJLcdn6az5jAeGTUi5au6UtQ5guEzcEL4X//J+Xx6q3tDIUO3nDpsYxMMc 6g13b9+7wm7JABbb33JIexPDziiMliWMCthurR0iRUWSVXsuEog908SvYC3ZCHgeETp/ s75TzuYoBc5kYA5HFdf0ZdyGxqPIA82ZJw5gnJTjLApMoRLqAlQJXLlu8Xz3dnnrRJpk qFOw== X-Forwarded-Encrypted: i=1; AJvYcCUMyp7xOgQnRDDVY1rb2LnHjNYvsU1g6zp072pPQjlnVZCFne+1gcW8OAC07VHHZkkxMBW9tvupWW1wYQo=@vger.kernel.org X-Gm-Message-State: AOJu0YwY+cjeJoZNbjbN8nM/ppvNwoInlXpRC7J0qSdXyNIWSFX8UwSn xr/V0vU3TM0ZxJVNb8SIh2R5a6LpmLrv65onGY0UeLPA+G4+VUaub5gNOLAgMjOpeFE544FHbLX 0+P/ucwf0qCExL+VKKnUiCEfPrZcIX6i1EWRSjVwgCbPvflveF11tE5Gl9KsSR5bEHJQ= X-Gm-Gg: AY/fxX7wdqH3twtGhdxVp/NfJAT1guYJDgzI8aynZuFCgDCsV7opLsOsVkovdjqVMWD RbpR4LY1tmiwlaLp8N7lCu7U2r2Gi88a2ebOaf/T+bxz2HOCT+ceVEzqXEmVsU8/S+5v7hqLlc5 9Sk5mSMu9tuy11k3zd5GraqrEHlUMMY3HmvOB8V1+SSkHl/+ZirktmBmzljyzE8IQxzEpg48bJm fN0F/W6NydPtKcr7Kkto4kDoBQTDJA7h3gPfTWm+A6/thSljXjEl5U8FSS71ZdCaBpx1plvFaKB aZdjSicC7FheBoVJflGA0tNMPJ1lDDR9i7IMbkT7CIQYrSkrtqk1i1n/OIrwVEQqRllbzvU3zeO Z4r5JoonWN73aZqErE1S/Qucv8WVPglI92O6nvw== X-Received: by 2002:ac8:5d10:0:b0:4ed:64c1:16ec with SMTP id d75a77b69052e-4f4abcd2a4fmr31729981cf.23.1766138919776; Fri, 19 Dec 2025 02:08:39 -0800 (PST) X-Google-Smtp-Source: AGHT+IE8evzCuL8bcIFiYtwnbQ/Fn0Agh9kHBYubQBpio18ThoiXkcAeiVzR8M+80D4wHn1z4oYyWA== X-Received: by 2002:ac8:5d10:0:b0:4ed:64c1:16ec with SMTP id d75a77b69052e-4f4abcd2a4fmr31729791cf.23.1766138919351; Fri, 19 Dec 2025 02:08:39 -0800 (PST) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:a48:678b:dad2:b2eb]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4324ea82f6asm4209571f8f.27.2025.12.19.02.08.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 Dec 2025 02:08:38 -0800 (PST) From: Bartosz Golaszewski Date: Fri, 19 Dec 2025 11:07:48 +0100 Subject: [PATCH v10 09/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: <20251219-qcom-qce-cmd-descr-v10-9-ff7e4bf7dad4@oss.qualcomm.com> References: <20251219-qcom-qce-cmd-descr-v10-0-ff7e4bf7dad4@oss.qualcomm.com> In-Reply-To: <20251219-qcom-qce-cmd-descr-v10-0-ff7e4bf7dad4@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 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, 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/NoTDAcsmYgBpRSQV6J8jitsCsTQ5/OCwoTR5WiYjuWzbdVisp 7XbUnPmV1mJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaUUkFQAKCRAFnS7L/zaE w7a6D/9U3orOciDL694kuvhMWVRO2YzSkzD6x/t3Ztw2vC3h4+TiTwQEF+992n9vFsjkpatfTL2 K/FtjcWUAZ+xr3iLRhMrdRtid2SV0A6gtP5USRTjoyouHgap+p3JGs7OKq+q6l65BjTJg5vzlV6 06/ZWAnswsVPU518NSdHmcEq1hOKvcOxgowU64ok6ZvjqepcruKfTJT5uPLA48z1IhTs1A/bAE4 icRNm6iUQ5OmBbFCvJszbQ/w4ijaSd40+i2ag/I5n4G5y3XRNzO4Fu2eZOwVPr87yfDRU6qKcuD ZHHOYqm9Jo6Gfl1G0dvM/ZXtP66DqAoNJN7aaaCHtDhApBnNTc7MTquaHp853P0rO+HLDmekALP 7tj6E/jJnjVzJfEgpZu3G8Vf21O1ph+tjq9hth1EOIDIImmNtF2V0paGsTELJZYff0jAQjffAql RisGP/ZPauZRYeo7HW9WEkTVrdmKA1wYjzJENcYdFTAuPLyIl9WmJIWDJIeCHCEkGfZRBIoEc8d S14UzHCwiw3YOAtj4sEvhRtxFcNPBmSQM0L7Vg8s0sEzHddoOG6LmXM69RgZYLURpQkbiDZlIcj KrCWJ4gYv0nrXbJHVBD6+kbZfYUXY5hBQQt3UOGbV/oU3iA/aJgykcsI+TQm7saK2Ce9cpHPnBG YPGM3dadzHnJmCA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: kfgMQ39QFehjuOfC3pFqAUXDbQxSvoOI X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjE5MDA4MyBTYWx0ZWRfX2hYw6e9LyMII 5Tf+i5EPxUv51F6DaxDX0M6GdZ3iYlBvNPwNiWYgjbdPW8jdVEqJ56YgcIr/h+hRX231uQxtBRa qV5sCF8xwPxQCYfubvcN1fTIcTZDqLXX/eSMNifgbJ8aZnpdNY/DvruA/NZ93Y0mVKtXSTBl9QY yZEVfEres7hz41YnAkM2wuaneDEh1aH5NAvefWpKxV6WHSn1211kV9rBqjkaQCqaUXPbo+4F0E/ mYknjdqXfQYq0+oMP5xKTdYcsVidIs2LvbBtf/6KO6574liiSaqDzoxV7sjKjb1imYh9rkuTi4V mzpr6SW3Y9tvuJ0XaFSmYtPkXEQLU0cR3TEHZb8e8hiHQmo768eHpiF87uctKjemTJ4YmI6RjLU MCoslkRwBkHAAgNwz3rSJUXRp4GrvPTrywlaUMNvseDdz267wQ+rykUbjyCh0lJKR4RdErokUai QxPS1vf8MExO/6mZP1g== X-Proofpoint-ORIG-GUID: kfgMQ39QFehjuOfC3pFqAUXDbQxSvoOI X-Authority-Analysis: v=2.4 cv=Lp2fC3dc c=1 sm=1 tr=0 ts=69452428 cx=c_pps a=7E5Bxpl4vBhpaufnMqZlrw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=76fuQ0JqpD8MvifAs1cA:9 a=QEXdDO2ut3YA:10 a=pJ04lnu7RYOZP9TFuWaZ:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-19_03,2025-12-17_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 spamscore=0 suspectscore=0 clxscore=1015 priorityscore=1501 impostorscore=0 adultscore=0 phishscore=0 lowpriorityscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512190083 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 Fri Dec 19 15:59:40 2025 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 069073009ED for ; Fri, 19 Dec 2025 10:08:43 +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=1766138926; cv=none; b=iz+EzIPmb55kB6nIwNDATHhok/Nj6g7hsjIW9iF91SX0YsKI4SnLALwevP4KJ+Gou6DWobNHfTGOLyVG/O71dloqLMljvxzEI5PqVHwsBXuaOcw+dGgtwPMw3Iv30XNZL0voy2tc7HK6L2AUdDNuLuvXLlX45vbZ/UmLxhmNwjQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766138926; c=relaxed/simple; bh=P9G/XM66hhWIjOFw9n0h55XNqJdzX7mEFBNxYddp5xY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=La3+tx6fubjw76eMhLlkz8tAK0Mf4UXCJ/vRCdOxfOcCnHL+a4XBqFiyQlG4OoIl+kRbjByKbVF3NaW88sGVxlXuF+JPf0cu91DSVwr6NCbPKGO4lu/1QDkOOVBQtxePjAtOZqT8bpaDik/VIPKZuMqMovt7qJgFNP7+oJ9Yo5w= 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=TFDeXbjr; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=RSY/Rca6; 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="TFDeXbjr"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="RSY/Rca6" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BJ4cIq53700752 for ; Fri, 19 Dec 2025 10:08: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= AsfR0Ng+trtCxWXr8RJfsUoS0vYwVZ8Rep8jGuwkJXE=; b=TFDeXbjrFrYgpgLQ kK3ETByF+XbgHvp/3dLKBWVjxW3fH82gF1t+lmI53Pr5Agcbtq+N9wq2Wwb0RmfI vqZh9sYkrEzaIPNNmBH7vSGypn4na/+f14Nvsf78mtYHIsqlTYAH5YX8ioYNVGVW fTVWUmitFXyDtuZtS8ow7tJfvaegetHjjjALTn3sVgd0dD91rb9tJDLJrZKEFoSW oon0J3WKd/v2l4cosJq9e1wIy9Zpd0YXK+G3Kg/4aWUQJlQHUH89i5V28jaxD+Wi HIbFak5aOAfH29Su5+1+WYJtUTwZbsX8akWvcMGju2zjF0x5Ydq7eaXfeai5UCtj NFKrog== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4b4r2ej6yp-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 19 Dec 2025 10:08:42 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-4ee3dfe072dso38701491cf.2 for ; Fri, 19 Dec 2025 02:08:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1766138921; x=1766743721; 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=AsfR0Ng+trtCxWXr8RJfsUoS0vYwVZ8Rep8jGuwkJXE=; b=RSY/Rca6dE+/4UM+TcljecSNEusDRjfhRUymCQr9k8lpb4a8GQLi6gK7ZqS/WwGYCD cEVKonrABzANf2ZPEWlCZwlhgcPCEHLU2STG2IWmnqn183OWiETaqnZZGACvybEJIdvQ OVroMaJ+20XeVXMJ4Iet2dKztv+uvCv9799ePVK6fhP/ZjmyyJ+ZCY9OcMOjzYjJWzom HoQxrLuVaTeE1XBnGVVHupCAxTkUs9tubuXR3AeDpKMhyjJmXgCROs4suJe1nIbzJeRc oZyww7VOIM6mPCbUZVUr+ThH3X16DM/cCBDgfhfS2GRNc/4iE5nrGsppuQETDzFYJc+N rwiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766138921; x=1766743721; 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=AsfR0Ng+trtCxWXr8RJfsUoS0vYwVZ8Rep8jGuwkJXE=; b=QR4nN0Kk4iBqdiT5QxlUmy3KkaMGhCnmxy7q61M7qtztT0ArbcQ8GL+YF51cBJN2It G/ea0VI7nrr9PXbwypIRHVVuRrYXQOhHF8xlT7uekqYM/E5vSx1NFTQAddhZa6qZQ6+6 ouPqT/kRuB3eoWXvXxyKRgbCMcY01STkVxvqaaTiR41Ot/K/7SPu92nCsEgui/V+caQt ecsnhhgU7X50oNHNkC552cfUdxpglzgg5CI85gepYGj1QtGta67j9aPjQnXQsxMpXL40 GY8Chfnm9iZ1y07dGu/QYSIW10YKt3mLRCy2uB9qwGVHNYdeZWUxqWzhWoFoV+MShD90 /ZrA== X-Forwarded-Encrypted: i=1; AJvYcCVNEhpXldKmAxukwK8b82KwTaTorUM3RasYlrTkto3q+FvZkMMPvhTlpO4y1JTuJZdAzjRK53+IF0an1ao=@vger.kernel.org X-Gm-Message-State: AOJu0Yxexmo38P+SWH2WeRObA3saBLnqAHVM0xq2wgywLDq75sdUvzZi E5k5lSBAWOeEjsFLd+X2b/9UDY4TGOV1GSGGFiODXaWY+49yuAEHR02J1BK691mjpfpVoMwJ0yB VAO4G9IjJgs/dg4wL/85dQR7WmFOdG8B7SYSKkPEozdyWFh2uV/MdtWIt0NivUe769UU= X-Gm-Gg: AY/fxX4XxT6/H/FDSleT1Kdye9Q+dYK6hwnCbEc3zqczG/zy3apRzQomcK0182FfBgq QzTz9r58n2+92hBhjbPiF657G0NcnONHzd7MxiKdKZ0cN57getYFqkVf/xBs9dAQbQElCQHKXCA 239dxRKlG+gjjslryJJBA5MB1xTsZvrg/ZUqlTw49RcipHlO+Ooag1MWteIEZTHNBrhnjJXobom Ub0T1yQ3k5dE3DtjMuW0UC2MorZ614AyeFm5f0vYii4+xQ+8a+7rgPxnV6WkNUKRFoUFOe/LkMj iJTlwuwwfSmj/y00UMsuzERDIUWG9uvF8rKZt660O9DadTuFTnfp4kVCGuD/6MUL433TuJnjpqb SnBiXQBBMg6NeO4brkfRizgSAEcuCDyP+xsxxew== X-Received: by 2002:a05:622a:110e:b0:4f1:dddb:db6c with SMTP id d75a77b69052e-4f4abcd2b29mr28277691cf.17.1766138921183; Fri, 19 Dec 2025 02:08:41 -0800 (PST) X-Google-Smtp-Source: AGHT+IFLWIIZH6dn2g0LJ7sXhg7c9rCUSr4NrjHFbJy6f9ZZtbiONrsZjv0bkNSmQnx+9j6jPiwdXA== X-Received: by 2002:a05:622a:110e:b0:4f1:dddb:db6c with SMTP id d75a77b69052e-4f4abcd2b29mr28277501cf.17.1766138920762; Fri, 19 Dec 2025 02:08:40 -0800 (PST) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:a48:678b:dad2:b2eb]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4324ea82f6asm4209571f8f.27.2025.12.19.02.08.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 Dec 2025 02:08:40 -0800 (PST) From: Bartosz Golaszewski Date: Fri, 19 Dec 2025 11:07:49 +0100 Subject: [PATCH v10 10/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: <20251219-qcom-qce-cmd-descr-v10-10-ff7e4bf7dad4@oss.qualcomm.com> References: <20251219-qcom-qce-cmd-descr-v10-0-ff7e4bf7dad4@oss.qualcomm.com> In-Reply-To: <20251219-qcom-qce-cmd-descr-v10-0-ff7e4bf7dad4@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 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, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=6295; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=/pYNdX79IsEIfqFLc24whwQ5VhyXqWC/xkdLuNIvPWk=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpRSQWWy6tmDN6lEKJplrycxbz3c3ipqiwC7uVN C4G4SJfw0SJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaUUkFgAKCRAFnS7L/zaE w+O8D/4sEb2NQwa5xHp1gAD5kXSpQRLSDjZtPoAONLsTSMLr3gDDE6XsCixHEZh0P1rp44AY5BP QOXs5KuYSdM20vviONmVFZ4vzvf0iuUwYaaJgaSl8ajE8XX6DSkSYU/BBUz8OXoYpaVgOxhbUvV 7dJan1tMesdNmlH0ZM6pHhLta31CzNDwvrXIrdUQJ5Dy5cSbcL5IKipKBVGbsHreb8qHOh0SASP nC8/3x5KMPUgrWHcNIXq8pTiTnttaESioP6AZ7sZmISo0OqI6MlU3GGJBbR3rOHbhYPH+mUFykk Dmwt9tNPAwGYHgtWWlCvN83RhFdWhI4yf+4j0N0X02xQoIZgqDEaRtvRGc3H+C3SNJtJ2tnIe/f FBAhqW6cLgyWJPve7N+rLw2JakryNZIFPMMX5hlSZ7PlJbRG0qu+6ulsVxE31Oyxkbg5OBuRC4j wKpVsz55WilzEHK8VGHFljMynKI+gEPQo5xxTNFS2ko/4tNgPRe3doq+t8qAO73RvbkK9HY+SG9 Uenf1KXuYj6t5Npd/a1oh9/JAfWO1A8fCQXQMlRWQMoJGBtYLudKdsw1akwVY0DkuYAGzTtblhq VRh7pPUMmfjI94YjUsskfxXExOTf5/A24F2r7Tal26r+3sDSv9aYAvS6/kL30t3D08uP5dnP7y8 Y9X72FCrnKj5Kuw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: EIPSUJV8uQtmhFiwerXy9w9rz-teS-2v X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjE5MDA4MyBTYWx0ZWRfX5kFwcI9KAcyY HyxsHcMgeD/gSbnbMX4QiuPkseraQls1zpwvcQaqI3khtzXnYwWBUI/8Y5/oMAXMH78SypMk0P4 +inqHBFwOSZLaskEmTg4+0sSe1zz+QE4ZBGU6dyANn4DRMu7Q+2BTgeP1c+9PHB12JA+Q/OHwrv Kcr1leJFs+M6AM4oYEgm/DwbPB77o96OcnPcxP5rwsYPSBYKSELlFf1FnEIjaJP1U8hkBW3exTb 827bR78JjRSl+pDOi5p46+0UbwXKMIQfUUPCfPKBEEhd7E5Iz2/dv20XwWAjJKiSm702QTAF9kh v7M/oR7MjXWc69DGRfOja+xCIkSdPfb8zbi+YnrKpQ/6TGlFKKiWYjy2QOQyQOO0NL59QkPzTpB tundFQ9X+E+ptdxVC1KPcrfii/YCTr7Q/6blK3k307ml2bSQ5YKa7mZdP6QN+niiyQg8X6lyBzP /M2MHIWWpdk8SWyq/Lw== X-Proofpoint-ORIG-GUID: EIPSUJV8uQtmhFiwerXy9w9rz-teS-2v X-Authority-Analysis: v=2.4 cv=EabFgfmC c=1 sm=1 tr=0 ts=6945242a cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=qGjQl-v-kXvwofw7MDAA:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-19_03,2025-12-17_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 phishscore=0 malwarescore=0 lowpriorityscore=0 clxscore=1015 bulkscore=0 suspectscore=0 priorityscore=1501 adultscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512190083 From: Bartosz Golaszewski Implement the infrastructure for performing register I/O over BAM DMA, not CPU. No functional change yet. Signed-off-by: Bartosz Golaszewski Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/core.h | 4 ++ drivers/crypto/qce/dma.c | 109 ++++++++++++++++++++++++++++++++++++++++++= ++++ drivers/crypto/qce/dma.h | 5 +++ 3 files changed, 118 insertions(+) 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_ */ --=20 2.47.3 From nobody Fri Dec 19 15:59:40 2025 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 1EF213093DF for ; Fri, 19 Dec 2025 10:08:45 +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=1766138927; cv=none; b=apXS/Vt9Eav92g8kOu2mPaEi0JHWgb5+b6K5RsAzSebDmnW28lpVJ4KGS93nPr0gnrtmUrWQqqT/VRBmXpVpjXHTWSJQMmkIlps11z1kNCTkvBaf+RFDmjvCqEZX7bItGM76rCnceL1axTRyPzsvlVTSzJNb7glqsi7mQGe/Y/A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766138927; c=relaxed/simple; bh=BB2EwnpE1FWS4HbVLj0TsHxP1wTivk2ASCTMuoJe6dw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=cocsrKDSzuTsr5tT3M9cIrVPhKLRKW9/HvTWbsKNREB+nQhTvh5VPLL3wnhJ39jxZf/PkDhaEzJu4X17XVlI4ZRdjpxSzfGtkXWztgxYnh6GLa3HRYjRXrkga5XYaATNXVqx9g4Ni08JpWiQWQcaAVb9eji5El+cC6AApJtSKio= 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=hxsuMCAa; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=jst77YXT; 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="hxsuMCAa"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="jst77YXT" 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 5BJ4cgUN3992412 for ; Fri, 19 Dec 2025 10:08: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= y0dPg3aNLiLTtsdk0ITTnyv16WpxcQbHRFBRuopaNp4=; b=hxsuMCAabSsoZhh3 A1coZJMjFeJ4AUI8Vun1G3+OtGS9JwexKQ5XyxD++pqPyBkVY0l6ra/jfnmBwdsu wujaBvUDQs6Kc4uWUq/sOd3Y6NqYe94SlGF77CBFYj2/xPdE4twSMCq3MQhRDRSX 5YmOUZ2Y5IuEZcgfhFDsjRzNhN+4mqQJ4Ssw/djbDnuNVVJuUaLui3d6KV4KQlv3 g5//gamYxKzlaCN/TpBK4kcO8Cc/9W2Zb0Z/RvUqtORCGzjnZt3RgEJX+19nVg+K k0gfyT7k3DjnLCn0IDovSK56sHNcBT+txKoIeY1UC7qqFtsPxMvPj9c5JsbwphPC ShN/tQ== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4b4r2da6nv-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 19 Dec 2025 10:08:43 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-4edad69b4e8so32957951cf.1 for ; Fri, 19 Dec 2025 02:08:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1766138923; x=1766743723; 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=y0dPg3aNLiLTtsdk0ITTnyv16WpxcQbHRFBRuopaNp4=; b=jst77YXTx7CXJkSDaNIh3UmENGmDqGckCzujgxPFvuYQGTfQRWIu/4VD42sI3/Q3GU c05kUB6cnBO70AynQ4RVJjX/po2QDTpUoYZMvGswqC0k12cxRYRBbe/Bu0ELAE25sLc2 a5XTcCaZN7OyNFz9xXJMM8g89ennhVyJlWx8FKC9LFHFaz3XQRELAC7w4xW0D0acCUzm yy3zJqpxNumyQ0OlZk/M9kO+W1AqXeQ5P09vQw9xQ8XoJkE/l5TFlciv8ZnN/joy6uee k0nI6R5bkAucO7YU9JuetqqVj7lCaRalegE/JgWiDD+TvwKJwZm4At2LkBnKC3vbnR5w ZBeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766138923; x=1766743723; 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=y0dPg3aNLiLTtsdk0ITTnyv16WpxcQbHRFBRuopaNp4=; b=tjbnxq2Pb09BBqweouUTzJUDjxaP9l/xPAvfDH9nqEXkPM2gE1nfygeik2dz5fXdx2 U8OB+yx8GomKz4yTffkg7k6Bjjxb1RJoYf+81CLL0/jVCJ3NSrLq9gtZJKEfBLlLkmez oEvMq1I2xyR4R+tFvsN6VjVZM9TjqyxD2TyY8ZyDeuqWXQmgXquzo51W2PL2rFBEA95T dP5jxzl3P41i51fnDO2jptny7JBbN/GZXILaJAVnpSwW+Mz6qlCR62dZopFZKFB9/+tA fGbClgM5BZpssxFB2Bu37/OLMq9VvWa3XLCpQ35h8FO2a2QK13Fe/qNz2IDKNyich0Fc aiQQ== X-Forwarded-Encrypted: i=1; AJvYcCX5dCGCrJcPLIli8uP71kIY+HbPvTIVdEay/SzfeXqi/Gs+mr+1WnpjeOF0yV7UkQUduXa2X8rX0802WFs=@vger.kernel.org X-Gm-Message-State: AOJu0YzJKTMbBYRHMNsyS3WsVdMSi566caKFMHixHTYrm4umIl4La4ba Jd+eS30b2+uh3cptlfgpO4ba3jHcz6yme45ZZg/ketMG5erMcaJmw/lxJVQvHE/yN4ZB9EBF/d0 quLf0c5q43lTAN4A+Ko+8bI3AlAcdUGKcyjESt6uzvWqGMNc7iKbfKHX0a2AZ5tvTbhg= X-Gm-Gg: AY/fxX7ErtWoizJBNBiZQBym7MLOu5Ikki3FLJ0xZWffnejo74LBbb4sSDGbZjFKV6D t/l3OFnh4N2CyIXVxFYwVh53F3+IC4u8nEtU+FBzdvVAuRg7uc4EVkOK9B7PZtury0EbOIrZU2t 7UZ0B26OQ9h9oZrTYEiWkIXyMvp6Jb96WfPOBf19Q3j0cqzc8ZQT37l7aGHHQHvWUSro1N1NaMa tNG14Uoqf9/jzLdDGzAadhaFQW+QwkKjJEmFUZuktRl9FA5QZCr162NNd29wWdpEDCmyBQdOX8M 8jNQKqVsBQYVNufcK+qlK0oCKqkkYeryv8dbVaN1urZeTMPc+xJkOue5mNlTopoHtiQGoi+2C3s 90xhicYH97Xz1su4b2envRCD+ew8QDRGhoYLQ6w== X-Received: by 2002:ac8:5a81:0:b0:4ee:26b3:e512 with SMTP id d75a77b69052e-4f35f3b7834mr80035261cf.13.1766138923340; Fri, 19 Dec 2025 02:08:43 -0800 (PST) X-Google-Smtp-Source: AGHT+IGWmwccXEHRM9v2aDIxhb+uD01c1pI0hDhCZLedzGqHYSUDciKqhQk9iB2ZCgb+x43vK5KTxw== X-Received: by 2002:ac8:5a81:0:b0:4ee:26b3:e512 with SMTP id d75a77b69052e-4f35f3b7834mr80034911cf.13.1766138922913; Fri, 19 Dec 2025 02:08:42 -0800 (PST) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:a48:678b:dad2:b2eb]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4324ea82f6asm4209571f8f.27.2025.12.19.02.08.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 Dec 2025 02:08:41 -0800 (PST) From: Bartosz Golaszewski Date: Fri, 19 Dec 2025 11:07:50 +0100 Subject: [PATCH v10 11/12] crypto: qce - 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: <20251219-qcom-qce-cmd-descr-v10-11-ff7e4bf7dad4@oss.qualcomm.com> References: <20251219-qcom-qce-cmd-descr-v10-0-ff7e4bf7dad4@oss.qualcomm.com> In-Reply-To: <20251219-qcom-qce-cmd-descr-v10-0-ff7e4bf7dad4@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 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, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4424; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=RSOjSpLnp8hi/ybwzozpW3l6rKGzZUMhQm0FWWcI8KA=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpRSQWPM7l/1lxH1CHPiAiUivnAjDvIqDU2EKcd 9WfR0ByfmyJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaUUkFgAKCRAFnS7L/zaE w7tBD/93y0Vezj07ev44/k1PnOo5R6g+0U3UsZXM3EyOhGQ6tKFjY8j9VB2pGGYBnj6889zxNzA ZJyXzIrrPNrHBSFoXOw2sXRhngdqFnKWAVhv6ZDfIV9mnMKAZ0fHAAqa2jVoHtfCodf22IEB3at QrNhIgtk7J70l5uPLN4cEpCqYEerjH2VBGzCIFq1y+jsJHIAQi9lUaJDf/7Znntk6v0sKRK8KF8 r6pQUwNji1+xCr5HZW214hMkzi39bMW+ZxILe0Elksoq6DKxvPNjA4n0wovcld++EojDdCQPJos i/eT7it5Pm1fgy0kB7WqMo/zTAedD22Ul5vbDTZr9XNbUuxW0ahd2UGEZlB09QYngJN5JqJpZF8 Ya+djp9ZSSQsJ8MzvrA8UycCb2gVvPAzUGYZYXHNsDB+7nk1fNI+LBFdwqrtioPuJHmS1cC/t77 KmCw1nlpLP9dNS2ok64KVZQYnGWOX74iO129aN/mQPz39zk373B/938cKXXOIpzdqZlb49RSL7j yk18DjlzMtK2oZ2favstKMmsobPCZ8pndKnoKfvX5fGbNhKXUmdK7J93o1w4dbiktbdAAYFTk3F uG42EiO/AcPi7p7BYd09al3gutN/dyDmEjgcpQkI6zlFVkIUp0o0EOqmt4Z3+ybWSPsc1uZEqq2 2Pq3PS9sgsIhWuA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=AcG83nXG c=1 sm=1 tr=0 ts=6945242b cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=E80RO7-gMyMBa8V4svAA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjE5MDA4MyBTYWx0ZWRfX/iWkFmofbVuS eclddMLw//hVelNOF3n3uBqspht0DoelSUEWE7e2G2UC6GuuTKTLHZtF9QThx0RndF5GIQkFxRf lWVa7MqcMI4Ji4AmIM0MraQdWmLUWHrZuu0MS5esONcAykYTXdtzfOZlTUyCfd+YUF4y7vL+dZv 9CdNtOkSFwZ7r77hgL8CcC2a+LANF8ejXgTfICfHJZwqrQZrYuV22kv3UKUPXmLC8VGYljnJqeC iqq7U7XQyhNCBcNw66YIWBY9nG2lrp49OoCQD9rDYWdg5VJdYZsDePKqZW/QqMVwGNm7kUPWb+N gPDRk8jqbmUChKEq0jBRH76IC6gcw6yiE+GOqFunMlBKB+qJiTIwS97AMEy1gkeQUauogAEIfi2 zmfF2RxKFc20/+h7VyS1FstPfcq+DezdiPaiogj+AudpHd/gzc5B4VxLJ8cC0tjTlcdDxcnAmrV jgVIR1SutDscLWuZhWA== X-Proofpoint-GUID: C2u-qwtJ2e96VtAeWI3d6JRqy-GgJgmy X-Proofpoint-ORIG-GUID: C2u-qwtJ2e96VtAeWI3d6JRqy-GgJgmy X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-19_03,2025-12-17_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 spamscore=0 impostorscore=0 lowpriorityscore=0 clxscore=1015 priorityscore=1501 adultscore=0 phishscore=0 bulkscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512190083 From: Bartosz Golaszewski Implement the infrastructure for using the new DMA controller lock/unlock feature of the BAM driver. No functional change for now. Signed-off-by: Bartosz Golaszewski Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/common.c | 18 ++++++++++++++++++ drivers/crypto/qce/dma.c | 39 ++++++++++++++++++++++++++++++++++----- drivers/crypto/qce/dma.h | 4 ++++ 3 files changed, 56 insertions(+), 5 deletions(-) diff --git a/drivers/crypto/qce/common.c b/drivers/crypto/qce/common.c index 04253a8d33409a2a51db527435d09ae85a7880af..292fb3c7bbd3d6f096bbdc3c66d= 37d11e9ea109a 100644 --- a/drivers/crypto/qce/common.c +++ b/drivers/crypto/qce/common.c @@ -593,3 +593,21 @@ void qce_get_version(struct qce_device *qce, u32 *majo= r, u32 *minor, u32 *step) *minor =3D (val & CORE_MINOR_REV_MASK) >> CORE_MINOR_REV_SHIFT; *step =3D (val & CORE_STEP_REV_MASK) >> CORE_STEP_REV_SHIFT; } + +int qce_bam_lock(struct qce_device *qce) +{ + qce_clear_bam_transaction(qce); + /* Dummy write to acquire the lock on the BAM pipe. */ + qce_write(qce, REG_VERSION, 0); + + return qce_submit_cmd_desc_lock(qce); +} + +int qce_bam_unlock(struct qce_device *qce) +{ + qce_clear_bam_transaction(qce); + /* Dummy write to release the lock on the BAM pipe. */ + qce_write(qce, REG_VERSION, 0); + + return qce_submit_cmd_desc_unlock(qce); +} diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c index ba7a52fd4c6349d59c075c346f75741defeb6034..885053955ac3dc95efefef54190= 7f57844b60a3d 100644 --- a/drivers/crypto/qce/dma.c +++ b/drivers/crypto/qce/dma.c @@ -41,7 +41,7 @@ void qce_clear_bam_transaction(struct qce_device *qce) bam_txn->pre_bam_ce_idx =3D 0; } =20 -int qce_submit_cmd_desc(struct qce_device *qce) +static int qce_do_submit_cmd_desc(struct qce_device *qce, struct bam_desc_= metadata *meta) { struct qce_desc_info *qce_desc =3D qce->dma.bam_txn->desc; struct qce_bam_transaction *bam_txn =3D qce->dma.bam_txn; @@ -50,7 +50,7 @@ int qce_submit_cmd_desc(struct qce_device *qce) unsigned long attrs =3D DMA_PREP_CMD; dma_cookie_t cookie; unsigned int mapped; - int ret; + int ret =3D -ENOMEM; =20 mapped =3D dma_map_sg_attrs(qce->dev, bam_txn->wr_sgl, bam_txn->wr_sgl_cn= t, DMA_TO_DEVICE, attrs); @@ -59,9 +59,15 @@ int qce_submit_cmd_desc(struct qce_device *qce) =20 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; + if (!dma_desc) + goto err_out; + + if (meta) { + meta->chan =3D chan; + + ret =3D dmaengine_desc_attach_metadata(dma_desc, meta, 0); + if (ret) + goto err_out; } =20 qce_desc->dma_desc =3D dma_desc; @@ -74,6 +80,29 @@ int qce_submit_cmd_desc(struct qce_device *qce) qce_dma_issue_pending(&qce->dma); =20 return 0; + +err_out: + dma_unmap_sg(qce->dev, bam_txn->wr_sgl, bam_txn->wr_sgl_cnt, DMA_TO_DEVIC= E); + return ret; +} + +int qce_submit_cmd_desc(struct qce_device *qce) +{ + return qce_do_submit_cmd_desc(qce, NULL); +} + +int qce_submit_cmd_desc_lock(struct qce_device *qce) +{ + struct bam_desc_metadata meta =3D { .op =3D BAM_META_CMD_LOCK, }; + + return qce_do_submit_cmd_desc(qce, &meta); +} + +int qce_submit_cmd_desc_unlock(struct qce_device *qce) +{ + struct bam_desc_metadata meta =3D { .op =3D BAM_META_CMD_UNLOCK }; + + return qce_do_submit_cmd_desc(qce, &meta); } =20 static void qce_prep_dma_cmd_desc(struct qce_device *qce, struct qce_dma_d= ata *dma, diff --git a/drivers/crypto/qce/dma.h b/drivers/crypto/qce/dma.h index f05dfa9e6b25bd60e32f45079a8bc7e6a4cf81f9..4b3ee17db72e29b9f417994477a= d8a0ec2294db1 100644 --- a/drivers/crypto/qce/dma.h +++ b/drivers/crypto/qce/dma.h @@ -47,6 +47,10 @@ 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); +int qce_submit_cmd_desc_lock(struct qce_device *qce); +int qce_submit_cmd_desc_unlock(struct qce_device *qce); void qce_clear_bam_transaction(struct qce_device *qce); +int qce_bam_lock(struct qce_device *qce); +int qce_bam_unlock(struct qce_device *qce); =20 #endif /* _DMA_H_ */ --=20 2.47.3 From nobody Fri Dec 19 15:59:40 2025 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 6F5AA2FFDD8 for ; Fri, 19 Dec 2025 10:08:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766138929; cv=none; b=gii/TyrBKIxfMlaVPd9maTu/j20BJiw9S/3zs7BB2dY0dGQCPVwVAFkWA7Gr9wQYVa7sCLzRgJVMP1rUTZzlRKFtxFZPjNzybJ5+U8hhjfyAmN4gFfzf9F6WP+WvJsuoMJQovRio9Ybfwt7mUSBCxTjW3migwehYbXq0wCY9QPY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766138929; c=relaxed/simple; bh=QM2z+7P7ypm7OsbyfBTGFqeOeedQidkSlzTZMZ4IyvA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=tmp40tGG2CTHjxUAmasNJvBa/Rs3jUObTiob2HrFdnb9v5ce7fnQbjyhLy+0AiRVyWs+n/XlwiWo/wBw/8j9MK1iAGdIbxnNcxwbvSJbjJo0XYRIzU5vGnO8tpCfz8QCkevtxhD9/mar73nY3JgDfCvaAuKl1+yBmPfQLYa3uOg= 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=pUExwoiE; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Uc/J497X; 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="pUExwoiE"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Uc/J497X" 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 5BJ4cQUI1771763 for ; Fri, 19 Dec 2025 10:08: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= yZXlSGJ53TEnlagigyR+xAHdi8h1i1t2YWtBsPCJvP4=; b=pUExwoiE6LZaciuu /c8DIluhML27vKhaKNjEFVEzoHKneqzX+M9AS52V9aGZC10BhMzSW606Id+Ydh3p B0yxjHPY3hSXSLfdkIXBfd/TwMqbkaQ3F4Vey31vJZTMu9a3CPHfq0lWzCWPV0py 9t7BqORy+NdSw2ZGVq6N0EAXI415MY0UKbrQEbeFW4VWPweC7JLRNxM+snLGzZi+ etoB/OBSsPHQddEJ8oJldXyevOlWb5zPQRbXetqp5STtjvp1qcVPq5i4etno0kAZ Kg6lYO7egL6SEavGZc7X/xc8lydWs3c1v3Tk1ASXK7OV4yeHpNfd7VL34KDbFfD2 aY/X7w== Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4b4r2bj8nk-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 19 Dec 2025 10:08:46 +0000 (GMT) Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-88a3a4af701so35704856d6.1 for ; Fri, 19 Dec 2025 02:08:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1766138925; x=1766743725; 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=yZXlSGJ53TEnlagigyR+xAHdi8h1i1t2YWtBsPCJvP4=; b=Uc/J497X658MFOUdEKXB1BFHP+3mlmyczgf30Juw0tOBhqsGa+NohpBQuZlJi/arxt On2UIx4J8cldodbKtoA1G5jUsno8m8VNiRfj695gy+Ok818T0VBpVqBEBm+lmrdch/Hh jwTKfGhT68UgfL6CQEquAhhcfyswBjf3FCR7YBKdIfAbCdph7pfJNztPOVFA7EfGuq54 qrWSKMV5JuvWlH9WcHyIjSpf5ap0fV7Dfcp/FldasG9B2kaQc2moSVTdsRL/7iqqG+ke EsVKweM5pItIm0HGMiLK1FFfdx0xiwebVZZwPZGgLCczbrraLzLhFZYT1lHdY0RDgKZD eQAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766138925; x=1766743725; 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=yZXlSGJ53TEnlagigyR+xAHdi8h1i1t2YWtBsPCJvP4=; b=b11+YrGg7gV+B1/Tg99GIy+zzCoqNPJWyNeFXL0h8n/fbRK2pcjSVT800329pKEjhE 4jkBdrvEfkh0myjix+kDQYt9E48pxh67eDcQW3h7ImhVs5uxIV2r48KIKVemBkuLr+zH XP0FS+Hi0SC413KEGESdrzbXOjI/po2BFK3EHretE4ZWjKMydzTaQebagyadKfI6La/V Q3Zj/mlewUgvQ1gYuqxmoV4nmhKpV3my71moSVBib1zETRApFShzm10YU1e7AuENGOSv Nxq4mtAfXMCbdCPNObATXkyuaRTqnbVE0SvJBLyZOecCL5WbP1yAuQIFXYBelC4kkASj sD3w== X-Forwarded-Encrypted: i=1; AJvYcCVjcN8ub5U36NvSJMkJXdnjvJxegIYDWO0CnsRwUspygTvjn/wtMytimj8sXhyfj36VSnR7cz6ZGsS7obc=@vger.kernel.org X-Gm-Message-State: AOJu0Yy+gwWHfNPH5VBjU7cGtHNAHhcRXIMCU31skMwyLiYV1dvZ6xeJ Kw7JQp6Hjy1Xvj0Jt5RPQftTW34oymZyMPGD7z/ciylWZI220/Lu7ELBKXy66+emS1Wpigs0T4e oKmUnZZP6wq7jgvaqsPCQhieWymT3wPC/iHrcpevU6WyQyLefL93y1PQqW6I+C0wdtis= X-Gm-Gg: AY/fxX778fRpyXJNcahz+Md2lOCpfpJ0YMWWdK2tRXD1n4cUkM6rIQyzNKJjb3GJm8F 42sf56B+H50T0Zt5tg0iZQRbadMuqpDQCRm3ZHMPf/wE0DH4xZX9TF2ar5nQw6ZfyqnbaBn6uYA tIyG/STe/NzUb5M/MRJzVyX42yyfb5Y2lh0twmQaWyt+2xW7IWEHhXg7s1wt46rL8IQQCyVBz1W rUI20w2JGxwEA3RPAfQ/8SJ4ixwLR/zUewS6etoAKsAuBndEL/e9Kqjzp/DQlc0KNnUhN/S/ETy UzzOEs1an8KAkDQzjGZzyo+KbKqrdfX99icofCoDrpfl0rEZ9jcf0OdCYUvLynOfDJmWaIJtCCB M+lboVHtupTOtetZvWsmMLHHf2g2ddUQjHzK4/g== X-Received: by 2002:ac8:5d02:0:b0:4eb:a3fe:53d with SMTP id d75a77b69052e-4f4abdebbabmr32656111cf.79.1766138924998; Fri, 19 Dec 2025 02:08:44 -0800 (PST) X-Google-Smtp-Source: AGHT+IHRSYwi68MaHD+ZMEiNdl6UXip8p2Dv9OXoVME8W02x6tt42vsvpPJMh/z/5JyciN6mdXbdzA== X-Received: by 2002:ac8:5d02:0:b0:4eb:a3fe:53d with SMTP id d75a77b69052e-4f4abdebbabmr32655821cf.79.1766138924417; Fri, 19 Dec 2025 02:08:44 -0800 (PST) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:a48:678b:dad2:b2eb]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4324ea82f6asm4209571f8f.27.2025.12.19.02.08.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 Dec 2025 02:08:43 -0800 (PST) From: Bartosz Golaszewski Date: Fri, 19 Dec 2025 11:07:51 +0100 Subject: [PATCH v10 12/12] crypto: qce - Switch to using BAM DMA for crypto 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: <20251219-qcom-qce-cmd-descr-v10-12-ff7e4bf7dad4@oss.qualcomm.com> References: <20251219-qcom-qce-cmd-descr-v10-0-ff7e4bf7dad4@oss.qualcomm.com> In-Reply-To: <20251219-qcom-qce-cmd-descr-v10-0-ff7e4bf7dad4@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 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, Bartosz Golaszewski , Bartosz Golaszewski , Dmitry Baryshkov X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=6248; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=BIqN1MwUXu99xIB35sQJm42dbVeoM9dbY833xkX2UwU=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpRSQXHuAQ03YygRGIANeHKr5lCjUWeSFXgaRXU xlvey/zmj+JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaUUkFwAKCRAFnS7L/zaE w1MND/40ibAWNIT7I8UnW04fzGsZADiSZIkdk/gOX6PzP3fZImjpK8b/HLpFrTF9OMjVObwDp8g B17ybSrBu7YHV4TT4NXWnSa1OoD+xI1XVj/yLMa4bZKvWacR5AEl0Il/3F1ztSRK2gev2EFX/Pm 5noPKLcyAuQ+g//aj0mRWmmIQ72nfsilJ6NbotYqG08sqnMLCbz84BCo7OECfghSC/kL2c9yx3v poSDM6HUykymzIIaU0yAUjtg4Diw/PENlSjXtgADHdUS91Wxe6bm+WWpDQ9LRQfZ9HozLiDS+xW aDT27DrzhKzNK4W7HOEnhMnnI57jBnFzwEMsYIWyUUnViulSogJwT8tAvBz0u/fWS2aopobHn1U Yv+50R01ovPOt9kT2Ocr4kyKAkjseS7Zp6JAz/fgwT6bFv8lc6ry9XM/hJyqwZkxmG+Ft9Fte4C V2lTNOODZI7J7GRBo6VBTolvg5pupcoGoe2BJqNvOmvuv5Esg+JhYDul2r1jpxGMnup+t1nMhZ8 pZrTOift+TMKys7V2YRtJKt+zMEyydjaN2uzwbxXL3jA+y2vGqAUcmcUPnVFxOIFAym3NZGy+75 sLQA+QKBd/D2YQiT8VjaWxBtZx0MX0YMsUCx6SKcMCwDhDEfl2a13NcfQh/XH3XsOCAe1CU9MAV +PdPN/j6ZffteRA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: NgQz_PIHuaUUFM7uDee6-p4ypKOHSF1d X-Proofpoint-ORIG-GUID: NgQz_PIHuaUUFM7uDee6-p4ypKOHSF1d X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjE5MDA4MyBTYWx0ZWRfX8tSID+AvTJqT vcucjDN5+4Tbe0ixgEduEiGB0l1M6aceg//Vvo8A+h2GcFMdD1PTYerSfoSE7+gNucPsT+ciQ8L AIt9QhwLY+skxWaEXUXHS4pPPyfV/H5DLhGDN/vdyP3/Zry137Z+a2K2aNsvABf0432Khn4Ish/ 4WHlqGR2IOMq55pdrNhcZTpCYzMNiRq0Orzfu2skAbCuiRcB7/Kg27PzG7Lm9l8shipZuze5Bc9 QKXqJGl5C5EszrwaNbgkTuqbDqbUuvkwzOWxHAHCobcwmMaKKfW77IvCvAz0lZ+Rm7aydgFjHMG ZyZTX7U6+XgWUytP1Vl40cPoLVISkL60kgkfwPTAH0O6kEQVKpNCYAKkLQH0TkMmEQA2jRbz3qo /tAHVkzz4wvJeHU0WgVpDPpPz6/tJRwbNclQ6OLUDLApODBnBQu6kgmHn05PtoNlrkVoflHa9VZ 7mTBOX/CnPVADtmgGsg== X-Authority-Analysis: v=2.4 cv=WYwBqkhX c=1 sm=1 tr=0 ts=6945242e cx=c_pps a=wEM5vcRIz55oU/E2lInRtA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=a5mZHpruE0tutGEvsiIA:9 a=QEXdDO2ut3YA:10 a=OIgjcC2v60KrkQgK7BGD:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-19_03,2025-12-17_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 bulkscore=0 impostorscore=0 priorityscore=1501 clxscore=1015 phishscore=0 adultscore=0 suspectscore=0 spamscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512190083 From: Bartosz Golaszewski With everything else in place, we can now switch to actually using the BAM DMA for register I/O with DMA engine locking. Signed-off-by: Bartosz Golaszewski Reviewed-by: Dmitry Baryshkov Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/aead.c | 10 ++++++++++ drivers/crypto/qce/common.c | 21 ++++++++++----------- drivers/crypto/qce/sha.c | 8 ++++++++ drivers/crypto/qce/skcipher.c | 7 +++++++ 4 files changed, 35 insertions(+), 11 deletions(-) diff --git a/drivers/crypto/qce/aead.c b/drivers/crypto/qce/aead.c index 11cec08544c912e562bf4b33d9a409f0e69a0ada..0fc69b019929342e14d3af8e24d= 7629ab171bc60 100644 --- a/drivers/crypto/qce/aead.c +++ b/drivers/crypto/qce/aead.c @@ -63,6 +63,10 @@ static void qce_aead_done(void *data) sg_free_table(&rctx->dst_tbl); } =20 + error =3D qce_bam_unlock(qce); + if (error) + dev_err(qce->dev, "aead: failed to unlock the BAM\n"); + error =3D qce_check_status(qce, &status); if (error < 0 && (error !=3D -EBADMSG)) dev_err(qce->dev, "aead operation error (%x)\n", status); @@ -188,6 +192,8 @@ qce_aead_ccm_prepare_buf_assoclen(struct aead_request *= req) struct crypto_aead *tfm =3D crypto_aead_reqtfm(req); struct qce_aead_reqctx *rctx =3D aead_request_ctx_dma(req); struct qce_aead_ctx *ctx =3D crypto_aead_ctx(tfm); + struct qce_alg_template *tmpl =3D to_aead_tmpl(crypto_aead_reqtfm(req)); + struct qce_device *qce =3D tmpl->qce; unsigned int assoclen =3D rctx->assoclen; unsigned int adata_header_len, cryptlen, totallen; gfp_t gfp; @@ -200,6 +206,10 @@ qce_aead_ccm_prepare_buf_assoclen(struct aead_request = *req) cryptlen =3D rctx->cryptlen; totallen =3D cryptlen + req->assoclen; =20 + ret =3D qce_bam_lock(qce); + if (ret) + return ret; + /* Get the msg */ msg_sg =3D scatterwalk_ffwd(__sg, req->src, req->assoclen); =20 diff --git a/drivers/crypto/qce/common.c b/drivers/crypto/qce/common.c index 292fb3c7bbd3d6f096bbdc3c66d37d11e9ea109a..84d6d49a56378a84d2e54f35bbe= 69ce24ff8fe3e 100644 --- a/drivers/crypto/qce/common.c +++ b/drivers/crypto/qce/common.c @@ -14,6 +14,7 @@ #include "cipher.h" #include "common.h" #include "core.h" +#include "dma.h" #include "regs-v5.h" #include "sha.h" #include "aead.h" @@ -25,7 +26,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 +83,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 +93,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 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 +228,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 +389,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 +536,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/sha.c b/drivers/crypto/qce/sha.c index 0c7aab711b7b8434d5f89ab4565ef4123fc5322e..286477a3001248e745d79b209ae= bb6ed6bf11f62 100644 --- a/drivers/crypto/qce/sha.c +++ b/drivers/crypto/qce/sha.c @@ -60,6 +60,10 @@ static void qce_ahash_done(void *data) rctx->byte_count[0] =3D cpu_to_be32(result->auth_byte_count[0]); rctx->byte_count[1] =3D cpu_to_be32(result->auth_byte_count[1]); =20 + error =3D qce_bam_unlock(qce); + if (error) + dev_err(qce->dev, "ahash: failed to unlock the BAM\n"); + error =3D qce_check_status(qce, &status); if (error < 0) dev_dbg(qce->dev, "ahash operation error (%x)\n", status); @@ -90,6 +94,10 @@ static int qce_ahash_async_req_handle(struct crypto_asyn= c_request *async_req) rctx->authklen =3D AES_KEYSIZE_128; } =20 + ret =3D qce_bam_lock(qce); + if (ret) + return ret; + rctx->src_nents =3D sg_nents_for_len(req->src, req->nbytes); if (rctx->src_nents < 0) { dev_err(qce->dev, "Invalid numbers of src SG.\n"); diff --git a/drivers/crypto/qce/skcipher.c b/drivers/crypto/qce/skcipher.c index cab796cd7e43c548a49df468b2dde84942c5bd87..8317c79fb9c2b209884187d6565= 5d04c580e9cde 100644 --- a/drivers/crypto/qce/skcipher.c +++ b/drivers/crypto/qce/skcipher.c @@ -51,6 +51,9 @@ static void qce_skcipher_done(void *data) dma_unmap_sg(qce->dev, rctx->dst_sg, rctx->dst_nents, dir_dst); =20 sg_free_table(&rctx->dst_tbl); + error =3D qce_bam_unlock(qce); + if (error) + dev_err(qce->dev, "skcipher: failed to unlock the BAM\n"); =20 error =3D qce_check_status(qce, &status); if (error < 0) @@ -78,6 +81,10 @@ qce_skcipher_async_req_handle(struct crypto_async_reques= t *async_req) rctx->ivsize =3D crypto_skcipher_ivsize(skcipher); rctx->cryptlen =3D req->cryptlen; =20 + ret =3D qce_bam_lock(qce); + if (ret) + return ret; + diff_dst =3D (req->src !=3D req->dst) ? true : false; dir_src =3D diff_dst ? DMA_TO_DEVICE : DMA_BIDIRECTIONAL; dir_dst =3D diff_dst ? DMA_FROM_DEVICE : DMA_BIDIRECTIONAL; --=20 2.47.3