From nobody Fri Apr 3 19:28:45 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C59883EE1E3 for ; Thu, 2 Apr 2026 14:55:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775141757; cv=none; b=eqNkJnwKxeyuAOIE2AitACjhI/4oY2+MUASJsHSlLPJismYSTMRrKOwcYCtbmg+bNFXFL1f6KnSXWl8KuiQia0OnOv0KTVfdBF66aubs2poEBKDjWqYNOLB6rjsR6dtTZY8ti/q9I0GqNCDt7w/k39X/RJ6AViiApXZl6gjjJKY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775141757; c=relaxed/simple; bh=l/BZlQy4Cse/CAATeumcy5CjMrSkTNNSb0kuuSiKbFs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=uJwUEK8atUWZYbTs/R/x67YH8Z/qD09uFS5jkAudndd5Ao8yg6iGNmDGcLM4umP1YjhwoH+EONvlcEo0h5gewqn/rb/hg4OrlNpMsuQk0H4uobmfb9xJyC2mJ+63/mW0QP1EPFgzavmKJNl7K/b9nrAzZVdpRrqol4w6jj4caKU= 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=e5tPmix3; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=NF+nKrdx; 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="e5tPmix3"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="NF+nKrdx" 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 632BtQBK3238747 for ; Thu, 2 Apr 2026 14:55:55 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= XzcFHoFYJEGJdcVPyt4hoTK+0T/yEzF5fWKBSk8BPvQ=; b=e5tPmix3FsF4gawK YvRx0n/e9N89XCioJsMplsZQ6zMRfS/l6bca0YXzhHws7mk/hgslE48tjc9Vn0/V fkacY4Q1JM8I8dkFG2usPuo/igJqp8wF0HnvZBTva5xrhG2l/4/xHrDPODW92z89 beh5isSoGZaQHxgIHJAfNK1Vp5qj8UNb2QLxvNbaEOir4suP4I0+4FHLAMbLFJfs QTAu6w0+5dwD860HoAskwoh0NcgcqU9uwkjTree80E2kjwL4bco1sH9mU/zFIppo eaO31FQURhXPGqbedYuGDYf2gd4YeMAtOkXC9B3TvDtxyu2e5z7mohDL1aGySBu7 Q+nh8Q== 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 4d9r0u0r3h-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 02 Apr 2026 14:55:54 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-50937cf66b5so40420781cf.3 for ; Thu, 02 Apr 2026 07:55:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775141754; x=1775746554; 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=XzcFHoFYJEGJdcVPyt4hoTK+0T/yEzF5fWKBSk8BPvQ=; b=NF+nKrdxdsV0Zg+PG9orNsV9Ebo5TCg7tVOoDzw6U54WfWOm4i0jgb6Jm1ANBuFv7+ HKTyEEZUjx903OVZkjJxTmZXFdSgg4Gd5Dtq5ASXnLw3IhxdCW0qjTocZJv8tVrt9diM Oewc3o1xOIXyBtaqK2QgbHNRjGO7541xzKess6sLxr0PzF3Do/S5wLmMd8mra02z9Bjv UbzyczeXuJ8i5ZAkBpQN4Mt9HZg79uYsznRJvVUGmeBe8xlFBdOTZwnpiwZzIZqg5J8z BEzzPVDKLfFET0UNbWylUqColofQdxLdNtMarL4WXtxoElsvSTNDJod9detw8fjkz8LM l99Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775141754; x=1775746554; 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=XzcFHoFYJEGJdcVPyt4hoTK+0T/yEzF5fWKBSk8BPvQ=; b=ibh+83WCxcwQamextCz5YhATDKmGKXkv+kkvQ4cYwzuFA0xNPaovB8qvOEELOpMbq3 swy9D70f65/LEJnIa/5i4Qw3+gvOKU8uiFVWcpezuoHHzuOCZqxwQDnTQOqci/A3wsjO f9YlcZRG9ZIAy+s3/z0NGIqpXCJ8RF5+3vjNjSVh9llzFcokLj1+H3JJIkRwzxkn/hZE Ri92wbelQ0rkPwkNXjMetDHkC89Xm4N8y1nQl9kN17UbZatn6SMMJ+3J4bW1vLwRxe69 bhB2VNlQtTeM0YLA4yzEkYu4tcMDqj0sdZWIfpKmeKfIEAWrceZclg3H2HAPOYhplJOi gLQw== X-Forwarded-Encrypted: i=1; AJvYcCV2Otgc9RiFAmadGEDxrGGbcA2baK6gTAsab3/+8O4raV2h7K71G9YZmQ026nmYK8KwlQmsmBUJUTGQWyc=@vger.kernel.org X-Gm-Message-State: AOJu0YwtsWS9Fy6uSAA0AECcmKGOEiwjoboKJBsr7pLvlz+r3rnFcqsR 8ZAvNx8LJ4T7HL4CBIPWORa2Y7lydc83CslLwt/LIPHKA92StcOi4q65VTQWs1Db18m8woNvgwx X3YCzGbPBXg5wufwSf1ep0HaBnJSqo37EaldVAkky8kMF9ZvXqSQ2e7cXUybu8BbbyiY= X-Gm-Gg: ATEYQzzYJw6t9RzB+g5HVMR56peO8e3x6SaeVLDfMKNhEQhVtLGuB4CsqPNjTjKdgbI 935FmEGoX7mgZOF36SIUseMxfK9wxtw8TG8sohBRuCJyXDHd3xv+dyqw3Flz/tv0LnJZb47vBcB YeF1S6Sz3Sajf9DBwqFNWPV4k0X2ag+aHJp8q5nYdeKwKOfUJH7y5C9BToj2dmdLwg2uZSkk5xB l1sryNwKZ1pqK1Pft3XLzMLOMKYPRwWa+LSfdd+RSWCsyrrJnNIj8ISmzuvosZ5YkCJGkxvTUEa 9pQ/0njuN7zmDIVnYnrAGe9QET+3JDgS3hKihIDMv5oOjGXU544Yx6RybyMc9q+2bN8SIRzX27L gLAwpvckvwxaTkAdgxwdsiqHVfxXIjMLHBD9ko6GJX0uorvRcQLSk X-Received: by 2002:a05:622a:98f:b0:509:2b02:c1bd with SMTP id d75a77b69052e-50d3bb5d0a1mr126371241cf.12.1775141754244; Thu, 02 Apr 2026 07:55:54 -0700 (PDT) X-Received: by 2002:a05:622a:98f:b0:509:2b02:c1bd with SMTP id d75a77b69052e-50d3bb5d0a1mr126370611cf.12.1775141753707; Thu, 02 Apr 2026 07:55:53 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:4ff1:3e57:22ec:dadc]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43d1e4f5294sm7234038f8f.35.2026.04.02.07.55.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Apr 2026 07:55:52 -0700 (PDT) From: Bartosz Golaszewski Date: Thu, 02 Apr 2026 16:55:12 +0200 Subject: [PATCH v15 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: <20260402-qcom-qce-cmd-descr-v15-1-98b5361f7ed7@oss.qualcomm.com> References: <20260402-qcom-qce-cmd-descr-v15-0-98b5361f7ed7@oss.qualcomm.com> In-Reply-To: <20260402-qcom-qce-cmd-descr-v15-0-98b5361f7ed7@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Peter Ujfalusi , Michal Simek , Frank Li Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2295; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=l/BZlQy4Cse/CAATeumcy5CjMrSkTNNSb0kuuSiKbFs=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpzoNreZvKxHX2ktLtp9xgKe1u0M7uAOAZb9Hmk dvbJnr8s8iJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCac6DawAKCRAFnS7L/zaE wxJCD/0TEJo3Um1xN48bpRtM/BxOfyO8dsvr/AGw51z0xocaNg+6z15D8WcFcdI/6sdKxsxAyJq EYh5mFKuxJmjvhqr8gBNubTk+O5d8F+KReUI6kP2q+aaHkG38IEfnhi/RZuw55nQ/6kmZPqm0bD Wg+uJew51CjkL8PgOgjfiddGdiByC1+IHixZrhTUcfwz9oDS55PQIzACUTPL29zxVAEKCX2LetQ 3HMDOHEo1nu2idyv7ezsiajyNbHvT98/mF4zNFgL/nbsTOkonJPS49iy6760g9FzM0+Q8KflP7o pHy6AMy7foJPjum6TAPUr+j8dfp9BCckMQXNzt5loUnynLg8nlh7CQnqRpVnwhSmmbC/eG2A6RL 3Qv+7c8Uii7DJLCuSjlo7CisoiB2CNTE44wAunf2uhN0rL+zQr0QN5D8gQoH1tlIHxGwL79BATO PYE0KEFbQ2VOHdRwcbd9Lg1tVMOes2UBusq5eFLpegpf7Azmu+utN7Bzzqh0TzSTe9sNWirApRT LE2toexWRSr+jRTKnnp3oD8YnZ7YNzof9du0S0U+d7IDOuJnVtCyQCNvVOg/j0cci4MgT8R83px tbdhAw5MzcDb7mpAzBV0eVl2nMZw8VAHA3a8HuWlesL6zB2hbiXP7p/xQpUawUEAs+c/pPDGMA0 zkEpPtKl1I+Uy7A== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDAyMDEzNCBTYWx0ZWRfXw6FxsI+kvwm3 kFq7Lnesk+eJaPtL4zQwebh1oVkReUhD1doMtEW/X66jFUeUFWbDAnPPQl7T+SyoPKQeMWEj5pq pE1nMd9dhQK4PSb6alnG6iFhmHzBAvuKbwLBzk1Fjl+vjFWflp4jN827BIayzZPhWTVQr6sexse +fL1o+rSXwG1LMMvZsOwKyMgeAp5xpF68mxxAyi7GAEW0WqgGon7Bz4N/EUwKbSDRT64krK/pXZ 3z7HkVo2MYaH7Z6hR7SXa/fWWO6NXS67mcjFk1RsdgLJO/8MqWSg4yT83HjrdaJpIwVAXxqEujK ZYtCNqM7QXldrMGUHM9oQiVlB0avLvDQaV22ohVJxKhftobgDJKt4rzEzzKZ7vLcgNaL5Lf0w3J ga1wwTfJaaI7yPvCISsTLjTt0UQimWaIKH50l4vwESFeUsnrT+4m+ARv7Vo7yTc2fEtXNUxE0ui 7Mqkn/gaue7uGnRPhJA== X-Authority-Analysis: v=2.4 cv=D5xK6/Rj c=1 sm=1 tr=0 ts=69ce837a cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=XeVHrwws4l7kqE2Ex6IA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-GUID: ayu4xhEpZKq7NYdwJ8Arwemm88miV4lT X-Proofpoint-ORIG-GUID: ayu4xhEpZKq7NYdwJ8Arwemm88miV4lT X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-02_02,2026-04-02_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 suspectscore=0 adultscore=0 priorityscore=1501 bulkscore=0 spamscore=0 phishscore=0 malwarescore=0 lowpriorityscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2604020134 There's no reason for the instances of this struct to be modifiable. Constify the pointer in struct dma_async_tx_descriptor and all drivers currently using it. Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski --- drivers/dma/ti/k3-udma.c | 2 +- drivers/dma/xilinx/xilinx_dma.c | 2 +- include/linux/dmaengine.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/dma/ti/k3-udma.c b/drivers/dma/ti/k3-udma.c index c964ebfcf3b68d86e4bbc9b62bad2212f0ce3ee9..8a2f235b669aaf084a6f7b3e6b2= 3d06b04768608 100644 --- a/drivers/dma/ti/k3-udma.c +++ b/drivers/dma/ti/k3-udma.c @@ -3408,7 +3408,7 @@ static int udma_set_metadata_len(struct dma_async_tx_= descriptor *desc, return 0; } =20 -static struct dma_descriptor_metadata_ops metadata_ops =3D { +static const struct dma_descriptor_metadata_ops metadata_ops =3D { .attach =3D udma_attach_metadata, .get_ptr =3D udma_get_metadata_ptr, .set_len =3D udma_set_metadata_len, diff --git a/drivers/dma/xilinx/xilinx_dma.c b/drivers/dma/xilinx/xilinx_dm= a.c index e3a18ee42aa22f4a749416307b396a6191ce4bfc..d0d55156cd42eab1ed797bd64e8= 272edf00e1cad 100644 --- a/drivers/dma/xilinx/xilinx_dma.c +++ b/drivers/dma/xilinx/xilinx_dma.c @@ -653,7 +653,7 @@ static void *xilinx_dma_get_metadata_ptr(struct dma_asy= nc_tx_descriptor *tx, return seg->hw.app; } =20 -static struct dma_descriptor_metadata_ops xilinx_dma_metadata_ops =3D { +static const struct dma_descriptor_metadata_ops xilinx_dma_metadata_ops = =3D { .get_ptr =3D xilinx_dma_get_metadata_ptr, }; =20 diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h index 99efe2b9b4ea9844ca6161208362ef18ef111d96..92566c4c100e98f48750de21249= ae3b5de06c763 100644 --- a/include/linux/dmaengine.h +++ b/include/linux/dmaengine.h @@ -623,7 +623,7 @@ struct dma_async_tx_descriptor { void *callback_param; struct dmaengine_unmap_data *unmap; enum dma_desc_metadata_mode desc_metadata_mode; - struct dma_descriptor_metadata_ops *metadata_ops; + const struct dma_descriptor_metadata_ops *metadata_ops; #ifdef CONFIG_ASYNC_TX_ENABLE_CHANNEL_SWITCH struct dma_async_tx_descriptor *next; struct dma_async_tx_descriptor *parent; --=20 2.47.3 From nobody Fri Apr 3 19:28:45 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E8E7E3E9F80 for ; Thu, 2 Apr 2026 14:55:58 +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=1775141760; cv=none; b=l/Vaur3plrXi+19O28FWXbOzU6U+/x/rnBUxo1hMlI8+WZPFQJ2/b46xPdj/iyXzwweZMInIn67QNfdaMJcybKWOk9hmaQvKqAtPo/bRQliHljBNsFDjR1VCVB5NBFex/vzS2NgZqPXLtJnaCa+dtoexDNmEVZn0kYscePGrbV8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775141760; c=relaxed/simple; bh=YERqA6ytYIBXeEnEVHuNkc6pRniKdplpfqUBYqgG5Qg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=DTLULNdhlLR/DdGzd1wwu0C6qkRAC9vOIt6kDMJL/Fb5l0NlaC26WPO3Tv20vvKxH0i8Cg58RSfmnZHlbk5AyKDCQU+UZYsrS62V2UY5RT+M1mO/fshdFcK8QNKmaHe71AyvOoMc5T4Sk6tWd9kKyYU8nULt+j+xP8iJrqwR8fk= 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=MEj2w91D; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=PphoQBgY; 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="MEj2w91D"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="PphoQBgY" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 632CaxCs3956078 for ; Thu, 2 Apr 2026 14:55:58 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= YJhp9RjB1CYlks4dixIKSaB1cc2NAImnrh4QNBeenlY=; b=MEj2w91DidZrVNCt x5ou9ZYnlt+bQtSBgl7CXV5ssiWW9aMTebaPLvL6xd8cnlGkoE4xoCIQzLw5WkvC 2SyX6AhSgPxQAFkKym3mikjT8BJVbSsxmwhYLbxmxXkEGdbvZX3Wjko5ESkqId8B Hlwc/9oxmstCHiuV4qfQt3C/NPEY2msZBNWmiRAG2yAdt8DIr45YHjXDtcvav99K 2VpL8Ypyt5jPNzA95A3EhUVtBowS/a8+QwvA+zE1GFXqrxkjd9h0T/SsGTKnDtoK epJ2oRDAxHulr8/dPDuWCorQmq1jLmI2AmeSkpylcz6lHRXKnWpVjW5cFSzWCYYM eTMscw== 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 4d9aw5ks4w-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 02 Apr 2026 14:55:57 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-50b317c40acso24956851cf.1 for ; Thu, 02 Apr 2026 07:55:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775141757; x=1775746557; 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=YJhp9RjB1CYlks4dixIKSaB1cc2NAImnrh4QNBeenlY=; b=PphoQBgYcydYJBTqoIIIDkPl3gy8kBwhLSeb9648QnWz5s20cwvt4sBScdrY3E09h/ zNDxnatMXZL6l/iSMV2eMCK0lkA22bNSnr8GBIZgtGm3pnX5gjcpVHn5PHMJdEvvtJSg zI/hoZ6rlKsBOGD0Ipy+N4KiD9kmCWe9y3sWjcMVXqPyNfF+8opyqLZHGxCrKCvbAJM1 rKUPM+U2ouTVRsbZPG8NJceJFuOKjUZZbGIuuPieBFVIReA+pL2XxOfqnrwzCnByTUYR kRDfDQv8HPROBYmp9CMSmA5pNACUE8n8c3dD0nvYpks0eBT/8ke71wraRPEImNAzTeEJ gBZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775141757; x=1775746557; 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=YJhp9RjB1CYlks4dixIKSaB1cc2NAImnrh4QNBeenlY=; b=sQLz4ghFHimceLJS+zp7VFk2JmmaXC/Z9C/zJH8Pc8Jtoij4KiCAB2gl7Xzd6P1yaa MlwuEXDN7GeluZ2krAwFvQTw9/XqfRKFIl++eRQhQce7hqAqRqGEGy3A1pQl8kJ5/Q8Z kanygQ3LDL1GKJMtcXL/j/mfWj1CBqxVv3e3tn15euKnd2q8BrOQ9AwR441fewydRvBp aE9xfoM3QFXbk8APW0SWdPKIRf2vBcyH4sj+DsOSPi6c2PJEE5nZIIioUBtYzGycWMPG jdr6iSzL+KGSjVqyMkt5+l2tCdTU6rVHi3bkTn8KGyKc5eoBHHAtRLz4TruP/ieNk0U3 Oomw== X-Forwarded-Encrypted: i=1; AJvYcCVKiBhZiHp4AKmJsj04xyAkbZxmW2Sm+PHlqAv2YZF5XmkS2+LL1LSTJt5CTAPLLUiJ0RELNRDFJ1xc16M=@vger.kernel.org X-Gm-Message-State: AOJu0Yz9LoMtpsjbwMzFYwIYC8TbtUddkOPJmntWBuDO/7eJ7GU3NDwo 47wLZdSZYN6Ozmcx8eyIO6wofXqA5hXNEYR/8uxOxzDbpR9CD+3u6/BY8ls0FxVnKbv2d3GNwSN FzSQbIScRoRyNeRA6k2hxZ7yh7PvR29cANeWCPYVOVBCh1H9u8BOGutg4yRSqontJ7iM= X-Gm-Gg: ATEYQzwxQLH6NOFgeMGsYVIarG/VrCH+THvV7+JJWZSEsQvl5c8jQKlDv4ICwOrREre yDv7iv1Ruz7MUJUaIzzlhnW/84JL5lupjf5gyb0BjD9zdDciXqoM8nWgwFjA4ymWwIce60H+bq6 3QR5AViPrxBXkkJTbEqM14SVZZk3IgUG/LajEum4NGqAELCo7hg61GFrkI4xeIwNVkM79B/dI/P bjd5Tl8zsMD4tUWuZiMakZEGCChuU2Zxskp3uQ1qNmaTQNboe3rq14fD2iAMvkvEecMqy/l3tiZ cRua3JDCjSbTX9EeKNaTX146pIzxR+GCsPDVya1k3LwzBwMluY/7gMavGuOdXrqIrQdo354K9Po u0itclTzY4LKRAGaPe3b4etsVQ4yV/TT+HJGlAnGeAbgANi5EnGz0 X-Received: by 2002:a05:622a:1345:b0:50b:5402:62d with SMTP id d75a77b69052e-50d4b995f71mr54639071cf.11.1775141757082; Thu, 02 Apr 2026 07:55:57 -0700 (PDT) X-Received: by 2002:a05:622a:1345:b0:50b:5402:62d with SMTP id d75a77b69052e-50d4b995f71mr54637721cf.11.1775141755389; Thu, 02 Apr 2026 07:55:55 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:4ff1:3e57:22ec:dadc]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43d1e4f5294sm7234038f8f.35.2026.04.02.07.55.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Apr 2026 07:55:54 -0700 (PDT) From: Bartosz Golaszewski Date: Thu, 02 Apr 2026 16:55:13 +0200 Subject: [PATCH v15 02/12] dmaengine: qcom: bam_dma: convert tasklet to a BH workqueue Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260402-qcom-qce-cmd-descr-v15-2-98b5361f7ed7@oss.qualcomm.com> References: <20260402-qcom-qce-cmd-descr-v15-0-98b5361f7ed7@oss.qualcomm.com> In-Reply-To: <20260402-qcom-qce-cmd-descr-v15-0-98b5361f7ed7@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Peter Ujfalusi , Michal Simek , Frank Li Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski , Dmitry Baryshkov X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4421; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=YERqA6ytYIBXeEnEVHuNkc6pRniKdplpfqUBYqgG5Qg=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpzoNsPXTXq4SVhzIheqeObqWYTQvIRMuziOMQi 0C36f+/s9CJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCac6DbAAKCRAFnS7L/zaE w2pmD/440DWURcBlfLoxG1ut7dDL5r75R2Z2CNwXCwbe5iuVQdWSyQYU3GAqk7OJ6e/rskSlhXk d1bLbZl2YSIQwJu1dk6bRulANWGYCAq+rfmgbGrD7IIbPxOg+YMsXrSQnhJI+uaSdk5T2S5X1vm C8EJGN/IrBOhQy4U+RlX7jj/JbU/cUgItwbI+45LdR5NMwN46RLwplhhA5ZS1sZg8FUo2++rT/y bhbBU5IdlKANNsn1aHPftJ43l6cSnVWE4wXpo6yvljECtaxq0KsEGfH83hS5pmX1irMTkavuUXL bl00yb1QZAf0yyoO4oSQBuUZ33VyfSm5fUOQ5yk8+GcG/31SYObMjo/9WutCfX9cnR+sks8DdXt FhfwDGskJhGBrQ6Brb3ydCyBo5ld6LMWL+izYTIwEHZvMRqj79Eb6y4tWg1UkQRdY0t83RnDs+N l4FhjXw20/C0Kp6hqXtSuIQxgodaeja8WLAHkvm5COePsWSphIqjMTXnmmwpk7LFmhwKjIpC/zl m7DWI5uw0taCun+0/5GP3jp/bYYr4EJjDGZ3prKW36iHwCU/kcWLaSTG2zbt0femaNamOSCqUt0 hSVhTkDGZJ9BOMLAmMSZicivMWfNdp4DO1Hn14ZDfb0uub0RkNWs02EUqZ+4hij6c+suz/BxuaI WFZXVzDVuX0pCWg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=Q9jfIo2a c=1 sm=1 tr=0 ts=69ce837d cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=KKAkSRfTAAAA:8 a=u-biHsxzOdRIXVMzAPsA:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: B_s0Ysno5Csw57l4jRfCBNgznVJZOhba X-Proofpoint-ORIG-GUID: B_s0Ysno5Csw57l4jRfCBNgznVJZOhba X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDAyMDEzNCBTYWx0ZWRfX8MrGGRvspzKT ibi7XZKKqi1l3EVOH3PhNSVPLv/tRNEdDr6H1gVBwiIWONjNGOm7rKM8+cYozdnzTw/ahtm+B8k WxW3zqNwvz6b+e1gsGDdjSypkYzzpI8eTNfYuDCkX6k18tSojsYealinmMFTBxHGqTWpXDlL7Fe aRrALx0ocAbD4zqmX160caHWPjrx0v/ImqqAf1AJ6znYPdyS7KqoZwwuXJis7yRa6s2qn0VDvJ6 iEsrtWSasgOe1/rK48nmFmue2ze78C0QtcqqsKChcD6EnjgFlijiPcxDNUaNPKHkS3JBhHsitLp xZu23nGOfckKN02yN0DxXbl0cyT+H6tYAgAw0aHFQnNIG4YYwG9KjHcIJhe1fvXoGD0v6N3H/Rh nxmb8qig6NLJYBJ6n4Kdx7bo1P/2f8cR1tZH6zTolBPzJr3IltW6ll6k/N7Qt9p87im1HwMSBoi rULnFwWO6JO95n6eBig== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-02_02,2026-04-02_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 bulkscore=0 malwarescore=0 spamscore=0 phishscore=0 priorityscore=1501 lowpriorityscore=0 adultscore=0 suspectscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2604020134 BH workqueues are a modern mechanism, aiming to replace legacy tasklets. Let's convert the BAM DMA driver to using the high-priority variant of the BH workqueue. [Vinod: suggested using the BG workqueue instead of the regular one running in process context] Suggested-by: Vinod Koul Reviewed-by: Dmitry Baryshkov Reviewed-by: Bjorn Andersson Signed-off-by: Bartosz Golaszewski Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski --- drivers/dma/qcom/bam_dma.c | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c index 19116295f8325767a0d97a7848077885b118241c..c8601bac555edf1bb4384fd39cb= 3449ec6e86334 100644 --- a/drivers/dma/qcom/bam_dma.c +++ b/drivers/dma/qcom/bam_dma.c @@ -42,6 +42,7 @@ #include #include #include +#include =20 #include "../dmaengine.h" #include "../virt-dma.h" @@ -397,8 +398,8 @@ struct bam_device { struct clk *bamclk; int irq; =20 - /* dma start transaction tasklet */ - struct tasklet_struct task; + /* dma start transaction workqueue */ + struct work_struct work; }; =20 /** @@ -863,7 +864,7 @@ static u32 process_channel_irqs(struct bam_device *bdev) /* * if complete, process cookie. Otherwise * push back to front of desc_issued so that - * it gets restarted by the tasklet + * it gets restarted by the work queue. */ if (!async_desc->num_desc) { vchan_cookie_complete(&async_desc->vd); @@ -893,9 +894,9 @@ static irqreturn_t bam_dma_irq(int irq, void *data) =20 srcs |=3D process_channel_irqs(bdev); =20 - /* kick off tasklet to start next dma transfer */ + /* kick off the work queue to start next dma transfer */ if (srcs & P_IRQ) - tasklet_schedule(&bdev->task); + queue_work(system_bh_highpri_wq, &bdev->work); =20 ret =3D pm_runtime_get_sync(bdev->dev); if (ret < 0) @@ -1091,14 +1092,14 @@ static void bam_start_dma(struct bam_chan *bchan) } =20 /** - * dma_tasklet - DMA IRQ tasklet - * @t: tasklet argument (bam controller structure) + * bam_dma_work() - DMA interrupt work queue callback + * @work: work queue struct embedded in the BAM controller device struct * * Sets up next DMA operation and then processes all completed transactions */ -static void dma_tasklet(struct tasklet_struct *t) +static void bam_dma_work(struct work_struct *work) { - struct bam_device *bdev =3D from_tasklet(bdev, t, task); + struct bam_device *bdev =3D from_work(bdev, work, work); struct bam_chan *bchan; unsigned int i; =20 @@ -1111,14 +1112,13 @@ static void dma_tasklet(struct tasklet_struct *t) if (!list_empty(&bchan->vc.desc_issued) && !IS_BUSY(bchan)) bam_start_dma(bchan); } - } =20 /** * bam_issue_pending - starts pending transactions * @chan: dma channel * - * Calls tasklet directly which in turn starts any pending transactions + * Calls work queue directly which in turn starts any pending transactions */ static void bam_issue_pending(struct dma_chan *chan) { @@ -1286,14 +1286,14 @@ static int bam_dma_probe(struct platform_device *pd= ev) if (ret) goto err_disable_clk; =20 - tasklet_setup(&bdev->task, dma_tasklet); + INIT_WORK(&bdev->work, bam_dma_work); =20 bdev->channels =3D devm_kcalloc(bdev->dev, bdev->num_channels, sizeof(*bdev->channels), GFP_KERNEL); =20 if (!bdev->channels) { ret =3D -ENOMEM; - goto err_tasklet_kill; + goto err_workqueue_cancel; } =20 /* allocate and initialize channels */ @@ -1358,8 +1358,8 @@ static int bam_dma_probe(struct platform_device *pdev) err_bam_channel_exit: for (i =3D 0; i < bdev->num_channels; i++) tasklet_kill(&bdev->channels[i].vc.task); -err_tasklet_kill: - tasklet_kill(&bdev->task); +err_workqueue_cancel: + cancel_work_sync(&bdev->work); err_disable_clk: clk_disable_unprepare(bdev->bamclk); =20 @@ -1393,7 +1393,7 @@ static void bam_dma_remove(struct platform_device *pd= ev) bdev->channels[i].fifo_phys); } =20 - tasklet_kill(&bdev->task); + cancel_work_sync(&bdev->work); =20 clk_disable_unprepare(bdev->bamclk); } --=20 2.47.3 From nobody Fri Apr 3 19:28:45 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7CB953ED137 for ; Thu, 2 Apr 2026 14:55:59 +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=1775141761; cv=none; b=WsM8oIilS4kY49WVVbEHWly1BNxQYptd/Ohgtk/PB0n0aP7Uc9y9wlVmCLIThYtHERIFTRxv0FmJKAwDapf4M2PUrJNjZtGSQFIqtUpf+7XOnkVnlIW1q0cgUs4wTX4e8OFcCzti2aHOiZ4TkhGrajZoF8GlXOfKLuH2H0a08DU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775141761; c=relaxed/simple; bh=qoz55FlU0wzlioVR5y4kqwZWHtjnuJw0AgLGnvGjRME=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=IR9FLwVbLBdnMUhTPO56RCfSmyzgiZgzJeQvPr7mlDvi7vMGwzaAayvpvgE9m/+heMxWgvw1Q310gl5Nj6GGh8tVqNbDjEe6PWHr5vA60pLCgYV6H/Fn1ztzlyOmL8ts4Z+y/rZd5PQCngfnb55KSxxUmJIgywD2ZRPmELUFPSM= 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=DQMlf7vK; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=UggwEuTh; 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="DQMlf7vK"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="UggwEuTh" 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 632BvM6o2798835 for ; Thu, 2 Apr 2026 14:55:58 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= byBhms6klEiQKAIzzwk/0xHdksfuhIUeiAfPpFlaRio=; b=DQMlf7vKYW/jASMa /hUao1IHVYv/LediAjhecicX7izICAcEHa6f8PGjKTzR8Unw4OgB/mci1PygCNps 9NDhxzRe0+Vvv5Inke8cRxSG2jK2hDnMhLTDm+jGGqo/nOGFMbV5koReZU1Bahxp aDuAc16t/Yle3f4saVm1Vp44qHkRNp0/7/2jbCfWrg5lCG9E77Xweeh8cjYnfyDx 8uzuc/ZwYShQ7a4Uhy8WCS1VxTIH81ffKVXtOseAeb2oqhsG8wC2g34eWSK9Tn2q 5nFQEJHj/6Yl8/WvRL7QPLv+exTB32uZH2n+AKNUu7vEiAkPHaAiyago97oQnehZ NevROQ== 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 4d96hk4psw-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 02 Apr 2026 14:55:58 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-50b3544bc7bso11968531cf.2 for ; Thu, 02 Apr 2026 07:55:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775141758; x=1775746558; 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=byBhms6klEiQKAIzzwk/0xHdksfuhIUeiAfPpFlaRio=; b=UggwEuThHlg+HPjuQO+nIqYbJpoasM5JDtcjJGSSsSF7nUCnF+uf01Dv4retW9xrel kB1mqNFX6fVyoTdgB/O3qZcqITlN59nRtLPbxOqyLSaCd7aDCt7H++oypcDYxFZEOw0y A5ETned3/6WLM6ltGYSaE9OexRVy2clJygG2TDhm+vnDVFy5m8Mmuz47p1tBsQbgoEMf V0Gv4F/skazcZ6NKmxTQxUYhnVNB5jbEniAVp3y1N++uOi08YyZTQE9pEG97mtr7ndyh zZA+9Fpl2Wl+8qZHRkTMmK3hO8Hgy6jRMjVs0F77uL6JhmO412WzLleHm2merIQ2QGRK O/tg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775141758; x=1775746558; 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=byBhms6klEiQKAIzzwk/0xHdksfuhIUeiAfPpFlaRio=; b=s2INja9yrn3TPBqH3K/AhBVsGDNbBPwUtuwUoKL8gJHGnks4cWfOjslNdYoXGkwyHu 2FsT1zHI8LGn16VZuLz5av3pI0SMXiAQThtsAjYZN3027ExWINqT1hrWi22ZiO/oMsx1 32dXTMQ0OLzZbW/izgvDps7Ygxd4G9E+A5BcfnU2emnkmw3isFyXj7irSqeMPKQJnTsj ay0sDxc2SXdsDOzvhoj/L0Z5upHbaYKCPfljPVDz/KkoSRU24NaXauEQhkZdUpQ/lN9v xmjVri+rYwOpfjD1HiB/bpehzrIJzKcXodaqZ1tTJWh1gsj4O9F1Z39dK6Y1mgVehLpF OQzw== X-Forwarded-Encrypted: i=1; AJvYcCVI3v2p6rprQf/gcULjOHBzRnGaPUk3BJWuTG57iPPHMdPQUmo6gFv1nDTn/yuYmUh0fI9tDYF2OmIw0qI=@vger.kernel.org X-Gm-Message-State: AOJu0YyJ3+H3w2mOsybMmjFDW5qo3gs5yjGfLN2FiZ/G4Wtsh68aqsuE izosLbkf0uUjTcv1yQi4qjYKwKV3IHRZyCbxTadGMGiamtJXco5Mho+ribGINVUivR4a7zNdacb W2AT8Y2eaJvrZDJlmp+2nABTpaMmCoDrLecUGquMVvGmKHIezmn9LgyZlDq8SLAv9gKE= X-Gm-Gg: ATEYQzwGnoiJfs0fbO1LzTSydIzFfH2li3fq9ihU9Aue5yTPpE3Zs9QyIu39GjYr+3X tyiDKrsTJj9xLWe8XWwyyKZGFOkcoFMKRGNucylNeXpnHP196iYCkDImQkJZWtUUsu0ei7xbSDx S3fMwxhVT9XdXG0bLGpMQLBgT+OXjqeTREGOIxpTni9HhuQkjZhLHfOnWnhQOza+rQ3di+tVFrg 5PkNUfPdhmBJ/UsI51YzrKYFtY3EWC7WYn2mP8qIm2QeTLPN3zIVsOSyECenTggINlj7AF43pDr 4QIWAquIioBh67jl91IuQCIQCekUXNOmo3H36BY12Ur0b5aq3LIwKRB6a6AaKkxqBqxLZytENn8 Wea6PscLoUkWNSzDr0+W+0aTDXOSVRKwrn7ZVk2EDWMpwBZophGzh X-Received: by 2002:ac8:584b:0:b0:50b:4051:2cab with SMTP id d75a77b69052e-50d3bd93571mr91421561cf.58.1775141757740; Thu, 02 Apr 2026 07:55:57 -0700 (PDT) X-Received: by 2002:ac8:584b:0:b0:50b:4051:2cab with SMTP id d75a77b69052e-50d3bd93571mr91420911cf.58.1775141757095; Thu, 02 Apr 2026 07:55:57 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:4ff1:3e57:22ec:dadc]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43d1e4f5294sm7234038f8f.35.2026.04.02.07.55.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Apr 2026 07:55:56 -0700 (PDT) From: Bartosz Golaszewski Date: Thu, 02 Apr 2026 16:55:14 +0200 Subject: [PATCH v15 03/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: <20260402-qcom-qce-cmd-descr-v15-3-98b5361f7ed7@oss.qualcomm.com> References: <20260402-qcom-qce-cmd-descr-v15-0-98b5361f7ed7@oss.qualcomm.com> In-Reply-To: <20260402-qcom-qce-cmd-descr-v15-0-98b5361f7ed7@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Peter Ujfalusi , Michal Simek , Frank Li Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3778; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=RN7fpsHiCZHYCJzNDBLJB3M5MgjeycllWN+nZFNR5GU=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpzoNttrOMD5O1TrTM3zWVJLqAviQNXIGYfDsLU CrGd8qok0qJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCac6DbQAKCRAFnS7L/zaE w8roEACMMRfh3TRLFF/S5nKqbwtmE2/WOd/n+9qk8CukMnOw/tPJsJotraNuFZNfuWFTZlvOalH Q5Pcgr4AfZuQj6TTlajUMp8KQjFNI+y5eQDREiQoF685WY7ADulpMMb2I6T98ayVoM5shSiBlb/ FraalmH20R6UXKRchT3RABrIY7s6Ew57Z88q+D3wjtcNQEaxzZjbC2VzrKttL5j635eRTUpKjcH NPnKw6Uk1FeZYQMrPq9t00O98ACv3vVWMcxHIaO0tdwLpumyUkE5+fMmwFgYFR6M6a0FbreUDVc uf8nFY70XswRTiTjlr62LiSXthcPO1YOTAt5sgPAcMJM9ReAlpPsm4vc8CjkTTWc6T0N3ArmGTJ hNtjZT6IIwS5uAPd8V3m8373rxuMiG7FEKFPK4aJwg7IzWUdL6VDJSpprcJtN6NKSpquI0AAmXq T1GTVdP3fcK2SDDAkja4DnOTOU/YysvlDwX72VuKYqXABXNAL2abiPcPEnCg7zbd97/Za3oIt7I dfRaOyrZ0fLSXpuGWd3sT9yHg/GkjcsWf9xcLPTpNGzYFpZBbnGdOBXsBOSxVzZInTMXoKCOQgC pXqDP5n5kg2UVwjJQpwH92gyf1TKA8RKa0w3IV9kpqRLqcLVQEWt3fqQTX+BiFTG7YeWgnOm9mB JLINzYGU8FGdnnA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDAyMDEzNCBTYWx0ZWRfX9yMNwlzz58z1 XnM5hzW3ovFec+YOffn/pxTgRIHhRezguJeayxJYxUSF19w+ZRBD2YLgTLLGVAMVglncZUSWjPa 4PKVTAK+iA63G0d/oomdgwfbDXeRR3GhpmM0ewuTThOOfjwawDTW1MtaXHU5Cf5Syu6k9LilH/T Gq/a7InR4fM7nRTb+7KQTmeBqb8+fkfdw1uuXege0Z+M6us6MjmA7hK62oDpU7mM6HL0w3bhYXh XFWaaSyBZyzlA2TcjeXEcMPF0z2vCHAuWEtDvr31M84kMo64SyM16AJHMRvZ/9YgqyK7WoNkmlr fIfIbcfpyUclrJuRVvkFzq/EWCNJupWtIXv9TDlQMNB+yexXRHsbt8Ob9LZCQnlZ1bJHeDdWdz/ wp6EwNAlmFtyj7qPVCUYZaG77tGJoMWFDZJBWJs2nV72whee8Orx/dvKk4zbEUBulcBVF36YzqR T6AXDITAFiFoo0ePnjA== X-Proofpoint-GUID: Z--DvG7xVbe-TmVgVsoYNjIhDoXazCEs X-Proofpoint-ORIG-GUID: Z--DvG7xVbe-TmVgVsoYNjIhDoXazCEs X-Authority-Analysis: v=2.4 cv=e9ULiKp/ c=1 sm=1 tr=0 ts=69ce837e cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=Fb6uNmSZeVr-t7npd3wA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-02_02,2026-04-02_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 priorityscore=1501 phishscore=0 bulkscore=0 malwarescore=0 clxscore=1015 suspectscore=0 adultscore=0 spamscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2604020134 From: Bartosz Golaszewski In preparation for supporting the pipe locking feature flag, extend the amount of information we can carry in device match data: create a separate structure and make the register information one of its fields. This way, in subsequent patches, it will be just a matter of adding a new field to the device data. Reviewed-by: Dmitry Baryshkov Signed-off-by: Bartosz Golaszewski Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski --- drivers/dma/qcom/bam_dma.c | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c index c8601bac555edf1bb4384fd39cb3449ec6e86334..8f6d03f6c673b57ed13aeca6c83= 31c71596d077b 100644 --- a/drivers/dma/qcom/bam_dma.c +++ b/drivers/dma/qcom/bam_dma.c @@ -113,6 +113,10 @@ struct reg_offset_data { unsigned int pipe_mult, evnt_mult, ee_mult; }; =20 +struct bam_device_data { + const struct reg_offset_data *reg_info; +}; + static const struct reg_offset_data bam_v1_3_reg_info[] =3D { [BAM_CTRL] =3D { 0x0F80, 0x00, 0x00, 0x00 }, [BAM_REVISION] =3D { 0x0F84, 0x00, 0x00, 0x00 }, @@ -142,6 +146,10 @@ static const struct reg_offset_data bam_v1_3_reg_info[= ] =3D { [BAM_P_FIFO_SIZES] =3D { 0x1020, 0x00, 0x40, 0x00 }, }; =20 +static const struct bam_device_data bam_v1_3_data =3D { + .reg_info =3D bam_v1_3_reg_info, +}; + static const struct reg_offset_data bam_v1_4_reg_info[] =3D { [BAM_CTRL] =3D { 0x0000, 0x00, 0x00, 0x00 }, [BAM_REVISION] =3D { 0x0004, 0x00, 0x00, 0x00 }, @@ -171,6 +179,10 @@ static const struct reg_offset_data bam_v1_4_reg_info[= ] =3D { [BAM_P_FIFO_SIZES] =3D { 0x1820, 0x00, 0x1000, 0x00 }, }; =20 +static const struct bam_device_data bam_v1_4_data =3D { + .reg_info =3D bam_v1_4_reg_info, +}; + static const struct reg_offset_data bam_v1_7_reg_info[] =3D { [BAM_CTRL] =3D { 0x00000, 0x00, 0x00, 0x00 }, [BAM_REVISION] =3D { 0x01000, 0x00, 0x00, 0x00 }, @@ -200,6 +212,10 @@ static const struct reg_offset_data bam_v1_7_reg_info[= ] =3D { [BAM_P_FIFO_SIZES] =3D { 0x13820, 0x00, 0x1000, 0x00 }, }; =20 +static const struct bam_device_data bam_v1_7_data =3D { + .reg_info =3D bam_v1_7_reg_info, +}; + /* BAM CTRL */ #define BAM_SW_RST BIT(0) #define BAM_EN BIT(1) @@ -393,7 +409,7 @@ struct bam_device { bool powered_remotely; u32 active_channels; =20 - const struct reg_offset_data *layout; + const struct bam_device_data *dev_data; =20 struct clk *bamclk; int irq; @@ -411,7 +427,7 @@ struct bam_device { static inline void __iomem *bam_addr(struct bam_device *bdev, u32 pipe, enum bam_reg reg) { - const struct reg_offset_data r =3D bdev->layout[reg]; + const struct reg_offset_data r =3D bdev->dev_data->reg_info[reg]; =20 return bdev->regs + r.base_offset + r.pipe_mult * pipe + @@ -1205,9 +1221,9 @@ static void bam_channel_init(struct bam_device *bdev,= struct bam_chan *bchan, } =20 static const struct of_device_id bam_of_match[] =3D { - { .compatible =3D "qcom,bam-v1.3.0", .data =3D &bam_v1_3_reg_info }, - { .compatible =3D "qcom,bam-v1.4.0", .data =3D &bam_v1_4_reg_info }, - { .compatible =3D "qcom,bam-v1.7.0", .data =3D &bam_v1_7_reg_info }, + { .compatible =3D "qcom,bam-v1.3.0", .data =3D &bam_v1_3_data }, + { .compatible =3D "qcom,bam-v1.4.0", .data =3D &bam_v1_4_data }, + { .compatible =3D "qcom,bam-v1.7.0", .data =3D &bam_v1_7_data }, {} }; =20 @@ -1231,7 +1247,7 @@ static int bam_dma_probe(struct platform_device *pdev) return -ENODEV; } =20 - bdev->layout =3D match->data; + bdev->dev_data =3D match->data; =20 bdev->regs =3D devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(bdev->regs)) --=20 2.47.3 From nobody Fri Apr 3 19:28:45 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8765A3EF66B for ; Thu, 2 Apr 2026 14:56:01 +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=1775141766; cv=none; b=ObQYOG9la7UuOs/AHFh0yNJKZjgxoUueXS/henTCb3WgD22Dmw5qkvyXp6t2GY7moFJ890r686u72oTprZx/YJeGOJYpSy90RotZgRkC8IjILjrmFuLBbwyfLGt5oen1a1u7z8jhQhZTxicJtfhAN6cqKea09PxK3Mm4k0yAG5g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775141766; c=relaxed/simple; bh=aFvWQ0r/9MeZDMiHp0RHPM2rE3l+aKHR+uxUux2PIyc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=K2GUklQAJ2F0N+fSIJ9xcsRvuC9U++v6MjGTcucy8HA5brHb1QzeiBPdMTomR1DFFYmxyWYDvBlRZlBqF7I5h2iwYuOAsoHGsg/GAqKbVVuGMUmveW/qwJvxH+feLka3t04xHry6GLycjTZrRwKPdzsFafXuC3g93YX4cLTqtkk= 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=kNby8qbh; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=crRNtGcD; 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="kNby8qbh"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="crRNtGcD" 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 632BtTqD3238848 for ; Thu, 2 Apr 2026 14:56:00 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= j+gmvqmnx6Mc+rqdGbk0x4TnThgU7BC6K13sY2POFME=; b=kNby8qbhSvkAQU+f o+viVz24FO74MfkKbVPx/SkcraBCc16GeP3vbVHxU8z/q6XakW/RHBK7BqPBWx3q E9OizDUEJXiYXdwma3Os3Xr/839mrb1Ck7ruXevKpd4GyFP8RJQWBtRS8TNaF7lW /d5V0QIhFexsODHwb/SK6GPzIjGlFkpDl4eJ+AYxTMl9ZbR97D8o19pWaeyL0jPk 7XqreCX6TFT7/0gPIhVYDrPWWnGiSrk3zPRoxlgRqdIqf/fNGi9GVvAc6ipUfX+V YYWzvW4SqHxpb0FqevNaP4ogvVB09mUic/CToAeIHCJiK2G4NJKImxRqCVVRAA4W OmX4TA== 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 4d9r0u0r46-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 02 Apr 2026 14:56:00 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-50b4661881eso10346071cf.0 for ; Thu, 02 Apr 2026 07:56:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775141760; x=1775746560; 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=j+gmvqmnx6Mc+rqdGbk0x4TnThgU7BC6K13sY2POFME=; b=crRNtGcDNQv78HsXRCdsyoR+MeJKYGvmS86bjqtNjqGfhyXuEG3VRjt2lIegaScFfz Oow0VeSmCIPVTKj5Uyz6RbFVOdDGRzMW9MWLs+UTD5OGfRStAUGJ3p6VSm5K5/CJKnwo tH6o+m6SoB8tjna3CNY4WM0xkUr0cqBjZi9aGxXK+/aDH4H9UVY9/jI5Wq23U50vZc+e gxh549ejVnTmygUHdgYTMEZ2E0JGTO/JilwvxzrJr1InQSlF1XG3puHPspYdO1e8//+d 5vwnbeu8rjNGQRw8QuwUYJCc4nLqDBvz05boTf6AE8ENvT2BvY4f+K18w2iHaLzkghwu sFIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775141760; x=1775746560; 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=j+gmvqmnx6Mc+rqdGbk0x4TnThgU7BC6K13sY2POFME=; b=HhVJp4IpzHbd2SVeiJ6qQ0vYRNOIJo4lm5Jp7ofFbKvCrUZN7Jnwmik1qj82Tt1u8Q FEysPDgEL247/DheS1Mq7aPuQTY6IefXDGLLiqrrBgU5wEgcACnOR2gDhIsEhorFgeZT f57b2O3yqW4WTSQmZm+8hnUYrX7+/HPl6B6ZBiCQmCx/NAtw6FmY3niji1XHV3BrTv6V J4qO/gQmxSqR0O/FXvI8isZJIRYDCOiqwoSQ0MzJTCkZI60z9VaKA10EyYwpaSs0UuDn ttlA3aPsz4JBbbUiWKavwwE+hf/MfjAF3c482heFDCDc94lE1Grste1Q/PjJbxaIFs7Y jgMA== X-Forwarded-Encrypted: i=1; AJvYcCUfUSPBZwCsa/J4lNc0VnO0RSijExk3eozrS8DIbJGfRwCV1s5psyp25PIOHlBU7ffM+E+w/vDYtoc9TRc=@vger.kernel.org X-Gm-Message-State: AOJu0Yxsplqwtr1CEApH8ibcEEXyJ6uvsgsDP09xpjNcsPOH72lvI6BO Txlrh3ipZ2f/244oZAMFOI3P6LUX8X0rJr/cOEfNLFGTylsiFsL29+uVOo1e/ROqY8jZ4hvZZ3n PUKK5hTQoFrmyWGV2bX0g3FeJ8s8rYKDTIuA9nGio76mTdhzcRYi4o8P4XShSgmeaJ/Y= X-Gm-Gg: ATEYQzx3Iug/+KFU/P+TunA3zWYCKbUtxNaAVZ/2c1q4a+SPZl1SbqYlY3kB701FPr+ MJuxO58nY57AVV7qo1YjpPG+A/9sEgr9xxb6Yo9fGTmh7cE5OXVAMfuEjUgSgQHl3AW4TVQwy9e a+DgsIxOAchSvuDHZJJb7+eme5nVpIxZSlZm+RM5o3Va6jow3SWowcRXkZL4lXAR/hYPgg2xlRz ZQ+ukz1nU2vimZWFn3jcOB9WOMnBtsXZCVdKGe4sKEX/FNwCFLJemrv0+vPQpqalILcmRNfmDpu ln3kSyeH++1l/LbPHNK0k8pDq1nfRM12RoY8HpaCb3nANkhUgoeUVtgFDPkVx3JbxMhuiXjAhiS NnEKw7IxgiICluqUDQ93D4IdJZZPaju2CILIWTMHn/ydrpORem92R X-Received: by 2002:a05:622a:1482:b0:50b:277d:efc9 with SMTP id d75a77b69052e-50d3bce073bmr112580041cf.39.1775141759826; Thu, 02 Apr 2026 07:55:59 -0700 (PDT) X-Received: by 2002:a05:622a:1482:b0:50b:277d:efc9 with SMTP id d75a77b69052e-50d3bce073bmr112579421cf.39.1775141758845; Thu, 02 Apr 2026 07:55:58 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:4ff1:3e57:22ec:dadc]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43d1e4f5294sm7234038f8f.35.2026.04.02.07.55.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Apr 2026 07:55:58 -0700 (PDT) From: Bartosz Golaszewski Date: Thu, 02 Apr 2026 16:55:15 +0200 Subject: [PATCH v15 04/12] dmaengine: qcom: bam_dma: Add pipe_lock_supported flag support Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260402-qcom-qce-cmd-descr-v15-4-98b5361f7ed7@oss.qualcomm.com> References: <20260402-qcom-qce-cmd-descr-v15-0-98b5361f7ed7@oss.qualcomm.com> In-Reply-To: <20260402-qcom-qce-cmd-descr-v15-0-98b5361f7ed7@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Peter Ujfalusi , Michal Simek , Frank Li Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski , Dmitry Baryshkov X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1476; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=EVDb1irXK/80h7Y6DY4Kfs/+E6/12M9d/9hBrF4TLTs=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpzoNu23GADjlJCRDcsn8vhTwpGPYfRCrRUbm3+ nhopRLKKh+JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCac6DbgAKCRAFnS7L/zaE wwFyD/47lE829UP657get8D7cIgkr4J9w+JyPNijwVv28MDus4Bdqt4RIdyqaJOqlKwEB4799lE 1SGYs4j0Rml+fB/NqzA+gvStZNWs9yF18pIS2XVjceGrxl7qEAhTcIR1mGV14G9sjDNKUvgIpB+ 2aWfWhdfg5TxTr55fVAcr3XveF9jtdkHr4lU9toHbgQMY77ey6nPrQ+VGhfvacyJvFM7nSDT9o6 Fqj23lWBB6BzMiEwigVQTPJb9f4AaqvPzMR6lp42BiqnRHCw/vjb9lgwMmaMAUYwkZ9HB+xfow+ ZQd35vtlLf0cPf2A1zUhM0TvVMrmJGnGtIZqhjKujpSQe6lg8m4CeI2Ex4Z2gWm0jXZm1Q0c9Xs 35RNOyCcLIuoICyPDYEEDpBivmbPPYwBoGYkua7ZfmyEpR1SU2S6d/6sldD+fVNYBSSkng0SXvM QB6FPlF087kfJVMpFGmldX8fqO2K3JoM4ijy8khWpYP9P9AjCHCtTWurfmwI4Wlj0R9P1S9BqU2 4L4fQOauy8Vik1aRb5gnrCaJWapZnucRrVjf9i9kHm9WC1p21qbELBaUuPODzkfggpVPjB99W1E G2n1XMmM1VJYts+EXj6U7NHX9OE17l8u+LY9nXyUNWzmsD8Chv7GKMt3d2FeiDCU5i8zQuW3LIh 7rc8aAnrvwDUFUw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDAyMDEzNCBTYWx0ZWRfX6gnRzOhgoaGV I7pO3pt+aCJX+BPNR6bZ6VWMC/CSHO53iT7i+GoxCdvlsrg4ZnXeFig4WDSWWCPawrxpa2WiCmE IfgV6/HbDJgYsZHYZCivYjWCWXaD13kbJX3nj0LDQSHlrO3U4AGiDLODQoeQS3pJIQT/JxcUMPf YiiQRiYEBYlaGAlZoQGBoUl2pKxP3HVQBVVsFKmH3V8QzxqZsFtfG5/lWtoqQVRkBjtcMzregOJ oJA+fn/3fSrVB/zhbprM2jjMOeQLalBKP39of9sHO45z+cmYci7nwkP4XsMuH0hiyQ6jEv9lQJc zJnxs4d6OZupbKbwpxnRpEch3eFq+9A5QHP4ddledfB+1RPuUJgaiuc3ZovgIX1iXi9vbUvkFkA 6iGcvzXvFgPSYjTN+ZeOrR4LZpS7pTrqsVkR4BUvGteYC7qQYvEkW9BiZqiSkBCYSawrYTJEIEG 252OaO14XApL06cOCyQ== X-Authority-Analysis: v=2.4 cv=D5xK6/Rj c=1 sm=1 tr=0 ts=69ce8380 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=VwQbUJbxAAAA:8 a=ZSnkYuKn9ZpO9KHknGoA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: Qs9MlWmw6eYM1G3Q6AQ5B5AFzwdIWEb8 X-Proofpoint-ORIG-GUID: Qs9MlWmw6eYM1G3Q6AQ5B5AFzwdIWEb8 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-02_02,2026-04-02_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 suspectscore=0 adultscore=0 priorityscore=1501 bulkscore=0 spamscore=0 phishscore=0 malwarescore=0 lowpriorityscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2604020134 From: Bartosz Golaszewski Extend the device match data with a flag indicating whether the IP supports the BAM lock/unlock feature. Set it to true on BAM IP versions 1.4.0 and above. Signed-off-by: Bartosz Golaszewski Reviewed-by: Dmitry Baryshkov Acked-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski --- drivers/dma/qcom/bam_dma.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c index 8f6d03f6c673b57ed13aeca6c8331c71596d077b..83491e7c2f17d8c9d12a1a055ba= ea7e3a0a75a53 100644 --- a/drivers/dma/qcom/bam_dma.c +++ b/drivers/dma/qcom/bam_dma.c @@ -115,6 +115,7 @@ struct reg_offset_data { =20 struct bam_device_data { const struct reg_offset_data *reg_info; + bool pipe_lock_supported; }; =20 static const struct reg_offset_data bam_v1_3_reg_info[] =3D { @@ -181,6 +182,7 @@ static const struct reg_offset_data bam_v1_4_reg_info[]= =3D { =20 static const struct bam_device_data bam_v1_4_data =3D { .reg_info =3D bam_v1_4_reg_info, + .pipe_lock_supported =3D true, }; =20 static const struct reg_offset_data bam_v1_7_reg_info[] =3D { @@ -214,6 +216,7 @@ static const struct reg_offset_data bam_v1_7_reg_info[]= =3D { =20 static const struct bam_device_data bam_v1_7_data =3D { .reg_info =3D bam_v1_7_reg_info, + .pipe_lock_supported =3D true, }; =20 /* BAM CTRL */ --=20 2.47.3 From nobody Fri Apr 3 19:28:45 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9F2353EF64D for ; Thu, 2 Apr 2026 14:56:03 +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=1775141768; cv=none; b=dL+VO5b63MofOJEUI/XB4xNA3qgRGh2NhYlZf3QULIGqo5KV5ZRgxVsOOJO5uh2JV0Nyboimt5dqJswdl5FVwsWgavsNmw6y3ehBzjhLmSetDrcSNZ3oD2Z4iuPgmamdazNKs4DrQiaa7xjqIIZzf156iCLOV2NV1y+3rWnlPjs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775141768; c=relaxed/simple; bh=wKwZxxjy27vlLx6KSC4wLUCtRQfRSr7Vcr0aJm2HW0c=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=cOP0TO8LNuAPGgQifm3tCODsnhi+nc8YQwlE/U0jP6kZjcHXuiISUFHN/zMhDx+Sy3R28IRMb0buu+bjlhFCLdjrqM89JhC0qhmCQ8IzTtdOAiYCVWzdzJEvF9Zhh8bGgBOAuoO6KlMyIhvU8QLpcesWVi9VPyZ0i5d8pA4jEBY= 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=FWzRf7J0; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=eVZUrqun; 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="FWzRf7J0"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="eVZUrqun" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 632CKJIf3955873 for ; Thu, 2 Apr 2026 14:56:02 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= a1m6afkSeaYLY+7Ncg1+riv3goTESL0u8rADY35Zlfc=; b=FWzRf7J0c9GGJe90 70DtTyoUU1cfoUAc30LX2mQ417Hjui1au+rOSTEgECElK9ipk3ErdQMixEBXLJLF pxXgzPFWhDpK4OWrt2VvTG8HFvOEbPJgIGgjgC66+L20Se+J6f+amlCMcPscnYVF 4gGwrbhLL/oJxdOqUXDJjUMEmdmJ+woiOvYscNaTeuIyYSwye45gPF4iCnju1cSp 6lbJOV1MjhOSQWD+lAO+dkgAHi6JuGeNxXWPjgZKiD0anml/nQ5Z4mLgBltTdZOp koMOv/STBmY2naqVujhQtr5wPcw3QxzCl7stxLVdcLBrJhRI5QHkLsPeoM1nAyO+ jt5sHA== 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 4d9aw5ks5e-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 02 Apr 2026 14:56:02 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-50917996cfaso29859161cf.0 for ; Thu, 02 Apr 2026 07:56:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775141762; x=1775746562; 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=a1m6afkSeaYLY+7Ncg1+riv3goTESL0u8rADY35Zlfc=; b=eVZUrqunF+OcbsOZX8gmeLuMSkRsbsQRL4xYbR/RpNjg9TmfcMIdCa3UH5gSxfSH0k BdjMZ+qExmaofGlUR8a+VJhK2L8xin6AZ13N0ts7v2hU/y8Teh/kb9Aw+0hiNyuUsGV5 SR2gIQoKLYZCSXgBifyl4UW56wJlaFk2oqkL5cPTKOArCX/9/LdmlV460S3hcXBHoMvB qWxaGOpJyK3jKEAcpdlHo3ylD+0dyt1qpKFnzyKzIULcGQseyhdLRSxSN2wgICRtrA2g QwGJlPPaSHH2K1Vpmq/USjYP7AJPGoOb/lojw8600urynBOAj9BscvMSOfSOPnmcVLUZ KGqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775141762; x=1775746562; 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=a1m6afkSeaYLY+7Ncg1+riv3goTESL0u8rADY35Zlfc=; b=GQDTUSSapGADgkZfhF5qO2A0KrY6Kv3C+GubimDLW5/W+nUVtU7g3y8Exou4P2xkRq y0Mm6idGAnvkM89i2O2c76jgHMCyHUUeHDUunaU9qCZnpEeI/l6k+uq9pWRFf5ZBuZg9 mObbEgXK4aSg3mP05Ud7GY0B7DZa4WCvIsSr4QLgMH4N4cqmtRKUuiL897Tkkk5/D3Aq Ppo/+pS5QFQAq2vd1Cqv6Tk680evYZ4wUHhePSiH+oOn6uw+9Kc4KEbptxs7UMxo6yvx xjjYQW3eMucFscHvipPcKwWRf5uKm0EY8/tXwVRSUmxSzusdg4M1KM5RVgLlxBn/YhMl ohWg== X-Forwarded-Encrypted: i=1; AJvYcCUzZ6gX1VWDt3aHjLwdgT0Zj9yuCK8HCAvuAbqFQHOW1djtQScJAthOAhO5w9n+YD3D7v9dfI+OUFTe4LU=@vger.kernel.org X-Gm-Message-State: AOJu0Yxn2p0I74Us0OzsYvYU6gt4Y5rWzAlH1U8trEXWm2AefkL6zVIA VCxVDdwQn4oFfkNNK7WybgdSAnK8cjCvpCWaUDQkmJqrL3RWXwk3eWaujYzidTrF7lgDr1ag93Z yBER1wf3JXky5pADJhPhzUeV+2EnOELf2ofBz9xI4BJBnRZPZxFxvWdt122JUZH/2I44= X-Gm-Gg: ATEYQzxNOZY3iHzyVHEFzjVrpSE87iII3nEZETNfGXt6+V4S1KuNqtC7EUmpl9qS4GH M5k9mtXhPY0CqP8Pw/lMITtq9nShiIF+oncajqof6TVD3i6C7L7dkYKfe7VP1A1Gpj+9VkJiRGF rd4Ot/IHyKuKrJ8+vtnEoK5VtUj5dXqTRshZdrQ06P66DGUZMJiQitWVUUZcdJ7l5Kx5RMu7T3y PODo3gz08aPMOM/q/iWF+a5P+cwJ7SHH5x0zumKFgqoNofzO4FQfp7k9cF+g4XSjvJEx9EPmjZQ o8R9iS58zPmL6t1XG7Il+CzSk0Whoqav+AAjZvMPWdHYcOVFOQWSGExH1qhVxuTm83V4KROSyaT FaPBIaPxmBmW/v9oT+e/hWrv3w317TwIFWSAxdmf5ixkPV1M1r/BR X-Received: by 2002:a05:622a:4a10:b0:50b:4435:5df0 with SMTP id d75a77b69052e-50d4bbce536mr49635241cf.58.1775141761702; Thu, 02 Apr 2026 07:56:01 -0700 (PDT) X-Received: by 2002:a05:622a:4a10:b0:50b:4435:5df0 with SMTP id d75a77b69052e-50d4bbce536mr49634831cf.58.1775141761173; Thu, 02 Apr 2026 07:56:01 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:4ff1:3e57:22ec:dadc]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43d1e4f5294sm7234038f8f.35.2026.04.02.07.55.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Apr 2026 07:56:00 -0700 (PDT) From: Bartosz Golaszewski Date: Thu, 02 Apr 2026 16:55:16 +0200 Subject: [PATCH v15 05/12] dmaengine: qcom: bam_dma: add support for BAM locking Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260402-qcom-qce-cmd-descr-v15-5-98b5361f7ed7@oss.qualcomm.com> References: <20260402-qcom-qce-cmd-descr-v15-0-98b5361f7ed7@oss.qualcomm.com> In-Reply-To: <20260402-qcom-qce-cmd-descr-v15-0-98b5361f7ed7@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Peter Ujfalusi , Michal Simek , Frank Li Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=9596; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=wKwZxxjy27vlLx6KSC4wLUCtRQfRSr7Vcr0aJm2HW0c=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpzoNwpVyAN5iwSh/1dbiN6sr+7EZfRmB/v7Ybd aJIJHuRjoiJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCac6DcAAKCRAFnS7L/zaE w5n/D/9IrWGPxnshCnee3DoeCuaE7nTlDLEbuQVhavvTHKGBQk0lBnaQTntkZsn2Pa4DgWD9o6u PoSq4ucXVnPKDugT7cT+xrs1aT/KtWU+AW+fvvWxhyPlfaM12NpOLeFKQfBAFhygrHBhHHckj/h gol0/O16tNUkm7BCq857hDDJuSnT4VnbWOci4iYxFKrzqT8FQkNYAOCJVTBYoqhztEPDjBabcwS hg6rLH3EtSOm4RcY6R19gcHC+yn9IcQ/8Q1vTzZl4evnSMNrcCiEiAHDoHqSBUK5wtm9hTJTqnc sU1HMdj6da53H3tKQqEEAnENoiYnk47FgJorlLGNUXCWdOwCoqoU9GXtd5VwqU49EDxG2+hdH6b rIeKU3JeiqWYChNOSXy7/7uD6p8A/0NJzSkZ7M1l7MdfGRbr8F2pQAeDVNrv2AoZJRo25aVBvoC 0ftACF9y3GbIxXuG/Jfop6cOPu4ykp/qOQhjsg2sxeHYfFpDJHT1wzVX4oK8IJDKDumf0ybqYPZ PQw1QJjwQ2lTCkuMMzShwwJn1mcSgOyQHlUXzdwvnAyH3OxvCSE299epFC4JLNOFD9Lg4H/TAmF DvQKG7a/3FZOEJa8jbd/mCLpC9+R2Bwpi7edhEIo3qLHFCTGelvUI51L9CQ2mtvbQwCv4e/MbVw 2KZpvVphZy3di1g== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=Q9jfIo2a c=1 sm=1 tr=0 ts=69ce8382 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=qJbEDo8Lr3yLsC1F8HwA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-GUID: xPtnxSU-UXRS27JMn1Oq_OQSa2cme351 X-Proofpoint-ORIG-GUID: xPtnxSU-UXRS27JMn1Oq_OQSa2cme351 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDAyMDEzNCBTYWx0ZWRfX201hG1HUTnrF BZUH29r9d54nsOLbcKDEERAypBFGbdDDbA+0DIY9uQDiB19udp0utKp8sW9uN7kQ1RZE1yFIJk6 lYbXTFDlBtAR3oz/VlK6sB0QUEfrEiCIE953l0hGVeyNE0KH4pCiQYjX56ndYQp1JkndydkKFVF KF3jzXF4zt6/E+K9RPoBwKnw9135X5khFfpAi0Mbd06f20YLWRXW/lU8dBfnM2K0UkESYqJUyF2 AB/ROykip0YywJQJHxD6QdWWfvlTI9yXq1oDl9jXhh6p25MsYbGf5wMX3Ge9QuCpDAWc3BWd2qb WUYmUPEF3Sv1DTX2yA1irV4y/3ZiHxR6l2E2M5DwegHPSzVpSuMJW+i+GYQjF72V/je/Yf/+MEP N+APXJzzF27NS30oX3YT9g+vRsmd6vHYX6E+9JESuvGXSaU7vJqslonItxAvBmbFVGYgoPNgE51 oBaRnhzZfUEbPdqwGDA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-02_02,2026-04-02_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 bulkscore=0 malwarescore=0 spamscore=0 phishscore=0 priorityscore=1501 lowpriorityscore=0 adultscore=0 suspectscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2604020134 Add support for BAM pipe locking. To that end: when starting DMA on an RX channel - prepend the existing queue of issued descriptors with an additional "dummy" command descriptor with the LOCK bit set. Once the transaction is done (no more issued descriptors), issue one more dummy descriptor with the UNLOCK bit. We *must* wait until the transaction is signalled as done because we must not perform any writes into config registers while the engine is busy. The dummy writes must be issued into a scratchpad register of the client so provide a mechanism to communicate the right address via descriptor metadata. Reviewed-by: Manivannan Sadhasivam Signed-off-by: Bartosz Golaszewski --- drivers/dma/qcom/bam_dma.c | 167 +++++++++++++++++++++++++++++++++++= +++- include/linux/dma/qcom_bam_dma.h | 14 ++++ 2 files changed, 177 insertions(+), 4 deletions(-) diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c index 83491e7c2f17d8c9d12a1a055baea7e3a0a75a53..c3c1d39b6e7cce16cb4eaf45022= 0c9e9a4dffe3f 100644 --- a/drivers/dma/qcom/bam_dma.c +++ b/drivers/dma/qcom/bam_dma.c @@ -28,11 +28,13 @@ #include #include #include +#include #include #include #include #include #include +#include #include #include #include @@ -60,6 +62,8 @@ struct bam_desc_hw { #define DESC_FLAG_EOB BIT(13) #define DESC_FLAG_NWD BIT(12) #define DESC_FLAG_CMD BIT(11) +#define DESC_FLAG_LOCK BIT(10) +#define DESC_FLAG_UNLOCK BIT(9) =20 struct bam_async_desc { struct virt_dma_desc vd; @@ -391,6 +395,14 @@ struct bam_chan { struct list_head desc_list; =20 struct list_head node; + + /* BAM locking infrastructure */ + phys_addr_t scratchpad_addr; + enum dma_transfer_direction direction; + struct scatterlist lock_sg; + struct scatterlist unlock_sg; + struct bam_cmd_element lock_ce; + struct bam_cmd_element unlock_ce; }; =20 static inline struct bam_chan *to_bam_chan(struct dma_chan *common) @@ -652,6 +664,33 @@ static int bam_slave_config(struct dma_chan *chan, return 0; } =20 +static int bam_metadata_attach(struct dma_async_tx_descriptor *desc, void = *data, size_t len) +{ + struct bam_chan *bchan =3D to_bam_chan(desc->chan); + const struct bam_device_data *bdata =3D bchan->bdev->dev_data; + struct bam_desc_metadata *metadata =3D data; + + if (!data) + return -EINVAL; + + if (!bdata->pipe_lock_supported) + /* + * The client wants to use locking but this BAM version doesn't + * support it. Don't return an error here as this will stop the + * client from using DMA at all for no reason. + */ + return 0; + + bchan->scratchpad_addr =3D metadata->scratchpad_addr; + bchan->direction =3D metadata->direction; + + return 0; +} + +static const struct dma_descriptor_metadata_ops bam_metadata_ops =3D { + .attach =3D bam_metadata_attach, +}; + /** * bam_prep_slave_sg - Prep slave sg transaction * @@ -668,6 +707,7 @@ static struct dma_async_tx_descriptor *bam_prep_slave_s= g(struct dma_chan *chan, void *context) { struct bam_chan *bchan =3D to_bam_chan(chan); + struct dma_async_tx_descriptor *tx_desc; struct bam_device *bdev =3D bchan->bdev; struct bam_async_desc *async_desc; struct scatterlist *sg; @@ -723,7 +763,12 @@ static struct dma_async_tx_descriptor *bam_prep_slave_= sg(struct dma_chan *chan, } while (remainder > 0); } =20 - return vchan_tx_prep(&bchan->vc, &async_desc->vd, flags); + tx_desc =3D vchan_tx_prep(&bchan->vc, &async_desc->vd, flags); + if (!tx_desc) + return NULL; + + tx_desc->metadata_ops =3D &bam_metadata_ops; + return tx_desc; } =20 /** @@ -1012,13 +1057,116 @@ static void bam_apply_new_config(struct bam_chan *= bchan, bchan->reconfigure =3D 0; } =20 +static struct bam_async_desc * +bam_make_lock_desc(struct bam_chan *bchan, struct scatterlist *sg, + struct bam_cmd_element *ce, unsigned long flag) +{ + struct dma_chan *chan =3D &bchan->vc.chan; + struct bam_async_desc *async_desc; + struct bam_desc_hw *desc; + struct virt_dma_desc *vd; + struct virt_dma_chan *vc; + unsigned int mapped; + dma_cookie_t cookie; + int ret; + + sg_init_table(sg, 1); + + async_desc =3D kzalloc_flex(*async_desc, desc, 1, GFP_NOWAIT); + if (!async_desc) { + dev_err(bchan->bdev->dev, "failed to allocate the BAM lock descriptor\n"= ); + return ERR_PTR(-ENOMEM); + } + + async_desc->num_desc =3D 1; + async_desc->curr_desc =3D async_desc->desc; + async_desc->dir =3D DMA_MEM_TO_DEV; + + desc =3D async_desc->desc; + + bam_prep_ce_le32(ce, bchan->scratchpad_addr, BAM_WRITE_COMMAND, 0); + sg_set_buf(sg, ce, sizeof(*ce)); + + mapped =3D dma_map_sg_attrs(chan->slave, sg, 1, DMA_TO_DEVICE, DMA_PREP_C= MD); + if (!mapped) { + kfree(async_desc); + return ERR_PTR(-ENOMEM); + } + + desc->flags |=3D cpu_to_le16(DESC_FLAG_CMD | flag); + desc->addr =3D sg_dma_address(sg); + desc->size =3D sizeof(struct bam_cmd_element); + + vc =3D &bchan->vc; + vd =3D &async_desc->vd; + + dma_async_tx_descriptor_init(&vd->tx, &vc->chan); + vd->tx.flags =3D DMA_PREP_CMD; + vd->tx.desc_free =3D vchan_tx_desc_free; + vd->tx_result.result =3D DMA_TRANS_NOERROR; + vd->tx_result.residue =3D 0; + + cookie =3D dma_cookie_assign(&vd->tx); + ret =3D dma_submit_error(cookie); + if (ret) { + dma_unmap_sg(chan->slave, sg, 1, DMA_TO_DEVICE); + kfree(async_desc); + return ERR_PTR(ret); + } + + return async_desc; +} + +static int bam_do_setup_pipe_lock(struct bam_chan *bchan, bool lock) +{ + struct bam_device *bdev =3D bchan->bdev; + const struct bam_device_data *bdata =3D bdev->dev_data; + struct bam_async_desc *lock_desc; + struct bam_cmd_element *ce; + struct scatterlist *sgl; + unsigned long flag; + + lockdep_assert_held(&bchan->vc.lock); + + if (!bdata->pipe_lock_supported || !bchan->scratchpad_addr || + bchan->direction !=3D DMA_MEM_TO_DEV) + return 0; + + if (lock) { + sgl =3D &bchan->lock_sg; + ce =3D &bchan->lock_ce; + flag =3D DESC_FLAG_LOCK; + } else { + sgl =3D &bchan->unlock_sg; + ce =3D &bchan->unlock_ce; + flag =3D DESC_FLAG_UNLOCK; + } + + lock_desc =3D bam_make_lock_desc(bchan, sgl, ce, flag); + if (IS_ERR(lock_desc)) + return PTR_ERR(lock_desc); + + if (lock) + list_add(&lock_desc->vd.node, &bchan->vc.desc_issued); + else + list_add_tail(&lock_desc->vd.node, &bchan->vc.desc_issued); + + return 0; +} + +static void bam_setup_pipe_lock(struct bam_chan *bchan) +{ + if (bam_do_setup_pipe_lock(bchan, true) || bam_do_setup_pipe_lock(bchan, = false)) + dev_err(bchan->vc.chan.slave, "Failed to setup BAM pipe lock descriptors= "); +} + /** * bam_start_dma - start next transaction * @bchan: bam dma channel */ static void bam_start_dma(struct bam_chan *bchan) { - struct virt_dma_desc *vd =3D vchan_next_desc(&bchan->vc); + struct virt_dma_desc *vd; struct bam_device *bdev =3D bchan->bdev; struct bam_async_desc *async_desc =3D NULL; struct bam_desc_hw *desc; @@ -1030,6 +1178,9 @@ static void bam_start_dma(struct bam_chan *bchan) =20 lockdep_assert_held(&bchan->vc.lock); =20 + bam_setup_pipe_lock(bchan); + + vd =3D vchan_next_desc(&bchan->vc); if (!vd) return; =20 @@ -1157,8 +1308,15 @@ static void bam_issue_pending(struct dma_chan *chan) */ static void bam_dma_free_desc(struct virt_dma_desc *vd) { - struct bam_async_desc *async_desc =3D container_of(vd, - struct bam_async_desc, vd); + struct bam_async_desc *async_desc =3D container_of(vd, struct bam_async_d= esc, vd); + struct bam_desc_hw *desc =3D async_desc->desc; + struct dma_chan *chan =3D vd->tx.chan; + struct bam_chan *bchan =3D to_bam_chan(chan); + + if (le16_to_cpu(desc->flags) & DESC_FLAG_LOCK) + dma_unmap_sg(chan->slave, &bchan->lock_sg, 1, DMA_TO_DEVICE); + else if (le16_to_cpu(desc->flags) & DESC_FLAG_UNLOCK) + dma_unmap_sg(chan->slave, &bchan->unlock_sg, 1, DMA_TO_DEVICE); =20 kfree(async_desc); } @@ -1350,6 +1508,7 @@ static int bam_dma_probe(struct platform_device *pdev) bdev->common.device_terminate_all =3D bam_dma_terminate_all; bdev->common.device_issue_pending =3D bam_issue_pending; bdev->common.device_tx_status =3D bam_tx_status; + bdev->common.desc_metadata_modes =3D DESC_METADATA_CLIENT; bdev->common.dev =3D bdev->dev; =20 ret =3D dma_async_device_register(&bdev->common); diff --git a/include/linux/dma/qcom_bam_dma.h b/include/linux/dma/qcom_bam_= dma.h index 68fc0e643b1b97fe4520d5878daa322b81f4f559..a2594264b0f58c4b2b1c85e243c= ad0d5669c26dc 100644 --- a/include/linux/dma/qcom_bam_dma.h +++ b/include/linux/dma/qcom_bam_dma.h @@ -6,6 +6,8 @@ #ifndef _QCOM_BAM_DMA_H #define _QCOM_BAM_DMA_H =20 +#include + #include =20 /* @@ -34,6 +36,18 @@ enum bam_command_type { BAM_READ_COMMAND, }; =20 +/** + * struct bam_desc_metadata - DMA descriptor metadata specific to the BAM = driver. + * + * @scratchpad_addr: Physical address to use for dummy write operations wh= en + * queuing command descriptors with LOCK/UNLOCK bits set. + * @direction: Transfer direction of this channel. + */ +struct bam_desc_metadata { + phys_addr_t scratchpad_addr; + enum dma_transfer_direction direction; +}; + /* * prep_bam_ce_le32 - Wrapper function to prepare a single BAM command * element with the data already in le32 format. --=20 2.47.3 From nobody Fri Apr 3 19:28:45 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7C66A3EF647 for ; Thu, 2 Apr 2026 14:56:04 +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=1775141768; cv=none; b=CUdjHOkmy2e5iVc5ZEI2Gp7Mf99S87POxbHa+ZSzzA6gL2OJanW1JH31X0K8IeoIbQDQXExXJJcoZjvJm/26LFdQ2gK2uYTMU9WtSGMSD/jBhBihin6vbp5d1rX1ajK3g0iX9DQiZW2VFZMusQJwtIuX4mCMkW11e1+8T0AexKk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775141768; c=relaxed/simple; bh=D/DbbvsYNV6WfJJN+Y3qtsfzsdueJP3Q7cdgK44aCk4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=EiYCokDJBcyohwxv7MkJI7e7Fc7GeKtSYfnRJCAeLPIJ/w8XNkJhl7ZhmOWZIJN5DeUIlPNWloIfZMcVyE0AUYIPVITxEcp118du0yaumON6HSZxCMgp4fpbbSLOSXTr8NTLY6mC6o4HV54VdaFm76gV4jzzG7gYXBX/oPC7mY8= 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=hhm/Q+Nj; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=RDqhAN7/; 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="hhm/Q+Nj"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="RDqhAN7/" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 632BLKP7091382 for ; Thu, 2 Apr 2026 14:56:04 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=hhm/Q+NjHhrDco77 6f8Ze5n4yZZP+l0GvEJS7/dD1ZPaYsAXrJTVWMwXuiE3+ebDLntYbEnTXgGrmDxn db4xD1p9lS0B/suY53jKBX9FlIVuUa44RcTAjubtXx5xZPU1CZg9NUlL7bZ6Bsm6 nT+IH8JlCmug39KX4UPdpWlV0QoMWog+WoXL8nqbrjisPhCJIV2QcxIBVkU5BO6W XPw0mnxeOGunILCIdsLFHFsiKCDN9B7hzcjslY0xXoq8NzD3VDU1fIca0nHzEiYb HkmB1iRyRMhcvNB6/qagH4PNMLvLx/suZ2lAWWrmdEYV2MwvYvHbvsbodC+SmhwK vLWU8Q== 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 4d9jcua9m6-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 02 Apr 2026 14:56:03 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-50b220c72bbso31816921cf.1 for ; Thu, 02 Apr 2026 07:56:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775141763; x=1775746563; 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=RDqhAN7/hD0f6VW0rJkYEedhP5yy+BhTu5k+tOLrZpC++wvCqk9/B/9CanXmbe8jg0 6gluEFXrdXM/n8+CHQhsIpjbr+4ivkwClA8RSRxR14zLUyoOrVfrlawXFyPsGMmCpLzw f1GmB2wpf+1SrswennxQtFUjvaD4lMzaz7BcYpL02yFA0LHtbrk3P0i295PIGWWbGRZ+ mtvOVvQJo9SwZDsU57zQY7o9Pvwkm9jCLbTXFwMPDVNV2RkB9qm3eMEhZpXdGqbC1JaG +snuShu7AORJDXk0IChNHWCMpKxv5op1d0zzU4TFvryuQyo1SK0G6slvc4jyJOdK6YQ7 GU4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775141763; x=1775746563; 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=L77dXa4IT7iwzw4HtW3zEFDSuoxGH2+kvckJRUXNSN+8igMq7jDAaMmThPjcwighp1 rcipKRG43k+mq0PmQiPTlMxSjvzU8b4pzjx/WPxoElCskgh2SgFS1rgSXHDActTbYHtb glx9u/SSRyj98ZGAlZS7LJ/k3WHUI+4bapOozKCFT4PM579bmZlaPX9e8h668rekPtf6 zseWPCPmqJuffdpKu5wh9OaLiklaNJOfAImX4AA4+YKZ3s+jK1yVaefn3I6Jwg4p1zyf PoFvlL4C6kZenjmPKgf8dxN/63W55aCYGFVL2O9L7H3hgxXdlJHuNclWvAVK9jF14ggZ rVbw== X-Forwarded-Encrypted: i=1; AJvYcCVuDotHn3BWiDg2sSAoj2A6vN8xljR0L/kaOr52TtgH8sK41Eh2hUEvlLqBMggXch2QS8DvQ7HF3n8wvp8=@vger.kernel.org X-Gm-Message-State: AOJu0YzvDPjdWx0MTip9pYH6BqHLxvTbW/d67zYfcnHV3/uxEgMUiyGF 6lLAAz4PgFf0h7zIz2MKqHB++Fza6KDKVCNT469xjhoMY4KovnrE6d7WtUNjBvymIpxhi3COmhV 7bfg3IdqbINlPFRToWTkEiwZJbt0lmMQdjZGMZWxVAXfyLyIekrlMt0DtKrLQJ9prrFo= X-Gm-Gg: ATEYQzzFatadbR5frWmxLR1ruCXlS5tGCmtu8RixGvZlWAjO2wRn9Zr/IQNnCOc/prx YOeeS2/lE1E5Sz/24Z9ZijVFtyZDj6rWVGJcJxnAqWmwKvg00nOG5RcQ0RUxvEPtqd2p7L2JpVX JiAe2ZpkkWsscUA1u8mddpkN5238EzmTAgUpryg2dV7qKKabG8wR8qEh8XX+N31gDOz1yv+/Uka YK7t1kUPz9pLNPKPKw26GsUXkXcmBCcWi2l/TRTd2YzUVDosCRvwNcQwRj17sNnvD79/Kc1eWdg PmKhiIz5TZQnht/UQUFRgXsZZ4vgioixd/Jt9ueZ3C15+uAklf3TJjp7RSyRaTn+sJ30QEuThU0 eTeSRIuQZYP5uRfWWGVBelnp4azWuQcTKvKka50dS1Vvs/5yeAQgE X-Received: by 2002:ac8:584c:0:b0:50d:3a3d:425 with SMTP id d75a77b69052e-50d3bcee735mr111226201cf.50.1775141763257; Thu, 02 Apr 2026 07:56:03 -0700 (PDT) X-Received: by 2002:ac8:584c:0:b0:50d:3a3d:425 with SMTP id d75a77b69052e-50d3bcee735mr111225641cf.50.1775141762799; Thu, 02 Apr 2026 07:56:02 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:4ff1:3e57:22ec:dadc]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43d1e4f5294sm7234038f8f.35.2026.04.02.07.56.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Apr 2026 07:56:02 -0700 (PDT) From: Bartosz Golaszewski Date: Thu, 02 Apr 2026 16:55:17 +0200 Subject: [PATCH v15 06/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: <20260402-qcom-qce-cmd-descr-v15-6-98b5361f7ed7@oss.qualcomm.com> References: <20260402-qcom-qce-cmd-descr-v15-0-98b5361f7ed7@oss.qualcomm.com> In-Reply-To: <20260402-qcom-qce-cmd-descr-v15-0-98b5361f7ed7@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Peter Ujfalusi , Michal Simek , Frank Li Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1260; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=SMWOwwGJxSzHnqJ7yBoaojvGxwV6GTuJEaiwl2WXaqU=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpzoNxGfIiDAsunI8yEQv2dTMgafI9KDud+u6uY Z9EOTwuZLCJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCac6DcQAKCRAFnS7L/zaE w6oxD/9yby24fgmJblPwc+DaP6ygv8XanMom0FqM2s+v228aXwkVpuyN5FBuNWQCeGnbjlX/ZaY 4YrJNNmnLEUh+QqJGWauvTQRl4zWc085RXGDYn3P1kC2rrXBrmDgRMGrVbtJbnkvXRIcEzuSBzQ MQUM4/UDW9HjMTWjw8fHLfCU7KZoWJemyyV7XK5Kla3GkPuOcTs8NGIsi25vIfZKYLDXp6fGBMZ j1bQgZSFTRxq/ko1u/x5qywVyi7DX9x8EpLRUkoURrcPkb+6+lgB8DMYt5+dir3bsyTViQCB5yD J9vblBfKuB5z5E3EpHRASIfzKPcFcVY3IYXy8dX9Defg46axje2sP5/7SqMBpi+EvDiUj74rEXG NLxOpx20lwxV+xxdQM2jzJ1ND58pPgxE/X+bDj+CMB6zt6jrkbSeljO6fYNaZu6TUxTNIO6V2QT EsB6KXtMTdQCyUu6+RklRbDZRGhsGfovviFIODqy27D+0kICbdM/LSMX2zkf6wCIgEECBXXyGk3 NI/nucGzvlZcNLQ/H9obOyWrEkOq89+G9kKbDayNxw2KPxMz6SMHcSpNWxrxOBoXwVnZpLUc7zT SshWVro1XoNq4nhzpOUst2ip+iJU/VefYxcClkUSN+xyIzHwFnGal/nFAwzhwTeQ4eWZrGTq9SG i+vVfSKWmwcYMcg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDAyMDEzNCBTYWx0ZWRfX9QCrDFHfhbbN ME/gkIUmmXKf5gdcESGhSW/ooJJU9HLX6+gF9XjNKiNoP/3+H5GUfEwh0brHjhVlPC5sNwgqlmT HW3j/cqxVRj9LX2m1BCMte8ybkerYtk9jT/mAL7X/3DFYThzBTQt4FjeAi/3HUl1a6NocREQLs4 blAz0gw4Jqna0DjktAzT5SJaiAJqMm/BG8yrURChA91g0C9X9dmJcxkkWzndpjVw28ryXjtZ8yH OEbxzGjPxIj+6StUayZDeqwsxVT08+n00GOMiBu1vVJ1TBeGdSn0SxpjfEdveBUKawy3LN9NJRp p8EeiL7KxV2ISx84wjVy2nbH3b4FD+nRT7OrE23jopzZnbrsNXyasg92TvcRrJ5JDKud9k2kwrL LSafhVBqtJ2CiYuiGIrHaAwDcS+/Qx97WXLLWGWz4vHo/Mvi7wvGoKg8M9mFtq/DLeBv6AkE3HU bUPtk2C3eRJfjC8nJqw== X-Proofpoint-GUID: TRUVUq4lKj-WPa84pv2IjV7UQTYxke3H X-Authority-Analysis: v=2.4 cv=eYYwvrEH c=1 sm=1 tr=0 ts=69ce8383 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=rvG61WhHFVBzVmnuldcA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: TRUVUq4lKj-WPa84pv2IjV7UQTYxke3H X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-02_02,2026-04-02_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 priorityscore=1501 lowpriorityscore=0 phishscore=0 impostorscore=0 malwarescore=0 bulkscore=0 adultscore=0 clxscore=1015 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2604020134 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 Apr 3 19:28:45 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DEE1D3E9F80 for ; Thu, 2 Apr 2026 14:56:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775141769; cv=none; b=kValhi7+VqI2R/gDthYKLLKDLanjd/NTlJjyLG9cp0qnuHIqkFkJRXszwxaa3CFqTPZwTasTFfPxON7JgV0lhLmJPqimCIkStJDq68fzTYkQ3WyRhr+q2faGONCnDEqDcwulroRiwqj+f/U/q+A53ABSQG18l/bzr6bHvTFIBYs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775141769; c=relaxed/simple; bh=6dN4XjHr+6OQnOzxmGwMll0VZH7PW0q5aNlxk1E5+Hg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Owrt4zjqmcMyBvD4OesC8BaeAcG/mskk3XdjGOQKs7yQWKWm15mGRG1qQIo40NEglNYgadPGEg6UAHCXkcpZV/rD15HHVrt9E/H4brbeqMp7EgBQ1tcDd4rhEtUSBKgoW6f63i/q4j9k2DQ2pazTSW8dUgbtfSyDrLvvK5Iu5sY= 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=fnAEDssy; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=IyNFdDlD; 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="fnAEDssy"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="IyNFdDlD" 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 632BlK7r2337995 for ; Thu, 2 Apr 2026 14:56:05 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 9iGVNuTYeeAltbq14HNN1Bd2g5XTMHQ/MFj6N7hyZ8I=; b=fnAEDssyNLp3ghhD f25/maqd1A+1r1IMow5HxZz/DPatB5OjSKm/mmd+91kbOhUstS22Az8SuZPumI1v 1vsfNL9zjpt9rK/2Qf9OIsVS8nbFK+ZbMk3UfgPu+tafBQ9zDZSFlzedv0egIWD1 XaXCo/gr54EU1KiqKRlDIut2Ecf91D3q//fnIIB8LkyZDsij2K8D44LGT7x3mMl3 B1L8IqZdBb01hikGg6BM4UbmqrF3YqyP6A04or+xKwyjek+MgimeDG2wG3g3+iK4 GRquod6DN6hSJavBLdBwhrbQ5j/1goF/2ZfhxaaYy37iNkzIdWYATZ7nx5pikEKB Bc7thA== 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 4d9qw08shc-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 02 Apr 2026 14:56:05 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-50b52a2d70cso25073851cf.3 for ; Thu, 02 Apr 2026 07:56:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775141765; x=1775746565; 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=IyNFdDlDHzxY5egKAoGOE0eGdm1zeZDnEsydRJqp3cEmu1reCgxWSDuTPQPbJ8xBSi PP3ehw129+Uusbw4gP0sYtStNxmMdn5ieP83uD2WCMHPTKe5jNBK724hISKmqh5vEQmE YqmIYTLDe0m6ZvkSg+D2yHmo4RietaM10lfGqAafNCgAZkMsr/udAMgQckHYStVKD4vH TVdTrcsp/l6gAJPcJEYjStbJ+YItZ53RkuC91YCXjNu2LhPZ9xJXWEJ+qbJPPT9WvanT 8zh0K8TS5xcP0Ezm+HbNkhGYEGP2TrWK9aG8OZEI3FBhPb7RQgzTS/qLuu+xiXOerdHw wF3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775141765; x=1775746565; 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=e11DYZjxOIKVsNT3TdE8CtoSMUcgv3sQIFdMABBkVFjDbWVR+zN+4phrgfx7AqYRKi 01XAJj0H6IrFpkzOT8dZJEyUDKhq5sFhcU0GOu+ce2IbtWK/2byCuTMqoLPC88+Zqv0K e6lKwQyTk+1lQUmv2dCZtPBqPelrXGSfuin6CZq/I9Jhcf3E34riUBp5dpOG/BcRavMU jEVKegHkohHQy98/fCKL2ea36MIoiuTlomVhJ0PqEsFEE6WoGr+pC2dtOX+zu0ol6B1J +tlNwF/HxXBofG6JEJSFCgqCu+/VwFVTX/ZpKY/hBvuwBcEWokPoDC9BWk9q57MnkvLO 8yAA== X-Forwarded-Encrypted: i=1; AJvYcCV/KZTrLJDcxYXig5XbHDvF8isDdF7fa1NF0dqZCjqMjVeJ6JJZIWUdr5J6lKyzPefNcUKM3jYj63SlfDA=@vger.kernel.org X-Gm-Message-State: AOJu0YyD8+xcdywLyrn+IXZeJ1FsQzY8ZVWPLAbJALx0pW5HvzILoZcj n7RvHE8J3XyoZag7amiGqQH5jVD45THiHHcJ7QYIUzIBiSwZcNK41f4Q4oNSGX7ewvsxrCS/ZVf wWepYKtwVsKa1XEBGoTusVh4rXzcBpJKgkZXAA17R792TLnYGFKIc8pedjH7HLnb40bw= X-Gm-Gg: ATEYQzw960K+fkF7G3vKLsw+qCjuv2EE/qM42+GFpKQ8OI4FT5jGM4Y168Lm7BIQSMr J/g9OhXkSXCAwcwyQvrNh+UhPM6A4AIgBL7cAGsmEgsDZbfASgkJOlKWTn+ArZxQgctDZEUJxkW YUNE7xU0jTRGM5oqNUOHse7OS8X9x/QAKKM23htPiU4Gs9qMn1wWhDWx5cyIWgTmaNk0AqfGTir 8eZiOuucgGmylEGyDYLB+NH4OPUveLiBzQsi5vN0klMNGVdNLMM9a6FeaZtkzAW9ey3Mi+06v1k px6YuXBFi0kjBNM69Hb8I/hb+A98R8l1hd4cD4C083j/ZrgsHxGRZKkD3DMZVm5vyT+YyDJK3AB 4mkeY2gU7trLpVOPoO0hixB6gAdNC+EUSQN9hJ4DDyigcDUDUtBPe X-Received: by 2002:ac8:580c:0:b0:509:3cd:b243 with SMTP id d75a77b69052e-50d3bbddfecmr105597461cf.21.1775141765127; Thu, 02 Apr 2026 07:56:05 -0700 (PDT) X-Received: by 2002:ac8:580c:0:b0:509:3cd:b243 with SMTP id d75a77b69052e-50d3bbddfecmr105596981cf.21.1775141764680; Thu, 02 Apr 2026 07:56:04 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:4ff1:3e57:22ec:dadc]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43d1e4f5294sm7234038f8f.35.2026.04.02.07.56.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Apr 2026 07:56:03 -0700 (PDT) From: Bartosz Golaszewski Date: Thu, 02 Apr 2026 16:55:18 +0200 Subject: [PATCH v15 07/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: <20260402-qcom-qce-cmd-descr-v15-7-98b5361f7ed7@oss.qualcomm.com> References: <20260402-qcom-qce-cmd-descr-v15-0-98b5361f7ed7@oss.qualcomm.com> In-Reply-To: <20260402-qcom-qce-cmd-descr-v15-0-98b5361f7ed7@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Peter Ujfalusi , Michal Simek , Frank Li Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2012; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=DfH5Bb+Cx5AadRW9+jaH1GcMtyO0VLpMWlVREcJBr7o=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpzoNyFx0Etnu2/7Xen0gWpBFZ1ieiULMMRmf0H dTMlK6qKdeJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCac6DcgAKCRAFnS7L/zaE wxcyD/4hXcbTkC8LIp/lwCB+yEZJEm/+U6CMtxj0z5MXytldDhzObBweDdkesDvi2TH0bZnhx/M QAEDeB7fy3n4n97BktwVseoItXlZ2bj9ipNnLEymN9G6ze2aZKXIkQ3ANRQpc271S/pz4R8pD1U XMip2W2kAz8R5+2cygpnjwYHhCIjXYuK7piExHs53IaUtpqWgdpUYsbQr7h6bu/Kjsu/jMUpiEJ TnnF0JEkuAGezCa5beyxU6YL8kMaFVT7h7Vg7x0RYQKu4G97cZAVX/zMY5rJVWsj+EDoao+lUvM wD+nv8o+kyD3Ikj2lfUVY2AzLMMANjOQWZuUaUihp0iVfh5uX3Oy1gBAT25PWFcUGX4n2C6oD9d o49niLg3vR2qIVQCtghh2fx2Wl/palGRNaDucuTAzrXIS6taZ6WBx160n5jodW+R2AqO86pnudI tUqBye1okP3/9ucTEBmRQsu3W2WpNCWHpjvLZH3qYVEXveiWZ58AfRRdrpmopJ6wb1z4aKMpq+z 94a45xjHW/dO6ffUlFz1HLxAi4BvPiWd9n5Bo83Y9eY/W1wwQsSjUpRRLhtkgK2A8AI7hIVzYzA +pLL16n9HNqW5r9ginpaVJg1RR1v9VIk1mWRFnaQ+skPc3e+DMDwSqO2BSRLREqo4qXE5S+4GHs BjTGf2SKCagZs/g== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDAyMDEzNCBTYWx0ZWRfX9Gkve7LAFvGE ZLykkycwlUnKqKx28grkI/+m2I6KiHxa573234dnbGoS4oBFd5SiksTp793ih50h4bmKojmAFCu j+hGU5izHuTuXBcbwGv+0ZQAlc8G4dKhqIhOOHuVgHdRB43SWeLtbnpLuURoB2SNZyowmM42nWM EZtyQo3ZVw2JVF+V9ga0qmVE4pZQNeSf1B70NN7d62UJ9hvwkfkBJDEMmPABymtlVYojuMk4rVg jpTeJu7F5d0ur6BNjX2i2k7shoRWWYc0MOTiI3igkwqqMCShlP41MAYhrC/AQ6JZGPm0XeNOhp5 dgkj77N1wUMcf7HTcLRouypjax/EJEin8FrpBX4yngg/8YKbTkSgeH7mQs7RQUWBMtuoO+SKWt6 igeC7zSGJFJ5MUVe+HKnHrKVX9IynPIWil7iURr44Wlae3fQcap3xm8URU/G/M87X3xibgZ+riQ 42CLgZK3DNPfoeZLHhg== X-Authority-Analysis: v=2.4 cv=PNICOPqC c=1 sm=1 tr=0 ts=69ce8385 cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=tWRRbWwrKX-5tUpmLDIA:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: jw7Otrs9zJnsqN-fiBHFS_phWmeqzuD9 X-Proofpoint-ORIG-GUID: jw7Otrs9zJnsqN-fiBHFS_phWmeqzuD9 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-02_02,2026-04-02_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 malwarescore=0 suspectscore=0 lowpriorityscore=0 spamscore=0 priorityscore=1501 adultscore=0 phishscore=0 bulkscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2604020134 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 Apr 3 19:28:45 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C0CD63F076B for ; Thu, 2 Apr 2026 14:56:08 +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=1775141770; cv=none; b=uOTG3L0BKkq9x6CYiCQ6DOGtusTNz78BAtivSYmsBKsrYsi7kGX13N9wmVxepVI2HoXf7T4YIqXbaZkKlHJwbZFuQpEOovm3g7y9aukkvZ/xNSuSWpfTq4reYePR3JBJY68zu2Xgwv+4RRnZ+mVLe4da8zPxTGS1gx37azmuCRY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775141770; c=relaxed/simple; bh=H6RGZzI1m6Hy642I73fornlozWd6x9hkPKo2H6raYsE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Soj+dHZ/zP+aVTR9zNxdMz+O0IKBjLgd8jntLyX6+bFTlyJ7SLIT7mUJa6ZNTvQ3Bnoq3imH9eV2kRnCar1SMmveHsh7HAg9MT8SSDZh4/eeTp3Law8KUbTufFEVjA+1KjFOKK2FomynOSMPE5PhwViv6FRPycS42a1Pg1zkjTo= 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=jjv/uOZR; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=As21ELOn; 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="jjv/uOZR"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="As21ELOn" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 632CCfEd3956485 for ; Thu, 2 Apr 2026 14:56:07 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= DQ9O/WxlrEXbsvKUWZga3GBiGSWqxH7TMX/h6DSnlY8=; b=jjv/uOZRYaHEHoRO OhvrWfyx4BPEtoIbYWZlWkxu2wSKKq5KD5Gi2pjxebeX8ic/lu/iJg8k5ZJ7W0GW ThM+v/O9nKK8dTO6xq3M0xE7LJo81sIatQujzTxIj7feWdwhLrTyqwePnhawNizS KNAzvC4JuRfDfsl0tHL6wZXBmFHVjNdDOTOHIUEBqrfR+UrpDK7TmSxTSIZZ2Ppa oNvWy4pqeMD5wMBeNlfa6ij6d4NKlEz97zIc464WoSitEuIZTk4E5Ga5AZs2di+D VFjdYKxOv/A9elKh+iLWD16IpJBjlRnbG1q58lF5Ja4hp0J23jmd0nOEPhl9Y7F3 6+SkDA== 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 4d9aw5ks5w-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 02 Apr 2026 14:56:07 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-5093a985e21so24619181cf.3 for ; Thu, 02 Apr 2026 07:56:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775141767; x=1775746567; 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=As21ELOnLC+pZE1stAHumjkKqPYskxADwPAMic79EE+YeYyC4/LQrjsnRnwWcdM024 kHerEvDtAUv/aDI04vh+NPw8jGEoRMTTieOr7tFvxp7l/oGgYwApRYZA+aMDfX+84meV 0n5xVpSp3lX0acIBUIr6oNsDXBtNe9J8SSjqtvi6JjM67Z8p3dWF7mWYh/HHYprrgrh3 VToja6F1Dpi/ni9x7uH0YxkwMPrGc9r7u53h3UWCqebzj1Yzgt/FpHsjosEZfsCAxQcT VGSjqqt333+vy78sdjTlooofCEFC/h0fV/6h7bMbU6PONdhsnCmqrMkUg8lEeLsVOiWD 2iKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775141767; x=1775746567; 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=TxNNegf8iLstXHJGycsRAOpTajzq8gDeQmtNWIFU6kP4AWe615uCqlQqXr5mMfrJU3 ya+JpYfj9gkZ9yvB5brlN05DPdoLwtF/UDi31WRtX629cl13A2AEYESNjScJRHjGXl6I h4sEhpKp3QiY+JcAGuAwZ9dcbwfuhw6qMqpWFStf33byV71+RbVQd9zxGmslel3BYUGm 8RFTCz102g6GRV2lnAPHRJh8yLudxiQU01XtRqUuZikFsT7N7YNLBxHNumOG9pw4Ehbg W9S8cIg/t2Y0CRcCn0QeG1+1dKctOwvd3zPxUwIxeOyGJ/ZdjWLsbmY6dI1eUdCStDrA bTkQ== X-Forwarded-Encrypted: i=1; AJvYcCXfS854O3itzUXlJXbKgkYZ4TkDtlzuifpmmXNwBMljBilNwzgTgW337z/Vj7FZA5IiuPw2NbA0U2JUlVs=@vger.kernel.org X-Gm-Message-State: AOJu0Yx4B+5tvhHrJvXYqMFV+RqliRR7b/ii440ZW50HOvH9rjtajn3p sXUNAUIrdH7DWZAJC+g3kr2dnNaDbBjVRLw9L/2UhmMRlwudx7I+bbhnDTS6/zdm4URHk0Yr+K5 fIiQAhrjE3IqCg1QEyShedubTQIW/CzfldlVLhIPx6PMtM9pHdcx9ypigNbr7ESpoArU= X-Gm-Gg: ATEYQzxAzbwv+n1iRU1XOKBM2D3RlYkPM+WYYsoFZlWSSxsi2BDzN1zJO+Vm3YsccEf B1WJmt/lPe4DSK77166x59bYhmlvVhlm51tXmNj0pZ1uyuKED4snJV9+dFlXfGXyXOcBl19JQyD LwoxuVunfuQpG5jaZqqXm3ZaPr+oJDxEeExYDvt1c+eKaXuKSKArkDdNjjM1E79GqfwNJao78mO pqE6LFPvq4Z651T9F6UQXivNUODPbaryOIQCyH5BlR9C9l6tFV0KHzy4t+8/HH6Y/BR6/Vzq5o4 uHYl/ErI513Pnk9MeNh1LEPMlylAHyJSK1B48qJ1RxZVf5wl49aoAEdJszecyjzTkY4E30rE+df 5JReFAcqu+ZXldHMUOiPDYM6tQS/xHb+TD0Av2nGItXNSYalfxiiB X-Received: by 2002:ac8:5f91:0:b0:50b:4b2f:160f with SMTP id d75a77b69052e-50d4baf4d04mr52063401cf.2.1775141766845; Thu, 02 Apr 2026 07:56:06 -0700 (PDT) X-Received: by 2002:ac8:5f91:0:b0:50b:4b2f:160f with SMTP id d75a77b69052e-50d4baf4d04mr52062841cf.2.1775141766263; Thu, 02 Apr 2026 07:56:06 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:4ff1:3e57:22ec:dadc]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43d1e4f5294sm7234038f8f.35.2026.04.02.07.56.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Apr 2026 07:56:05 -0700 (PDT) From: Bartosz Golaszewski Date: Thu, 02 Apr 2026 16:55:19 +0200 Subject: [PATCH v15 08/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: <20260402-qcom-qce-cmd-descr-v15-8-98b5361f7ed7@oss.qualcomm.com> References: <20260402-qcom-qce-cmd-descr-v15-0-98b5361f7ed7@oss.qualcomm.com> In-Reply-To: <20260402-qcom-qce-cmd-descr-v15-0-98b5361f7ed7@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Peter Ujfalusi , Michal Simek , Frank Li Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2620; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=TfRVgyaOMZw2GJQ0rx6WhRl0huHGm4mvuAmz76BcVUM=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpzoNzEh+YYO2lgM0nPb1VilylrWYD8ji10R8Np dqzkiNoNcCJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCac6DcwAKCRAFnS7L/zaE w/vCD/41OmwoNJ26OE9s+l3CE75toiL58EEROz30ZdgpzB1yIw/FxXJETSElcZZUPvPRTVosG8/ 9xDaMFFaOC8dvOqRDssG8eh6/JxHaq0jdTDr9eGwwTeDSwDRbAWBnkUCcx1oABEfdgC7ah8gIGY OTYe+0fz5tWfRQpJv+SlZdAga2y/zhZdbNyGsbjQXpgOC33nfmQGMiHVYwv0zOLwupKafodh/IF 6ivjWb1x+XbxxPaqnBoxXG+RYHU5fJjrf/mqB6Cfzh8+wlhiJ7ylloc3dNCwgco6hvpdLqYuQ9h gAXW6OVmiVv76dk9cdVbeKzER3EZ2rdetKaQkV9AlfZBrpTP9ES9dYOrV30HZozqUQnhqQIBQWD BuLtGY85SXuRAG+KL4iQavzfZI/TYWkiwzU133G/9fF4tLXvemgANbyn6ekk1xC4eeio15yBrw7 7AXpSHUWITHiuJ//peC4tg94NoNIFiCzaWt7hhex+uoVjx85oZN87R1nZ3uP5xfAK5AxX/xnmly i0UUOpHCvGGyRjCD+F2BL9elk8YIljfVGcWNDrvCif9WLOYZ4sKdEw20OvQTpgRU0K1Z+R0u2K5 T71RunrxXWijw9+EMxO5KYsq/ZMlSV5PAqCoibjcRSE7PqPfkD0gQbEDHGPmPGn2L3bXHxVqtFv ACG7MfqSknMZSCg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=Q9jfIo2a c=1 sm=1 tr=0 ts=69ce8387 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=KrkfD191a8oFwBap4LAA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: ayKmB8PAUkIKwkZ-2_iiweceonLBj74W X-Proofpoint-ORIG-GUID: ayKmB8PAUkIKwkZ-2_iiweceonLBj74W X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDAyMDEzNCBTYWx0ZWRfXwxTQyL4aycTR AXPJEpjCcABPsATPDXIksZ/XTN9afbcaKi0gzCgHCxjxwSwoTwWnWpbn6ZwFNvSBa4TyAhY/Vp8 x91h2HVaeiEg/qJC2kJxruSsxMTri9JJ4PnIlIf9E29Xo65GNTGGADR0BpFfrfrYSrI3c+CaLno MUgWqnZnITblBER8oZtaDMZwt73/472x14Y6vBQsqVgZjfyp5XzgVV3A/G4stEWLYVs5kpLyE6P Pkb2a61ROP0yNZ0kJHbZj8rI5Y7CzMbb5ZDu4pmpYylEbRmRvEqfPpZCMTtRxF4XRMb4Fp4kmyK U/o3G/vrXkaVJw1JOtqHHy4dU8IRcDK/ZMoS80ZcQU0MYSG/DDy1GRmtCi2SAitQx8gYDKYZgBs v8Z+Sb79ZIjbDlsPOHu8GeRqXsdJXDt+zLYXh6Glj0neAnS8eoWlYpeD51ekWd6J8+DLnUPUueo TC7lBx0CVjNgxx247FA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-02_02,2026-04-02_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 bulkscore=0 malwarescore=0 spamscore=0 phishscore=0 priorityscore=1501 lowpriorityscore=0 adultscore=0 suspectscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2604020134 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 Apr 3 19:28:45 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 31C223EFD06 for ; Thu, 2 Apr 2026 14:56:10 +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=1775141771; cv=none; b=ExfryXxvpvRxMgqrxe6Q/RdvtZcWU+mOZTas1HY3PT2uhHJHwRqQBuVv6vnCaydRpiCCywQQ/Bl+batet7GoaJ2JNyQi8fptFzE/K3H7D/dLc4BgZ97woQBr7J9ILcLp6jbznbVAFYyCi32uXNugAc55EJAG49lsogGC/k3iOfI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775141771; c=relaxed/simple; bh=0l3gdVnkPeEhRWmaFMSjmRRcTqey535uYCWAXzuHtwc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=GNLNbjR/ZQ94R2SoDTFWL35RzRjWNPRr5gSKCt6kO9LbGtFNEXDKv/ugxzO5IBgNwnqc1eJL6QazRGe0u5N/s9c3ae8BZVFb2AuzsbSNig2FN63GVsAmzZGbpWiMn4fPdrfgQlgBlxeEfCUWT6CICuUotJdHpUmX0c1HiRcomkY= 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=F2b5mPE6; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=GOtIz+ew; 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="F2b5mPE6"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="GOtIz+ew" 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 632BlMxd2338012 for ; Thu, 2 Apr 2026 14:56:09 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=F2b5mPE6MOju8Oyg ucejf9qJ95Sn6iowkA9IjZroJMROxZyDVVUqfVJWVWCD/0MfDpxLxwYPU5lZ5r31 tNdB97i7BHyPTo88WsQU+QCyG+HAM5iWgT/hwMOKFxS61o1C6LPn58ch5Da39EPd k3kK/q4V1kFDA3bAh/2UvuWTn4Ke0PiRdDj6oMziXDlMWnZrmiHFPD5XO7AgD1tj KKyPpflwehWHWwpYWid6cq1TMzRkLcLWXKnAK3fzdzc1yk9uFN1Tu260+pbrD9BP GHeyzv7k7VF37OtfYMmeIWXzVcJsDSM0yPvewsc5x8n9Ywmm3h8RAO4oA7VgFHWt hWC1hw== 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 4d9qw08sht-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 02 Apr 2026 14:56:09 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-50b4987c698so5088371cf.0 for ; Thu, 02 Apr 2026 07:56:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775141769; x=1775746569; 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=GOtIz+ewO2WDJ+NLAqIHfioIeC6jC1kvMMZ6DgvCxod5hLF+ocmsDtSb+TOrS6IwsN /fnjx3pF9huLRhG4jYFHcziJHhAMU7K5EHe4zoXia0LTmy1OpKKNvsnK5Ou7Dt4o8qXJ LSW55ckCC5Ng0QK2aAeJN31dxrXYY+J9YcPe8EbeKb3FhUDYFEdk87r1e0EQKRpCLgO2 xl+t/WHuOeniokrV5tO0JA38jIPaiwxnG+CHmFD+uDwt6ixkXiaaaCeaGD82eWHmZb1d jSwLtaRBT2zJCXSeyyDY8+ds/nzPUCIZN2EsQiWJiBAy+b2wtHJIuHVKRet5gqP5rCIk b1lg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775141769; x=1775746569; 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=nSwO1qBAfoHZUUVvwAu1iGPGCtV44ia9PT5PLvnlIreBtIayeHPOjesqSQ4OvMGzyL s7aPIhp6CTzvzAZimG+yaCO8tvJDBetu7B4bEeoT76RFNo7/mGHNrAhkc9SbYeu29lXn 4S3qD9L2+XFbSvY63K1PZFRjrX8rW3sVWLBhwIPzzyNMpO3xXOuDzUBoOtmfW82jEdIF InWEUFSKGxhkcwbvIsu9Am27ljKXBD1R9Qgpnt/dNgmDE4fcUEvJTtmkAx2PLFOw+3Dw Fhd8/yDAJenY5dhat9rdKe2UARBH3DORF9hjMtl65W/WvXjXJ6nsKA6GahZ62O1nYifp UOqw== X-Forwarded-Encrypted: i=1; AJvYcCW9XhgZcmn5HojPcHLKhDRSUOzjtj+oSucmyRZdbzy2mNfJe8cdcBvkJ4ZUL0DcVUSXq1wQMkmmJ9uwzIQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yx/64LXtYJMsToYNGWe/YB1zyvyVCkL0SV1Ft7ZBIBQkBzkM+iJ D+45+VkCMj4y9RPa4MOVYHzLLuhXiwN6ELxd3tmTQKanN3ur04kq6Vlzg/+6tFA43OeYVPUYHVB zc46f5XEKsQywTxVeXGpp6Qf3oV9oepwZ7Xd/MFQDo1ndacQ+r/B9KnKTLThQir4dTXE= X-Gm-Gg: ATEYQzy44G7bG5h3+NDy+prfaV4yYwzLrUj18UIbz5Zwnf23CjC0OegGhl+oPj+ZXhD vOyeMc+Z5HWa8DZk3F2lnTcpbiwnJFjvz1OpjPuU9u0A4Nw7so9rmBbMC1Zdq0Xs+GBrlF4EAxb 86c513bHyg0FHQpH2piKk+G28OxVW3dGXAxON35ElIMsRTblKtIiaCxUKRT1qNEWy7p+RdZlFzK Ps670WjlRE9+M//1KXHbGoViUwiy4EEN3WzHBhuX6RExZAbl29imalP/vGffFjDbPPXMU6sF3VG QK5JDbXMSdgZ3a+VHv6mWBl7lxIARVHcyr0GdDE6pN4glGY8PtPomSHsUAofNvyt+WCZIU2Ao4H ARzXH5nDBtORqM0O2BW87pIWrpHTAVNZzXsEm4CpR2VRH6UkNegHq X-Received: by 2002:a05:622a:9010:b0:50b:88ee:2a9b with SMTP id d75a77b69052e-50d4fa3611cmr29715131cf.8.1775141768734; Thu, 02 Apr 2026 07:56:08 -0700 (PDT) X-Received: by 2002:a05:622a:9010:b0:50b:88ee:2a9b with SMTP id d75a77b69052e-50d4fa3611cmr29714591cf.8.1775141768162; Thu, 02 Apr 2026 07:56:08 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:4ff1:3e57:22ec:dadc]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43d1e4f5294sm7234038f8f.35.2026.04.02.07.56.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Apr 2026 07:56:07 -0700 (PDT) From: Bartosz Golaszewski Date: Thu, 02 Apr 2026 16:55:20 +0200 Subject: [PATCH v15 09/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: <20260402-qcom-qce-cmd-descr-v15-9-98b5361f7ed7@oss.qualcomm.com> References: <20260402-qcom-qce-cmd-descr-v15-0-98b5361f7ed7@oss.qualcomm.com> In-Reply-To: <20260402-qcom-qce-cmd-descr-v15-0-98b5361f7ed7@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Peter Ujfalusi , Michal Simek , Frank Li Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski , Konrad Dybcio X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2266; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=azGHQ+ypZ4Lhe2NPlFIx77n1JCkKbs9Xx9/yXH7ccEw=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpzoNzeuggNn5BCNecoJCLrUyCjkRPdUQVVkp+w mFiIH4xYmWJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCac6DcwAKCRAFnS7L/zaE w0XhD/9ZCEKhdsA5TR+k++pP7kqMzhvGODEdwO1q5oZmaA1dMdmuEdfcYRhRjuRPXldSrajs8yw D5+EgI6MEdmLjLUT+Tji/dBPYrWLmNXFLQ9odMFTUEU8OGO4UxdX/WbKzwQXJFEV4K8Zw+6S+bu TgWOMtd6DVjNr4r+ELCqXIUr07rYI0sehCueUohwgkqUo+qNIf6N7v8beK/2xRtdhqfaudcXQ8S FbBnHZhyWpCNg6ED2xtAeZNHPwZbEj0Uu+BBTCQZqLmGy/keNmrJv8g4QaS452Is+hOcdFGwhWR BLZzae8ApdncQPoRSOVfoGtZQpodazl5E1WYplRe881BebahXfFO8vuD6Wcqyr3jf9HwnwRll9a XipnTViJZBLur2Ii2gw770lrAIis33gYUww4HAc5oOmnNrP/lLBcPF505vA1YrbjRnK/oRf3YCG BWCa6OorgOGpRdRPa9vyi9wEIx8z7ngbF9JBVPLtpINnSXEaatZFk2qng17Cx4cYlU0TpLOTAh+ 3QaneSn05WqQWzq/bnuGUbnG5klFLjR3DP3lGvzboalllN7rEnwvZ2RjPQzyEp4Ncu/qYIDtcxn SRP+vLHbnGpB7jOruI70NfQ8Fi4N5bYDm+tnpRZ/21fXa1UsrPD5333rNp68E7iWtsXpQ8jrqOg H+qXuRJM+RwCTUw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDAyMDEzNCBTYWx0ZWRfX2R72gutnyabt cU1LHQDNOOOTlsoMzL2kkGlToXpMjQe/5+v/yAhtNs0ci20WHKiHg2gxzEOHxKQ1JiOMoI+htgr 6GgYRaecGLGMXOUOnXiOtYtZ2ByS2a1C3NHL2R7zf+6/Ngos59bRDJ0uMF4d3h3rVsZKRramhlQ h6T4WFsgRt/fzJdfsShPbtBABoTkI0cZfFTZrHbKImqHyQMgNlIqEfSISe4nrTPcY/kB/LyPKD/ K+XXBfCPj3cYOQYtylHfbWLECKiK45IseGCPZBSmjlusqMzSlb6JDnKxcsfpCLC5IRUmQWy4qYz DVjugR2nmzNAwFzRDAQ44U4CnISk1QgKWpmKm8oS6Qt7xOVS+dI5JhIPrp5+II4eIVF0HmBT1mi UYxrbFr8aiyda5Z0/1WX0/G+sE31qdy2eYSYelmA9J4RRVXSD4fDSTb0SLsL8tJjUtyvB7Fgy1h 6LHpXrJMoGeDvBM7Wag== X-Authority-Analysis: v=2.4 cv=PNICOPqC c=1 sm=1 tr=0 ts=69ce8389 cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=r78XHnC5kAO70zNBxnsA:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: aEYJi1NkTr_UX85KUsopD5IZIBut2P1i X-Proofpoint-ORIG-GUID: aEYJi1NkTr_UX85KUsopD5IZIBut2P1i X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-02_02,2026-04-02_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 malwarescore=0 suspectscore=0 lowpriorityscore=0 spamscore=0 priorityscore=1501 adultscore=0 phishscore=0 bulkscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2604020134 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 Apr 3 19:28:45 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 858233F0AA5 for ; Thu, 2 Apr 2026 14:56:12 +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=1775141774; cv=none; b=NebtCFwlEZdkS4rSj0967ViIObx/thHcVHsUOTr6+zBrpSiubbZAk5bvW/6yip87ksybG3AvzdRuW3DXfQqFMEsAxCAstsGEWv7kEzHPZDUkNTjr2feyXyeugyrrMV9ZbX0x9drOWm0R1584HqIP6AaQXgLusQf3hiUOmiH9oMc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775141774; c=relaxed/simple; bh=FnVBtOe0OnnBy34d5WsqwWSUvkeiYQ93/vJc1qwp/2M=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=GNpXnRq13Bkg/LbHLWNdhxwM6wgianmgtQdp6YTH2W2WKaC4/fhg01eihIR2ZaOKakP+hCF3PR6RlXyO9QTvDoRuOZZIyTL+G7n837KIHEi9oMbi5Mt6UxoHQLP5dlUoG9AZhpK8hvpDpkfOVTRURf7SoCnf9vAPsn9G+MQod70= 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=h56kFTWM; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=N5wjq56E; 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="h56kFTWM"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="N5wjq56E" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 632DDt0H1128506 for ; Thu, 2 Apr 2026 14:56:11 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=h56kFTWMUlgm4OaU 6rXGKYNDIfODFF7EZWmThTDcoVcb3kHRX8osbRqePsIdk/90JI+SQn/34ZgADqYz 2aJcqsq79ghpcUcn6n/84o7z88GxLdiG/ULJi1XHp3O6/jvP1cUAgm9Ya5Z3qI+J +2Ukge4IYQPNCtBN/ZQgwBxQmY7XKllup37qKoxZDtCVIGAlPNZgGbfh1xSeeDzC 82GaG3k4OdM4oYqjwHraTqfBY/PKVVRgAWJTotYv8EpGlpdcTXGtBZIn6k1oI5Ki pumzqD+6DNqsTkRxtFXWoe1LKbX6DPzF4tjdn4T2jHrWvWENyow9NyQdjvn6jvqF L1lw0w== 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 4d96k9cn6w-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 02 Apr 2026 14:56:11 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-50917996cfaso29863141cf.0 for ; Thu, 02 Apr 2026 07:56:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775141771; x=1775746571; 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=N5wjq56EgKSq4NtaDxTcbKXCN+hXhiSCk05FL7iNdTrAeiZuCkSlX3HUaQPskXRpVe tK+2KoJjZA1tnoXmFlP+2H7z8p3sgpDiXpGiG1FrAwNEi2TFALRCVgH0iRP8zhgtZVYv VnDusuLAMtY2Nz6pfo7KMI2oQtwHYGMJ9gQ4DHBtD2LqoBnWn/+omIRLJyNdJiu7/+dS q8WlddwpbvaB/mMPJgzRn3YdjGd2pE7Bea3mrZ2TdtpyX9koEmaxxprG/r5CMKy7qKkt eL/lBUZAceaLRm62hN5DPzITaKphUcTKd6nT2haXixrjmPiei2oZVgwJAJmYZFEczcga 9ytw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775141771; x=1775746571; 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=tQD2hbM2UzMYUmvrZiD7UFVtu9ID4aeMD0TWZjMu10KkJ6PnuZQIS39z8ZSXq6J0DA IBMv51Z6uk69RSkFjGCmDDfib8vHZCK4V5oCwmt+fdQLzzcKD9/ZOVQMO+uFQvN6sg0e sYiEFrxnACE0Tbid28P+fxu/Znn76znp+QTcnRzfLprZAuFC3Odi8o8XxX/vuQMismXB SLPAIYJk5spdoc8bVRVdwhHb6qj4GPdRy9ryQs6SNbi2Pl4CyeWelTmCeuR1AUunhtGQ gks1g8CrLSUOeshgsUKpUEj+0GoufgIvJjUqzgAN2QKuwIdo717FsfJPpdRWIVk9FB0g WSiw== X-Forwarded-Encrypted: i=1; AJvYcCWHJbnEPMNn/U6GiUDS/MwHuOkV/ZIwUe1ahZ7JQ263hHGWkYWYNZsnIeS2PfGvM58iRNQ3Uz7wmV+KRPI=@vger.kernel.org X-Gm-Message-State: AOJu0YyMLKB13CaqBcDUK3bvGada4o+Li+iYWLZcqzgZ8c19Imq0Pllx hjWiBnNyUTMOcE2ptcIsDPcAyw5vpqzIvuoisOUn4XcO7mhkcBRhdLMJlYs9aJepKdxVmZWbhfZ NRGV/KOynifcMRUYWc5yawbbZrXw0nAb5SBobH0NwSES7BYpmRBKxMJWNJrHoOgVQGzE= X-Gm-Gg: ATEYQzxpIovshWrulrxTFc9IrHx3QPQNq8nrTeIYv3J2/dTRXYuaVSAwegYXp75dYgE iqZAlu/Z6N7lSqlYugaSHKm5PmRjM7ZP1ot3LLEq826sA7wGYsTq7cIbsEmxSHFykCxHUUDv9GF Ud/cnMQN3jDZLVTnqhIg/jo0BHEqob2JWrnZDKLQu5krU9u9A5Doz2V1qA1QMaTRoJUwb3KzSf3 +tY/M5Hd0LRzRymR19R4WnJ8jkD1EwQiL4faRBe9AHP8F5LdF7hsjk1mUWXxbQYaUp/U9T44w6X QQA4bLSojynHsXKci7P8qUfNUnBp+qV5YP2itTngFDf3wA71RkadUSu0IU5JJ5XYDU4paWAUVxg k0+OG8mBJfM7JjyW5oBrnBl/jQqzQwg2bOPf2h8PhPnyXLV7tGIN9 X-Received: by 2002:a05:622a:1f17:b0:50b:55e5:ae16 with SMTP id d75a77b69052e-50d4bb2f15amr60483651cf.39.1775141770788; Thu, 02 Apr 2026 07:56:10 -0700 (PDT) X-Received: by 2002:a05:622a:1f17:b0:50b:55e5:ae16 with SMTP id d75a77b69052e-50d4bb2f15amr60483211cf.39.1775141770327; Thu, 02 Apr 2026 07:56:10 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:4ff1:3e57:22ec:dadc]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43d1e4f5294sm7234038f8f.35.2026.04.02.07.56.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Apr 2026 07:56:09 -0700 (PDT) From: Bartosz Golaszewski Date: Thu, 02 Apr 2026 16:55:21 +0200 Subject: [PATCH v15 10/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: <20260402-qcom-qce-cmd-descr-v15-10-98b5361f7ed7@oss.qualcomm.com> References: <20260402-qcom-qce-cmd-descr-v15-0-98b5361f7ed7@oss.qualcomm.com> In-Reply-To: <20260402-qcom-qce-cmd-descr-v15-0-98b5361f7ed7@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Peter Ujfalusi , Michal Simek , Frank Li Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3159; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=gRGqUxioVpJcY9zBfeIZn1vIilzfanwkfyseaIOaQFk=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpzoN0Jnvqzol//1aftLcHIaS6ZlwSZvrnLYFlU mZBU34nMRqJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCac6DdAAKCRAFnS7L/zaE w539D/9iuXTON0oYTfiow82EhJT647lh+WwVedrhINel04kbhUedgYSrGKONqAPKhsF2rniV2ez UYvaRuki8fe0nkKr/yRK/Cd38UxQ9eXck6xk12ZFC/lTER8tQugESXXQd+8ZpugdvNga37jGJBh kCOCYtWrdI1upUP3N6qPwXpuvmyKAlnfjm85BrPu/lQHAlpJpxt8sEToCLba/cbVF/NyflfsdoM 5+Y5vn81JjOXz6yRq121TVSQWlgiD2bAvjfiroHBKLLpg7eGVux95IccKfUwh88hiOhpF3EiXkZ D2E4VTyOkK2VZQ3KmBq7yJ9FxOs6bkfWugYHMLictueHXev1vU5Gf/MRnGQYvljKlz4ADnRSgO9 M8wUecv7z4KGNEBMPryMuQDgSVRVo6n+yD+GMD2IRH1pL0tdNDEh0V/DBYeU6DF++dGhnWwcay2 LHbfESxUk6kyO/h/CvZf08SSGFd/ihuDY8sBx5zPoqpXdd4Sy95Mmt54lk3abkj/95v34RRd7nH rKbLn4AVfHply6+hMV9EEzeuPFN4czJCMJ0dxSQRmG/DkfS21YKDmQ4krQIQc5yz24yD9r/TZux D0YZQ3RIjUZYHpgkxkhA9VUyQizSn0HPaVcohkqykPgJaRUHO5FckzqgKMebNAmzZWyvekO5HLV 58DJjEhSe+gPLEw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=doLWylg4 c=1 sm=1 tr=0 ts=69ce838b cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=76fuQ0JqpD8MvifAs1cA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: EGKo4cTYVYj7qR_lZutQ7WYy1S68-K2a X-Proofpoint-GUID: EGKo4cTYVYj7qR_lZutQ7WYy1S68-K2a X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDAyMDEzNCBTYWx0ZWRfXxA5oVTJ3um1a 7zDypjnHS1eKaWAXFJ15p9mhyiC5U2NewUIJUa9UzqIzFNRGyDF1y6RyKq2UsR7e7Luro3lpxI/ 4R+4JGF3IFJb57W11/pTHpMJpYkGOYaLHkqn5yPEtTaUE/E8XruXkiQpBbtln9e+YGcGwVy3wBt kWHCoMHix6CwhQnZgOMwRIvg4o0f0TpWi1uwCjkOFc4o1Wm01ZQXbFF2g7vsJa012H2UaLS0PZv BsXLx0xrjFwEBCCWvUaeeG/FJkjGlA/D1/juPDcK/LPJ1iYtB6/5CZpHqwvv+Gld7rBosiMIzF1 WdFrkFZ3tAu83NQ/4A7IOUP3cdWVoWiG3CNYEkRfAbi4hbXi2EhXjrvurChSeAPY1L4QE1Eql8j bLkM808sJ8ll28n5URHwMCjriVV2/CWkO6iarEsIOMc3aaO4GSQjFt9r8y+JJN1D7pe6PyjyUEM Huhv/H1ARL+DrSs/d7w== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-02_02,2026-04-02_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 bulkscore=0 impostorscore=0 spamscore=0 suspectscore=0 clxscore=1015 lowpriorityscore=0 malwarescore=0 priorityscore=1501 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2604020134 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 Apr 3 19:28:45 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 963143EF0D0 for ; Thu, 2 Apr 2026 14:56:16 +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=1775141779; cv=none; b=hS4Ms7RA8zqkKG/irzdyNc1QUL3FGgZAeNWEXKs7/7NwYuw9yzpNahoytjsJa0GQKaPryAICAUF4ExSFGqXJTqicvbCoL/xazyS7fmE9QiAeECUWlcdWXH022L54nRT+kkGWWP1VGsC2Y93YvcGRVxokAKfTsF9EmHuLpE9qQ5U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775141779; c=relaxed/simple; bh=J6JQaK92XNV2IsiAsrkn8st/ERqfkA6XUnyKQOIn/eg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=qXIzzNmHAfWIaom5MQKoKCMvjjOfqBAK5BU5bONM2uuBxzDZwXBTBnynnv+mZMDBPHZqPtD4oDtpk87oofHPFVPOabrr9RzMgn/BNJDrfsvslk6h6yWI1std9sX11Et5N7EJAINHzgg58k+hyluwA6mvQ8Qxpd8rt0M1UsJgsT8= 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=fzlik9O3; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=JkzzOdkD; 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="fzlik9O3"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="JkzzOdkD" 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 632BlKEQ2338001 for ; Thu, 2 Apr 2026 14:56:15 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= iL0DqmcolfEx1Yxj+LLfsMTXg/CLsi8xOZKAt5M4Zk0=; b=fzlik9O3xUgb5UWI b+i2zH+8cBlOSa9dzBmWMfq508BIvipLHfOKdLfr8ax+sl6byEqZ2q7pm0TBDGmR FxChGSy2pRZdLzrlaw9bRnHQZ/OzYU8c+qCL21L4CPVAUhUrUcBzMue8C5YNcTr3 N3YOpMIR1eEGlauYl3jRqy7L/gbFl8ySxtPLZh1A8UCc6m71E7yivBO7DOxTNb9j BzejX4pZSeBLPHMEcCwGN7w3e7Zp8a+yyEapshT1/Z7o6bDbv2MDHCxSewFznthx pMT/1X3CYi1/m+c3Ha3E53zLHetwzAnEuiTUh2i0looFEWVD/bTHVqDjCAaq3UDk fxTPqA== 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 4d9qw08sjf-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 02 Apr 2026 14:56:15 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-50b6f869676so21697891cf.2 for ; Thu, 02 Apr 2026 07:56:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775141774; x=1775746574; 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=iL0DqmcolfEx1Yxj+LLfsMTXg/CLsi8xOZKAt5M4Zk0=; b=JkzzOdkDafGd53YbGenkpPWpAAle+EwwD386hZPoMbqoAhvRuRH0OBMq07LvQcBvSz smNBY1gyTUvc8IRZjHpxEqusp5D5UWJxYN1YVEnFoMgAx53DQj0HXb7krdvnNTKmbXh2 5CpptoIXTKy/k7bEJfWj1HFl8T7QmUWi0HG/95YecqqMWZdzHVVXQrZMj07pI3o51k1I IPP4pBJUTJAJVz+NDcRBmbm4VfVd3z2JZeGx5B2jqv6Ilg8X+BwN31kmyvltO+XZ3f/w gJ/KoBQAE7sFjAWH3INvYAUdRKuXVhyDyL7J5bqCuwQyboA+htG+QCUKKizYabhHQiTC rd9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775141774; x=1775746574; 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=iL0DqmcolfEx1Yxj+LLfsMTXg/CLsi8xOZKAt5M4Zk0=; b=D2slrnPGWhIN4ccVnUIt9AKmdc/FCm6c8YDY323YR0e6Cc4hgnn5EbxeDwhsj/4V0H 8Io4Kokl+ZFPTkoHYAFxwQeV9C8PQqJhjFoSZDEtoTW2GRJVHwI4ZodDkQzTbqEEmqyd a+vUIq0jQbw73hz5m7Wse0kus5Tv4T5KU5AU1Sn9D6UODjnwMV1dH/5wpBMwvNcNUQyK X8yVGgAtynvRct4WdyRTPR/4u/7WsYqUeB0sRNRq3yEAig2HhpNgImLJqz8KXJg2yTl9 kxhcLTofOovDb99q2GiZiTNYQFqJjeJBG24bi6gyrx50cFoySiAPQhil8D1ueASY6W6M gH9Q== X-Forwarded-Encrypted: i=1; AJvYcCXll8pPdqyd8dZ2I4RBAl1HK8zklDfLVfV6zuW3mfYh6tYdInXIF7tKFrS+MBFwf/xER13NZ0NFZNFPtd8=@vger.kernel.org X-Gm-Message-State: AOJu0Yx24v/TVSphyb27iiFObB3Z/nL3a6YlK5Df1xS3Du5IAWH+nfN5 aEkLnNAQEzoUuU1GjnbhTnzXGV6jCP8eXDxue99OI8SWnTeEENUDAF8xYzqXJ7pIta61QBIAmkf j9r4KRh4rfBtROJ6YD6tkNU7iZ+/uABNG61Jsngv2dVVDdFsf/wi6lpK1RhROjWzF8kU= X-Gm-Gg: ATEYQzy+4ZFviwKGKf6ZZ2/kcdtw1o6MA3yLQ9Oc75xYb/hgZgyxKNFEJd97zs6ljcT aPtjRDRQr7ES8revkmhm48mm0z7ulMjriQn/VxB0IvMYPQHUEZBrXS9ebQAXjPeLvMYswAKFYXc 6KkZBDFUVa6nAzAiXYa3/Rnt7hs2Z0PqW+VybhJLdA2ZTHIF3uskGIeIEBY2Iq4bVDBRr8vtucg vI6cGE1OZ3a3rKh6n7l37hNCsBscOVBIE3RPGYEm4bGxRCUAP9G3Y/OndoYXZGkyaf0TLQcGf7T i7MfmbtmSXL1ZTdCZThGpxeBmPj4rca1MxtsY4aPkycPksOX29HJeWEzt/KDYVmIg0ET795eU9c lbP1QbmxHpymsC9r4/ESoFBUqjatU7HGVLk/Pw1pnBOiJNWyt5LBO X-Received: by 2002:a05:622a:189c:b0:509:473e:2a12 with SMTP id d75a77b69052e-50d4c08a6e4mr50195831cf.48.1775141773815; Thu, 02 Apr 2026 07:56:13 -0700 (PDT) X-Received: by 2002:a05:622a:189c:b0:509:473e:2a12 with SMTP id d75a77b69052e-50d4c08a6e4mr50194551cf.48.1775141772532; Thu, 02 Apr 2026 07:56:12 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:4ff1:3e57:22ec:dadc]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43d1e4f5294sm7234038f8f.35.2026.04.02.07.56.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Apr 2026 07:56:11 -0700 (PDT) From: Bartosz Golaszewski Date: Thu, 02 Apr 2026 16:55:22 +0200 Subject: [PATCH v15 11/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: <20260402-qcom-qce-cmd-descr-v15-11-98b5361f7ed7@oss.qualcomm.com> References: <20260402-qcom-qce-cmd-descr-v15-0-98b5361f7ed7@oss.qualcomm.com> In-Reply-To: <20260402-qcom-qce-cmd-descr-v15-0-98b5361f7ed7@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Peter Ujfalusi , Michal Simek , Frank Li Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=11908; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=JXlCbp8LMrKa8gZGoF4/x1EM2L/52sBlLm6zQExbX3s=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpzoN0MahMF3M4CcaeZbitomDMivSWNu5AsyVjk AjDm9C44SeJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCac6DdAAKCRAFnS7L/zaE wzlbD/4m4lq8d+Mn4o29et71eRgR4neTJtDdsD2rxtYbQvn1mZRpBWpHAEkComk2d6/IyzyuR9o wbAyTan4uCsBX30p4cRLVl8W3MaPyoTvTvOnXvYD0ZszSgRDlZcPD4gterfTmdvFQsoAKL2sv6z NvykSQus2uGOTn+N2wMIET1k4wTCpHsS1HAFCPbxbTQaFQqQpomux4kGpYiaKoj7pLkGdgCWqSo LzolaQVzjihL6EzbSYz3TXG6Ws8/502rkww2sbatPiIslhWG+Yhu1DfHV2hc7cqXz+/s6OQiYd1 5qqefWTYT6V+So25fzE/J6ND8ELKFH5+K+Y4MppcBtDf3GFr9oE9epxTdtHHlZ0jRdrEhMPXWcw c2hLOg/Tk452Y8bFEigWrESCnxtE6Iie9VlKOHIfhuwdT0SbA5VdYu0yCav6QgA+xylQDoDz/Su Mjp/FO1A3x9Ksj7TtAboNY+pfOfAprSZGOlntRqtMAS0/sP9TOt1z5KHoLKExZwzEktKBsaUOqd NGIPUP4peK3nevgOAjaJws/S4ymrA3N/UlwbzReUJ/uP68y3nIyFVB3bCasUPIcNGwDF+fW1dYI BwMUf2cad3/jE1A5AWTOi8fkOmJ4okeqo7Aft7bsW+TgX9+uH/43iWFOpe8/uUyrkvhw8VQfCcR VqzaZzEz9Gk/sJg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDAyMDEzNCBTYWx0ZWRfX+pLtXmV8kJlK EYimnh3vWSWhtiKEiGA9r77dGl/+3+UkD1qy5H4VECryVs0p05C/uSn5ZwW/OpMVropaNM1paR2 QXlgpJu2vbOc7yi9C8w3u8zosu4e9fGAx42u5VfB5W74s7OafDeymeja47l8Cljlt/cm9whxncz 32zK6VrPuKwj/yVg8HLf5W6uUKmC/qR4G2KxS2xNHQ3WDnjI03wm+REeiFG9tfwWcLvoMlzKT/j d0FcUoKKRZ6UGKpTXaGQmo9sskoWIyl7HTsOJV4rA0Y2ZFpzOCIldM1bk7BM0lP+pYJxWeWpsAo ZNJd+qkTmP+wiaIW3K86cgeJIJAdbLiGFSGJoAFOjp2OA2WCNEFk7ZftoA5TR2pQlxF+igKh+TM /Mv7mxUpt0qoOSJx3G60r1DVNU21jvlh1x0N5LyupJKYwIyhxaj/rxpEY8NG3T0I+ago4cZH7hq mm4bAUX4jMSn8sxzHFA== X-Authority-Analysis: v=2.4 cv=PNICOPqC c=1 sm=1 tr=0 ts=69ce838f cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=9HZbPfoxh1Yo69-LKtAA:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: MH5DqptaiVKAzXPFyUbwQC8vWOqrpbkx X-Proofpoint-ORIG-GUID: MH5DqptaiVKAzXPFyUbwQC8vWOqrpbkx X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-02_02,2026-04-02_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 malwarescore=0 suspectscore=0 lowpriorityscore=0 spamscore=0 priorityscore=1501 adultscore=0 phishscore=0 bulkscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2604020134 From: Bartosz Golaszewski Implement the infrastructure for performing register I/O over BAM DMA, not CPU. Signed-off-by: Bartosz Golaszewski Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/aead.c | 8 +-- drivers/crypto/qce/common.c | 20 ++++---- drivers/crypto/qce/core.h | 4 ++ drivers/crypto/qce/dma.c | 114 ++++++++++++++++++++++++++++++++++++++= ++-- drivers/crypto/qce/dma.h | 5 ++ drivers/crypto/qce/sha.c | 8 +-- drivers/crypto/qce/skcipher.c | 8 +-- 7 files changed, 141 insertions(+), 26 deletions(-) diff --git a/drivers/crypto/qce/aead.c b/drivers/crypto/qce/aead.c index abb438d2f8888d313d134161fda97dcc9d82d6d9..0cfea1cbfb0f927e0b8bcd57c47= 004cbe41175a0 100644 --- a/drivers/crypto/qce/aead.c +++ b/drivers/crypto/qce/aead.c @@ -468,6 +468,10 @@ qce_aead_async_req_handle(struct crypto_async_request = *async_req) src_nents =3D dst_nents - 1; } =20 + ret =3D qce_start(async_req, tmpl->crypto_alg_type); + if (ret) + goto error_terminate; + ret =3D qce_dma_prep_sgs(&qce->dma, rctx->src_sg, src_nents, rctx->dst_sg= , dst_nents, qce_aead_done, async_req); if (ret) @@ -475,10 +479,6 @@ qce_aead_async_req_handle(struct crypto_async_request = *async_req) =20 qce_dma_issue_pending(&qce->dma); =20 - ret =3D qce_start(async_req, tmpl->crypto_alg_type); - if (ret) - goto error_terminate; - return 0; =20 error_terminate: diff --git a/drivers/crypto/qce/common.c b/drivers/crypto/qce/common.c index 04253a8d33409a2a51db527435d09ae85a7880af..b2b0e751a06517ac06e7a468599= bd18666210e0c 100644 --- a/drivers/crypto/qce/common.c +++ b/drivers/crypto/qce/common.c @@ -25,7 +25,7 @@ static inline u32 qce_read(struct qce_device *qce, u32 of= fset) =20 static inline void qce_write(struct qce_device *qce, u32 offset, u32 val) { - writel(val, qce->base + offset); + qce_write_dma(qce, offset, val); } =20 static inline void qce_write_array(struct qce_device *qce, u32 offset, @@ -82,6 +82,8 @@ static void qce_setup_config(struct qce_device *qce) { u32 config; =20 + qce_clear_bam_transaction(qce); + /* get big endianness */ config =3D qce_config_reg(qce, 0); =20 @@ -90,12 +92,14 @@ static void qce_setup_config(struct qce_device *qce) qce_write(qce, REG_CONFIG, config); } =20 -static inline void qce_crypto_go(struct qce_device *qce, bool result_dump) +static inline int qce_crypto_go(struct qce_device *qce, bool result_dump) { if (result_dump) qce_write(qce, REG_GOPROC, BIT(GO_SHIFT) | BIT(RESULTS_DUMP_SHIFT)); else qce_write(qce, REG_GOPROC, BIT(GO_SHIFT)); + + return qce_submit_cmd_desc(qce); } =20 #if defined(CONFIG_CRYPTO_DEV_QCE_SHA) || defined(CONFIG_CRYPTO_DEV_QCE_AE= AD) @@ -223,9 +227,7 @@ static int qce_setup_regs_ahash(struct crypto_async_req= uest *async_req) config =3D qce_config_reg(qce, 1); qce_write(qce, REG_CONFIG, config); =20 - qce_crypto_go(qce, true); - - return 0; + return qce_crypto_go(qce, true); } #endif =20 @@ -386,9 +388,7 @@ static int qce_setup_regs_skcipher(struct crypto_async_= request *async_req) config =3D qce_config_reg(qce, 1); qce_write(qce, REG_CONFIG, config); =20 - qce_crypto_go(qce, true); - - return 0; + return qce_crypto_go(qce, true); } #endif =20 @@ -535,9 +535,7 @@ static int qce_setup_regs_aead(struct crypto_async_requ= est *async_req) qce_write(qce, REG_CONFIG, config); =20 /* Start the process */ - qce_crypto_go(qce, !IS_CCM(flags)); - - return 0; + return qce_crypto_go(qce, !IS_CCM(flags)); } #endif =20 diff --git a/drivers/crypto/qce/core.h b/drivers/crypto/qce/core.h index a80e12eac6c87e5321cce16c56a4bf5003474ef0..d238097f834e4605f3825f23d03= 16d4196439116 100644 --- a/drivers/crypto/qce/core.h +++ b/drivers/crypto/qce/core.h @@ -30,6 +30,8 @@ * @base_dma: base DMA address * @base_phys: base physical address * @dma_size: size of memory mapped for DMA + * @read_buf: Buffer for DMA to write back to + * @read_buf_dma: Mapped address of the read buffer * @async_req_enqueue: invoked by every algorithm to enqueue a request * @async_req_done: invoked by every algorithm to finish its request */ @@ -49,6 +51,8 @@ struct qce_device { dma_addr_t base_dma; phys_addr_t base_phys; size_t dma_size; + __le32 *read_buf; + dma_addr_t read_buf_dma; int (*async_req_enqueue)(struct qce_device *qce, struct crypto_async_request *req); void (*async_req_done)(struct qce_device *qce, int ret); diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c index a46264735bb895b6199969e83391383ccbbacc5f..5c42fc7ddf01e11a6562d272ba7= c90c906e0e312 100644 --- a/drivers/crypto/qce/dma.c +++ b/drivers/crypto/qce/dma.c @@ -4,6 +4,8 @@ */ =20 #include +#include +#include #include #include =20 @@ -11,6 +13,96 @@ #include "dma.h" =20 #define QCE_IGNORE_BUF_SZ (2 * QCE_BAM_BURST_SIZE) +#define QCE_BAM_CMD_SGL_SIZE 128 +#define QCE_BAM_CMD_ELEMENT_SIZE 128 +#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; + + 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 +123,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 @@ -90,15 +197,16 @@ int qce_dma_prep_sgs(struct qce_dma_data *dma, struct = scatterlist *rx_sg, { struct dma_chan *rxchan =3D dma->rxchan; struct dma_chan *txchan =3D dma->txchan; - unsigned long flags =3D DMA_PREP_INTERRUPT | DMA_CTRL_ACK; + unsigned long txflags =3D DMA_PREP_INTERRUPT | DMA_CTRL_ACK; + unsigned long rxflags =3D txflags | DMA_PREP_FENCE; int ret; =20 - ret =3D qce_dma_prep_sg(rxchan, rx_sg, rx_nents, flags, DMA_MEM_TO_DEV, + ret =3D qce_dma_prep_sg(rxchan, rx_sg, rx_nents, rxflags, DMA_MEM_TO_DEV, NULL, NULL); if (ret) return ret; =20 - return qce_dma_prep_sg(txchan, tx_sg, tx_nents, flags, DMA_DEV_TO_MEM, + return qce_dma_prep_sg(txchan, tx_sg, tx_nents, txflags, DMA_DEV_TO_MEM, cb, cb_param); } =20 diff --git a/drivers/crypto/qce/dma.h b/drivers/crypto/qce/dma.h index 483789d9fa98e79d1283de8297bf2fc2a773f3a7..f05dfa9e6b25bd60e32f45079a8= bc7e6a4cf81f9 100644 --- a/drivers/crypto/qce/dma.h +++ b/drivers/crypto/qce/dma.h @@ -8,6 +8,7 @@ =20 #include =20 +struct qce_bam_transaction; struct qce_device; =20 /* maximum data transfer block size between BAM and CE */ @@ -32,6 +33,7 @@ struct qce_dma_data { struct dma_chan *txchan; struct dma_chan *rxchan; struct qce_result_dump *result_buf; + struct qce_bam_transaction *bam_txn; }; =20 int devm_qce_dma_request(struct qce_device *qce); @@ -43,5 +45,8 @@ int qce_dma_terminate_all(struct qce_dma_data *dma); struct scatterlist * qce_sgtable_add(struct sg_table *sgt, struct scatterlist *sg_add, unsigned int max_len); +void qce_write_dma(struct qce_device *qce, unsigned int offset, u32 val); +int qce_submit_cmd_desc(struct qce_device *qce); +void qce_clear_bam_transaction(struct qce_device *qce); =20 #endif /* _DMA_H_ */ diff --git a/drivers/crypto/qce/sha.c b/drivers/crypto/qce/sha.c index d7b6d042fb44f4856a6b4f9c901376dd7531454d..f7e1f49b11b9344a5c45a9caddd= 485d3dac91046 100644 --- a/drivers/crypto/qce/sha.c +++ b/drivers/crypto/qce/sha.c @@ -108,6 +108,10 @@ static int qce_ahash_async_req_handle(struct crypto_as= ync_request *async_req) goto error_unmap_src; } =20 + ret =3D qce_start(async_req, tmpl->crypto_alg_type); + if (ret) + goto error_terminate; + ret =3D qce_dma_prep_sgs(&qce->dma, req->src, rctx->src_nents, &rctx->result_sg, 1, qce_ahash_done, async_req); if (ret) @@ -115,10 +119,6 @@ static int qce_ahash_async_req_handle(struct crypto_as= ync_request *async_req) =20 qce_dma_issue_pending(&qce->dma); =20 - ret =3D qce_start(async_req, tmpl->crypto_alg_type); - if (ret) - goto error_terminate; - return 0; =20 error_terminate: diff --git a/drivers/crypto/qce/skcipher.c b/drivers/crypto/qce/skcipher.c index 872b65318233ed21e3559853f6bbdad030a1b81f..a386b407cfb1b1b8d72ff9c2d25= 5476c6327a3c2 100644 --- a/drivers/crypto/qce/skcipher.c +++ b/drivers/crypto/qce/skcipher.c @@ -141,6 +141,10 @@ qce_skcipher_async_req_handle(struct crypto_async_requ= est *async_req) src_nents =3D dst_nents - 1; } =20 + ret =3D qce_start(async_req, tmpl->crypto_alg_type); + if (ret) + goto error_terminate; + ret =3D qce_dma_prep_sgs(&qce->dma, rctx->src_sg, src_nents, rctx->dst_sg, dst_nents, qce_skcipher_done, async_req); @@ -149,10 +153,6 @@ qce_skcipher_async_req_handle(struct crypto_async_requ= est *async_req) =20 qce_dma_issue_pending(&qce->dma); =20 - ret =3D qce_start(async_req, tmpl->crypto_alg_type); - if (ret) - goto error_terminate; - return 0; =20 error_terminate: --=20 2.47.3 From nobody Fri Apr 3 19:28:45 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6BFBD3F076B for ; Thu, 2 Apr 2026 14:56:16 +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=1775141778; cv=none; b=hvDiGyj0zMogpiDiGpzeGLwnieSgb8ZpIY++eH7YZg2hm1w6V2AZ3Ec3aGbaxEM3/y+/bcY1hjYiJtD/mEbzvmPYcNLE/KGiBVoDLjqGQvSefk/GF0zIDWBYTNCNfDrtLZIMjzvidCLNAXJTBwx6ZNKjAtLFzcPSrViHYHuKJG0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775141778; c=relaxed/simple; bh=NAle46u/5avuxsi8hpP/66pIOLqvOoFx5eK4UUbxdwQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Cdpf6vhPZ2rq+HDl7kAEY4NsA75xa2jciyjG7JqMuRt6FxIPTfXBfcpYQHpxtNpD8gTlOb/3sXT/0lPxAzWTI8aiGaHi1freu9hndkVjZtEWjzDGkRCqi7b8Q2eZ7Cr3xV0wrQjK1hk/P2ZXASX6GPpo9wzAUI6s2Uee3217gc8= 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=O0imsMf3; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=UjLei42b; 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="O0imsMf3"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="UjLei42b" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 632BLKP8091382 for ; Thu, 2 Apr 2026 14:56:15 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= 37FTNICNHCEbZbleh34LldopVFeJEOpx2/mQKFn/W30=; b=O0imsMf3s8UXpbz4 wzgmd1j4wyZRZ8mgBmBmm5nfx3j5oGINXTLEks+ACqgD3bb/ZuzNrU0eAs1dVNS8 gIMKzDNUtV/Uegb4++tlu0VtsmEeAwObpRK2CMfZeXbHIIA0HihOtxyO0t14a/DH raKnZOCxlHtHZ/b3//GzCwnIhPYfDXXaUo9k6n4FLsrL3aRHR672fltxz3wJBsK2 b7pMwlgtLc5Aou2r7nwg8GCwgni2I/rGaB0dll82Xzj1o20hYvC+7b/pdRxXhLwS bq89CxgPkcoBDzewLAk7TLuooTn9spLfgIU1OyKp+GYpeHtgSw+G5VuySOITNPul vb6wvQ== 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 4d9jcua9na-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 02 Apr 2026 14:56:15 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-509070bda13so10588571cf.1 for ; Thu, 02 Apr 2026 07:56:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775141775; x=1775746575; 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=37FTNICNHCEbZbleh34LldopVFeJEOpx2/mQKFn/W30=; b=UjLei42bBwG4S0QB5Rwvg/yQGazn9FWl8RpoMVr4xcWR03S+HBWEHMX1pOpx0vVawi GYjRHgCQ0DV6gPeWFfjVxvfelhD0J07qgRSZza8Fm9BjDd2VNdR/D5FSdJntZPBZqEFH iQQ+uP3YC3Tza1SS/618Qaa9BTon3XB0ov8pU01VbHtG9c2rgoGb6F332jDeDGmkO6aZ aV+pH0PHajNWQ24NhMfsw3TIWorx2wIbwva1SYbOr8So09858xRWZ1vR5HT6ttszZa1x Oh60GTcdEvvPnZd9xSnRbjzels0FJ86JdO9wU4DpYDT+AmwGbtoD11h1iJEvtbieC6KT cc+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775141775; x=1775746575; 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=37FTNICNHCEbZbleh34LldopVFeJEOpx2/mQKFn/W30=; b=iIv8gSV8YsIjThVgjbA1lRCmK0e/yxIv645eVYW+5rV+NAzndWwuRilbVeaRV24r85 I8rNF9vYGj6zTBb/agaob99xwg71DrXnPUQnwsV+B7+BCZeXfE5maCh0SczXY6V/BYOm HzdJsfkhgQrpzFgYii/8zN5R2Byz8G1MO0vgHyXuUzX/I5MZ0JK2woJcy3S2A0C2MaEO 1K49qBckGqwIt8e+jORjnzoEuiF6PRA4qqiP2uTFJ9L8rJKGbO0MgFeG7GHeEwhCHK6p dif5iV8mC8DCvrU5YB9y5a+yly6z8ywbOGzrhivIzsZ/gu4xnOs+sJsIVSWtRMH/0lAT uiww== X-Forwarded-Encrypted: i=1; AJvYcCXQY4IcGhMnAxZR/7X13lRzdscCUS8Ivb5jTnloTms0i2c9ij27OE/RgNIGOJJR1EnUx1E5Eief6x51zAw=@vger.kernel.org X-Gm-Message-State: AOJu0YwSmpB5JKMhF9TWcTF5J9KABPqZpUz5Bu2DBNvXauNKns0iPIDD dfMMl+QYUxHFGLY8Pts/flqti2/xQMGIWiJ58svdB255WRQU2Mpc2+PzKL0f1w1r6eWC5xpIbNl xpcx2luyOPHo8qImGrFQLZoiY6FE4L2mnYUrIZErqs7uF5SAZ7kqiotBdpYjEe6YrKV8= X-Gm-Gg: ATEYQzzPfiAPWUhqgpASo9YaUF8tpPzuQ5ZocscWVr4ucepsqhq3bI9SbkXyECqAYBf X7YILWkb1U6sFs8SIOCL3c0bhYsCqE3bB+sJwZ8kE2ZCnZnQQw7muyWYhCTctbDX+NZPWQHSAId nt93yoYTh3lKQsdGrsfjqn1Y8UC6o5C5D9OqgMJopE8ZoV9EBTdH2TDgxGdyp8Kzsh/hAB/Xm2A Lw0Zig7+4nNrdp+rWcvIrGE+VGHrUK61D1ePblPa1aF3fc77dVfmU/6ksgwwuZzmSL1S3yAwE+P gStf7QyO95bBCgDOruaYouFA2MgC5sHHqZYAU4NM+6pj83maBNIzpx0pUIrOrCwrscyyvdfHyBG QB9uy7WJ8hD7m3DNhBw3t3MztrdTDXdl8lplSLCwcds4jSh/bcQme X-Received: by 2002:a05:622a:310:b0:50b:6fbe:62b9 with SMTP id d75a77b69052e-50d4fc81a69mr29681381cf.28.1775141774700; Thu, 02 Apr 2026 07:56:14 -0700 (PDT) X-Received: by 2002:a05:622a:310:b0:50b:6fbe:62b9 with SMTP id d75a77b69052e-50d4fc81a69mr29681071cf.28.1775141774280; Thu, 02 Apr 2026 07:56:14 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:4ff1:3e57:22ec:dadc]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43d1e4f5294sm7234038f8f.35.2026.04.02.07.56.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Apr 2026 07:56:13 -0700 (PDT) From: Bartosz Golaszewski Date: Thu, 02 Apr 2026 16:55:23 +0200 Subject: [PATCH v15 12/12] crypto: qce - Communicate the base physical address to the dmaengine Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260402-qcom-qce-cmd-descr-v15-12-98b5361f7ed7@oss.qualcomm.com> References: <20260402-qcom-qce-cmd-descr-v15-0-98b5361f7ed7@oss.qualcomm.com> In-Reply-To: <20260402-qcom-qce-cmd-descr-v15-0-98b5361f7ed7@oss.qualcomm.com> To: Vinod Koul , Jonathan Corbet , Thara Gopinath , Herbert Xu , "David S. Miller" , Udit Tiwari , Md Sadre Alam , Dmitry Baryshkov , Manivannan Sadhasivam , Stephan Gerhold , Bjorn Andersson , Peter Ujfalusi , Michal Simek , Frank Li Cc: dmaengine@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, brgl@kernel.org, Bartosz Golaszewski , Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1578; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=NAle46u/5avuxsi8hpP/66pIOLqvOoFx5eK4UUbxdwQ=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpzoN1rL94PjnofpbfnmY9zW3YhDG0gLJ6WcfBN VwpH6fx3+eJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCac6DdQAKCRAFnS7L/zaE wyzCD/4qBTYL9xjoSE4Nu12ZWiccYQZk369fh1ufLC778tY8l97gBhcQNTuH0sAqanMIqyLPJWB PLl6fEZBBKJF4Rd4OqERxB6kv4Rm1/kDg9rxtW4mp5qrJwDCpTBcJ1KVSy4Lzf2W1xXafHSHgvj 4ZmSF4rb/jXfL5KpHjoiIhIILZi4meKncS+g3M8C4FsLVm37zWiwCfVUga3rTNy/evEKjLR/ks0 ohBtsZVB9Prwm6fgTa3Y9VXCO2RsT+mmDuXnSJbjNyijxf4Lwm0rVj5cLwkus8/X5+YLjdFAI4l pxPAnEsxN36HsK+8EzZuddZ5nToYDdiaW3XBKv9LcjiQsvIenxG44QLK6L3x+zoZoXGjQG8rbUu 2ITGUH1jWhAXZ1JW3HOUb3TfA03rHbB0fn1CT/hfEe2QzYZCZYa/o14MK89zc5LFhaeKtrF5jUI SlOfynmMX8vdDtdG3R6cWd79LsdSZT6qsHghAiwW6M4NCerMO/sXiktcpt95KMw4OJPclmImo0q IH3kRVe6ChDLEmulFuHZ4XuppilSA4oMbsunrAVxIt7fW88Po3J/IOKRSQVFHInkqS6IqDmNj4V mTDi0rWDjmjaPxur4wyuVf+GB8CXip0J/9IOYbc/toHkAaH8mcw+0jBjWOtFL/c68pepGzmd25F Zc3yS3si1TqgG4Q== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDAyMDEzNCBTYWx0ZWRfX0QVDyIUMLJju uhtqdoAIC14b74H1ulKyoCD+LzKzTCGQdUS3Bk1A/05DsQXVMJB2Ypz7Rw/VZGJ039b4Nj0Xd7H qg8WvXVJwnp+AIaInFA6muqSJUKGoXAWUu2g7UC3sDgD0fnG+UXVKO3WEulYE8YuivsMTC23Wb8 +0dI5kVdexU486/Zwh8YdNMhZqr3mbXmK6Ucc6UBJphtDbVP/TWxJ/er8wBgBP997rAnGNTI1yN 2JtL+DwdhZlLeg7+g+svqpHv/LOKr4m4bpOGIAiyIZWFvegjN5FJVM6dRbt4++nFN9lBALupEns V1CNtIkAthw4BCJiGQA9/nZu3FfwP5ONnAAgKL0DcMyGmI+du9/2I9ZNpxGFVIjFXCumDL1s+U0 oeGvoRGrcTN5XkGXxR+DNehQa3XrPn8EDsskKohtCBUsN/UNeYdDvJ5Ua+muSYvKsQ2F2iPiHkV 7BvyTNzCWXeJ+JBMhiw== X-Proofpoint-GUID: tia6V1UGrX4n9vpdfEJERi3QkSIbR7iw X-Authority-Analysis: v=2.4 cv=eYYwvrEH c=1 sm=1 tr=0 ts=69ce838f cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=TFgmKHP77OfOvYwKDSoA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-ORIG-GUID: tia6V1UGrX4n9vpdfEJERi3QkSIbR7iw X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-02_02,2026-04-02_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 priorityscore=1501 lowpriorityscore=0 phishscore=0 impostorscore=0 malwarescore=0 bulkscore=0 adultscore=0 clxscore=1015 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2604020134 In order to communicate to the BAM DMA engine which address should be used as a scratchpad for dummy writes related to BAM pipe locking, fill out and attach the provided metadata struct to the descriptor. Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/dma.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c index 5c42fc7ddf01e11a6562d272ba7c90c906e0e312..7d214ed6f703e6ea0c8b6dbb1d7= 620fcaf4d5163 100644 --- a/drivers/crypto/qce/dma.c +++ b/drivers/crypto/qce/dma.c @@ -11,6 +11,7 @@ =20 #include "core.h" #include "dma.h" +#include "regs-v5.h" =20 #define QCE_IGNORE_BUF_SZ (2 * QCE_BAM_BURST_SIZE) #define QCE_BAM_CMD_SGL_SIZE 128 @@ -43,6 +44,10 @@ void qce_clear_bam_transaction(struct qce_device *qce) =20 int qce_submit_cmd_desc(struct qce_device *qce) { + struct bam_desc_metadata meta =3D { + .scratchpad_addr =3D qce->base_phys + REG_VERSION, + .direction =3D DMA_MEM_TO_DEV, + }; struct qce_desc_info *qce_desc =3D qce->dma.bam_txn->desc; struct qce_bam_transaction *bam_txn =3D qce->dma.bam_txn; struct dma_async_tx_descriptor *dma_desc; @@ -64,6 +69,12 @@ int qce_submit_cmd_desc(struct qce_device *qce) return -ENOMEM; } =20 + ret =3D dmaengine_desc_attach_metadata(dma_desc, &meta, 0); + if (ret) { + dma_unmap_sg(qce->dev, bam_txn->wr_sgl, bam_txn->wr_sgl_cnt, DMA_TO_DEVI= CE); + return ret; + } + qce_desc->dma_desc =3D dma_desc; cookie =3D dmaengine_submit(qce_desc->dma_desc); =20 --=20 2.47.3