{"id":2175533,"url":"http://patchwork.ozlabs.org/api/1.0/patches/2175533/?format=json","project":{"id":28,"url":"http://patchwork.ozlabs.org/api/1.0/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":"<20251218-pci-dwc-suspend-rework-v2-1-5a7778c6094a@oss.qualcomm.com>","date":"2025-12-18T12:04:52","name":"[v2,1/2] PCI: dwc: Skip PME_Turn_Off broadcast and L2/L3 transition during suspend if link is not up","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"07f0b045021b2703486f3a93c765805f27b6b2e8","submitter":{"id":91277,"url":"http://patchwork.ozlabs.org/api/1.0/people/91277/?format=json","name":"Manivannan Sadhasivam via B4 Relay","email":"devnull+manivannan.sadhasivam.oss.qualcomm.com@kernel.org"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-pci/patch/20251218-pci-dwc-suspend-rework-v2-1-5a7778c6094a@oss.qualcomm.com/mbox/","series":[{"id":485835,"url":"http://patchwork.ozlabs.org/api/1.0/series/485835/?format=json","date":"2025-12-18T12:04:51","name":"PCI: dwc: Suspend/resume rework","version":2,"mbox":"http://patchwork.ozlabs.org/series/485835/mbox/"}],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2175533/checks/","tags":{},"headers":{"Return-Path":"\n <linux-pci+bounces-43287-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=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=dxe0FiYA;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.234.253.10; helo=sea.lore.kernel.org;\n envelope-from=linux-pci+bounces-43287-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=\"dxe0FiYA\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=10.30.226.201"],"Received":["from sea.lore.kernel.org (sea.lore.kernel.org [172.234.253.10])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4dX8WG26LJz1xty\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 18 Dec 2025 23:05:30 +1100 (AEDT)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id 6317E301E929\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 18 Dec 2025 12:04:56 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 42F6E32E13B;\n\tThu, 18 Dec 2025 12:04:55 +0000 (UTC)","from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org\n [10.30.226.201])\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 1A41432D7C8;\n\tThu, 18 Dec 2025 12:04:54 +0000 (UTC)","by smtp.kernel.org (Postfix) with ESMTPS id BC95FC116B1;\n\tThu, 18 Dec 2025 12:04:54 +0000 (UTC)","from aws-us-west-2-korg-lkml-1.web.codeaurora.org\n (localhost.localdomain [127.0.0.1])\n\tby smtp.lore.kernel.org (Postfix) with ESMTP id AD1DFD6ACF5;\n\tThu, 18 Dec 2025 12:04:54 +0000 (UTC)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1766059495; cv=none;\n b=HVhZslKQjrM55uV9LyohxVe52bTn9eTOYrPZp57ur1pG1KX8bzhcyVKZZ2qVCRe7A2SMR9Lh4vJPcjqlo8VOyIX9OLUQ1y7jNorF95dqvEASgSHjSq8CuMYka/03sGcWvauhmxe/jwVeNDFdwXIwYq2DLFgG7bfHqB136+OaPmU=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1766059495; c=relaxed/simple;\n\tbh=kEAW493KahcKscqRPcFCD7IS36Rrl+jFykW0SAyMD68=;\n\th=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:\n\t In-Reply-To:To:Cc;\n b=XFKiBIKi/yDJWokgvGp+mj601FzD3IGRoO/cup5aPNvxXuHYdTVut3g943vNOLkY7TMwU1xHy9SThp/Ef9Tz5McIjJcAuGJW7ml186lpka/ooaeVxCBsRT4KEvtr8xYGpPnbpFt/XO82405OnczvqnDG3MHiBb9f0732VKB0o68=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=dxe0FiYA; arc=none smtp.client-ip=10.30.226.201","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1766059494;\n\tbh=kEAW493KahcKscqRPcFCD7IS36Rrl+jFykW0SAyMD68=;\n\th=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From;\n\tb=dxe0FiYAgxyHGs18/BM8oIrcWARWb00WBWLYflnJobBXkvTnZ3n5N4zFz9r62Ne83\n\t 8metoFmlbxPnXY9k0BmtV6jlr+wBhJv4QSKCZFHReM8U52Ee3okAx09XURSw/ktbOd\n\t x39BXWctKYenrPYjah2HopqXoPD9DWlo1xNj6omHn1R/4n2RZN6sCD1zwWwbbBBtCK\n\t Q6lAKA+SFUUyLSKFFx9iQoptMjskj9svErjTRd8G7B7UYeqjL3sfaYlHoJjHRSvcFP\n\t XQW1+HfmWT1tDR4sdgHW+IEMfYj4Z5iGvuBw3vgZ++d8nGntWlITQRqr3gbXN5r1C4\n\t UaSPg0GGsOjwg==","From":"Manivannan Sadhasivam via B4 Relay\n <devnull+manivannan.sadhasivam.oss.qualcomm.com@kernel.org>","Date":"Thu, 18 Dec 2025 17:34:52 +0530","Subject":"[PATCH v2 1/2] PCI: dwc: Skip PME_Turn_Off broadcast and L2/L3\n transition during suspend if link is not up","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":"\n <20251218-pci-dwc-suspend-rework-v2-1-5a7778c6094a@oss.qualcomm.com>","References":"\n <20251218-pci-dwc-suspend-rework-v2-0-5a7778c6094a@oss.qualcomm.com>","In-Reply-To":"\n <20251218-pci-dwc-suspend-rework-v2-0-5a7778c6094a@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?=\n\t=?utf-8?q?=C5=84ski?= <kwilczynski@kernel.org>,\n  Rob Herring <robh@kernel.org>, Bjorn Helgaas <bhelgaas@google.com>","Cc":"linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org,\n vincent.guittot@linaro.org, zhangsenchuan@eswincomputing.com,\n Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>,\n Frank Li <Frank.Li@nxp.com>, Shawn Lin <shawn.lin@rock-chips.com>","X-Mailer":"b4 0.14.3","X-Developer-Signature":"v=1; a=openpgp-sha256; l=1250;\n i=manivannan.sadhasivam@oss.qualcomm.com; h=from:subject:message-id;\n bh=zzm1js4g/wb9/28LZoMBiDrVq1+JGQ8PgCaGDVkxvSs=;\n b=owEBbQGS/pANAwAKAVWfEeb+kc71AcsmYgBpQ+3laZ2TdGjXY+TPWcrdGBRDdPW7B7FcXIp27\n DNrZqWM4bmJATMEAAEKAB0WIQRnpUMqgUjL2KRYJ5dVnxHm/pHO9QUCaUPt5QAKCRBVnxHm/pHO\n 9XTZB/4yPHL8Wjn52iy6qP+I1K8EXtv1sxI3nuQ+NSmi0q+YIqM8E04b/xCOgf6pvOLmcp+W3yV\n E7oNEl4+Eh0jGpJBUd2tueucmVGYODQDMBnNYAOAzHI7a/Q9y9QJ0Ax6czPZ4zP52tDpfpnlFp8\n h+8tuIf/L5DprSvFHPbYjxpmP/Tgrqbl8OZbo+hCVqLkWLmXZuRMXzbI0z26ywwWDdmkPANCt66\n qd9l6IWynASqsOntET8UJHhbMl5Rt6A0Qz2gf3lXW8WrUJf2zN7Giui7N5Llv7EGD0gV9M8Smcv\n PA7xqPWJ2SeJ6gL5j7O4N+fg2325R2HGbshrc3y2SIsEv70/","X-Developer-Key":"i=manivannan.sadhasivam@oss.qualcomm.com; a=openpgp;\n fpr=C668AEC3C3188E4C611465E7488550E901166008","X-Endpoint-Received":"by B4 Relay for\n manivannan.sadhasivam@oss.qualcomm.com/default with auth_id=461","X-Original-From":"Manivannan Sadhasivam\n <manivannan.sadhasivam@oss.qualcomm.com>","Reply-To":"manivannan.sadhasivam@oss.qualcomm.com"},"content":"From: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>\n\nDuring system suspend, if the PCIe link is not up, then there is no need\nto broadcast PME_Turn_Off message and wait for L2/L3 transition. So skip\nthem.\n\nTested-by: Vincent Guittot <vincent.guittot@linaro.org>\nReviewed-by: Frank Li <Frank.Li@nxp.com>\nReviewed-by: Shawn Lin <shawn.lin@rock-chips.com>\nSigned-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>\n---\n drivers/pci/controller/dwc/pcie-designware-host.c | 4 ++++\n 1 file changed, 4 insertions(+)","diff":"diff --git a/drivers/pci/controller/dwc/pcie-designware-host.c b/drivers/pci/controller/dwc/pcie-designware-host.c\nindex 372207c33a85..43d091128ef7 100644\n--- a/drivers/pci/controller/dwc/pcie-designware-host.c\n+++ b/drivers/pci/controller/dwc/pcie-designware-host.c\n@@ -1161,6 +1161,9 @@ int dw_pcie_suspend_noirq(struct dw_pcie *pci)\n \tu32 val;\n \tint ret;\n \n+\tif (!dw_pcie_link_up(pci))\n+\t\tgoto stop_link;\n+\n \t/*\n \t * If L1SS is supported, then do not put the link into L2 as some\n \t * devices such as NVMe expect low resume latency.\n@@ -1194,6 +1197,7 @@ int dw_pcie_suspend_noirq(struct dw_pcie *pci)\n \t */\n \tudelay(1);\n \n+stop_link:\n \tdw_pcie_stop_link(pci);\n \tif (pci->pp.ops->deinit)\n \t\tpci->pp.ops->deinit(&pci->pp);\n","prefixes":["v2","1/2"]}