From patchwork Thu Apr 3 05:39:31 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Zhu X-Patchwork-Id: 14037144 Return-Path: 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 AB65DC3600C for ; Thu, 3 Apr 2025 05:44:52 +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=fOtK7fo6MbkGRP68NZXTNEWJ4mxJmvpSJ47IKPnT7jU=; b=tJarat7rgWHR6UuPD0cqQvAwnL 29EnPJHYlpfeN4Mnb+nYFT5aTU58UYRVOBn3BJwleujJUE+fMolBnDmV3ljA4tlJCBJdaDeiF+7lr v0Fvz8T9DCYWhewRbYm6JN9IwHHPBlVhMe/T9QYmHOE7r/UISvFqwVLWB5oROVIspvCYrqi55LZIJ MS0qqbgPvFiDxp5bmFlEcnJ9zvi6CPVzwYCCh50hponWutlSn7h+BOBunBpLeAqShNF92brrd9Liu iaTLG4bMTzurDAv5O5lFg8U6+yezOIHcbUCnYTHFJ5pxyjV4h++p5ylKpnjHv1WBw66MylqyVtYDw PakdZXxw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0DNa-00000007pkF-2Mjj; Thu, 03 Apr 2025 05:44:42 +0000 Received: from mail-vi1eur05on2062e.outbound.protection.outlook.com ([2a01:111:f403:2613::62e] helo=EUR05-VI1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0DK6-00000007ozF-1QMM for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 05:41:07 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=nQ2PGlmnRC8/a6Ec8bSJnZWJVIHfWh6GnMqsa0MBwJMHyydnrEJT8fpHbXD+vVpJMzNbkiykFMLqXzgXiyFEdZY/DBsR1Kl/U28fuNtp8SYsp59oLqMaARy+v2Gnt6xXo6kj64OOK3d0rUPbJZSFHPTJ+O2grMkf6UH2U6n1vNcuvLMn7fw4HcO4Rw/fkzI+bCb+rLLl4Kmn7wrvcx6cgzNbR9geG+GMLBSpal+x+8w2NE6BfaXVY7n6VKPAwtlNqABsL5zawYac045y6q9IqohNGkBEfxCZaqvRUS2P97rspNH5doaYIvpkTy7iq+ZV2SCMfbUMobyaInkTIJbEcA== 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=fOtK7fo6MbkGRP68NZXTNEWJ4mxJmvpSJ47IKPnT7jU=; b=S2yAyWyzFTpazYUt8Oz/Xhr7eA0azuuW6kUFG+Ar0HUpftKGVrHzhoJ0dj8KH7zJha8YnS4KBo6vVTJ51WiSAO6n95+1P2Rjir/9fvYvMJB1qOHktmjP8oW1BtvCxy29t/2Td2fcL6J4BWBqe9j+wuuPcGJna1sKMRbD4ZPLwNk3a5fguL9I/1g75d0AThtkcFVp2RU5RUlNtJ1BIs3QlliLFPczcSeC0h+0wb2965hoBncyqdbNXku5SHFJNGZw6f/DdSn58lgJXhoC6YEfGPxnPvFmLcnHd4sBIOPFJRbS9WVTu3WXkF0HcBzaZP77s5AC1gp5UydW2Z25iedNKg== 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=fOtK7fo6MbkGRP68NZXTNEWJ4mxJmvpSJ47IKPnT7jU=; b=NuFNKNoSe34VXSHtL3iop3JBKh98+Amv8oh9t5g6/4/Z8jev/Gukz78A3zFAj7dYiQpfUc6+c3RBCjKtjTuT2olWfX34NtogBdMAW+1g3DTm4YHKecPqj7ri49Y7bTaoeTTuYip6eHaxVXleOelIR6AcrgMTxQUQX0yqwlds0YNSF5OQyTDUpUsHHeSucXzB5KTexwDjekx9DP+ZwDQSPnR/FeSBxfBl0VsQliVORqc1mm4/Ms0ntvg456adWo1UwJISd6wnE/l9vIa6aY7qXyjoRtRmmVir5FMN35YWA8hxT2zv+wILgVVqcqlPzRTLQbyItUp75itC2I+/uSoK6w== 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 AM9PR04MB8145.eurprd04.prod.outlook.com (2603:10a6:20b:3e1::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.46; Thu, 3 Apr 2025 05:41:00 +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.8583.041; Thu, 3 Apr 2025 05:41:00 +0000 From: Richard Zhu To: 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 , Frank Li Subject: [PATCH v4 1/7] PCI: imx6: Start link directly when workaround is not required Date: Thu, 3 Apr 2025 13:39:31 +0800 Message-Id: <20250403053937.765849-2-hongxing.zhu@nxp.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20250403053937.765849-1-hongxing.zhu@nxp.com> References: <20250403053937.765849-1-hongxing.zhu@nxp.com> X-ClientProxiedBy: MA0PR01CA0042.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:81::13) To AS8PR04MB8676.eurprd04.prod.outlook.com (2603:10a6:20b:42b::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8676:EE_|AM9PR04MB8145:EE_ X-MS-Office365-Filtering-Correlation-Id: da2c8ee6-26de-4902-2645-08dd72721d97 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|52116014|7416014|376014|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: Jo7H+QqKRTAGa0Mg/5qZ3wECSIyKudHxYz/iypHfucWpRihqAk4xU1zsyqjhUDy1qs0/wkzan2Ic6gEVJuEMhzv84r4Hz2j/bHpkEODAgZL/jE/sxVKbKyEtTCPeLIYLx8T3mVzJMpUkbIp1vyZ1FL/hNtv7GEIPc1xQeaJNZ/oCPnM8ZBoxQ4/D77Y9e4NC3JaFCiZ/gHiRdqOnYkF+eYzMyNXwyDKwt/+K0EztjwQz52JNavE2wDUWGvHHF5kUJ71QC5w7navgCgXEO9YKRPH2mwwLznDdJJQjYNo5diHJudHSrpGSpzh6sK+ZO1wYqCXrZ+GWTYxW8z9OnqxGZki72syPdEBbH8szHuE7py1LA/6JMu9rWvOnENcd/wtYqyQ1fz81SIFwrEFChgsceTY/tazLEBqVTXJ9VRaC8K/l2GeS4nPAyzq9J7RFX8vA7LX5YzKuIFBqpECTWjlJTgw7ml4gpiCgBQr+xj9/ANI+8tKJDzg8+EsFb37QHHy2Bb2LXoWuvFBTq9esJG8mlL89e6Or3bL00iPjPOF3YiqZIjumdv/WBGtWr5QNKOBlzqGIGSs6MkKQ54RBvwgBBu0lH/Ik6HWyXHyf1qGlRA/lDoTQFUbzv0Wp/gthMlNPXWu11ZgebDtal0oY5jztICXE4mPGYc20qawbvSEN8vWOhDwRJ/VFEN2Fn7506+rAPY33GkZN+lkVLWomPPNKsXHYcTCKQY0LSmvVzq8mf1G9uTcAq3W4C/PPD2BYveHxWQ9yjCAVknmTiueEvpSTBDt1UXsy16PGkAIJYFgiDMvLhDh4iW0zEkEL+I3+6PZ99onA91WYxZnqSqEdRYCshNBvRcBBh0QiwCOAMRXw7AUeEynpYLJXkix+biWBUWWTPo73iXZjkLm1MgDUYJUQLSajW3esd/cPWrtX7zSkJOCLQWH7cHhrE2EkISy0sqlBuT/0HQZ30mYyNqA6jqCFLnDRwxu9NqFMxLA1Ks0v9qv6XewTFJLGL+CQ2ayRiTJNwq7KzpJLiHpSb/eR8iitwgg6DbkTb2sJBUoH98nLdx7rX8D4Wlo4/5/4HwXYFgqV8dirV7WPGyJMK8tv5vzzOE+91DSiDhei9+plczqkfAzdQPKCPmRSwPgxwYR5SWCYg3OyiGMJvDqM7TxkRiGhelWyvQFDYqPnoffrTu3qAu73eUqKaryvys1KF2QPJl2Hg1eG1wNpwvGKaVLNAY2soIZG6CRQolVrA2GWG7CH9KNPPwHxM7uPjokiLU1kmfx7hg5wgdBjV7OB69OhGZGuEVSvBwDzDEwKVQPtQqPE+m97SqwWsgJhviD5zpVuJqT6ITyZQWZfO9AmFMCIA0gSQPlqap5JBxC+WFCcutqErkGQj0U/2vsPOGhJNKo/OVnqsp+ftVXkqj3oLiX2YWMxjwDioslErw8IIT1fdz/+S1ydhNkKmEcXYwyCyiUVr1uewl0AesRuhKHgbFZyfZl92A== 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)(52116014)(7416014)(376014)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 9xAsPpn/oYUjVI5H1f/N3yHwrxgpHFR6o66NWnacOg6Cx6RHWQtujg+XlbvAaUV7Qpc8QpdkX6pNkc6OfebIDLJh7WRMr/eN2ihoiTzRS64lviM8iWV3ooBWK6hSRyVtIERZPngb0ZWb9a3AS2rQkQ97scm1nVeuxbhXA/iebpBAcmc49ko9zh6dxLe3Ut17ii2Y9EZIIWEBsHdgyzAVGM9yc5g77aWabhpSaKxSrUKCzdtBBuEkipoEgauMtsX9tYJ1f6EIgCi4LTK1PH+PB4nIvcas/v2CJmKpGnw/V3rFqwyWaM3XVZv2FkN8UovjjOQDCKjtvXvApiF/dwJ9r85HrvTA1UXFyFzBynPflsj6bGG2DuNobAaslczhaQjGNJI2Jj+t+ZMqj3uLs9E+Z82nY/uNzCgVd0pbL5fK+85JYBVaVHmTgqIIiexM0J+tL573TqWZa0ryESMy7ovH54zYhkqOfj35qPiloZ0tVHUehOrxwmQxIybNJY8A0zJjVQrThq+Xkfl88HV4urxNmdGRHDo3xDnx8TItNRwmiS189gjwjpGcNRlNZQvoiJvfyivcwEU9gHkECQ6hKiQo1KPb9hsZ+rXZF0Apl/wUtsAf4K1buuZjh1Ai1QNPskcrLcnuwi8qvBNjv4r7z/gpEun3bHZ65lbBBoBK/OYyH4XnKY2bYzeGJLaY314RB2lhhz9hxwA/t9G0VEDsr0RS2DbWurAox55bFa5Z/Upe3MXFx1/C50m+9zTuRaOH1exQQC5Zfw/tKrhvf1IjQrCAC2oO7Fjj/EzIK5h95gO+PdPRp+Bim7cKK369iZL7hyqagkUxXwa7Gwgw/9RBffmlb846UJmTcSu08f3ELiaicuFWRPwVIgOBV/6jWLhtsNGrpxXSeBkeJs5tNkWdRj1hp4VCxFmL6TAls0UwdRVzddjdLWtEMnNFiP8eOCkOhJRlPOf91ZeSjQaUhRoawI1CosUjcRjG9QkzsycEvuZosu7VnZAbS/2bGsa+AjgEpxevyWNVotUi2YyXq3VfUUska49HlI+YcqCEkOdQQLLxhE/ZTNoo+2xXtYtnQysokoft43/bga3qlaxW9B1EDXdpbU6ysbLRS+LEqMf3DB89tXR2lwwWDgXvDyUjDfxuPPC4zLspaiGMdqmMLjj+II3NTJn60/WcZrYrfTVaVu1y+zKNPZSnV1LV39mBjKZ5Rm2ox5N8pPczH+hfKMBF5OkGIbSSTv4U3RofIusX+wIIZMClYZKoANdWxUy5/hVbekAVFxGFFooPgdxdCN+n/DKfFl6ZQL+FBGdQ94oKln0TvfLYt1eJpJFnaQvTXbrNjgMFOn+hkHER5xJvh3uJvkGVE6u/DTzqswCggGwhEigqsaqwSizsTItZb3oYoar4nHzcVLO1tUVehPecT4JZS89Tdvh+TaAWmBw0pATClBp32t5Ez23CLuuiAvygJWOFXD3LjdNVyb1ULiuGmp7j5tNaZpQlT0Bf7nERqLRpAU8TtED3SfcZHPpcWlr/tRLqxnQ1sHXaxjXV6gfqfcXzPq7eKcrofHRZaLzDXwiFGCz486YJs2MjoKaDBuBRaPPSQ1mK X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: da2c8ee6-26de-4902-2645-08dd72721d97 X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8676.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Apr 2025 05:41:00.7152 (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: YdbZuyDzjRrUiZAKMWhMCyfXRy+NoL3EcAxfDO4bfpYnBKuHvQ8ylOegA2GeUARILR5aQjQnjTdB1ma7MrVDKQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8145 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250402_224106_384678_2F306465 X-CRM114-Status: GOOD ( 19.49 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The current link setup procedure is one workaround to detect the device behind PCIe switches on some i.MX6 platforms. To describe more accurately, change the flag name from IMX_PCIE_FLAG_IMX_SPEED_CHANGE to IMX_PCIE_FLAG_SPEED_CHANGE_WORKAROUND. Start PCIe link directly when this flag is not set on i.MX7 or later platforms to simple and speed up link training. Signed-off-by: Richard Zhu Reviewed-by: Frank Li Reviewed-by: Manivannan Sadhasivam --- drivers/pci/controller/dwc/pci-imx6.c | 34 +++++++++++---------------- 1 file changed, 14 insertions(+), 20 deletions(-) diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c index c1f7904e3600..57aa777231ae 100644 --- a/drivers/pci/controller/dwc/pci-imx6.c +++ b/drivers/pci/controller/dwc/pci-imx6.c @@ -91,7 +91,7 @@ enum imx_pcie_variants { }; #define IMX_PCIE_FLAG_IMX_PHY BIT(0) -#define IMX_PCIE_FLAG_IMX_SPEED_CHANGE BIT(1) +#define IMX_PCIE_FLAG_SPEED_CHANGE_WORKAROUND BIT(1) #define IMX_PCIE_FLAG_SUPPORTS_SUSPEND BIT(2) #define IMX_PCIE_FLAG_HAS_PHYDRV BIT(3) #define IMX_PCIE_FLAG_HAS_APP_RESET BIT(4) @@ -860,6 +860,12 @@ static int imx_pcie_start_link(struct dw_pcie *pci) u32 tmp; int ret; + if (!(imx_pcie->drvdata->flags & + IMX_PCIE_FLAG_SPEED_CHANGE_WORKAROUND)) { + imx_pcie_ltssm_enable(dev); + return 0; + } + /* * Force Gen1 operation when starting the link. In case the link is * started in Gen2 mode, there is a possibility the devices on the @@ -896,22 +902,10 @@ static int imx_pcie_start_link(struct dw_pcie *pci) dw_pcie_writel_dbi(pci, PCIE_LINK_WIDTH_SPEED_CONTROL, tmp); dw_pcie_dbi_ro_wr_dis(pci); - if (imx_pcie->drvdata->flags & - IMX_PCIE_FLAG_IMX_SPEED_CHANGE) { - - /* - * On i.MX7, DIRECT_SPEED_CHANGE behaves differently - * from i.MX6 family when no link speed transition - * occurs and we go Gen1 -> yep, Gen1. The difference - * is that, in such case, it will not be cleared by HW - * which will cause the following code to report false - * failure. - */ - ret = imx_pcie_wait_for_speed_change(imx_pcie); - if (ret) { - dev_err(dev, "Failed to bring link up!\n"); - goto err_reset_phy; - } + ret = imx_pcie_wait_for_speed_change(imx_pcie); + if (ret) { + dev_err(dev, "Failed to bring link up!\n"); + goto err_reset_phy; } /* Make sure link training is finished as well! */ @@ -1665,7 +1659,7 @@ static const struct imx_pcie_drvdata drvdata[] = { [IMX6Q] = { .variant = IMX6Q, .flags = IMX_PCIE_FLAG_IMX_PHY | - IMX_PCIE_FLAG_IMX_SPEED_CHANGE | + IMX_PCIE_FLAG_SPEED_CHANGE_WORKAROUND | IMX_PCIE_FLAG_BROKEN_SUSPEND | IMX_PCIE_FLAG_SUPPORTS_SUSPEND, .dbi_length = 0x200, @@ -1681,7 +1675,7 @@ static const struct imx_pcie_drvdata drvdata[] = { [IMX6SX] = { .variant = IMX6SX, .flags = IMX_PCIE_FLAG_IMX_PHY | - IMX_PCIE_FLAG_IMX_SPEED_CHANGE | + IMX_PCIE_FLAG_SPEED_CHANGE_WORKAROUND | IMX_PCIE_FLAG_SUPPORTS_SUSPEND, .gpr = "fsl,imx6q-iomuxc-gpr", .ltssm_off = IOMUXC_GPR12, @@ -1696,7 +1690,7 @@ static const struct imx_pcie_drvdata drvdata[] = { [IMX6QP] = { .variant = IMX6QP, .flags = IMX_PCIE_FLAG_IMX_PHY | - IMX_PCIE_FLAG_IMX_SPEED_CHANGE | + IMX_PCIE_FLAG_SPEED_CHANGE_WORKAROUND | IMX_PCIE_FLAG_SUPPORTS_SUSPEND, .dbi_length = 0x200, .gpr = "fsl,imx6q-iomuxc-gpr", From patchwork Thu Apr 3 05:39:32 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Zhu X-Patchwork-Id: 14037145 Return-Path: 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 EB129C3600C for ; Thu, 3 Apr 2025 05:46:39 +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=zIKvW5Z7CCntlQ6t55uvbzUhSENfxtmYxFMVIi6OOAw=; b=SjEaYfr/AIR8Uj89eQHr+4hXZD oPSdHzfsOsACxVOP8eeQxcEbDzmVAW9p1OUI0vax3fgv6ZX9+o3eSN54fwu4xqvFYp/TSxVov/AZ3 JdRC69z8zJSYQdSVnD8nIve0B8QHoCYJkvMPpvt28/+RPlK55g45rpEHKrb40/oqzwMeREMt+7/ir Vk51toaSODFC1fFPO5nj0t3iAbUxpI2XIYr7CCTps14w5nb/J9yMzWSZvSQNuNk7gELvnY7CsHwtR hJgOioCw3bzV1Nox2wNe4I3ebrleAmpKdazeVY/4FbFZKSnI2pxOdg8DG6wRPQGh6Sq2p292UXNXr v767e9HA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0DPJ-00000007q14-1PU3; Thu, 03 Apr 2025 05:46:29 +0000 Received: from mail-vi1eur05on2062e.outbound.protection.outlook.com ([2a01:111:f403:2613::62e] helo=EUR05-VI1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0DK7-00000007ozF-3it2 for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 05:41:09 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=g0Ueuch28GC5qM42PC8I2gDF485Sle2Z/GOHPeWIAmpEle8SzjGv87wetQTkEBt/tfji9lirXS5W8tsyvrXANeNObRUMvqrdwhjMExbUBMrIlDLmVssENxTN9pma+5LsSYmteddrZV35pvQE4XglLuk16kB9mSmas1FJWWukcl4Hi3gVjJeMkByVo/ilU+EpucZSWly2/IRwxkBg0xWoUzCI7z1Fwmr2u9pnAJM9hIdEzMdNs74J+P/QQwB8EHk1VlVaXziRwycH3ms4anOT6OLoJQ8UYbMJoZSrpyNyRPGrNJBkEsifCucCXnddqQo4iv8hhlnGno9wVmwpOVSRFQ== 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=zIKvW5Z7CCntlQ6t55uvbzUhSENfxtmYxFMVIi6OOAw=; b=mcMsymBvohI/9bam5hRV3W9iAas9C/1bKXafgh5F8JBLEv/y23M+AkGHEMeIaQ4h492neQdfixsb0QwlMyM00lwInts3CLXqljMBeYLkeBI/SiqjU37OYNJ0CNsqqIzVUMThG7Brdydn1ExEBcvRe1IQOS9UBiyWO5zM8atT+6dBkBZrgbbTDxstOYzC7vwTfXhMwM138z6wcKk15PP/wF/9JBYx7jIbnpfT7StWFjCtr6ZGNu5yFJLhNaPL73S4tr0XcnGf6VVRv4GJRpM/wZlbvGadtrvXx+1W19AKKvVFddNDoctzE8cdWF1CQqIYHWhlUUlqthIdR9QzWjC9Tg== 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=zIKvW5Z7CCntlQ6t55uvbzUhSENfxtmYxFMVIi6OOAw=; b=JFjLW80E6zjN7jC6Lpji+1X9ssrSalfh2AKHvzFbzQK8rKj9uCtzq9ta9yztfYxfmw9IKq86T2VTd9TrCHZhyHuB1sWbGl9dNvmmagA/Wm1lQDfwapoKI4muPJ8PrNraZTmsXOB5A7kxm7+kqw9L9D1jptExTY7gs8Z3pPo3sO6Q/tF33vKmykcX7BEZgsCEU/w/SW5BSVtWRPCVxDg7wDuW73maENaPU91MurE4fM/aBkfHZBBdxSj3dBrDyrsL4jwsRqf7OoOaEkvbqO6VccWs/CNBylv9wXMgWgODaADZ9sqC4qG6U6aDz2g2pUVprwyPI+9SHZNaVeh3w1+BhQ== 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 AM9PR04MB8145.eurprd04.prod.outlook.com (2603:10a6:20b:3e1::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.46; Thu, 3 Apr 2025 05:41:06 +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.8583.041; Thu, 3 Apr 2025 05:41:06 +0000 From: Richard Zhu To: 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 v4 2/7] PCI: imx6: Skip one dw_pcie_wait_for_link() in workaround link training Date: Thu, 3 Apr 2025 13:39:32 +0800 Message-Id: <20250403053937.765849-3-hongxing.zhu@nxp.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20250403053937.765849-1-hongxing.zhu@nxp.com> References: <20250403053937.765849-1-hongxing.zhu@nxp.com> X-ClientProxiedBy: MA0PR01CA0042.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:81::13) To AS8PR04MB8676.eurprd04.prod.outlook.com (2603:10a6:20b:42b::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8676:EE_|AM9PR04MB8145:EE_ X-MS-Office365-Filtering-Correlation-Id: ad0a638b-3b80-46f3-98e7-08dd727220c6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|52116014|7416014|376014|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: qxLwaHmxx703ildiLPokbZ/SojRlZI5wGwqcXSkdc31rA+xCPSWkL/9IdeitXyQt9Tr+HjQclgMfBVdJq+mM6VMWcCEw2e8nk9Fpd4f/qAixPibcSCoiMwWImFS1HU5gwJRi8mKoJrx9MFDaYOvUtw+kiGvdB+7epdZ3MTldXaODjAQ4e+0mCm/6f+/xbo3OivXr2d5bmPVf5V19UuOCPcPXCGPqpcyqYzrv68OxW3qbcxHSsmjfnWFroznLblR/qaPTKPZgGRKdRXH7GhQnbJt+Zc6YBbIgXbA1tWdzj+bckAzNJXezxs9aPufJOSqN1/0kkPCciZEQVjEcH8tIJLBZ+PfCsa1n4xeyS9Lkz/hhWGPoAh6MbT1TW2vI5OauZjZ053/YdyreH0OOi09Kb7oOP3UwNqLjcCXHrUa85uVfO9g0DGwASpHBGdktR8pAmxwbxVAJZku3Je1R+xh1J98maNYIfqPS/wyE95PYSLbtsiizgdSqRVxQEDq2g4yFVb7YHE/x4Stn3e7ZXbEtwB1B4T1I5ThL4xP7EfqqogzBfAfe7+OY8jGiUhAVFqi3XYgOze+041uLQNbxfWDCZmYsPPT8E99354pc1KV4P/TSYwUEgYTiyUGwYMq5PHHGMTB9jqiDE/ytX0ytdYCPKIhAboee37v17P5t3w74izydvVJVT4DTXw0HGLZaDkdpovsSfbPxV2/FnBlryQxrF9k0DFjO3hzlK/wHGWtv8/KWDnFrd/tzhMps733QHZdnk4/zjlxkwjrQytzwumNakDp9dYv8+cjClv61F5rGet6ae06xfrRAR9tHAU+vsYab1pHaOtllRhYth4WQkwybmSH+yTu9Yyq94QYXH+fotobOR8l3CUYCh2xwBQE3+IRAuRZLPFmXwL8qEcieafNI6hwyu5rQRHSN7aBklOoovNqumudOqdYiNumv3x3JuDdsVQ9uyvv8MxWglhd+7zSezK5slp3Dxl6N8DqpvAQwyJ6AIhm/LqLofyDId2hGqEGZa7LZ7xz6UZnBxRBkOkIEqyOI4mPK9fXR9oroIe6G3PqVk5I/zpL3fccIIjB6NQMr+4cCURmGKppm2f9xTupydYo7/wJhz5Uno+rZ8xroNBx+V4hTbgilSZS69+bphvpSwYe/WbLB2bv7LngUe4Xw9NjpXU51bVaLnB1mlNk2tYKq2BsqCaz3rIV8jiLwbSTpDKXnPI2PqxoRPLgCz0TovUeDIrhbypwUgw4JnleWgdURdZev6Mb6BguWcHZ2R9Ue+nk+vZxmcTexH2iI7gw2ylblLWm0Ga6rf9GKjxSKVZE1uQsI+gMhsXeFWiGBXjAAvqhzvW6MJDy9s2C74k8RbeQvX5ZFGLOxrPuUtf2TXLsB4LOsOXZDUkBp15u90jVpi0KRb8fx8B8PSsIOdNHVCo/+7cj3Cz4Ok3IIFpTOA3Hct7q3yv7L0XxkBQ7s6X+Toz04PZLAYa8RGGMcT3rwQQ== 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)(52116014)(7416014)(376014)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: xlPSpl+PWccTcMmlxXLXJgnRdpQAkZ0gjDXQkrJpsZU2866j3ZVpgaVFXLKQKf+cFb3RdIQMsKQK9Mf5pvYlYhKDvn6IU3UdveC+gjTn/YhFE72MGKA3AFksSk8i6KP9ipO9MJw/ivKg/QD48Cg7uS5DFKTsOtj5NTm5tylaIlt1o/mnKmXF0rQq0l/B16qrd5AUtwjc05KZN6s2fv0W3C2Zg+vHWmciJGn2gs1g5Q6cZOmQDnv6n3hsYLCvQj/E9vgOdb6KZ5WPzNyGOjB9Tc4gWEMr26nLyTjtg6o0LJVmHR4+GcDf6eHwsqw4RMCm1GH+GFaXzJZkew7SC4zrCeZNO+1VaFA3zuNTp6eF01R+R0a6imAP6cAPjf0gCCmOl4qGNRO7xKZAfruUZfurHMaDi8Wvj7ztbKYe1BRZMcEgG8ynxnyuJO5e9bQTYZ/0zh28EQUoEsoVHJZEo6QZYLUK9ezJdgAMe0vmWp/4YwG0PcGD7U2AHP0eT5fCLJaFCOJXYloo4tc+QZVMSktuOjNAlW3og3OO6Nc092BqIr9cENa1tGIxtWc/6yLTvNdEzUWt0pGbDa0iPmtzrBwKzArRKUusEGqW0/M1lZ15lz/Bjp4w0QAT0SzesedIGVxcqbNIie+Oq0ftbZEo8WxCDY7krUK/1xEtnP7QtjdH96cKcT5kebIgtgT5jHscNIIpAmiLO1cXbTj1x1H95FgeMBPgLl4E/Wtir1fBCLPEyIw1rXMKwII41n0XmkI6snKpNbmbdGsYiqzoecgNtibXDXO/R9ujDrNISSeIzj83ygAlfuLPhzxQZ4hp6/F2kuKiTP5Of6g6dd+Nmg+PtXsBZiu5TVq7zcNAkX3WCUinU388fhhOLm7Hk1tjE2SOovBPVL7B/iuq0eaM9mjlsLzn5/6hrfyiVA1XDF5+OmIU5kKPhKQe5A7rPGA/J7W8zutnW236f16MaAwGftuU8/yRocySMphjX/uJwDndKYWakC/R+XUtamZEPwWZ8wPDYQlbfn16KCNqu11f0ZumPd5GGf7xsfwBoUYSQ7OJfsg0aALchKIuzK7DrWbwAUr4wNSu5aUVe+HBY3DwS6vsTKnykn9RIT90hZK4MWeOyAMYC1epp+jgxWFVHtxRw+p1JX0khnBfOv8egQy818I2rotuYLGiBeCtyS1IecPZsaxs6HLfpg/nnj3d3aDXTFaq8V5lnGFUMPEU8AbgQ8DWk5Z/g7cGa6aB+rtKnpQtlYpxx+jdOmyYEIdUcyAEEdD/xt7V2T8vOJjZdVzyf4ftAAvIi4sJCWvj4vvYNpz0qJdmn17N9jU5nSwcxWJ//w3IOm3b2pxjfsMTSjBwh9P+3K/lwqUJ6uX3X3yg6luMn+ss33l30xe3xwZEEIuvB8Cr0vl+BNoWxPQ+aMHya3kEDnbprbCne4r2bPuGlAAHT7ihLjscO5XGV7sC9iXKRCq/x47kDbPtx+n4QcavmOsJVet5ZjLtbxvmraaWS3kEGQg+/BKLPdAD/3sBaHer8tLt8DzPgKzxyNORG2TGLdXBygjVyz8xSA/5kin0sd42MbDOJqKAxXYxzO+HhqFy+GfEYJnP X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: ad0a638b-3b80-46f3-98e7-08dd727220c6 X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8676.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Apr 2025 05:41:06.0507 (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: 3FK4ivIra+XcwMHsftitwT5j+YoeMwNuZ1++rl0nPiHGx0khArZxLuQ1EYT5+XwJLs7TbUjOagJ7FcAwh76RZg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8145 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250402_224107_925593_13B08DDB X-CRM114-Status: GOOD ( 12.06 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Skip one dw_pcie_wait_for_link() in workaround link training. Suggested-by: Manivannan Sadhasivam Signed-off-by: Richard Zhu Reviewed-by: Frank Li --- drivers/pci/controller/dwc/pci-imx6.c | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c index 57aa777231ae..84d2f94e3da0 100644 --- a/drivers/pci/controller/dwc/pci-imx6.c +++ b/drivers/pci/controller/dwc/pci-imx6.c @@ -881,11 +881,11 @@ static int imx_pcie_start_link(struct dw_pcie *pci) /* Start LTSSM. */ imx_pcie_ltssm_enable(dev); - ret = dw_pcie_wait_for_link(pci); - if (ret) - goto err_reset_phy; - if (pci->max_link_speed > 1) { + ret = dw_pcie_wait_for_link(pci); + if (ret) + goto err_reset_phy; + /* Allow faster modes after the link is up */ dw_pcie_dbi_ro_wr_en(pci); tmp = dw_pcie_readl_dbi(pci, offset + PCI_EXP_LNKCAP); @@ -907,17 +907,10 @@ static int imx_pcie_start_link(struct dw_pcie *pci) dev_err(dev, "Failed to bring link up!\n"); goto err_reset_phy; } - - /* Make sure link training is finished as well! */ - ret = dw_pcie_wait_for_link(pci); - if (ret) - goto err_reset_phy; } else { dev_info(dev, "Link: Only Gen1 is enabled\n"); } - tmp = dw_pcie_readw_dbi(pci, offset + PCI_EXP_LNKSTA); - dev_info(dev, "Link up, Gen%i\n", tmp & PCI_EXP_LNKSTA_CLS); return 0; err_reset_phy: From patchwork Thu Apr 3 05:39:33 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Zhu X-Patchwork-Id: 14037146 Return-Path: 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 495EFC3600C for ; Thu, 3 Apr 2025 05:48:25 +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=j6nX+n9gpN0mZpXpTF9xMJRjq0y150TqRpk/BYouJfY=; b=lDycs3HJDM6pRcWNJnsyf2Dk5I C++1el72C296vc17VN2YCasm4Ti7lx9+nTYAAVBAzQxJr4UWJMgjdkt501MdBKLzrdcLliapLLCOe 2nAEMB/MOxsrL6wOo/vGOQJb913J7+ti4IZUuuZTZVHu6dWz7NWTNEke9Z5ZVg5HrcOzLLLg796uU dgn5DhQ7778oFXjDTy0Eshg9/BaP8LqWS9vPE8N4AkqW/gj4K2obuSrHkgEOcg8mM9wFI0lmHqnCn 2qeGL48a/ajBmML9DeL4vO9/ucd3X6gULg8glNu41y8V9Xwz7hRnjz1ONCDcphLjAOu2tO5FOUXSa C0eHUTHA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0DR3-00000007qFH-0LKK; Thu, 03 Apr 2025 05:48:17 +0000 Received: from mail-vi1eur05on20601.outbound.protection.outlook.com ([2a01:111:f403:2613::601] helo=EUR05-VI1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0DKI-00000007p3s-3IWn for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 05:41:19 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=TNOVnG0OaZB+rwMWVpa9LwWWag5AwFEUu2JT5AAKYr+Jc9Ra0cXEjcsOwSnP4JvjqZz90Uv/0KVGiPfJ8Hp5OblZCUJ3IWjPxfnSEk51fWLiFPuym31X19nQp6/URbHtGoPxRDx/Lf8+nAFcIMPnaWkNpB1AevISeLIhuJ3LLit56Z2J9XKo1qIcV3nwn7oiRMPurXnNoszon36yroVW/mmbfJPs6VWzgfJ3x779YxFFy2FpDlQNIfisqlBcoxEhdPCb5SHCrJ5DBukjMH9ybW781TvfRtP8UUkSAZxIGPa3KwUae6VuO3e8xNViJkizBpb25meTAC3RSQj8v0XA7g== 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=j6nX+n9gpN0mZpXpTF9xMJRjq0y150TqRpk/BYouJfY=; b=yDoIiRI4kfxYfYKRa0+qulGVDeuZ1SQn+DfkaUj2ccwOV2qkceDcttyDWLPDTmkUvaWNmHF7cvSsKBSxc4uG0lXUdAuo5Zv9Cmkp6vsdJp/JIQTgcDXo7vflI4ZYytWDMyCUqfiQdTr/wp4vLMiU4dwSgmUE/ousPq1MDIMJgVDXQNRPYrtd5y1lUtdLTTxscUlpAMTCrvrpsc6IGxeFFQl9eJtj7+EZgwEl8fDX7ClnDpr288BAMSYXGJmpsopbmtt86Renz6zmaghiC1QpZox6tvmKh8K8UATQMqu8HMdghKZWu+bYYBbEPf9GENJop0r/iZSKywM5RjhmeyXVrg== 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=j6nX+n9gpN0mZpXpTF9xMJRjq0y150TqRpk/BYouJfY=; b=AlIXtT5+nIM6QQLCiIyFnOXFByu8vrSx014hyuiTW0urwWqNfmTNwglt50HSVxl2Shx9Hkx1vN9/DD4hiRYu+uBqnQeO2J8qUDJgIxrltDCV7C+5TzcGmAU26W6MOgk+1hQgWB43g5wN88ERpMJHEXmdefuj/HXGG5HV1o681GakDAmBYZPDXt2siUhoejo0Bwq6E9vkRHN2qhwSTDGhPkbSDLClAz7uCHHMyjynQoW8N2rOV8j6fnKhfetk/Jhk9L5FA6RQKTyMGWWdsYFjJ+RZdW3OlU7YzBlHbxhUnUEmrftLOQxVejSaAEZyqoaTqFSkVEP4yykd/Lw6xj2+Pg== 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 AM9PR04MB8145.eurprd04.prod.outlook.com (2603:10a6:20b:3e1::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.46; Thu, 3 Apr 2025 05:41:11 +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.8583.041; Thu, 3 Apr 2025 05:41:11 +0000 From: Richard Zhu To: 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 , Frank Li Subject: [PATCH v4 3/7] PCI: imx6: Toggle the cold reset for i.MX95 PCIe Date: Thu, 3 Apr 2025 13:39:33 +0800 Message-Id: <20250403053937.765849-4-hongxing.zhu@nxp.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20250403053937.765849-1-hongxing.zhu@nxp.com> References: <20250403053937.765849-1-hongxing.zhu@nxp.com> X-ClientProxiedBy: MA0PR01CA0042.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:81::13) To AS8PR04MB8676.eurprd04.prod.outlook.com (2603:10a6:20b:42b::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8676:EE_|AM9PR04MB8145:EE_ X-MS-Office365-Filtering-Correlation-Id: 5425a5df-38e3-4bff-24a9-08dd72722408 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|52116014|7416014|376014|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: r9w1u5TkYj+WwG7ftb1LF+IuhNiTjJQn6UVr9ahtOmNEjKmHEBL5n60gdFWItHSfCc3gmW8UZnDRrNV1Kqb28oDA213IjrgBcrAvgaBck8kuncVwN2lR2x1rIXuLeLUcmO7NpZw8tbpmM1RlCfQkrIwZYwIQScbgm+lW9Aaj3hFM4+v5OQ1Rv8fgGMV0SPQhrbqjBg0/zeehAFOQglftYrhjIzcE5gHuxU2pBJd/rnF+gzu4jZwxCnpVe3UY20048RZ1BBBhaPOd60L+hmXDwbNGn/+TbGoi50+lZY/YWwH2HqOOm7YYMTtxK+V69IPcilBZ/T7k3xZP6ABRuXenh5zjvqZtBaGVgy8SbRx5qZrjrqbuhk3c0kmnbJ6T7qKiloAZwU3XsNZ3WMy2LP47sSxTN0AfX+m3rqz3AX4BhRekKe2kKpR/OZcSOe/bQ3WNXc/ygeEJgaIB2eq9uA1G9Ht/KLRSzDViTF42stOeTnneRkF9FN1Tq1x+MwSfnnopk3+/9phsfwFMd73zdR/lsRWm9BsQ43/qSA30xFA1Et32trlIS2G+kUy0VzL60sh0+k3jmJ7ftzDMxtBKVsHzoRme45B+U9/vt4m8dEKYe02snwYp6otgZp89mcg9ZcSQ25LlvjPszo2tpooPm2uAIArIVe2LMTKQLM/UAGYHBfVDUnRPCygxQLQkVrCKzxiIcS3RldoOqpCPdqZgeb9fJlytXIDjQbA+6PeYytxcIMoHrzgMuaPSjPNWZDbn1M1DAHanS2z8eQx8dBnoJi/cNTaYBCeQ++2d6A6bEG95W14x6Xptfb63cBWq/wV+B4S8pS4VIQv9XL88C8OCJ/PDD2wXMQJUaZbafWWd0grezdkS9WXdeKnxDxO5bycQA28Rc6C1WUABmWvCRPdr14nxP9S6dh8FozZ7MHAhz39fG8ZmnE1uUbxNIrOVAviIzOLHtILupRktVG5FXq5JoGaqJ5OElLukEN/LNcN+m0lze7g1dygyyHIV7Q4NNQaY4Ygz2X3fOBPQqmjt4F2BEhi679eoG1lbtA/A9d1iE550dMtUQcTaqTZB8jWZWLDkU9kPsqNtsIANG9r1DSbJ2FJslC3wYG2bing69O8FhCgSYiLku7fZpZdTN3Dsrg+54bNZUvaOAtfBE/ljdfCohQd4BWnYqtnk9HS5NJwQ+/fClypqIrRkqxQ4gb6Rg2A5fGDuiTdxYsv+AQPrun1WD5O3Ui89jrukCH8tlfmPQGEA14xOsLTC/VhLEMluuetmXRrczZSVzfv4sPAm6l6UkCzTx4lN3YhsHFx+ghmj+cxxFvACglSZVtL4PfVk/yw0GEa32HSVZE8cl3HKj1bN7F1UTrTKu/I7+32NKRUvuf06YOAkoiQtVflNe4qHszEM17umTxxeCuQXCZTNrbc3G6KIZ8vrpvfMjL6A5Qr6xY8MH/+YxQ33oYYO42S+rmAGnSDfSqW5mRTA8Hp2QpX626yd0g== 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)(52116014)(7416014)(376014)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: lQ0nbcxvI8XHKP1UWSuwgw9rB7l55NaxuVR1DsM0BSzMovWGNcseX6sCd8EUlkToGHU7+JSdpVmt7ARtxBNznpaR7i/lexIuafL3sSQcsqAnRSV8nmVvaypc0xBD1CTr3BlL0EHk7gqDVX8pRxUi8z21kcPaKaK5YnmkpS1imG6xl6cbynYxa+0yjBEw9ApM4A0qqkG6IYuqjQXLvKbeordrW3H6T3N3zVyCxHpY/BaCrMpX965mEJnEp1QKxFdsmafsgdPL6r9rhtFxHoH3Xo4ducyyhjVh8tRK+Maze3FErmXVrDG6dCwc0Qknv1yP3QEuP0g33d7Q52vSMhxssXDaBnG3WcvV7OscFk6nsp1lxHa5MNN41z4TltyXE7YiNefIlILYDE32TE9loA+U+3+RtNAOOTGSbRtcVN2PstF+H4n9VnhVier2f7isQdNkxKutLx7JIIeZNKMWcahu9WKXAgjIuyZI9vUb+xbvlAkdRayyec71UfmKOUZyqHKR1EdxpjF1Q16siWtB6pNwTtW32f3kRIhabQMxgvnIM75DVdOEIFU1dEtUurGdLrbOf3HaUL0/Jbd53Mi5fs+pIFHznUl69a6LjPSD7z6P88/uVEvynssxSC4ObM0b2mNGLh2uAuLqrDsPpS4dTkYOh3j6xu/lBPfvW02jRA8Ci1dL5F7rW9p6reyGpBj6W4xY3Lo7gtaBEMHIXE8fHZdgmQ5/eMij8ZFOiwE1Wh4fRa60m5EoyLRxEfceW6QpH4L9EiUUV9p9c/24w+lbV4P2fLP6Ig/LZVVrg5U/LFs91RfHAhvLAhL5hGH+6L8qQDggWI0/LZG1mivfU+fARRdM0M/MCdp+AfqOf480nGSBbDp8odrrb8GUuR6upGrdYNWSOVkEdq+1FI8fHOYF23VVmxFlic0GWVoXCxMkR5UPAyM8gepXsJtuGciH2+aSz6iuj+KsSzo3FgjUnwk17LqEUxdScO1gYdxjBXM5b/mDnQl5sYlhID/N3Roj8HH9tkzdY5oP59Pw/9qnr+vq9X3bCL0/dZE2+YZNPFXVJtVyjtKdDM97pAFGb1CYphfKDeQf9/whqrYn8EobrzJ8IDcvv6SM1rGl2n2H73naP0Kzs655hzwXYo+i4ZTEPcOlyCL3vWIHG0pSdEIcCeTGuCRtpH8MNW5mLYeaJscfAZo6KA1SNcrGqwyb/DfmebmKbAa+B2O+SRzyIxoW2+lBs9M4JthuwLyWAA57cqmVoVzlCpSu1CGnr93vjkAsWChLe7uKyFvSSUqjdYEn0d5bcFehcD1Kht5/5WFqtKRj5wl2UtnJWyuvxTtn7VSH0el/u9hBroZbbj8kL+Gb+K6OK5B2cXgVxdoErkB+Z9lt/kHTz2JC/m3s9/uP0Oub4CazxlOYumyAUNLv/78W7ER/R2QTKVDEg1H0WRHjZV0T7MbPpr+I8Uzb/A9ScnTITYr0ZM5asAS9Q+igY6siFp01Dazq4MRZHVBQA+JUiFn/W6UcWLZHPq0HAzjuF+mB/F5m/4n7QmxoGCENhp8VX48jdAyiPusy81qdP1CCp+bbxZWZtau4tBPBkbttm2Cl9U3wZwua X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5425a5df-38e3-4bff-24a9-08dd72722408 X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8676.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Apr 2025 05:41:11.5139 (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: DiORjghDHbbsKCqlEbS8NoWqzCERBsbNcP+0/5Eatnm6mISSsBG6BM28/sJaxv+dZrN+PG4Ygp0Lv7Z5JyfWGw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8145 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250402_224118_825453_7DC92A4A X-CRM114-Status: GOOD ( 13.85 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add the cold reset toggle for i.MX95 PCIe to align PHY's power up sequency. Signed-off-by: Richard Zhu Reviewed-by: Frank Li --- drivers/pci/controller/dwc/pci-imx6.c | 42 +++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c index 84d2f94e3da0..a2d65dc88b66 100644 --- a/drivers/pci/controller/dwc/pci-imx6.c +++ b/drivers/pci/controller/dwc/pci-imx6.c @@ -71,6 +71,9 @@ #define IMX95_SID_MASK GENMASK(5, 0) #define IMX95_MAX_LUT 32 +#define IMX95_PCIE_RST_CTRL 0x3010 +#define IMX95_PCIE_COLD_RST BIT(0) + #define to_imx_pcie(x) dev_get_drvdata((x)->dev) enum imx_pcie_variants { @@ -773,6 +776,43 @@ static int imx7d_pcie_core_reset(struct imx_pcie *imx_pcie, bool assert) return 0; } +static int imx95_pcie_core_reset(struct imx_pcie *imx_pcie, bool assert) +{ + u32 val; + + if (assert) { + /* + * From i.MX95 PCIe PHY perspective, the COLD reset toggle + * should be complete after power-up by the following sequence. + * > 10us(at power-up) + * > 10ns(warm reset) + * |<------------>| + * ______________ + * phy_reset ____/ \________________ + * ____________ + * ref_clk_en_______________________/ + * Toggle COLD reset aligned with this sequence for i.MX95 PCIe. + */ + regmap_set_bits(imx_pcie->iomuxc_gpr, IMX95_PCIE_RST_CTRL, + IMX95_PCIE_COLD_RST); + /* + * Make sure the write to IMX95_PCIE_RST_CTRL is flushed to the + * hardware by doing a read. Otherwise, there is no guarantee + * that the write has reached the hardware before udelay(). + */ + regmap_read_bypassed(imx_pcie->iomuxc_gpr, IMX95_PCIE_RST_CTRL, + &val); + udelay(15); + regmap_clear_bits(imx_pcie->iomuxc_gpr, IMX95_PCIE_RST_CTRL, + IMX95_PCIE_COLD_RST); + regmap_read_bypassed(imx_pcie->iomuxc_gpr, IMX95_PCIE_RST_CTRL, + &val); + udelay(10); + } + + return 0; +} + static void imx_pcie_assert_core_reset(struct imx_pcie *imx_pcie) { reset_control_assert(imx_pcie->pciephy_reset); @@ -1755,6 +1795,7 @@ static const struct imx_pcie_drvdata drvdata[] = { .ltssm_mask = IMX95_PCIE_LTSSM_EN, .mode_off[0] = IMX95_PE0_GEN_CTRL_1, .mode_mask[0] = IMX95_PCIE_DEVICE_TYPE, + .core_reset = imx95_pcie_core_reset, .init_phy = imx95_pcie_init_phy, }, [IMX8MQ_EP] = { @@ -1808,6 +1849,7 @@ static const struct imx_pcie_drvdata drvdata[] = { .mode_off[0] = IMX95_PE0_GEN_CTRL_1, .mode_mask[0] = IMX95_PCIE_DEVICE_TYPE, .init_phy = imx95_pcie_init_phy, + .core_reset = imx95_pcie_core_reset, .epc_features = &imx95_pcie_epc_features, .mode = DW_PCIE_EP_TYPE, }, From patchwork Thu Apr 3 05:39:34 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Zhu X-Patchwork-Id: 14037147 Return-Path: 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 4DE45C3600C for ; Thu, 3 Apr 2025 05:50:14 +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=wnBrFExYhqrcsrH8shIlvb/rzrmXl02sb0ZzR2qwk5A=; b=dnF//CecBd2KsKltR50TTqZ1ef oLAEZPI+tukRqvYxTQqX2AV2kpFxxRPE5thctdIxhkt5jYmfnBYKsQtB26LeGW0d/AxE88Kz0NRRz bZ/GCMLk3SGOrorvCK9Y6IaQnFfrekOuk0KM5CAdbSjLo/t5dkz5R6a1O3EIMYetQ8g8psBLs6bDG ZDpUBzY0Zca7QtaFm5VKXeB3KyARL0tenaoxkGs9FxhgfuUkm1uX3QB0HRNbGAjjt0d0QLftDmh2R uIpwCKlAUmusYC7ATRJR/5AdQPT21Ms+dyelfQ5z7LT3x0wHTl4Oep7ZcMKGJbF5p8+32tarSZCNZ YwZjkLwA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0DSl-00000007qRE-3KvI; Thu, 03 Apr 2025 05:50:03 +0000 Received: from mail-vi1eur05on20601.outbound.protection.outlook.com ([2a01:111:f403:2613::601] helo=EUR05-VI1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0DKK-00000007p3s-1WLl for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 05:41:21 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jiVEenypN0Cp8sq9S9CN005K7Y3NITT1x4WUqA2oq5tQX0EEVoGeRAX3IwmwJLITmMHd1WbXroL9rczhrqf8w3KX6OtWplY+P7tK+6QvaAbSXs3rsFYiYe/VMlpKnSHX9uZrjvZWISKN85IxD+5fyvsNR0sQ+b2filJW2jGTCLsDNjnRF+J3xvUFjzjGdz72N5/qpQUNTOw3rPQruNqC74Ak5Sgxpz49luGBCqsDE6AU54oUDn4l41744wdvFZ8FrHqo6W3iKcHXkiW7Jp709Xgp8tLckDnq1Q0a5yj8d0swNTK6uNPOP1CXsrcwdGjvSZw4cHVab3ZLH5Z/Bfm8gw== 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=wnBrFExYhqrcsrH8shIlvb/rzrmXl02sb0ZzR2qwk5A=; b=uf7ogZrFsV/pQeYdxYvDL3qvv2k9NRZ28q5iuz92bMQ6KPUb2LWBOFpLsUST0IGMXQbOGAuqkBrJ5/JnBwTbdTwPYfSDRWO8TFjaFbmbpzlkTE2HdTPLzEVFaQu7rOCGf7QDrPRM0FZbIAOUBU18yKCu71lZW3Fsu7vbpHqLJXmTUkZH/sJnhMtyPWqRtF+SlD70pFQOOWWEe0bySlvETnLCtNLxW8KzEoXZNOjVKoUMwaHpKLeXNhdho1kPBNTscXOUgkEeUAuHL9tb2cYWsQkyKLJC4ieIk4zSC1uB9D1cZ/WeHM/3O6Yuk+M9WpamyokBtVyydtnkB30B0BiibA== 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=wnBrFExYhqrcsrH8shIlvb/rzrmXl02sb0ZzR2qwk5A=; b=RnWwJV754ZKwU3dAyD50NHDtha0emXiNlaihZNflRfOb/gtlyTPlwT6oYwN/HtiQTSLtF1FN5c8luZiYjMgWBVqZ2q8WrMmbtK9QYhWEjANyfnZLJpGAtl2/eun5TsPJ03E4JRb0vc1/GHdgXEafgApOwWHXY5nKWdf3BgSFfnMvNRvnc85VDrZmceBmQ5KyEmrRIrK4h77/W+vVCd1XOvQiK2nmzlSVdcIFDdp7GS+d62TOi2Oh5/0/jFucVrgv+2mqKogH0Oz8Ml8H3TUFa7gog04Gm2DXv+03zk45FvuIiwtAqoNlJLHFQ0X6NlpRYig/x7vI91mO2A231w5f5w== 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 AM9PR04MB8145.eurprd04.prod.outlook.com (2603:10a6:20b:3e1::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.46; Thu, 3 Apr 2025 05:41:16 +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.8583.041; Thu, 3 Apr 2025 05:41:16 +0000 From: Richard Zhu To: 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 , Frank Li Subject: [PATCH v4 4/7] PCI: imx6: Workaround i.MX95 PCIe may not exit L23 ready Date: Thu, 3 Apr 2025 13:39:34 +0800 Message-Id: <20250403053937.765849-5-hongxing.zhu@nxp.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20250403053937.765849-1-hongxing.zhu@nxp.com> References: <20250403053937.765849-1-hongxing.zhu@nxp.com> X-ClientProxiedBy: MA0PR01CA0042.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:81::13) To AS8PR04MB8676.eurprd04.prod.outlook.com (2603:10a6:20b:42b::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8676:EE_|AM9PR04MB8145:EE_ X-MS-Office365-Filtering-Correlation-Id: f6c98f27-f58c-4bd5-dbf2-08dd7272273e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|52116014|7416014|376014|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: e/WAbdTONxr0tIvy/Um2/7K66wWgvFfhDMF54jTEd2Dis+DnZtNvNCluua14aFluUES7R5GGktL7YXGv3VtckybGockx5GReUc7ZUjPfANIMntrLszLNSkAzzIiuNUfxBl4/vsqJInI1WfggNr49D63h4u35bNsje+5d/RLWHO1JSVw/USk45yRc0dtmFNnpLNFZkGQcKGq4fsi5Isq8l+9pWUFRk53lTtNj2H9GopNID4wVlSmBbqq1Xsu5XA7Fz/bI53XX/74/r6rOxJRkmlo6cKpdpzEK6WG20ye/jmiGAG3eJmUX96Y4FSn5VCAXavbiKl8toYgq2ExvK0gDRVM/JS5CbMMQkof4ywLVwXvnlmdoxnj4RBI8cowcPc2YDp7T3NgVcO5olfohOGH2bb35255qlIjuIGplDZyob0qcope8OEFiGGJ8E9hbRvdpV4vN6MLyIXCSTWHDxwBHx5Kj3hXpNxx5PZ04fdU3OcUm+r6w0gha0NAwNAM4CbaXEeWfqsf8QITeAlrQmPT/MrEzQPTweWMzkfkNaR+3C4a5IUaftcLxGI2EN+ElvTjEc8w9nbN4f6R4gUcsEBfQ5I2s8dgMMYZSSQTGzGQ/d7IMdF+8oeoefHsWzbwGjxViwGmA5zrSUX9zT+hFLJNmmwUfB9qYjWk5nqRtCkpYqXHyIJNDDrsejEt4Rw/fb8Dp9xT+x+Rg48rl183olPD8FyTvLWLxP/Kgv77PSUZ17EhprUezvUiyHHcch750qmUkloVtR1QpcW9IVWwJ0ObVTU5kXrdbUD7nQp5Cgfm/P/hA1+zkxt2J912iHjkOthx0i8GPQhqtfxpEihDNu0qbdTbaRpepc+ks3dM2kYFsfR6bZnBLcil1WppJgcz9AtyXPBlcuNHzCVXx+nqKEP/5sA2cZ0Y4fCOdaBwhf88jeGpzzbWndzEq19kxk74od8ABN522VqtEms1cE1AYvWUKuU9AwEejleIEsH42/lG2lsnQT+cyyJNtjAaitzLhXlNsUGplarq1aKUVrR8kBt/dyEDFQcyZEFaG3GjbeE+1Wqp6Q7rPNX+rDxrL6/sMCCF66pX52BuSOQUjZ5UIo8qWL02g2Yg9PHCgHzs+UDU5Io99j7MIzmgPMrg/1ERL1LsTQWhnuTigz2C90qYblzCqQ1fyWMIGjkbE00uRjBHhwAejz8YMHsz1pjV6t9M4sldRrKO/Q6CNYNWSNJeUJIpQzF/c+21tIzys9G4blu5eJo4X3t6ZkKyiUQr6BaBBLzOHDW6YG3MgrQZ04xBy6BgtGg5BWNSTv9GqOhN/5gf0kJMKaA4/eHezJkxNgKnTu0Ura2CpUdSi8Fk32WDCctF2Q2r+Jxgj/1MJdbJB/ek4tq7IK8dzHxbQhyAjWyP6g3aEqxRfC0EsEmY1F+5s3Tc1ahyWzFlXSTrILmeT5eMdqVZpw+QipLA8/g8wIwM2spqAAwzGIKmCovK9p/3srzhkuw== 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)(52116014)(7416014)(376014)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: OXygCRBMaWeLv18p5mwfts1Itz01ITjKIye4C1cuQQjlGUufzxNX8cp75oMHqy4LoFDAmUIgt+TWjkGkS8QuS12/RuA8TFzWaRpxQnHPv4kG8CwJDLOTmIrhsXa1vBwFtJdwip+YPT7egMrd7Jv6vwbbOH4RM1TEyt1FBP1JDJ2FiDMaVJDnV7vWdg16ytzSFSsUntYUzctpVu9sUlEnOXUGEz/k0sNGHBfBN5J/eFA4rTlQztn9GaVXwuYND/a7/3QMqyhnlQuLh/k1derP/kGS/VAiSGriyuMX8RsPNEF0qGoPm3n26g8VBs2oj5SEaxjwM6OI3MAB+0vnZRP0Q4E8GY68E4S9q4ky9Ov4R/sw0KJEN+m7mJgHsqdUi5hD0URfbfhmHRJ80zXF/piG27lmXYMcL5tDBN70Y1Jey091XzPWU9ZbYzQkZVj8Bohaq19xLnJfzgPI4snwhTbgvqzesRFkVGh29ZkFlfhA4z/XgT5qNPYxzhXXuNpeU7lRVaxkLjfaDfHxcBUu7Pni08O3Se/sw7khA8nCUp0HdEvi6dpW6DIVfjmt09sGwnNHlW0uz3Vbgw4W7hK/rFslx7TSH9mtgvS9wAvj3xHd1Jtf2IEHGEn4ERDnc8C4bToGXn3YLE4wgVN8nSMEor8y2gUQXsamSB8a6n0P6GudKAX2JvvhXMBeZfx2j0573cR90OBw/MlsG6Q1yFfkJAZQk7JLTCwtUsVVqLEsEWe1Svt5gSrD5LX1q2Y7pUaTb/1q8wR4P6ntY2FAJ4Ixqiqi+f4BZxrDXANnF85Jp24iepoQGr9AwdV5l831E+avy0b0ub4s7HLG/Uon1ojIwSaqKL0gpE0XG5Tn7eMuxz/oDUxPufMftmfu73g+rFq+X3YwJnRJRB3vz6FTelvU55ZXzAKVnbAkk5Pxzy+Gisuc4QBFvV4rEGr3M2Q6uDKXCVZNkxZeRtJ+P20bgo4QPRNo0P/PiVocysKosEi6IKSczymEZBON9DlqrgYvylvSqWtpvOKnOHp4b2x1r3OMoaEBXZK954CGlC9yJWqaHKmq1Fp6ivQT+8Fl/4xANWQ0tbgnP2DzpPuNuu/8UEj5YEvKo35ly1se3Ih/Kadyw43FgJVnGowJEDcu8xDnsETKjaIYGNOGuMUoJT75qYj03CdYzO2qJJ0Lr2KqjiwGC4pU+7A2hoQOOdvopXAyj0oqmjApR9g9EtinutfFA16ulyUFvmEKTHt+yUwbbk/+NZh8P22FYEwXndiP8meonBzJmD+WDM1Jy0vB+jICMUQpyoKByKuxm0U2UZh4lkAr7n6mlZuwSamo4tTWiUw6P2iQWWubB6lz/qPOZzkpgmzUVNtuqOQiKwlA490JHksMZXWBrxRlMV/Hty/OtlIV8+QLwoqFBUaXCQbECUlEf614oQk298IYMWJFtkAGURcbUXhlxHCIashWJSuHjPswGTnN1jIbjbzwCWVbSAWPuntCPTpX8cStON0hV8wuLh5uNCYEY24YUQaWqabiGonmiNLQvGVEbAvYuVMkQGFd/8P6UQztYav1wv8/jvE1z9BYeAgrS+ng1lOLcoPpi1TaDzz9AI8r X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: f6c98f27-f58c-4bd5-dbf2-08dd7272273e X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8676.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Apr 2025 05:41:16.8765 (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: yKEqT2i5CLHtSPW8zdkVkuZY/S2yaiJNBgZeyCnGkCAOgwg6QbQ1FdiD+T8r15Fini92kJVorlDOaDwTEi4SDg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8145 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250402_224120_412472_B5F657B5 X-CRM114-Status: GOOD ( 11.00 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org ERR051624: The Controller Without Vaux Cannot Exit L23 Ready Through Beacon or PERST# De-assertion When the auxiliary power is not available, the controller cannot exit from L23 Ready with beacon or PERST# de-assertion when main power is not removed. Workaround: Set SS_RW_REG_1[SYS_AUX_PWR_DET] to 1. Signed-off-by: Richard Zhu Reviewed-by: Frank Li --- drivers/pci/controller/dwc/pci-imx6.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c index a2d65dc88b66..abaf6b13a8d5 100644 --- a/drivers/pci/controller/dwc/pci-imx6.c +++ b/drivers/pci/controller/dwc/pci-imx6.c @@ -48,6 +48,8 @@ #define IMX95_PCIE_SS_RW_REG_0 0xf0 #define IMX95_PCIE_REF_CLKEN BIT(23) #define IMX95_PCIE_PHY_CR_PARA_SEL BIT(9) +#define IMX95_PCIE_SS_RW_REG_1 0xf4 +#define IMX95_PCIE_SYS_AUX_PWR_DET BIT(31) #define IMX95_PE0_GEN_CTRL_1 0x1050 #define IMX95_PCIE_DEVICE_TYPE GENMASK(3, 0) @@ -227,6 +229,19 @@ static unsigned int imx_pcie_grp_offset(const struct imx_pcie *imx_pcie) static int imx95_pcie_init_phy(struct imx_pcie *imx_pcie) { + /* + * ERR051624: The Controller Without Vaux Cannot Exit L23 Ready + * Through Beacon or PERST# De-assertion + * + * When the auxiliary power is not available, the controller + * cannot exit from L23 Ready with beacon or PERST# de-assertion + * when main power is not removed. + * + * Workaround: Set SS_RW_REG_1[SYS_AUX_PWR_DET] to 1. + */ + regmap_set_bits(imx_pcie->iomuxc_gpr, IMX95_PCIE_SS_RW_REG_1, + IMX95_PCIE_SYS_AUX_PWR_DET); + regmap_update_bits(imx_pcie->iomuxc_gpr, IMX95_PCIE_SS_RW_REG_0, IMX95_PCIE_PHY_CR_PARA_SEL, From patchwork Thu Apr 3 05:39:35 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Zhu X-Patchwork-Id: 14037148 Return-Path: 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 0D69DC3600C for ; Thu, 3 Apr 2025 05:52:00 +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=FH1iXG1jWeeAOPBLEpHyDr6pN3mmE7ziwtgAvyjl+Vw=; b=WSaDLmp3biug3i3G67Ps7cwALu mO8AXyPvpbgc5m0Z5kESbZlsqW2/IkuJEmQda8P/5rsg99WOE0e4HqRxP8J1LrScBswisC/t0q4V2 J5a8M0Wrzipa8bfHn9Ag5bn2FzPlAOaAemr2uw5gH+VUwisPGRc+rlw4qxfPO1urxWJJuEfjJmrZe MuKSXrDY4DTPGlY8oa2Wj8dgsijU7um67k007uAvKe6OX+Ii+Q44gvXiNc0Sce+AvMgIoiS0pxG7A JDgh/wF7YHwc+0cQ89+DoVe3iL5Pyl8jj+g0x/sSlI85OLFOrtE0iiCGYS1o2ZwVAXFYZc6XMuBVU 4wwRHgnQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0DUV-00000007qdO-2eJb; Thu, 03 Apr 2025 05:51:51 +0000 Received: from mail-vi1eur05on20625.outbound.protection.outlook.com ([2a01:111:f403:2613::625] helo=EUR05-VI1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0DKQ-00000007p5y-3bSG for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 05:41:28 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=iEgUPShY3xuiptWECIe7n7aflMlSubRZlnLCFMmyNoewVQsI8fJ9PVTiM99+NqAnWvHnJsFKw95mU2cs1kopY4RUKI9nGGQAy5l7IBO0871rBiwV82ubbWB8ZPbQNlVpkm+vPcBnXkoE1s7H5q5ugKWWnX+WhP07t5wQU0UlKaARtX978RVwCCD2XSa+vCrEZicGj0DceHjHUKO9/Ksla4MP7HLLkjlsdKpRs+RJfUjESeh/JF1CvUTH+DMtTYSESStesc+bn9hAFssslqn6mekvDnkWKhXdrbrZn0nf8azmY4518uYtIVFS9EL8WgzRWCfLzvEFT9/KsINw+jErnQ== 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=FH1iXG1jWeeAOPBLEpHyDr6pN3mmE7ziwtgAvyjl+Vw=; b=p/IA7ENjeeR3UJhcAfGYcjaH+qMN1rDi48IPoMqI+HwvApX0cdJkUt8zoRHWmcW+U0E0nnVKqcxgiynwYHVZvrVqaWQ4tzdF2rJFOwT2y/l+6w8GNaKKpKuMYH9UI0nICzxc4rsqUkOe0JW3x8yORJ37GSdrf7CNx+I6HZWmlIKyWzgaUo9v9TC8tGTAWgqJdZ1uMPQ25cRBTZF3t3kuRsRKnp94OUi5tjS7jnFhxe9Iq0BE+sp8x5m68z/ubrvjZgWbc7/EbnkeErL96pAZUZ02n/m28olKrF1Cw/FaEw4vvxbqy6/oXthrmnKEUhWR+mOrClvHw/bqefzfAd1WmA== 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=FH1iXG1jWeeAOPBLEpHyDr6pN3mmE7ziwtgAvyjl+Vw=; b=Spgravn71zMhC0VdIExZtIgBN8Fd3RUAMjE+TRyhl/KWMLXfDmB6yNJkvdkNHdIF5dQ+IG9J5aSoDIi8aIA7kApMk1KOPt+Q/BzrVMDCC2Uvc48HIKvAvGVPjPi+lPQcY4KXWN02I/7OcTVnH0/SpGFjzetL8TkjPrHJ9+ENJGVEpF/kegS6+nlr7dGKnROVFTwEtmzhkhPQm7XZR/S49Z6+gYQclzXikQVceZ7GGvTP0BymdisZUzF5JtbzV4qJTNe6XcvBCJIDe76n8+y76ZAfLgtWa/9QvyF/bGRhtp91abzISZsqPhgYEcPusET4c1cAm+qE/NrVKsxXProtuw== 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 AM9PR04MB8145.eurprd04.prod.outlook.com (2603:10a6:20b:3e1::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.46; Thu, 3 Apr 2025 05:41: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%4]) with mapi id 15.20.8583.041; Thu, 3 Apr 2025 05:41:22 +0000 From: Richard Zhu To: 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 , Frank Li Subject: [PATCH v4 5/7] PCI: imx6: Let i.MX95 PCIe compliance with 8GT/s Receiver Impedance ECN Date: Thu, 3 Apr 2025 13:39:35 +0800 Message-Id: <20250403053937.765849-6-hongxing.zhu@nxp.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20250403053937.765849-1-hongxing.zhu@nxp.com> References: <20250403053937.765849-1-hongxing.zhu@nxp.com> X-ClientProxiedBy: MA0PR01CA0042.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:81::13) To AS8PR04MB8676.eurprd04.prod.outlook.com (2603:10a6:20b:42b::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8676:EE_|AM9PR04MB8145:EE_ X-MS-Office365-Filtering-Correlation-Id: 8200c5c0-2eb1-4a09-2637-08dd72722a6f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|52116014|7416014|376014|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: tdP8KDxzWlgH1yAx8tr1ojjz97gwMcmG4domhzAiTZ6mVkNK+HjZC+T8HU7TXUCjvDtvsGaWmtxBzcmPLoxxx5gHrd6x6dGSfPQg4OJ6CmMX3wu/y4EjNgGdX9CDUFX4EWgk+O8VWGPAedKLNtjraTBSLm5WOP+ajdKnMcbJNAKwzZJ3dSUvqpibEQVYLli4d/VUKGBpUJ+H9tjCU9y5Th9CA7vhvqRHXjsCsmG+yO0esvvNF4LayxTMdgQbgI9exJjIipnYLbnNrGP8GVIrmUsrgxGaJ7qHAVkyLINcJsWIu+PZauLeKkFlss+q1k12eNDzOg9nqd1R65CsEMKLnQ0zFr1GJkSEgE17H8/1gxYGcsYYaOVRVP40XTeCz66sB+kRpGuvtOAXyzbdIUpko4kkxx+SZXozt0yxZpRVkBSKQhcrfY0Bipi3JdYVxmf8AC0QL85GGv+NayfGDb2OMVCepCwMkwg/Y/cwWuvrt4iqV8ILLt4F/5ImZ2T43EO1MHfsyatNXXTbXEdjtwVjzypG2RXSwrgno1pLlpxn7coxMNAingvA8AAslARK80kQsOdRNbUO1cqjVvilyRmoF6q3whRo00BAjEFiFWgQuKOU+yYLSUmrEnAfuiHrYBKqrWXcQoP1HPm9g47/6SwtoKUsNhGDxbC4SA+v9riI9RwmX+7DHF3CzZZgGFchQoO5B1A/7vgm5UK/1lGcteNN+bKpKcizekDpPytQlzpEHCdW09r+q0vdmqO+nMXbP6Ez/feldUg2jYywyp0ZHDYVLTWfzc39sdDw03/akm7xDgZGZuhd59sszif38J+T2VrJ9gkMz2pfz6CvBbyqq4S53KAC5GEg7G8Rqq1WXmn+HnejYzQ31ssfPvxTfzUU81lWTuPQ6E9HrD2nqQcYv9tFFtiIo59SFTf+G2qLn0QpuQIpEjSscd/wEEwBl+uCeKV0vu6DGk/HlGq744G7P4BhVrfTxJLH67dMJPqqJ/G364YkzTjSfXl6A9J+n8PWA3CfIDK7EUc4jOWtxA64pKCnkdz0Mp248qr940jOri51BBPmsTMnuYsPmcRIGp82fSR8ehw24aABKEaesBqAwOfwEs1ZT4R2Ig1032ynI4P4dwSqE8qY1rlj1BVZ/2H7MIDcuhyd7LgHd2wtA0EtFS2JqQMiPtzexXTiIs/5LH/4aR2iMH7bgJknxh6FSvx5U+pICNPA6EjyxgxVIyl8HzMxPtuQ22wIrPKPyoJwmkNM+utT/dtITFC+BotDz2nvYGHXkaQKfOfHUY/Hu7xOgyNuLT+wT7XAdTJMEykwhuh+Qzg/Ef/arLVPvCRveg6FZyiuvCadCP3Z5CfZi4z4A2XdC1Sa1T+f7j5avJ0/DFlG1RlSoIaeAGkDm1EK1zonBZOeVBCvRK0EeLpHVrtTEI+1mOHHKeDn1OaH4wGYW2rwVkEwnxQ5EzkW/riA7lgt24jQuDWOWRgaIyUu7k1gkNP7+g== 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)(52116014)(7416014)(376014)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: fqUzDET/BSYc212aP3YYjyDbElLr+CcgyAYXFiWWCAODdXJga/FWvmuale/T3WOGcxEMv3p6LRH9ExAkLhUPFvmD8zPFvhI5CbWzspBuU8UFmZMAPrVCsBWwaTf3vyp5g89oEZjgV6gfJEDuQtLWBUSHgnMS7KdZjGIhL5AygiR83Z3zLFdgKbeuBeCWwmYg/W6oT49kv4TSNt+HbQKLLU2ebf14ongpb9ksUSEm8BJufo3+4GYnYjMBqraQRAL8+toKEGCBTF/jaDfWCoT6tLxfrZ8vZCq12nTtVLd/wngvhnaCg8sjkZDlkjfW1O4PR0KYc5QVEINm3WUbn84WPZtZyQbKo0X43/nf3xrt/aS85k4TQx7XJ93ivxMpxcxSd5omUdKGSQkgFrA9uXsfzIJ+3OigzGSgnTyNVddyE+dDFaSHj0jwOajiYJLpcxWhuBmucMCfFzpzYRpTXknqFPJs4mgTx+z0tvMSiVEPvLvsN4s93BdJf4Ga2hhcebDey7zdgwKLkPZyr9fXfrvR4rUMsgc8EisQEYnj3DOqE61ZbCGCUz21Lpb62flTANZL243J6kxs1ozwWW8Vu9pBUCiO6DXJuC7FTNx200fpk/z4wFWxlvkUS7WZKC5YJpac2TOji8m8IAJNNbrpt1liEtbqfa3BTU46tFLDqLLxV+AWk6bQ0bAnXX8f8IyuUcqt9A0r2mPljuTFlNMi5Pd6hBr+StCFlBUczSRU6SlnjTumS4t9yfsqSMexUuTmkLmMPiR9MPoty1rfH5iMR9M+QbWnWGoo+ysEbXVEQu4HzBCOUdVW2yCVt6WtTzsjINc4wIOmkj7o29XOl+U+k0IBQYTMCu5VbqnklukLHUftU2GS+AgO/dF+o0nbIBFTR+0qa5qm0eczrmp7W5/55OqlE3rcnP7pKEK2NTVlahj8va4LFgrEr9nqoDCqjlNVRm6IJjA5Xcxt5QOM184tVakEGKT9gg6YicqXqvc80/z3QUdMpe8YrX9otNPH7sPbLhUe76bpu6DPya4FysMripBx8RwM55u8psEi1GLzy+zbz4+gfY1gEyJRKYeA5wCtAMsKiAuNwsjr/xt/5ZIEIX11FV729IbIxmEQE6yxTFAyg1gqWmEEufgxKJwWeHsiC2gqWHbCVO2izVG5xStEEp3ofEBeBDr5ajdmjmftGAL2tTJtjHUWJsQNNNLwDudWxCH/qv5LbOD1K6C2TZ89MDPEwDOlZZR3d1wt5/wJoo2w916W0/DM2kHUEaEiJKIIEoIg1S+M4qhuO4TRfjoi9mrviS6OHpxSrrweSsJ229ohYl9VeJj2EAKjK0AQE6ctmo15SIUGppDXohCo1G2q4noDQV8Q+GzjShSlnkY3dlTii7vWPM/t0Dp23PfgD6tXF8tUj7lrpdc3qIp8y0xXrOFprAX10tg8PlbvOvyh6FW4HGCLbIynSZru8at/ZpZH5qREamkfwG8lwwKeg6/Thq9m71hB7fsngcp2ASRS+Q7x5kO/9xTo7mPttTN2EmC7Q7jp+dKLIxKBNCXeLs/MN2XwTcH/8u4kc0GGiZI250C2zsvJAwMxmMz7nnnAEGek+HmA X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8200c5c0-2eb1-4a09-2637-08dd72722a6f X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8676.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Apr 2025 05:41:22.2391 (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: aJ4Ew88wM+GFekD0BOgBxBBVb3ECvlpWU9xidZJ+puTxrbhce5uobdiUJTH6AjDAS6pBaLvwkoJ71xEBQSycGQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8145 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250402_224126_930271_8C53B7FD X-CRM114-Status: GOOD ( 13.91 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org ERR051586: Compliance with 8GT/s Receiver Impedance ECN. The default value of GEN3_RELATED_OFF[GEN3_ZRXDC_NONCOMPL] is 1 which makes receiver non-compliant with the ZRX-DC parameter for 2.5 GT/s when operating at 8 GT/s or higher. It causes unnecessary timeout in L1. Workaround: Program GEN3_RELATED_OFF[GEN3_ZRXDC_NONCOMPL] to 0. Signed-off-by: Richard Zhu Reviewed-by: Frank Li Reviewed-by: Manivannan Sadhasivam --- drivers/pci/controller/dwc/pci-imx6.c | 31 +++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c index abaf6b13a8d5..2232436709f5 100644 --- a/drivers/pci/controller/dwc/pci-imx6.c +++ b/drivers/pci/controller/dwc/pci-imx6.c @@ -110,6 +110,7 @@ enum imx_pcie_variants { */ #define IMX_PCIE_FLAG_BROKEN_SUSPEND BIT(9) #define IMX_PCIE_FLAG_HAS_LUT BIT(10) +#define IMX_PCIE_FLAG_8GT_ECN_ERR051586 BIT(11) #define imx_check_flag(pci, val) (pci->drvdata->flags & val) @@ -1256,6 +1257,32 @@ static void imx_pcie_host_exit(struct dw_pcie_rp *pp) regulator_disable(imx_pcie->vpcie); } +static void imx_pcie_host_post_init(struct dw_pcie_rp *pp) +{ + struct dw_pcie *pci = to_dw_pcie_from_pp(pp); + struct imx_pcie *imx_pcie = to_imx_pcie(pci); + u32 val; + + if (imx_pcie->drvdata->flags & IMX_PCIE_FLAG_8GT_ECN_ERR051586) { + /* + * ERR051586: Compliance with 8GT/s Receiver Impedance ECN + * + * The default value of GEN3_RELATED_OFF[GEN3_ZRXDC_NONCOMPL] + * is 1 which makes receiver non-compliant with the ZRX-DC + * parameter for 2.5 GT/s when operating at 8 GT/s or higher. + * It causes unnecessary timeout in L1. + * + * Workaround: Program GEN3_RELATED_OFF[GEN3_ZRXDC_NONCOMPL] + * to 0. + */ + dw_pcie_dbi_ro_wr_en(pci); + val = dw_pcie_readl_dbi(pci, GEN3_RELATED_OFF); + val &= ~GEN3_RELATED_OFF_GEN3_ZRXDC_NONCOMPL; + dw_pcie_writel_dbi(pci, GEN3_RELATED_OFF, val); + dw_pcie_dbi_ro_wr_dis(pci); + } +} + static u64 imx_pcie_cpu_addr_fixup(struct dw_pcie *pcie, u64 cpu_addr) { struct imx_pcie *imx_pcie = to_imx_pcie(pcie); @@ -1297,6 +1324,7 @@ static const struct dw_pcie_host_ops imx_pcie_host_ops = { static const struct dw_pcie_host_ops imx_pcie_host_dw_pme_ops = { .init = imx_pcie_host_init, .deinit = imx_pcie_host_exit, + .post_init = imx_pcie_host_post_init, }; static const struct dw_pcie_ops dw_pcie_ops = { @@ -1396,6 +1424,7 @@ static int imx_add_pcie_ep(struct imx_pcie *imx_pcie, struct device *dev = pci->dev; imx_pcie_host_init(pp); + imx_pcie_host_post_init(pp); ep = &pci->ep; ep->ops = &pcie_ep_ops; @@ -1805,6 +1834,7 @@ static const struct imx_pcie_drvdata drvdata[] = { .variant = IMX95, .flags = IMX_PCIE_FLAG_HAS_SERDES | IMX_PCIE_FLAG_HAS_LUT | + IMX_PCIE_FLAG_8GT_ECN_ERR051586 | IMX_PCIE_FLAG_SUPPORTS_SUSPEND, .ltssm_off = IMX95_PE0_GEN_CTRL_3, .ltssm_mask = IMX95_PCIE_LTSSM_EN, @@ -1858,6 +1888,7 @@ static const struct imx_pcie_drvdata drvdata[] = { [IMX95_EP] = { .variant = IMX95_EP, .flags = IMX_PCIE_FLAG_HAS_SERDES | + IMX_PCIE_FLAG_8GT_ECN_ERR051586 | IMX_PCIE_FLAG_SUPPORT_64BIT, .ltssm_off = IMX95_PE0_GEN_CTRL_3, .ltssm_mask = IMX95_PCIE_LTSSM_EN, From patchwork Thu Apr 3 05:39:36 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Zhu X-Patchwork-Id: 14037149 Return-Path: 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 E1F50C3600C for ; Thu, 3 Apr 2025 05:53:48 +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=W6km6k9oS29LQGkAaLwbPEhh+BnLATYwBngW26Xo4IQ=; b=0MMmHhpdFdoOUYwGOON22mTZ5G uYcq4lyUGUoQ/RD6X5Ut+jv/6GZ+iPBXRaho//G5IPOYQthpQQUOdk9ky66wEG/jQDQwpdPDvaA9u RYo2Z+jeCusQUY1kyjwdF0tIDl9jq0WYW8bfxTB6+TVaX++yzCVaICfSsdr98aeo/ltcz4DXEdgCg 0QR/Lzq/K39vC0lYjtRFNEX48N9IkFw1xRS0nHwPrT6IKAY/sb0p0Kpb0KTCgJu341L816lYQLgO7 ZGSevGaddUO+97g1CyzdhROkhrrV94oOmhgZIKTuUW0J5QtfJT6pzeK7nDQpuMaS0whp4n2MzTDc5 HDoI80og==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0DWE-00000007qwV-1Kke; Thu, 03 Apr 2025 05:53:38 +0000 Received: from mail-db5eur02on20600.outbound.protection.outlook.com ([2a01:111:f403:2608::600] helo=EUR02-DB5-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0DKV-00000007p7h-0LZq for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 05:41:32 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=DL38sZ9igxdf+w2tLPIo9XXxpR7H79QlbHqixIoJlrw7ED5i50yAE3VjOH3EMFWRlbUjJ6bPismf52sCeyBT6w3DJRgra/1b5R/A342MCtRFdQS5XorQRoGrze2fsQsQh3D05xXcnj5GJTZdmXD5Rb+mb3gzwK4Kc7KFqmmhqxQ0wRr+XCrBVwPdfeRA0+LeP7mn3qN9FSu/oilrXUbhycuX8T7BPjOHv3lM53mvX5BmG05/lCQ9GvfXPyzjUxJpa613qLb9nvli7hqr77Royp3dQxwTYapMwHDzCMcwNFfZ8vF9pHIiDjCx4gAMpXprum0/rvdtoMlz0GtDpUa8/w== 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=W6km6k9oS29LQGkAaLwbPEhh+BnLATYwBngW26Xo4IQ=; b=A383SDn/fNIwMqEBBG6v5COml1USggHVcKRttxdqDIvVQ+vk66afuCFKtmJE0OI4GZj7g4u6Ec5CtvdNOgRoUcFy9l5CXHFaztkyufEx1hEekmVxndHqSmFEJGHL3weXa47931rupMaDYI2qTIjzZ/TrvnaK75FbfnQvaEPhTQQX4QNlq3WcIraKd4DFyHsPgozEF1xtln0hpolR74czXqTTap4ohnPtfm3LFMtmcgJWNGiX+NeBk6nsY65Z7hxdPv9bfBR/A/YkiTiMrEMbzwl3QsJOQ0xPqVlT4O7NcZrX/Xw4UyuZcu/neGVemlGkrC60alUL/Se8rhjmtLVcXg== 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=W6km6k9oS29LQGkAaLwbPEhh+BnLATYwBngW26Xo4IQ=; b=EgImKrp6/G+YRR6ajMKI7W+HKZFs+lTpa5+S2MRbWuaxt2nYNQciDK1AQdcAZWldiS6/Mf63MMXtRu4qnhknNTGyV8609p97pSAzlgJiec5BXxDGNf2dVsiVqrMvXgsedOg6llLz1b5SY4jQXKmL15e9Ms31cH0vS0rP8fmXn0cCA4jTMhZC/RIKWWyZKWrAer2LaYZKGJ9TrzYsuP2o+SC7EaZ0CeVbKyfRbAeGGBo0dwpAM/BhiAoVjtWyxvIA+b1zTDuNVT87mTP4QRbMaDK4QuFhfYjR2YMqLPIHBccCSmqkMblGTDW3gnQ3i3RcJEsMT4y8GfHG3Fb171LAbQ== 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 AM9PR04MB8145.eurprd04.prod.outlook.com (2603:10a6:20b:3e1::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.46; Thu, 3 Apr 2025 05:41:28 +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.8583.041; Thu, 3 Apr 2025 05:41:27 +0000 From: Richard Zhu To: 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 , Frank Li Subject: [PATCH v4 6/7] PCI: imx6: Add PLL clock lock check for i.MX95 PCIe Date: Thu, 3 Apr 2025 13:39:36 +0800 Message-Id: <20250403053937.765849-7-hongxing.zhu@nxp.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20250403053937.765849-1-hongxing.zhu@nxp.com> References: <20250403053937.765849-1-hongxing.zhu@nxp.com> X-ClientProxiedBy: MA0PR01CA0042.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:81::13) To AS8PR04MB8676.eurprd04.prod.outlook.com (2603:10a6:20b:42b::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8676:EE_|AM9PR04MB8145:EE_ X-MS-Office365-Filtering-Correlation-Id: f9f1062d-36fd-4216-5729-08dd72722dc8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|52116014|7416014|376014|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: 0KAK+ZAQaWmD3iJtJGPzfaQRlGRM2Cr/uGSW+GiaW1mkHdUct1IRlPmfbf+C6YnNETx0TNPuaKN+/8WhTqNg16IDiXU9knEeihvoIyA6nicGzxyfpSBxBCc+McXZ1H7RGdJW5AwOlFBDbdYrJ/aDbrceTkgC/A/q7DXBG2ZOyE/Jc1DxQGgNObMfmybq7+KinutLkkWDEKtxF5xmVzajR3CXQ0C6ybKLdTXDEmAw2a/BudZyLmTOtiGg2d4hlq2rH9hSwlwxntGGCq5lOFu68VrulEmnFundOrd9uMCTOOyn6naaY9c3djOwhVCEkci5WSMZFQQMk3Fgq1Stb0rWCfXtq/ETd2h4B1/J1M2DViG7iQPwiCGx6IBHjBAvvM99kwD7Ufl8s1ctb7K6iyHM7smNPBVs8axgjsPPthg/Scvkvc+6VkhQ0S2zqBQba61epZA57r8hqphh/rYUY27ylhIVI25tF/4TSDPqPzHBvn/wOh13DfuM3pSK5vS+hHFpK1rM9vfyA8WF7YlndT1OZK9jpPdU1L7iEBIjY8PIVfw4UhkQfv8rLC4JG9rgyoI2BiDh4QjaY4KLXRtrbuiLoX7nwHyC31FROD+Ra6p6YCAU1UgGLlkbwJJICD5qWBdnDFaZw5DP8wQ0B2lYkCXb1e6OnQ7vMaom1V2wtEcHUwc5VSoL9UAnxuj5Ry8X003+VtClg7ZKf8UAIcX6yhaYFCYtT77aJh1vlCXDQidFcdJBRCmUXiJ9/pnE44XdTauLwc0pP0N9vPfE/ic6zVO7QhlPQrzyhnjuLC3DymhYtxOW1ZJ4/ydpOxFOGRr9cvbhrBil8HJWmacOVzgvLj7yF9k+ZJi8q071RaXeI78tRxbePH0Bb52fRx0Wiuq83zwa2WAsuM44Auly6d5/T5fQiTMbTvW6JW6TO0vazoVUCljzpBUVgi/vuSjwUrm1dF+3VxtrUEeFCewU8RyUZi7zyNRFOGtLlQ3Ms5nrus8AOKzywOSj5CEVYPrGXcwAwQMMOsHSGaXwrhI5s/krCRoLwUHVA8AB2RUJ/3ggcDTP0q44BIDoUuDR2zBmk8Rk/1Am0W2jJHXjApRQbTK/l2vYx9WCTFLFX7Eilxj+ILIGamQgCvMjpYVB+gYUlnuAxoSGItTNFJArCcIefyXIxD2EBj87dThLuzz44D7YffkPrg6V98v3ygYZDH/GBr3UEdkGLaP06YOR3dlZM6xDD65mj4V955hTee/LdpRsw+aTi5NIUnHqvfT7pIzuKpzCUGPUK1BboB59fkFjU/qZrSTYMl/UpbT37NCWWST+dfvak/FqGHW2qr8vU1nw1B0HcR7tljzCrixSV2tqBzBMDsIFdzZpTdRsBC2JuAe06/RgLccLtKzCF2NCvsQN35hWSciNL716K6/WZ5Ko4nCTyxiI8NzgynbJRAuoQ2GMpWSSeySqpv+Ucu6ApDcJ9TE6POjG7d0c9mCgrdFuTIWVF4Yfhg== 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)(52116014)(7416014)(376014)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: KdZn0Y3IoevoeetaUjh1fL0QFvFyL6nNQrT5SSvb6Zcc7mna6SkwCI2YMA30rYl6ATI6pJ6qwi1AC7auvGNRup8kXzu1fsxmlNDXrCBkUc3+OwN2tcLnuXSznXBaKz9Lqr0bqigNeSzsF7dQ5LrgqG46ImDTKlPmyg/8lsVG6x/thbuN5ywZ8I+WvNW7D+03dhGR5xM1HM+xzrX7d8KI+jBDORJTSKjJg64MVJU75ZwMAk/oPyrlaHDYOMGH9ymJH/9icD4uVxwucu+qhi7TP31ddc4imp0Tfe6eAJ5XjgR43WR+uVqo46D2FYzNcK+I+n5tAC5YsSoVIYpcamTPNl0SZwtYzVgDq/dwc1sRTTkX0MO6t6f43zIPxuWoqo1I5rHekCZThcRncdb0CT7AbZFvXFAmHgrQntZz6PXAjMwTzGqnZaCkPywwEkevwCESC+DsFv40xCl2/EAj8X8i2hHAKlIDzXDd7Ebgi4/q+m7t8OYJcNQJPIJlErPNCkz7mDvc3/l0tjwIKQ3N/FOGuUUl+F53rT/220znFiwUzzDJAmYcvSvpfSXsuXzWqXDNtzCtLI3LLORx9dTHeiZiwN5FPTew7on6ZhZmgRFESP/XZ27DYY05X+e5gLLevtwlZYWfCVOLwqPTKkdlXiCM4VZrSK4xul5eAsijWIneVO/DYPcdWn+/SwNu3B6GHtAk/jAS88MrYgeLa5sQMdxtcPn1H8mpyk8o55QIqBFiVu4TB3EPdXR6CoEaHmKZ57zcZc59WG0QA3N3vgbfLEKpepqN7wC4A1BiSVOqDinzuVvSo8b7phR32YnDVT7eSOMeuYDLZ/Z7/JQAw0WjT+Zex6kn55JzcqNyl8JpsA3cd042QcP2u/yQLbDjR1ZiadNimaTOzhlevhr2VY5QUuvHou/dDw4/jfZhWItfZlmPXDwOUMGZ7yS84RrX+BhP4vPZX9gcTo81rCFO9q24uW9A1AgDqdw2y8q1c5KQ6VaaUkSEdfV/7gU1Tw/DB8cCbiGALnhzbiNdt+TSS2T4To3mBVayrYPjJSekeC5FpXDNm9qibfcHIXp8+Td7PHsRBuzGLgYY+eAofAxEWvPYEvz9FZlO3KUIjNr3F6DFGy6tSxoBV9GVeDasnQhcyLb+iUznblpZus6naBnwDo0WgI5HTFz6Pl20B5RFebcviKApeuS0hNfmE3XeSZO7MuQluL8fS5KBZjHplnq2tfGmEWIEvoQHV0dWbdN3Cnz+OdgBD0aDTvYLOBl1yIWoz8qMwqct7d3+XrYiBCEuZ8GXfBohiw1l0dgSkXxwcwv8/vFfJDnhpsPPMLc8bYHFM2Dk64ubjK+RYuhXny1JB34i02LA3LeSl6EJ9QcMnaCAFG8qOCfaVRHOSBdpFI77zg9SHw4qf+gqKAEKnVk8RYFuDxELiX8uTbvQL9qxw3J0o19B5cyS53gRkQFwDbIcknfVhbLqs8SQtJ6U2U/dtOtvsTAPDw9TsnZC4/1DMLBJUb/wNyJNkLVvJhAU5nuVRjy0w5QNUnzszp+zooOuzfeJWf7RswozOhpVj+YlcmdvxzntaPv9dVpd099ccE9QBNqp8xxY X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: f9f1062d-36fd-4216-5729-08dd72722dc8 X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8676.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Apr 2025 05:41:27.8734 (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: kAwjkD5DuTfPuCnmzrEZin+kloY9CYROYvIQ3qw85lRqprl19i1kVX2W0bcptWMVp+raC+ZvOP9I2SLuA3UfVA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8145 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250402_224131_125207_73BD78B5 X-CRM114-Status: GOOD ( 14.80 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add PLL clock lock check for i.MX95 PCIe. Signed-off-by: Richard Zhu Reviewed-by: Frank Li --- drivers/pci/controller/dwc/pci-imx6.c | 28 +++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c index 2232436709f5..614ec3c79f9c 100644 --- a/drivers/pci/controller/dwc/pci-imx6.c +++ b/drivers/pci/controller/dwc/pci-imx6.c @@ -45,6 +45,9 @@ #define IMX95_PCIE_PHY_GEN_CTRL 0x0 #define IMX95_PCIE_REF_USE_PAD BIT(17) +#define IMX95_PCIE_PHY_MPLLA_CTRL 0x10 +#define IMX95_PCIE_PHY_MPLL_STATE BIT(30) + #define IMX95_PCIE_SS_RW_REG_0 0xf0 #define IMX95_PCIE_REF_CLKEN BIT(23) #define IMX95_PCIE_PHY_CR_PARA_SEL BIT(9) @@ -479,6 +482,23 @@ static void imx7d_pcie_wait_for_phy_pll_lock(struct imx_pcie *imx_pcie) dev_err(dev, "PCIe PLL lock timeout\n"); } +static int imx95_pcie_wait_for_phy_pll_lock(struct imx_pcie *imx_pcie) +{ + u32 val; + struct device *dev = imx_pcie->pci->dev; + + if (regmap_read_poll_timeout(imx_pcie->iomuxc_gpr, + IMX95_PCIE_PHY_MPLLA_CTRL, val, + val & IMX95_PCIE_PHY_MPLL_STATE, + PHY_PLL_LOCK_WAIT_USLEEP_MAX, + PHY_PLL_LOCK_WAIT_TIMEOUT)) { + dev_err(dev, "PCIe PLL lock timeout\n"); + return -ETIMEDOUT; + } + + return 0; +} + static int imx_setup_phy_mpll(struct imx_pcie *imx_pcie) { unsigned long phy_rate = 0; @@ -824,6 +844,8 @@ static int imx95_pcie_core_reset(struct imx_pcie *imx_pcie, bool assert) regmap_read_bypassed(imx_pcie->iomuxc_gpr, IMX95_PCIE_RST_CTRL, &val); udelay(10); + } else { + return imx95_pcie_wait_for_phy_pll_lock(imx_pcie); } return 0; @@ -843,11 +865,13 @@ static void imx_pcie_assert_core_reset(struct imx_pcie *imx_pcie) static int imx_pcie_deassert_core_reset(struct imx_pcie *imx_pcie) { + int ret = 0; + reset_control_deassert(imx_pcie->pciephy_reset); reset_control_deassert(imx_pcie->apps_reset); if (imx_pcie->drvdata->core_reset) - imx_pcie->drvdata->core_reset(imx_pcie, false); + ret = imx_pcie->drvdata->core_reset(imx_pcie, false); /* Some boards don't have PCIe reset GPIO. */ if (imx_pcie->reset_gpiod) { @@ -857,7 +881,7 @@ static int imx_pcie_deassert_core_reset(struct imx_pcie *imx_pcie) msleep(100); } - return 0; + return ret; } static int imx_pcie_wait_for_speed_change(struct imx_pcie *imx_pcie) From patchwork Thu Apr 3 05:39:37 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Zhu X-Patchwork-Id: 14037150 Return-Path: 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 528A0C3600C for ; Thu, 3 Apr 2025 05:55:33 +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=7FVqzbUpnJP/6QYALcUHGeZ1JYt194NWiSde1H9Wz1E=; b=OZo5ouCXsFKUb0WJCazvdXgIVE YAtc7SFr+hRkeuAch9JPuTGh0I70bRFVCs3Q+ByHgIhzC94f7z9kvTqK1UhRqEdCxAl3aIZD3EAI8 9iJODUwpfDOLOfPLwBUSeyv6c0YaPA9f3TcJnt5dX3eRUzL2P0DH9Cipmg32TW9r6Z6sl3paCJfWJ HvXQSJpkWtD/i5NJt8TeGCxLukX5dt0tU+9ZNSe8JCVrZHeORvKejx4fGUVXUgGP0PzS6mVSq4pJL X80tkHa6Yc3UYzBtykuyHmhIigbiwqIE9+Ka+NApzofWM6QcGSqQ5kf5aCo+uypiM9OPX5ViBllvH 2G/gy9UQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0DXx-00000007rA4-0aR1; Thu, 03 Apr 2025 05:55:25 +0000 Received: from mail-am6eur05on20603.outbound.protection.outlook.com ([2a01:111:f403:2612::603] helo=EUR05-AM6-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0DKb-00000007p9L-0EoW for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 05:41:38 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Kpg6tnkyAWGDLdrPs7Gok+cXJfQvO6BVGM6hWU6U97ciCq+w4FJoOCch/Gfak+g1exbGAS/cGOvq5fvCN9+hzJoqQa5Yy+7V+jhogk24yoMbDl2zBmI4Ywo2fWB8E67l8v0+RTk6gAUkJIIRrlMuD0qw39yocgPLFC0chR3Oa5VzXn6dNz3+THj3gQkwiO5sUeeGBPZeDyjjRvhYuhCf2N3GnKC7sL2aOyXnSdXDZ3ygvg6H04VjFf3QTLira+IWby1h/RejEZA0F6Yfd1Dv6HtfWz895+l8kRC53XDJFG+cN1KPWSAbVYMQP1PqkciWbnwU21Cs/5feW2wK4AR9JQ== 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=7FVqzbUpnJP/6QYALcUHGeZ1JYt194NWiSde1H9Wz1E=; b=J+q4v05PafpMyp0SWvPEIzIaPeeVsnYhQ6O8+0h2Jof0Cs+rfveA1JvP9qzOHTcU56UJFn5aB4tXGNHZ/LElqj0FkB6QkxzY/ZmLG0KQJGgjaVxfn9gAuzZdjksNvYH/ZoLT58yhPgQR5ctJEHieZHN6r+P6Tek/KwMpz9WNsSIWRc8k02Tl8849p1Y6yUIhZ0IZMKkT8xIrvLe83gcPBTp8bbzQoRrVOfD9srM1J0Vp58kjTT65te1xVXf5UbnShwa8t2UaFe3jHNuXq5g+yAN4TOPTo5JCFdPwWn2mYQU2tTGRPhTFSoYCVz5xjCc7PgbArJDlG4/XxIDZVovpBg== 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=7FVqzbUpnJP/6QYALcUHGeZ1JYt194NWiSde1H9Wz1E=; b=DHEDx1SLL7bEfVcCw09tMWU35ay+il294UB5n9ulMlOTV+WK/IDyc0gcD6O9So8Rp6yHn30YC2PiBzrE1q3tEWGJ6WMqXrCNwSSijjdDTthINpt022pzwbfTIZNXlVJNeH8fVxWHsPZSV+qTenzz+Vlf4PFQpdl/M+h/m2IwkFBV0JUr5eA6utWkKifGYfXj//HK+IRmbpXNLA36VMR06buP1nnEme9IfzAWK2dLiCsWsBI/K0pww5tuRWQ2WkJyQ0gFUKRB9EERa1sfL52A6f+GWur4z1tFbW56CrCkzlEBbZtyN896MjrORoSFH9wBUFNH2kZdasCyHviShCm3dA== 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 AM9PR04MB8145.eurprd04.prod.outlook.com (2603:10a6:20b:3e1::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.46; Thu, 3 Apr 2025 05:41:33 +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.8583.041; Thu, 3 Apr 2025 05:41:33 +0000 From: Richard Zhu To: 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 , Frank Li Subject: [PATCH v4 7/7] PCI: imx6: Save and restore the LUT setting for i.MX95 PCIe Date: Thu, 3 Apr 2025 13:39:37 +0800 Message-Id: <20250403053937.765849-8-hongxing.zhu@nxp.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20250403053937.765849-1-hongxing.zhu@nxp.com> References: <20250403053937.765849-1-hongxing.zhu@nxp.com> X-ClientProxiedBy: MA0PR01CA0042.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:81::13) To AS8PR04MB8676.eurprd04.prod.outlook.com (2603:10a6:20b:42b::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8676:EE_|AM9PR04MB8145:EE_ X-MS-Office365-Filtering-Correlation-Id: 5b5a03f8-0318-4fdf-4d65-08dd7272310d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|52116014|7416014|376014|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: t0Edi+GsuIB492pGKN/wQVpeDydDEC2RGsuWs1rrZQJbOiev3xtcMDUYorWT8knxzWodBxLoA6d2xLDpMQv1pAaX5tSG1ukA5mPlU8HzNiEu2SaI145AmEdXWU9y0g3/sJM1/idMpXHNU29E1oW4gxKd5QXoXxeusK4qokHZuaYKo14OFTReh6ICsA728eC5r5CiEqYDESIj9dUmGAWopajdrQ1T2SN8MNAfFk3XbClyZrozpJHIkagYAQDIAW2RnDnECUoZ7asQDuFQul65bXtedaltbUegT74a6cTwxZsezllAZ8PSmt1g90+A0mkWI4Zsx4XegYsiWGNlEvtQeONwnU4wG2vmBDaCWC162th1vNagHU9WdwS5B5g2imFol3f/uwODnOR60e5a3B2kwTimNK6lOMXWTm3+tH8gjRVENuwpdel0TZf8FTpCVqrcatjNBqtKAabpIkG5HBvkF6GifzeTk2v6Unm7jSRh/2m1tm7jhufmITp4xpeJBYLKxd0f9ASR/NH5qubp8eb3b8ceNKW28FQ4emB9hKgVwigYLPWbROtDNSvEUubhISb0XYkY4ENx5q73T5Cid2XqUYwKzO2TpFQlfqcRBvT4NhJcmx7dVWQOgUWyfH1OYDk+hdTfBtFtGdxNoUyG0VoHdMbvnF88Fzxh6OjhIDFNvHBl11pYsIRuIhDl0RaAIDQLxG0bUC8k52qq2qwLXIp6ObipKFkzkPsYEVvlX/vnNRfXDRXOwBegJwodmlYEbV1adwFfereAqdH5PezjLk2uVFbpRs0KshyKA4Sec+r0KT81gR8MUnfJFv0lotdjIq6Ac4LfY2DuOGEYPWvbsyDvpo6SX4b3EBQo5ECkkYtD3QnjBsY6GKBZH39hyDUo4W/TB3+NH+qJyih1SYC3XmQY/k6Vd8ZVXmPwmLHbZ8+LQ7+LJQAofsqcR0BPdhCyjHPsO5d3X+/tgsRJq4OjHT+1LMybOj1xOw7byTUi9+6L9dSCLPlVn5wtTIYRInRO8iw/COJMD6feblJqvVtP4iMRO8OkClsp+rmaHQcfhdbGYgI5S6LKjdEdiMPStK7StCW11V6cEW2I+zEZh2Wj5zO6+RPLre+iWik82dYG5wOPErhYjrVSCEctIhtP9zVD4yNCWsPtA4FMDlTT1hFXR7xq/uW5urfwqpd+GFgnri/SvBePGU1pk+EPQgbmszE92qy+G5De4HeIyemqn6rp3sQIAdU7MCizjAeRHkV3j9vugQ9pYVHXMEg26WSwoN1T89gu6T32ZLFhmQGO7V0TmwhzBO62Uhji6+b6WGf0Q5ijNEvqtSg5gSoHPla0jKnH8Ai1Lxhk82ODAXuZTXvex71F7PqSHFjPbJ3xaGcjx20W3BBGp5Y8JwExjdookyFaCiYkZwpLiHC3nN3Zugyn6QIlFF/NCoBtPM9qMU0vNCq8sSPBAT5lregvucSXlFWs91PK8RiPUETROWHaGtlf0GI5nw== 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)(52116014)(7416014)(376014)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ozb/NrKIOntZxjKD8Q3/9MN94S0Epl0JW9o5LqpXSmDCMz4PJ/dCqTe2aFwgUx/v2awO8dD2rlkOihrhy35OjIzKlhcMoJgjrl4iKhHxfPbhpMDZJkdlfuJscnh4FRYD8RrHge+vWY+XHw3LyU6kb/Fgy7LMIbVkpD6IM3lX0cAETgkS06xDfgmbar5ax1icBzNHsbmoWqVsEWINlItxIMlXYLYgy/3pNlmn62sfgG6ENtoUentmGWx4Crl+jo0vr2KsBZ1ZUPER7Yk+XVY/NY4TwMP3OncuS3Yrq5HMKusOhEZeBZVLZ3Zqlz+6ED9i4U5qkNStqajOyxGDdfr4kphtOqMEsHvfSDHQ2AzXIKJ1x4+MuEP2ljAu+k8Jgh+TlF5prTWT/i7SVWDBrqTKEy/0I4Os4gICbSWcFgx7ak6sjFQRj7j7qnI5gtZcCD7WsBsR2dVBF840ehHXbImg3CFDfkK0lLCJ26dVwdlTv7uG9WHunQ9T/0+Ey+C9QXS41g+pPRuYGCozRCDnzIzYrmYLk4I/WeR+PqME1FzTkxqUjSBqYxT4xpM/w17WNu7nNv6sI07XNzUsAQMi0kEYXc/Yssad4jEhWhUXYmFE2ooVZzBqxSd1g9L6Eo4R9LForzSFrCnypxXl8/MqDGZ5ESnYpQKXoTnkuvmd5oisw6Rh/hEJKQ5hhRiMsJdaySE8j/hd5cPwPJZegggJSoxhCTKREpx2q1JT71EJqM3ko3znJRtPzDcECQ+2hQHzOtb7swbE9NisQ1M0IHsWlnQL4YecvXDFSU9Dk0wSyi9aNIUC9jXmk0+HTHWCxuWV+oq0Qq2DCuwKxXHqyZOkvUAwUw+F0PXbABokw4LfMrMW77b86V+MNQJRlIt6sSERyMcsfoFzJ49DsSQ622nwvYV2wll70kb9yPTOb73lS9rBUEahPzTn+lLH7ciYGlWk076RThd+ObSxlo5RylXA7mVR6AtbA9BEuHeC3+OUg0sKRuLt/zl12Ugd0LuQVtWHzn3YX8SuVRZXzNy0Nh9nsIusWvGwHBAhcrFZxWW7VWgbJebZ3sbO+N3rlEuZGaJioBWMgQeoq9UlxrDq2LU6290ZSpR1inzS039xzUb2AEZkNG+zwT+YBPz1RSIG7Atb6OEqVW8I3Ga43ezJTBDg7AlEQA45/FYOeORuaTqhjxO4VWMApCnJlWIWTryd/2aG1ZUIrZPxhov4UvRei/+teh8HrB5cxw+XJux7/aQAxzwVR3uKb+pLfx8aN1CMJnqXDPwEqpiTN5Xctnm0vkvmLSUr4qhWblNGUrH95o3qAoASSFcPy0Ug+nfC10D/OMzy8vhJUZkbbtn4hgydXhJCpPauMirUGMt94hDEow3jps9rc+8EcwB0prxErSHqrYbSuJVB4frGFA8HmfrOwqgLJ2/uXfvcTOCJJD1vGuZIUNBvMk2aR8bb9CohWFOnb+BXqyNeup+sqm34ckzFaYX7I0YoMv6jRB1vTQXdZv97WGEecKuct8O27xbihOYJaGjmKa2djTxXv5J4yl+AYz110vGbisrGT2EEM+pXPA4764Ii0DfQeBuoxEPGZ/NVaoFZqEV4 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5b5a03f8-0318-4fdf-4d65-08dd7272310d X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8676.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Apr 2025 05:41:33.3456 (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: sFYqN9whhLz653uRlkdU9rMkWYXqTtyDN/gEdNTNkrInJ0mJHviQY9Lm3d7hrZ1sWCgYB5JqIysYtEHCk2+KkQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8145 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250402_224137_103113_71A16E1D X-CRM114-Status: GOOD ( 16.84 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The look up table(LUT) setting would be lost during PCIe suspend on i.MX95. To ensure proper functionality after resume, save and restore the LUT setting in suspend and resume operations. Fixes: 9d6b1bd6b3c8 ("PCI: imx6: Add i.MX8MQ, i.MX8Q and i.MX95 PM support") Signed-off-by: Richard Zhu Reviewed-by: Frank Li Reviewed-by: Manivannan Sadhasivam --- drivers/pci/controller/dwc/pci-imx6.c | 47 +++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c index 614ec3c79f9c..46864204146e 100644 --- a/drivers/pci/controller/dwc/pci-imx6.c +++ b/drivers/pci/controller/dwc/pci-imx6.c @@ -138,6 +138,11 @@ struct imx_pcie_drvdata { const struct dw_pcie_host_ops *ops; }; +struct imx_lut_data { + u32 data1; + u32 data2; +}; + struct imx_pcie { struct dw_pcie *pci; struct gpio_desc *reset_gpiod; @@ -157,6 +162,8 @@ struct imx_pcie { struct regulator *vph; void __iomem *phy_base; + /* LUT data for pcie */ + struct imx_lut_data luts[IMX95_MAX_LUT]; /* power domain for pcie */ struct device *pd_pcie; /* power domain for pcie phy */ @@ -1498,6 +1505,42 @@ static void imx_pcie_msi_save_restore(struct imx_pcie *imx_pcie, bool save) } } +static void imx_pcie_lut_save(struct imx_pcie *imx_pcie) +{ + u32 data1, data2; + int i; + + for (i = 0; i < IMX95_MAX_LUT; i++) { + regmap_write(imx_pcie->iomuxc_gpr, IMX95_PE0_LUT_ACSCTRL, + IMX95_PEO_LUT_RWA | i); + regmap_read(imx_pcie->iomuxc_gpr, IMX95_PE0_LUT_DATA1, &data1); + regmap_read(imx_pcie->iomuxc_gpr, IMX95_PE0_LUT_DATA2, &data2); + if (data1 & IMX95_PE0_LUT_VLD) { + imx_pcie->luts[i].data1 = data1; + imx_pcie->luts[i].data2 = data2; + } else { + imx_pcie->luts[i].data1 = 0; + imx_pcie->luts[i].data2 = 0; + } + } +} + +static void imx_pcie_lut_restore(struct imx_pcie *imx_pcie) +{ + int i; + + for (i = 0; i < IMX95_MAX_LUT; i++) { + if ((imx_pcie->luts[i].data1 & IMX95_PE0_LUT_VLD) == 0) + continue; + + regmap_write(imx_pcie->iomuxc_gpr, IMX95_PE0_LUT_DATA1, + imx_pcie->luts[i].data1); + regmap_write(imx_pcie->iomuxc_gpr, IMX95_PE0_LUT_DATA2, + imx_pcie->luts[i].data2); + regmap_write(imx_pcie->iomuxc_gpr, IMX95_PE0_LUT_ACSCTRL, i); + } +} + static int imx_pcie_suspend_noirq(struct device *dev) { struct imx_pcie *imx_pcie = dev_get_drvdata(dev); @@ -1506,6 +1549,8 @@ static int imx_pcie_suspend_noirq(struct device *dev) return 0; imx_pcie_msi_save_restore(imx_pcie, true); + if (imx_check_flag(imx_pcie, IMX_PCIE_FLAG_HAS_LUT)) + imx_pcie_lut_save(imx_pcie); if (imx_check_flag(imx_pcie, IMX_PCIE_FLAG_BROKEN_SUSPEND)) { /* * The minimum for a workaround would be to set PERST# and to @@ -1550,6 +1595,8 @@ static int imx_pcie_resume_noirq(struct device *dev) if (ret) return ret; } + if (imx_check_flag(imx_pcie, IMX_PCIE_FLAG_HAS_LUT)) + imx_pcie_lut_restore(imx_pcie); imx_pcie_msi_save_restore(imx_pcie, false); return 0;