Message ID | 20250408065221.1941928-3-hongxing.zhu@nxp.com (mailing list archive) |
---|---|
State | New |
Headers | show
Return-Path: <linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org> X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id AD1DBC3600C for <linux-arm-kernel@archiver.kernel.org>; Tue, 8 Apr 2025 06:59:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Content-Type: Content-Transfer-Encoding:References:In-Reply-To:Message-Id:Date:Subject:Cc: To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=ByoIsS0Y9gejDZtYsfbxMCXFnVvtOHb7zUuz/KDdnBU=; b=Q9cRqNIc6QLc3mBikQBvxJrAuT g9A8svBMokNglTlLVTEyVewac0lu+xHt7Qh41iYXN0m8iXwUOp4KsCP6MUeXXJDXO08nV+oFPA6BC IquuZgQmeoOqNoMFJf/Lu+y3hvp/9B80Nx6ii+PfiYM/WM2PcL1rDn/WrjdbCNpwdayFE37QgtLhd Ejyie8hxk7J8WppXGfIkCiQBOj1exxGoQeCQbsfftiG0oKEVZsui0Y49vcCIJfoCUuEI4Ap5zXJam KBbuM1hYDvh6IhT+x1Ebvg4QKnIMKVdn0H7Wxxmq6RSLrx3UpVdNgac6ioEKvWiNYjtCuhFuMzaRg s530obZg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u22vg-00000002yR8-2jMP; Tue, 08 Apr 2025 06:59:28 +0000 Received: from mail-vi1eur05on20613.outbound.protection.outlook.com ([2a01:111:f403:2613::613] helo=EUR05-VI1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u22qa-00000002xms-3j0a for linux-arm-kernel@lists.infradead.org; Tue, 08 Apr 2025 06:54:13 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=bLnpQuKqkm0WS7VS0xbC6IY284cjFSLmz8xYfpEZSW22IJvMdWM/9qIy4HXatsc8d5DnGtb594Loi4SLJIVSGVgSdiaqBW14o9DFlLjLwsVoHC/DjJKmazA5RqbSv2RL5e4i3BdDsIqOV7jX4/X40kCLAtE7bOCwWg/Uj7dhclKDmNrzgLVLrFRuoJG7JuW7SpAFLsIjpXT38NwXqbwa4LtqPXiSUGFBVD36WpXR3y7rBCIx/VmaX2zo+hY1Nx4MsJL+0hubuafWw+6rnoziPWYwfXPe37JphrYYc8Erdsj7mxPc6Y2//5AMpBdEFlhKohBybTicf/oQYZVuI+uvsA== 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=ByoIsS0Y9gejDZtYsfbxMCXFnVvtOHb7zUuz/KDdnBU=; b=pNqhRxP3+FSDzdDfH5+Wu33un5CzrUB4Qnn0EV9JKpIFNxJJT6lmBmRV3Ybzxg10JDXSdskEjynjUG7LjNAWOJg5vmJksJftAGo42MBr+5wsLSw7Ufp4uGboDx98kd6hDQkLkC2be2FehBatkFGmX/grNalqFPZ09bC0Bsuq0bhb044s5lsbIyc5N92iSQUxWoY6wK/X5vaME9FgAQrg4q3ceBRSYOS00ZwmCDGM4YxEIPynk9VfUZgurhSrdgCYA9XRzAerMf7ecGD6Hr1OvzCMUnwJoGO1KG0r+N2ajIXVKeLnjs24R9EFKvCMJkXAsggCUF2LNWTaqOAR50+wyA== 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=ByoIsS0Y9gejDZtYsfbxMCXFnVvtOHb7zUuz/KDdnBU=; b=kEgeRYAt4ocvccUXgxku0lZb6cPof49UKN1Vg3P4Tmpdo2+zfeH1mB/h7wCg3AJqYfRxOJc7/mQrN3ybNEZI4bg4wpcMFzExLLVBMdap/B3PomUrTtnwdakZReAngCoPGT907IErRhNJwrfEBjV/poS66ayyUZCTJ6z8IKQzoO9xoawv8Kw1v8Gkjv+WPapsUI0vtoltEMswr9vlQ+fVDJDeWKZ8dmWn3h1RxCYXOtqviIP7rpzqXbNz0tI9ojmVOSDpB0R2UvAbr5oI5Jf+9wTORzLcopDfWmSUANTrqPjQxicOWSZySJXMUbPAAc7Nsz5pnFQeSUJpQWZ7qwwSuA== 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 AS4PR04MB9458.eurprd04.prod.outlook.com (2603:10a6:20b:4ea::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.32; Tue, 8 Apr 2025 06:54:08 +0000 Received: from AS8PR04MB8676.eurprd04.prod.outlook.com ([fe80::28b2:de72:ad25:5d93]) by AS8PR04MB8676.eurprd04.prod.outlook.com ([fe80::28b2:de72:ad25:5d93%4]) with mapi id 15.20.8606.033; Tue, 8 Apr 2025 06:54:07 +0000 From: Richard Zhu <hongxing.zhu@nxp.com> To: jingoohan1@gmail.com, frank.li@nxp.com, l.stach@pengutronix.de, lpieralisi@kernel.org, kw@linux.com, manivannan.sadhasivam@linaro.org, robh@kernel.org, bhelgaas@google.com, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com Cc: linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, imx@lists.linux.dev, linux-kernel@vger.kernel.org, Richard Zhu <hongxing.zhu@nxp.com> Subject: [PATCH v1 2/4] PCI: dwc: Add quirk to fix hang issue when send out PME_Turn_Off Msg TLP Date: Tue, 8 Apr 2025 14:52:19 +0800 Message-Id: <20250408065221.1941928-3-hongxing.zhu@nxp.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20250408065221.1941928-1-hongxing.zhu@nxp.com> References: <20250408065221.1941928-1-hongxing.zhu@nxp.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: SI2PR02CA0001.apcprd02.prod.outlook.com (2603:1096:4:194::10) To AS8PR04MB8676.eurprd04.prod.outlook.com (2603:10a6:20b:42b::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8676:EE_|AS4PR04MB9458:EE_ X-MS-Office365-Filtering-Correlation-Id: 644a54d4-cb5f-4a64-52f6-08dd766a2878 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|7416014|376014|52116014|366016|38350700014|921020; X-Microsoft-Antispam-Message-Info: SV6AeXgHjafYcRr4cIfQd3yWQyHe+Z6Lkg2L4LkGc8+EpPL2WNxk4LMo+npplw41/jFrCqkYwEOruGBnx3qZoH2b+bcelvbnJEtkrXq79eAjgp1wxCaK80NJIhnVlJGSARqG4taosC7sM5c5qPt+McQrWYd1/gyCgR/DTBqY6XekYa2RmW4Atvm+AmvrI5ESyZDFTsEjU1FzCmJ1YnCCnbva8ZPlkscU19glA8PG4gN5CXZpP5qp96Mzu6l9mhdU9pymY9LMS/s2NsL69/gg5SkCh6PKb4pA34clcJgG5Qoa+JwS9f8DSaD100TRWa2k8yLPGdIqHjE8LXSWEVpyh/ZXPSWwQ+M/XoPmymq/rJVefiMaDu/ZF93itfbumE4v4HIRt4e+GlezZR8fmLUSB+Mk7rYIr56/rUqLI9VmP+5sAJS4zK0BgtGeEGFXCopTIegUCGsSapJ4BMyQ3fmy4j8Mev22kFA7Fmv9snmg+UDIJMZk8l8w5S46kKRH73gf2qgPc7592m6xJ6/i1k2vD+YOGD/fIqUpIkpYEFkwa0HsKdn3lP5hgRu/MyFAobe+AAKBLZeB+zzSfFtwlSGs0G/s0OuqBWPWeknP/WnI3IY7rVUd10uBzn88Vlx1s7yTt0H49xR/OH6b4MUkf3sTxgsFqaPFDnwFFIThyOUBVKO04XFu2d+7hKOgxmuweCiyUnVQsNnhUoWloxgo5vH+D24aCHLpUJT9cFicg6ZiIfE9hQ/70fP/K5pP2+Ckg2OlXmi0o5EsaTnyBEb04xbKyqWdHD59kq0WYpJChYHpb9Gxj67ARSK+psYlra8OauCJn+V+wnJNpq9+M7Yr+Uhz3xJIt76sYTZt+0+2Ex8kQZG/5J4vg2Z43bpJdEcPmOZyQadGzTwJzh7RB5+CHarozITuBZyKrYvTFlDAMfK4dpGS5RjCFAm6lLyms+tY89LI6YJxJtAr/3zgoDyRRyxLyXIMLBnplUJcRVWJV4o1IrOlWRywDpFf869HQHBx1y/f7DZMN5vI/u7cyAiV+4KIj3vnBv6nJTxerWvY4wOCCZA8NbIkmZ+/A1w1uQUKKD/kPuDhIQNffA/UMr2+NVLzwPPiNHMRjZKf/fJizNS14G3/HiRwl8UtjJ62Rn3JegO2yMa3xkLducdcAE/nJHgv9CRlVwiLPV9I85k4gITwPf2MMKzkGQmjOpj7YBMrytTFcTUH5+m883WV69HwL2sxEgyFd5JmQzBZv62jzUMxPKcJB0Om1nnHc9mZRLfa3OhJBmI9Ha2quURad/drUQXs+44nSHeZiYG5UPjNPVCrrSe9zZKXK6NCcyhFxLooDYmiDLUzwvobQhLz1t2jVcn1PhVHoH9IcTMIDBltO9E7ICmuM8XFTcERmjigxriU9D3j9Bds9NftmomcEYIizQa5yVNswrTzN2+PRjnheKZfI3fQBkNfg4qq30jOgWnZ7Gt0Gd0XlneRd/WJU/sAqOrufw== 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)(1800799024)(7416014)(376014)(52116014)(366016)(38350700014)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: RjjZyw8YxxyzVpWhSKKSELLpTFWEWbTg7CNJB1VdHjZBKSEgMQGYvNWWDmAiTK4P8/asVqbqT8Mof7bnOF8hsYSfcYpdQKDT17eLCLEXBxr/yF0TAnR/39Uz0H+1ERRccKzuzJUZmJVCvDibuggS6YFIRtUk0M3nzjcNJFzc2EvQ/QqH6W+BH0R01Ko9wuxn1gIov1WH1Z2RQVq1SCYxBVWOi0UQfCt3/Rq7NKg/nc9PrK73ccXDHdg/+CYIsNfZOQMDSXgK58gPiu109NbW7pSWyPnVa7tVC2SIL+xtpzNmC3a7L2xPXO2UKz1fu2TGT9tYyy8F893OLQFpOwU97A3gP8+1WXvbmJ20c/Z8wFQuis+4Nsw3TCHpSUH5zUdmNoGYTmAD8ojrMmstlvWXa5p/mgZYrxT24N9dBaYROGWvYd/iGbCxzNAsXSR9ggqmlBQnVzuPgIa4rOBKHhqDZndbAhW92QqYahayg42DhVm1WDLbiuWOakGsI2Yq2ezhqzYEN7nk0yr0A2RaBhDCF0ECq+6kZjIXBBsl0mDOJVFFMjI1XBLhncnkgmgKPoiM1xbBA1jA6aXC5pWftr77NbugrYt4iRcABZYwIdzzX4WyrEaTPstOfV19ie6uccjRGuRqb3lzP+IGSDsRDm1O+Xaz9c8eraHqrHKYqPp2wZAolm4X3gWC1QjU+4qQYw16Jb8o3bszixYRhvRS0Mlz25KdOJEQ8vr4nNR/TRQIo3yBXkX2JwObmj1Na6yyxnKH+1SC6XYaK0+y0gUqCuXCyLbM8yM+inxdcNqK3oixblFsz3wckSZ282F+j6bccwkiinRqGAVRjvF4mva05Gv58AvAnwv69OlSwwhkhiNmkkVNtp2Uw0uL9d1Ji9AGdnBSqCL/MMEh8numX8J403DpCOvm+lI16Tx63uNWAlmRRVq4N2gCFfGchiGTYmKVtyo+F0SHg+Ms7xjOWnaRJb4kCj2Jn4iKhJIunR3pkp0hrXGbt5b1AdBoP7ctsprG53arlPigT1o09r5MhAV31JYr9JOPhPyArlXdkX+D4usHVc2PZwW1XQniS4YFdf42PA+QmD0cadnsYZffNR/od67V/fDs8geWDMJcKbfqx6EsM4uvQN1GKGIqd7pZ5dnbV2Euk1dCEkIMWOCxcKEQUPg47kAXiskycYoqWq8IVxFHPlpcIvJ4s9pU7/5NNlyNAJkL3+1ALCDg2Q3KebaxL3g8GbEQdQDpbs0A+Bj5TimyTJar34pv7WlTtdOOT/8X2D/glb0hlq0BycmvQU2s/NCW2kUmbIwhvcoDOuqZWJk3/METnc1JdM2ofvdRfHVlmntNLDaiKfkN6sWgO1Fu/xI1VnrE2YqGBYxJNk82pwi2zJQOf/kcTO8gTosb4KDCJ6l85Zg3mYUaFfw6ZJXQCqU5TgI51i3w16b2CYwg0ty2kmVG3JMDyrOqTucYFXHTuJsm3TuplUO4bWxpr+6EHI7/mMcL1xZmMwa7rtF5CmJ/+sHpA/zjygBPy41fLqjLSOVRN4pis1n//Fp/ZR4UXr0+ThKsas7ICWVVOu0XG/Oq59W3KcAAxjhd9N53QHdkMEBd X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 644a54d4-cb5f-4a64-52f6-08dd766a2878 X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8676.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Apr 2025 06:54:07.6319 (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: VpOyPiNlLPyzouwlN7aHaL7u33fRawvqWEfN/n0443HEPITOWicHHAaqxduX7LCZDcyzhH6ygeinjjuVHoCwmA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9458 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250407_235412_926863_17326752 X-CRM114-Status: GOOD ( 15.03 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: <linux-arm-kernel.lists.infradead.org> List-Unsubscribe: <http://lists.infradead.org/mailman/options/linux-arm-kernel>, <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe> List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/> List-Post: <mailto:linux-arm-kernel@lists.infradead.org> List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help> List-Subscribe: <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe> Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org |
Series |
Add quirks to proceed PME handshake in DWC PM
|
expand
|
diff --git a/drivers/pci/controller/dwc/pcie-designware-host.c b/drivers/pci/controller/dwc/pcie-designware-host.c index 0817df5b8a59..a62bf7e0ade8 100644 --- a/drivers/pci/controller/dwc/pcie-designware-host.c +++ b/drivers/pci/controller/dwc/pcie-designware-host.c @@ -956,12 +956,18 @@ 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 (pci->pp.ops->pme_turn_off) { - pci->pp.ops->pme_turn_off(&pci->pp); + if (dw_pcie_get_ltssm(pci) <= DW_PCIE_LTSSM_DETECT_WAIT && + dwc_check_quirk(pci, QUIRK_NOLINK_NOPME)) { + /* Don't send the PME_TURN_OFF when link is down. */ + ; } 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; + } } if (!dwc_check_quirk(pci, QUIRK_NOL2POLL_IN_PM)) { diff --git a/drivers/pci/controller/dwc/pcie-designware.h b/drivers/pci/controller/dwc/pcie-designware.h index 05fe654d7761..d752af660e95 100644 --- a/drivers/pci/controller/dwc/pcie-designware.h +++ b/drivers/pci/controller/dwc/pcie-designware.h @@ -283,6 +283,7 @@ #define DMA_LLP_MEM_SIZE PAGE_SIZE #define QUIRK_NOL2POLL_IN_PM BIT(0) +#define QUIRK_NOLINK_NOPME BIT(1) #define dwc_check_quirk(pci, val) (pci->quirk_flag & val) struct dw_pcie;
When no endpoint is connected on i.MX7D PCIe, chip would be freeze when do the dummy write in dw_pcie_pme_turn_off() to issue a PME_Turn_Off Msg TLP. Add one quirk to issue the PME_Turn_Off only when link is up to avoid this problem on the PME_Turn_Off handshake broken platform, for example the i.MX7D. Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com> --- .../pci/controller/dwc/pcie-designware-host.c | 16 +++++++++++----- drivers/pci/controller/dwc/pcie-designware.h | 1 + 2 files changed, 12 insertions(+), 5 deletions(-)