{"id":2230065,"url":"http://patchwork.ozlabs.org/api/1.1/patches/2230065/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-pci/patch/20260429-d3cold-v5-2-89e9735b9df6@oss.qualcomm.com/","project":{"id":28,"url":"http://patchwork.ozlabs.org/api/1.1/projects/28/?format=json","name":"Linux PCI development","link_name":"linux-pci","list_id":"linux-pci.vger.kernel.org","list_email":"linux-pci@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null},"msgid":"<20260429-d3cold-v5-2-89e9735b9df6@oss.qualcomm.com>","date":"2026-04-29T06:42:24","name":"[v5,2/5] PCI: qcom: Add .get_ltssm() helper","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"6f0ad8207658fb02ad76c6e1e45ee0ff3055911f","submitter":{"id":89908,"url":"http://patchwork.ozlabs.org/api/1.1/people/89908/?format=json","name":"Krishna Chaitanya Chundru","email":"krishna.chundru@oss.qualcomm.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-pci/patch/20260429-d3cold-v5-2-89e9735b9df6@oss.qualcomm.com/mbox/","series":[{"id":502001,"url":"http://patchwork.ozlabs.org/api/1.1/series/502001/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-pci/list/?series=502001","date":"2026-04-29T06:42:22","name":"PCI: qcom: Add D3cold support","version":5,"mbox":"http://patchwork.ozlabs.org/series/502001/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2230065/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2230065/checks/","tags":{},"headers":{"Return-Path":"\n <linux-pci+bounces-53370-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-pci@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=qualcomm.com header.i=@qualcomm.com header.a=rsa-sha256\n header.s=qcppdkim1 header.b=B8IQRfIN;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com\n header.a=rsa-sha256 header.s=google header.b=ZmWRYlJQ;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c0a:e001:db::12fc:5321; helo=sea.lore.kernel.org;\n envelope-from=linux-pci+bounces-53370-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com\n header.b=\"B8IQRfIN\";\n\tdkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com\n header.b=\"ZmWRYlJQ\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=205.220.180.131","smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=oss.qualcomm.com"],"Received":["from sea.lore.kernel.org (sea.lore.kernel.org\n [IPv6:2600:3c0a:e001:db::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g57B555KTz1yHv\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 29 Apr 2026 16:46:21 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id E57D330BC084\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 29 Apr 2026 06:42:50 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id B116F38644F;\n\tWed, 29 Apr 2026 06:42:50 +0000 (UTC)","from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com\n [205.220.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 2B33E38E13F\n\tfor <linux-pci@vger.kernel.org>; Wed, 29 Apr 2026 06:42:48 +0000 (UTC)","from pps.filterd (m0279873.ppops.net [127.0.0.1])\n\tby mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 63T5luCH3347507\n\tfor <linux-pci@vger.kernel.org>; Wed, 29 Apr 2026 06:42:48 GMT","from mail-pj1-f70.google.com (mail-pj1-f70.google.com\n [209.85.216.70])\n\tby mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4du2m4t07y-1\n\t(version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)\n\tfor <linux-pci@vger.kernel.org>; Wed, 29 Apr 2026 06:42:47 +0000 (GMT)","by mail-pj1-f70.google.com with SMTP id\n 98e67ed59e1d1-35da86144daso11793977a91.3\n        for <linux-pci@vger.kernel.org>; Tue, 28 Apr 2026 23:42:47 -0700 (PDT)","from hu-krichai-hyd.qualcomm.com ([202.46.23.25])\n        by smtp.gmail.com with ESMTPSA id\n 98e67ed59e1d1-364a0303d59sm2021414a91.15.2026.04.28.23.42.38\n        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n        Tue, 28 Apr 2026 23:42:42 -0700 (PDT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777444970; cv=none;\n b=tx+KrsGcRtrF8kot3KSmnRolPgq9nvWlm8VbFpxedsc/ziIZbv4MMYtv1tOkfliHxBvGtSZA8lpGwtcs7nQvPEKTs/+SIrbqDX/NvT0L6ALOn7Nn+YpvFeBXAJW+Ig3oJQK5ReJ2unhVZ6pepu2cl00qCJ4Rj9uFEysKiVicop4=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777444970; c=relaxed/simple;\n\tbh=kJOcLpJ2/X+O6jVsxBIhyhEdHIhlOc1Lfh/fcN/6y0g=;\n\th=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:\n\t In-Reply-To:To:Cc;\n b=l9MqhRdmLeNP+AV5Fm8Z8+1E5Svc7Mm1jlZT6h3Tzyljkq4k83mTQTJRdN4jXzuPIwvgfCSlXtgzeA4JTG5E+pfOc5Onv4JnQBAHAeGusYeqPL9moJLkyBDouswZ3l0e8tPmS4e4r6b98tqFyXYTa4wAk5WVU6eP2B+OB76i/xM=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com;\n spf=pass smtp.mailfrom=oss.qualcomm.com;\n dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com\n header.b=B8IQRfIN;\n dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com\n header.b=ZmWRYlJQ; arc=none smtp.client-ip=205.220.180.131","DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=\n\tcc:content-transfer-encoding:content-type:date:from:in-reply-to\n\t:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=\n\tSEfRbstRjVHeuT0nzZzxKbaNveaGv52bqCxDptLPZ5w=; b=B8IQRfINvxXIN5tH\n\t/bVnZzf5djPZX2GOqJN6eUTg+n5KQzzuUYuhxrQYaH6NAAqKT1xX0Jwu0o0jX3EY\n\tOdsNe+0GGI8nEVR0PAFOK6td2G/icAZ+y4VWnOPgxNubu52Mcxfb7a1S38vDyD0B\n\tjQBTdmjqSoa0tRRTbZ8GE29rCMtce/AOGsiOrjQWc/fKJgPKHf80QXfTv/hEtO/c\n\tbTQGOeoGMXkRpHCjclnTsF94HY/0Ebv1tY6MA7UYubv4HxbgeFwAdcXaHNfXhYwW\n\t7E5e+XQIW0VG8eCl1GSjF96++Z5VPsdWeQ0hHwc1mryqYbrVswGSMCe6HTyjkPxP\n\tb6uIgw==","v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=oss.qualcomm.com; s=google; t=1777444967; x=1778049767;\n darn=vger.kernel.org;\n        h=cc:to:in-reply-to:references:message-id:content-transfer-encoding\n         :mime-version:subject:date:from:from:to:cc:subject:date:message-id\n         :reply-to;\n        bh=SEfRbstRjVHeuT0nzZzxKbaNveaGv52bqCxDptLPZ5w=;\n        b=ZmWRYlJQNeSM9h0NHxk1QuQ7y60CF94bTeKdVHbylOko/Bj7GM4rs+IxdPcq+O0OEV\n         rIzdQc1k7VH4Oh8PMEBw2cvza5cgJvMt/rn5HM+EeBmtQeEKR+XMy6fPbE6hCnJQj5PB\n         Zvx5BRDyG93N6WFNVnj6sglHxMHSYotRsQC1NtuJgBQs8y/h3kI5XWDdJxhri53oLHH/\n         jkMp/T/IXtyRV7i+78UC1LAGzA0lySmbqY53XCg8MR46N9B21QN195Iir4HyxPLrkWMk\n         IeGbhS+Ns0BM/bFZHSZF62d2MhopLlpUtzcJ6S2QikcrkUU2EhEzbmB2h2K/e/3fApxs\n         AELA=="],"X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20251104; t=1777444967; x=1778049767;\n        h=cc:to:in-reply-to:references:message-id:content-transfer-encoding\n         :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to\n         :cc:subject:date:message-id:reply-to;\n        bh=SEfRbstRjVHeuT0nzZzxKbaNveaGv52bqCxDptLPZ5w=;\n        b=jBYM0+6rzGuujna0SoEr5Ks3updkUgW0UdflkJF1f2AApNE4o5cx9V0ajayjDHN7+W\n         r23W5oaif9G+E4Gf+p/OOhNcCL8UD5xVt74s/+yYlozvGBw6Tv5GroA0+3Blgn+u+onK\n         O+byWlDQNMp8BR+M08+0X4yRTEniCY3hobuMWA5iIWPKw0zXRD8baHPpNCbIGHHI2w1F\n         EDEGHUKFfjdza51Z8UYc18AtHyDGP/CJjYtujDLYWicFY2UOqU8JlKWSc3zjbGpGF6oM\n         t3MJD9WxED+WllRCZaalV4qgbACIfToG5bkrdUUO9A5QWxKkvtfFmn874aw4hIEF3MQf\n         oXUA==","X-Gm-Message-State":"AOJu0Ywz4OkGJW7LumsULg1mbFw6QUSIRWjyKly3X8J9A8a3J7AG+Zm4\n\tYuBwuZQRYZEztPeQnT9gk6in91j5bUM7DxJKia0/1ZiUQN2uN5xXiJ0A0NkuJPb+3OF1JPR1Rpb\n\tIsSfY0Q9DMZy/Cce6iCXBw904bXazWDXBKisefFkowDx8nJMrkZ6pfz9kuuvqr+I=","X-Gm-Gg":"AeBDiev9c9nQFz3RdlsVY8rOdUG8wup8o7QgSWarIz7hE3+2xJuMrNh6aW/54PmgSSU\n\tNmZ18DbnghUcXD8mQ+P3vSqRCmRWixRuZ/5B5w3NG2Uc1l5qmgVvMLD/Mpp7gdCtTwiXjlXxqU+\n\tHpSDO2GlldhQgRblblh/qDzrxpBr3ZGlCGIiXOD+gy7e75+fAlmSd60I74Ot/+Y8PmmjGZBycLG\n\t+u7G5EofZ+E0SeETRPxAwzLM0rvUAfsxq4z6WfrpBFgxp5dQCpAi4znRGN5xTBDF9eBR6qwmfNx\n\t8SJpvsMsN6hKNHrbNTDZnWTBwnlNx/XsAOUfXxuQMFQGTjvZJiBs4YCxyFnh1swEGuscMTOL/ia\n\tYt4tmRNKpba3F+LJtMXH5/HiEWPjipJiV2xPxC5OU50zQyIH6gywsD957NXcJ5jMvQ6c=","X-Received":["by 2002:a17:90b:554d:b0:35d:a380:6d1a with SMTP id\n 98e67ed59e1d1-36491f89850mr6689828a91.2.1777444966979;\n        Tue, 28 Apr 2026 23:42:46 -0700 (PDT)","by 2002:a17:90b:554d:b0:35d:a380:6d1a with SMTP id\n 98e67ed59e1d1-36491f89850mr6689632a91.2.1777444963231;\n        Tue, 28 Apr 2026 23:42:43 -0700 (PDT)"],"From":"Krishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com>","Date":"Wed, 29 Apr 2026 12:12:24 +0530","Subject":"[PATCH v5 2/5] PCI: qcom: Add .get_ltssm() helper","Precedence":"bulk","X-Mailing-List":"linux-pci@vger.kernel.org","List-Id":"<linux-pci.vger.kernel.org>","List-Subscribe":"<mailto:linux-pci+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-pci+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"7bit","Message-Id":"<20260429-d3cold-v5-2-89e9735b9df6@oss.qualcomm.com>","References":"<20260429-d3cold-v5-0-89e9735b9df6@oss.qualcomm.com>","In-Reply-To":"<20260429-d3cold-v5-0-89e9735b9df6@oss.qualcomm.com>","To":"Jingoo Han <jingoohan1@gmail.com>,\n Manivannan Sadhasivam <mani@kernel.org>,\n Lorenzo Pieralisi <lpieralisi@kernel.org>, =?utf-8?q?Krzysztof_Wilczy=C5=84?=\n\t=?utf-8?q?ski?= <kwilczynski@kernel.org>, Rob Herring <robh@kernel.org>,\n Bjorn Helgaas <bhelgaas@google.com>, Will Deacon <will@kernel.org>","Cc":"linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org,\n        linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org,\n        jonathanh@nvidia.com, bjorn.andersson@oss.qualcomm.com,\n        Krishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com>","X-Mailer":"b4 0.15.2","X-Developer-Signature":"v=1; a=ed25519-sha256; t=1777444949; l=4016;\n i=krishna.chundru@oss.qualcomm.com; s=20230907; h=from:subject:message-id;\n bh=kJOcLpJ2/X+O6jVsxBIhyhEdHIhlOc1Lfh/fcN/6y0g=;\n b=XJXnUN7dlDghLSLQOMsNyk25AY1nkORIexsqqq+avIno/Mb0yfR49fPhveofsZcDVoM3HEBRC\n QbzePAgnlAbAtE0iREwuOauc0FMh5cJy2CWrHfPnjffh5SR3E15uxZo","X-Developer-Key":"i=krishna.chundru@oss.qualcomm.com; a=ed25519;\n pk=10CL2pdAKFyzyOHbfSWHCD0X0my7CXxj8gJScmn1FAg=","X-Proofpoint-Spam-Details-Enc":"AW1haW4tMjYwNDI5MDA2NCBTYWx0ZWRfX/+9NG0eiHXjE\n B/LHqYBSick0DAR+VfiOkfgz2ledzP7zGeGcDxapEpF11mK46+aQPFfYOkYC8Gx3UKox239Ixl8\n H9jLXn2Hb0NodcimmQAjJoMA2fomvTpRaHdU6HUMHEJCgaRRKKmTun7iM4tf/JibIG7adbkUvU3\n xgQsrpgJUWNyShgSwbNqOJ3Ij7LvylbZfZNkQFHEUAprvtRyU4GrI07zXItj0mLuTaflkvHRPYA\n DRxZMf01VIcUasEsUpPPIWw6Fw3a71FZ8vabg7SHrj65WPd82v3F28K64PMKOrS5PzRQ/ibWDeH\n Y6UJ7X6RWWm9Zq63II4BQuCG+AIbRHsURVQ4sJHK6wEo352NXlVIqoX1FOEw2p7rWe75arv31oV\n 0ENc6xf2E5nc0c+33d8SKJ03lF7YoZP3XQtrvn1QUyrRLRHET8guRyFK7c0AE+bAH0fuZT+CBIG\n EAwCmPIpmy/61GWHqsA==","X-Proofpoint-GUID":"HmzhIimKeYb179HAcXQBqeSbC-peA81k","X-Authority-Analysis":"v=2.4 cv=MuFiLWae c=1 sm=1 tr=0 ts=69f1a867 cx=c_pps\n a=0uOsjrqzRL749jD1oC5vDA==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17\n a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10\n a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22\n a=EUspDBNiAAAA:8 a=h4B-02p0z56_JbXvspoA:9 a=QEXdDO2ut3YA:10\n a=mQ_c8vxmzFEMiUWkPHU9:22","X-Proofpoint-ORIG-GUID":"HmzhIimKeYb179HAcXQBqeSbC-peA81k","X-Proofpoint-Virus-Version":"vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-04-28_05,2026-04-28_01,2025-10-01_01","X-Proofpoint-Spam-Details":"rule=outbound_notspam policy=outbound score=0\n bulkscore=0 clxscore=1015 phishscore=0 impostorscore=0 adultscore=0\n priorityscore=1501 malwarescore=0 suspectscore=0 lowpriorityscore=0\n spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound\n adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000\n definitions=main-2604290064"},"content":"For older targets like sc7280, we see reading DBI after sending PME\nturn off message is causing NOC error.\n\nTo avoid unsafe DBI accesses, introduce qcom_pcie_get_ltssm() to retrieve\nthe LTSSM state. For newer platforms, the LTSSM state is read from the\nPARF_LTSSM register, while older platforms continue to retrieve it from\nELBI_SYS_STTS.\n\nThis helper is used in place of direct DBI-based link state checks in\nthe D3cold path after sending PME turn-off message, ensuring the LTSSM\nstate can be queried safely even after DBI access is no longer valid.\n\nSigned-off-by: Krishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com>\n---\n drivers/pci/controller/dwc/pcie-qcom.c | 31 +++++++++++++++++++++++++++++++\n 1 file changed, 31 insertions(+)","diff":"diff --git a/drivers/pci/controller/dwc/pcie-qcom.c b/drivers/pci/controller/dwc/pcie-qcom.c\nindex af6bf5cce65b..085300c1d1ec 100644\n--- a/drivers/pci/controller/dwc/pcie-qcom.c\n+++ b/drivers/pci/controller/dwc/pcie-qcom.c\n@@ -71,6 +71,7 @@\n \n /* ELBI registers */\n #define ELBI_SYS_CTRL\t\t\t\t0x04\n+#define ELBI_SYS_STTS\t\t\t\t0x08\n \n /* DBI registers */\n #define AXI_MSTR_RESP_COMP_CTRL0\t\t0x818\n@@ -131,6 +132,7 @@\n \n /* PARF_LTSSM register fields */\n #define LTSSM_EN\t\t\t\tBIT(8)\n+#define PARF_LTSSM_STATE_MASK\t\t\tGENMASK(5, 0)\n \n /* PARF_NO_SNOOP_OVERRIDE register fields */\n #define WR_NO_SNOOP_OVERRIDE_EN\t\t\tBIT(1)\n@@ -145,6 +147,9 @@\n /* ELBI_SYS_CTRL register fields */\n #define ELBI_SYS_CTRL_LT_ENABLE\t\t\tBIT(0)\n \n+/* ELBI_SYS_STTS register fields */\n+#define ELBI_SYS_STTS_LTSSM_STATE_MASK\t\tGENMASK(17, 12)\n+\n /* AXI_MSTR_RESP_COMP_CTRL0 register fields */\n #define CFG_REMOTE_RD_REQ_BRIDGE_SIZE_2K\t0x4\n #define CFG_REMOTE_RD_REQ_BRIDGE_SIZE_4K\t0x5\n@@ -245,6 +250,7 @@ struct qcom_pcie_ops {\n \tvoid (*deinit)(struct qcom_pcie *pcie);\n \tvoid (*ltssm_enable)(struct qcom_pcie *pcie);\n \tint (*config_sid)(struct qcom_pcie *pcie);\n+\tenum dw_pcie_ltssm (*get_ltssm)(struct qcom_pcie *pcie);\n };\n \n  /**\n@@ -428,6 +434,15 @@ static void qcom_pcie_2_1_0_ltssm_enable(struct qcom_pcie *pcie)\n \twritel(val, pci->elbi_base + ELBI_SYS_CTRL);\n }\n \n+static enum dw_pcie_ltssm qcom_pcie_2_1_0_get_ltssm(struct qcom_pcie *pcie)\n+{\n+\tstruct dw_pcie *pci = pcie->pci;\n+\tu32 val;\n+\n+\tval = readl(pci->elbi_base + ELBI_SYS_STTS);\n+\treturn (enum dw_pcie_ltssm)FIELD_GET(ELBI_SYS_STTS_LTSSM_STATE_MASK, val);\n+}\n+\n static int qcom_pcie_get_resources_2_1_0(struct qcom_pcie *pcie)\n {\n \tstruct qcom_pcie_resources_2_1_0 *res = &pcie->res.v2_1_0;\n@@ -1260,6 +1275,19 @@ static bool qcom_pcie_link_up(struct dw_pcie *pci)\n \treturn val & PCI_EXP_LNKSTA_DLLLA;\n }\n \n+static enum dw_pcie_ltssm qcom_pcie_get_ltssm(struct dw_pcie *pci)\n+{\n+\tstruct qcom_pcie *pcie = to_qcom_pcie(pci);\n+\tu32 val;\n+\n+\tif (pcie->cfg->ops->ltssm_enable)\n+\t\treturn pcie->cfg->ops->get_ltssm(pcie);\n+\n+\tval = readl(pcie->parf + PARF_LTSSM);\n+\n+\treturn (enum dw_pcie_ltssm)FIELD_GET(PARF_LTSSM_STATE_MASK, val);\n+}\n+\n static void qcom_pcie_phy_power_off(struct qcom_pcie *pcie)\n {\n \tstruct qcom_pcie_port *port;\n@@ -1385,6 +1413,7 @@ static const struct qcom_pcie_ops ops_2_1_0 = {\n \t.post_init = qcom_pcie_post_init_2_1_0,\n \t.deinit = qcom_pcie_deinit_2_1_0,\n \t.ltssm_enable = qcom_pcie_2_1_0_ltssm_enable,\n+\t.get_ltssm = qcom_pcie_2_1_0_get_ltssm,\n };\n \n /* Qcom IP rev.: 1.0.0\tSynopsys IP rev.: 4.11a */\n@@ -1394,6 +1423,7 @@ static const struct qcom_pcie_ops ops_1_0_0 = {\n \t.post_init = qcom_pcie_post_init_1_0_0,\n \t.deinit = qcom_pcie_deinit_1_0_0,\n \t.ltssm_enable = qcom_pcie_2_1_0_ltssm_enable,\n+\t.get_ltssm = qcom_pcie_2_1_0_get_ltssm,\n };\n \n /* Qcom IP rev.: 2.3.2\tSynopsys IP rev.: 4.21a */\n@@ -1512,6 +1542,7 @@ static const struct qcom_pcie_cfg cfg_fw_managed = {\n static const struct dw_pcie_ops dw_pcie_ops = {\n \t.link_up = qcom_pcie_link_up,\n \t.start_link = qcom_pcie_start_link,\n+\t.get_ltssm = qcom_pcie_get_ltssm,\n };\n \n static int qcom_pcie_icc_init(struct qcom_pcie *pcie)\n","prefixes":["v5","2/5"]}