From nobody Mon Feb 9 00:26:26 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 DA54234FF60 for ; Thu, 22 Jan 2026 15:10:24 +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=1769094626; cv=none; b=KHTltlUQzH8FcJ2LilgT3I0grdPCsB6XL+d67FZfkw04BFbu8V+0yTyd1U1SjI16KoLjeXqb1qcO4KV/EFRGfGxCQaFxGwjaqKjpAQC80wnDvXZy1Zm0FFEkRjkHMBn4IlU1nLMBGUvDfy4dbK9DO3Di+lo/vmGCaOdrTOvGM0s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769094626; c=relaxed/simple; bh=wRMlMUOjNaNt0fRe8bIGnbbQF2FAo1GXnXeodrX1dvI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Z3jhCHoCfwwREJkrbz7T6qQTvlcI4nhHluFIzeTGKEKKCBD1cnST2yblQ/6FWz/e8KABDPhpghQUelMcjERj79o7rS5E16RNuUHF67ux3SaNAnzAMC5H3i8OG1zUFTx5TZ94vyGqpSXj0A3eUTDiF7E706h0oGK2CwzEDmYg/LE= 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=QzDPhdyg; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=iDfSyZUq; 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="QzDPhdyg"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="iDfSyZUq" 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 60M7jcp9788839 for ; Thu, 22 Jan 2026 15:10:23 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=xyqIphb3PH9 WrLK8b/LVLC85X+KOkuonBJmPjmbkCOo=; b=QzDPhdygolWmuxVj6WLzmBK0XTD zE6RFeebgWQHlZ3BTAoIh3HIikDh9yFOrlxjoUgaxoW59BDSeW9oeqKxAhAENmlY WmWvjsuPd7H2o8xhz33VKZcJ1eUsBENfzmnWum4h9ewb49KojXCRIr99vR0L5/MZ EvI0S3rGu/4X+SOVD3V9fXD/PFsYIyFg7Rk9UYqZtkU5pQigj4iUxkRjFOsaA2E0 zAGSmkfK+CVbeT4q1CUaZiL/8XDiv72tynnaB4uPJ76dgHPM2tknWh3yW/JkIPHj ij0tiykYYxaGOaIRxQlDXgt9rOYx7dcKmo9M6hno0ISaU4bozPu9cf/lmog== Received: from mail-pf1-f197.google.com (mail-pf1-f197.google.com [209.85.210.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bu6p1jvbj-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 22 Jan 2026 15:10:23 +0000 (GMT) Received: by mail-pf1-f197.google.com with SMTP id d2e1a72fcca58-81f8c209cfbso741469b3a.2 for ; Thu, 22 Jan 2026 07:10:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1769094623; x=1769699423; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=xyqIphb3PH9WrLK8b/LVLC85X+KOkuonBJmPjmbkCOo=; b=iDfSyZUqb3Jc62ORRurQZDhusV2rNIIPSkS/yD6njb7oWWX+f+wuLlaAUc6CYuUn0C jCID6TYGM+bFX77rChJv0Q8mqIKmF1UZCipSI2XzSz4L4IJEruO7Kx6hvq2vkeTFJ1xJ r+c9tolqGJ0MGUot4am42NS2S4ZjCaeoTlmzMgVf18rl9RwKDPDZ1mbWKbzmS6msTa3d ciM5R0E9f1Zxy3jbD14DUtpWyPcG60X7+UYgO8dRFCEduZEbJifmLpnr5sLGe2OfSKxi EgO8ytzG+D0rJNmmYAvd8lL5TjzzOJq2hGlVRzXY1s3N9eK/c0Fz0gETac/9nfxujx8U ADqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769094623; x=1769699423; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=xyqIphb3PH9WrLK8b/LVLC85X+KOkuonBJmPjmbkCOo=; b=MjBLxC2eGBsg16fSxBu0lor8nzA3hG/Dd2XQoR1CpI4euDp9gkXWhODeOOeOpEYRif 8MjjEg4QyIaMwBRzPWOGAJzHbAxY25ymq/P0S262SJcp1NmszS9htzmvxYnofIfpXygL 6N7SC854pWX4zdNQ5Mwo4WVTq5xYsYhRlxYm0Smj74shxY7UkRLhys56ovgUiXBgpHae YYKDvChZUoCkSOISNMqDwRaqMBSprjTQAQxHT1arzNbDTJ4rQFj6wX9cKQ5+RY0KpOMw a39Jq2GwjVuUYVMGpFzpr83csSnD9/yqsobDv0ItNnb6NymH5rqRU9rNVuKJEtP+Cz5b dlAw== X-Forwarded-Encrypted: i=1; AJvYcCUM8JvzvwaBKG0IllmkBUDskvCPlEiqTEnAMbYNUcZN0E5K+A2YT/kVdJh3uYEeq00kPdKNg/e6Zbo8YX8=@vger.kernel.org X-Gm-Message-State: AOJu0YwQjiuTEUgQOG/zfI11JBTn1Mc9ei+dayDn0YmDNpNqP1atM2AC q18Kwjq1kJpMhiacoz9eQdE/jffpSw/bwdzUEnwMtNR+3PAtVmW82feIWnGgLGTnpsTsLmkbhQB w/F0LBNWQpMOT0xdYgdZlhD28izqSt3jUAKoWTMzK1pE6HOeFEJS9UxWGwjB63Hor+8k= X-Gm-Gg: AZuq6aIpyxvypii4ibMXGq5qxOPxCVe2Bcfrp65vtjoGma2T2DNZ4u1l3VeQJIdmos3 hZjE27CD0GabB1dBcE84roSKINyKlHWWATZbgQMjJtS6iXmqhWjJnRmYX4KgVbixdU3eoPZumWU zlmnWtXucjl7smSH1uahxcvegQgGHiiIvEiwwVa8UE8/llMOwddQvYK5mEKh/V58alNBaA+r50s ptk5vXtT0VDJLM6zpHx7FK+mfC7N2lwfk5c7/n21G1uNcF/V0pSxW85Xv9dJfiRqmYL6N7qpd83 KSNAG3waKfqYvhsGZ1Va2NlPesAwc/Dvpgiy2YNutPSxBI9SQFov0kGKCUS4KFs2y5pLCL8VPms 8d9u0WakVrkGRN3sReC/Cc4N+p95WlJCpImyqI3TJaug= X-Received: by 2002:a05:6a00:10c4:b0:81f:42b7:e589 with SMTP id d2e1a72fcca58-81fa0354717mr18941125b3a.45.1769094622622; Thu, 22 Jan 2026 07:10:22 -0800 (PST) X-Received: by 2002:a05:6a00:10c4:b0:81f:42b7:e589 with SMTP id d2e1a72fcca58-81fa0354717mr18941090b3a.45.1769094622030; Thu, 22 Jan 2026 07:10:22 -0800 (PST) Received: from hu-ptalari-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-8217c258fa7sm4328182b3a.17.2026.01.22.07.10.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 Jan 2026 07:10:21 -0800 (PST) From: Praveen Talari To: Mark Brown , linux-arm-msm@vger.kernel.org, linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, bjorn.andersson@oss.qualcomm.com, dmitry.baryshkov@oss.qualcomm.com, konrad.dybcio@oss.qualcomm.com Cc: prasad.sodagudi@oss.qualcomm.com, mukesh.savaliya@oss.qualcomm.com, quic_vtanuku@quicinc.com, aniket.randive@oss.qualcomm.com, chandana.chiluveru@oss.qualcomm.com, jyothi.seerapu@oss.qualcomm.com, Praveen Talari Subject: [PATCH v1 1/3] spi: geni-qcom: Improve target mode allocation by using proper allocation functions Date: Thu, 22 Jan 2026 20:40:06 +0530 Message-Id: <20260122151008.2149252-2-praveen.talari@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260122151008.2149252-1-praveen.talari@oss.qualcomm.com> References: <20260122151008.2149252-1-praveen.talari@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-ORIG-GUID: FfEgCuF8qmAFmT6FwNof8JSWYvSahdnd X-Authority-Analysis: v=2.4 cv=N7ck1m9B c=1 sm=1 tr=0 ts=69723ddf cx=c_pps a=rEQLjTOiSrHUhVqRoksmgQ==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=Bup7t0bCmiTjNce0pOAA:9 a=2VI0MkxyNR6bbpdq8BZq:22 X-Proofpoint-GUID: FfEgCuF8qmAFmT6FwNof8JSWYvSahdnd X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTIyMDExNiBTYWx0ZWRfX8e4L1FLS/hlC cSsWMVSak30Yc3/o3GXM2xUmCcd72kxSFVBhUFxcXF+iVPc0vKcIiCmaXTvcgRfblzk4WtM7jCG JrfnT5fQmt+cEjtMznl4bPoVqunQODTrNfO3SpCOMCSQGX7dFRuaYdJAQY9eJ1yHKIDqAbDmGwJ F/xBnF1iCM/OSZHM3MLciBVlali8BWFN/7RQMs2kcuLmpa1KdutCVsWnaQoX/f/OxZcSC1ghTsR fitkZM81yT3Ipe+dnDQGut0izMHV2MO5OTPgeNHD9wphUZYqQJQNjzioZdEt4M94R0dZaUdRwGU 26Nd1gtAN97I42b040pW/qA6G00BFngcX73f76B9XY5pzMYVVJTYHGEaHuzIptY5ZQBGSe3DHLT /hnYrbKsYjU2r2hTgOLxZ0XAiss+5g+IFT3CwhZN1ece65eyUp+alx3HZqUAeM4uV0TujyMlRTO O7yNpjAsmOoVtCBJ/iQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.20,FMLib:17.12.100.49 definitions=2026-01-22_02,2026-01-22_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 lowpriorityscore=0 phishscore=0 clxscore=1015 priorityscore=1501 malwarescore=0 adultscore=0 impostorscore=0 suspectscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2601220116 Content-Type: text/plain; charset="utf-8" The current implementation always allocates a host controller and sets the target flag later when the "spi-slave" device tree property is present. This approach is suboptimal as it doesn't utilize the dedicated allocation functions designed for target mode. Use devm_spi_alloc_target() when "spi-slave" device tree property is present, otherwise use devm_spi_alloc_host(). This replaces the previous approach of always allocating a host controller and setting target flag later. Signed-off-by: Praveen Talari --- drivers/spi/spi-geni-qcom.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/drivers/spi/spi-geni-qcom.c b/drivers/spi/spi-geni-qcom.c index 0e5fd9df1a8f..f5d05025b196 100644 --- a/drivers/spi/spi-geni-qcom.c +++ b/drivers/spi/spi-geni-qcom.c @@ -1017,6 +1017,14 @@ static int spi_geni_probe(struct platform_device *pd= ev) struct clk *clk; struct device *dev =3D &pdev->dev; =20 + if (device_property_read_bool(dev, "spi-slave")) + spi =3D devm_spi_alloc_target(dev, sizeof(*mas)); + else + spi =3D devm_spi_alloc_host(dev, sizeof(*mas)); + + if (!spi) + return -ENOMEM; + irq =3D platform_get_irq(pdev, 0); if (irq < 0) return irq; @@ -1033,10 +1041,6 @@ static int spi_geni_probe(struct platform_device *pd= ev) if (IS_ERR(clk)) return PTR_ERR(clk); =20 - spi =3D devm_spi_alloc_host(dev, sizeof(*mas)); - if (!spi) - return -ENOMEM; - platform_set_drvdata(pdev, spi); mas =3D spi_controller_get_devdata(spi); mas->irq =3D irq; @@ -1087,9 +1091,6 @@ static int spi_geni_probe(struct platform_device *pde= v) if (ret) return ret; =20 - if (device_property_read_bool(&pdev->dev, "spi-slave")) - spi->target =3D true; - /* Set the bus quota to a reasonable value for register access */ mas->se.icc_paths[GENI_TO_CORE].avg_bw =3D Bps_to_icc(CORE_2X_50_MHZ); mas->se.icc_paths[CPU_TO_GENI].avg_bw =3D GENI_DEFAULT_BW; --=20 2.34.1 From nobody Mon Feb 9 00:26:26 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 EE5E0355038 for ; Thu, 22 Jan 2026 15:10:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769094633; cv=none; b=TVEWPzj7PDSY78F7Et8T7uYqmEFwdzA/TcYIilp+6uHITVLv5pk4phl9a75f4FLax3AQiNeDCx1ilgE8D40zpQ7JosjJsI0sg5T7C1j4NJGucULveqFdOJjhJP08lUzbLn3NCWoPnkmRa2+p+GDXU9cROYqa0VzPs7rl7F6FVSc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769094633; c=relaxed/simple; bh=C4Hy5jJgJFgiJtT3bfjDFpiGxmP13VJ69+n4ZwRm4iY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=s9v9uQT5oo/ux4fiPGe0GNJ1+DZGzoXSzLuigkSXOwCzYcQb9m62Z2Y6J3p8xN8iV4RkemUAjBt3FfHPcVZtNwyAzRIF0a/M6gwaAZ5ruHTkNrEUiEF7+/L1rAHnycurCV90Q+dkw1exv5uXX+mJtH7RTL28F+igRmBREbX0z1U= 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=DWlLbwaU; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=R9COu89r; 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="DWlLbwaU"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="R9COu89r" 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 60M7XSmr107156 for ; Thu, 22 Jan 2026 15:10:29 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=ALflICnLm9d AF6K/Wk1dDN+VobBIOAmN5UmZDdeZ3Sg=; b=DWlLbwaU89OwpYB5NALN5kI0wFo 6SdDodiRPewHE7XycaYJDXRV6Eby2hpYMKW412A9UzSblA/fHA++H5OZ858AUigN AuSPYns2szMwS7diSmRV69XRGQcpgZXqSq/o90ueO5tsG3I13lmqtGAuD4KLBFin SxLTlNjZ/AxR0Lq7F+zPiIeU8/8O3wBZaOYLoq7lBwpIcczzllnQxFBzHVfI7mwi H1IK8epNZ+9rzx5nOIJ9YAO3SWNutC4a+k8gUz3RXNYQUmrABrxvhJlmiPSmPYWS egB60wp6hbx7d55wUCknbfmdA7fFRNaZ48uH2Hw9RAZyEvAVtFDvLBReppQ== Received: from mail-pf1-f200.google.com (mail-pf1-f200.google.com [209.85.210.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bu6pgtvuq-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 22 Jan 2026 15:10:29 +0000 (GMT) Received: by mail-pf1-f200.google.com with SMTP id d2e1a72fcca58-81f4c1412b8so182780b3a.2 for ; Thu, 22 Jan 2026 07:10:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1769094628; x=1769699428; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ALflICnLm9dAF6K/Wk1dDN+VobBIOAmN5UmZDdeZ3Sg=; b=R9COu89r+IaD3z2dFRTBn1hAaWV2F2u0F+DVwSwQouLoHiRsHCtRj25wC89YIjRP3N pEdduqzdBNbsj78BAk8xub71Y37Et8CmrHrurUl0XrRn2DomQ3tFusJUv4i1cHtZnJuE da/fQ41sEPAexCFN1N/HljtD7De5L+9ubfVkS77yph9RnkcO9xgWz5wzUuN8dYKc5JRq GCSpgk7KtCfG1TFGHQruyugU4X87MSQYjrAhOp3n8qmytgedFt5xR6iVE0TEeX5itg5y E9W5N914XB1CJHiWivPDvyv2t5zjSdiAQRjdZMyXN8CPh6FsqGczkbfguQChsvC1Vu8U rAoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769094628; x=1769699428; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=ALflICnLm9dAF6K/Wk1dDN+VobBIOAmN5UmZDdeZ3Sg=; b=n+Iwz8McBgFJaTPm0jvdi2q0RH5mOzvGP6qwPbJQdnr4eEfqFd6w8qfjaR+r6nOtBd xGmLzCxfrNBLVaFaR28/LfYoHyjaU0l7XzAdC0CVjbURId00o3HOB5Q/58M4nnxHv/Ts oFpgjrBT2mhb5cEI7z4FHDIzbMZM/5uDvt/3EWJH6swrPgWj+WIJLYbXWTEn6FxDgIhF YGF5DYOXX8VshJ1+DuiSicCH6+UvuX1am78vGMmdBZtbNEf2Uts47/CEfhpuSSt4LjEh 8j8WyM8fj4CzKegXq6oBlS+9lNTJK9GrW54rzfDOn7wKlcnM6F16SvDdq/MKzYHbPApe 4lFw== X-Forwarded-Encrypted: i=1; AJvYcCVEKLBqzC3qhIXGOt/ZkiX4m/XReeoV3WFF4wOfZTyuClApZgdkuB8wudiAv8gQW9gx1O2+ZUKst8aeXT0=@vger.kernel.org X-Gm-Message-State: AOJu0YymW4AbWgrYA6RV5u+h/mJ95v1FBvvsDM4Z4WCRiG+4jTo5H0PN P/CoT3kkYjHqNjWza4ZxpB3n+1SKuezGemv54v8iy+CBB2xY2MNwiUR0Z3vMfx9hQ+iDbVfCsZn cwSBLCl6ifnnrYq9JMfUa2SwLIun/IKrEjj02hfx9WrNrAK86HcvZx9s+epyl+okbldc= X-Gm-Gg: AZuq6aKrCIaDuMnE1UsoXoTxooojPirKL5d83p24Rhyw4mfQhVJiHS6WOmB8KBe/lGJ lwUgGj8+7DIsE8OTmQXcqJhZZFBA/QlD3aUqDC7cDd7gISV8keuGjAWQ/oDRqtO4maMy90hXyxN X0/vMd7C9qOq6aIWc7bYyfGhr9GXAhig41kEByZyws2JGTw6aAE8FH0GIw8CEzlnbib8EakNW+v 1aiezqdYwpyknGy8WtMDcQpAp6NMATt4XdWZXg1H93QGev4gxnHFAUtNyZKy0EmlUIn4TJpEgyY PR0vIjAmkfab6QAen2Jveh+TcqaCgXRjPamJq2o7B7LlnKMydH4It2r1hq0qThiC6nImVmJeg4N HZow06o8dpw+eGfbnphjINs76NrbXUtyCUCrqDrhmQdI= X-Received: by 2002:a05:6a00:4b0f:b0:81e:a17c:b439 with SMTP id d2e1a72fcca58-81fe87e9f3dmr8191829b3a.27.1769094627762; Thu, 22 Jan 2026 07:10:27 -0800 (PST) X-Received: by 2002:a05:6a00:4b0f:b0:81e:a17c:b439 with SMTP id d2e1a72fcca58-81fe87e9f3dmr8191782b3a.27.1769094627030; Thu, 22 Jan 2026 07:10:27 -0800 (PST) Received: from hu-ptalari-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-8217c258fa7sm4328182b3a.17.2026.01.22.07.10.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 Jan 2026 07:10:26 -0800 (PST) From: Praveen Talari To: Mark Brown , linux-arm-msm@vger.kernel.org, linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, bjorn.andersson@oss.qualcomm.com, dmitry.baryshkov@oss.qualcomm.com, konrad.dybcio@oss.qualcomm.com Cc: prasad.sodagudi@oss.qualcomm.com, mukesh.savaliya@oss.qualcomm.com, quic_vtanuku@quicinc.com, aniket.randive@oss.qualcomm.com, chandana.chiluveru@oss.qualcomm.com, jyothi.seerapu@oss.qualcomm.com, Praveen Talari Subject: [PATCH v1 2/3] spi: geni-qcom: Fix abort sequence execution for serial engine errors Date: Thu, 22 Jan 2026 20:40:07 +0530 Message-Id: <20260122151008.2149252-3-praveen.talari@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260122151008.2149252-1-praveen.talari@oss.qualcomm.com> References: <20260122151008.2149252-1-praveen.talari@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTIyMDExNiBTYWx0ZWRfXwMmUkzdZsx7h U3T8Ck7GWbBgqjzKdNy/xfjjx0RBkE5JSwqQaqzj0Lm/h179of9y9/LyPN8RkjTyCmzpgUZAZIY TmlHP1VkQrcgzpItIDBgQLkHi/O9tuwJZYdnIUJjpnI6PDbBjn+2V9cSJCEvYEnk/7s6kTYQtu4 HHzP1HBC28uiDBaioPbM39yY3X93JtO94hoyV4DKlRCS1AatIQ6pRH1UStwn1tJlm9IapqDeZ1v fysgir2XruE4C5h7r/dgygcCL27rndDy+Tl3Z0+8QI6ua3+lD+wI3VnHQrLtuuiueI18G5vay11 BrVTBWRQaLMF1AUiWRTp38Fs19H5cPpnUTZXPtleHetxQhFj667xJniswoLg6Tq4rZEqzldMnXL HCANbttYE7FKnXVo2fjihS151ZNzAzABf0RdkWeuw49FksLG5qHvCnVs/FpHR7HnzR6XRDqRa88 PwBG0DRCIfOge9ZuIJw== X-Authority-Analysis: v=2.4 cv=OZGVzxTY c=1 sm=1 tr=0 ts=69723de5 cx=c_pps a=mDZGXZTwRPZaeRUbqKGCBw==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=PwoySFKYIoUPqChjOH0A:9 a=zc0IvFSfCIW2DFIPzwfm:22 X-Proofpoint-ORIG-GUID: fu0-epE5gE6tMMXwqdR0ixGGriIw-mHg X-Proofpoint-GUID: fu0-epE5gE6tMMXwqdR0ixGGriIw-mHg X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.20,FMLib:17.12.100.49 definitions=2026-01-22_02,2026-01-22_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 lowpriorityscore=0 malwarescore=0 impostorscore=0 adultscore=0 suspectscore=0 clxscore=1015 phishscore=0 spamscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2601220116 Content-Type: text/plain; charset="utf-8" The driver currently skips the abort sequence for target mode when serial engine errors occur. This leads to improper error recovery as the serial engine may remain in an undefined state without proper cleanup, potentially causing subsequent operations to fail or behave unpredictably. Fix this by ensuring the abort sequence and DMA reset always execute during error recovery, as both are required for proper serial engine error handling. Signed-off-by: Praveen Talari --- drivers/spi/spi-geni-qcom.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/spi/spi-geni-qcom.c b/drivers/spi/spi-geni-qcom.c index f5d05025b196..e5320e2fb834 100644 --- a/drivers/spi/spi-geni-qcom.c +++ b/drivers/spi/spi-geni-qcom.c @@ -167,7 +167,7 @@ static void handle_se_timeout(struct spi_controller *sp= i, * doesn`t support CMD Cancel sequnece */ spin_unlock_irq(&mas->lock); - goto reset_if_dma; + goto abort; } =20 reinit_completion(&mas->cancel_done); @@ -178,6 +178,7 @@ static void handle_se_timeout(struct spi_controller *sp= i, if (time_left) goto reset_if_dma; =20 +abort: spin_lock_irq(&mas->lock); reinit_completion(&mas->abort_done); geni_se_abort_m_cmd(se); --=20 2.34.1 From nobody Mon Feb 9 00:26:26 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 2F1EE3587BF for ; Thu, 22 Jan 2026 15:10:35 +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=1769094637; cv=none; b=ccOxh+B/+IVRSnThOSYN8GebLIQGZhjANfwPe2oyLPWJj1QSL5b1mWZNdLdRgviIcMdiKy5L2yNNxZl7CYqmeaHueiFrDCfig/DFctquWZ5S+M1Fo1od9wMWEp4H3qQmgIaRlbrxVmI2qDa8lhthSFFv+/4QOMTnry0IqnnCoXY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769094637; c=relaxed/simple; bh=qakuhgJFOhsktXcKuLG1qi8pNW3vyIf3X/6YJamV62M=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=MG1iafV7/PpnJ+NxMiqRWeK1lRU4aQOBSIlFPzcq0PjXCZTUVGVfmTJx6KJ8xALBFQcfS4W3ClQAZeD1CmM5rmMUoX0qFtkeAFz8VD2fnquqlyd5bWnp5Y+qVPL+NpnATuqeYNZZLTwtNqu5PAqzEtBIT0A9AhL06SPLLwfZikY= 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=dZWEKDkN; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=OZWCziq9; 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="dZWEKDkN"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="OZWCziq9" 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 60M924nE3463276 for ; Thu, 22 Jan 2026 15:10:35 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=NVo87sxbS+T GdNMbO32QbS2nchEhayLU5oXeqbFF+GU=; b=dZWEKDkNTPg3g6rr+c7QOjAxx/L 47F6UEnYyJT/5DJHqYrYy7AqGqZ4SBWOUVUAPU1a0VvtVaSrVeota8826qB9HgWM 3JRU9UjseRi41sGffDQb7wl0ytODMdi4HD4BXVeiKRPnuu+VwJm6aZ2ODu0K/ejA 8Sd1CWqA/q8z9IcH81rHkDoLNe1I5RqDWygxi7SmnFDtGdCqHz936A/v4oD+0+8+ o6wnl1TlAw6eMThTw3lhjTJklgu7W/agiy855BIvS4L8VJfrsdWAXVeXrIsjMYAJ IcZ/xyhV7ZNhDbg7hL8Ol2xWxz63VMBiSlo9Q6j3s9xWlteinaScC759y+g== Received: from mail-pf1-f199.google.com (mail-pf1-f199.google.com [209.85.210.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bu06549uh-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 22 Jan 2026 15:10:34 +0000 (GMT) Received: by mail-pf1-f199.google.com with SMTP id d2e1a72fcca58-81c68fef4d4so1920502b3a.2 for ; Thu, 22 Jan 2026 07:10:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1769094634; x=1769699434; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=NVo87sxbS+TGdNMbO32QbS2nchEhayLU5oXeqbFF+GU=; b=OZWCziq9eaf1GPBgKUxAy31ze8ACbgJY4K2srFwyWYqM/b7a9VUF9vNr71LXC1/PXL WbMy+ZrbqP2amarXMpnaVPjXT//q2Ja+/FligZasVAhEguvYCQ6QjXSvWaGbUtU+KSnQ R+hepRmVR87TZ0Ul/ClbjQqjVdcE7MOAiVWQCUZVPOjwhPOUGte7WnoxJ6PGhScK0CEL qKgv8fF7V/+nB8SEaOQU8w3ZbeEZeT6FkeVLSVkxBHtsUyFD7QxMOx5iveXmZmokCXzA nIAZWV3tIzDOtZP3qsxIdUwziV8Zun9g7Jnt++sLilYYdzsW5NkYDyUBLMlBw/MFBxWo oMGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769094634; x=1769699434; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=NVo87sxbS+TGdNMbO32QbS2nchEhayLU5oXeqbFF+GU=; b=ge6vemqRKGBMwgXprubKVioZJomqLG1V5/S++L9tE7cXwTq8tQjdLdG9fNIKIusLXH 8HIt/0XCB1XLXJIuKTHEruT33aWs3qABLL+uKulxSEljfbYXG7ty2wdUE4o1RTlqrbDh +4aJa/MnpeqN1/HtqWNqrMFXhuWw+MHR1ipJISjhi7LqA1b9vIm+FJ8POZDRZYCvlCUR wYTU8hQZYJ1HmsUBr9I+M1zxlt0pNRLM9Qb7siyW7sNdXCp60M0zUDsQEdPA07JNuEj6 Xy3BsxZU7YNMs9H3kI4FRPr9wsPQz1l0agqlXPJozptBsXIBtXX7nTEiutEYUSQmAWdO kFZw== X-Forwarded-Encrypted: i=1; AJvYcCVmJwtPAvOnA/bUDAOFM7W+exHD0fLodismbp8+1fRLz4DDqxSnW2UvBYOVx4P9+Xui6HJ9360FsEHSGeg=@vger.kernel.org X-Gm-Message-State: AOJu0YxzmObR/rTbR4ZZviDRE2KfAuP6rpIB0dEv80sh0dKfPAxizP5o oZL0PjO06totYxHK/eVReuw0Ed7Xvyns1inN73HZLopiin8lr6tOudMQcCHliwyIw/v+W9SqxZ8 jnCLGV3hSOjiGCk5HBMutS49+m0q4bYMF/pljinOOWnTFAvNkhPo2CuaI0I7/3XR3U0U= X-Gm-Gg: AZuq6aKqN/PSP47r6MpAgx1kRueH2eE8guJhNpM7FEnzVcZSoQE5teQwHZQCMkuTnWY OfZ3aqcRw1BWhNnZslxMTyB399KHESQ0SKf+aLCqnrafuIbhb0vrZ8n0WmUsk4uKz0rTdEwE13R F4Lu3+FUONRH0AXnn6a6QQlBhzfYv4lwkepmt9VH6/vZmlmkWhBCo4AhUPjeIFwlqUsiHuS0Qve 45jYnIXP3/RXInOHS9eC10FKgYpmEfkHWw6WJ6fGlTBFGhxU1nvGA6OMkqA5EuuI1PvuKXVFFbI zID7H7BC2U4pmvHDRFio767k+E07R3ZMO61BPsIU/Euy6XyZnTfcP1CGjh/ES7t0YZRBeE4wHFL lsCdj48wlGWB3JbSoFNO8FOvTwYd7xtaCppksnJl8D0g= X-Received: by 2002:a05:6a00:3cc5:b0:823:1679:49cc with SMTP id d2e1a72fcca58-82316794e67mr1627b3a.66.1769094632617; Thu, 22 Jan 2026 07:10:32 -0800 (PST) X-Received: by 2002:a05:6a00:3cc5:b0:823:1679:49cc with SMTP id d2e1a72fcca58-82316794e67mr1604b3a.66.1769094632056; Thu, 22 Jan 2026 07:10:32 -0800 (PST) Received: from hu-ptalari-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-8217c258fa7sm4328182b3a.17.2026.01.22.07.10.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 Jan 2026 07:10:31 -0800 (PST) From: Praveen Talari To: Mark Brown , linux-arm-msm@vger.kernel.org, linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, bjorn.andersson@oss.qualcomm.com, dmitry.baryshkov@oss.qualcomm.com, konrad.dybcio@oss.qualcomm.com Cc: prasad.sodagudi@oss.qualcomm.com, mukesh.savaliya@oss.qualcomm.com, quic_vtanuku@quicinc.com, aniket.randive@oss.qualcomm.com, chandana.chiluveru@oss.qualcomm.com, jyothi.seerapu@oss.qualcomm.com, Praveen Talari Subject: [PATCH v1 3/3] spi: geni-qcom: Add target abort support Date: Thu, 22 Jan 2026 20:40:08 +0530 Message-Id: <20260122151008.2149252-4-praveen.talari@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260122151008.2149252-1-praveen.talari@oss.qualcomm.com> References: <20260122151008.2149252-1-praveen.talari@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=HOHO14tv c=1 sm=1 tr=0 ts=69723dea cx=c_pps a=WW5sKcV1LcKqjgzy2JUPuA==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=ZHV-9eCtjRHb1jRugp0A:9 a=OpyuDcXvxspvyRM73sMx:22 X-Proofpoint-ORIG-GUID: q9u5b9qeT63hWZOkUOuh8q8AJGEbN6VI X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTIyMDExNSBTYWx0ZWRfX2BHx7uikV/6v 5FLfnklyPXcAxpKllrz5mRjfDgsplv5BpMGu3aTQFjRPwJ3gEXoGkVrjq+0w6JV+BfkEUqFpCTH CRkAVhmk1vb5DGQ0KCGpLbCdT17+PG3OZ5iG8vABNkVv8GiPA3HfTsPnR4IEM8Rtu4hJSaUMdFl RXMEL90vbRvdAgJ93xOrd3EzeI1/oWrj0RVXXFkbKkW39Kuepm4KQ5xL6+T5XNGwrdVQTOAJrGV Cg4REZxGwP7CjFZYqdPH/EhzwSjgt90ffPQKBrTrMtL02wDgml2cWB+u/CPGEA9USw2w6+kGhPG nDTbrxUdXIeOc3svg33Vi+6y4oYbvRYxE9UXZfRAXqaxYxJhz7Gxo5zOrvljjO9WUQJeu/HeW3z NgJer0F9dU/7ZSN59VqrhHCsHxd2nUPd23JblyzmLHoYtC+Y/pou8DX3NeaRlgP+DQCCT2eySXn KawcEbEt7i1geo4JNWw== X-Proofpoint-GUID: q9u5b9qeT63hWZOkUOuh8q8AJGEbN6VI X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.20,FMLib:17.12.100.49 definitions=2026-01-22_02,2026-01-22_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 phishscore=0 adultscore=0 impostorscore=0 malwarescore=0 spamscore=0 bulkscore=0 suspectscore=0 clxscore=1015 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2601220115 Content-Type: text/plain; charset="utf-8" SPI target mode currently lacks a mechanism to gracefully abort ongoing transfers when the client or core needs to cancel active transactions. Implement spi_geni_target_abort() to handle aborting SPI target operations when the client and core want to cancel ongoing transfers. This provides a mechanism for graceful termination of active SPI transactions in target mode. Signed-off-by: Praveen Talari --- drivers/spi/spi-geni-qcom.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/drivers/spi/spi-geni-qcom.c b/drivers/spi/spi-geni-qcom.c index e5320e2fb834..231fd31de048 100644 --- a/drivers/spi/spi-geni-qcom.c +++ b/drivers/spi/spi-geni-qcom.c @@ -1009,6 +1009,17 @@ static irqreturn_t geni_spi_isr(int irq, void *data) return IRQ_HANDLED; } =20 +static int spi_geni_target_abort(struct spi_controller *spi) +{ + if (!spi->cur_msg) + return 0; + + handle_se_timeout(spi, spi->cur_msg); + spi_finalize_current_transfer(spi); + + return 0; +} + static int spi_geni_probe(struct platform_device *pdev) { int ret, irq; @@ -1082,6 +1093,9 @@ static int spi_geni_probe(struct platform_device *pde= v) init_completion(&mas->rx_reset_done); spin_lock_init(&mas->lock); =20 + if (spi->target) + spi->target_abort =3D spi_geni_target_abort; + ret =3D geni_icc_get(&mas->se, NULL); if (ret) return ret; --=20 2.34.1