From patchwork Mon Dec 9 07:39:22 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Zhu X-Patchwork-Id: 13899029 Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02on2046.outbound.protection.outlook.com [40.107.241.46]) (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 5EAE8215046 for ; Mon, 9 Dec 2024 07:40:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.241.46 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1733730018; cv=fail; b=gkyu2wkII+0Lamx2zO1R+rF4rG1ooNAEvd4ygdqIm4d1lsdl7YOmdEz600ztBWvmw+1vHK7KzfKqSz8SZftexghXz+YBUJxgmPUrIOq2P48z9uiI3aO4FFfyplX2l8HnlLZw5I0YMlUOdVqf8KDb0qi7YFhpzW8etLauKVU/7Dc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1733730018; c=relaxed/simple; bh=gGG6bAnnLa9sFPNVfiBXzq6XFOs1gke5Z3IUarhJ1IU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=uIIUhfCcNVcNPay93LQYj4bKBFROcAyi88iE/Ncta7GVGAo1qKUoylGy3nfPAygJHXduv2reK1mj+ad8/IGfIZCPP52Shyt3pOp+IYmKHWuxP/1o/5VxsMu5Anegl6K7rlj0Vw8BXyeN+oSsM9qCkCHAQnXMi+Idw5ZH2tYtjsA= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=eUn2tY0r; arc=fail smtp.client-ip=40.107.241.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="eUn2tY0r" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Ejsl6D/MxaQ1J6BS0m+JGivNYouJvYx2rQ+QegHTMV4ylum17h/b0p55rRShhGmAlenvcfKFivYpnwaSRcjrp8BXCaHIh4bsC/X9vbsHKmmq+Ze3XCEifFkHeB5WcNEs5gZurXAl/CdnBzrT6dTteJosFkIvEi8nrJL9/phe3bKw4QI9dLyoZp2jQh9Z3sj8z8mUOq0sTQilppeOH+elh1DybPpzlTJcLvPV8PwFZeG2C+6t0obZyhif48pRY5CTbjua1cdwPKuknrqbEkUWxZVhxK68OrNom+W9Y/B2GF5DTPH0PDQfp+tkyi7vAL9JlE8awGXdM8oKF2WBfs5EOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=9YzEVCLwtdOOEG0zIHeRC/sTYscASs4ylgFHzejcDpI=; b=f9JciCy7QWWtY/+WRiy7/ruasoFsoLK+TfKW9jlOjl90Kr7mWwK6fzyOYCeJ8wXklVY+5LKagQBUVCSSZXKyx2fK+K901JG6ACEopxwjRrGzj9w1/GdC8QgPuyo3on1p9i1gsBgn9R8dtximkT7d1T3I1RSnbjIlDRUYw9N+SiG5iDFn/tb7h7k4lBrN0sW1HT0A3Yg34wENtwIpXblgKvIiSt1W3UNEeSJbnIQILmTy/Cm0Y3p7r+e+RiVTkPT4GHCuuaIknuB6V4mRS44SumbFNz/wpx7c23Whl0pOxK+fC+fPAKErhoUwaswThnp9rBPPB259T4sFwl7qxOmPBQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9YzEVCLwtdOOEG0zIHeRC/sTYscASs4ylgFHzejcDpI=; b=eUn2tY0rrKqzaH2rtluel/rEIyuy4OqgoU2SIX8lE43gFgAQwExujIcfygRUfs8mXTk2857wXjAC3lzUONy9Aoa8Mb8Ko50g6tY5EiRrQC+vMUmNds4f2tGOiEpCoJQIwlmU6S8fa/bBXIVzW29wXwoUen5u3Omb3iRef908gC4aaS4+x9bAMcP9bpSKPQvfzBA6xcunrIwXBLQGsETq3vDw3i5UDknherGNVGjZzmKlvLMYixhEubhcmeCDtm5JDA6QIPGdb4E+kBBgduTTLfrG/cinGK2WTg4BLXnMoEuN8bz7/IUrJB7Je5/PlNcY0FjYb9h20dcKbrjUST8Zvg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AS8PR04MB8676.eurprd04.prod.outlook.com (2603:10a6:20b:42b::10) by GVXPR04MB9927.eurprd04.prod.outlook.com (2603:10a6:150:118::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8207.28; Mon, 9 Dec 2024 07:40:14 +0000 Received: from AS8PR04MB8676.eurprd04.prod.outlook.com ([fe80::28b2:de72:ad25:5d93]) by AS8PR04MB8676.eurprd04.prod.outlook.com ([fe80::28b2:de72:ad25:5d93%5]) with mapi id 15.20.8230.016; Mon, 9 Dec 2024 07:40:14 +0000 From: Richard Zhu To: jingoohan1@gmail.com, bhelgaas@google.com, lpieralisi@kernel.org, kw@linux.com, manivannan.sadhasivam@linaro.org, robh@kernel.org, frank.li@nxp.com, quic_krichai@quicinc.com Cc: imx@lists.linux.dev, kernel@pengutronix.de, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, Richard Zhu , Frank Li Subject: [PATCH v3 1/3] PCI: dwc: Fix resume failure if no EP is connected on some platforms Date: Mon, 9 Dec 2024 15:39:22 +0800 Message-Id: <20241209073924.2155933-2-hongxing.zhu@nxp.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20241209073924.2155933-1-hongxing.zhu@nxp.com> References: <20241209073924.2155933-1-hongxing.zhu@nxp.com> X-ClientProxiedBy: SI2PR02CA0040.apcprd02.prod.outlook.com (2603:1096:4:196::6) To AS8PR04MB8676.eurprd04.prod.outlook.com (2603:10a6:20b:42b::10) Precedence: bulk X-Mailing-List: imx@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8676:EE_|GVXPR04MB9927:EE_ X-MS-Office365-Filtering-Correlation-Id: 0bbcc89f-9111-4100-9323-08dd1824b7f1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|52116014|376014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: hicgw8nyVGZ81/a/TXXi9MIpBXvlPB2v2yugfARJJHCVzSwWgYZboWdv1bhsje5B2q7mnasvxWC5hj/ddx8/yu+E+VvLJr0UwQWdBSBNiHDJH2SD6ZGyY78mtaOKVnB0F5jy4HMB6QHYZKSjE30j1BjotnpOKNgWOJRr3dVCUEO2DKduDrhHRkCCvOJncL+dk7a9MtlSzwJNqx2FUQ6UJV5Cdex/EDfRaSJLaJG7ZrE/dyWz5S6CHGFU9uX/3cMrch6tv3QzzCoCQtbGlXkNaeruZvIRWvTRnX5dtUoRcvz0H0hiaTF6Fms96Gx6jdyTSZd++px0u1tPRqmq+2OiuY9HoO4W8x5mW93TCEAgSz05FyBkifE0oKoJ2DKQquF4bfiMwyU6aHECCnUSdfvefllCa6n8n0fELXYwUGH8Gen1sFUYS7wz8Dd0h4odS03CM+UxnLtp1mI4WD6vyd6nTu/qvcBLZZ6wS0f7cU7IcRrRaYfsxoKDjG4XX3BF6pIEl5CnUx+lyTBHmcRyZxN5E2WDl5l7Chsm5AtN7Kqrd2xZ1VYeqqCLaedBN8XwRfsF1e3sPiiUW/pbPP6enu9NdmglLWKcDZLoXACKQpnNeOlJAbCjiY7aLLFreKygA7A01KOPUt3J8FjkQOMJQKCzWjMGACeMTOJK+SftwrVCBYWVZ8Ay326LEAS1IS00827HLVAl0CDLSsvAUU0M7WndRSdiFQpNK+KuEJVVvWZpo0otLP1qzGxDQ4QujsGfWIChAogpoKiYgsddu4d7xsjXV0ATb2WN/adZg0H1Y96KJP4OldBpHB+hGHGnBTlrBdNmlys7vokm/M8qq8gYANdgxZdhbdFuAdcWk6/SUU6TIyn896IWhDi4s13Q7ajbRseCes0qyeReQFkOlgkn7IX+TPQmVwXGiNPFF9B/+iqe2M/fcnmAp1HHmOuN6LlygR0nv89Vbh09B35UicofHu5W2SpZu1zyaiuo4i7qv2xMUHsCnsZ0kiBNy09SBgqDORR0WxsKLGKP1NKN3DJFt+nmdvtdB9m4+q8mr/cX4R75eG4n8HG2mTDJ42AtnFaxHcDxm6rbtchUkHVCJOe1z80TvpJ9Vmoc4xrAVUssXZyng8uxlZ/TVSV7eJfHk3KukortxPDep8bM/R5ck4SH/NQj27oRRk9VOoB/kKh6UdbApQT2lW+4D6umkRNRXwFlyXJMAAogX/8QFY992bBa6nV05xJt8tbHRSVqj+x9uh0UzS2+0er9WopZqIF04QaILPhlI2Am9+GooskQFHHookFhlCFZhLkbm1USEfSMxqzNQe+guUviveohkxp2TTIA6FVLk3N6timvBc0o2Zd6B2DiKKMMf43mEA1Z6HfmDP++IvH2hPXymM2t/fIchZfF0r/oKOXwswlzTsdTsnP02yTwIA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8676.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(52116014)(376014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: BRlsCWuPmoPy8sm5DQNs7grn8wZh325ysb2STOOcERatgUWnVTech5NwoG3f/DjHi3ALzaD2Tl46hjiFqMPfSpTXLBQfnAraEbdHtT/ZpSdFJdJFq7Wf9YskmBwdh135C3cPRomqGojOjSv24ILpakKslLnfwAO01xB3AWqD3+CRN7HVK5EI3SrKAQ4XacXYtJY821CslitdVOGFluiif4+0o93Vfi4NenZ7AfWn7ROEA0LQhd7+uuXtLZaSVNn1MUOGwyw3o9o0cwbkV/h+bDnv6vRa5Lef4PfiVVy6pBnWTS5MBYJ3fjf8AU9V0agkm/AEcqnS2B5IoOKIeDWu+dHqurvY0WEyjUtEZI77RQJ8b5HUmRbW+/Tr7iH3O/n7IFYyUTBYfiZJcdqmtbi8uNres2ic1t5/3qctFK3bFAQs+ohG16LMhQBpTqmr9v/jFbwOxGVLEuU4uiIJjAifpkOayqftBnD4dBoGP0T8HvEEG3MkNSercG5lGdg73QbqS9PG/xQbygMCztDYX37yMgU73WVk6dHS1Z1tzRZ4nSQ0vG9jUBpB/sMzdOHPm9xYAjONCRhJrBxcUUTOe0dn0kp2M1pcqL/Yh6BAwB0XyQHCXMEzyo9G1Zl0KhfhMnyorsyF5bNxzGozOEp9Gnxxw0QfxLJBrcLL5RqQOhDmo/UBqmi+8v1dToqsv+3uk3yhOEJvXkA+bgDDHCSoyAFv9JzTnIlwCiaJwkwC7LJSnBGG1ej5C0x7G4XLeCNCt7FqF5Wrttlo7mu+0+FcI57RnRO6wFVyOOKqUBfWv0/pREeJpQAdotZPMbOUIhLeiOZogRKzbKjU+LDDI2O/XYKFiXcBEMu00Gos++D2eqg7K+DiikxKSqVMlprhH5YPOReebCsT6byWkgl6srErc0s88o30P+xDGXizePAuQ+WHN6FO9BHJ9izhEUxi1moiVyF7Tf6MjuIxbqu9aUpxN1RbDsvy8D7mJeYaVK+/j6KB05i3k6PBtMqlorHz6RfFCaAkbqwGjobZ1EwobbY78he8azL5SLsGn3mAqdIzBSPGSzvjdAchcITl3ec7XeyagF7/w9O1ewzILNPbGr7Iw1Jo2BlYXBbTMO3ZSGVM8uO8VAYE+R+doZ7qV87t+EGLz8HTV3k1IXKU+EPchiRNaomKs52/+9JRl1ObzWkb3wfv9/FsNMkL1lupKlWlFrE47oSWLr5GQz7ky3CFm3fwYBqTA7+IVl8Nx9v16CRsucR9TJOAUn9eFdOGwXPJQ/eK8lloDZiPZqEVb92IUx83PI4GqTg0kmyReclnoXESy4R44ANDpv5KqCEfRxkuJUipcJCs8KZTSH5wzGKFzKtb2cMKKLx14O8LONwkAnrdP33AWJlQBQ1BMwMcoFY7FyTWvpQ/7idcCGJnOapCJNalme7a4BqtrTWy2IH0J6yWaOzFm60ggRPReZhjenlb+J8dRg9AKg8ymbywb9oRQqXAqemkHDuMhSxwbPaC8wI1v/jqaab8jBcFqi/u+X1hztYa+lx/k7Z++nLpP3sAITFIKK1RICSDNwhIPfLqfeIG2rb5T4ydcyHiLSoo4zklLdwtlaKO X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0bbcc89f-9111-4100-9323-08dd1824b7f1 X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8676.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Dec 2024 07:40:14.2561 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: IQ5b5qA0x6napWzljJwjPwYFRht0KJfg7dzFRbUPoH8ngewc0rYBJwSkW0E/n5GUyQB4Pfq2LgJy7QMZFG2piA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB9927 The dw_pcie_suspend_noirq() function currently returns success directly if no endpoint (EP) device is connected. However, on some platforms, power loss occurs during suspend, causing dw_resume() to do nothing in this case. This results in a system halt because the DWC controller is not initialized after power-on during resume. Call deinit() in suspend and init() at resume regardless of whether there are EP device connections or not. It is not harmful to perform deinit() and init() again for the no power-off case, and it keeps the code simple and consistent in logic. Fixes: 4774faf854f5 ("PCI: dwc: Implement generic suspend/resume functionality") Signed-off-by: Richard Zhu Reviewed-by: Frank Li --- .../pci/controller/dwc/pcie-designware-host.c | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/drivers/pci/controller/dwc/pcie-designware-host.c b/drivers/pci/controller/dwc/pcie-designware-host.c index f882b11fd7b94..11563402c571b 100644 --- a/drivers/pci/controller/dwc/pcie-designware-host.c +++ b/drivers/pci/controller/dwc/pcie-designware-host.c @@ -982,23 +982,23 @@ int dw_pcie_suspend_noirq(struct dw_pcie *pci) if (dw_pcie_readw_dbi(pci, offset + PCI_EXP_LNKCTL) & PCI_EXP_LNKCTL_ASPM_L1) return 0; - if (dw_pcie_get_ltssm(pci) <= DW_PCIE_LTSSM_DETECT_ACT) - return 0; - - if (pci->pp.ops->pme_turn_off) - pci->pp.ops->pme_turn_off(&pci->pp); - else - ret = dw_pcie_pme_turn_off(pci); + /* Only send out PME_TURN_OFF when PCIE link is up */ + if (dw_pcie_get_ltssm(pci) > DW_PCIE_LTSSM_DETECT_ACT) { + if (pci->pp.ops->pme_turn_off) + pci->pp.ops->pme_turn_off(&pci->pp); + else + ret = dw_pcie_pme_turn_off(pci); - if (ret) - return ret; + if (ret) + return ret; - ret = read_poll_timeout(dw_pcie_get_ltssm, val, val == DW_PCIE_LTSSM_L2_IDLE, - PCIE_PME_TO_L2_TIMEOUT_US/10, - PCIE_PME_TO_L2_TIMEOUT_US, false, pci); - if (ret) { - dev_err(pci->dev, "Timeout waiting for L2 entry! LTSSM: 0x%x\n", val); - return ret; + ret = read_poll_timeout(dw_pcie_get_ltssm, val, val == DW_PCIE_LTSSM_L2_IDLE, + PCIE_PME_TO_L2_TIMEOUT_US/10, + PCIE_PME_TO_L2_TIMEOUT_US, false, pci); + if (ret) { + dev_err(pci->dev, "Timeout waiting for L2 entry! LTSSM: 0x%x\n", val); + return ret; + } } if (pci->pp.ops->deinit) From patchwork Mon Dec 9 07:39:23 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Zhu X-Patchwork-Id: 13899030 Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02on2066.outbound.protection.outlook.com [40.107.241.66]) (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 5030F21516F for ; Mon, 9 Dec 2024 07:40:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.241.66 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1733730024; cv=fail; b=hJlUcgoJoglZebQlqAglswyN56M8NLHvYlq6c0dRKQFDgv13YZ6nihIySwhxhHFIIK3joW9bnDB/5AVkgbh+TvVdKyxacP5po/eZaxDLF7NSYpv6S0vch61sGoba66+wID09rGEQ/rGMqq9khYm7wi6M3blmrfYgv6yA5yjtJls= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1733730024; c=relaxed/simple; bh=ad0np7rV7Gguix3t2Ps2ejZNuRVU6dLTdPBGZsV2Hbk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=sP8VzWCYhjWHNBBFowT4H3XJyvgglVG91ptMkqED3qtuEQBEvAuai2s2XWAeITyJC/Ek7Qhgndybkjp7z3QEQge6ZzDZcZ1pOsSA7veHoewt0WLwgK6nmcAgpth9NOUmOvsnV4g0WWzob0qGa2Th1MduWrKZvc5fefIXtBa3rvo= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=Xt/DLhHC; arc=fail smtp.client-ip=40.107.241.66 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="Xt/DLhHC" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ll3m5i9UB4X3rH/4b4llyri/IdGUZBnoSb4hLffRPXt0c5/nyb4WWR2YeKvYJHVaBwRobjZp6DC5YDZ6h4L7iSL5LlmjvtXKu2iBqzo4/9+jNYfxef6yvnhrTMy5ss6O4HyoW36lrYnBteaaQTj1R2rbU75LfDAH+ECdJTm4ePtscO5SDFkNNlFKTcT99QF2D0nULc03nqTRYX4IxbqNri61prm0hXgBGbtkzPxzowZcNPWcEUvtAMClX3dthqcXzUr7LTo+3jqNd+v6QWh9FLVQIXql87KF5CJ7usvPm60YiDu6x7RIgq2wRS5ec/mau0ot86vmsUTpGErPjv/FQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=CXnETvKY5BUhPageFT8Pvdntsbhs5wSeCgT5SuhCiUw=; b=AcQS3JDBEJMmVXnpkUlYjQb8MmOUduoLEzsqZkAaxYb1JDNCoRZ59kWI1XJ/d9Ut9LM6fEU9EZBbxvfrYRWHj6LUXzaPKlON7lXRQbAt3x2T0gbpDlPJCHJG2Vr9M9H75pj7S42OfQpfOtG7RN6talVbasRVZes5Ttdj9CYIwR83UD2T/NMg0J2qnXhfRiL+k/zhxGw/SeO2F7x7CnnzRqWaUpOj9CxvRYd04hW0FZIe9tsvKmsNOtM98Z22yN+TDFd4gdGyTvdZszzgZWY/Nu20dZMdnLu0EXAJe1Zx3E/WJ9+CI1aEaHyUZFTy+M7DVrIeJ/LLOkJyQF1g/wlIbQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CXnETvKY5BUhPageFT8Pvdntsbhs5wSeCgT5SuhCiUw=; b=Xt/DLhHCVMyuCDfX8JzdLOXdsajAjQPM2SPhqCuMaLbBJ3ZFupYx7uo4dr20MGsA+jpJY6H1MFWchKsrZid45pHoSWzfg3k6VGir3Y0oPMb+m83UpAGABD1JNV9TTHOPM4lWJlhXA4dIgxiIhjR//lfA6FA0g8ISmVgiAA53yYk9kQZLK1tLo6PnltMIcVYz5THxxhxz63B1eKljHfMjVHCarl2S32Nh77rtZ4VhgPEtP609sSEMbmSXZL2g/3qnMn7vXno26B/LHXsRwSpc9xSlhYN+jlVK2emERI8xcy0HHJAYvpu60HQ141Y3P6eLfPa8YfOqF/GD0IM/sV61mg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AS8PR04MB8676.eurprd04.prod.outlook.com (2603:10a6:20b:42b::10) by GVXPR04MB9927.eurprd04.prod.outlook.com (2603:10a6:150:118::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8207.28; Mon, 9 Dec 2024 07:40:18 +0000 Received: from AS8PR04MB8676.eurprd04.prod.outlook.com ([fe80::28b2:de72:ad25:5d93]) by AS8PR04MB8676.eurprd04.prod.outlook.com ([fe80::28b2:de72:ad25:5d93%5]) with mapi id 15.20.8230.016; Mon, 9 Dec 2024 07:40:18 +0000 From: Richard Zhu To: jingoohan1@gmail.com, bhelgaas@google.com, lpieralisi@kernel.org, kw@linux.com, manivannan.sadhasivam@linaro.org, robh@kernel.org, frank.li@nxp.com, quic_krichai@quicinc.com Cc: imx@lists.linux.dev, kernel@pengutronix.de, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, Richard Zhu Subject: [PATCH v3 2/3] PCI: dwc: Always stop link in the dw_pcie_suspend_noirq Date: Mon, 9 Dec 2024 15:39:23 +0800 Message-Id: <20241209073924.2155933-3-hongxing.zhu@nxp.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20241209073924.2155933-1-hongxing.zhu@nxp.com> References: <20241209073924.2155933-1-hongxing.zhu@nxp.com> X-ClientProxiedBy: SI2PR02CA0040.apcprd02.prod.outlook.com (2603:1096:4:196::6) To AS8PR04MB8676.eurprd04.prod.outlook.com (2603:10a6:20b:42b::10) Precedence: bulk X-Mailing-List: imx@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8676:EE_|GVXPR04MB9927:EE_ X-MS-Office365-Filtering-Correlation-Id: 8bc846e6-9d5e-460b-c1e3-08dd1824ba6b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|52116014|376014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: hHAiXQVQBHLacsTdNiKx39iHqk9HB187CozviKIpsaG730Oyh1GIYCbM8QUJ5CAcIKLqHXmOxTaKhTHPgZJHb8zkTnFQCtIeYAbpmaZ8PyeFUDcEPW66PK/ifxYdxw5AVJLdxfgygbaGD+RLtKFG+Qi/slDcX8zsEOIol5Zv3DTmiEB6bbXJOF/0GvxY3SF4fKPFVwbjT2aepXEDngA09ipq7sug0lV7nS416IRQvpF4OZ7MybwFJoprLBZ2HzW69hmfiHsrxt9r3dOGvutdzfd79j4riSKfagx4D68BoRSvnb7VzHUium7MX5x/2RS+bqPdP2qd76VDtoiQ6FqNs0C/v5Dc+oizsn0+N2IucM1CWtclFgskQF5GSeJpBIU5ZKpiw8HqbEi9omqweGNVSFSsdulvyzE7idgCotZ0hIzEqejLzqjk4lyno4mqsWUu/rC9X2YUuyHqAYwsXbsG8Xfs1XDViyT7dlUk3oB+NkKmS87dMi5Ujt7Y+a3VY9HUpFEaCoJjSLqhhUbWgZCMqG+NZnAYTJCK0zkClTESS4wCzMZEBUjJq6QV40K4pgWPaOQD14duo3VZFSDeJiwG7dK+yONuOlXkxLeCeFk6KM/eJEDZGtgnNWUuXPnSBgJYSwnK5ICU51KlqxjDvuFW7AsXDle6G5VF2NxdLEP/KBC9CmRbWA7P5r9UJs4hTabnbHmeyc952SAoNiBlNuyqeP8TWueGNkb4tvQXL1FcTgnlCrvYnobB0Od9i+HA6+s2Z+I4M+x9eIQ4TUSjfmr3yhilqd1PHEUe8tu6ZKgXVu+tzbeEz9UTqlS877sYnX7JxO/XWXMbPCFg9dtuNfU4jsHj4uBbBikN2JAwMV/NjDkiR5DasImm4T+vWNT7HsI59Uz7/KoIL+OMcdvlleLIH7GGz0JS1JqQuc8Lh322o1Ca5rb0p3FftH2y7szHFNE3+b/z1GKA5W2jI8hij2e6fFAFFkV5Zdjaci+Vt7usjX/b/Bsob98F0TN4+NV3k/JEl1MgPyVljWiybEanSVPgqyNbh6ks/UQ9rly/f5upIc2V5oLiMqvREWIdnAnTxVUFGDqdKvBxusprcmeBjjbYy/5RShrrk9/KVPFjfrgujnF8l2JWBz5Uv3paapV4gh0LAbx0bUkDCCRWhyQilyuILaQ4A0pn+Z13SU733n5c4lnIqJmcYR83D1uSbkbGTA+RDKIHA1nXpUS1gqw2j4CnjYYeyvhTvgGzkzOz9nYCecIVzsgHjUXNiwTsxDiwpwbercqMakylvlAVu2KfOwFqJ+L7y9TF72vgP1Y4ol2hAUOoEcwMkyIpiIdR/ofzJMFXUhj56XM0gWI3ws/OWxPiDI1SxNYCGuSRfl5U4OJaj3XqIHMfLPOc8DzmkIHLraqNQJ318NJ44vNWZThTl6eQxw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8676.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(52116014)(376014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: N3cwSC63WcAQTGQqkBzTDWtaYuvFlDUOWWipc0Is0kRBf5Pe9F/P0qathsUNotnAWa83Kv/2pQ1gQQlfXN/tJvezatqW+R0yOSK5cXn4BTFDHtajtUye+Bxrdh0abIAH0R8ZgChOSvcaMCizTBPfpS18B5UWx/7PE+rDFAwV/o5a7ruWko+ccTiB7FQNkVMTdy90RKhOJZUi8xrFdzk4MbjTaU8ZcTKtngFz0NUB58265jOKaVic3Zq7jEt655W2R83PiTnCvLIfLRISq6rfKG7KLl4wf8SYg1CG3iKcPbFg3hSUKO24nDSDRNhHy7Ju5N4+GTha33+flkRkSAG7Zuxco37CG04ov4EeBtwOlPQcy2XcBG90q9Kh/fP0bFTAQ0KA6fLLcR6AN/ug7sYKdZd4c9CN8bHO9pBqIGUW6nUxVOmSJp/LZi2sg1lFk1GSdXHi1ZR2F1fZ5tOKMRl+ivcFRuY9DtPsJZ5/jCcvcoWo2+kceE2acKunPvNMxQO0PtdTcl4rAXjOL3HrBRc1BzGKOO6zJPKyg02arT1ttBI/QkcSiqHXn9V2W1Yuhtep3gwIBnai3dZV4A3wGVmGQrhXRwU3+lGyBsQtrZU860nUF10Ns76OLRxjxdBDu/OVZLbcE6j5ZcK1L3gwIOYUJiFlW0pkb8RT1l6jELHy9lhTVPugkpkGjAxmwm6adUBuSJCm0kDDN+W5F8uvTd/KFjNrLsTZ0cq5Uwf8EB6k5XI9wY8WOMsERLsxOdnDY9FdTHrI7aaL3EG85Ni3MRnf6ycjulql4H4DO6XIRezTnxP4mzlcjCzCfBeGKIQkiHVhMgVAuHT0EzwGdclF8uST+7XjJsVhsmRQJ8stw2hdjbCIAYB7MGLWY/pd7wG+XSM7d7rdezNfFHhSAzqiZf5aLmsh7300mpdQpQ42pgRoPG4Ei0ve/TJUSh8A0MNqHJVP3UAi9OVqnlR11U1JonDkZHnCLX1ud+Salli+79uxVqxuolrZyQJ0YERiAOoxp5rZYnKoRy8lfegFTgkOceuvo9LTOG+AI6M1f7sv5wKGUf0SVFhwIeMvdAPaD7tVSXn23D+o4VntmqdeYHOHj3zHxPrSehoxavHvm7LAO6dWk2ckv6Zrs6DLnVPKZ+HNI/DPSvveMxro7Z40OJaLZQDPBYbm5UhT89vFdqcuLzlvpEIaI+RSNmQsX6qC3B3PCF20DJNfvD325ob+0TspcWiablw31KHHTDuhnb/MEQdqe3id6t/OC9Ir7a0hgMtb3qI0jvung13MXAg//744XKYQOZrwNR7gK0ldbU5efddaOdyybj2Nd+Ha+y+4rxHmL5p4qYekXw3UFw4mFHuq6KxP8USKyYNrz5eJXxcbdguQZjyhJX7q6eqLIG1cR/y57GIKvTo/liL6prXstOqlAeUNp5HtrFFbvClCSv5FwrtnH1vECz74f6Nf+3JE8mrnruxCcJhsC+ROyR5OazVJskB7C57TUVCNdI4Eu574HPsAgZP2jkx4x4o7Y79Rg63wMhTmvT9JQQZGo7toJkD4UbBF5rcu3o6Vov/scHsmNuDUCjKiripTRpJkyX/ZjC++F0uy X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8bc846e6-9d5e-460b-c1e3-08dd1824ba6b X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8676.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Dec 2024 07:40:18.4877 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ZIfjA3eouWTVJDflJ0anJqZuaWmsELC7QjndrG0bG2w1dQvLWOEkh15OdUxDQdoDzT0/U5xVAE/byvjTsJrvuA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB9927 On i.MX8QM, PCIe link can't be re-established again in dw_pcie_resume_noirq(), if the LTSSM_EN bit is not cleared properly in dw_pcie_suspend_noirq(). Add dw_pcie_stop_link() into dw_pcie_suspend_noirq() to fix this issue and keep symmetric in suspend/resume function since there is dw_pcie_start_link() in dw_pcie_resume_noirq(). Fixes: 4774faf854f5 ("PCI: dwc: Implement generic suspend/resume functionality") Signed-off-by: Richard Zhu Reviewed-by: Manivannan Sadhasivam --- drivers/pci/controller/dwc/pcie-designware-host.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/pci/controller/dwc/pcie-designware-host.c b/drivers/pci/controller/dwc/pcie-designware-host.c index 11563402c571b..14e95c2952bbe 100644 --- a/drivers/pci/controller/dwc/pcie-designware-host.c +++ b/drivers/pci/controller/dwc/pcie-designware-host.c @@ -1001,6 +1001,7 @@ int dw_pcie_suspend_noirq(struct dw_pcie *pci) } } + dw_pcie_stop_link(pci); if (pci->pp.ops->deinit) pci->pp.ops->deinit(&pci->pp); From patchwork Mon Dec 9 07:39:24 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Zhu X-Patchwork-Id: 13899031 Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02on2066.outbound.protection.outlook.com [40.107.241.66]) (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 82E7021516F for ; Mon, 9 Dec 2024 07:40:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.241.66 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1733730026; cv=fail; b=ENjAP2ljFxqJ5MfABfsLD9C4GU4/WK6KERHqSqGqg6GxRGQyUFg4uxqroU4zq0BXk9B5CNIskP9Vw/cs7YayWGVmKmx/7te0At6nBn7M4BIc7gATqe1QKrzSs+IOzOpV3kEhs/lj1sm449u9ELMn5OEvJBy4z1CPZfeVfI32zLI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1733730026; c=relaxed/simple; bh=iYqfJb8IqgktArfm/3T3a1LNBeinrYa1RBufQOUepo8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=Cr4g/UJDUeUE5ibsyx7w5eeyRvFSqgHpLMPi2nOtdYN+N7cLKQJ6PcoANm8iP43eLa2fwuwhNhyKobpNJfyUObtRpkuykNwUfBhMsgD37u8IqoxPXlCsCRpLrEmydR6tBj7JbUy/JamZ5DBGGZT5uDJSTRWRCT25n/NCLHDCXLM= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=oVlZL6Mb; arc=fail smtp.client-ip=40.107.241.66 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="oVlZL6Mb" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=h282amhRcR5Ium10CXIEw5zrs1+weAITJt+ffQK5jfZ1jKWZXE0soGL/Hj7USKW/hudVRxMUwbT85+Ct8vYwvaqDQ9u2yyRqC1rJNv64w/HRwWUyOoObKPRrl+x11dlheLKvUn4o71GpuZxirlm6WNn+FPJmEYAm7L4a48iO0U/o3zUIeq+XojJt6dTwG/hKbaaTJ0x2pPH1Gsdo6MzDUPCCtqZIKghxqbgkQHU3CCTBGh54tO/ZRoImBlG/bycS4WAvg6nwZGD0dH554UKzu4LTnPU2NLjyFBoqwqhb/ivMx0rT+rgY+FIbIp73GcwkkfPOtqRYBVKmj5gwnJIxHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=GsRfcRi1dhGHvI64BtY4iXvSpC03+0YIzrGgFwfHBa4=; b=VTPf6vfLugyD1Axjp0afoHr1BMBLUo37Wue6heUl1wn7TCb24zVScdBx9R9Jc2AzheSfVrRp7ZAeLZPfkMESwvbOwfabWvDC7OtGnld5usQkKkszdmKvQGGjOy6cHVGgaoWnJRJc9p78WNlNq83mM2rUrMoA7PBCNWB0bcAu6rsic9VRiDRTGKKXUHEyHJPMCknfEhBKPcYqgwvDaaMm26YZYD8EauCi9vMz4hA53PDBF+CrxD+rf7cEK5qNwkisUBfVp3mqn1g5WcsqH48yDVe8wfyn6iJ92DW8flALuoe2+i8KRbc+r7KUitYEXyNw/AORndOKLnHNZjj5gV4gMQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GsRfcRi1dhGHvI64BtY4iXvSpC03+0YIzrGgFwfHBa4=; b=oVlZL6Mb/CKHyTh+nw4eah5nHJ/H7+CvZ4rOSNqSa3RMJmyA8uXX5FdXsa9S0PU7wfvLvoURXCE1AnuCrnpK6Md2qVZZcs5Nrq6hgKNSJjVGtdqly3+PaVbuFObSbKQr3QO/sTo9FacipMASlVVlEhD5GHhPelvsagq9oiQJhi7YV5gNMRIRIs1TfTyY93p61NvxAT4SzRQD5edEf8XfavIuNckipVsQNpiqBedDcJTxrbw3k1Fm8FZWPCR37GKVR8oIGXUrKkhezTX5M0dBApvrTQtOxBhAJ2j5opNgwsE4HbP0m0DtXx84P6kXebjMWdAth8y4wOthjz3Abe/iMA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AS8PR04MB8676.eurprd04.prod.outlook.com (2603:10a6:20b:42b::10) by GVXPR04MB9927.eurprd04.prod.outlook.com (2603:10a6:150:118::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8207.28; Mon, 9 Dec 2024 07:40:22 +0000 Received: from AS8PR04MB8676.eurprd04.prod.outlook.com ([fe80::28b2:de72:ad25:5d93]) by AS8PR04MB8676.eurprd04.prod.outlook.com ([fe80::28b2:de72:ad25:5d93%5]) with mapi id 15.20.8230.016; Mon, 9 Dec 2024 07:40:22 +0000 From: Richard Zhu To: jingoohan1@gmail.com, bhelgaas@google.com, lpieralisi@kernel.org, kw@linux.com, manivannan.sadhasivam@linaro.org, robh@kernel.org, frank.li@nxp.com, quic_krichai@quicinc.com Cc: imx@lists.linux.dev, kernel@pengutronix.de, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, Richard Zhu , Frank Li Subject: [PATCH v3 3/3] PCI: dwc: Clean up some unnecessary codes in dw_pcie_suspend_noirq() Date: Mon, 9 Dec 2024 15:39:24 +0800 Message-Id: <20241209073924.2155933-4-hongxing.zhu@nxp.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20241209073924.2155933-1-hongxing.zhu@nxp.com> References: <20241209073924.2155933-1-hongxing.zhu@nxp.com> X-ClientProxiedBy: SI2PR02CA0040.apcprd02.prod.outlook.com (2603:1096:4:196::6) To AS8PR04MB8676.eurprd04.prod.outlook.com (2603:10a6:20b:42b::10) Precedence: bulk X-Mailing-List: imx@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8676:EE_|GVXPR04MB9927:EE_ X-MS-Office365-Filtering-Correlation-Id: bdb9d542-6fc5-423e-29c9-08dd1824bd13 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|52116014|376014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: Hoe/Mqwx42gXs/7OareNaVnICkxG5OjwosXt4/756sagWhX7t+OamIKXXbP98vPZKWDh2jGNQ+LrzDVCyahI55BYh9+2eCJiY7TMZa3GyAGodahHJAcpTokVrX6QBCgpMLY2HAj2r0ULVcLQruMP9UkdiQP6d8X6AeGBeqcqHpJYqZR4rW6tucLM82swU+hN6mpXTsD/Kp978wS5fa1VqVniCageeEMOi2hzp8XTjf6uPHohTK4h7pdQuN9kceDw0v/niCCKSuJo5q4SYGOtWo4pRZ5iyaJtLEMHg3yxAecAh660vW1N2aca8IAJM211YVGMCDsNGhecCjJdgVWJuvnbX3FD/H1UI+JjgD1XoUkL+D+GUZbnLT7ZaEvxE0XxBCNqJ9aj/Y9toD0AaDkIuqOTdWDyFKRFxiEfc+26Z/kGyxQngdwAG3qAPLDsOgNTCKnsGsdWuuTz+u3kDJM4jR29ywVwjZwvJ0oYjYPrRvTi5zNlohZKUETOOh00zj754vM8d8D2r3C8yHVHznaZIi7ij+1jaLsqKekxdWoHN8E6/ZpkYDPS1fymmVU+Z9w4vAhZGOQ3cFsY6VDQAoy5TVyL+tamPGy/2YVcEBoNQMIu2x39BPiJ1fD6d08VtkbW2RX2eN3CUxgiPNTRlk36W3gjlLtn+pkJnpgDfrKKM75/XKg4dkGGTb+R9ikaj0uRhddR1d2gzaeThlblGUZr3OuU4BI0EIoxyiBhce50QxbE0BPk3zq0lETiOTadqJ8gEofDz8oi5+65+T+KhrTaO++2ZY4KULTKHdYuDv1L9q2QtyhQ02UmWtYQbe1eiGRO2TFBFgptxLeEKHy2uzDmttgV3I7rLkTP1H1C/Mpo1rP4jaHJ+BLT7N72FXzUhazljxLfRRVUTTGTsOCuWxrLFIoATOKOkgD0ryIsxvoASIhyjmLWVMOaT8OIryWEqWdzdzQbvXkJuR0GCvVeOlgQCCFg93Fdz0n4418fG+s+LtXgUDdjFPh5H7Bcd8JIFGnT57nnA6V8lUP5jPihp2PVxE5Zsdt61zhlmxi8JCCIrIbwGkCGAk98OghKGnqccOxYqFXVDwx6df0S+nuaSnYnrokNPs457QFmxeX4RkzKBkqtfzhvcRTO2bGrXXZJxSzQa1vnOljZ/kFQExcqOdaUxMSIiG8Wk3YE1BAainm/9IMPkLJfL++ELYVbxo8L9MURkM6V5TdD98PG+oDfi+oYyS8P7rz8uTWxO0NJG8wUe8G8BkFgVtHnf/imzpt6+kLQetOV+hbTaC8p/sS0/MhMYaG1t7RP3b17GqjfpqaVnx9ZCgvA0QVX5jGs9WpB+wLilaNdRwS3WwRIInOFiAnwlKBaqadnbqeDcq9Tr1RRT0Dmlpr7QpQzJbOZyUjI1Rj3YHe/9+2fPHHtV9mq/Ig8Sw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8676.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(52116014)(376014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 4XVAnA8rsVRF3SR+99pGbfumygIexk3LRlebyuyRw9s1F7L2ak5/NBI/o2Tp+DTsdL0Rr/S2FDHC+ZQdPii9D+H8x4sdAxZ5EmrwNzRZnb5eGZLJ3cx4BVLbscbZbR8dRx9KHfDYeCSyxW9odTxnnLh9v0e0P0GVNiropHWeMvwrphfZ6oxegWy6wkmC1FGo8Q6gOeAiB9yTiVGlboj0EwV+UZ7wNR2VS9mvmp1FsodCWIXIq11RHX/1OBesJt3b2Z+ScujPApXdLHP7umwlX5Z64A4QnjbxOI5uXDUmnkOISy4LnGTCG3rSDSPKkhw+H1J5p+cs9OA/7YQ6eAV/ua2ZB2q4mn4sliDB2weAqnp6p8TXbbWHTU2hSz4TdVvsra2LfJrjP/t+fTcU7WniwKh/KFA3685mmEBI0loiwQMkZbH0ZJsuWpByFAGPa/R6ihvUH0eDP5AmSQAFCTMAc8AQS+nu0ARDPHIctjDICK26+iB4hXW+ooDTKgpUQtyYob5/MIU9cigVHqdJzhFK7sDR0vjivz9bgsMVXId5TVJmcyuNa7PYEQ5R2KsKZvO89b8dkNhzJwpzVHXzrhm8ST3tXpF1TTxXMJRL7Nv3g3Gxdb1RpNXEOJqH0UtSuBDRubXChg3TkBX9e9CJFCvk2P8Oj2RT/Ae6DITG9ETh/Kgfu8S/VELjU449VyWcuAOFE7IK0b4sSwnqWAKL1Hplfrbklq9gIrZVsnGe9AmfDQyTN7I5xtpukUelVxXa2d3o0ZVpdnD5G2QKN5GNTqqwFg+5k0j42SQB+1SK5iyudjj+/frTB6vI5nmJyqOn6npjE5HKGTDULgu7NbpQFZoi+6db2muAlui+55SULO4SACKF+6l+T3OkpjniNv5hPCBc61jnT26oLkJ9iUEt6y+SOQvIvInnT9jvq9YE4NcMZEVmq2OKQEwLbmrevkM7ScWLywJNgqcFDJZfttkcGkFMsI4/bSr85DwrahSFCueOl9T2wVuYzKCw/vhYUORdsZo6oSjIJvu6zTkdZuFlSG+gjoe2oPw9ngpc40ispd7vwmVG1uMvngFn8+rWzNsJXSzEMzyKmbozICXGtLX+xGPAiU+1VWgSv//SibRGpNHLIQCu7yrOL2O4e/aVBgWqCYEbupNeB7/HwjDn8m/fh3ouBvrC7oSPGF6SdrTFxvwOgLEV+EvFEqgxzTG0+XPSxzzdatKzV3QVR2/r8JyfRXzpGAb9lZKEFMOGjfJJ8suLNqLfMq4zb0gg3/V2BJqpXdIzM7x9xYJQ4GsqAdaWPk/uSz0H605W5DE/gHt3zFuF/lUpg1mFIFabx11mI0obf2x+4rx+c7t63hwBg7M7gBlV+EVQkL/vZlIQEMAZbBYqj2mPXQ+YppDumt7AOYBGR5tPlq/kB0PV6fNnrm+SA3xsDEQyL+/ymOLY1BbmXWdbuxF4wYD2SJMD4u1cZBIEuWlOuWxpv+Q+qcABroWugVpeU6WZbs+HqOB77fzhfV1jYwaRQ2xfbXLBtMQZvyWxrQdmOh5vtxzEZA2s+QdLuEYzyt6MF1qcnT4hEcNsxzLgo5jgUM2TgbOLC4h+BgQb6KGW X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: bdb9d542-6fc5-423e-29c9-08dd1824bd13 X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8676.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Dec 2024 07:40:22.8451 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: AjxO8XVKAvcuSzAnWF9rhdpHTtiD2aDbj1xFZw927JWvcrmGdXd5OOvcxG1Q+pi8G6kR2Ku+TFykOGoxKw32Ew== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB9927 Before sending PME_TURN_OFF, don't test the LTSSM state. Since it's safe to send PME_TURN_OFF message regardless of whether the link is up or down. So, there would be no need to test the LTSSM state before sending PME_TURN_OFF message. Only print the message when ltssm_stat is not in DETECT and POLL. In the other words, there isn't an error message when no endpoint is connected at all. Signed-off-by: Richard Zhu Reviewed-by: Frank Li Reviewed-by: Manivannan Sadhasivam --- .../pci/controller/dwc/pcie-designware-host.c | 38 +++++++++++-------- drivers/pci/controller/dwc/pcie-designware.h | 1 + 2 files changed, 23 insertions(+), 16 deletions(-) diff --git a/drivers/pci/controller/dwc/pcie-designware-host.c b/drivers/pci/controller/dwc/pcie-designware-host.c index 14e95c2952bbe..02e0e8c255c70 100644 --- a/drivers/pci/controller/dwc/pcie-designware-host.c +++ b/drivers/pci/controller/dwc/pcie-designware-host.c @@ -982,25 +982,31 @@ int dw_pcie_suspend_noirq(struct dw_pcie *pci) if (dw_pcie_readw_dbi(pci, offset + PCI_EXP_LNKCTL) & PCI_EXP_LNKCTL_ASPM_L1) return 0; - /* Only send out PME_TURN_OFF when PCIE link is up */ - if (dw_pcie_get_ltssm(pci) > DW_PCIE_LTSSM_DETECT_ACT) { - if (pci->pp.ops->pme_turn_off) - pci->pp.ops->pme_turn_off(&pci->pp); - else - ret = dw_pcie_pme_turn_off(pci); - - if (ret) - return ret; + if (pci->pp.ops->pme_turn_off) + pci->pp.ops->pme_turn_off(&pci->pp); + else + ret = dw_pcie_pme_turn_off(pci); + if (ret) + return ret; - ret = read_poll_timeout(dw_pcie_get_ltssm, val, val == DW_PCIE_LTSSM_L2_IDLE, - PCIE_PME_TO_L2_TIMEOUT_US/10, - PCIE_PME_TO_L2_TIMEOUT_US, false, pci); - if (ret) { - dev_err(pci->dev, "Timeout waiting for L2 entry! LTSSM: 0x%x\n", val); - return ret; - } + ret = read_poll_timeout(dw_pcie_get_ltssm, val, + val == DW_PCIE_LTSSM_L2_IDLE || + val <= DW_PCIE_LTSSM_DETECT_WAIT, + PCIE_PME_TO_L2_TIMEOUT_US/10, + PCIE_PME_TO_L2_TIMEOUT_US, false, pci); + if (ret) { + /* Only dump message when ltssm_stat isn't in DETECT and POLL */ + dev_err(pci->dev, "Timeout waiting for L2 entry! LTSSM: 0x%x\n", val); + return ret; } + /* + * Refer to r6.0, sec 5.3.3.2.1, software should wait at least + * 100ns after L2/L3 Ready before turning off refclock and + * main power. It's harmless too when no endpoint connected. + */ + udelay(1); + dw_pcie_stop_link(pci); if (pci->pp.ops->deinit) pci->pp.ops->deinit(&pci->pp); diff --git a/drivers/pci/controller/dwc/pcie-designware.h b/drivers/pci/controller/dwc/pcie-designware.h index 5c14ed2cb91ed..7efcb4af66da3 100644 --- a/drivers/pci/controller/dwc/pcie-designware.h +++ b/drivers/pci/controller/dwc/pcie-designware.h @@ -330,6 +330,7 @@ enum dw_pcie_ltssm { /* Need to align with PCIE_PORT_DEBUG0 bits 0:5 */ DW_PCIE_LTSSM_DETECT_QUIET = 0x0, DW_PCIE_LTSSM_DETECT_ACT = 0x1, + DW_PCIE_LTSSM_DETECT_WAIT = 0x6, DW_PCIE_LTSSM_L0 = 0x11, DW_PCIE_LTSSM_L2_IDLE = 0x15,