From nobody Mon Apr 6 23:28:41 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 5FA94346FD0 for ; Tue, 17 Mar 2026 14:02:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773756164; cv=none; b=DiUo5FdGzU2oRTnVI8TesV9qbOlCfUYa+06dv5rF2MRSIcMetdrGwpTlX4U46rVwnW6Z4ENJZs5f0qfaGB49V5ZsVpqvIcPBmQoRxrV3IbIyEqLIOXufJPZsJ8yvEtSyudn3U11SgMuqUaFLkE9cnwyWj26Hm/JiZoi32FlWNC4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773756164; c=relaxed/simple; bh=V/kExSnp4gLekFUspVMuJp40Wa32cu/zESSu6vck61c=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=iKsJzTM4URJrl+xCPXBcAH5mh2f/v9z3j/bMSVzrdT6v3K2KZJNEgtj2yy8JL9IX61Ux3FjftAWBjGyr9sin0Tg79GSgp1csn6iyp2rP5CWYtcw4DTAYM68BHGo1ishYCs6o9Mvvh9ee8OzYHZwAdua4aaVA+NJIBXZxyhTd9IU= 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=egUMiK6p; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=fSGdacko; 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="egUMiK6p"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="fSGdacko" 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 62H7tBeB1533938 for ; Tue, 17 Mar 2026 14:02:42 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= OOwdxQEYbJ9Or9A0mYUFJoOOp6SzbaWszXsvmPmeoCo=; b=egUMiK6p95gLK7Ec 5yzvhek1Xp4HHsGJLveD9OYZn9s+ZM88kQOuR8osYzh+E8bXlTALwGwdq1FRyBLN ib244BKpyu7pqR7j0/dR6+Et3+mE0LrObAgi28O3fkJv7s2CcgQ9gr/YpzBpqGy6 d+hog4tSifnJv2iwJ124JwZ7ORfP9/56xQ1dWsKl9/g/Ttwmklh5lXgJvSPLe87d q4hxzdwBouGbBEaXe8rIcTf1B6QW59VKt3mPPoIQLyCxyZqKP8jdonofAeLDiBON +jx1IBxeMPrSbQCwgsXPyVfUMO2k24/FS001m6J98GPzLByiDmwaFetjymtDYtZk vE7nNQ== Received: from mail-vs1-f69.google.com (mail-vs1-f69.google.com [209.85.217.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cxm5k4bk4-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 17 Mar 2026 14:02:41 +0000 (GMT) Received: by mail-vs1-f69.google.com with SMTP id ada2fe7eead31-5ffcb2bef48so1869821137.0 for ; Tue, 17 Mar 2026 07:02:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773756161; x=1774360961; 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=OOwdxQEYbJ9Or9A0mYUFJoOOp6SzbaWszXsvmPmeoCo=; b=fSGdackodBuu+9cc/H9jATPN6YHAhjJNko9X5N/jJOOALxwsfm/dUi3s2gS1kFVsKb 1+IuXnR4vkI8LWb9cGSyoc1klWYIy912DlC4Q8lEMoTIvVFtMvBR9mcvWOzYPaiEdCFn LdkLpCbVSy+IBi6G8i823DAfDv14F0E9PljAxGR9aEsYe/3tsxIu4nwnIfcLbUEP+0kJ VwTwYbilRfo/sJ9NstidkTf80icOMUqZXveFGCGuS6jlzIMMIPNKM5UIRX92iIVASTuv KbiU+A+dqWXQRErXXUDoh3LkZXuvOH0KLoPQHysFeG9pVTxr3Uos1aqNLpbfyKKaZIp7 Ks5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773756161; x=1774360961; 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=OOwdxQEYbJ9Or9A0mYUFJoOOp6SzbaWszXsvmPmeoCo=; b=fCwqt05Fnt0hxcG7tTs8RnIYyt7AT2EyRWtvhi8VDWrpfpRr1HhiRElPk1x0jHigSN STgEs7SX6nCUQHSDapOIirQRaHSNtQxtcfY/eYqVza8qg9PyhuwCZqpNAupLmVuNhXyQ Z7c6V4hhkv+QFIWv+FeGDJMImloupxcPWxBBCcdCFgolVJ+GKewvjqBjXheUf1Q3cTto +79pd/fv0ywG7xBLQJPe0ITgNfHxU5m7bj6FPZF13khWmSEMq3KHLGws5jXQKndgSJMR 11qfJG5LngC+UoRjrL3pjAz2Y0bQi7WQ444jz7EXaQfNMn6wuoKpIP8M12ViIrixW4ot BV9A== X-Forwarded-Encrypted: i=1; AJvYcCWj6H7H3lthsKR7lbtzDsyJ4VwzQYbSd1Vo1oUSuT5+pXeto4J7/BtY3cjLTVtpJpAsUhkfDk+zNjyu8KE=@vger.kernel.org X-Gm-Message-State: AOJu0Yz57hzQ31iB6M+g6/Zm+auWOh3wXeghMmmkZCwbnSDPlntBnOuI pTV99e5YeA9U6p5WI2wY5OU9QvgbnpqhroBta5DxeMeSztNMV8L66Br866M/eJ6r8MoeEEyHPHl 8W5eajwv2VwtoNQni7fRtapj3S4t7lWY/fWW1HqtQHZW5LAnv/GEjkZT379+zZx7oynk= X-Gm-Gg: ATEYQzz3kCOXnRbefWE9NvAGHyDmMLSkLGcipqBgmlsHwYC4jQBUp0/FNdCdkUO4gch RUAwYPmZ2JFztIv/i1PMysoM92Kbt06x33a8uAkKjbY1OFyCZcPaHG86SUdM3iflAW4hxhRU6LU XI331fpEhLS0uyN79+H/2U4MFnq9FOMrtLGatXse1gvBViVvvcO7wBloZ5ZsdnreP+m/OMuj4yo jlbGAjW3dsvLr3T4uyzfHMpNVsf0QGJ8k1R43+iNJgiZ6QCrLcD9mFEgg8cc45noCC66HZg2kwj gJjEWPCvyyiK9KPoZuLpSXgszjwIqyfkHcAcBmZOhM74j/MDrSwtMmS3yuyN61oQ/L48FMY5lTV uwlXf0YHJazvG1gfHOju5o+5JL5A4Rn9tDfCx68XmtByz62eV0A9P X-Received: by 2002:a67:c994:0:b0:602:6e95:bc82 with SMTP id ada2fe7eead31-6026e95d27dmr566463137.33.1773756161179; Tue, 17 Mar 2026 07:02:41 -0700 (PDT) X-Received: by 2002:a67:c994:0:b0:602:6e95:bc82 with SMTP id ada2fe7eead31-6026e95d27dmr566403137.33.1773756160622; Tue, 17 Mar 2026 07:02:40 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:6aa2:dd35:4d6d:8eec]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b4938854csm9359709f8f.34.2026.03.17.07.02.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Mar 2026 07:02:39 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 17 Mar 2026 15:02:08 +0100 Subject: [PATCH v13 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: <20260317-qcom-qce-cmd-descr-v13-1-0968eb4f8c40@oss.qualcomm.com> References: <20260317-qcom-qce-cmd-descr-v13-0-0968eb4f8c40@oss.qualcomm.com> In-Reply-To: <20260317-qcom-qce-cmd-descr-v13-0-0968eb4f8c40@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=V/kExSnp4gLekFUspVMuJp40Wa32cu/zESSu6vck61c=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpuV7wh7HuGH5/DCVeb0SkWUTqB0AF86dPpu7g/ 72XbdlMm+yJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCable8AAKCRAFnS7L/zaE w9XrD/9DdkZCvQqumSRBF+lrFXBsxZxYUgEXfN+mreAzhSLJYbs41bwA6vMJqx2u/xa74pIHcRI E6X2kn+0sMgaqUZUFnbGghcb8lvX6u0/D3PPxuDpMbrRK41KGkpWrVqK66I2pMLSGbGAGqrb3Jm riFP3OW34JDf85ETjMlsvsSkhvH1vQlbhjrb5zKwExnzF3ZhyFsp/Z6ykcJfudt7pgsz1e3Qnrs CxaJXHaW8VVAg700d6BOQcZJLJwiz8WZvl19u6ls+uZpp80IbSC0N+b9W3KzYGGpPJ7oC/UQeGj Rm3VYVFcUVta9/EolEJKIDs+GKNzfWUYN6/Xh6bRzLzhIWcU/QvdjfzCY73ViQd3x62jGrfst98 SiHa74zHS1wdck0v9ZVzg3z5qbhjH53km5ewIJS9LWxG/h4ttLL1HKFpunJMxnSa2p94VfYrwVc IloeSDr51fePrw3ldchplm+0St42EqZzB05sgomDRO+jcnCc3IqYuffFALsoFTEbOztegE1k8Bd KNWHtxAyws1j8ykk0purkFy/LdSOKOUiBw1G+wcFznNp4NrFZF7GhGcUYYfsjcuIpBsDc+aDk5W 3SAKF385mi9hge5rDMti7WMIqSN3jU/WMTo/z3CDmfJRSFJ8fRaNxrTssIqdHVODlc22dJWP9/N UtxRbRqtQMgBn9Q== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=fJ00HJae c=1 sm=1 tr=0 ts=69b95f01 cx=c_pps a=5HAIKLe1ejAbszaTRHs9Ug==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=XeVHrwws4l7kqE2Ex6IA:9 a=QEXdDO2ut3YA:10 a=gYDTvv6II1OnSo0itH1n:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE3MDEyNCBTYWx0ZWRfXz5R1ZPimZI2Q GR0IPRvXdN8FHB/uWwXuUfaO0R6CnFTi+WeNVMmR7FfDb1pI6BMXwcl2rP9NePVIAKozV7lnc52 0qLhjvR6PDgryeyzvyXK+9r3fvK+/mJZEEsdyytTYUGColXgjOpQnZnc0LcjJwU8WXC2eqYHfsv 8DHW0tnZLX2WG/qu8IQ3GroupV8HokkTWlv927dPotx0vpdNUut99bZ4T/IpdSsO5hzJptzQgsb 5HbUs5kURX5vlkACGjKNSE8ovldb/wQ4UgAABGTrr6q50rYRuXjbkIvX3loM7Ivl4sUzD+CIvvm ZYZ3jcjYd7l6ILXUOQtNgzf0RnfjHRmR6CAXLsQZTpFMLMRCVzICuP7F03Ml5T06GVACaeYU0vk R3PqMAuNaSBBS7IE1nOrCEMNGff9QmbGdE5QQZ5J00SXI3ax+ATgRSRU2P6M08tlNtymacNFvxO 5AjdkYfP177Y5m8z8QA== X-Proofpoint-GUID: eO0mOZiVpb5gnc7K0H-11ayyV2tjvA8K X-Proofpoint-ORIG-GUID: eO0mOZiVpb5gnc7K0H-11ayyV2tjvA8K 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-03-17_01,2026-03-17_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 clxscore=1015 malwarescore=0 suspectscore=0 phishscore=0 lowpriorityscore=0 priorityscore=1501 impostorscore=0 adultscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603170124 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 b53292e02448fe528f1ae9ba33b4bcf408f89fd6..97b934ca54101ea699e3ab28d41= 9bed1b45dee4a 100644 --- a/drivers/dma/xilinx/xilinx_dma.c +++ b/drivers/dma/xilinx/xilinx_dma.c @@ -653,7 +653,7 @@ static void *xilinx_dma_get_metadata_ptr(struct dma_asy= nc_tx_descriptor *tx, return seg->hw.app; } =20 -static struct dma_descriptor_metadata_ops xilinx_dma_metadata_ops =3D { +static const struct dma_descriptor_metadata_ops xilinx_dma_metadata_ops = =3D { .get_ptr =3D xilinx_dma_get_metadata_ptr, }; =20 diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h index 99efe2b9b4ea9844ca6161208362ef18ef111d96..92566c4c100e98f48750de21249= ae3b5de06c763 100644 --- a/include/linux/dmaengine.h +++ b/include/linux/dmaengine.h @@ -623,7 +623,7 @@ struct dma_async_tx_descriptor { void *callback_param; struct dmaengine_unmap_data *unmap; enum dma_desc_metadata_mode desc_metadata_mode; - struct dma_descriptor_metadata_ops *metadata_ops; + const struct dma_descriptor_metadata_ops *metadata_ops; #ifdef CONFIG_ASYNC_TX_ENABLE_CHANNEL_SWITCH struct dma_async_tx_descriptor *next; struct dma_async_tx_descriptor *parent; --=20 2.47.3 From nobody Mon Apr 6 23:28:41 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 EB80D3E1239 for ; Tue, 17 Mar 2026 14:02:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773756167; cv=none; b=c3aaVNkmXNqQHhxRjdRaSaPyqNQDj6n6wU0VVUGCGTf+UkjYOKYfokGSx51iZKit5n8vxzS8Az0kf2NuZ3Y94RO0vf+bJkAT1ASEM1Fq7Qc2V4i/4cX/0mTrEga69kxSBHbuKMmdTIOwWya0Xdqy+ik9MIY4Ui+usJm76e5Sp3g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773756167; c=relaxed/simple; bh=YERqA6ytYIBXeEnEVHuNkc6pRniKdplpfqUBYqgG5Qg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=mqaBuXKIde1nQ9IPYqHvRl8qtxPWNAc/OZ0+kPZ9Gqzce/4vpE6HahJwRZrZ26MTm1vJvmCOq6KBafy9SUUjPFyHjuUquA0J9ua3g4NMybO0k5D+Y9DzVvsAbgFpO+XGCL5mABwK/itM6+uvu8enJ541kZqZDw39Wffwi4Bh3IM= 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=GGg4yN0e; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Hym464lM; 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="GGg4yN0e"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Hym464lM" 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 62H8UjbH2315225 for ; Tue, 17 Mar 2026 14:02:45 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= YJhp9RjB1CYlks4dixIKSaB1cc2NAImnrh4QNBeenlY=; b=GGg4yN0eygj/0biO 29VrrpLUm9gihxxqKae7wIMSDGOT/MEq2dTDuGVnQIMilviGHZEY/Xhulqfg+dgX jEIqLHZ1FJnKW2QaL8YU422KzoowJWGxcdPsJzu52gG4S7icPxyeVnR3jw3U9ejJ dZ12dHOI1oL7GexNZ++Y36G22c6/ruOsBDwhB6NLBZ+MxVtkiP8u4dbcFr6SlhOg ZXkZfOi+F1j4PJg63Nb7IFufzFqr1VJwUFBM8jtykFiQiWW9GeK6Cr7KGXHu8cp0 UxjxEnsYDmpaV177P5cXpNO64RePlH5fZMApIMBGKcvGwtTelb84y+VVDHhFkeOr sVgB6w== Received: from mail-vs1-f69.google.com (mail-vs1-f69.google.com [209.85.217.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cxmf2c56c-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 17 Mar 2026 14:02:44 +0000 (GMT) Received: by mail-vs1-f69.google.com with SMTP id ada2fe7eead31-5ffa1faa59dso2556511137.2 for ; Tue, 17 Mar 2026 07:02:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773756164; x=1774360964; 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=Hym464lMALiVzGdqSI+/0ze7IcklLl6GRFQzTHIM0S8ZQwmRuunRozAHEZ/6hWM/38 z87IxNaxFP8lYAMagwd926NPFKYC6ViC6VvzbgPBCz2UWnJaoWEiExjQxIGNL85nzA5o k9bLCdOFpb2mcRQnRRyd5/mBzD6DHZkIVrHiT+5tVVR1/Oow1E79fVN2RWpvr/U+vvyU HENGUQjkXiDG/2653xO1tHJeZTfs7TgXlPhpbaNTbUACp/UXKO6X3Rvv2pk4Xe5aasd8 34cBPZshdW9U2oxDUEJZcwXlp5BPgcWBoZPMk6mgwKCIh/eDBQu18gVxC3BDbzNHmZ7z PZKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773756164; x=1774360964; 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=U7ez7wtuqJ7GrzG40WZ2lUhe238J8DDcRZ6f01Dj2ICCGckna44HP/POmXv1cX/Wki DgKQ+RT5BAW2nkTWZ8+KzCDgCGxyx+SFdiJ/7HapCJz4xVTXGgnARmhlZU8Z+N/lO9FO F6Egl3MW4zqb159GCi566lJIrelz4abix6io4TTLCgofgpFh/eHpML8OGg46ur+Th2l/ vbRDhxEooa8oBAUxCNS/GDvBrfnKTvxNS1qUT91VdchopV1cTdx3cXnHpueSgzBcWqnX cgb1ngdw09YqipZHc4jvsV7OC7kvISeE/vP/c8uSkBA6avIs4z111anAOkSOS5yeIE48 VVqw== X-Forwarded-Encrypted: i=1; AJvYcCWUopJQjYCQuTRF86ilWvCy6UNq2/VXgiDSr/NdOJQuhc4uy5mhO2gLEtEn/cKvLV0C2WAwm0MBoGQpOqY=@vger.kernel.org X-Gm-Message-State: AOJu0Yw6x/jgQmCvLe95smTobxk5gWcS4xEHcRbgUAq0i+myp48C3lmW ZxJGfy0toqD89m3C5n3wJSrn/JkL5/ScwsCPqgYRPBU5G5tb0CpHVsRGRuTK//ddQkjPVOQcZP5 f/yv8WM4jTNtCL/BbC1B4uMifLrBSsonfLNnpML+D09g1ffYP1NSdusXY7/bTboH1xcY= X-Gm-Gg: ATEYQzxWuum4LuWzK82ldA5L28Msx97RgtUDM1CE14xadirhx803+3bUyXLzTCkkvXQ QIll44QR70ubJKsZO3zcdnRkBTBZAT7DjmsWU5b1xp1RooQiaA6j0So8iwN/AOgiWpBk1jB76Zy PrCDYaaBwuPPVIWS5+qXinMnbhc2wUYFmZgk27Mo2fTw8SJb9oRZl53QeXnuPqcMUrVp+k9+Loy TdON7Kk8BAxtDSdeln0NMDIXB+4WHPbIHaB+Hu89ilE08ruvdxrEFPSSn3npdCAUrQPdPP+j4pT NNCqqBQ7JMnuZAiu6VyQTsyOSIRc++JXVm+Jqt2V7/PFAuS6CU/6IkSLGZWgb1mgq4GeRCVNTdt vTfld6yTubPdO5cMBkI/daToWt8lbGIjdq5ag59XvQDioGB70Nhgg X-Received: by 2002:a05:6102:c53:b0:5f8:e2c7:a3f2 with SMTP id ada2fe7eead31-6020ddf66c5mr6210946137.0.1773756163782; Tue, 17 Mar 2026 07:02:43 -0700 (PDT) X-Received: by 2002:a05:6102:c53:b0:5f8:e2c7:a3f2 with SMTP id ada2fe7eead31-6020ddf66c5mr6210873137.0.1773756163124; Tue, 17 Mar 2026 07:02:43 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:6aa2:dd35:4d6d:8eec]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b4938854csm9359709f8f.34.2026.03.17.07.02.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Mar 2026 07:02:42 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 17 Mar 2026 15:02:09 +0100 Subject: [PATCH v13 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: <20260317-qcom-qce-cmd-descr-v13-2-0968eb4f8c40@oss.qualcomm.com> References: <20260317-qcom-qce-cmd-descr-v13-0-0968eb4f8c40@oss.qualcomm.com> In-Reply-To: <20260317-qcom-qce-cmd-descr-v13-0-0968eb4f8c40@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/NoTDAcsmYgBpuV7xt+LlRYHrokXeVDSyCM0tjcBQD8bv6/GOd olQFJHXG9uJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCable8QAKCRAFnS7L/zaE w8MpEACPTAhsCkekQZHg1QpPSF0Hp6XgqVqtwzWYMjkwMgysyX43m7vp/u6PrcV9OFyBo6txlgi 4/jak2/RK0SPZpwkXbToZyeeMtV7RdlVXCTjbkJRG2coAdboA5DakhVJcZd5j5/06b+FfemLa8u vZzbzfGYbAxI1ULsMjDUG5BJ97hajXklbtiC2G4llLEHYJCZcfZ0ytbV0RcRW5fZtTCAmb8Jd3e ONOqzTmaquqFo3EwHAxqnh/AXKjMDpLxvB5VOUnL+++Z2VXX1PHJWHwomMnPms/Cpuoz+gCcWcq FbwlSzeJaHlrzkofIM+56/gKjJV6zmxS2oLvodUfKctU2SAThffXQ774wopaEG/K7MoPh78G3Ox /C89Ic+WLXBg0Vtw+E7KINkmagpERTuVAumxjyS0tz0ZJbRhTWX7x1WJGmmpiRlAcHARQlQfR1U uPSI1yrHAS8U4tSqO1+3X/dkddeS51EXN/QxwjDBdaxpwKZUjn8KzRB3ERdW/xJRToUgkAe7k8B 8kQveXFx248wHSauR4R/2+8erguPWup5Qbk2/61GghdQrjI2LvMIN6rsm1w5oYxHb02rQynKInI O65uZni/ha25rrWUV8Xau5ibECKPoepozLIYWXxFZrFBELW+yg8mKfIlA86eGpN/Oct7p6AyvXK lzhBXUmnnNyJ75A== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-ORIG-GUID: GafpNboJsc_q8SZx6O3myWjV-O0OaIXy X-Proofpoint-GUID: GafpNboJsc_q8SZx6O3myWjV-O0OaIXy X-Authority-Analysis: v=2.4 cv=FvcIPmrq c=1 sm=1 tr=0 ts=69b95f04 cx=c_pps a=5HAIKLe1ejAbszaTRHs9Ug==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA: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=gYDTvv6II1OnSo0itH1n:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE3MDEyNCBTYWx0ZWRfX+gD+7L2Izp1q Dzi/jMRx5SHjrK+bSx6R8VnZ9JCA+ULsOKTfuiAR9zaFrv5hqTIJZIWHontwlD6tejDu1B5hTF6 PArDj4G++BCBm0UjNy1Sq5nIJDo4NTG3Ve0ZxX4rixTPmxaANxvQy5htJRfud8pzDsF9a5njvQ4 eMFjpPDmKZ4vb8E3pyo4uy5SqDsfrtKxMLDOUG95rdzw3nfja8gtRjSVPNSS6WAgCcUMsbDOrIL oB/x8YAP2DQeanI4ImLQ7UmJLFS+LWPkW0roaN+qnmhMpk3oFOqE60ee+V/ANlp1vWvI0UibYuq n8hHQCmhGvr76kZpVotDjg3PrSTR3lNWTVm0EEF0868y87QDuyBY/MHx/SBgndgP4DX9YjOZk40 lxYXMB4xATrHTGP/n01/pIx5YYwWdcGAB7h/QMrVjWrv0unaFnvWorL1dZRMxuJ5Ghx0/ikoI2s fDcQA2Q/kezeNoLp56w== 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-03-17_01,2026-03-17_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 priorityscore=1501 suspectscore=0 phishscore=0 lowpriorityscore=0 bulkscore=0 spamscore=0 clxscore=1015 malwarescore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603170124 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 Mon Apr 6 23:28:41 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 AA4E63E1D0B for ; Tue, 17 Mar 2026 14:02:49 +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=1773756172; cv=none; b=g/GNWJ0h0xoaXucpi+H57aUZhtGB+2V1z1T7fNAGAh/GpMG4IUHYSsdGyi8M7Nu2HHckv1jcd4X05Uu2SG/K0h7il5AxuvDI8KQzlkYzAwFQLeVG0RjevI1r6fuPXEubi9qRsyY/9foPlq2Ax5ygtSJ7MrM4L+9CUhRUpgMpbyQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773756172; c=relaxed/simple; bh=qoz55FlU0wzlioVR5y4kqwZWHtjnuJw0AgLGnvGjRME=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=uT41rR1qzHhl9undP4ILXRTYzUlaI8rOtu0PJVI47x10qfe2rBtq6BHeOGUeJwJYdokkPl9GY7yaXQpT6niKmTqVdujbdR4ODD3hkRMudBeHslOuBMRD+MWnvYQMjjw6YCpF7D34DwW5gkgWek3Of+de8147cCdT2lLpOJ0UmEU= 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=U8aURp3L; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Y6qM/29v; 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="U8aURp3L"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Y6qM/29v" 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 62HDaC1T3124251 for ; Tue, 17 Mar 2026 14:02:48 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= byBhms6klEiQKAIzzwk/0xHdksfuhIUeiAfPpFlaRio=; b=U8aURp3L83W9hIQU YeimIZTZKiTV7Ab+ZFEGRnCz0QTgNKbhmJ3fG8Aj/EBBPWbGomEj8KTLMKo8/wd7 B1L/2qEmbDBLbxkaDgI4oPof151d7poQGXRPeSW9NWvZAedd3OXhl6FGoOWxAiB4 XOYVhUacYPMWJSabS5x0LFeH5TvLF81zaUqKymqZlAzM/H5impkgtq7pz792K7Ix cuBwDQFo6rpfWtRG/J0NXyEz5BbUtmVtJLNZ9qVN92tNLYPp6VEgx8KusvqVPw9D 53VkNfZ+blDdGM+ojiOLSO8P+7Xrmcgph/1rsSB1Y+vLh7HsZMaQGAgwtshAAico WUlKZw== Received: from mail-ua1-f69.google.com (mail-ua1-f69.google.com [209.85.222.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cy2fbse71-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 17 Mar 2026 14:02:46 +0000 (GMT) Received: by mail-ua1-f69.google.com with SMTP id a1e0cc1a2514c-950ca63a1e2so35104680241.1 for ; Tue, 17 Mar 2026 07:02:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773756166; x=1774360966; 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=Y6qM/29vDP3zvXbUxjmDX683M1hBXPLo96SXxA0vSFuIsFxc7zk6XPVO4wvBTM9x8D OYa4NOnF+euIsv6Pghxhr/MRFpn/Gcj2tHr8VGT53CR9VpGjN8yhjRADnNfb7z5VmF2t dsnTD4LoCb5ZO0P0ufGkHxH/0c4KELnSY/LwomR/LmrsV1VDeObq8S4BP0bs3rFtIX0I Rl+sF8rGHjhnhnE4ko+QPN82NUMGbhC7iKpsIzW3OYxdAU/sQFTlP2vvCK+ydkh7FfiU +u6QURchci93ko0NBgs/AS+3z12VBVOeS2MFoudZ8De09SvtaIeXMIPBwpb4QVm0plZ3 TbXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773756166; x=1774360966; 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=hurx3rbV4VCf7Lharz1vIGxbtdOlZf6VIKDUEkzT9LJ+qFs19hrjBiZsI3OOM/N5uG Vsx7huuHAORmEl9DCuZx5QrSO6vj4NimQ+VnmGY98Ub4X5auWoPSh9zypgJ52Uo86D1C uViLdyOsBsHPbC783gmhC2z5bYkFmE3/QwSQfPzGQbHv/jyesCiEjdIy+Wodsd+Xyfkl VRWia6GEEhCMmrdclhwl2oTJcZKqL+L3Ay+9XXnDaqjc9GM/tUBptuYyH+gQPr9AbEMq y0nso62YDbDnpZoB47uXgAvq4OqqR/6BQEnzVZKwRwQ947xF5gotKG9axkcAx5/L+NxA P6pw== X-Forwarded-Encrypted: i=1; AJvYcCVT0qx131nif8NX1TJDLdhjugDcrDTHTLHccL84u5rijB3Xk8lYVKS5RS5q/ck6oiskz/jB3fnE4WCU1wg=@vger.kernel.org X-Gm-Message-State: AOJu0YxyYwh+Sg1ogn13zc/TboQEvlxZrgPMktEKwOVfUZS9Dsi97iIm xqTtL6lwzVuLnTgouZOcASrjOtrpnLKQkcB2c0uh8eY9/+ILMdht0kkDWjVGE0RHyT7irVdX4J5 HEKqTnUsFvA2wqEqzAsk+wmI9IvShMO5pQttn+7lJm8Rih7E6TCx32jg23RHW85hx3ps= X-Gm-Gg: ATEYQzzD+S4jWyPyo3Lf1z9SAnA16fgdsTq4Efe/59ypqUwSwZBmX9uEhhRP33x6C4a firfLvwTUK3Lq25u+3lP+67yLh3OFDK+y5jXHc/3mPL6/uMQkLbnFPMpOTzs8ngFMqZyMRoYRo5 h1LXKU1jTk/EzHoOSJRKii1UmSIUDnGsyjIJVuCKv3qzPXGotzUgKgv+S+6fdbc0iaiBO8m8ymN tVT2GE3u+kM3xyi7mKJ5npmHz+b0YuirvUW8kofZLPhOOd3bwE33yNPcE/jpcV/+Qi5eNo8QdqS HqwFkP5RrfITZ8s8BA5ddaWw2ZLjhVz295Abjjx3Uj6ZrRA3pVhdRFLlVjZ9KHsBK2f3VqzDazf rxnerrZoNxrSALM6SQZneJvgfj6fZi2qw1xbUH3/qXgmMxezAIdYf X-Received: by 2002:a05:6102:b13:b0:5fd:ef38:920e with SMTP id ada2fe7eead31-6020e8ff56amr7643386137.29.1773756166098; Tue, 17 Mar 2026 07:02:46 -0700 (PDT) X-Received: by 2002:a05:6102:b13:b0:5fd:ef38:920e with SMTP id ada2fe7eead31-6020e8ff56amr7643322137.29.1773756165543; Tue, 17 Mar 2026 07:02:45 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:6aa2:dd35:4d6d:8eec]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b4938854csm9359709f8f.34.2026.03.17.07.02.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Mar 2026 07:02:44 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 17 Mar 2026 15:02:10 +0100 Subject: [PATCH v13 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: <20260317-qcom-qce-cmd-descr-v13-3-0968eb4f8c40@oss.qualcomm.com> References: <20260317-qcom-qce-cmd-descr-v13-0-0968eb4f8c40@oss.qualcomm.com> In-Reply-To: <20260317-qcom-qce-cmd-descr-v13-0-0968eb4f8c40@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/NoTDAcsmYgBpuV7y9ZYaNC+PjAwISHvYpwr3lKaHdvpbstczB Tdo0FYPbvSJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCable8gAKCRAFnS7L/zaE w1q8D/0VjMXWHsWGlmxP/k+KCCyjLkVQe9MseoDppXf/VlBtxYqbYrf1DyZOibBBL7Z0kJmvHpS iKQ0SoXGoNoXTs+mbAjgpVR0aphVL8nlINjN4sE8H6AyROUWE8PgpuJz63Yd3g9TLgApLg870Fu 1qWSdlfGh1EoAFL/UWakZBtG8v+8/kS2tC4ToxlXkCQ0VVxYAZVHRPFAoeZM/M/1ZYHlkB0aHeD Oyf7bC/rNfHAZD3gmVFHKKOlghBeB0mqjgnX7rfyC4w1Pa0Zjf8b38J5Sz7mIGQkWv++bkcvKpP 5PwASinwl7+D+9BGwTEA9vKMf1hziTVgqsAkZibB41PpZHnfN4RoRRS/n/A+AukGa3aq9CnJXcq K799w9uy9o9NzcjAnXpXa9uOre5XC9koxZK/+KfGjSn+zGR812mVjCn7oKXv5yD1RGoLEMoWMQy 8gCEIBI1ZwIE0Xa3nWyCGM/EINHD75ppZ04hlKgnqQxIgv8zsysZ4rJTR2fNVhahzPVWd0oykjZ UMVP9Jf6VFm4hNzsXmIEffVgYVCkni+1oJ0w7yBaCoK8nkc0x2jbAEniVfzk7CXyyiW20Lw8is0 UP8urIwUX/nXJ5qA2CZrFhvya0M+cgJgDXKWFP6U7hdTDiilLU3i60wU4pR9ThkuPyI3Miwk9IQ BE9VQTT3amshYFg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-ORIG-GUID: p_pjUTpQSrSKYfZvx1yljR0PLJO38slu X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE3MDEyNCBTYWx0ZWRfXyQrXvpLZ25yY G1im8E7GU3fpnisFbsHynG1h7gDe/yVZHwV0IRceWnxXgF9Via6PivBBBbTnbGV1lqE34yn3Agx svUvTDk4heg8OkGzUKWwkPzrnTGIJB7El7SY71CijSFIpeecwjAopYWLKsUMQSMAkWMtNZtwwR3 0VlW3bgszs2RGxm1AV+e1Ku/hEyUqOSYuWrt04XU8U/F3E2kGGQ9beUKNf3ZV3dBZXx8R2zyaFu /AZqltLw7jiC+RL1EDZvGUdPzNKEbvfwJ7h8QZh8iXfJTgUBLXeBF8Q1brYlBLfsNGnzC5kulRr Aia+2kegcetCDjzw7zRJmuCCUekRwgD9Ez6eCrIHstfL6YKk+QD6QbUcn0gnpnkmBYJ1ro75QlI F9IbA40Btxa44vWmLj2U6fM7yqzlUw== X-Authority-Analysis: v=2.4 cv=fa6gCkQF c=1 sm=1 tr=0 ts=69b95f06 cx=c_pps a=UbhLPJ621ZpgOD2l3yZY1w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=Fb6uNmSZeVr-t7npd3wA:9 a=QEXdDO2ut3YA:10 a=TOPH6uDL9cOC6tEoww4z:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: p_pjUTpQSrSKYfZvx1yljR0PLJO38slu 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-03-17_01,2026-03-17_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 spamscore=0 lowpriorityscore=0 adultscore=0 bulkscore=0 malwarescore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603170124 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 Mon Apr 6 23:28:41 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 B9C133E274D for ; Tue, 17 Mar 2026 14:02:49 +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=1773756175; cv=none; b=YvcDBEX0ap0xj07ZWCnb337YSb3yzQbmS4Lsw0Uqo16XnqKy9dSVCq93OyQlJvcR25A/6CHJQoVeXiEvLBX+Evd+rJKxP+7Zh5BOU9FHQs4PLK6Rz4+6V6ynccGVfj763qPc2I95PRSjnhm2hu+r7XJSNc3ItuD9ZIIkUD/ulII= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773756175; c=relaxed/simple; bh=QtDKw3sIoTdfDtZw65i+I58veFyHFSLP2ujI82KTTCs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=QqkED59AkiLHXVasJ+fnxSnkX+dQ1i4nnEXHivIBMcEQedGC+IunzoTzWt6/dJIFAWFypWjSP2KZ0S7K8mX5i/foldDPmvc+BpwVbjM1xQwaJEuXfqp6rBRDAYKSMSD/HFiEQCSy42FrvfFvTcQntNLp/XQcVsa0bDQRIb6eEwE= 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=loVfwRdh; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ch2r+9V2; 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="loVfwRdh"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ch2r+9V2" 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 62H8IP4X2314805 for ; Tue, 17 Mar 2026 14:02:49 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= AJf/VHFbEfrJ7fM8DpDhu22yxXg6EYy+KGz73+G0kyo=; b=loVfwRdh1i/4Boke JILvkzsLVUSHae2BjxTwFw8yxFJmAzZtTLOmXWCES+jxhFREgnQWVukaS6+nQXB8 sUZHk99V8NC5Clj+K+PGbU9rs2OL3AjCAQ47MI3deIT2/HFC1ERja+G5hf4AaTzq l612DW/N2W+9uKNzHWPdFVc9shdmqmIA4ursWoxzajWwgZWOMtH+25nikUHePg83 AZo/fdtJEPzuav6FxZsp2kz9M/xF5ZkLZuDim4pyooRZ2IQ1LAgcL4WSAnjrm/ji pNIjBSIcSBZ2QlvxpUwS1Z+IDRyoW4zSzJS53T9KiL1qYqabp2IpjgKYrqiOU4fU he7VJA== Received: from mail-vs1-f69.google.com (mail-vs1-f69.google.com [209.85.217.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cxmf2c56u-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 17 Mar 2026 14:02:48 +0000 (GMT) Received: by mail-vs1-f69.google.com with SMTP id ada2fe7eead31-5fff2d5756fso8471882137.2 for ; Tue, 17 Mar 2026 07:02:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773756168; x=1774360968; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=AJf/VHFbEfrJ7fM8DpDhu22yxXg6EYy+KGz73+G0kyo=; b=ch2r+9V2vx/P1t7txS2E706Hv2M8zRUSRBVwEhiefc6eI2C2apgaDNi+CuUUOqmcgT E1xqgeLRAxVpUrTr6IYw/m9LJcfh5P4vrU4s4jWYmn7XAt9/01DS43PogX+d2XLKL263 14EVL9fYuCJMSEHJumRYleaKiPbLwrj0cexMWvg9OW2Hl2aa5ZVHu8imLCCeIyz7S2wv 8N9z6zISdQuGEuvTtVdDRp5AltPj3kzFN/K1z5ycr4elB5SaTXelUbZB+0aqhxGQv+GU JlmriSyWT7mEV0T5bgJpck6dWle8FKL+gi1DdNmaBGUQaZf9Pcr/heBWdFO23RmcvAg/ Qbyg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773756168; x=1774360968; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=AJf/VHFbEfrJ7fM8DpDhu22yxXg6EYy+KGz73+G0kyo=; b=A94ZNMtc4sgTzhJF2tLfIwZjgwwGio7JEoP7d+NslaJNdtmD5wE+gIip+FYi/xWueE iHI6TnaZqoAy7jSyEjxjXAAPLwQWru3GRFoTDshH8Eh6tXw0Krk7xa3V/ihXeglMvJOR gnepM+Dq0YFva93NvtqjDjpXPxFX5EgyzlJaoP0lopZrnphq/L905hggWI2gdMmYGHts vqAolKw+4mgXd8F2WVlRqS+e6A69bqd/BHTsU5YQHF5tsR3jyAA06yp5+87LFn/4m+/g Je9+m/vvGDLEy6Ev494ZUeCo1U9+3TxNlG/zghWU8KjFUrBGE9dTajMD+Y0eLEXSZsPS RryQ== X-Forwarded-Encrypted: i=1; AJvYcCW86zZoT7N54X4qAu2GeKzL14Lw1UGcSAOLp5pIOTDZtsV7jvwBLcgaJtFhHwUKWdzmfOglKGCBJkpcowQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yza1v2QmQiEMA2mWOlgikV/EnAdmhFDHz2ZZnpaVWCTCU8vKCSG ajVzV1ONb4yNUH7P9Fd3HS8i3sEfj8p2lQ/ckeYq6RqjG4tub3VRjVpiHAFNirEAagbAA9f4LUp wdikPFKoEN8pF4HcbEXDLsgnROOTW899jUvSJqx7XokuB6QwYi81lxVfX64Zqmp8H2b0= X-Gm-Gg: ATEYQzynE0mCJmmcl/GNPb0aaOQwN9hXXj+suM10emLUovPUi01eRCSZ4xfUXRpNQx8 st2V46zLwtwUnUcj8HSqjMB2p1Dm4AhgVRFXn9kheMZv1x1iWJfpCJBVtZCzAXwO8gR5CgPtRc4 xs8q4B1ibwX6LKGLr4o5inlPwQ0q2AxDl6AFodv0FqH/ww7Vx12wiKWFnG4j7JVoq1Ql6GMmQGW oXS9KSMmaI3kqOsO9FK/6OYVyxG+pSkzg/XJmc2mLTRmCym11QbPmEJ5dIABzfHGCz735ha8IrB iRxOGnY1eNbEQX9/VL1KKB9PfW6RpwaadMz4yYBJUtFfeeaD+yFjxr6fNLPqm3Wjv5ZnItYAOky W+P8BdQrcCQLtUo7Jz+ngZ7WP7GrQk+2m9mLB0dtsPMvJiL/Y3Xt5 X-Received: by 2002:a05:6102:cd1:b0:5f5:40ab:2d65 with SMTP id ada2fe7eead31-6020e4c7652mr6014773137.22.1773756168196; Tue, 17 Mar 2026 07:02:48 -0700 (PDT) X-Received: by 2002:a05:6102:cd1:b0:5f5:40ab:2d65 with SMTP id ada2fe7eead31-6020e4c7652mr6014711137.22.1773756167698; Tue, 17 Mar 2026 07:02:47 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:6aa2:dd35:4d6d:8eec]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b4938854csm9359709f8f.34.2026.03.17.07.02.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Mar 2026 07:02:46 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 17 Mar 2026 15:02:11 +0100 Subject: [PATCH v13 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: <20260317-qcom-qce-cmd-descr-v13-4-0968eb4f8c40@oss.qualcomm.com> References: <20260317-qcom-qce-cmd-descr-v13-0-0968eb4f8c40@oss.qualcomm.com> In-Reply-To: <20260317-qcom-qce-cmd-descr-v13-0-0968eb4f8c40@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=1425; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=gfl+Fn+ISpyM/izQ226zR5pAGJiHs0gWIagW7nCmNI0=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpuV7zC1mwn8ggHJQ+ya051XpuSpuUqQakAlBbW EbFaeyomTSJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCable8wAKCRAFnS7L/zaE w0WOD/9z7WuD2HMlS4az2EPaO3BtEOeMdY0s989E4rcqOi8GVYeyjZZuVCEgbixdFdKuCE7ZG// wUeoH02qNmzcuJyM576CMaDL3txlad5WizKfRalKpVdO7Pw4WrnSbo88KrocnO4S2+cLHQcX1+S AOrGyqz20MKy7ColYQDwkNxGUhG2TZ7DBkapuGsdJnj1iIdcAwx0lN6uVsNVzUsc+yviQrZzvBV rx/ibDEM+G6rMudbjkshfEbcvYrqUGPtEjGBPDvJjzb3sxXuTuTPhfzrXmYTFKMdVTOWOzu4Dim ufZZDfW5HrMTTVDE+tSdrj2BhKBQZ6atrvAwBT0QwriLzKMzZB544xKTdowHas8ymOQtyGqbW/2 1XWwqPRphL7Pgnc98JpcIkLYjC8nOYjjry5ana/KbsFYQyQUlhTJVasEPy920tiQOLpo11YZUHY am2E6hCgxPir6fVcXkAP8B2GjKvgSinGTZ2r5EP0GtD2oGPelSo1nxL0uYe6GfYUQcrMWX+In9/ tuD/7wtSi/6LUFG1zRtN9Ne37Cb/5DQzROzgC0bwJq5WdMbJw8AGN+phH6s+x+LFIbyhhUToJ6x hLnTkwVPZabyaC0fckn5kQTVbUxAVuJ0eDO4b+4SbHFaTg243/jaGrGb+/vBCYmxZvhV7EguJyu 09LSShsqq+CfI2w== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-ORIG-GUID: HlcCbnPleBHajZj0izT6xSinzz1jd94g X-Proofpoint-GUID: HlcCbnPleBHajZj0izT6xSinzz1jd94g X-Authority-Analysis: v=2.4 cv=FvcIPmrq c=1 sm=1 tr=0 ts=69b95f08 cx=c_pps a=5HAIKLe1ejAbszaTRHs9Ug==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=ZSnkYuKn9ZpO9KHknGoA:9 a=QEXdDO2ut3YA:10 a=gYDTvv6II1OnSo0itH1n:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE3MDEyNCBTYWx0ZWRfXwXHM6CSnShYK D0sE/4K96030MYSyhCya/b4M1/Lcsp/agqRfPPZLbukN9d76eIWXCh5vkp4dmbPa04oUk+YZ2Ux rX20u2N7FdHkQnD9AnuNR8fNXGGAQmVpbo5918LHcDqCdNq8aqaK1E31p+DTFeg97AkdIYS5YGH IW1JekToY9paaqhTZ6xCW8uc7OkmUKauhoU3yj1zTN3CKDAd6Ni8tLmfHdSDt++2FjZ3LC+Cb4U n6OY2Q5K/uR+gqqAWURhGQP7J9u8QLNkEi0aF9ZXlGj304hcbr6iv+buhoSIJieNPdua8W8URcT c09vtE008Df9+Z9gMIBWKQpisUhA0nyvi/tSebCV9dMKIAtDDrDaaIu0TnpbS+uGD8YJECwiLsy cBKt6MuCvK/7M7C7fYcX0YIW0YSrys+o2phtFa6Ud1ghlNK0SRds7uxeSzYcimW2lK7FaeG334b Fsxj0RoDtXVQvfzXJ5A== 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-03-17_01,2026-03-17_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 priorityscore=1501 suspectscore=0 phishscore=0 lowpriorityscore=0 bulkscore=0 spamscore=0 clxscore=1015 malwarescore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603170124 From: Bartosz Golaszewski Extend the device match data with a flag indicating whether the IP supports the BAM lock/unlock feature. Set it to true on BAM IP versions 1.4.0 and above. Signed-off-by: Bartosz Golaszewski Reviewed-by: Dmitry Baryshkov Signed-off-by: Bartosz Golaszewski Acked-by: Manivannan Sadhasivam --- 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 Mon Apr 6 23:28:41 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E6AEA24A047 for ; Tue, 17 Mar 2026 14:02:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773756177; cv=none; b=uAwypiWu11v0hncd+G+28S3wc/1yG/wgUUOUFJK0b08mIu1Nj5jZxWPf6T2ArhwmQSwyFyOGx1+mE1CCftHLPRGh2ROFR4LHLbqZxyTflbWhO9VYYz5mLi+9DXHzR0D5HIVVeWTexeZ/64dfIo+vkdEIdazVeI/bBcoEvMT8Kz0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773756177; c=relaxed/simple; bh=p5/Xkh9v/3vCwHzmvjuWAz1PZrCl432d7hL0iI5alyg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=DuwLIT1cYwF8miQOksMmvzu3i7hwc1uNDTnZ804FoGvnCLrU8W6diEurTjzKmrhN5Yy9m3egAUTQnzcWqY59LNgTp0PJRqRXMoCTZF+Cmu583WhKgxmFYmJGZtCotbzuvJ3eHIOgkj+ml5iIbmBZJfbCBtiS7vvKBO56W+/5N94= 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=kzHQqyAF; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Wmh8J4wS; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="kzHQqyAF"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Wmh8J4wS" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62H9Putp3102089 for ; Tue, 17 Mar 2026 14:02:54 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 11b+1yJu85ESeXUMKtKDJkv58gPmR+Xo9cogdH48WHk=; b=kzHQqyAFh37bfQr0 sPNkqBny7OC0+Q5lE9zHqn3U9poNKBdtObHoPUhwQOPrCbDpDC/ntDKnkRgCANS8 F3LWibfEHyW8isOzwM5W0R3zTAyWaR0BO/tuxqIoUSbIGGXtKQVd4tGcJP9LeRlL ZRYijnCQx9VIRtxqnk7/1gi6Q//ZW18kwGdUu98obmLmClIxNGfH8UU5Mmmue+Mu i6MF8Z4DNv19hPMAJIQkdLoYxXpbH+B4h0lfTdqvNtalEWYrh9g2eCqRqFiysMYl mri3Atmqum+72drasVls1e7NjvyUsb+jM0/jydfpPv9Q/FhhdkUVcSpC8LAuvjaI I6hohA== Received: from mail-vs1-f70.google.com (mail-vs1-f70.google.com [209.85.217.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cxnb7c2g8-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 17 Mar 2026 14:02:53 +0000 (GMT) Received: by mail-vs1-f70.google.com with SMTP id ada2fe7eead31-5fde4d924f2so7953855137.1 for ; Tue, 17 Mar 2026 07:02:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773756172; x=1774360972; 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=11b+1yJu85ESeXUMKtKDJkv58gPmR+Xo9cogdH48WHk=; b=Wmh8J4wSKlMapwUBcDMZTmXKnJe7EvG5o1RfxYhMZnVwTbglnRuIUVPBtp+wlhwTVN 3eP5K+PrDhwvc/jVGXDnbfetOQZA1dzHgioypGjMsx14MC/GUmjRY9Tlm0IkSg6Un+GY py8UZfwgoCtuCMVD8PGXKHRpKGwPo2P0cwI+OQbWhXBjJU/EHZfTE/S6nrRfhjQLcE7I pm4MaZ7VfqgQH8IXqVXIX56JolR86/rJakLUxWOYLAtAo065HZAZhuFWBb8OU+OfrCUe Ja+D3Vw2l9ZARu3ih4HNeWEg7AL75ttwCOObohia+MqXm/irxOjjRtykavnr7cH4J28n 5L1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773756172; x=1774360972; 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=11b+1yJu85ESeXUMKtKDJkv58gPmR+Xo9cogdH48WHk=; b=ceZVr4jSowVXEKxlBKFYnM1GDTQjfOouD0b3EFr1VoTGZVbGtFxVfPsyD2p832n956 paeJ6rF64uGQq7qwXlt3idNGdCTxywJ+ET/o0hDmpATtLPE86WgjJ5aGDqcQOFyoDDp6 uiUh5HNSLes7ro2wvKrZoddizIZv4cz41lL/FAow14SdnDLY0n4ISif5MVI201xJMcBf /KWn8w+iL65XzMaAzlwwEc610a0ewu2BH0BV/kP9NrsR+W9kYudWDnc6iV/2bFdia9T6 QhlXKi5K+Fy/brkOLCjqBQsXfgCQ2lqnj1Rr1zqYswKYYjwbsycUNxf8wOFexcIFcalr pv+A== X-Forwarded-Encrypted: i=1; AJvYcCU9iZXDI1YRyf+oUqaDbF1rDdF9bkUOfLuLRtlcbRWjYleitcR6TmR27Alx6UConfA1kZdBAfAOAS+t6dk=@vger.kernel.org X-Gm-Message-State: AOJu0YyidxcAEf8R7PqVJ2WcbOeSntfBCqqspguvreBUrYBURbjWTAXa vLWcvhwGMfZusE6E4a1J3/B9F/nAboAy91LmU6W22Wv2IYC3gL9/b2C1zvhDUCc8pN2Bz4zgbqK oFa7EnzGDEYTinj3er/i5RrkuqjU5At8t84C74gN2bfCWdXNuNGP2AvnVxB4dUCGIdfU= X-Gm-Gg: ATEYQzxk3gXJVcdbL+6ZUwuZNPBZSfI+nWGfKJdWZwdU9qs8raReUqWXdYI3tdyew8u ip11jfvtszvvpHvXUKxyJegiaQGqOgOY3rLE//DlgfKbr9opBud2n09/yAN+S8LVscNfEl6qiwm 3mOhpj7tgceoijNsYpDQo+K3jrcdw7qQ0+geO/vVKj0zthS26Q9eGMz0xJnI6zaA0AmI7YVOoXh 24IYXvgI7IZj6o7aS9Vc3BOyUHcFMCLTH0LEfz4Dk9gzg3zAiYFCqJYLYC06NYPmTqN/XLrLuRA TvmRKymeEGlPvSIxf6kooXqz5DSDTD4Ivsw1WN3jEIJW+FJuRyk/L6JHyKXJ4F78InASF7Vs343 L4oXnBYccaXpYWmB9T3bS0xMy0LkAgO+wf7J+V8TEmi1bpTPjd7bu X-Received: by 2002:a05:6102:442c:b0:5ff:ed38:187a with SMTP id ada2fe7eead31-6020e1ed1ffmr6223069137.5.1773756172023; Tue, 17 Mar 2026 07:02:52 -0700 (PDT) X-Received: by 2002:a05:6102:442c:b0:5ff:ed38:187a with SMTP id ada2fe7eead31-6020e1ed1ffmr6222797137.5.1773756169815; Tue, 17 Mar 2026 07:02:49 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:6aa2:dd35:4d6d:8eec]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b4938854csm9359709f8f.34.2026.03.17.07.02.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Mar 2026 07:02:48 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 17 Mar 2026 15:02:12 +0100 Subject: [PATCH v13 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: <20260317-qcom-qce-cmd-descr-v13-5-0968eb4f8c40@oss.qualcomm.com> References: <20260317-qcom-qce-cmd-descr-v13-0-0968eb4f8c40@oss.qualcomm.com> In-Reply-To: <20260317-qcom-qce-cmd-descr-v13-0-0968eb4f8c40@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=8683; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=p5/Xkh9v/3vCwHzmvjuWAz1PZrCl432d7hL0iI5alyg=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpuV712xjHxJR+yrqxIiLg3sagzBxcsc4EDIvxH 6S4CI/q1EiJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCable9QAKCRAFnS7L/zaE w32jD/0ZGSzAuDMJur3nnXt++W24W5kPa3BzT/BW06FobMsPPvbNiJxXSL/T7+14et6DObEK/l+ MJRifQnATawzICjOnJjpE90ZbsBT16pk4aOKQLJS62KWGOrBUOBMlKPzuW+apA8y6SZHzJmzdAc IDyh/Er8vgnEfuuSL66LRLmvU5/fgylESCxqcviXGngA0FJnnkaYZbAVtMowHvpYA1ENmyPHMRV SBm7RpIBLrqy1Z+yOnRNQgOsTpIgqkXo03aClo4zv32CJFrB/fze25P6CBaFsiOxeyk8/uxJ23y 3PDJ9omoaQMbByXDG3r3bBNOK3EJNMpmYrtkIfy6Fnjzpb/Mh8ZCVQw33CWQktOW8TRYAWfBNZb kT9RSK6bj7aZAsiK4dqsCsC2oCKpXhE/oxgD4Ujoys8uN+dI4DqE735zBcrsgEZDk3f7vYduG6F 0CfsOJrebcY4d4fB2nk1wDuUEqzLjSDTT4kP+37udDI65xnrUxxC3iET8jZtVBnh9c00ipwwJiV jeR/HJgMj9XRpyz6mrwOI0Lzl4FaHe4ZoC8OVzpdY9eGU30jfF0hay0UI8BOycJu2uZ90aG2hvT oydlry22c4zeH9Pps/4J7v+mMl84uJK+KdQMz3CAZnFEk2vF9vhcJyjXy7huN8G77zcca7is9v1 ErNgXZl3gPWHZPg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE3MDEyNCBTYWx0ZWRfX7zblTzqn0ONY MqtYj0Mu0AIeskWtaiHRzGY8Z1/ZYYnSke1+flqBsLJhtP5+A+FfyJXd7o3YnRirtFTc1wR0XER ZwcG7VVAUnjisBG3h+XR4ad4IfyaRLDZYodZowfBTDHwWZ/Jaj1wqFoB3xApzxAEcHNLcJc3hyb jyePxWocwRgHuvCy/azJpaxUGgqiQR7b35opVddKaY9ksb7ffCgXXA+eiyIp6eni8UpZf2x3tiY Wb0x3lAlp9j64/MyuAenwV5buAhH8mLLVwep/DZy6gaLj5JtjR4AJLMR8C/qZpGVAuyNXfyggtq uH6ZCK9vQGumqa+OkAejbHkwpevdI0btfVexIp19egzAUOJyNbkvUZ0HqmM63Ger2EWmAOfgXt5 xw5KItbJZMVU2elGmxhrOlwRlm4DpVaxvStQY/VxIZzsiBoqYEeV1mjbUATKGzLKoThRpO6QVph BqMAV9hAAk8tcObntIw== X-Authority-Analysis: v=2.4 cv=D7pK6/Rj c=1 sm=1 tr=0 ts=69b95f0d cx=c_pps a=N1BjEkVkxJi3uNfLdpvX3g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=EUspDBNiAAAA:8 a=RdU2YfPBjIXQodyA8iAA:9 a=QEXdDO2ut3YA:10 a=crWF4MFLhNY0qMRaF8an:22 X-Proofpoint-ORIG-GUID: Pb_mUloYF5SnOBUPkauK47Oww0ohBF1B X-Proofpoint-GUID: Pb_mUloYF5SnOBUPkauK47Oww0ohBF1B 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-03-17_01,2026-03-17_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 adultscore=0 clxscore=1015 suspectscore=0 spamscore=0 malwarescore=0 lowpriorityscore=0 phishscore=0 bulkscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603170124 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. Signed-off-by: Bartosz Golaszewski --- drivers/dma/qcom/bam_dma.c | 160 +++++++++++++++++++++++++++++++++++= +++- include/linux/dma/qcom_bam_dma.h | 4 + 2 files changed, 160 insertions(+), 4 deletions(-) diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c index 83491e7c2f17d8c9d12a1a055baea7e3a0a75a53..895286452c8b5e701c1df482095= e5fe4a49f4246 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 */ + bool locked; + phys_addr_t scratchpad_addr; + 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,27 @@ 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) + return -EOPNOTSUPP; + + bchan->scratchpad_addr =3D metadata->scratchpad_addr; + + 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 +701,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 +757,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 +1051,115 @@ 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 NULL; + } + + async_desc->num_desc =3D 1; + async_desc->curr_desc =3D async_desc->desc; + async_desc->dir =3D DMA_MEM_TO_DEV; + + desc =3D async_desc->desc; + + bam_prep_ce_le32(ce, bchan->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 NULL; + } + + desc->flags |=3D cpu_to_le16(DESC_FLAG_CMD | flag); + desc->addr =3D sg_dma_address(sg); + desc->size =3D sizeof(struct bam_cmd_element); + + vc =3D &bchan->vc; + vd =3D &async_desc->vd; + + dma_async_tx_descriptor_init(&vd->tx, &vc->chan); + vd->tx.flags =3D DMA_PREP_CMD; + vd->tx.desc_free =3D vchan_tx_desc_free; + vd->tx_result.result =3D DMA_TRANS_NOERROR; + vd->tx_result.residue =3D 0; + + cookie =3D dma_cookie_assign(&vd->tx); + ret =3D dma_submit_error(cookie); + if (ret) + return NULL; + + return async_desc; +} + +static int bam_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->slave.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 (!lock_desc) + return -ENOMEM; + + if (lock) + list_add(&lock_desc->vd.node, &bchan->vc.desc_issued); + else + list_add_tail(&lock_desc->vd.node, &bchan->vc.desc_issued); + + bchan->locked =3D lock; + + 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 +1171,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 +1301,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 +1501,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..f85e0c72407b5e1a733750ac87b= baba6af6e8c78 100644 --- a/include/linux/dma/qcom_bam_dma.h +++ b/include/linux/dma/qcom_bam_dma.h @@ -34,6 +34,10 @@ enum bam_command_type { BAM_READ_COMMAND, }; =20 +struct bam_desc_metadata { + phys_addr_t scratchpad_addr; +}; + /* * prep_bam_ce_le32 - Wrapper function to prepare a single BAM command * element with the data already in le32 format. --=20 2.47.3 From nobody Mon Apr 6 23:28:41 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 9FCD03E2777 for ; Tue, 17 Mar 2026 14:02:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773756178; cv=none; b=S3TiXsvTqpgGeNVKh2yc+hxaCVqnxo1THaxUSZQdt3v4FfzqY6SbR5XwHb1CjnBGuQ4kl+MrdDqc4XOyKGfEb3XZKnJKnzN/xwtISRbDhVQ/Ca/XSGld/2ju577vxV9IpTYrlx9ki0mpyNlfhCDS8U35WyzbuVwBLeWMaETxTDo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773756178; c=relaxed/simple; bh=D/DbbvsYNV6WfJJN+Y3qtsfzsdueJP3Q7cdgK44aCk4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=TWM1Q9XGDkvJTkHum7jEPm/gQV2DPXqPDhdtRz2L0zYPRzZQdchrGp03+MkC740dEJTWEZFyl316QSIFTHCZlHS5J/kGAZ4P7sJDdNf+kqgxniyJNhLu+D9uU8bjqeHrKY387S1em6/E1xvo6WqnX7mi/GJXaueorazu43YT2Y4= 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=J37dUWlT; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Eo5XXe/v; 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="J37dUWlT"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Eo5XXe/v" 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 62H95QkS2314566 for ; Tue, 17 Mar 2026 14:02:53 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= f+eJOMoesWuzpXTSR4Li0Qt2PYtZi1rSvrjFdAlx9Tk=; b=J37dUWlTLsOBHZNw 6VWyQj6ki0vlQA2P3S0na4xyWdhNPs9TDNzuJJSFoQjH5fBV/QAWAfxiy2E1HFnb nZCg51GLiYXD6kHA/6H7g91aXCBDusODHpczTtOz5LgVs2l9UrJo6CGFnAdTM/tG gLCPkDyjPQ1NErUhdpw5td/7TX3+ph3DBVdoeRI1tFvVovQFatQGBM92690KJQRW hUt4eq4SL8o5318WBT3o75smfaeZ1Obbh+NFSqm120ZJVwCEF4b2KnpV8apFn565 u/bYwBcOlBCadZk+bmmdQzTuk0D4McN2Akv30CKisYxHRyrz58sa0B6RvvzoT2b6 R4fjqw== Received: from mail-ua1-f69.google.com (mail-ua1-f69.google.com [209.85.222.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cxmf2c57b-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 17 Mar 2026 14:02:53 +0000 (GMT) Received: by mail-ua1-f69.google.com with SMTP id a1e0cc1a2514c-950c363a61aso37755546241.2 for ; Tue, 17 Mar 2026 07:02:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773756172; x=1774360972; 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=Eo5XXe/vi6x5mu0H5msxVvxUNa5flaq7ScWGaqBzitwGTWOICBUMiYuzhM5u79Nf54 53AAYhRyzhTa4L2VC1v/3ZbV9YO1fxSHwNSiGpodF7L8nw1J03V4DqJF53uEJ5PhJYFa AyKs47tI8kcrx+oX0eGvHD7K+UKWWP02U38L0anQUOcV9kNwz3Ef1KXl6lp9fFu+fa3w pluxYapaqG+Gd/dDxaaUWHlH1EMfZn2uQY1uWbgEyib7IRJ8dOGQVsH0ghhq8XpPx6T2 krG9c7Jx3MBh4eIIaCFUeg3B3kKGxekul6iXMe5L9+6TCfhk2JINMSoHGbCNmnChxZcO KvNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773756172; x=1774360972; 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=ddsgOdkucgqp9v2CVR0eRDJQTT4c1KRJw1Wswu4aCFQ7wsqfuw8i/dw0OM4JszlQZm gsFa8Do1HQH00YPTh1FJS37CAr3CQM1+67XO9wJot2pPKiexvI7nJ6F3B10EusCjmxhQ qO+8yfE2nfuH88Hge90LZS+3X/QHJOnS/Q70nizx10afHluKbI8SNYdDDbbaj0T31r45 mmVSM5NB3Ush7bjBg+1Do6XeASPPP0EMd+Ru8r9DBfXoafF4JvA3apgGCwo3dYYeltFG QbM20pIIc3gMSjk91I1gQ7o4GYEatXakGE0VdbtlMkmxT38BSxOEUlurO4fpGvHCsLzh C2pg== X-Forwarded-Encrypted: i=1; AJvYcCXWrzC233gh0Zs0bhNK6T7/LhxphitFvGuq1bTkgjVOm1hjMxmAE1+1qeMrTuDwWmJGwa5gfzZNBN1SAdw=@vger.kernel.org X-Gm-Message-State: AOJu0YxHJAKlTGp+vZmHr07e+cO640SnG2HX0zkOQepI56xStl6YrIxm QjCM0qRAd+LdkYEJLfBIoZ+KSLRvnPd7/aguv+roKKgSz+ve0L/mhKGanQgmulDeXdVyCgJnqzU AUAEkyNOc0ObUBLPhLjfs8Sl4bs2b4YBUoaa0uEONg4typ4I6dRMOfFv6NULU1QrTvTk= X-Gm-Gg: ATEYQzz4PLB89Xy5lYlKCnUIMGY2S2R3O/FYB01jjRQf2pa8hbtoTRZO8nPY20Rt7V+ XSxFcVgitQG/fFIDHiipIcYiOm1tWSMV1q7a6K/yK61YzPsmkELk3+uVAs+Lv97XdHSv2L83SsP Fl7oxVja7oiQ/IUTEYxcPLZjk/eo8Dxs4/1e0uXjyhWOpO+CU5/xC1T4Vov3NO2XsWwh5a+jkes eAboDm3NSxAAySikmB+NH/8c0zRfw9haKoAUJ4ueSpu+y9taY1NUuC0KeJdBuEE4cWzFJm3XNqF XksYbYeFc2GVlTI3FqoHqsvLMjTSyHjLKM0c0JYi3Hzo0HAhnBgJHbUq94JWHAGqGpOA+NxMyj8 4kOnhkHXtpiBn6V0RwGNX8IVF4PxbphR5RgUmSkPgUNRddUfU1K0P X-Received: by 2002:a05:6102:c8e:b0:5ee:a494:1747 with SMTP id ada2fe7eead31-6020e5694e3mr8012695137.36.1773756172436; Tue, 17 Mar 2026 07:02:52 -0700 (PDT) X-Received: by 2002:a05:6102:c8e:b0:5ee:a494:1747 with SMTP id ada2fe7eead31-6020e5694e3mr8012635137.36.1773756171962; Tue, 17 Mar 2026 07:02:51 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:6aa2:dd35:4d6d:8eec]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b4938854csm9359709f8f.34.2026.03.17.07.02.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Mar 2026 07:02:51 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 17 Mar 2026 15:02:13 +0100 Subject: [PATCH v13 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: <20260317-qcom-qce-cmd-descr-v13-6-0968eb4f8c40@oss.qualcomm.com> References: <20260317-qcom-qce-cmd-descr-v13-0-0968eb4f8c40@oss.qualcomm.com> In-Reply-To: <20260317-qcom-qce-cmd-descr-v13-0-0968eb4f8c40@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/NoTDAcsmYgBpuV72seWPix5C5UOqBs0Dp63n1k65CTcZe5fCY yykFpDMoe2JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCable9gAKCRAFnS7L/zaE w1sGD/9CfCSpmvX3BBs39L75twLMua/5LB7A1lDSNRSXgMm2cNZmPwLevSoCxGK9J0luJJjmDxb 1LIQrNrz1Ct7+GrAmR1pdB0DJtPJbOCUsbj5SPE9fH2KY5g8RgpUqJcoOtLHfegLaeE+lhQb5Tf T3sEonHjE4xiYMumBoq5KuuHSFZaQiGmUs8OL1lbbhikfsQrFPfej61pf3QlIyfsG2JdhPzfCa1 4RFS2bmN0836Hup8dj7ixmv7zz/XZtumaqlhKnxO77YdfDwW4Qlwd9KY+DMaaf0rMd0xyrWSdO9 wYfppuy9Tp/Lk4G2lhCNL8hAmHndDBNJZk14YiZemTB5iQ55aMQ5HmopEj10+eWrgSbXOOV3usN QMkBvIU+Bt00I/vdhbrBwVllQBFGy6bMd83nvjnqr56XeCkab4Kalfz6F5WGiEZ2uzsb9Ze/+85 KUMMRbBAnqaZW+ZHcGUakvUXrDgmF666nFEObqVslKjkAAHhOHr2CbgB1PqpztwsdmzUsWI8a/J ncm7bElz4hpt0H2h4N/olme/2OpC72Lsigb+eq/On95ZlxQ8Tp3L+dYYgJXIHLBNCHodD4HWxXf j4EyMjgLuliwK2o/VcxyxTrTcc7hCtY+JTkikwyuBzYR7EY3w+nq6Lw23Vpog+LaxmiAooXUJ5h PbIDsCpOPR1R7YQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-ORIG-GUID: ph2vTZUbAPoJT77EGGGwaYE1VRjKODh1 X-Proofpoint-GUID: ph2vTZUbAPoJT77EGGGwaYE1VRjKODh1 X-Authority-Analysis: v=2.4 cv=FvcIPmrq c=1 sm=1 tr=0 ts=69b95f0d cx=c_pps a=UbhLPJ621ZpgOD2l3yZY1w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=rvG61WhHFVBzVmnuldcA:9 a=QEXdDO2ut3YA:10 a=TOPH6uDL9cOC6tEoww4z:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE3MDEyNCBTYWx0ZWRfX41aejDTG0TWX IXLA2OpR9N6MWg4J/wVJQm+R9+sfG7saHhIw1yQBZ2YIuz7OTOTg2tA34GIqfR1UoWolTnyZ8Dw toJCz1wlAA3EtxrP7ican1Otu3TqX3uquFc/2dCvDAeKQO8pLBcH4Kdn3EYFu3QFwwImwzpAHGE PA9NTQKbmz1IPANr3ndC3E82Qu6E9lwJjo1AXyLnxIRZ0Fr10E0v+6Lud568BnOijqYqW0F6UmL RwgAOTAzbAU2UowN3blKRfWMMBYJkdSRexSqUflhZYb5AAEPQNAH8n4mfXisgWDZMYfaMaLBu/+ 3yVOfebrvoyPTswv8TTLQxktHUAPZ3C5RxHHaKd2NjTEweBQurpSiKOdEllQXK4EPEM8TNs8/ew pj/2o+VCROvZaJDJ3yAyzYLD5rn6rH7uNSqEOhNoj0TyrXPcjuNn0+3mm3DWvKoV8zRbAVBLthG 6NsULgVQ++ZgwHbaMxA== 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-03-17_01,2026-03-17_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 priorityscore=1501 suspectscore=0 phishscore=0 lowpriorityscore=0 bulkscore=0 spamscore=0 clxscore=1015 malwarescore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603170124 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 Mon Apr 6 23:28:41 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 37A633ACA43 for ; Tue, 17 Mar 2026 14:05:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773756335; cv=none; b=To57zTYpN1iad7qalCbYvNrFs9HjefUoMhDAZpldhlHhZ8CzxjH0MaS66P04OnTfwXE7lPDS3XdPkBEgpIZDW3xwu/0ohvbwKGyXGWVwHR4yxeXo/Ugi1Y3WNZFyBeYu4DF/20kOibZm6gkXdoqlRvhH4M0cl3wpFz0HlR7sano= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773756335; c=relaxed/simple; bh=6dN4XjHr+6OQnOzxmGwMll0VZH7PW0q5aNlxk1E5+Hg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=VBs3e4ammBn7yR4H8/UGxR9dxGn9yiUj2XaYGSkNuCqfwoI0sbbVLuRAn0X6CoE9wb5KFGfy4/6hxl4sYYs2Cb89pBAObhzCiNKfVQKxfEIRPyfDCLUeXasq7J/baIXuC0fuLILTM6VmGcbe47wc/v60Ttbj38ffAoW2E+CMw5k= 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=liKAUSj0; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=CgnbRN2T; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="liKAUSj0"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="CgnbRN2T" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62HA39QW2071568 for ; Tue, 17 Mar 2026 14:05:33 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=liKAUSj0fGhwnrdz tyZen0SYblevWbWtazQX1DnMSZTXAhXUXUwWWOlmvS4oQBzMlB14rIHZVQE7sFrj hD2nrkDFohSZZxM/7a57YJMXtujybwEw6LDfEqSvKZ1GOnVd90Ig5F0/933LjkET pOGASoW9ZTP5O9ABV1rETkz2CLAsZiu+nrc1UXSRRucdW/ZE/Jop+EFVFukqYOs4 3bno5WTqr8pgWVTsdXK6dgluusSOQjPVmkhqdUKoTkBNGRD3vX7L0bJPfKFHQ6/i X0J+sGY4k8kqKE/KEEu7NI/eANdT2GjWfS/XyxdGCApfLUTZy9CGW6q9s55QhwPj IxHpTQ== Received: from mail-vs1-f71.google.com (mail-vs1-f71.google.com [209.85.217.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cy4v6rswd-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 17 Mar 2026 14:05:33 +0000 (GMT) Received: by mail-vs1-f71.google.com with SMTP id ada2fe7eead31-60276247301so447482137.1 for ; Tue, 17 Mar 2026 07:05:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773756332; x=1774361132; 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=CgnbRN2TCD2vm5cSqCx5d0hJGPD04pL36UHgEW4GYCZsKUs+QRrz4KyijFRKy5qIQ9 5o269+oDYzCOrokR38qLQOEOO5893AZA/YSGtnvVGIIywllY5S9yYHJcbXpOTSo5Uty6 BV/dx7rgs81xRV7yeieeZ2bthWWzf8XacNYVEGXOTEfWto5yUW5hA1EjvY3OcqA4c7Yg q7D6RIR/ciYD7MEAKfQ1lnuYf6sI2azAT3j7GL88+cpVwKuZo4GLrYvTP3RLhEjpKPEG 5VbBWGWdKKfpM9RFs0zIF33TpU3aZ/P6BUwltqm/HgUf80tdZKiBZsPbBL3FSMFg8g7/ U/Ng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773756332; x=1774361132; 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=NRNt/4LLsonErmFXKwRelAXTA523L1+u5NmQ9FyzX/tQhQGjmsoOJFfowC+QWhBC52 svqDk1nXrhVXIPfkhTlO1v35Bw3gnunQ2kCTy3Q+/YrN25jkOSUJpPZen3lwqlsf3hR8 QxFd03F9W9nniYCZ0HEPbe9MHZ6iHUgK+a+/qZ80vJyasfkEaiNN4A95uN+IdyzaV0Zb jahOagJvggzzjnyPB1pNC+dCJWC89vJIywll6YfDuqTicDvgMK2Oazzdt8i3HVd+PrL9 qiCOkgRjiCT8LQ7OzkS2JCZUMqHv2pDw1AQef8dtqmY6feGFrnwX/W7vLU1t0auC4pKS /K2w== X-Forwarded-Encrypted: i=1; AJvYcCXsGb6YMP25byRV1BTNMj4HVhtqIJfJmYc7tyeIk9Q/GNr4/vigUo5BvQrV7Xc5uA5f1B+zpNHBTe5as6M=@vger.kernel.org X-Gm-Message-State: AOJu0YxB1ON9z2GSCqvyfincOUxXSEslQcMsCSSfqa0pWWG4RIbfbp4/ M92nfQgGbN8dfT/PeivCz3WqaBUQwbsVdiyC3dCpai3SqVlERjyz738aHbKx8+tzyTSA6cm5USg yN5lzw2VWdvhIpSOh9/gUe8KREOxJzsOuW0pmuPe4Hmsz12QZig6S5xIquAl2ghMEpig= X-Gm-Gg: ATEYQzxg6f7Jo2hHiE2msjey0WjMuafBY7N3kGqBwJPhnwmKWG+aZLIvirKZGs+Rvut 3bfOFZcrmCG9PY5WhbcrFdqI0B1VLTGyTH7LXkFcoXoawBT5GUu8jYM0pKMkWLotRlybPyy6Arf QyU67VuIHsE6JXyu4UTJmuKKZByGgEcBQtAqwPJiiI4ejBukj5Lo8HtfClG+0WExfiFy3jVUn0V 0IQETGAn4aaNOsxOmgjDG84BiDrj8c6eyDM+i76kA/VJCblfLXD87L/MxiKvNiyU5lSY9/QB3jv HsIHkSstDpoMTfeoQ53fIsuFQ+K1bC3NVi19fhfNwwBDT+B9aRDKGPwx37fN4x4Tm9igtUtRJxE m/gVq2Dz1WW6FS2iYR+Q/rgGkpXRTu81Q9Oz33TMz0mbzQGVAqlqk X-Received: by 2002:a05:6102:1626:b0:5ff:a34:6ce0 with SMTP id ada2fe7eead31-6020e220116mr6681472137.12.1773756259110; Tue, 17 Mar 2026 07:04:19 -0700 (PDT) X-Received: by 2002:a05:6102:1626:b0:5ff:a34:6ce0 with SMTP id ada2fe7eead31-6020e220116mr6675040137.12.1773756174174; Tue, 17 Mar 2026 07:02:54 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:6aa2:dd35:4d6d:8eec]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b4938854csm9359709f8f.34.2026.03.17.07.02.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Mar 2026 07:02:53 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 17 Mar 2026 15:02:14 +0100 Subject: [PATCH v13 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: <20260317-qcom-qce-cmd-descr-v13-7-0968eb4f8c40@oss.qualcomm.com> References: <20260317-qcom-qce-cmd-descr-v13-0-0968eb4f8c40@oss.qualcomm.com> In-Reply-To: <20260317-qcom-qce-cmd-descr-v13-0-0968eb4f8c40@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/NoTDAcsmYgBpuV73iujZQ5OmYbLyGhNvpgHfkyjrM4PJIPIUX CAKWC4U0W+JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCable9wAKCRAFnS7L/zaE w+CkD/46HMPC12W0V4MTUjE7Rk/IgkkBeNhNdo/H3IAMjUsoEi7JvMB4HcgQgD97k+fm29N59JX aR46Vp6Z5XGMc8x4qg5SjywfxX/wosezI64FMejNfgWypWlunTqo4Q5EoEcGXQQV3Cn3G2KuReA GAkucWdzOyWNm+mhxJW+QTIazutS0Der71WjtfY3DJt7b2ts7IGKqINU+gmNOzUHMfS9tM9G+KG ENczoKR1rdTX+tUx5T6MaLirm5YOMZQhMJk5pV+pNjpTdV85MyPoL0n2WEpPaBCtMOzl6amLI8s 1LmcSKvdKjwBfG4ckHRQGyMv/yi9m30GNWdno0b48+qBe5UG8krkd+c6BXvVP8qXDVEjmB8ljBi kjeJvZsANSff142+RajX+M+NnkFB6Feoj9lx6cBwB0EuQHwQF5NFWznzcQmlDvfTfHN1bNl9PfS lbSl7ygc2fBRQP0gIMvlrebG6YBL7SirsGgi/2cGmD8rchSa+wISYcGInFSPjQzPAoqkY8qoYc5 YuVXBzHSRFd2yUJElUxCcgV14jGksbPVLzg2bqXHtNLeZHcjZuYM+b4nWAtNPGWp39XE2SnrYMn MIyilz4aIrmfIHg2KbiFLMGIB/yMrCDZ/YpJM2CXwlVynf74wjunpjLAONagl+SW+5JE296iY6I igYbF8oUxNjwwWw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-ORIG-GUID: VhKKP-gFlxn6uKOd6kgdOvGT9JKIX1mj X-Authority-Analysis: v=2.4 cv=Aa683nXG c=1 sm=1 tr=0 ts=69b95fad cx=c_pps a=P2rfLEam3zuxRRdjJWA2cw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=tWRRbWwrKX-5tUpmLDIA:9 a=QEXdDO2ut3YA:10 a=ODZdjJIeia2B_SHc_B0f:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: VhKKP-gFlxn6uKOd6kgdOvGT9JKIX1mj X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE3MDEyNSBTYWx0ZWRfX3lFdPh3LcTbl 9RMMFk19WJigWk9a3LQgCBbJ2RIlPDhb8MoT3S+ImWP6dw1qer3ALHnb670XO7qPpUMgPLJxriL bisriAgKw7D0+DVoykPw5ONPst5C5Y7CCq/XpgsdlrI1ODdpKaOODaHQWdwyFlvvseJ/PsTevfE L/GLxulpEMqsOmt+R7geMHCxHA1HOXZ4W2xBzBwu+4Bof4Vj6wWGnQ2lkSDOVMwa1ohqmgmk6bB WqfubaGRwXdAEu3CBu4y/uzb6wCrmFC+bHJoVBXcgsZnUzSZP+7bj4x9tGxwdYQ6vgbHl3fiFAj XhhA+WR33AlwDtDYcWD3N/Mvhbbk6q6pxQg+p7/pmKlrGiwkq54k8l75ID3dvPbNiiwDM8Z5gNN MyRSTl5E1JjLWsdtW/yRLGYYKDmq+W+PkGawYnmrHk8jxsro/hrj7QjEDyi13IbfCB/qGfvBUko RxmdRVE7MQx9zVjzqEw== 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-03-17_01,2026-03-17_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 bulkscore=0 priorityscore=1501 malwarescore=0 clxscore=1015 impostorscore=0 lowpriorityscore=0 spamscore=0 phishscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603170125 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 Mon Apr 6 23:28:41 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 6E2693E3C69 for ; Tue, 17 Mar 2026 14:03:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773756182; cv=none; b=X4xY987T71rrkzNVTEWRldAmbAPkpnSNTk1opfO+/PjB7TJFtBdIaqpYM6Ji4M5QQimtSBT+nhVO0ldCz5vNu+MHT4MvEAtdX5zoxxcQ/Ses4G4GffbR4A/H7rzg1QBvsMxoiHNQ+RihEPGReW6s4I2t5PrJYZoNE0u6MAUEyIk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773756182; c=relaxed/simple; bh=H6RGZzI1m6Hy642I73fornlozWd6x9hkPKo2H6raYsE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=LkKeON16YcAJh6bjtK8NaKJdquMUbPS8KWN6fJ1xQO13y4+KntwPjV6AIneI7OJbInanoPYHccyQW+vzCkjS//hudU1knkZWcbydkLJTCl/CP1m7N0pP0AHavKf9UqrUwt1DxhJuWJNgzH4GnMeUsNWDEv1Zoshnv8XQBjaQmQg= 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=VG1sP+Xc; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=OC+EMmOp; 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="VG1sP+Xc"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="OC+EMmOp" 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 62HAWpKn2671865 for ; Tue, 17 Mar 2026 14:02:59 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= DQ9O/WxlrEXbsvKUWZga3GBiGSWqxH7TMX/h6DSnlY8=; b=VG1sP+XcRIQOo27a fGyYspmQeIdEzjMzHKUofSMMxPgamN9T0s+sFKFNKJTSbR0TONoyibJ4F7sEnCcY cyYCxHAa0A71FA9ygyl8a8LEeSmx+zfxLi6NQP9J/CoHamEGXG13w3w95oZsxc/d bqKXNK8IGWkH0GWbAZyOffrH5v0RPtDFBs5J3/nFnz+DydAcwVqvRxrqtbgag42P 7/wFQN6kA3hH7ZImsBveXT/MaFXSSNO0Hzxah4AoEng1JNYtiIHeR0/fLSUxM4iJ xRG7/FwPBUK4qG3PuereA+0AoaIkeECGFPdjuOCv/nDTC2UwtyVFZ+bCTYKn1dcj 9u3xfA== Received: from mail-vs1-f70.google.com (mail-vs1-f70.google.com [209.85.217.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cxmf2c57x-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 17 Mar 2026 14:02:58 +0000 (GMT) Received: by mail-vs1-f70.google.com with SMTP id ada2fe7eead31-5ffa389eba3so7983248137.0 for ; Tue, 17 Mar 2026 07:02:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773756178; x=1774360978; 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=OC+EMmOpB3ppLlNS0tj/oFhR6Ru1HHQfd6pQp1rV1qqZ425fudihcvK9dhi/Df938K iMovQFeFjnCy4vOfxcJCHUEyBjStN5gAKR8hRQOct61DlhIuSfXBSkSlZEH+p6Ft+0RT cKi00CoskXQQY1VtZEt5K4AsUF1nVWuzkjMfPdR7xCrfVD1vbmpTISc48njHLq+a4rpa Wp+1HVbHqMrUQt/1V/PkuH/eeo8+tVfmxUQnql8oO0XgUYI1gY2eg6s1F7cFfFwYBbb8 xR07u76gMlxXj1gXGxprIQCagSifLO44v1W9T1x4g9vNwZ18kU2CCEWQvkYkT5OdFss7 XCMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773756178; x=1774360978; 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=cRjNJBADSYtcZakPu8ov0kjhO8PnnaffEhFhDdxCis44Twb1HFC4NCQZfiYx/X0ypk eSgK5vT+T/zlF7PwaM4o+3+PevyAma+TiXQwb89FQUVcwAVLfcfromUZXr1zeV87W4rs /jV6/s+DkjYqx7DJ3saSIHbQSKXxx/Kt+CaIqddN32P3HekoB5QYpkUR+jPFfqAsXUw4 0DEO+SVv/H14v1CZwA8qh5Nz0vRLXF8pWu6CSyANTp8lRdJge7LmVCevuEGHl0tFSfDl QDxh7sHBYMaQwr+D+zmTe1POU3eI3jcO2/c8qe8XOnIQT2N6YO3/EOf8TbRUeS0UCkFf h8aw== X-Forwarded-Encrypted: i=1; AJvYcCVey0HjpVNDDg0C/s1Lzt4zXWoiAH0CJ1e97XIWjKu8tZd5Yq6M9VhJLdkcTnuFWs0y14ruUg4YTqtlEQE=@vger.kernel.org X-Gm-Message-State: AOJu0YxFPabtnEWKEDw39BFWIY9vc7X72Mr1yAZYQJ6L1ia9YS8sPqP7 E7JK6UqkMdH+PvMXUKskIK7lIfr1dIPzgqzCQmxRlqGpbR1Mu6Xl0cyTHV2XxhP204g9+n5hsSA dQ+VOtDjYk9p4ZHoXz8++f21Aj85wnmgMbdEv9O78e5lWuK62Ux2sl/V42YRoHJdRsQQ= X-Gm-Gg: ATEYQzzDgjTtIAkM0tI2UEKhiHi0NWiu+T2qltj//loAT9m/mLxnOqlTwxW0AgenJm5 jPtUoJLR8mWHRXnu0TG/DjfILM4uCh2zRzEZjk7OzJCFgXxMCSxh+gyv52YJTbxJo+MD6tZUTk3 ZnEkBcj9rWyzFRJvXdAaPyoFsALjM8Myn3Tu+nZOmp8aguRo2UHxlApzJ6dBTVYo2FhkN7f1qFp QiKa9bXqC+Yuj3YhPEZgRm1Si5Chn3APbCItbDT/SYn1ttLT3vogrL/7E2jwl/T6ZoqmFRoi/cG Nxmxdju5yf2AwadmHu9dCVvHE8B3CNpoOmztUQbVHjV7Q/CnIfQaj6m6lBdkBclrbN56e7lvkTt GB6M1snIX3ZM085zdrU4h70AaFhD3V1RJBZeCEbSbh9aKmwdeVotz X-Received: by 2002:a05:6102:510f:b0:5ff:17bd:9e83 with SMTP id ada2fe7eead31-6020e236a11mr6181961137.14.1773756178138; Tue, 17 Mar 2026 07:02:58 -0700 (PDT) X-Received: by 2002:a05:6102:510f:b0:5ff:17bd:9e83 with SMTP id ada2fe7eead31-6020e236a11mr6181878137.14.1773756177471; Tue, 17 Mar 2026 07:02:57 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:6aa2:dd35:4d6d:8eec]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b4938854csm9359709f8f.34.2026.03.17.07.02.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Mar 2026 07:02:56 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 17 Mar 2026 15:02:15 +0100 Subject: [PATCH v13 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: <20260317-qcom-qce-cmd-descr-v13-8-0968eb4f8c40@oss.qualcomm.com> References: <20260317-qcom-qce-cmd-descr-v13-0-0968eb4f8c40@oss.qualcomm.com> In-Reply-To: <20260317-qcom-qce-cmd-descr-v13-0-0968eb4f8c40@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/NoTDAcsmYgBpuV74v6AQxf7crq9AWxEvZhNv4EhOR72KDttI8 q/1nsz7n12JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCable+AAKCRAFnS7L/zaE w9dXD/47ORISq1CjAaQ9sUDFL6I1kw3hWOnPBV2CWeej4dNIPVBTHadvPvyqpoIS436Mi7LAyjP HOqkol46skL6jyZCAJtQDYY4yjjN2bH52aNG+GZ0n3jGkrqCptM0K96l4UObRAz1h4HTD0nu95J FU9+RnrrdZIylaSCyWHhG/JKDWJXjtHhIWkTMS4qlxItVkZIfRidt1EeEvnXfv4MQY3ZRsfc6vd 1TQ1miFuQ3VN0ow8EEGUKJci+qh9gqF8PIpyAV085Y7ilsXbixV8KBXOimussoptXQmvltZn1qQ xTFFVTfxLSv+MfnEv2jv1NEboVyxE6/F6oMFSKrEoiptInuIwlCBV0OnneiZbY0lwvThs0kYBJi SMWEBKg86VbgW35Zv1Z4Scb/6PWI5zZJ5lILy/4hho6AE4lhUkUbdkTwmC/HN/rPOr1RwSusRKG QbCN/psbd5VoNUetU4jFsTCaft0wmGmTBcjj6RSP4fGhJpKYHAJLlYGL/BRXHZVBHwJzCx48Ef6 KEr5Xib8bhpboYJ1IyMilK1aXmfl3ZLLWxzrVr2YFxXy/iVK4cCAkiW+J4SI7FTkcf2ksgwLwKf 0pfHvPPqG307MrLoCqKfg4BiMoOB8ixIXySA1NeK95RU9jQgwuZ7J7F8j99MHGmxefd9RM1sgC+ NBcINfQUca+8n9Q== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-ORIG-GUID: j8QKxlXShiRPDGZIR4zOhm42n0R569qr X-Proofpoint-GUID: j8QKxlXShiRPDGZIR4zOhm42n0R569qr X-Authority-Analysis: v=2.4 cv=FvcIPmrq c=1 sm=1 tr=0 ts=69b95f12 cx=c_pps a=N1BjEkVkxJi3uNfLdpvX3g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA: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=crWF4MFLhNY0qMRaF8an:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE3MDEyNCBTYWx0ZWRfX5GLblmKBXgaN iLn8JeuIeA9EisxG3V7B76bN141K3reQUdV6xu0AF2JWqEZSaf3gGkSiN5NdMakdTVbm4jfsfU2 HHPKKY6t1lqkACq3LSeevAFlb28fg7h+DYNRE+Fgfcaa5K42LnBQi0E2riM/75KbdgKhCqsy/QM qYrr9k1RT1LVOOZqO7t7r+ugya9R93HEPFEto0n2UAU2gAC6I88j5NfQjAX+h8hCg42pNyC3w94 v5mEcxHTJqljArvrJ5iAYpxZ+YBP08L5ZzSd2kQh235eGY2kM5uZ+6eDB7LBipRpEXlpO0qehhJ sLUpuA8dI6fK8DkH6MHHxAOReEwmL+mppJEsBZeAONfaUzscp3VmSo1x9KzSI0/7XttxwF//I07 p3HSV6rL3vBVjcA1w/fs2WT06AezmYiWf6lNASOtiieVYEUqONabhX171bl4JQw8UYzkdSmcQOy uu+oFOSmvYPXBKYN4jQ== 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-03-17_01,2026-03-17_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 priorityscore=1501 suspectscore=0 phishscore=0 lowpriorityscore=0 bulkscore=0 spamscore=0 clxscore=1015 malwarescore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603170124 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 Mon Apr 6 23:28:41 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 9D9A43E3141 for ; Tue, 17 Mar 2026 14:03:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773756184; cv=none; b=Dm7rMykJ6QUi0rvDUb4p2mwB04rsuKOR1GRwb+gcQaSajEwjLmYY0w5PEnqRH1vKMpa4Y0hsDLDjArHw2rY/eHTq+Bcf/Pe5oj3E957ZWXrFXtvSuBb+6fCfPyh5oRlUkHLIJnF0PN2JEFzwEnvEG7G2/a1yzxBOitUpvfCdAlg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773756184; c=relaxed/simple; bh=0l3gdVnkPeEhRWmaFMSjmRRcTqey535uYCWAXzuHtwc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=hoHIoUTxmJsJYBDI/Z2HTRqozDL0m44DoRzPtiQQce/KDcvBynXnUimkpx4gEyYgwOdXNDGS5GQz9rOgVQKm9enoEIqutI9VjEmsINkoAR/vzJJl6+kCSKGr3nAIUAzloJ7HUBwBLnD5tlyZ7/7/ByR9bv7aikYk/nUPwBnX+H8= 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=EGz+aa29; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=GJqeR2i1; 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="EGz+aa29"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="GJqeR2i1" 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 62H8B6pX3295924 for ; Tue, 17 Mar 2026 14:03:01 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= bP+u/9sMDsi5B9HZu73nJnAW0uvD7B1160U6L0iNO8E=; b=EGz+aa29zlBil2m5 eJtCvruY8xpVmLJNEFbZoZ/wVHvSvjr3+pp9x+bQH/t2w4oeExip9jIqnAiVnHvr 60QaLxx0nObYr8jXe5dQXvOG/3tl7tSwvSor2oQQqVPbgmnfleRfC/Gbz1VdfCK5 j0zZ5D9Gix7tB1WkVSLXE01bDMi/cr5JX1Zyu+qv1/Dru+Df/0lLQOvuBkoHk4do /azoLuQKlJ0l9ALhq20AQsIcnKLDSgFQdMQxApW73N1vo5zsMDKfrWn4xpWWx/9f H6PJ0xCiNRheRw/BM6bUeiVOjw4/V3MQraaC7VU+aTWXlgMHstOnNiWBCacWPvC3 4JOhcQ== Received: from mail-ua1-f69.google.com (mail-ua1-f69.google.com [209.85.222.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cxkuy4a1n-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 17 Mar 2026 14:03:01 +0000 (GMT) Received: by mail-ua1-f69.google.com with SMTP id a1e0cc1a2514c-94d6c5433a0so8772568241.1 for ; Tue, 17 Mar 2026 07:03:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773756181; x=1774360981; 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=GJqeR2i12SHL6cf+QLmHf7/8dEkxqHIkvMnu7f5ILBjUQMiH6wNBryocv7HXJWl5wS 6ZfgDfKUfOEwalwNSWDXcZXwhr7+flB6nHpU8/DDcI2Pwtm+cCgXrmt/Xc5EAs0CXAC1 ZVcvd4bj6/Z+RQBbJWfBUc30V+eSZ1N7pIQAV1ZTrwrPTUJDkEtOz0jCff8m3Y3NRETR A0ChY6MwJ6kJHlXs7yIAwB18swWmUGRt21h7N8Jg059jCPgHuvL+WXvCRhbC1fH+0a5W 8JdlfhfHgWceXeBPDGHWOtN2VryfVeT+bqh2dlDo4qagspYRECLI7AXR8U2AJo0YbIhy wLLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773756181; x=1774360981; 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=lhLFu6TQUNL8oizG/7Ly/7PtjKcH0XOcSTWBUYEe4m5vTyx1qvGZcLOpYL8wHHtdr2 0PVxR/pxtEgl3vSjnsLoFTYfsZVEqLoAcEudAcQkZlGJrJDi0L7I/SL9cqD8VMtkoKvG 0UpWl0UyapmD3tta36re/f1VPdTBSbZQxsZ1Pi1lm2rXrOW3CQ+5K4bKPplAZPh+IoIE 7SK4TyuNxjrjpdjhVsRGOQ31taPmb9YOCEytBhtdWf1zZyLd7CmkVSYBiDLohjmXV44z laml/UefmRiSnN4NaaH9Fvtf2NjE98mT8ZQJ0I0fLhzJOGN+ucmbSfOCaQf4HrBBQGlE LJAA== X-Forwarded-Encrypted: i=1; AJvYcCUP4eK2l7U8cS8sVbKzR5+g0481bQD27u4U7WP7s2lx0CKbA8HHrtbAS7haIP38d7k9urqCCnCSvQRhXdk=@vger.kernel.org X-Gm-Message-State: AOJu0YwEmipP1OBMUPBVKgXPKKFp2Dgp5fbc/Qt1+gpYlAWVW4lJUc/D An2tDlyxrNAc04dM5sLHCviHmdFmr3WOYAaNb05lNH6eoKUBNcHbuWpy08/sA+xO1KJSSjPVO3B KjUUdkYuD+5n1vBLFVNim7jUez25MNj8rbXreNOlOCqk/p6j5oEVbdkvpJCHyxYzoMDg= X-Gm-Gg: ATEYQzwC30ZauU+AtbRT1szIA4hJistRHhNTMzeuj7JPKEYZdOQIb2ULpab0aaWodVL hcKMt/VvBJ0L5DmroRpnRXj3q6MMF2TMXxxQlBU4nK5+49bjvrAEFcNmmCWbTQm0cg+iKhVGBi9 AIm3e2xLjdVw/S1KFB7BqgveCp33+wz38eTBom73lT7XtmDe7oHEtGRwDuizTipaXZHMKnahHzh g3jdErgQYxpiCAyE9NMEZpbeBr9/WSgXc8lbc6brdJyekmPSsHgObzFnQwqi/KLv+dOnWNmn7fz avhwHcbzf8gIqHkJPFy3NwX8EifITCEd5WtPWZ/7bJb63WNlxNbenvRbHz4Ap4aZxK2yN4pn/Ji gCMkU49pUBVzpxi7CYp4Azg2gC7z0bgQmdLYE5QO/sa3zBINhp65p X-Received: by 2002:a05:6102:3e94:b0:5ff:befc:6769 with SMTP id ada2fe7eead31-6020e501571mr7431235137.19.1773756180521; Tue, 17 Mar 2026 07:03:00 -0700 (PDT) X-Received: by 2002:a05:6102:3e94:b0:5ff:befc:6769 with SMTP id ada2fe7eead31-6020e501571mr7431185137.19.1773756180060; Tue, 17 Mar 2026 07:03:00 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:6aa2:dd35:4d6d:8eec]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b4938854csm9359709f8f.34.2026.03.17.07.02.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Mar 2026 07:02:59 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 17 Mar 2026 15:02:16 +0100 Subject: [PATCH v13 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: <20260317-qcom-qce-cmd-descr-v13-9-0968eb4f8c40@oss.qualcomm.com> References: <20260317-qcom-qce-cmd-descr-v13-0-0968eb4f8c40@oss.qualcomm.com> In-Reply-To: <20260317-qcom-qce-cmd-descr-v13-0-0968eb4f8c40@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/NoTDAcsmYgBpuV75a/3hqKscMttJVdIpHU0Ak2Rn1jbf9LnQu W95CnUaur2JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCable+QAKCRAFnS7L/zaE w2XtEACBewY081381qeqX5U47HXcuZKex2c6satG7MyFWMealTHUY3EW1swTfruzBAe4lrO4rP6 93JvwRd454mu76difO54tSmpYX2kWMT3A1cKuy47ag+D52tLLRdf2FrLwjIVMnEPEMEnGppBJlV nqEB3a0Omz2xwXEeKi9RWFskSG0stfmIMvWg1Khgb7X0mi2WkEh8DU7r06mbS7TVH18Y5EqL5Ur PhYFzqd8VNdNmV41K1PBY/G3xlJiLgsq5VEC2k8qwqz7hLmLGCHgKtfl8DpLlq18G/rxSOCy0Zq efFms1UhJo3WBqpoXBkFuJZxpNrjL4LbSksIOrU2YTzur+p3zQgICAeUDYxkm4UKSsufe8ADPsN y8XW3LA1P6K4YHqGwbq2+E4QRP77TA67KSobE8MSUlnEILPcJEvxG9eT3J0sGOEzdYcuYdN9/MN bHlW1Z9LStS4t/bmPnRYJH8uCAZOjlU+cjCK/+XTW2P43ASegV8CqbK/kc1ja3oybX476cW+dRp lHm+VSbjFfRNaxzWVeFmxna/bJj+TgYOr8dmjYmU2HleCupjq8O/odr2awqucVTxpHqaRUcJdHD 6gP9jYe1UetONfiII8OQyZhJicACUml61IKwd/gOUz8R3L0JNtv2miSDbAjfr0MfSyTTz9Nf5de 7lCvFlvWj6eC93w== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=br1BxUai c=1 sm=1 tr=0 ts=69b95f15 cx=c_pps a=UbhLPJ621ZpgOD2l3yZY1w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=r78XHnC5kAO70zNBxnsA:9 a=QEXdDO2ut3YA:10 a=TOPH6uDL9cOC6tEoww4z:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE3MDEyNCBTYWx0ZWRfX2AeCOUV0AJTJ KPzM3gX9Nn9VlbZOc27LRNjanSdb+flt/x39ICqGJbpVA1N5a2ZaMrhDmOmlo4Aa7jJlV3avvop ilGzvaAyNymHclP40jpUeT36hSiRWuy+UIkarJxn64jMnTCTU7FTC0s7LrpvQWqFfKJPwxv0d42 eWV+6Ia0JT4DYTagUlmiISbeb3qagAiXbCuJYyekr5+ReoNQIOeyR7Yz7lPb2do0Z7pHtUIN/ys cc82xWa1R67mkr96ADw8c/0oZAtuAbPa0TegKp+OuqFFumFuvEPClkPt69EN+NMKAaF/91r8gnR 95+4/Enhh4JRCQ5ulezv8lSpTGoT9+qDNpDXDkdoywDRVOkmu0audcWiw3IMcUVh2OMqoMVmxN9 uWrL6aMo/kCRdLvE585L+WwOKNjvilCq+addaskXDXd56GqeOeQdkRxtDFrS3jafLLZSdL+yoEx oVjyXcANVOcb4410bvA== X-Proofpoint-ORIG-GUID: Z_676T3p5vnwL1ipKFe8cF1p5Qo-B9HK X-Proofpoint-GUID: Z_676T3p5vnwL1ipKFe8cF1p5Qo-B9HK 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-03-17_01,2026-03-17_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 priorityscore=1501 phishscore=0 clxscore=1015 impostorscore=0 suspectscore=0 lowpriorityscore=0 adultscore=0 spamscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603170124 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 Mon Apr 6 23:28:41 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 9293B3E3159 for ; Tue, 17 Mar 2026 14:03:05 +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=1773756187; cv=none; b=qZd0RB5KE4+uGHcQgLZGatq6IBluwH9gqt+MhTSWc3KaKLO39SHsbQywdWlqTwHkKtjauByd9sOJ3KESNB/IHIJ0N35W7L6xennwVSO6kWN55GSq7Ax1BSqCNCd7QeEgoLxvCIzw/x7+60raJnyKMyEnI3qGTPpzRSS6rQXUIj8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773756187; c=relaxed/simple; bh=FnVBtOe0OnnBy34d5WsqwWSUvkeiYQ93/vJc1qwp/2M=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=nVOVihfNCyOIdKhvxRDreRrOoAhUa/zuY1PP8ZyO9MIi2Km++ejCzmi7vofr8ZCcn+6bkRogd5boXV6XKlXPgQ5gp8AjPDz6IEA5nlRaESFavQPaKN7wbAl6TLr/v5HMsMnAd+x1j3anUcwSrmCss9/VmgbkMRuX1vBEE1xO/j0= 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=YDNtySmX; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=gsyE3VxM; 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="YDNtySmX"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="gsyE3VxM" 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 62H81LCs3295184 for ; Tue, 17 Mar 2026 14:03: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= MnBQFcKPOgFHzTGJJB4DToRykxT+JvIdZWyKHEJZL1c=; b=YDNtySmXX4XlOATY yk9X/dvdLV8NzjGiSbTXSe4IHF8LFEeWxkHT9Scs4wA/cKVJhhGaJnwdCKwGO0oI 0gx+bLf+A66FM7++3lCMTeFZ88glVRQjssJDjWcuDIeXMcsabgvP+7++zXQwqlf+ +jcfGWkQF5Ty2/HERlLXw6Ks37Mg1mBB50Zlcl+xnY49dEwilsk7mpysYn1/G6jQ IRzHGZJtM1PFfotkjty9pVtWnW8phXiyTkGBhTnfJS6ijMQPmqGhyP2Nq4hMyjDH pOVojcpOOf/DfRGtdZMEMOxXNI2psvnhOtBFv55UEWPMidiDJm5ThokKcVArKPwv jrzTVw== Received: from mail-ua1-f71.google.com (mail-ua1-f71.google.com [209.85.222.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cxkuy4a1y-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 17 Mar 2026 14:03:03 +0000 (GMT) Received: by mail-ua1-f71.google.com with SMTP id a1e0cc1a2514c-94ad0d8eff8so6075259241.1 for ; Tue, 17 Mar 2026 07:03:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773756183; x=1774360983; 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=gsyE3VxMhDcCyCWCnfJ4AIY5eSU1PUxOCUNsDaMjxkpueeXNiYPsRU94Fq6NNVZIf5 ruZvknN4wr3sXt/GJqyDrYJ/mCMYk6A2ajs9W1AfmEKYdYLMkGobF51ktI1zjX0fEe64 BQt0M0PLHxjAd6/nYRcSkGHwnkmBhxC2KgWoOskpkx/bJM/CbJn+09QIUSSVbSqA8/1/ SKPOaFJMiqVY3lY6Xa479+F7pM1u5qVleVO8xLkmGZGd0FZR5qxBvYcx6Lp+kyCDTq0a As1jNmLOdq7NlGovQlNRnojbNsIqhcn2VX3YxxecVaEnzhpaxUe/qJD3yyKu8ak3lSRX yCow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773756183; x=1774360983; 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=Db1w+82/CxQGYub7P/64RC4imGis4/50c1MpE1B5YIGUDFT1IyDPW5r/rxaTDIUXXB meoX3F7aGCBcCa4QORfeLh00dwLK1GgGwg+M7QtH3X/Yr7zoY2wx/aimVUCmqH4qCLxZ G9OI/b56eLvZQp/ahgwTO43W6Gjv2FIJhRkU3hRYgnZj4V2r9L7WHgVN1tHzazmfCaFH 0u2kpiJoqcmEws8d2Dryv9TrvN4xF6xCVxkfpGlk9AkR1r7rDyiAlDFmIx6RTdSjEbJY WxBbbT3T8WjJRs/oLYLtDP0+yv5BK+Gv9rVWxehq6y00Kx5D1pSww9MaQYilHzMyzrU7 Idxg== X-Forwarded-Encrypted: i=1; AJvYcCWa1SIYwujwMqTtC+QdfkpnBsiHWatXFI3nIbsLKhXJfNNfrSRXces3oeHN62cYCPyvAUg8UysQu/VO8PI=@vger.kernel.org X-Gm-Message-State: AOJu0YxGNQukQkTCemTsmN49KYRYDldoXtDf3tbH9sJO9oOloJpCgHOH E7mQ76hPWYQLcQCkpVM/0xzhDQvua3FV8OjQBZBrMoDsXFgKgMncrClqMzk0Fatbza7ATLLmNbA MCtq95NFHJVAa72fEOTZKU4gyy91Wn3/A/7HYzI+is5uYx+ql9U+IfpiAGf55Y+6xtvM= X-Gm-Gg: ATEYQzzKOjIho9LGCQpS9QBxGCOvOWlbQkRJ5d/7IYpcZF+JCwB29/4kuSZVAir8nmv fd6MfmwLqsUqSPg7lFqwMFaV07Ne9do5OxkDKAcCQ7c6hkdM9ifvnUYVzN51C5ifKxGl7SsB7w3 KwZojP9jm6+x4fGwiRFEW/CNj7vbkuCoNUpLcMbEVF0xsDHRLkERYGfC5L5X3msZZgcxOlMPxBq ABS39l7tBOoktbAMzzSw9Rdou4UyWg3qxIKgu2FcEvYhLi1S44oVEm+Nr/x3pveYQ3m35O5f6LN rTcF4l0vJneybnr/8quz52bMFSuKYEdTwgKgJaz5EUAKfwQh9JiNYPoVSEO/ZbaPTd0Ara3K7oY GyvWuMOifHF6UmeKTRbNPx1F0Wn2a+v+ACrqvMzwmY5Gi0sUc8xUR X-Received: by 2002:a05:6102:374a:b0:5f5:3739:100d with SMTP id ada2fe7eead31-602639f0278mr1650022137.0.1773756182989; Tue, 17 Mar 2026 07:03:02 -0700 (PDT) X-Received: by 2002:a05:6102:374a:b0:5f5:3739:100d with SMTP id ada2fe7eead31-602639f0278mr1649926137.0.1773756182244; Tue, 17 Mar 2026 07:03:02 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:6aa2:dd35:4d6d:8eec]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b4938854csm9359709f8f.34.2026.03.17.07.03.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Mar 2026 07:03:01 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 17 Mar 2026 15:02:17 +0100 Subject: [PATCH v13 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: <20260317-qcom-qce-cmd-descr-v13-10-0968eb4f8c40@oss.qualcomm.com> References: <20260317-qcom-qce-cmd-descr-v13-0-0968eb4f8c40@oss.qualcomm.com> In-Reply-To: <20260317-qcom-qce-cmd-descr-v13-0-0968eb4f8c40@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/NoTDAcsmYgBpuV76HVh57AgP0R+TYtCCz0g0UnQ8j5eW4E4ty 3CYzoK/296JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCable+gAKCRAFnS7L/zaE w2A8D/0Z038+TobMkyZZqP+SDSSDNwa1odcRZSoyNzjcRFTBXMa6SJJ3snAENqMgYG/RnAcvhd4 iNsvGJ1wpEWRbDVYRPP+EnVSbmI7/Ukg3r0LfbUHIW7tcUFbqes5MU3jGXRm9mJRT+Ni3WhtFHi gkqe7N5xak2W3WWZa4YeOskjYaEfSVZYfYmBCE4Vxqnayi18XwhuUnBTiePeuPfJ8PaZe+Wx17R 0jIyyHugkG8BrVJrpQSHJGqhcp4GKO+RMwFOAG+YKXBTocAaDWyjTspdoJa/pfCvs1SoZzE+7tQ +NryNOFOyvy1HFaeWJECfqio6gzz/NBvvy8IwNyhBeiZOl3TOs6g2PxMtCHooohoH12qS1I9Zyf gygZkIo7Fmq2B6V0eBLHrY7AlMY8J/Za0eJgOmThWHL38rp/8ZlajRN0zxpb1ujWDOH/wgSY+Rz tGh5nP4YayhiRQQ8+8PMKJrsIfoxlcJkoc52irs8nl9Ktvh0uxycW13joStLMyC19+w1JLgc4E8 DOEzlU75E4tSXYEKMKc2IpLQYIze7IR3yE08OrBanNr2xW6nhxzoddz8j21AqNYSDdhui3vL7WP KcMvsmgbN5HQvSW9dMjn826yM7EAEYqGaS1y6GgJPbbq5VjiAvCnr1k9C75sjkRPG19IdzPzUf1 9Yr1RMNxNIiY7Jw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=br1BxUai c=1 sm=1 tr=0 ts=69b95f18 cx=c_pps a=KB4UBwrhAZV1kjiGHFQexw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=76fuQ0JqpD8MvifAs1cA:9 a=QEXdDO2ut3YA:10 a=o1xkdb1NAhiiM49bd1HK:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE3MDEyNCBTYWx0ZWRfX5pmGxKhvMseb sA4RU4DP9d7/LOelSG3Xpll0rY+zffwW1HL2s1QaxtLh5J3EttGjSiT3S8trraaiXBH/3L/hh8x 0kPrqUlN2eaLfuXjbGiwTyH6SZ1zqlefgXldZ7aCdbCzmHvgduKHl6ae46vNKtYtyJ8bn+pCVD2 Yrewvv710+g0ciuHuPqsHMsfE+z4IVXZitrSPhrYxGotUHmqaiHWGQrl6v1tTPLoOnznT6ueZBe kHP8uH8Hcw+ABDeLrK0dyvpQKmkn8MjcyWPognO6kdC2zh/T0pTchxg2C/Bf3Kirt5kyqrSDfzR p0dCzFWEfOeNRY9VSJkozi+e13JLJiCXv6tM/k17jpjhq0LBu0r+CQUdtywuMKmSi1H3hCL7Fmy FI25bapQZ57MuBJWtqeM7Vi0WKuZpGNhBgtLdFiE60KD2cKuPZU+qwGMpWxIaSqIeoIJQZhcwG+ MUPzBQa2FUezzpFybjA== X-Proofpoint-ORIG-GUID: x7rzeaZ4HmyDUyAmYbCB3q9jZNMGSY8T X-Proofpoint-GUID: x7rzeaZ4HmyDUyAmYbCB3q9jZNMGSY8T 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-03-17_01,2026-03-17_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 priorityscore=1501 phishscore=0 clxscore=1015 impostorscore=0 suspectscore=0 lowpriorityscore=0 adultscore=0 spamscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603170124 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 Mon Apr 6 23:28:41 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 900C33E1D00 for ; Tue, 17 Mar 2026 14:03: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=1773756190; cv=none; b=LqHVZeimAqOloFVnufEkccDLovO2X1rDG2OK7pWVvas9+aUj3rN1D3te2+chZ+NCfa2EvpYqayFpzy4+fUk3PFSEFUGHEDIj7YIISxBNc84RwkwzuHYnb9Ia1/sdwyWvCaQl/F+hKB8OAaGfmUGeuZe38Rlk/RnJx/3eVTxG2Eo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773756190; c=relaxed/simple; bh=J6JQaK92XNV2IsiAsrkn8st/ERqfkA6XUnyKQOIn/eg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=f2XvCt8Y00xaCPtB2s5/9BSP40fJPaIlhdtloiCURQOW3Uk6czy9lekRkD9Tq+8M/rujLM0Qe7MVy0pHrNVi95TKJKXtrwrJk8VagXaHAnw8vQTiiPhG9jDm4q6XjxoPAYb/D4WvHUoJLSdC6WnxZk+BxgXSHPHGsSomGjJpYeo= 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=Ha3JoDWJ; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Su6Ak+KB; 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="Ha3JoDWJ"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Su6Ak+KB" 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 62H7o2AH1533932 for ; Tue, 17 Mar 2026 14:03: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= iL0DqmcolfEx1Yxj+LLfsMTXg/CLsi8xOZKAt5M4Zk0=; b=Ha3JoDWJSc/fM0co DeLwoDzc0rcvXJl5HYBavH4PYikRb99kWvTqn/dQeMstDTKOGYyXgO9wpglU7kpn Cm2sYTqMQe3sKNe77astv7L08PC7XJHQfN8GQnIepAXfokZFJs7sYvVwGLTzTomS GdUcU/NyTJdJlRw6yjlKaWaMr1o4hGnf5IeBH7tCZNwFGH4Xz7pwNJMVfI11GcCr /6U2Qg4mmB1xx83EHRR6BASrgi/u9FUYlpJkFRuzMO1Fvosq6EmDkrkqVGe063lM xhhQna79rMVqHoqCu23CxWfa62xxAYAvBcl8kISK6AOjxz9IzTebkwklkcHU9Zj3 e/LIFw== Received: from mail-vs1-f69.google.com (mail-vs1-f69.google.com [209.85.217.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cxm5k4bna-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 17 Mar 2026 14:03:07 +0000 (GMT) Received: by mail-vs1-f69.google.com with SMTP id ada2fe7eead31-5ffc6cb5980so7660468137.0 for ; Tue, 17 Mar 2026 07:03:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773756186; x=1774360986; 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=Su6Ak+KBTCURlRamQ+cIPuj+00Pb5PPCx+wyTsjuwFxjz2gtqPQSnTCgcg0+h03br+ c9m14Q9YS/i4i8KEvdIhkM2WjmBclswOMwEDB6fbFWI1bRivV6LW+mu5S9d0JfBi7n0r dAXYSJOS57wY0LmV2dmsxtu33/3FJSW0kIvUpYit4wUcFPiGVmhunR5iom2C5DsTtiFX vs1X4OUwPsHxIOC9k9VbBIV/TNCU2lNJdIMA+4Pxa689x7wkVWueJTp6F0i3X7cMhpix wjtFE5TqFFSlnDH/sVV2hiEig8hNk+wvuJhwXNojFtSXtm1GdToMQ9YNjEupUFXIaOKM by2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773756186; x=1774360986; 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=nK76EbcoJj8QWEJhCdFEx19kwoNV/MUPJLkZbK4WPtGUJ9DzCq6/GTH8tj3MEne51p b9zu2c1pF6YPSxqghkew+43Y3j5BkQIRo46rBZrGZQSK6v4COlD+6OiIc+Kt8YwXMH8+ REF8RHWKjr2jgzeq/BWXMWqsa6znalfHj90rajkhjzOYR5DcmlDARLE3xxrq8Mkl9dmh RVgoN0U1oax6YB4WULQnieiAVUKrS7W5Yt9R+liwxq2kIpCFsTrJU2eAhMRSnGivpPTj bUbRMtE08JndxdeMvjt09/NQVzpzDW7CT0B7Wd420lebbK9AekQQ0arXs5VeMv56+7s+ Pgvg== X-Forwarded-Encrypted: i=1; AJvYcCX0KgkAYsX8tndudlGG1Q9i5ztU8suBmhgN2Be5Nt5bHFiyfbIndnM5VdsxlFkD3VjlyAPZtW2L7UehtF4=@vger.kernel.org X-Gm-Message-State: AOJu0Yz45YM7+29iNAXMVNOnrTR41UX5pYm0rBfOIvcj5upqck1uTQdz PD541exlXWPTRx9gt99pUieRkvozKw91OFTMcg8XmO8N4gyoHtkVMYnXqYKLsU4hF3JMMDcGQf9 caC9kk1gG+j96CG8vJRgk902FSdNqFh71ltqQfdhvwa3CLEsYDTUfCnKAjypWcM+vpNA= X-Gm-Gg: ATEYQzzWgBgMEVJWZ+nbGb+KLmkmj+YBVZ6J1C8gAyPEg+M1btVzkLBAg4uXL83Vgbb N6s/RRrEO4i1coNgbq0h327DJ868kiN71p/x9OlKpAQ03qeCwdKztaPeWH8vkUJy5SwRsZTTPL0 0TuDR5NKWPurCw23UEntOBTM+3+rbwC2LJc+x/lBmd1+UWUQFtyWFuATXsqaNkguRl5C9MPG8G5 zXYSOXWtYvz4N05apBYPDF2x0ceRkdyrxRqMSPj9NsYmetPbMzCiL0eg2fHDpLCI1NItsrD2xSb UhobpD0bDCC7cQjp0rx2jXhc3mBm+6/dj/LgkZULE1OEvKP8/uVAwUK/RxMrKIm+uWRedursbda am8r9yzu3bX5dNvUuDkLybaJ37XdjYZ/99VY+LZQ9xE3akpE7Cyp9 X-Received: by 2002:a05:6102:b14:b0:5ff:ea07:c7a6 with SMTP id ada2fe7eead31-6020e52d525mr6738356137.26.1773756186050; Tue, 17 Mar 2026 07:03:06 -0700 (PDT) X-Received: by 2002:a05:6102:b14:b0:5ff:ea07:c7a6 with SMTP id ada2fe7eead31-6020e52d525mr6738271137.26.1773756185497; Tue, 17 Mar 2026 07:03:05 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:6aa2:dd35:4d6d:8eec]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b4938854csm9359709f8f.34.2026.03.17.07.03.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Mar 2026 07:03:03 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 17 Mar 2026 15:02:18 +0100 Subject: [PATCH v13 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: <20260317-qcom-qce-cmd-descr-v13-11-0968eb4f8c40@oss.qualcomm.com> References: <20260317-qcom-qce-cmd-descr-v13-0-0968eb4f8c40@oss.qualcomm.com> In-Reply-To: <20260317-qcom-qce-cmd-descr-v13-0-0968eb4f8c40@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/NoTDAcsmYgBpuV76rG6Dr4+kXvS8A/s9NxoRIQY3a5FR1Ok9x KXhw/kYRh6JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCable+gAKCRAFnS7L/zaE w8RRD/9WWP1Dk4m6HF7GkT6xx+03DfcTSLkiIKEoJgeYfZH6I5hLDIMU84+WzV3mYgCQvbJNRwV IpnXiP7WIT0d5gwRUDuK5uXA109VIAlOJoctVyvH1YKUUDGmRHoNN0yHjQN1/QDzKggOu/BG4aV e2Whlttg/ojC6YcTpRP2uVkm4xVh0zJIsnIT7S1vqzQGFZ8bvIdyBDpvHNxWOX1h270YHH3WJao tq55R3GyNwaTKYYWBnDR0hNqi38p1rgV3QI2X42t+xWB8SJcrhaTHeKzuVshp7ilTozb28Vk1o4 24jAXsL2byW6gr/6Cf34a2n8Fveo5/LbcihgqoJ8PLLFzy3LJSUYAOHSJUMMsiyE3a/NMwyT7dq qPp3E1CpdqFU43xuZSbosmyPtoLfpBkku4HAzFufizNvjXCbCkUsGcLHaTGo6VmRxXBsb5aHO1/ xio078hejluWGLHlpg+M5AebcxgrBBr+pcRMErt/9BdvffAW2AKHAqGlq9WjIiY/J+OrQMMyaXL IRKeHnjzGuUNp+W1HTDLpSOOzlvQLijAATWHWVfBY2P1oWoNYy8TOIVnJlq0k7L2uBt71yMzk/B BVVWJygJqm+jmuYCvYZQVE0C1RbbME7P5BmaRdlZznundRnBWj/PPBGhkWFvBDnHNg/yRcnd88k 4mrWuMe5kRNUiNg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=fJ00HJae c=1 sm=1 tr=0 ts=69b95f1b cx=c_pps a=5HAIKLe1ejAbszaTRHs9Ug==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=9HZbPfoxh1Yo69-LKtAA:9 a=QEXdDO2ut3YA:10 a=gYDTvv6II1OnSo0itH1n:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE3MDEyNCBTYWx0ZWRfX2ZsFc4cxlXmm bBrigfT4A3uiL51dl6vMFSqMXRjl0R+pTrj67MibNdxbU0l4LgEcPsGYvisiFaBhwompTSmvpbq nMKkFyt2ttdFpmYF1v2GOMppKONtXxpL8va7456eSf8r+QcTkNXd1+6/BXfsuuNxVqYg9FJPSJx x/8Cd7ClaaT9Gk2WXDdU74OuVytLPc2/n3iYeJLxFiUGTMc4FJhmAyg49HU6yh/rv9Vxg7TfNut J/2iwKA8Dv2uuqqGOYibcupWYLGf28qShATOTPreIycn5uj7yJcQHQSkftyKbxF0QRAjhd2uEzU FFCrU9cfGXneRzd8Gwvg2eJ/NPolDhx22HUh/C+AQUW7yKmsO2F4aOaqFlY1P/Lj2GT0EmAQuFD V69aUh4Q4l38SpTQMUIhgIgD0IUQVwlg3Ht8IzcPhHA/9UcshgRRzY4x8Prm4+rFh8n4ChsUiL2 UWB1wmACJ10NOy04zPw== X-Proofpoint-GUID: ZlltcvcdGeFkXkKfppcY10cLMqZV445- X-Proofpoint-ORIG-GUID: ZlltcvcdGeFkXkKfppcY10cLMqZV445- 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-03-17_01,2026-03-17_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 clxscore=1015 malwarescore=0 suspectscore=0 phishscore=0 lowpriorityscore=0 priorityscore=1501 impostorscore=0 adultscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603170124 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 Mon Apr 6 23:28:41 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 8AE313E3C46 for ; Tue, 17 Mar 2026 14:03: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=1773756192; cv=none; b=r25BdE3+gB+rRQONQU9HFE6sBFoUue4qtr8/iNpiGjvkjVgf07zm/VrWWtw+hIXSyGc0Zyos1iJq0AIAHqt1J0NUT33721nLZBTOuSSrF2u8C9bJoVWAMUW2b2zG3HdkZG/yZsCs94JD891D5cVunwFLpfsd8q0430DofDZv2xo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773756192; c=relaxed/simple; bh=zaDjliGI9P8SDSmb8oK5ZUowNY4iBaNue5t3+i0OgLI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=aEm9qeUGJhJNgje+gtWoUA88GtlA9iO7NIUP9sRsHPA3hm5CSvZt8pmzHL50+7LmKXJa6SRrwgehMcJ1y7rRs37R8CVY9VYXtbdFV6RvBG7mqO3IocNhwsGs3Zawdo5d/rakonq821LlnHEVE+DKIuL1Q2CYwuq5DxkY94lzDj4= 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=PeSQpoHg; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=jhw0lUx4; 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="PeSQpoHg"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="jhw0lUx4" 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 62HD4x51668941 for ; Tue, 17 Mar 2026 14:03: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= nLZDYW56A6RoHAFTzDl5i+KhZW9amsZPLqs+n6djD5w=; b=PeSQpoHgCjkDtOpF 8xeOshEXMg4ZlauTggV9b9YBkoEKe37XcZ7EeVFd/6tJwGqKWol2ScLNk2xdEIIH pyNAokq1UBmH9GFMeu6/KCBbWHi6rNnL7LCpkQ00mfwYZ1CExBcuZQPmMjBfMRvs icqFAgUoODE6b54sozyN/12caC4wKLjRwY/4GTbHSfd3fV4X3AzYPnyCdsW9UhDp Ex6li41eEdPpTmbuMZ4WoqjKp5PpS65MMZn8n8TKwf10CwonYHW18kt0ruC+MXNi ulqV0wv09KEQjXCUTsSooU/lDfRAwrdfg11TO7ppTTVxRmtm3qT0SjFbG9IhOlNG z+hHMw== Received: from mail-ua1-f71.google.com (mail-ua1-f71.google.com [209.85.222.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cy7he06x7-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 17 Mar 2026 14:03:09 +0000 (GMT) Received: by mail-ua1-f71.google.com with SMTP id a1e0cc1a2514c-94eb847f11cso8818688241.2 for ; Tue, 17 Mar 2026 07:03:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773756188; x=1774360988; 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=nLZDYW56A6RoHAFTzDl5i+KhZW9amsZPLqs+n6djD5w=; b=jhw0lUx4VpEo1hFrjEhQv3/FszhzhGYA6ue9bpPxzIPb5EpF35MNy4jo5u5uOFhdOn xhWPGaNtHCbG8ASurhef63A4bkrEqwgjEkXnRB+oHcciogRU7njfKEiJwAV0PGB+I1M0 pKyR0XVgOb5QolbQqgyTgu/M9FyCllGlA7ofaqGjygd+5gDhdctn2Vt0HLWvipZLmbXd vG+mGJPRdbomM9UIMazMI0ZnnY7tuYvJf2b7HB1+9x34ipTkDILraLYZVNtIJBbquTsk XbV6QitrrfbLGKZVHKBaPJxBm51YmhMldEzfKJh/jw6vNYAKq4QeTG9aaP0CCM6J51xW 7tqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773756188; x=1774360988; 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=nLZDYW56A6RoHAFTzDl5i+KhZW9amsZPLqs+n6djD5w=; b=GPjJVvTIY3zddF5WhlWZHnMzrn4X7fgi1qAybIThAB+mUwAr6Kj48AL7CqZZ+1pNBf IyDheX2Ra4Fe/b6dryuxGPJAviBvIljPeNuQh03U3JVI+cyTEgJ/Zc+H815EPz+zCbPA jjdT91l9DWXG4hyrRgoEziMK4kOqdybr5EaP78ocpR8EWt3FZaYLmSngN3FJKC0fIihi JJ5RuJDQtcG/IY6tjiVUNiT44+9P1rMU1xz0SpYiEAFO+zgau7pODQnEXweYgrXSJvTj uK71cbjqViIqyyDI77DBHgSxXbg7I2WYdYkEriUtAjBcrQR3yscQ34MfENdT6aIYiolP IJug== X-Forwarded-Encrypted: i=1; AJvYcCXiqR+l7BkiwKRftvODZEyBpN6gnEj23RI7XP01nxuREm+fALOSG2A/ma1QSvhu/yCcd3OFz6OQwcSr5GU=@vger.kernel.org X-Gm-Message-State: AOJu0Yx5R50RRUMFVk7iM7pyZXrQsvtxNRStQL9yt+uWFICrrY27yATu c94OETXX8FXYm1EJvR7klBWl/ELiB/z+3OjvisJt6/WsdYUtuTmelDayQ7B4zdeGDrKcrrrQgf7 ZM/liNLrtq0fgfP4xGuS+atCDO5ypCjHS4S29LT0NtiGBP0fuPJIwUDqVfc3dvpo9hxw= X-Gm-Gg: ATEYQzyTERckvol8ypoX+5vvo+WZtydyl60+Qo4rB5c0MddBt/wdqDcC/qaLnp27wP9 U+rZGXJJOGV2TdniABNkEfcqFf2yb+yhDZMkY2cdJ91DD4t7cbyZ4lrFmlq6w8ED6W90O0LKPEe Tw0Hnb0Y9mtrWjqhk0Sxdfpk/nokGVxNPKB6pOGZoijijuRrXtz0+A1q/irbrNhJ+U9guQZrm0Z dZCSgufFQ7QQSgR8KH5hOI9NCIHGO67WeqvszBlYlVwzypnZ8nkigYVvXilx/ZEI/spVSNnkXH+ /NgFVMi2N6myqXDDugaZKnS8Kx5plE1+vH/afalRqyP7L0ixx0ZO6PKghKfEVPSjF8m+ft1tlBK g06WdVHvMKc9vzp9RivXpAluKqcu2SkjW0+UhA9ouQ5dNsrltFYJy X-Received: by 2002:a05:6102:3e94:b0:5ff:befc:6769 with SMTP id ada2fe7eead31-6020e501571mr7432154137.19.1773756188445; Tue, 17 Mar 2026 07:03:08 -0700 (PDT) X-Received: by 2002:a05:6102:3e94:b0:5ff:befc:6769 with SMTP id ada2fe7eead31-6020e501571mr7432059137.19.1773756187757; Tue, 17 Mar 2026 07:03:07 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:6aa2:dd35:4d6d:8eec]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b4938854csm9359709f8f.34.2026.03.17.07.03.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Mar 2026 07:03:06 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 17 Mar 2026 15:02:19 +0100 Subject: [PATCH v13 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: <20260317-qcom-qce-cmd-descr-v13-12-0968eb4f8c40@oss.qualcomm.com> References: <20260317-qcom-qce-cmd-descr-v13-0-0968eb4f8c40@oss.qualcomm.com> In-Reply-To: <20260317-qcom-qce-cmd-descr-v13-0-0968eb4f8c40@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=2392; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=zaDjliGI9P8SDSmb8oK5ZUowNY4iBaNue5t3+i0OgLI=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpuV77vDCIAYQfI0C3VRl7ukLCKUCkcp4kTAmRc iM8NiplJyGJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCable+wAKCRAFnS7L/zaE wxoDD/0WSHRC6PfNqAmPMsnjMbE0sIR5179rvqrjPAs4tHYZjlfgSKp93rEdS4eNLqf3JrBuB3C tDP+ethl4+iQ1U/zNVHVLX0UoL6dd+kelGmj16HABRYfZE8OAww7gsCqgt+i/VuPJC1FvAtmXmC GdJBFhKm6ln6wNIiyYHEaGXbLCbrJAtSBQQ4s1ehX4guY2rrDaqrIzmdR7FYxzLRZKcHc4GrJ6F epJsJcM9LsAAp7UI5gUjq/OwYPZKCtmKp0A7sS6AUZAj/0vsOY3ery5R1rG69LOCBQMvyYjWefu jkn5BT6zjy6cyV3O98r2EqReK63cX0ybe5VlsUqhLynoFZUfeJD8aRIdnamKhjBxW/BpzcmP+1Z dJadF7bph5q5ZQWll4GvPeeR4bWR6fpE7CIejftDYidq3NDLDSofdlkKkiw3wMLxvYzJMO4hMT6 DqrmG+lHvPf+R85RPdBBclZ2/05xpRXVT8xCDmnW3VrkxHUOROXBacLS3kXbP2gPz66VydFUzKF tsbaqFJ+nYrKJvbRRN7KYnx2xWUXgHdF+1ltnt/KTrPykMf6z89/PtWtJLQ0mDuwsBPZDpU7io2 GmDJEP7kGuvldOvDCahNhdcmw8iTOnre/lQ8zI3aUM7sUmA/3hTfTGtX1A1DyqgSZEI3YJR2SlM rGyUPdHOIWTH8Sg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: Xv59Bsj_6sINcWUiD1_hpGpV-0p-7Xl2 X-Proofpoint-ORIG-GUID: Xv59Bsj_6sINcWUiD1_hpGpV-0p-7Xl2 X-Authority-Analysis: v=2.4 cv=QsVTHFyd c=1 sm=1 tr=0 ts=69b95f1d cx=c_pps a=KB4UBwrhAZV1kjiGHFQexw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=6g4OycmRf1yXlxMorl0A:9 a=QEXdDO2ut3YA:10 a=o1xkdb1NAhiiM49bd1HK:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE3MDEyNCBTYWx0ZWRfX1Sw96A1GY3FO tJPhf6YiGIbMTSbZMq+ULgvOcU30R0vHwDQkr886Br59rU4EMLhTplawtq/GZvRzQIgLRQLPTCw pPyqMCBL69QP/DxRq8GONCRc0OXc2BQ97zhiLkC+dCRaI6UN0IV5on7WlZ1gWHv3Aro2XXwRf4X 6wReGFxaOCPXgKiHd4P2nDunt3+F0SofX/vexRcBMWgbiGw4IIzbdefmIDM0WvZgNsBz3DC73oL 0dB7Tu/LAYK7UVzjdsiaVEpyu19SZb5BMpKXxSyX7wGB9HUFUHI22RvSPVpHcxCajT5aR9iPiU+ avrEACmAud7z4OHOZYGOgZybx/SNeQ9i/bqDOzf7O1hy8YyZkLA1YPWL5FYoWOC08OUKxrEHnXv 5M724Y5O8JgefsJiH6YiPLazUUYe/+Rhbxr5jVy3GzaqkmJNMWbKKvg8KQ1hJbOK8+E9qZKCzYA uf1G6NEVRM91ZoCPrHg== 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-03-17_01,2026-03-17_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 bulkscore=0 priorityscore=1501 spamscore=0 adultscore=0 clxscore=1015 lowpriorityscore=0 malwarescore=0 impostorscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603170124 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 as well as mark the RX channel as such using the slave config struct. Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/dma.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c index 5c42fc7ddf01e11a6562d272ba7c90c906e0e312..635208947668667765e6accf9ef= 02100746c0f9a 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,7 @@ 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 }; 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 +66,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 @@ -107,7 +115,9 @@ void qce_write_dma(struct qce_device *qce, unsigned int= offset, u32 val) int devm_qce_dma_request(struct qce_device *qce) { struct qce_dma_data *dma =3D &qce->dma; + struct dma_slave_config cfg =3D { }; struct device *dev =3D qce->dev; + int ret; =20 dma->txchan =3D devm_dma_request_chan(dev, "tx"); if (IS_ERR(dma->txchan)) @@ -119,6 +129,11 @@ int devm_qce_dma_request(struct qce_device *qce) return dev_err_probe(dev, PTR_ERR(dma->rxchan), "Failed to get RX DMA channel\n"); =20 + cfg.direction =3D DMA_MEM_TO_DEV; + ret =3D dmaengine_slave_config(dma->rxchan, &cfg); + if (ret) + return ret; + dma->result_buf =3D devm_kmalloc(dev, QCE_RESULT_BUF_SZ + QCE_IGNORE_BUF_= SZ, GFP_KERNEL); if (!dma->result_buf) return -ENOMEM; --=20 2.47.3