From patchwork Tue Apr 8 06:52:18 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Zhu X-Patchwork-Id: 14042247 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2066.outbound.protection.outlook.com [40.107.22.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 09A71216605 for ; Tue, 8 Apr 2025 06:54:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.22.66 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744095246; cv=fail; b=Kgc3FHYdwEjMzVg6et45qemcgpi1fZeA/Hxavxptj9r1ljepNB32rPr5psYwLcs4HjQs7WhH1nqm94JWYvR9CESyaXbPSxHgml8myqn4V5ZAUQ3YHvLcJVqc2xcpb9cZEebJo27D0I3H+KuxlpzNdM5Ph++L7ZPSctvGn/BNTBM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744095246; c=relaxed/simple; bh=yNJ4lQmpsaPwLdfaFQqCC9/uQq1ieJmnY2c0pW5v6iI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=CPJ7kzSJuXBToWhZ3PCwK57VQ6podh7veFkfmWfR9hfmqQCVh3sRcQq2ow0cFb+et5lw27QVLIHe360X6MDT2jyGiYDJyGQ7Xdw2nUdtRcABuxSF3+5fsngqDTfajaY/Sl9WYt/9rN6bSyXqfY41RyHrBFiFIfCWhv6EdsxmO7A= 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=TVT9JYoR; arc=fail smtp.client-ip=40.107.22.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="TVT9JYoR" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jcvMmcYB4kpBXvx1VGtLdsNglsOSZePEaZsctFmZ/HiA6AcKLKdmNCgBSGHxcNwWyT1Lrjgke4bGkvAHCbFc7Kf8in0RI0pSLZ3ymuINGiP6CHxEMciXme91ehbYCLqmSW23CwUyhxT2V0ucqEe635YPaWLNIZMKFbN+lLT23ns4VOi37EJ+3irkXery8t0uVJOQaEEKzggnoeENdiTVUf+cj3EjqiDSLkZ2zTPlZPEdF2aUsGt0wRg38lWLWEV3dTnA578mq4/crXKdBX7iWfKi41TNXlU9ROsgsM33bl0k0LPg6juIP3ox4TvQah+p4zKJjyFTVXGsNguBhHAXPg== 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=LwBzwADTuI+Olw5Y2HdB2HKD14Pf3MTlzMEhGDwYaYQ=; b=lLTetPWrpY6hT85wkDuDdRkpzSfLjg9qYhNcqbCX7mSP9DwoD/45Pqh8Uod4qACZ9PZ7QecFn6hZ3N6zb8grcBV+FVedyxJea6e9uslDX6+/7qQROM7zA8fxf/XL3OWJJJ1nT2Og+LjvuEVgvRI/AVOMbxCA4WgSdBkhT4pHK4oIplzrcqDNlKe04KlOkaYTSb1yUOvYd6+0sgjv565+Q7Lm8Pg4WOfpu660P/Yk6zRC6I6VPDR26DT9J/wIMfSyeXRbluo0y4KvKs7pRVGmdHDgHTsmEXvwrL+Wt2pJpsHwj9umB5AL49XIKILeJAzKk+qCaCoPIbJTLMtM78iPnw== 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=LwBzwADTuI+Olw5Y2HdB2HKD14Pf3MTlzMEhGDwYaYQ=; b=TVT9JYoRkB+j4/x7ZwN61IspBlb5Grn73iRt2LSypJb3nhRe1eW9rC6wJ3S/OxwdW122sa0t4eBDMAS8o0YkifLmVG7Z3ca+xQi7+sFgz9LfSyrksiBYpkgF2AvOuaJdMVwt261qpLWouag/mlVgx/93kNUNvgROuZkR4IFh3jUriLiyjRlR3XyCwi780wR671BBkMqQeIi3PVihDuu8twdMF1nEmnCoPQtscZwCGydYvfcz0DpffH8o/lwhfOoQXSD1pcevarSnstfokbo0qnczYoplx98tRe9CZETlk6wljp6bRaP8PxIEzeNptkP8Ea8O9g52CBDZjp7oMH1SVg== 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 AS8PR04MB8309.eurprd04.prod.outlook.com (2603:10a6:20b:3fe::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.33; Tue, 8 Apr 2025 06:54:02 +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:02 +0000 From: Richard Zhu 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 Subject: [PATCH v1 1/4] PCI: dwc: Add quirk to fix hang issue in L2 poll of suspend Date: Tue, 8 Apr 2025 14:52:18 +0800 Message-Id: <20250408065221.1941928-2-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> X-ClientProxiedBy: SI2PR02CA0001.apcprd02.prod.outlook.com (2603:1096:4:194::10) 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_|AS8PR04MB8309:EE_ X-MS-Office365-Filtering-Correlation-Id: 977d658a-922c-4262-ea82-08dd766a2571 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|52116014|366016|1800799024|38350700014|921020; X-Microsoft-Antispam-Message-Info: 2Jks64jvv/vs5RWlb14ieHTVH7dXap4GfybKe2R7X1+LNU36GJpCN/RQ2XZCdpIi6joMxUFGUQYibhS4zdXGja371O1GJRaXY6PSMoofru3HPHFCwVHi6O0tQDyZj0aLaEd6u9tZsNhO4FaEQFGdFQgSam9ZwXRIY4Gd9btpkbdFoLibKXnRnsFAtiCghsxGPNwn+m5dwQJlPmckz7gk4Mi71qkmMgWeFhY5aIR1mLK6uEL6d46IeH+N+dYLlqHpni/hEpBVBN+jCmuen61wnpeTitsVwUQ4k/WlIvMRnVBq8DMz7Gnc26VUJYEQr0NkbDnp2YGsGvMrHX34zNThNAsPDtMGLbfz1jl2gsH0EUYDe1VFZzaizkPcnhR0ZceK1ERPadCRKuMb+ayhyho5P6ALad3UvBfIqpmE7yv/lxF2q/4LkP5zpAPQUDOGzAs8Td1cLvDn1Fbpqq1+8cIgKZqxcV+mFVqaDFSTmV6MzFkzz6AJQD46lbPu6gCQH1WDy8j4NsxlSLkL0bMzjJ+EZNzLfwH2B5J65j5N2crnPR/bO11kM862EQ8zpXqOCVweAkcNyaQ/wNKE0DuBbHzax/WKIsGuBvBTUd26gsh3LglFdz4N/2NiObdvuMh+Zw4TLointHQ7CWfQlJRGIw5G/jiZlpKRVS6M9KheT0iqoSoRZkkSQi/f9LTM7iSQbzlWtgIMEAZlHuXY4FXuOULm8E2mh9MbtY+YjG0BRJFgjAAsPd4+uFDK5Nn7C9q4YhpDerHjOmmYpRsiddfg8HaWKS2OjqeTamWXdGuURvTTFB6wCaBfZVJB/ttqLe/QYrTpHij6oMP6GIC9Vr+zzU4okE5KzlctO7tH6LwvKtCITzkyGOp7IMrhuQG72F35I+OgiPaPCDx+3S+hwheJGeiySyzn8ap46xPdPlkRw9VNoxvHehAtbnIwtx9fqiz5PlUWHbNlijMAymb242V12KKCmVTRwdV2zvOv76G7KVfqk30OPldlhO6dpUuwvG50XiC8WFdSKHXDJjxVqFO/ZO7q8y42/ssLwN20qjuSe6Hi1NumgvFadTQ/vW3qBuF3UjS0vBOKm76dk/5DINO0W+zUrurSHrrVuT0N0FgY8mF0MC3mOuythxLgDeUS8jjmVPrtYaVz28tgEFKBkHKuImE4Caelo/X7DTxDzHtetY3zNgbF3f7Q0q11orGjigz7kwORKDh393nrbvihbQV+G6mSyKSAgzjXJ6gi/9Z4PofHroBnmyOncndp1Y343XppwhJ2B2gDfDiejeN1H+oQs61Eevv9DjljXev/MB9wQAUSEopgiljnHAr9rDRLw2wY3TXDjN4rtlkDboH7mbgzoG9V3QnEGeTtyNkgJoJRXi8V+6FJyufOU8XOk+4GYVqgrWocGWJc30lZ2rgOnR4gm1+7LVKYzIrHkJa8Fo4oBUjBuLyR8PB7+WuusCrdakwUM5OAY+av2dDQcOtFLR2/if6A8Q== 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)(376014)(7416014)(52116014)(366016)(1800799024)(38350700014)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: t+mqnFuRk9bUWTXPk4FlQThhZIqbisTeEz01HUWoUuHn2QR8PsgiIT9XowaBrlk4m1ErU7YlK9GQs7xQxVAfCKFQkjkhhRRWQAno6MqFTPD9jOFgL+PqcbkoCj4lnfDPHI6+yGkQeezY2af/GHjxuG6ziuZ0nFRfY4nKtY2U8njaM6Rqq3is9mnJgHwJEnxybpTh3M+jYqsAYs3JwxzG3clm7k0LzfpYgK4RZm3Ag/6VtnnfxlTTITR8uUxAqR2Tyv60uuZz+xSyEkZV2r6TaSUJjI+IppalL38yXt55tHNsDyKQqiriPh3lfRPlMUwCPznxWfJvp4mjvL7kQP72xyfx+GssjB7H4a7HJOiMpi3StmUxCp4tj4U1xWn/ybusTSZfQcNcPixxBUmooPY7n+Enpq/5nDCbMDz7cgAy1KXFkX3aP7CAR0H0TSCq7hOIe/B0L8okl6tK9y6jbkDH/cy9N76kbHsx7vNgnbBKHfefOqHcuLr8wcyvZPKa+UGh4LgX0g6RsXLB52E2Ty1NNqbCfApKTeZBiWiITZSo1nOmmYkb4G6UxXaUoEhaDagMFl+X3l0Bua3PBlgrl0yT4zJlbfqWHQGuyLz6/tmkn1VGaw2kSwcuN45LALsjeHfVjuiNMJArjJy3mQ/Q34C/k5i2PS+/IvgDpIJr/g7JbyJ5It6uIprDqSBnD39Ghqmg6tZbPvdgmi+lgBQ1rk+iAyHz9y8knvJx8TSQ8wBSSrabcGJ/d/ZrvbtRcAeNwZAU/BU0/3tsY5Cc0FgaLL19SK8eihlbrpYI9MdLu9xlcSwfqRs15Kq6eG2V64ZNC0f0MEZVG/EQiXvRHt12H/nIudqiNj/cJ5cNoqxE/q8v1ZjRZIqshzXJJTaEhr8bJU3kfDhmAuQ7luK9K7cKf9QxHZDDikM1FI2iCQytRcjXIOlpAtTBbd4h9B599vlpAzRuFi7Cqh5k7BsJvl8z2kRXcdPDZOCZ+6KVVTNjHn9D5Sx4rnhESRiVjeY3G1f8zoK2k8j88wPHKSRUuY3aGmcLu9HKqDFBdbrNG5c1R4sjJuuUP6Y6IqJ8fPFRWZAQqF3Ng5WmxcVayaof+1Nh+AxgYOds7uYbdfx7pAUCUCSxnb/BOLjVw2B5wrB+BsP8A9/TPMdRoTEszRgJfvXT8Rjd0IfbA061K55+jje3OZr2AxZS5eAf/REv+ntsjchXzojx3NPBSW51osdaqSo4HYz0g8+Ui9c9Jf2loxw0HXhf4lTYSbJv4tcJSuDAFQNIZN395Ztl+rNWdqiEA7+RU6LPxW147grukvb49avfISkRu+M1dnI1up6tQMidZZL08bBp+AHnnuFQEnhuSq8T6WgVIYLQR5TiCsO57IltCpBunTpELSyjM5HWPi5UK8k/wcZ3rwIh7nRiMwKRPTXvu/+iW6Fs2Vj8umuRJOzI55SmbmOGzS4tubQh1AY1RrA9f519mMmMH66UQiakJvKE71b+75fcDvCZQ9de0HmrncpBmMhhIQJtFGpbzqzrtijQWEAFUridheveI6Zs94EF5EwAHd27jKSIaetU1LHzdJA2kzHnupltUPsBUac8v18ZvMjA X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 977d658a-922c-4262-ea82-08dd766a2571 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:02.6116 (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: zzDsKHZDzPK3trymnieXkoeCmxxojwbYN+nLvsqZJbUvCYc6lKnd3p34ynfIUZwTXtt4LimqJ+3Jjlkp6dkwQQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8309 i.MX6QP PCIe is hang in L2 poll during suspend when one endpoint device is connected, for example the Intel e1000e network card. Refer to Figure5-1 Link Power Management State Flow Diagram of PCI Express Base Spec Rev6.0. L0 can be transferred to LDn directly. It's harmless to let dw_pcie_suspend_noirq() proceed suspend after the PME_Turn_Off is sent out, whatever the ltssm state is in L2 or L3 on some PME_Turn_Off handshake broken platforms. To fix this issue, add one quirk to remove the L2 entry poll and let dw_pcie_suspend_noirq() proceed directly after PME_Turn_Off is sent out. Signed-off-by: Richard Zhu --- .../pci/controller/dwc/pcie-designware-host.c | 22 ++++++++++--------- drivers/pci/controller/dwc/pcie-designware.h | 4 ++++ 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/drivers/pci/controller/dwc/pcie-designware-host.c b/drivers/pci/controller/dwc/pcie-designware-host.c index ecc33f6789e3..0817df5b8a59 100644 --- a/drivers/pci/controller/dwc/pcie-designware-host.c +++ b/drivers/pci/controller/dwc/pcie-designware-host.c @@ -947,7 +947,7 @@ int dw_pcie_suspend_noirq(struct dw_pcie *pci) { u8 offset = dw_pcie_find_capability(pci, PCI_CAP_ID_EXP); u32 val; - int ret; + int ret = 0; /* * If L1SS is supported, then do not put the link into L2 as some @@ -964,15 +964,17 @@ int dw_pcie_suspend_noirq(struct dw_pcie *pci) 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 log message when LTSSM isn't in DETECT or POLL */ - dev_err(pci->dev, "Timeout waiting for L2 entry! LTSSM: 0x%x\n", val); - return ret; + if (!dwc_check_quirk(pci, QUIRK_NOL2POLL_IN_PM)) { + 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 log message when LTSSM isn't in DETECT or POLL */ + dev_err(pci->dev, "Timeout waiting for L2 entry! LTSSM: 0x%x\n", val); + return ret; + } } /* diff --git a/drivers/pci/controller/dwc/pcie-designware.h b/drivers/pci/controller/dwc/pcie-designware.h index 56aafdbcdaca..05fe654d7761 100644 --- a/drivers/pci/controller/dwc/pcie-designware.h +++ b/drivers/pci/controller/dwc/pcie-designware.h @@ -282,6 +282,9 @@ /* Default eDMA LLP memory size */ #define DMA_LLP_MEM_SIZE PAGE_SIZE +#define QUIRK_NOL2POLL_IN_PM BIT(0) +#define dwc_check_quirk(pci, val) (pci->quirk_flag & val) + struct dw_pcie; struct dw_pcie_rp; struct dw_pcie_ep; @@ -491,6 +494,7 @@ struct dw_pcie { const struct dw_pcie_ops *ops; u32 version; u32 type; + u32 quirk_flag; unsigned long caps; int num_lanes; int max_link_speed; From patchwork Tue Apr 8 06:52:19 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Zhu X-Patchwork-Id: 14042248 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2078.outbound.protection.outlook.com [40.107.20.78]) (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 3BD5F25FA35 for ; Tue, 8 Apr 2025 06:54:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.20.78 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744095253; cv=fail; b=jjb/6061B47jB3kSABqYZ8qhh9we2ttwp53iD8WiqBBxUJp0x2wbkuB4ZGqvYdYkF1YEDmp/to+4ScmPWis2lMngUl7OkFKF/7WrH1nKFQYqsThRXQiNA5RBLMdTBVOsP/yXq0rQtUyagi/kqU8OkGGfrv6i6yHcojE9rDJgcw0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744095253; c=relaxed/simple; bh=SHAr4bIwn+J23k9fat11TBH6bHpoHxVyszgcPPG3QAo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=NDqoO5tywyW13AifprpPqdgcv3rl1tBBnZxyCeNfDejP0SRyZxvbVd9VRii+K7I+4DyAXX9AWIUvgdkNB8lKnX33gSmJgrgpk8QB6IxVyrCEQplTLt6komn7ZFhWHKRbtHSGrlglTArQn5UjfglJbHx6XcfqTTyG5lDza/78T7c= 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=kEgeRYAt; arc=fail smtp.client-ip=40.107.20.78 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="kEgeRYAt" 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 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 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> X-ClientProxiedBy: SI2PR02CA0001.apcprd02.prod.outlook.com (2603:1096:4:194::10) 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_|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 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 --- .../pci/controller/dwc/pcie-designware-host.c | 16 +++++++++++----- drivers/pci/controller/dwc/pcie-designware.h | 1 + 2 files changed, 12 insertions(+), 5 deletions(-) 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; From patchwork Tue Apr 8 06:52:20 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Zhu X-Patchwork-Id: 14042249 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2054.outbound.protection.outlook.com [40.107.22.54]) (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 F33DA261376 for ; Tue, 8 Apr 2025 06:54:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.22.54 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744095260; cv=fail; b=pAwU2ktwnDE2/zOd9iB62WrR+hp8PNWWn4kIDWAnUmZtvmHO7Jl9L6hm7nSty8z5W9F726nfYSmznE1FaMIBx7E27l+bquLDu2rTBR6QC+Bvc3Gn197f7LY8qXysQHsdhAOmkrPlAkyQuW/DHsZHUMOn2+D89tofUqPsi0wU6ek= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744095260; c=relaxed/simple; bh=Gy9o+TACRQvME3z1V5ras3GIisTDjqTeP/vd3XJEYlQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=uq3qlLf7cA+Sps1ISwy0nciITPSDU2JL+EvF2bHEOxyFq10fgx/gqoR/DsXc+7O8uN0mdYFBLrQfbK0NyQXvPdIG4MDgtB4gOCLJxbI3feB1CEWDW4cq+N6/rJ8jv4tk3I6AemyflmGKq6fLbWUvYfuBRRSx+GSgMN6ULoTjht8= 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=VhnqtQ72; arc=fail smtp.client-ip=40.107.22.54 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="VhnqtQ72" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=GLBj0TM1LoFvbxB+vNr/NMBfanZUo8NSbGI67JT5NOjDxoCecYHD8FbZcMxHLvghH6vhshK9fjvdguhr7aMkZrpb/qN8Z4maR/i78fHofjv3IfiRtAL31g73insbaudo4Xi+RQJzd8bkJgZM8XNe0CaoT+yr5Xyt6fQJD3hi8RL/gi3Mk4/fAxKuzO/CrO8ZWj4v2q+MRgfta7RESsMEGfhEg2KBo3gawAjmBBH/moUYXC6Y2See46i35py1s0XE/nChFgduVRNIKcqk/gtd4ERcE59Vf4JGpfbi3HZ3RxBDJQELxak7yKg1F8CNbL7HU8pCSYoN9Ld6mxFoKkDn4A== 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=fywXyYEIM5L+hIDdAWDaCAlTIKnFSd4a2XH9qp7crKI=; b=PqWVrkC0nvSbBrIkJTHmZHmWok0kUjamSvBkaSm3nZ19fZbSPUpMTXFl8Lnqxp0tbe9t4PoByhAKKFD7raijPKTa6VFk5jkHikwqKpcROrWOgrV44LzmI/tXj61BRLw2f3WccuxemjY2q40rgdkoNWa+K6gvgwSXsjWhSi5+265qvgDpeQ5xuZBs47F3Bu3/bIdQ8jdgEBx7xLzg5Z/hjuwOroX3vDPZcHdK3jIBDS53QxKm3sXuJHpGFL+IoQtIvyR7VHPW2/T/sEMBYfoCAW2ysEw8FOFG95wLD0FlVg1tQwwAQZyHawYSnAUTQHnw/f+3PiR/Cx2cVs2EvMHM8Q== 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=fywXyYEIM5L+hIDdAWDaCAlTIKnFSd4a2XH9qp7crKI=; b=VhnqtQ72lXVeHi4G7dZNwFPrvOFkU5mNUDB0+nDOaNDlmEW3hut9kpcqIq2RNZMvrDnF2iK4rHK6zzjaZnOlbLrh3ezf5/WQZnWDF+iZP4VkvGTDqSzrSLgZHx7TzLK1lJCi8kfRW8C7whoRSxh2Zj3tQa0tS57wmH5xN8siAyfQVgWSfEFDP8N5jLo2D1WAVC8iROK2CJwHXJmadpes7H9HFlxh5HXcF3B7bg8Sls9rXwgrXGE5HuKRZ0DftZskD8weYeQrUbMHbY+ch3Zwj+vxAIeDDbbUeLNHjl6M8auhh5G+wBZC9cdEBSYmmhgTerLliaJ0DwL9Y4bPIPgejQ== 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:13 +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:13 +0000 From: Richard Zhu 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 Subject: [PATCH v1 3/4] PCI: imx6: Fix i.MX6QP PCIe hang issue in L2 poll of suspend Date: Tue, 8 Apr 2025 14:52:20 +0800 Message-Id: <20250408065221.1941928-4-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> X-ClientProxiedBy: SI2PR02CA0001.apcprd02.prod.outlook.com (2603:1096:4:194::10) 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_|AS4PR04MB9458:EE_ X-MS-Office365-Filtering-Correlation-Id: 7f8255b9-2d39-4fbe-9686-08dd766a2ba6 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: sCXiC0MDUIyDslAgpOA0CpACWRRh8xa3Hw07SFA+F6SpKBgdX2USokly/GaLQL62oX53yv4U9N7WTOJZ2QQroD40ZxXTVXUv1VUuu81IyBS8U0XcoEuDd5k2Ptr9sixBM3L8L89hEc+jlkIT8MR43cS2xA2pMvJpCM71TkP0Ou/NqlsDEpHpbfGq9kX/enqpL0kfrNCmVMlZvvNfvMQIE9ULQpwuBw/khY5Lw1WswNsAOSlBqlTWURta+gFDR/OpKsqINjOHqVWQue0+jgK8w576ryghINyu9K6+XmL6tFJze6Ic2DW5cS2StFjr3DtQ7j7Y5IeafNROlzY7Un1zVqVCi1Jse66TsFkWqUlWFjfI+0T/C6TP4HgHFlERJaOBs4+fD0Osj+mYBEX2gQz99qsRkQCV4b+4oBwFYfBPsc6yONyl2f4zG95PPJWPkKJbjeL3D1JORzxYKGVZKHBXwBQ5zbkSfZ7rsz9rfoBE8ng08I1wW4id5ChqWwkIafMprzMqpyp5019bnPVEvpqHoFblq3TN0AuPS/wJEV6o1LphgIp7mIMCfL8wUQuQ6QslczbwOJHejJuHM+6RsBfdD70pT00T4Avo7aq2tPDt5QoG8eslgSKL2usMd2FjZjjGmUjcwnzOi791kVYAzRhW2Ydg7jeNpdhlB8JWB63t1lKuoRmEtaEHtHEgKw1a8TapSmTQ21kpHG5zwOd/XC6deNY/c3FyGrR0mGcumkoO13mb/NjbXDrhRDWhrubvpkaE2BFlBBDTFqOGSwz/KUHyCAi8O+epP9U6Z2hrQhsBgZFvxUkleoekBLHojIzSIe2YYHzokg9/I0D6vMpHUu7pCqYQqX6gfZGUQNgm3fy2NqgiznJ1sSpCJmDc0KCMV3VAPxq6nvgZ4h3ldzMC4+IEmze7DhSTDlDNTJQhU7iU2cm9a8U3Wm5AmkpFanAktp5o9TeLJW7gFnM94FV+NpC3+4T7o3jMrP9H/Mx4W8wIcCuMUy0HwM9MI1F7H1A10V2NRHqKpc9B0XLfuJqR8cn9/mcGCVNb6poU9eBj4aCWRCyxruF0SaYiJa98E47ozXns+VICqbsyZeavcienmKn8/+Swnr5/LJo0HStBcR3o8gZXzWOGU4ucChdndpIVbwDEqNehIS1LvUhzlSClS5kG5l4FdLA3sE5ajVtW1qoXNf/tNT3RaqSNrKmNYBJZcV77sQ5lyQJivVprEexxFZTuogKGUJTSST7SVFl2ERjpOx6vZWrDRTyCRhHh41UX5JPmfHOjEd4A5+29J+r2ZdDhVGdpVC6JddZbxydS5/Uy+9+y/qAFBcgzz7dcXxXNREUyY23kdk2tglJJB62P4nD6Ow7qOT+8bJ8LinM5lAU4vOaspHAFnx+0Ul95ABPMf8zx37f2griHrLr7LSHGI0x0hhiYXlPDWHMU77Mg32XzmHbYNfAfA/6NcBwrXMnzkHyE3sGyXKjJ6k6KSgJoV2gjXw== 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: QpyiK9gOkH/s3CFRDsci0Q1P7fP2cj+EgBQEbygZgU3druauntEree8UmAhzdeHWjOE2Sv45w5fIzZYQjmwVbHWkMRIAJ/+SbtEssz32dfjWsE9yDyMn03gIf1Lb///jj+PUy+M3DqTK5c4HGiB1YrJb1op4Bvo9BikcM/WM1n0sTLTaW/ALUL4KF8klXoXbPPeoF4juKX6NAk/0fXdib9khkdvV42o9djNvpzmGmQrYqZyeQctMr6qv8sQNUfpdXSawdDNgWNGSoJSuOBI6JvRNtVsHpoKsNOCML8XAxDsaJDSx3rJt82UYxete0SeWyTSPH3gaih2LMHLT+PLgmYaGf2dNq19KnXh5IY4Ox0YIggOdhKLRREdMeT0Ni9ks+hL/k5PVxhTS9ewOHeDPlRxyAMa3UJ7eHA5jRgf0ZozMwtSoYOnHH6UP04/fl8qcgEMN3c7aHaXxsrelmD63TrwTdR+GtF0iS7cT2LEaOxnGvef7+L1h/lpbWaDk+6HKkx0d3uzOLHvztqVrBFHjF1WB7pMuM+pd8Fcfvr3Ho/C7gFdBujenlCXMCmVtHE4Ljzsnz8UmjtforS0gmaLKs8QQ9uQ7334VX0U4FstU46nAxmISNXmBX3Jtl7ZNB5hKZeh5BlqPKA/W+WoFi07d7hmYiWF3Co06dP5aIacg/81yhpEugRCrUu5g12RttBq9g4vJqwwGGPwMJQSzymoYKI2Gch7payPWWZ7mdZyHUmpDMauI4Kzaw/PdY9/aBw0kANsZO5eIrV9ZTZOEqZo9gmDJkjwcZeVaMzySF39as5CdDezNqdQmPYtPrnJngIZ5Oie3W+HsLGGHw48sJa8MlMnv7N7eNMY1gfN7PfnFxraakfWYj+GtyIkrtZu9pqTUfu9GoVLOq88y+rEuh7tVClsi1hZl/PB+4lPUdv2CjCATiExKGYCfmgc14U6r7LIYI9hM/BM6Y3dA+PANvL+08l3KcUH6nST6v6p5JLyRlrF4hz4fAZ6EPszbQb0gE/MnePJIdv5Fkt+euhLfD1MPcxte+5DDKJ6RkatmSTB8fV2Psyz94BRJ4F3QJBY+S41yngvfRmYR9/sRqjpp/8nWMt+FL7MozgqLcgvj2NNWcFk8dIN/GQf0ORzQaJMoYzGRD/sBgumLOqMs+PubNhd3YC0BWmoCFXn6PFD59krEqepr0euxM8XgSU7fowbxQIMX5AfWD5U/kx/cZmg354flCZV0Twfp1iUTwlWP1CZf0thkjrv/52C86Qx1KLRzF5ZktGZXnNn6ItMJG0clOtRXQBSIfuULMJ9173zQ6YZ4NMVLIN3DRA1/fahLxtn2vDAW3wg6r69q6qliWgMQ+RC/hTqcD2twxlOBiabxcVvtgJ59FpURx44ZRKKpFOGOcp2ozmXOqjd4SMeLHPOjwR1xgmZjd7hYwFp/Q2eslDu0LZAu2qkp88Gp/ltr0HuIki5TMp4si5j9soKwebn9FnCSFfkp/PMV8AxwPoRYkwbefFiTcgzivBxkVPQ0ew07P37EZwQH0wn65MvEH36/fEe9XXha2+7C2oNh9fyfD4gApTU4QPzyBidqGo4vE56wLjQy X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7f8255b9-2d39-4fbe-9686-08dd766a2ba6 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:13.0307 (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: k9nq7aJuWE+uOafjFWD53xonx8Q1WIJxfZGUvsEGjMCnjUtcYd3QHif5XnLBA1tNE/tKqbc78ez9WE6tEup8hg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9458 During suspend/resume, i.MX6QP PCIe is hang in L2 poll when one endpoint device is connected, for example the Intel e1000e network card. Refer to Figure5-1 Link Power Management State Flow Diagram of PCI Express Base Spec Rev6.0. L0 can be transferred to LDn directly. It's harmless to let dw_pcie_suspend_noirq() proceed suspend after the PME_Turn_Off is sent out, whateve the ltssm state is in L2 or L3 on some PME_Turn_Off handshake broken platforms. To fix this issue, add one quirk to remove the L2 entry poll and let dw_pcie_suspend_noirq() proceed directly after PME_Turn_Off is sent out. Signed-off-by: Richard Zhu --- drivers/pci/controller/dwc/pci-imx6.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c index 5f267dd261b5..aade80010cbe 100644 --- a/drivers/pci/controller/dwc/pci-imx6.c +++ b/drivers/pci/controller/dwc/pci-imx6.c @@ -116,6 +116,7 @@ struct imx_pcie_drvdata { enum imx_pcie_variants variant; enum dw_pcie_device_mode mode; u32 flags; + u32 quirk; int dbi_length; const char *gpr; const u32 ltssm_off; @@ -1614,6 +1615,7 @@ static int imx_pcie_probe(struct platform_device *pdev) if (ret) return ret; + pci->quirk_flag = imx_pcie->drvdata->quirk; pci->use_parent_dt_ranges = true; if (imx_pcie->drvdata->mode == DW_PCIE_EP_TYPE) { ret = imx_add_pcie_ep(imx_pcie, pdev); @@ -1692,6 +1694,7 @@ static const struct imx_pcie_drvdata drvdata[] = { .enable_ref_clk = imx6q_pcie_enable_ref_clk, .core_reset = imx6qp_pcie_core_reset, .ops = &imx_pcie_host_ops, + .quirk = QUIRK_NOL2POLL_IN_PM, }, [IMX7D] = { .variant = IMX7D, From patchwork Tue Apr 8 06:52:21 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Zhu X-Patchwork-Id: 14042250 Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11011007.outbound.protection.outlook.com [40.107.130.7]) (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 D8E0725FA22 for ; Tue, 8 Apr 2025 06:54:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.7 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744095266; cv=fail; b=UmmmlQu1M/zYEAL/8VuL/I0dUP9+M+TwgHikA8TgD8RF5QdQpImn1hPpK1RmYTLZUHu8W/2MIEMpoWEzDLz4Kgx1nMIPv+porm2NwrGkkJmIhhBJDMGY3iZWkmlQHOkLFW5Db2RWDxoqQq2ZmLH6PNY3PI2pjTDFYwpm78DLYsk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744095266; c=relaxed/simple; bh=Ra3rGt50DuQOCQL4y6N6bn7NLoFJWFNLQcSlHbh83dY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=sM1oZeI6jOWB7LyktHs/s1WM/hTk3GMYwieFHJ4xyb4M/ZUVsH3zrmkPgMlnAccgFkD2FGl33dnc4WknkUPaS6eSDvdoZx0Ka/HzFPpIMCEWOn0tx+1458AMmVGxsEy3wvjpOl/MkjWZ6BPpC7zrx+JQzzC4pQlFyJmRH33UYmk= 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=X/qcmWxx; arc=fail smtp.client-ip=40.107.130.7 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="X/qcmWxx" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=O2ruj9LA6mLZ6oKPwH9mJlw4WVX+Z9WPI+uBwkr7OESuhv/wcd/aozl35lzQnPCfCH77KvYIjuy+j5CDx4tMYquQW9wcSQlxyMAveQHJLZg6yZWIUfor0GEA5CZQp3EATa7qp9W7B2rcQyKI7ygYiC/5BiUWR6kPBKBuu4FA3fEKHNp36MDeYrCmLQ4qAUufnK4qyYCCABZb6w80WTItX5Co9ZYkmy1WDK+5nYI/16ZhtV9I9XanNGCHYSeWAIQm3DF6Shr+a2FbdmZ6KsqyynF5/nEZprd5zJ7+laHI+mZXBzPYdXcyxZ7sSs0cz4bcOw2L1aLeXJw/3z8Kjx5smQ== 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=iKCbWq+Itvwn7lFE69Mw2AySBmN0yvbWmmXK/6d14Ik=; b=j/UTzQFeU5rb/ZW7NqwWB5/Tnh2LndbYgmqyThvXV/9m5ohURECrElZQgOxQtHu+eMGzNFYbwBPdJdfLOQ6P6OQ/m0k5jxCz+A9cth4ciQ+ARLEqV/twQFEyAzgdfW75Ram2viC79MgdOqI9KoI+uZifb8tVcGelEOHECRollFgzQ4R9NBxpdE7t/FgJVVQvBcMhXdRdWKSXhcex//DOGZYCwAGyaqbl09T+65UrcBTt9TQ/fUEWlp0dfFleAFniIcHUs8KJPN6pek4Rh0ZbSf8SCBJrFN2nFMgmsXEPCqaLBJIJ99ULrtYmdEGqNNi8yT1IKz25CmGhYvWUrH7TVA== 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=iKCbWq+Itvwn7lFE69Mw2AySBmN0yvbWmmXK/6d14Ik=; b=X/qcmWxxkHD9hR/v+ga+HjViDq12nIPCZtfu7uxq/qgoVmOIF+x7nSOCe8bFypXmDyvLsmKmsnFYdqFdXIRfRhyvZsS1NdoF55x70wKTNaX3wEXa1vTsjmFPT0hIWAMS6vKc9jyDAlDb3H95YqHw69tc26Bh5Gloq9kspb9QGpk+yB2V9S1x3inPFcxR7Lj9o5nDa7viFyTDP6uYpYU3u4u1eMHQlsw4lTp3cnQayDYc02CnLBhkiMAyzQghd2XJQKJ/ZwylKrcIBHf6blC+3RhmDXDM87020SmeL/34q7QLMlUc98PXEiyGs06tiXadcW8Q9WrkKbprEZVGcy0q6A== 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 PAWPR04MB9936.eurprd04.prod.outlook.com (2603:10a6:102:38b::21) 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: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%4]) with mapi id 15.20.8606.033; Tue, 8 Apr 2025 06:54:18 +0000 From: Richard Zhu 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 Subject: [PATCH v1 4/4] PCI: imx6: Add quirks to fix i.MX7D PCIe hang in suspend Date: Tue, 8 Apr 2025 14:52:21 +0800 Message-Id: <20250408065221.1941928-5-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> X-ClientProxiedBy: SI2PR02CA0001.apcprd02.prod.outlook.com (2603:1096:4:194::10) 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_|PAWPR04MB9936:EE_ X-MS-Office365-Filtering-Correlation-Id: fab96a16-a365-430e-3c3b-08dd766a2eb2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|52116014|7416014|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: 4JUpX9ZdOln5T2mz8Bd9x8sP6eeRyemKZJfPqsA15+z++9k0EoWlNQuJkEsq95PIBV/YnUYKYxuPCulWK1lIWktLGAvDWlHqK/3gd1P7L+QOAK2a/xe9+uBPYC4mhu3dIdyf2/f9SFhp9Oe9JdykrOHZit7TFxDDtSI/KX+KyR1oaMbJ6OP4pYpriirc461wsZ9/fgNUQ6PfGDpddx+lsHcqrCoaagzk6LFnfDQfQEf4oW1so2X6IplYQeAR1ST0INhpHMxbsMhizgdgNGPzAMcb09R+cxCnOWXBNERlM9nJpCNYuTpO6LJ8wVaGFoAKW45jn5+fR5FH9unF47yyx3O6UOGq2D/ewm2ma+HLQbvLWdH7dbO7+01yB0QWrygP/GiBSrtJpmNjYKOZYVh6F00kcoWS2Q/NhNuHbvOGh6t3tErIL7F7GTbKd9O6lu2xWfldP54jo7uEUk3Sx1x850RjnQ1HhRF3+70b/0s8QIq8tQDtJXXrGS1+KU++861hQoUtvaJ24tNX7rOBamH+yszmISavv6mpNhkiScQghaOPw0sXr/t3m/kOqixKfCYZa+W3WAi2Ggejgeh6jOLoSb6srsSMCMLsm9VZU/xbK5Cos0jtCXQ2KpgF2ondOdttvPyvRV73zqlAdNxQLpuaqx8Jx3k3B2Qjxa3uP4M7hJ4MqDO3Q0PllmvjCH6vYPW1cUvHeKnk4tryazMw2EyyLHBqkKDBtl8ccfWGT4BG/P69MpKJC3vx8dxWYQqUz1V19shVwTh/cI0yGDi5cmPvu922GxlDtYzfxY2DtXRqzBh3GnhBquSK7Pm96mhYCTAZKIbjHWHV5Q7QHtkzoyn1/bg8IfO7Ky05ZaFhiD6epzNlWQWNPZ48N5e8MzMDFoYeVUr1oeD1YmUGa82/kluC/VIyB3BMczaoMIuL8VpsVGMlfBx7BaMYlRWbZieek3nztQ4EH3VO6Jy0wKWYhRoXxYalvX3kjAkQ3BmLwGgc8jNGOYunWFZ18prNJDBoF0OKxuKlByYhngKCm0/tKmC0CLE/pKpnS4NmsY3Uefv/0dQFvUZw+XOZSFZuGouO+3rzXk1nttuVLRaUMyFDGC6C1kQYdj3ui+fX29Y1FCrM2tlTp/ZYQbJmlB7nnp9Z4fcrkf/T+3EJTyL1kZ4Mcq2G8KOvCb0WzaUX3umUGINqK0QN6vg6WmAtQIkvPTC7vNhQnuAtPHSU3esnb8FilvSCnh+tTYcZUqYTRlpH5xOuM6CGapUTp5i0YX8T7ao911zohNkLN9XxCeDzGRdue4Uq5SdUYQG72noYeykbWyqy7Tx/AFOKF67h0ykNLzwBXixY8oT+ApU28xsUvw1bpSK96wSw9GgWLM6MCYrBicQlEJKYALwkCJMkWoiub/yDuyBJnopL8vPuyOD4XKtznwYobf5mDWQwEmm3G4O8pWkWiGEIFWh9wNUIcoVMlaHD5ZPgxllMTcHNMa3ahH00A7TCZGeNQ9B9vederEexC+SWBso= 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)(366016)(376014)(52116014)(7416014)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: cj0BNLcTk4mGretPSPn7P/dGERY9magGPTZ/SLLK19Cz450lRAa4f/J2LHjYO/mjKTgl3e3tSNFRHEm+8qbRUGsV8KdYuMSHEqNpo30xwO5gL8yGWBtVAjCxaFamEQSDRSJTjfwQsrlluwnKXqAtxCvdU+PaL+6/FIpptEl1C/3kRLeQbdmLxueABeYdW5zj2aKy2mEa9bXupbMhl3gPT+ZBOUgnnAMRHoDpN+x2rta8qkFodUXMfEMxy/KO26iSePfm6ezWp1glpafCZ0MVQLk+B6fLFKs96NZRLHTBgH9Z+JgpoeSoiiaTaNNV5ZAlrjrqRWYeqOARLOyXoiEmnSabWeYgjlV7XsC4ABOgPf9l1acgC+NaUlBk/xFOKZc45omNdpiCCxAJ3RyJfbIYgel+Lsw//a4QSP7/DcxvmVC6WV82YCzJatPHVFj+uBWZbAg2MdqCDzPIKZLmd0qG+08LR69/9Q/TS5WAPc36DBCQJyLai252wb0c+8vfBwPbHbUYDpiNFBydm3NEL2Vwlyft34xev2piNej4nEWPtRIhidXaxwwRNvbM+COQD76ZxyLXvvffB7IECQGuAGLJDG6KHe803R9hMiIPfSPZhIpMjchrRBIUqvcWe2L6hp9y1QD1riRTPNjUWCDLM2nD63wuUsjg12iE+ja1popbNBbjjQFALoFFhzpy+H784QawJFdrreKvRYAzE2w+ItfwBIbaqMJLa1/rlIn6Jr+DDR7B5w2aIuixHODZMdel3wYXDxDmsQ2uWz8tEBR15AtLaE6qEAur/ldAXlVKg7X3ZkMvqjcNafQHUo2Bi9o09nuYcWcOCSzZ7+Mkrnp0gMoZNsaP9/AlgTj65zzOOZilVI47nGdtjeq5sv5RFSBfpKzN9XWWXbqefoJlZUXTtx0AbXlEnnPbeOfkLMHzZKaHe3h5lz3iZW8010DRKKsWiuNBMKSxFS4ghCyNBivnRBhiu/8RXDve/0aCjrXqmX6jCZHIs+0Z0p5EWuTUNdpZWwUXyQ55YJhd8A0nefQ7sxrK/VOYrkhv4llX0v2arGw9+prSLVJ6BfYjnTh4RkC1IdCtNIaaInBF+8RCe38mrAvtPEo45ndSY8FnZc2KkZaXemOVViD7Dk44dgwdRIMxuDolZDyBu2378oI0OYlpljcklE8D7kR32JFA9cUZCQMwIUoxPRqxdacukFxCM4Rcb6VM3u0an8L6qDMs9mGzzZczhm8RLU4K6l6B/k6MFu7sLHVWbeH507WhupV6u6t6abVrsIkZvFjgvyWt69hiYbbx1LeGd4u9jvnaqgkgZObPBZmeKm3HVoNEJe2mB4NlvjlwnVOPl3j6VLZhATFsrozgEhr76Zc2GK1NsLKrtlRN5hF1v01RU6dyA6dSQzwRUwCvTbAD670nteOzOSBh1+olyV1On9fIE1X5YFm7Z4ec/4jlBXUhrZitMGJ4njMtjpBmwp7bVGotJ3PufenebtDu+QM7YU+A4MRAuMkJ/15fG0aqPbCrFqa0TMT4bda2BAobXOzvqqtZ3zhs7eziJ4UPI8ByRG8Aztvs5r9GmydyVVTMGJoEuor+sStefVo+l933 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: fab96a16-a365-430e-3c3b-08dd766a2eb2 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:18.1722 (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: cw+dQcGwkUXGo+DmsYihGXOXf3P0AyNcWIfomyEB7RM+VKTr0Gl+QA/jiYqbZn42AuPEcdY344fzKERXxmvdMQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR04MB9936 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. And, i.MX7D has the hang problem in the L2 state poll after PME_Turn_Off is sent out when one endpoint device is connected. Add quirk flags to issue the PME_Turn_Off only when link is up and don't do the L2 state poll to avoid problems on i.MX7D platform. Signed-off-by: Richard Zhu --- drivers/pci/controller/dwc/pci-imx6.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c index aade80010cbe..779b6c7a501d 100644 --- a/drivers/pci/controller/dwc/pci-imx6.c +++ b/drivers/pci/controller/dwc/pci-imx6.c @@ -1706,6 +1706,7 @@ static const struct imx_pcie_drvdata drvdata[] = { .mode_mask[0] = IMX6Q_GPR12_DEVICE_TYPE, .enable_ref_clk = imx7d_pcie_enable_ref_clk, .core_reset = imx7d_pcie_core_reset, + .quirk = QUIRK_NOLINK_NOPME | QUIRK_NOL2POLL_IN_PM, }, [IMX8MQ] = { .variant = IMX8MQ,