From patchwork Wed Apr 16 08:13:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Zhu X-Patchwork-Id: 14053499 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 3A6ECC369BA for ; Wed, 16 Apr 2025 08:18:49 +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=GzkuEuF3vxATR0qlAIIOxYhvBuAcc3gluQRBVeS2DXE=; b=qWhwYgzDj7uMWBeCL1XqB7tYaN hwu4mYgFFoEG5+eH5lxAQ84U05aPt6vfo9LQ45VnMHpM7+xVRmICeDiblX2PHSDDP/hbnVmhwXsDB D06Lw37bQ51IP3NQ0mIDE28EUNi2GCkl3rzkPatcyNB72BFTh0C1ZYje1MBd11kdlDvNS21FRAJqb 4Dq9fYB6qsjYzKTv12cyHbPjbf+ZRKNkR4Mh3ewV81Iiu8qYjthrYYPoiArst2vr+FQSHMgyj2el6 gIPQ50xDuhlKCIHYNuSASOvbs2sqlyf7VQlGCQCb0dy/TdjDXOgM5Ee1bKy8D42xsh3bUWJmM5N2R LPBn625g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u4xyb-00000008mbV-03MN; Wed, 16 Apr 2025 08:18:33 +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.2 #2 (Red Hat Linux)) id 1u4xuy-00000008lVc-3JCt for linux-arm-kernel@lists.infradead.org; Wed, 16 Apr 2025 08:14:50 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mTy2Gy2AmIhC3ZseqLh/jrt++uEw6zV0queismN6WlWjTJnZMI7BTVllJgZ3FMgAlTab4WHdwvv589szKoepeq/jLglu+Pp3C1RFlJuOTdpFLilpH9ww1z2aUJ3MEcF0vbqVyKPKIQvWjkqG+SDlcjHqjb6Stp9FMvvISOcrgNLHdu5brvkxhp2PtXVzJU+d+s6TDWeqIhJbK5ZJ4/FCVfUtY+vyOPeyxuvLMxgZHL00uFxrUpP+50dGpqD9jpkTXguLM/sYVG2mpQzXrVjEt2e1GZF7jd/GyUhk/5OqiJakGhgP6knyC+sDAPuxRFDX4k55p1GZbLiHim1FXz+7Mw== 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=GzkuEuF3vxATR0qlAIIOxYhvBuAcc3gluQRBVeS2DXE=; b=W3poX+argoGT1VQFUDXBpfaeYF5AiAzF4HBfk5bxsRC4Z6nDHaMbaNmH2IagVSB1AVA7Va/VePDZmBBtWj2vtZZgeB3nbHxzLnXFPNmExo6istgzxCgKrtbmw2DYzntwVHRsbh8gvMKrtuUIqh7QdU3yO1ofHjgTGtrf0dUPCG6UHgUX8qyN6hiFnuV5GusJmJ8tQgmX4bt5da+Z2rd/FOkR2PZ9rPqIBj7+FMckOuO8+I5ZcWaYWI9sJzTaKHZ/f+z2oEqA9RtBZzSY0bXTY/HQ40ffkwjcNzcqMj6MYgLs/PG2oMuaWiJ7PQyO7d6Zl8PlB7/GxX6i65luSxkqqg== 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=GzkuEuF3vxATR0qlAIIOxYhvBuAcc3gluQRBVeS2DXE=; b=S45aWqb0WZIdTVRjNFK61iPiir4onxsQROOHQ4rDjAm69Gc9QKAD6IEjysQ2KgLhvOjpYC4aO6p43hyplEfyt3OVF5jZJ4i6+h1Wy4fCk4K9cumKmm4JCCoxeQ9HLOHxpVy8dPa/idAVNPj3RY9sG8wdLoVcKvNylVZ6hJweV8Q4ZoZh3OY9/i4LDLdLvAh4Qf31rkbryZSourfX1dTcW2Yt/jL1HZAqhnF/yhD54l3bJU25sRO4uk+BNwwXHaZslf1ZVRjcRq8Mnx2ryA896qI4BhefVbd49wjttY1sGfpE3ijxZjJ5P85n13S/rGD+Ip9AdB57bfbMiV9dnH/DDw== 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 VI1PR04MB7103.eurprd04.prod.outlook.com (2603:10a6:800:123::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8655.22; Wed, 16 Apr 2025 08:14:45 +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.8632.030; Wed, 16 Apr 2025 08:14:45 +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 RESEND v6 1/7] PCI: imx6: Start link directly when workaround is not required Date: Wed, 16 Apr 2025 16:13:08 +0800 Message-Id: <20250416081314.3929794-2-hongxing.zhu@nxp.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20250416081314.3929794-1-hongxing.zhu@nxp.com> References: <20250416081314.3929794-1-hongxing.zhu@nxp.com> X-ClientProxiedBy: SI1PR02CA0030.apcprd02.prod.outlook.com (2603:1096:4:1f4::8) To AS8PR04MB8676.eurprd04.prod.outlook.com (2603:10a6:20b:42b::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8676:EE_|VI1PR04MB7103:EE_ X-MS-Office365-Filtering-Correlation-Id: 906ae62c-2e00-419f-74f9-08dd7cbebf36 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|52116014|7416014|1800799024|38350700014|921020; X-Microsoft-Antispam-Message-Info: f91UtA4w86Y6xocZezKdt7K7diUL0dCscStLj7GjI0i6wvPB0yXF/OHA1Uo5lmnQOe9rdRYNKQljmp84wM2TDcgXw7Z3BXMxSHhhVk/w8U7qVADSHcnvs+rW85cSvCHcMF9eJ2xrH6XO/WiPSs9mEPRb/aRacKBtv7wPbc+VmZuoMSKA7Ar28/Mtp9e0LkAXTPih/KPw+q2R4qF0xLN6Ccir1E+hAzuoGg96CTQO9MWsOXxeXOGIedlZqv6KLFsufGGZdHFmZMdAOuCe3k37INycGH+6Q5BSaW1MvfBkRGZZD3YVC1KjVnsrKblI1oSqFKUw4E8AdANpNWmbNs1ucyvRtW/9kKuklv1Y7nDbud8L3ISEuQSQEf+t2A3iyMHw6d10eL84SZlayCy5QTitJ0RsqOfOsD7lwMoEAa23Jv85Lvt5z0N6ng7rd6txJFLApsEx9UcwVgKpopCJj1e6NQUcaoTwkTJ9tmsoAbN3ibWr3aR+pXMNTi0+uzvaT8N4IjLo62zN4o1Lv+7Pn2xArT7kr6+8OoUqqc6Gzeu0tN6lm1Xp0CkbavwTgzF7hyghVPzvUTc8muANARPNlEbSKMpjfzCTtUhPtvlFBkpaVoqAzbIuseERJ0ubHczDBBhlhgqYj5aLhPej+cywJZFbRKaJm1MdrCKbM3t0yOr8GxG3op4CZNyvSxSOWOND6eP3iD94PG3GUZhw5252dFh0U1oOyhb2itDNPCIbnrRMdJmUWvI7YR3+5ZoPS08WID0ld7sSDIt5B65mxvy6aGbQ111Jn7/19dum5GLzDsbvf9Zqulgg9wLKTyQJEtLtl0HgkGWvEyDS1LC5eTo4xFXbPHg2ssMDEZtWUYpoch4Fqe6XnjpPbycWz/hvt56b9KOmc+ATfAs2lDMXMWZNNKQq6Ea3AgkiNFrhgOy2JtWBl7WA3YU1j2euCobKTalOVmrf6P1JtMWnSPs5JD/xFcSaG/PG40BJu/ij5E1jsjxIB0F6G1V3Sg+jhj3k0iMvuOZRaoFF7B/bXzqjgOyvBIt+Wr4IE4ynRIAMv0DOJp7xCawilCpWLvBps5CvY8LkKaEOWu3eC11eTM8LQvcNjkGfXldyPuUX2wobCVRW+A79jwqryvQH08d2l5bUKRlB5rfvQVrsXFSub4jPxL5xwIdI1SN0jAhxSvOclfLFv8wokRWOlsisOX9Aa5u/oxDdo9DaiTHqDTI1LrmIBGWH+wq5NQiiFmg1W2hg/jIvWgbBgtWyApYfMCcpHs6fdYWD58ghXDR9/5dLEXt+atptiXT/LE3q25dE0ygIoUWJki8eTVhiLTaA6MEi5psEk+KquJz6+3aO4fdGz4qTregcRFQItM9DpeeBgb/f8tPr87fPcmACVerjvY8UU6viOKElvXfm/UsgdP7ehfLlgXZPjBGw1KCrBCGUdjXCMgJXsrj+8E3qarDhnQmTMn5djysAfcgd4NCVjOr3y+SGNcebGT7SqwnXl+UCKWNiOhZDikSUekI= 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)(38350700014)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Mue990fuX2F6mcSKuYpM4pcaSKa8VkOv1ifyy3KnC8n69bU6OK9E3I43aasrl5d/khx7ZpzV9e5V5/VhEvq68adIdPZte9sab9GWmuvqPSogBGl8GEB6Pv+N2NnRt7vR8+exf3kVXR5ZRBptF8izd/VbLEutQ5ZbFFIg+0YLepyDNubBHm/JAbSQ/ep5ho9p5UwZrGxmX9Csn1oeAxmwq/VidwTVjU4qMUtk2MHdUPN1RhfX8p70qKsxjBy3yXhZYzxwIVq89s/x7ev41mVxihzmH9Qetq5bnabRJbt3EEwuo3zpeEkGoddiibxc4Lp9JjBsGjrLsAQBQKahEoNm0EyIXm1PCAaDAMlkQn9BHk5bp5+G3AJlm/7s3FyrP2/XI/61h54h4G5RwyA+KXhna8QS6zjGb+gTarYCC763slHXRmxhA1jzZdBRaKHlRwhMt7nUC6cdcqxqdAIsJs5z7qgo3OArOtS0kQSYYlCWxnTCL7LiJCPyXmOlS0frewTBciDvFmF25YF1KX9bdaIBome0deDPIPC6mGA7RWKYvYLztLG+V8LCmA4k91A1nqTyIoTbYU6zLYR9WksEWBEGReuif5BigAEraNkkXEm4tRvEVdmXnTWvw3RaFwJIxSwUN4cgkyDEc4zaUTApWByVEKoAfJsD0AWv264cOAhg4gs1GUNIyp1vo5zdmmqB7A0P60qCS6ScLX7I2LfFhG3rKXjKcL7zpjeAhS7j6ltPD+Io0LbC4eM5YJbwhoOClF7MNKixINRGD0LsJoSRq8SUUwuJfKm5awgc/YzfX24z4bNSKafNNWbobsSbtUfeETQaxT6ysc0fBHHFWNRtLSK2f4/YByRRQAPEMBUnYArt+Ys0od3LErhkGD2XhOmH12mHAC207rc2BrM+myj8rn/tOQc5F55TrYG6FsR7AdF9+CnnQeP7ZjWQ/XMSkcfd5ANLMlDV1SQO0mx9jg7erQ0vA3oIUOtfB6urx81RHIQvs14ydM8jkoyEvlUqjIDVpXP/7tkTg6rK6njTsIrpnfSQvOoEc2uX8ruTG8XXlurFiYJdxkXQQrQbD6snfrm/x4JpfYcQEqJQ0vL6rRh2xaKAZKLMWZAeSwnPIcFZxrvKS2QKTgblU0vNMoNoqcWXnDI0m50+dRG1khhDrHbzaHe92SoZTe4ECDMgkpf6rwV0v84UZuzOT3ozeKY03jbNBi3i5xHQ0mHBUfxFwqJTxMEkRccPbq5SAtPTax8UMxOZ4bE21bRY/Vcad84r0gM2+QVzmxcCFs6W/gkkxutJKnUOQz1B0m10K+1ujZSoHT4KatAyhJr05b/Tx+N0C98houqNZYtFQqQDdGZAugN4TpKUWkjfSa/5UG2kI9ZUu0egl8YG0t+M6hKzjr1U36gaESFx+O0Xayf0J3vjaGM/sVDoQWf8HaEI/X2sNkNSclQSLMAwYrWNY1jdlrO/FrxdgmazxcD3+xj/F5NJIrTgMbBbAVcAhpW4D4vjGXudUdcgcyWrJY8mO5Ex3/jfQ1SHdDkv+dKDBMPIfpqhO6ghHYK1mrniNiNXRV8G9qlX7uCee8Uq+M6g6OOXNswkxwhN+jNm X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 906ae62c-2e00-419f-74f9-08dd7cbebf36 X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8676.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Apr 2025 08:14:45.3749 (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: 1tG2tJkOdSkn3BqVTHEinuiG6kZrihg7/CUPGSLSZpuEfKjM6r6oXa5+TrhkG6hNSbsozyl84eMfg4hFa92HnQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7103 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250416_011448_824473_F98E97B0 X-CRM114-Status: GOOD ( 19.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 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 5f267dd261b5..a4c0714c6468 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! */ @@ -1649,7 +1643,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, @@ -1665,7 +1659,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, @@ -1680,7 +1674,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 Wed Apr 16 08:13:09 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Zhu X-Patchwork-Id: 14053500 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 E365AC369B1 for ; Wed, 16 Apr 2025 08:20:35 +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=4iPa7OY+q2H5o3W66scZBiAuu7Of4yBZLJcG45hihVM=; b=Fdb/GoZSLdsrm3rKlI3mibs5Pv BC/GGYIbwW6xqyrZnpcyKUj5ijBSQfMRTFcCNQKBQv+XjXmDBcwzPcZB73OCi0c20tw6H7ahCwRRX kVvzUA/kp8lZGSX2VDcpDOs1rNU37ZvXF+9Pvex5VAJxW6jbOUmrjhiYI9uhqTFosQzgmRzSzRk3r YR4i52T7Qf4ODBejuIUPKBE8Nzzs+paIdft1jgvbNtDUwRtvvzspy6pBxb9S2b56zfbmC3Jxi/F2T h02MdrMzUQLkOewG6r79sCnl+4nzGPg7L669sa37FTBpSpbk3j+Lz6cOASWjuq1fPTe65YV3Q8Qyu S2Xw95MQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u4y0P-00000008n5o-3PoK; Wed, 16 Apr 2025 08:20:25 +0000 Received: from mail-db8eur05on2062d.outbound.protection.outlook.com ([2a01:111:f403:2614::62d] helo=EUR05-DB8-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1u4xv3-00000008lXA-3vV7 for linux-arm-kernel@lists.infradead.org; Wed, 16 Apr 2025 08:14:55 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=aCy4+fDIEcvWDJT41o27Js33zc16OeOEMBV0a8NbFDg01dBy/lYqvLLF5NeE4b7LgWJILoPWUWcMlJIVqOD7Wko3BpgCIA/XHw8856dP6Myd/Xf4SDNdJRdkXwGiHi3tflbDIOtIHjPXNrB25Cohiff7xGxyCig/pJbZy314ZcghzZfDf85CIRBKUPysGr3p354Yr2fGy6B3ykvm8arCET5lCjJukt9PGqjBYbRFFMHQvRMd+gpv+EwfppzBAkvqu7BPxj/GtZgu71EAuvsZiIw5lJo/WHOAOg8zxOB9rUGWrt/aXDqbHRaEePXNcVLK01BXByz1hcMKWBnjiFeS9g== 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=4iPa7OY+q2H5o3W66scZBiAuu7Of4yBZLJcG45hihVM=; b=u4Uxdsp8k1idteu2AEa71rq9E9pnmsv5TFh43nvZ/YCC1Eae44nek3jwlMPJWTHKiZtHeJH4Ax33BjztIOTnGs5OMgoXGgVridmPRQ/KAmpzVyQSjY5UrSQPVKL7wy1/6MtXCQ61XYB4dylEk4SWV26gH7VG+AaDfRQ66268d/ol2iIQsA/TERnGwdp6FPj9Dv+rEmgGc6n0dImiLIMaWkvggaAofFlrA34FG+e4izgYtUQuxTEHqdZkPLFwkGGhgLZTWV7/5HR1rU5lXTDaRUDUTlRcdVOcnt+eTzqeOf1xag1g738n6bl5PEtqveCNGCZxqZjhOUHFCDfrV8snKA== 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=4iPa7OY+q2H5o3W66scZBiAuu7Of4yBZLJcG45hihVM=; b=NLNXhEqrinOzjSLhRWUeGB7FonhHZi5Zl6SuKyqquAKtkXHV1DnZcrOD0Hfac5/djjGl8M7o/f2yfOtn/aIvcz/abRNzQi6617LyvRhGtFESgSAPujYUNg5NFkuBnBtmH8+POJ58xzFmxBKl7XEe314xM0GywHO7nnSGmXOaE0nsDIAu2zptHmK4Cg68Dh7s/q8MzYYaK/XKd9eNPfy72eueB5WkAsDdwJMz+GLhOcnlZMIbzlj4Os5+pfF0NS2ZJaE8n5Zou2oJS9b247PEh5E0Ld6p6Y10xPm2fjF7mqbcwmClglDzB+HPpMmEJlvIqiQB1KEfBIyR1zaI4Eo3tw== 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 VI1PR04MB7103.eurprd04.prod.outlook.com (2603:10a6:800:123::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8655.22; Wed, 16 Apr 2025 08:14:50 +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.8632.030; Wed, 16 Apr 2025 08:14:50 +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 RESEND v6 2/7] PCI: imx6: Skip one dw_pcie_wait_for_link() in workaround link training Date: Wed, 16 Apr 2025 16:13:09 +0800 Message-Id: <20250416081314.3929794-3-hongxing.zhu@nxp.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20250416081314.3929794-1-hongxing.zhu@nxp.com> References: <20250416081314.3929794-1-hongxing.zhu@nxp.com> X-ClientProxiedBy: SI1PR02CA0030.apcprd02.prod.outlook.com (2603:1096:4:1f4::8) To AS8PR04MB8676.eurprd04.prod.outlook.com (2603:10a6:20b:42b::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8676:EE_|VI1PR04MB7103:EE_ X-MS-Office365-Filtering-Correlation-Id: 0006012e-7014-43ff-20dc-08dd7cbec23e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|52116014|7416014|1800799024|38350700014|921020; X-Microsoft-Antispam-Message-Info: IGqNjUV3vFKY1JPYHi4DI1w9+k7Ep8zTp20FUxaJi9h9j1gLWyg+shp6qAhjc7K9jGpDrI8x/tR7kt9cJutJroxpRs8pf/R4Xw7N1Ypdn3uaoCo0qK5Q9Dxk1t8wbsVCnEt0yEUJBc1OT5yl0nFHNPkQvMF1oM/FebbHrqqZhcvyAUT1XssmTloq3ikbmFdXIOX7fKA7tA8lFX8xkPkCqaBMgkUIwsaWRqeAfPHQezetrNcz8g7IRvbZ+g/JW4xKlSUKtVfIGI/1i9A+OHd0qXyl1Dqmv3w2i9CwInnyw6QeKJaAYTdqsMIEzJ5r/f/8KUaakjVhxnfN2LntI8QnTI7TA9cAWHn7veq9VhPWXVxGjW3ZTHHU2hKUaunbwR0pwiGrviBq3mT+lskw8eSf7T6817MRaopH+2MMWSmG/fuDMOJe+BvS4K1sF1+NwCKnFigIfb/zKzoVYuQDLVLwb6c3EQjaXD1LmaBHGpCRXsesUKqFQPqvTXeyxwdtxrcAglD0AJKKMREx03hxqS6mT5PVmu074guDCewlstLkRjGqUDw1aM4+g3aqW3DhSoDe9GTwlU7KtO3fYmImWqKbtl8SkxZILdqZQdR2FL1YkzUReBypnfXRJ1j7tBtyf7nS/G+tQPL9oZQv/ctaGHuXotizSVkCuaz/5V7tn4oygcpjca9NaGPLas+piGK4NnjljBkR8ueN/JOz+idoaqikqXDJvOqPl9ptCh7aZ2t68AqYZu5gtWUcTTdZwWdeOSjDxROWwsd/oQgFJtJU5SYa74llKN3YrA8iuUqBt03bGHqHb5WARGiRSTlpRnzRhB/KMjhkl70ylcqDMMJ3vyaYvRhrZPvX1QdB2jRVYRD2DQ4gwqjPYySLH4VNPAdygKSCOsHqIhi4/1Ix7wyPVI+sry3ZkCooNGsOZoeGPwWYFoToPrrjfuCERAfSHfFzL2MfC8lc4xDUPruM9wywiLHgiA5aIiFiWpRprhEuUgk2s5vUlDlDNtKVOKhzRQXWKs0rDgdZOD42z+vXRoG/WUufPHpqs2RIsZhT9aP/p06SJedE+E1YljBF3RT4zcKujhAILAlu1yZ0uBIsKEyghP2Clg9fFdij1vvnZyNUPiEcf8ZquW71v0yYwdQhuijuO9Ra8WEYAW5/SC+uRwOCGNVYZbQFXaDy/ohh68gmUCYdWFq4e3gsm1IaripimAZ5ZRrSKOM4QII/kBf/PYHDjKR9J2QdN8wnobh65DNvw7hL8CuO6IQ+yfDPEAwS8U3QWxBwjTFWHBZubVIW8ovPfzow5yK0o+1ULhAJ4y7tj/pV1ZHstUYCDzkirCeVP0MHKji4HftOF/u+IOeffTPnV6hV+L7L+qsycR3vKAQhLB/VLzS8H1Fb+teh+ZGMzR6UuVLRtZ8ptRDsHaUReTGPalcO0AtHesedKbJN5SWXqvSX6z7VFh6BKF3uzC+cEmaem/RDO6ltulMyaXMuZH/cgnODRmMB61LfqqABCcNZRDvDi7U= 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)(38350700014)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: CcRuGgdhZUK0/g7M39x4hbjjBBrb1i+SLfb2Zo1GFXxxpvOtqFQJ2jCJ+BecCm5dQcvMRn4JXpIbwCo64rgmVmJnXLTYURQWIBFl+Ft62BGUOLyky9i8aqTa4O6lsxoboSOz4+WTWr7r+YVr8VYIdwp1Xh0z1fiXX41k0d3YegtTo2ShelnuZVzl2xlLf1rBg9PlWs18flHHKcnvZOCVLcr3dAsKYZ9rcEajzdBR9u3vwwsAIMJSh1wqk5lKtcH/TcQOvfYPYIgO6jGJC0ofqXfHGnSUbPD0kAQAi0GbKCDA3NBRZN+TYS1BMDdb5cgtePHdvauYIV8FqMeyk7o/fKW1fBfzEx0XZLGIBgbbOu4gQFeRV0uknajnaKJ/lLaPtuIa2r/TUfbhN1weYnCGP47Ryj0EJzY1egqM7NGv+EKYAfGlGZV5WiaDMg5gl9vwHjNIJmPsnUSDQfOaWp7m6ZjntAd24Mvsqz4U3qOsCSLTukZ2ZKA2S3mw0IEc9IiNCZ+lkr3aQwG5uRHB+4v9jy4TZf4kz5bQFgkgwEnT0jHLa87pvCxR3JFwTPp5/eF3M3Lj29JLvfIt/q41BMFFcPt6H16l7zbda+MnFnNPJKeWNLZyL2/fZujxePEQWEUED3uq2NyWj1uxtX12kFvwyUEmBtjksuZn0kkgvbkLfdBumz0FAAZB6z5KSor9FbEx4iuFLMLRiBZAr/wl79BzzyEkkH3HVwiTnKzkqTfOBmheTXKsS2veYNrWPUYDVJ/1lD55A2T1+GvIlMltx/+sVbXMiFgcHF0IUTg31kPuwUd90DdXHk3VRrXkyFnEGQtHLe78hZm7/BnY4bwuMmOwx1Fr741KghZNUgOyhpOBYy9V/wD8X5sdNwseNcXLpkhH/2Pt7nE+Xm9KsTUWmRptRFMMiI29KexcH7u6Al7Fms9vazEBvXubKyYSGyPgZiV9ztErbPv/dy+eM0GWl/FAmm902otQ7CRogBNzPEZKQW2JyyeM1+Xi0DjmbwkaKLktPeNgKe82QIvaoAGGJU0vIsTh1JhnziNav5U1NsoOVwFx4TlbHiuPuW5CnV1aS009jWJGO0FBmFhHs+nP0eFm+UZ2d58p88oF3BUazmlBUstME9RwqKk3SxV/AgavlxullguIj1iL/kvmkPWlUZDIifY/FwhMVTKRcXZj5RjbpfHPa/+E1z2CgwoU/T4Q123YF7OU8UHznclaFAVKr7B828Wc/p6O1ZFQx4+1YooJsCNsgIFkRJzigGfTJZ5WqzWvLl4vqojBWAt6Wr/5Fs541FxTsb25rikk+ZUaD2p5dX684IonuI7TWwosYQhCQFMVmeddeO8Acu2X8iRNZszMVF7a7j6ZgxjjdYwY/rjK31u//VYQLpZA14ULqCmpjrI6uyUkLMaa7rSKt3w5dq4e/YcX5CAW8Y9lOIdLtFwQgLItnKRss9VqkyRiz4InCcfnIeIQNx+6jPDqLJORkMmm2WmDsbuh9qr1qbFwSFqL0a80o7CNMQeSLC4MBOSVL8zWbSIe/HKQBjexd7c/qC2oFOanZDdjJT0j6UIhPxxYukWbf56e+DbcmdnJRbcKjr1H X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0006012e-7014-43ff-20dc-08dd7cbec23e X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8676.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Apr 2025 08:14:50.2880 (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: 1wh6Z88juOqtJC285nZZultf5PgpXd8Y9d+9GtLW82YqorZB9bsOUNbb3N5F6KgVYPia4DspT9Sv1CYFBXrpww== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7103 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250416_011453_970036_753FD8C3 X-CRM114-Status: GOOD ( 11.89 ) 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 Remove one redundant dw_pcie_wait_for_link() in link training workaround because common framework already do that. Suggested-by: Manivannan Sadhasivam Signed-off-by: Richard Zhu Reviewed-by: Manivannan Sadhasivam 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 a4c0714c6468..c5871c3d4194 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 Wed Apr 16 08:13:10 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Zhu X-Patchwork-Id: 14053501 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 9FBF0C369BA for ; Wed, 16 Apr 2025 08:22:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Content-Type: Content-Transfer-Encoding:References:In-Reply-To:Message-Id:Date:Subject:Cc: To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=z/ZZpQ8LxIFPxxJvrZewL0fh5qESFxQt9iOTACQH02c=; b=fxYNLxj69w79Oyo5xvvqOvp8o+ xd33ZTpj7CyEd++Lcpb7h7DSojwWhs+PduQcKwmV/XGVGLVlk8swO1tsb9YvODzx8P1DIxwIpZNfa s+8xshbUrtPx2M97QPsb2j1Pe5W45+A7PAp5varB2EuOAWE77Q8U3ESF1cPcQuKx2cNiItunOtqU3 XQB7BuFP87jLT3KSjDv4hdsPmUIp3HfVit0rw7pQkuw5n6d3QJB5rWXDi/ZTijoxVALutc3vafCHq L8H9hg4TADucbsXUvfeG9nDQ8QnIs39TRR3V+OnGaFYDv8OrphJEeDR6Xs91Wu2NFQBxRpvotRliS pRv42imw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u4y2F-00000008naF-29Zb; Wed, 16 Apr 2025 08:22:20 +0000 Received: from mail-db8eur05on2062e.outbound.protection.outlook.com ([2a01:111:f403:2614::62e] helo=EUR05-DB8-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1u4xv8-00000008lYS-0Khq for linux-arm-kernel@lists.infradead.org; Wed, 16 Apr 2025 08:14:59 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=WRQm/3/s63nFr0Bif3hIbqu0Y1qmmChrzMQ7XkmVwVAYtKvOlHVN0q1X7sBJDrP6TMOiXrEx1ZVRSJSHgD2KqmdDPekyibXzfUXKHwnycD7rp22Oq+GN3cA01Rl0VNYmPTohD3X6wHde30ABvp3pyV39XfWUsNyZKwb1dQhHXutmGR8BLGSh0cItSmXjN6hZPS8UE9M76fQ0o4xCIOCni848Hs5lLxGYcRBmw17fRm7AkIdGlhdJ9JNtywBGVo5JdNK99vLbvMYSqVTFwwBmREkY5AJrt0/tAt9x0IhvQEQy1Xe4Sudw4RCTLydyOFUQG+P/nCaVjtUEeA58DbnMpQ== 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=z/ZZpQ8LxIFPxxJvrZewL0fh5qESFxQt9iOTACQH02c=; b=xKjTBKlzqe6DTKomGXATYInFjRND2anj26dGBB7WcWZ5Jd/+D1oKoVTY7NpvO2j+SqlWfjXEbSbnhAo3FrgWTTm+zrCVXcOJfnvzIgY9vDyBg0cB3/PRqEOOJQXplH4GYSCK4zqmnNQZKIkTN2u8y1jNqN07BK5OWnst76BKZgSSZNPtZe+gU6mBb2MBMLKPMwbY15HNk4k6/NMqIl0PjUe/roqJCB3kiSN/pZmTslIUgtSMJymgMBirXM7MeYMSlEwWeJF9YL2jH/aXaoj5HNcPXOWzDGUcwVa9Grsh+FjI2cFYxcOYfnyt7HCocdAg+iEWC4KYc8zA7L4EBFmJqg== 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=z/ZZpQ8LxIFPxxJvrZewL0fh5qESFxQt9iOTACQH02c=; b=byXPv/+vzoz31YFmjBf1ToB3iH9QDpP0yrZKhbuJUMfDVGpdh8a0TJlIxwmrs63KM1G5Dz90WwKTXgzA3CB/z1T5gYQIP7Z/VUAq/jDGawJVa+zPEO3l+yfSV9PK3xOcENGGTFN/UeeihHOh2Nh3Yh/Ot40kfFESlnAsYBB6vYkaTZGFvr2UDMeXdm+no1xWpb9KN9dw69bORGumvGKa9fmTmCzdQj6JuMKGU17f9lFj34zACozPEjg5tdZXProMp6iTP1rUCx+d5SOUm4oF+fidTkYVmEfTGYoYvkirRX0I3lS9ae6O7vUbZ4w9KVzpTQE03nb8cFxeN7wrZEouFg== 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 VI1PR04MB7103.eurprd04.prod.outlook.com (2603:10a6:800:123::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8655.22; Wed, 16 Apr 2025 08:14:55 +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.8632.030; Wed, 16 Apr 2025 08:14:55 +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 RESEND v6 3/7] PCI: imx6: Toggle the cold reset for i.MX95 PCIe Date: Wed, 16 Apr 2025 16:13:10 +0800 Message-Id: <20250416081314.3929794-4-hongxing.zhu@nxp.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20250416081314.3929794-1-hongxing.zhu@nxp.com> References: <20250416081314.3929794-1-hongxing.zhu@nxp.com> X-ClientProxiedBy: SI1PR02CA0030.apcprd02.prod.outlook.com (2603:1096:4:1f4::8) To AS8PR04MB8676.eurprd04.prod.outlook.com (2603:10a6:20b:42b::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8676:EE_|VI1PR04MB7103:EE_ X-MS-Office365-Filtering-Correlation-Id: 234a6a09-3ade-481c-5e83-08dd7cbec52b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|52116014|7416014|1800799024|38350700014|921020; X-Microsoft-Antispam-Message-Info: S/+ZNlp4GUh0OpDahKBN/e/LWliQt8Kjl1JwVbnX+LXA0RLnnImmsDzbSsOxuvIskPFcxyAp1pjVtsPrNq83XMnx8QC349HIxuBtMoTb+f6evC/WynQZuYExtwGLYxkFw4gX3yYrOloOrPAXNXSs/coIqS3mBynFz3PEbAB6UqV3PahwkjKS+74xFUG5ewgh+x3vL+h3qupFFAhuM7PtJL/PQ4CRBqpfMV438RzOMLVFIUDpYVC5bF2VFTTO4XRt0ajxhOaErxTMVGqORyeGEJIuPl6PFOG0/PXoesGdyIazA04+f6buZiezX9FdO/Oq0q3Qq4NXUhyxNVr8wqDEoiP02L5y7HbFJvR9un3MEhaDTQHq7OBG0NnQAkSlmuR760KMS5sYSTY241sSNbtvHoLlu73nDVy688WLyoeofsEtoTt+ezmc+Cf7RzkLRIARmNk9UGSYofiOP7hJdv2XoEjMF22ZzAf2fO1t5mgPB+3R7nec7nWHKHsl3ZxMn5ACo3s5b4/RYHfDu5PyoogyrX8m/0NLWw5UQMNxyRDb2N83hi8kCfCsSnGIvJEBlC7nPORTg//PFGpm2xSsN4FXc1CEEXXyuyL2oP65XI+OMQLuBgdH7J3UAluDnTaMiLkvtwZPbPCvm9i0lE09b6BiUDMkWZB7QQ1BTRLHz4amsJIbEZJP9vbpmvcyRtxXIUKdmFzEMAWjnDSHc7xHkQ7nNdJve5Iv3tuyQT/1cJ4j63Xv25Z/uotsuI0gjNycWdkIDeXn7jk8WaGCx4CbDG7YLcyH739wuadCrxehrme6aYab7z/vwYh0cs22ZVCoo+cj2WcrLORkg1+Q0dHy5tl0PGeqgUjAvpGp2yh51MXkPKW8y/Z9LBQIHQ+cZAOBcQlsFA2jjOM7OHNyFRKZqkQGTatbQDhVw+QSuZTtJSB21ztXnE6hfjJLlQQjpcGLD9G4HaVh4sPtA6BSDt2+Hk1pCG05EBPsiAb+/E5kxZFlYFnMleHGnj8OiI6UOfB+S0n1JHJPGkWHt3HDABjzEdbK5lUdxmnrY16om9QmUkCIw2sfXpI9S1UIg3JXGonkowrRkgw0UzgwlnX/3Cwkbl7IGq/9EcooKiIorc/nr1Etbd5Yh7Ll5OMP7LiDOptZH1Kd+XGpHKBIWSLtsdvl0Jebfiwng5dfM/4SFjgvYP769iHuG7KAT9gMQFMsfd09Dy8cNQ71jZhlDzCXEzbP0e07OKEuurS7lEVtsxM9WZyx4kh39O5KH1prxXsjl9ZezF1WEskB9V6Vx4YtMuisAAOtpeuO+QMEiEvLWpPKcJlhaUvB6hSoMwIJ+4T30Mzy8nhhUHecjv+pnJXU60Nf2Xo+nGmO6LKuvhuZ3NosY8p+ghXbNdL5Tpx+hgzl3q2eFwNK5YoNltT7ADBg93QiguT6aIaEFY9Tz97EwDUfpcBdTV1IJaacGRG+N3dh++BWYBGkoDx7bi9axxbBIQLKwLuAPScmZoFMcms6Qhr8vO9jpac= 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)(38350700014)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: kduE7OF2ruKD9GgObRg2n8dmQi+miSxeAtzM/asMsNAzQYRq+Qr8/lvlfXj+rnOXOFN5P/ta1ITWFGLZ3wdCwoZMoika9ofp3jvxvdd0XcL5BBb1SwgJL2kXLmv3DwFtfM3eqF29rWHzCEJit0d5zVHpDOYpPgibafYcnsWhfX2R2JP5/X6ZszYTy0btW767fTMLhKvmS9yQf9b7k2TCELKokGVpmVrCH8Emn8h1OfkId9RZKri4l4ppFVKtIPC8hqzt5uSekKJo9scj0gF3Mf1jrT+CyB2PCpXzLonVUG+8i/UuAsYasZ+S70vn8tCRMnkjzbDN0Mw8jrOYgYA7+JJSYpsxCJ5SRdxyIkhb3lKyeK9ILBrpUeJ7hUVnQAVhgflqXk7oFcOPDpFmyGVWvjl1XlWE65EZNdf+VtUYnnYm2/6vyOJAd6uFATs1aGkPdqtnyF5m/c+UzOJQN9DYtV0mIqbeawDircxFrZ425vKuIcUKVN474cAQea/hFme5MUx/QPX924ElOoCuz+TRpEuAieWI6iqnfkLJ5k/O+e6SRBmTu8UDDlQNiPBQksy7o3l9qSff8edWho3jg4+4zj+8wxOQZeTv4mLkcYhGx46toD3FmfSTg//gnLfIKWrKoE4nmXrJ7p/TqP+6hFrppNyFaZ1fiQ4AQXNMBNsqAn3AIhWgo27oxDsBuuhHAbaOPJkeOiCjHS/rYXX6t3Db0M37XCVR7Cja4gK/Z6KrYUIDiHEuhEl6awAkupqFXkH3m9AUoRgMwxET1jaeIseCtHNKNr9slA53AWpBsjF9muisrZUkFVdTkWL/rP6IFwir9F7kuBGSTMQ/5sJvzjaLzyW0sY0FEojdgMLh/LfPJjbHutZKX3eiU7+/iyuaG+wgb7Y1HFag1pvja1h5FoMrNdeJFaA33QKeZDrxhtm2YnV+ngo/w8YbfdFuqMrJpMPep1CDdHqFiKFOebfb0LyhtWumwlfCJOg463BWlK/t5QoGQmxm4bm+rAUcSgcTSDrcC78Nq3Bc5Wk+t+MHqmc1j/YXovZFWKahjECDGlSzhdBAxOSO6OEi5h1WBJNrbZ1SuJJ4MjyxiY1DhylXxkYfX1ahJuNIxPfUesPVf7mTMe2NpUlCl3No5ryoXCXA4F8q9m5Htn2vp2zRhJDqGTmaC7LOfLkI18hOhIZE92nOkhNf9BVrWSMrjO/vqzrjQBqv4YcfvhwNSsaY+EjbDAH1s/58yIhrqeLvDrrvD432amaji6DCHqgtwYkwrY2DLLR8ZXFxwrEfvlICsfTRVFN7QTN2EkzZC8CNyn2ksfcwZ9db2dE22Qd1ZvBXNlmyJo5rp3U19JCnTYohnAcFGGQ3nxYPVG+5GLzaXpOg/0BuLFeq/JwtwDAS+JAwYSTvGixjQQGl0PlAkLa6nfiRI48zvkY+ebxe5n1DF21ehi0OdeaR8jwTgvpXSS4fRpIry6HKx2QIwPkNDqu6d6PH7pA7qv3rv60uaaxGZoMmKCxLEd6xXoqKKOdhmPzHq2AvzxEuePiN/YFCj26FQDKDFyLIpFCZfqPfEfd4kqVErNSV8MR9vCQQ4lto77DcXXouwetM X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 234a6a09-3ade-481c-5e83-08dd7cbec52b X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8676.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Apr 2025 08:14:55.2107 (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: OLqi63KBYi7YIqqUut9OYarXpKN6Ry+BlbEglOHfaHooOJbZoXGP9joKw2fwCu5YPL8l2DytaluzNK3plEjuOA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7103 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250416_011458_112235_0A9840DF X-CRM114-Status: GOOD ( 14.08 ) 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 a cold reset toggle for i.MX95 PCIe to align PHY's power-up sequence. Signed-off-by: Richard Zhu Reviewed-by: Manivannan Sadhasivam 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 c5871c3d4194..7c60b712480a 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); @@ -1739,6 +1779,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] = { @@ -1792,6 +1833,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 Wed Apr 16 08:13:11 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Zhu X-Patchwork-Id: 14053510 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 7B04AC369BA for ; Wed, 16 Apr 2025 08:24:22 +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=44ql7gMMxH0e/yMRoGv/knoUioHznUcfCCpcl2n7P+E=; b=ini6b8rIqGyyyOy2YCIQ3bV0Z4 RoiCr0Ae5UW+0V9h+kZr1VgFV5jh1gLPyQXW0dTix+iU91q6GsF3qWQWzfV8KO9fiENfYmgFfuRUd ILnHsuMnOlijR6lNZpXm5P4XF0J2E/ccaLhBMtux228AojJr/VnbBPJX1WqxVo/6kuUF198+4sQg0 MIYktQc82iv5cn3con4AybU+Fv0rJKwZz2hI43xCJUxmo+sGvfvEiVqw0t3Jxi5yh5j/11gTliCdH kCjY3TpCHJFAHRbR3nDYLUg2/6Su97EyCCINWC3vI2QWnnM6ai1Zn7F4NXdn5mndRJWcJ+wY5Enu7 W4g3P18g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u4y44-00000008o6u-2Qyg; Wed, 16 Apr 2025 08:24:12 +0000 Received: from mail-db8eur05on2061c.outbound.protection.outlook.com ([2a01:111:f403:2614::61c] helo=EUR05-DB8-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1u4xvD-00000008lbR-0Ejj for linux-arm-kernel@lists.infradead.org; Wed, 16 Apr 2025 08:15:04 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ltKKWRI8WD+tym+zLRKJYm4LWMH0FoGO+uYsiTe6WIgblTRS2SevJG6+Gd0poDTB04tFBxixjQ919OaOLnRA9k62pVmnGwmfTIv45bQ9+PyNkSRBSYkbt/SMmenU5tDzhxXf7M8mLce+MyhP4DyPCWvfTorEYKw4RcWkqMOjd3jPxryfaVLPdVeCpgwk0w3x6qDfb4gxrnM7nLjSriMeSIlvfDnBUFuzICpk66X4GZOInOVOLuuk2FZTTajf2+DR4NVwS+b/T2BD8owAhXDoqdr3cB0GmEZq7B53I0RXh4tXzC3lFLkFo+Mi1N73gbTRcbZWD/uUJ0sJxURbK2aXxw== 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=44ql7gMMxH0e/yMRoGv/knoUioHznUcfCCpcl2n7P+E=; b=FgdIV+RGnHZ+I3f7iu5f5f+oMiV/Ycz2nKSAYQxJSPJI7bgV0IA76UR8fVj5CIWQq7fpXA06c0CbaOIKHY8MaXVAAdDMRM1LJe96b1cbdXny9hywfYBYukOwl04CEW7Agm8sW/xP2QdWFAuK5Mpe6Bryiccf5BL/qW+KLQQX8Q71clmhgwaaBSjwe4zu3Gi3RxdGEq7qR9TF44cQPyNV17kFKdo41trbWl8UtvgO/zQ/cWQcHLE213CWPY7RihJ9N32/C+sW+B1I9NWQwK4cuYIkSKBVDQIjTNsT5+rHW6X3qZO5TSj4TOSfGZy7F+1vUZr4H99SNtNcvN+weqxI0Q== 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=44ql7gMMxH0e/yMRoGv/knoUioHznUcfCCpcl2n7P+E=; b=ZxNG/1whKfDy2vxPHSn1nzp5vNiOfrHklQFy7SizSBpSi8xlJkm6oAmGFuqWM53nbyNj1U9vNqAnXRTYEF4481TsCO0mO9NwXveSB5StZ0A3Y7XaXPqvvZcaKs5bsCzcdxRgTLWpTxRjdKQ1tkWU+pgBv0LwD/qP9e7lZg0/gPY863Js8dqCD+XDQJQN7mE877rII5aOBzfvJXWzwytnixp4P8NXBqxLXBRsVHtZBFm93DU4GvuZFdmBJTfZT6nyHGg/PMU5etfd2idkooOZlOuDP8VqIx8jbRb700OVKUL+lRRH9raYpHcO4rywZkymlJww8wUgdvgCs+1wLLW3sA== 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 AM9PR04MB8716.eurprd04.prod.outlook.com (2603:10a6:20b:43f::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8655.22; Wed, 16 Apr 2025 08:15: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.8632.030; Wed, 16 Apr 2025 08:15: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 RESEND v6 4/7] PCI: imx6: Workaround i.MX95 PCIe may not exit L23 ready Date: Wed, 16 Apr 2025 16:13:11 +0800 Message-Id: <20250416081314.3929794-5-hongxing.zhu@nxp.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20250416081314.3929794-1-hongxing.zhu@nxp.com> References: <20250416081314.3929794-1-hongxing.zhu@nxp.com> X-ClientProxiedBy: SI1PR02CA0030.apcprd02.prod.outlook.com (2603:1096:4:1f4::8) To AS8PR04MB8676.eurprd04.prod.outlook.com (2603:10a6:20b:42b::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8676:EE_|AM9PR04MB8716:EE_ X-MS-Office365-Filtering-Correlation-Id: 2463741d-d5ee-49a8-cf67-08dd7cbec81e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|52116014|1800799024|366016|921020|38350700014; X-Microsoft-Antispam-Message-Info: DjeKhENTnT6Cr0kTEB5AYmNrSZRU+TyyVkoMuLyo4FWepPplxrTkx2Ca7n1IoJkKNmmhozjljMEC7lIUnRl2o1Mbp1+dpAXjSi8HDJzpeq8qOFjxoDaDDuY/c0uUA5mTPtXYycdL2gvvNr2ZRGOLGS0M9qObUlXVqjEFD3xXtgBgoUu02A7s0pFctU4wQdebSS1odQ7DUQ9va8aq/g8c6MbeM5hgaOiPPjBt1ZGDqb77GZRaJL66fIVZ7xXO7dvIHpNtQzl/XGu/q8+vmCYYbQ98kA+Kr6iKKnthOz4gATEIPcAhFFvWddGc/oat+TtRaPew3wHMqwkPKU8do+BPgT3DNAmJ6tIPOeSj9FuD7h9Qcg6xTjGhBABfei28p43EmRlD6czI9vydYTbR84ANzUT4YT6VFrwd2cFUfvm27Grj1xQwwY40vwgkIKpuR4deaz6BP/Sc/P5nl56G8AEqQeD5sxRy/LVUSiRrigorqCffcmcmYKztUCxxvB6OctJ5m7iBwhnOB1RbSK4eTBS2qlDi7/GZW6/y3E6Psq/EGx4gvsSKfppeIfCHDJ2okgwIxaly+/LNktX2BXruvrLuT5LcSR13fEDnYUu5WIfCnSLeFPOILcmAa67LcFQq2Ns92Obs+0wUa8sL9gr7YING1TSMJjeWZ+WeNJAs3LTJvp1EnrgRkwqAk3OlAG3KBmMWaI8DbotTJGgFp8+gK3ohnA/ZcHV4uAN3bjxddxh3Fli5TFnXAPt4eEAJU357w0hvkDjkXHeylBYFx/iRIcJqO8vFelGA4eWk9wi/X40TPaP1Q66w95TG2boWYEujofp5j5JRGBq0i5/OUxyRFdlXUNE45Uop9uMkPkUob1fDq/HsdrNY1hbZ7+CUZ04F5/HeRenFZdD5Q5e9nv4BBvS51BwBSkz/ErQ3T57a6YOBrQUxRjWttFzSHNMR/FJ6tUPL0Zio8U/+7AMuTZUdnQojXLdKw3OoN86haDpZg1W9+kRjHjwSJoz5hNS41afTJH9xh1NM7FPLvYzts3sZpBMKfOXKp/OveMgn2g679BPFKjGN/wt+BdRJn1gQSmaCW1W8YQDJW7DhP267mwA+DzJm4TlCQlp+ob6TONJYIcuMY65WCxhCZ0Pi5T8vjIvhHkdR7/N16IfBOx2fY5/+ZwhezzZCFArqobdvgWqD1zKs/zMQzGlwWILfxLK+tQeueTvDqmHsfg7vBfH7H82KdoiDnQzoVa25d41SwrsFcEFrempi+G7ILpbu4GroucJ/iLixe/Tqn5gHnYLayBThb480y1qaK7L/kne8HRKEUMUq0yxv8biUt0cMKldZXDGQYj63s4WuqNzlQhMu4c0YSz7pnfOKjQWSpcdcmk6O6yNE/MsSDpY0fc7MvCqqmb1lNYBjDf77JgCTbeWpw2WfznbC6ShAoMi/2VhOdhAbWuBT5u1uaQk+oJ1EprfBZtKZr8lrYhEI4eItJ5rWLm6jMjSpdIHl3X+PSTrIeeU1V+WiTKE= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8676.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(52116014)(1800799024)(366016)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 5hFgqN4HTrX+koWQkkarWs7c/J0IlbM4crTwWJo6CGlf0QcwOJRV8z6ApXWK0KWvXX4cOzACmgvluVgooZY9GsxRP5zxCievyOB3fLd/QOCIHgsXe1nbor5ICEM1QLf5fkzxGgM9VprwHrmcP0PkUTTDJWil7PD7FxDcrWO6T05BIMqplKWu1mEwxLOmEOHycAfH/v0OclEKG1yChf/AfbAoRu6ZebCC9Un2NGNAUvA2HoT1eVOzZ//XVynb0iynxfBmsFbEkAQmWQt1tW8+wPuZET3D2Q5TjNHe9HBG1eKYYzZlJn7/6oc+VEN1W8uupfOjKXiIKZ7NpJw8FlnazSSvVaJb386K31JAWMhU49ZmFA29ReFPB6dHFR3Y8rvFK105ktLlK4PBpTWNyXSZKrb7K27AOVIt4g+QqgnkkHK9G15GOatQmBAsy5z7p1bD/xY0TehO57Swic7zMDx3TcZ86CZ7rE772aSvcs/kp272yhOvkBpYqgMGBZuqOWYFQoNm7UNE6GOo0eiAysMRJbF9rQsAJoqQzszonGS1As1W/Ah6PmKhQZ5WU3oAWe69ibOy0RmUBZoHgkNUAUTrzmZI4fLPyaJy/HUFYpTn1j7qiZ2yUB3pya/o9JUz83PzITAtq5w98zQH17JrcsV/hWlMbli3rwCd/CvoJ+h3x8kCwUdVCIlpw+4WM9P/93GUYNMt2IyoTPruMIJ+jA42czXzKoXYoiu7NHJAk2tW7ABUFbNE/QT+jdyMhNWR0rtg+SXzamaItH7Qhn1d+wP0SsS3c0Y7EMkUVyDHQUF4xjQuZPwGzH1jqj3P6LcOG3ZvaRzDJStrF0KO2tYvhkwEHBRHLOObHIjiLO4Ufdaay/0QejNY7RJIx27gFIob86mA2Nww7XnYbftwWr5OiHFg4guqslx/mRkTLaRTbTpotbvAqEmyrJOkSDaA6VcFy09lqBExUHU3fhb9Q2R8uVZ+ks7PLJPdJ+NRflrxTrOfs8Fq1THQ5GpF5DH0KPUa8fyIt8HdR4Fyuq1vY2R09IZBhlCydLIP8igqIEP8vKYJBf9ZJqxSvxFLEhdFxwF6iapvqwCIuvJ2Dad4hG2uWdMfyDTLtIC6oa5iFfKKNadVVg+wweCDBAkltOBMv58IBP38K4A0qtG4kjG5o7feyipcko8B/rI4Er2jSoYsGoky9Ot3S4caO/J4oqpOr85TYyMCRsgRjVrUnEcdhTp+kjat/6DzFIh7y+VcpNwc7QICxSyaBCXcejT2z3ZktF0fVJtZBO5/uVoCcjfVvV+SBnQYfySS9QyjrXVmDlki5qszIIaB5dlqC8fFAvqi619Y/Py/17FasHlWptQ/Ym6Bn769xK5sRVcvkAcdG5xJzcz2El4SC2ekpRRNIO5pvT69Jfl0QGUAdA2jycWiD8ZYEZlG58Pnx1AW3awbmo2lxjZDrHnp1syrcO7P0XdBkjJIYDUMFK5dGSlXb4T562iwlhSIezp8Fk9QDQCwBqzFf5bMGCyqdNNpbXRL5fLIpThhsPZ6ONn2bpGM7LiFSVOvoB0oK1YQe2Mva3K0NDgEsIalbbqdS6pIrzaYLah89bXKRL9v X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2463741d-d5ee-49a8-cf67-08dd7cbec81e X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8676.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Apr 2025 08:15:00.1532 (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: G+Guz4s1P8uPl3u1Mat7YYqOLZK0Jy4AIhm5uXZlEWardzHIkKPWegHxyVeXWFgcki9eXz4sdoU3UI8HTRSpqg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8716 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250416_011503_103904_9407769C X-CRM114-Status: GOOD ( 10.83 ) 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. The workaround is irrespective of Vaux presence in remote partner. In the other words, this workaround should work whatever the remote partner has the Vaux or not. 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 7c60b712480a..016b86add959 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 Wed Apr 16 08:13:12 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Zhu X-Patchwork-Id: 14053653 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 A3D3BC369BD for ; Wed, 16 Apr 2025 10:30:55 +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=EnwGdEG5qfpvTGMebNhGg1wtFGs1UvPt05cM09AHdDU=; b=EbiWv7rer7nlZ7iNGjqb3Uru1E 4tL+gBxanXWgbZ3OX/IIsSfIMpOo1eQmO8LvPyCdYJ/7dtQ0ooXTAUWpo7kogx1uM9+6A0UNeoSHt mHpbUKOmE6MbSiZ3y1K/qcjd3eeeC6KtiKjx5nth+u7tFKdyNO83ki0Jlyj5UsCyk2Q1BRvBHNmGc NGgTKNH+OozjPO6AoDFBgnEwFLL1LfW4+JeHMibmRsEofZVxkGfMUScOYpXyYKBw2ZvSpetqQNVRq /C0mxRM04SvHQg7zohylDWLlOIji2qZNsDYmsv7Uwy4amBvLbN0ohQQumU4OdXop+dOxBpM7zG6/S o4mmTeYA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u502K-0000000981G-0Qj5; Wed, 16 Apr 2025 10:30:32 +0000 Received: from mail-db8eur05on20616.outbound.protection.outlook.com ([2a01:111:f403:2614::616] helo=EUR05-DB8-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1u4xvH-00000008lcs-3Fxd for linux-arm-kernel@lists.infradead.org; Wed, 16 Apr 2025 08:15:08 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=sz9EBkWGzESzMwH1o8NkHBg09ynqd3zBQfoM4hrMHjwDgFvjsvhCaZlvSjDG6paSiMaZowaUFPs6Me00GWfAtAXc2hsO5tsfeNOUo+0j35obOW/D6OWFU0P4JjIRGcWwfYZJ2HLwXwgg3kmSWrLplgGNlywbyqn0qMBSSJSsmXhA2VyiVKtDw+hepxKknU3dt9M4DWNhMYqSAmThvfH32zIE/5/NgfpkMnFEpFF7I5pxHL3BPBReB4fPnSSto+64k0spZJ4l5cWtNuC84szSEdU3OAulI/ONt9gvwxs4C1efv+5lMRicU2KykOBrs6TXXBNU7cx8KXRuDHkMQsi2gw== 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=EnwGdEG5qfpvTGMebNhGg1wtFGs1UvPt05cM09AHdDU=; b=gQLZzCST7eAy/ew4mmWNypq7FLYiMDb3uSDlhqmL+ZaAzYPcxB/acEzO6fRnGyveb0xmEUZB6jLdFC9DwN3zYDyRjM8ltsSukr4KsD2xiRdY/5kN+GzfptacfsYH8DtcbPmPEvxgC0oclKoqTXdlZD4ZOzyRizDFPeka3g1M0455wh7ySz2yxNOt0IzwK22OfsU0gSlxeEyFRC9H+cBmYTUHnUGO5cl7GNX3wxKkcRxzNRuXlV/so+dyywFlnPB9a7YDy9L2llYKFDH3OXiJh+4J3V5ULGo4Nmnt2tYdVQtReYUpturXZlQOAqFGI9W+3YneGbgtAGJl90VCiIP9+Q== 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=EnwGdEG5qfpvTGMebNhGg1wtFGs1UvPt05cM09AHdDU=; b=nMOn5gJxhdVGRz6aeTupblGHepwgOnBmWlwqnY3jYtt2BlJ+Ck6egMUl3Ue46zQChBdVjidSqTMSEPg4pKBJ1Ayy/wz0UA9JjLTi/vfEZaiRN6AtYxotD9LxKGqo5yIhDxq2ASB6oOY1wRHebw8lkoIoUG1RJMoVvijABZDORLpu/LAb3JD718HVducDNm80a/b03HJXwqkGafF4Z+md0z8RVKsne61UQpXuf6rmzsvbDPkWre7LGzInjqkSSfV95ePmhEtPJ4Lmnwnyz6wvmjgaWWwJ1eHVKKRXcnqfJm5LD7e0vXKeDEki7aSj68Be+mMf0u/Qu1m0zbKJaNF48A== 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 AM9PR04MB8716.eurprd04.prod.outlook.com (2603:10a6:20b:43f::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8655.22; Wed, 16 Apr 2025 08:15:05 +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.8632.030; Wed, 16 Apr 2025 08:15:05 +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 RESEND v6 5/7] PCI: imx6: Let i.MX95 PCIe compliance with 8GT/s Receiver Impedance ECN Date: Wed, 16 Apr 2025 16:13:12 +0800 Message-Id: <20250416081314.3929794-6-hongxing.zhu@nxp.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20250416081314.3929794-1-hongxing.zhu@nxp.com> References: <20250416081314.3929794-1-hongxing.zhu@nxp.com> X-ClientProxiedBy: SI1PR02CA0030.apcprd02.prod.outlook.com (2603:1096:4:1f4::8) To AS8PR04MB8676.eurprd04.prod.outlook.com (2603:10a6:20b:42b::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8676:EE_|AM9PR04MB8716:EE_ X-MS-Office365-Filtering-Correlation-Id: 3339cd12-9828-4fcc-dd37-08dd7cbecb0d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|52116014|1800799024|366016|921020|38350700014; X-Microsoft-Antispam-Message-Info: XBz1BNiwbYsrIrqHBY+dfCj+wz9GO5MM1qgaVqABjoNcKHLVtefpV3/PYdduOD3JHiMsGd0L1auK+0p9pucoLJ0CWIqi2EbQPatkoo2c0FQkO1OR3Doe/w3IAFqPa4HsgRiRdGtwq4Dc5GLZcfHZsIv4WOTpVJaTbDx236UViim5nDndO9XHrHP6f95YY60qS2xrTORsJyvQB0yfP5zpYRzYPaPXA7cp9RGV7pJKWJJpU1jpZKL8XuwRcldDSzfC0GovF9pdJiuH7qrQVutTJC+BwoXmCfdBmq8bv+gCKhrLqAMVthWSLzyZSshwyV9IFGjzNSWFOCbnI/ctOgWOt+KC75ZZcRGlhBs6Vuco44z7Pa8m5BFDkZVkM1YOpQIMZaLmANTSG7bRifphUfxTy0a20uvF/M6Mm6WL4XhxoV0nYV9EZppGhQGUwSEQH3t3Xs63oBPpVAOtQZVK/bvMzaiyhWYqQ0WPKna3BnUvAbs5iqd2iiveDPPgO7/9IzgCX3zR00dibXszHQbkiJmPvldmj3DasKyXFlBk8TkYfcllzG50eAhwnvJYUjiAkP+HUuziotqJpurCZbAdSnGoj+ua6Q/TlDzakPuFOL9oqnNGu9jyJg/c8z9carlJAx1wArZTcv1xprl1MNisU+rSXAlvAjaZB1xkmAhesNwgRU3vh8iNhnNYa/LVedgU7D0Dvxe900z3/45SH8pVLKVRqAztrshtRtG06ywTPAFDwyUhhE7AAx885aD/AW8HWD6AVPRHlNrD9xlaaiDTY4PnPqQjPArZPHUJrijrItdNazkr0KTxG2/P4SMHZWtvXTevdlwRp6pp3A05Pj8v/4lFkqRXeHHjB36dVe+i6064h2PaFbN8YoWjwZrLrkl8zobEB0KFwwGPPsdrzUIZNVQuwHg/C7xxZI0FrbmVyYOZ6VCb6yvGrRwr1r1lxsCvUFXVnumscWSVC3Wqs0ahLdFNfbJPVC1zeMUrE1PVPNp2tHXbCUJoFmWpnG53KIrlXUPEwplrTMSQJ2QZN00NN/Ja2IeLz927f1fIGx9p/upecN5W4Ed3sC4L4DwdDQxGpe02d9yh9pKChBceQ4YQktrIC/gbpL5OIxaQaR3y2PUTk+Py16Cmw4HUz7uXiydShwZMnkmOJmbeFFXrzNPI0/hwzCweSZOr96mlO9x5GEEPRG5Lnt9HOMapvHzckK4AjW4Gseg1B9mLOgjWSweyCV6pJm9oIpSghlFhI3JaWRWgPkNDOe1xOMEM/r0dNaQ8j0EMeJkUUqDkZGjKcp24BiWMr3k0wpwFfRl8hlSLRGt+jNUEEbPvYuMSR2HcLgZ2OctwUmcZbitm1xD0eo7obRxks4FHXO0lZbNaOe/CPODqG5yNVH/xLBdgQtNDw9TGy3qvDmAHbvRU+Wx5F9pqORqJZj/qo/b/5S4EblB+gyfLaaJmWEjMVGPLJgG4rZtI66jkXQbQL/9zZbn335p3XZ5pnXSDU5qjvQbTKG8MYIWnewI= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8676.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(52116014)(1800799024)(366016)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: uGpVr/rsBm814y3+L8l76k1uHWe+fv/bTBUkDV43eGSf6zTBRJyNBOcKqN0R9fmPw6+OcPqY4QnFwnh6v8krvXXn3jgPQ4ZAWpV+5RVpI5V5l6Sfc/hj9HjTdrJX1U0FZ5RT6XRSRHW8W+Ml7VKjF7lYY1veu9TZIh1hthy6Ad0doIRnJYg8GGn+6+tWGPyrApmKYKM2MnDBV5CRhgJ1KEUYTmTgseNm127rH3ErW06lVAvOZWFYU6Kc+wNEosgBNXRU0yRh1O0R5AY2QpmViMy8IZxSh7XHSsPM2agWeMJO8QfgOhhmhFO8/t7ac/uSw4R6faZptnmM15XlGkOtJL9al+iDBwZAgi7ojzfj5k2XcubYDua1hKIOqMfwlF6HRP7PkbXY+ImCj/cGaua8Td5uMvt9ndZ6urVEUaeBrz+Mab2M/egIhDoiOsygbFqDCigB20IzhXrg8fVHqhueTKmYwynYld1Bc9DZzf/2pS83UxDzDRHv8bJnHhHu5LhDIwor3tlN508+kn9ubCo/lzlQitu+AQYLpxzB5na/aqTJKZ1qfaDDP5SqR2DkXZlIyv6ZzoeSvWDN2bKBVcnZ1mudlqJVicaw1P8TqwxGctO3S56+OkiyhmQiTdt1SjUl9ir3BPbLbAvImH8ugDbar0M7NXkgcx9Fzl8z622bQbElFjLkaD41pQoNj7GupEEzGEPMAZ5I8gyo5nMoPN3Sj+6XyDoOqJNAMzlDq3zlhtgjBs2fW1mgwfNyBC9p2kMGA5Y/uzV4F0ZZCgcZo0ttIxksIQruF0RkS/H1Bu7S8eYAtd8QRE8Z7Ez5MHXVB+I3XNFvq0QOCqNN0eC0vkDnycyDVN2GAZStq9vODpk/2ahHv6w8P6vqXmuLBisM/SFz0DL9trf7aqpfrgRNFQ5wcqXk+tAGCpniWAVcjJmzy6LFbCfHAah073b8h/ctV0Bx6J5yDR74Ay96/bEtUBnOX/8Q0AdE3iLouNKo7eSptWGdDlTKeqVwL8ckH+3AXtNuym4WWoBYmvT00ZoKIWKoJnzmMckp+8sYPDjiNsx3rg64lmdJ8qxwaCG6GOdYlufAui/zHKR+aMemnvkLvDcPyDG53uZXykbhe9W4U4GOpaZJfLdT5G9Tl0bsNf95Thtt90tQjC01a5I14pImLhMZwX/TZVaJ+0/0w/tMh3cJ926M8PqOF5g303B4VN9hBRy/Pz7LS1AETyeW7xEnQr2eiWlJYnIEtFlnPMLcYoZROaZ74X9r3jyFoRc4NT3UIRq2mPsZOxnF0RDSNgBqEHMHf6WWMVc0co2H9pLBMp1Xe32tqDkwUJRLIOj/5assGLIiW5ueo3b4OJvZQdb6SVjjHqULDYypZneVi0cfNs1ZdHti1WiFaHVOpG6XPw3HS7L/W2ntPb6osdrqeGFhPNJOUZExd6iTQsCtiruwmrP5HOLRuVfiDYXR40RCm9jvQ4wjBPy5weJmXAlXf+LjxwHot+an64U/LKDNkzh2vqKU5QRwOW6ZLutL1Z0vocC3DwFNXFT93cbNK0iFutgRHJI7qmzNuvqK2TwZM+nbbSUizd9365Qe/dUfg/jG6tRL9VYT X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3339cd12-9828-4fcc-dd37-08dd7cbecb0d X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8676.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Apr 2025 08:15:05.0516 (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: Kd3P4z8vOLP7XCXX7LbgNB/OQuIA7B1uEea5Foxx8qfyknIhiI1sdjyk4BLesJWUDiNn424yKgu5nFKyV4DwnA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8716 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250416_011507_810474_D688A448 X-CRM114-Status: GOOD ( 14.18 ) 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 016b86add959..7dcc9d88740d 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); + } +} + /* * In old DWC implementations, PCIE_ATU_INHIBIT_PAYLOAD in iATU Ctrl2 * register is reserved, so the generic DWC implementation of sending the @@ -1281,6 +1308,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 = { @@ -1392,6 +1420,7 @@ static int imx_add_pcie_ep(struct imx_pcie *imx_pcie, dev_err(dev, "failed to initialize endpoint\n"); return ret; } + imx_pcie_host_post_init(pp); ret = dw_pcie_ep_init_registers(ep); if (ret) { @@ -1789,6 +1818,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, @@ -1842,6 +1872,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 Wed Apr 16 08:13:13 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Zhu X-Patchwork-Id: 14053655 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 3853CC369BD for ; Wed, 16 Apr 2025 10:31:02 +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=7B/lfEN7rPO1S+G39kNESf1k2qmqyvyn4LZaV7YqVBI=; b=Vu5jjixJRjrpMMWhjboNkOJiu2 3PNAVjG4/fm/g+yVkR6exvMteizZ4aDns0zGOgtugsasuWNEEAKY9wWmAy1qQnZwqKpgMOJqbjQ2G yQLfqeNbqMpM60sud5gRs3j3pqkcdeqNwm663d8DKfGjIkN8DuiAB8hR5Z8Cjo1d8DOBuu7vWlTgs hvZ16HFqHuUV5g1y+FnnFBptgB3ETzBj8CZfdLKlaabeQvEq2ZTbUpmGR8Rnvkc1EX1E/K9auTa7I suwFfJ1G5G4z6NUVy7CUNCy4tNOj6M8HDSExRamwPx1cEw5Z8NFfNxDfvFPepuPhk/gN1r2krUfz5 H+6Xc4sw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u502K-0000000981M-2j9J; Wed, 16 Apr 2025 10:30:32 +0000 Received: from mail-am6eur05on20627.outbound.protection.outlook.com ([2a01:111:f403:2612::627] helo=EUR05-AM6-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1u4xvN-00000008lej-3vNf for linux-arm-kernel@lists.infradead.org; Wed, 16 Apr 2025 08:15:15 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=FMfgldExKYxc1HV0IDraeCJzN8+bEfnOUYLjVzLsFdoXpj5eWAZjJJoTs08GU96o62KlX/m0fyMk5L+/2QOl1GaJKD7Bm9bYJs/eU3UsNsvjw49WNBMGbEPMq56pgwTYedbJT7v8W0FgIDG4frEI/abnVV+aEo3dmIa3lEAetMO3S/ZEY+gTWCLLAV0EZSixQbHmosDYVOgLX2Ugvkfedlq7Y3Fvdgnj5ybgK81XldWSwGfJHc+/XGQk+YMVkuSM2mSjLnkvfS02DG0UyNnYccbb+qHI3pUYFARb/ptlufrAiGG4onNx5ykUE6Js7w5TjJY7tSG28QyzxY1h3n2VXA== 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=7B/lfEN7rPO1S+G39kNESf1k2qmqyvyn4LZaV7YqVBI=; b=shl5OYinhjFd8uyqGvs3Uxtvd6/HSnqtME2wCbWk2T98KiiWmuw1WmeCGpn5R5IFFG8zyyLRSr+Gy4pyeb5m6sjvbB9IZyQ/6QYq86uJaZmYemv+ZP8wHFCRegcs7pnFi05E+55dlXjQMa4sa5A6Yb57GGFK3AblecLJ95Z2BSw6ENWzaeLAnGCQHpoE4OucCiNrFxK9p2wUGjg7kY/5vDxWYq4+XbO0oUdixULji3StZ8hHddKspoIbelIoO/6weOIFZGwZEiEe+wobQwP/Wc9qUf9heJKmsnoc/MqzO9ooDD6BLD13mUz/hsG0puI3xw8zGEnkceUDYrLVKZ9zEA== 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=7B/lfEN7rPO1S+G39kNESf1k2qmqyvyn4LZaV7YqVBI=; b=D56iqDsWi2pybx+O/EVefXVW79/oo8f0f0rIci9KktdIqAMCBpr2vNIJu5zhv9/E4SrbEuKx372jTOlg03gLdtBCVx6T3QLAQkB7KkJGd2cx0eUMc9GAa9o4X7S0vrZ7zwmVFYXFlmMCFiRWMr/DeWthn4G732cAAf5TyDXLdFKJYYgmK2MA57qpLRkACzmMbevI20RdwrN1fIT7pbxcDVHP9ysZiHSVdpFHdzthvKHr5cOYwNp1A2jp4FSYm05gGei12FdKojZIp3RYUH62+lgbbZd2DWZq2g5xn8J+h+X3RNOVmEWQlSIiu0BCY7/1+EmVQZDcynC5mkSc55oClw== 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 AM9PR04MB8716.eurprd04.prod.outlook.com (2603:10a6:20b:43f::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8655.22; Wed, 16 Apr 2025 08:15:10 +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.8632.030; Wed, 16 Apr 2025 08:15:10 +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 RESEND v6 6/7] PCI: imx6: Add PLL clock lock check for i.MX95 PCIe Date: Wed, 16 Apr 2025 16:13:13 +0800 Message-Id: <20250416081314.3929794-7-hongxing.zhu@nxp.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20250416081314.3929794-1-hongxing.zhu@nxp.com> References: <20250416081314.3929794-1-hongxing.zhu@nxp.com> X-ClientProxiedBy: SI1PR02CA0030.apcprd02.prod.outlook.com (2603:1096:4:1f4::8) To AS8PR04MB8676.eurprd04.prod.outlook.com (2603:10a6:20b:42b::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8676:EE_|AM9PR04MB8716:EE_ X-MS-Office365-Filtering-Correlation-Id: 9d2d376c-c7e3-474e-059c-08dd7cbece18 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|52116014|1800799024|366016|921020|38350700014; X-Microsoft-Antispam-Message-Info: evsklXDMA8UPVl5a2YbxjYwmSq5I5fcNfP++vbm1H1IkOmskdlV8hiPnqfNanpvZuKITtGerG1M4UDGiTzIxIZdo0U+LHPoIOEZ5tf+GYPOTNlp5AR3/T/OlJ98w0unQN/iz3pqsaq0vDip460GUZBUXm5JKnxWC60RLuf6Gy/+1g4q7SnkTQe8p1z9Zw7yR/B5IOHs4YHB54BoSCVVrDHrVtct8lGTXfFyQVTdwJWjLX8SKVPUYxAz2b/yD0Q3Hk8FqMoiVqhD0mkp5+xIzLmUyn64mSq1bCLVpKIvtKKI80uQX3hpD/fqXzz3fJw1lRYZei1P3O4QWDK6xyO+X316qS5soxvDElU1V+OL9Q6XF8Clh2QhLiKvynTAW90JQldH7Bw+vmivImMjxiKVhqc/ywnnzuVBOkt+ni7DbjD2gkwqEeD5vw6ZXlFQqVWzu94v3SHN+EqNwbvLh8fDSMQGs4xXYPYDJguQ2VYXtAPW5KO06KSAFNf/wT71yox0NwzQ0Pgj0XOikBHEY6TWmq/tMTF/uFHduWi5mNi5IKlhW1/uzf3GydQb4QVroIh+t1knYPVo4dP25/tKoy572O2YuOb5zmG/USarR17T4vLpkUfk5ukzKJ/etiwbEpN8ussYF9nwBeT7qoLrZX1xZ1o1/Q0i7YC2JNtQIy3heZa2McB6kkzHzQKTmIUhFoocRqNUTBwrlLpPTmrlGbc+b535ZNWDrhxDFkZu/pLHAGH3T2erqjc/brPJPjZ3MoZ7uBMTzO2dPsAb7J0meGQrmB9t5cTy4nSClegZAFZmClXjY1F6o/0MLQZtxryU9hKvMj+NW7GrMvuBJN/0cTGTokr/opvL8jsoecIdn+PoxNcpFkIey1yOR5wHY8ClayRH+seztv6VrHcP1uj7OOStj8TS9LLq1BjGiCSP+NaE0T+2J7brs5R+sjjnlRaTWvkvJt2F+2QvAm69LZQVWfr6+/BtPWl4McjViX3tQNhPHyTG/A6SKQi7OaYbfkwGgh7eRwv7beBVKVgnIPDtbBGbBSVOzA4i3bmRYGUmz3G98kYmxWzioHDAUR9eccOhBNZK5dRsthWFi+fxMcHpw4nlnivf7PLq9t6RYMzs3kC7HDdXgxKm1+6PgEHzjNkGYGLh7YdqThmFRF4yn3NrwTDz9Bre2V8zcWTJQGnucgTTqLHfQBekLInxOUVO23eEK1s2KT+tkNkeI9VdjX+yjcUFShc2Ql27maH6QXXDCXPYSqvF8eJhqYE0LKPnZHNSiLdXr/i/gO2918tTqDvW3ejvd7Qs13ffQ8gyE7lZV0rpsj/p8BOYnbGV/d6dSu7NBDzaIS5Crk84rc90tMHtt83mr6euKnk/bkHS2RqTGxy7rgHJVD/QWWYg63UM8w3UtYd5yjMiRowjwJvhUB6QA9syFFXP2OH4UEOCfhAMslPnfFBGoI1fUTN/k7MfEes7dzwuNuBVnHg0tRZ0eieLG0DeFs5WpF/0rMcY7QFUcQeFo/Qg= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8676.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(52116014)(1800799024)(366016)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: uWR7Q9G69QhGs/kjQF1DGEHgMC5DcOHrOjzzcf1jd6eXWS/Eg+dYkTZ7jBLTZDV8mANDlK5yfDN+b49U0cvj1PahITHjwlwqxIIMo+e44TMuTy6iXYX4P+w1GEc0IisCMozFzE4ze+EFZbihUF/+RJj9vFjAHf+k/5Hd6BvGUDJ7/5icXlH/x045i/wUKTXX+uJosFG3YtpFsb4BFdz5ZfV8hq6v9nZQDcydVt44AQX4ODx7PQR6PV3SqGiflkJsJpkoqPvh2UJ0KEL76rmmoJH9Cqh1Xepq/HGSry1adHIkO4qyKEQ1sCDLHzLLKG8BgJ9bQZPcRDQPdVflrpWBmPGiFJbYUuNk//jwUNerjO3bUxGZSl3pB80U4C1Me54ZP5QMJRMX7DvCGitjvEcN9BIyPJugVHI9w/vRiK3JgokTkD0YJvSHU+4n5kxHYsMSFAH0sBIIgK6B+qG82/qnlmkYS0RDZE/VVBxgK9M2CkT3UeW2amsLBBlzpmQ4Bou0+DLHTfmokiB+o+hEz22RS7GE73Nc0NE5uEV8wH3XMmS/VD1VWnEaN0YxB8QIIINsPTd3hSlDzRG1Wg4JTiEauvFzFlgofOOf6beSLGYQgkdfkBkkJDewf5E7JpsM9TY6ItJMBICb0PJZDh+/tfGmkeYVksbB2ijZ+XwJ0FjeJZ4SgNQfASEJRhwPmCk1ZfbAUp/F3zF4YUzm2/t93jpajk5JcB/wZDPTZmKSRnc7Ouc470Uz4q4E6wTsWOBYSQqAkDo82HriKoltyN2u5u4yGYtDhSf/6CQqpv2R9pXLiJBrSX4eQrMSKLRnLvUrKQ3CHytrDcwRe0Xrf3RsLzdYGRY5TdDgntvVeBT01WcCCjmgNLUOOyL/Nd0YLb/VyKRQG5gRYp+OvDhZlP8e9WKQaJytBWPU2Rs575jPedSbl7lznOpDqvf/CsUDkN5Qjblk7Ly4sRSn7VrV4UC8B0yZL8OvORXrNMgXsyJYtmYprwCejjHjBG55NpOw7eHp/H1u4h8rURB667ZaRII2M+OZ4185zdkbm6q1NjfkFj1Q4/Ph0fMGtxdT4FZwhSNQYrEF9lbvow1DZZTQHCEUFRmZtkMLy3cORIwHdSP/MTjq95QhpY1wcv+HAyhfrevTJw7epT7FQJWncxezCljjnZmzvp2CeSeqcoRl/4nr0VuB0bXzL4LyjpC3K95d4JXAzqCXDuwwwbYn4MkV3n5M+xhLh5fRQtXV4Nj8LQo0/m1WZ8xpKG34L+Jdt0zA/uKDB10Kh0wrbIFsg/KsGmVlQObCFajgSM5eiSokMncwh0CVI5cYHrveAcHtQMl5i5RDJW5/in/3WqTTeHclJNA8bKF+Kok0Np4ZH2WwdssKI70arhcW2hG2L0iMDNHOfkizREeH9e8ztGxgShXNwZRJzrvEaJvd71Co5nqSgYwGUx3oKWdupou92L8GO2UQqDaQvCVU6NLFzQFmdkETd37ErBBwBtqb8mdDiTJ6Qo/qJeFwwAZr7+Obii16q/5sizK2OFP7PBThUrrgfRH5web14TsPUfP3yWBSWHaaOaVhiOO9p5t6pTcuXYM3w6daKUBSdQ6q X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9d2d376c-c7e3-474e-059c-08dd7cbece18 X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8676.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Apr 2025 08:15:10.2558 (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: p7ti4VD8mEiG+syQxa3uXhKisT+CARTtTQ0UwzgoU8XXGC5cjzZLjdV7WcCSHktKDPzk48lDbjMakUNmqUnf6A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8716 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250416_011513_969004_A554FF3A X-CRM114-Status: GOOD ( 14.25 ) 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 | 29 +++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c index 7dcc9d88740d..4cff66794990 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) @@ -132,6 +135,7 @@ struct imx_pcie_drvdata { int (*init_phy)(struct imx_pcie *pcie); int (*enable_ref_clk)(struct imx_pcie *pcie, bool enable); int (*core_reset)(struct imx_pcie *pcie, bool assert); + int (*wait_pll_lock)(struct imx_pcie *pcie); const struct dw_pcie_host_ops *ops; }; @@ -479,6 +483,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; @@ -1225,6 +1246,12 @@ static int imx_pcie_host_init(struct dw_pcie_rp *pp) goto err_phy_off; } + if (imx_pcie->drvdata->wait_pll_lock) { + ret = imx_pcie->drvdata->wait_pll_lock(imx_pcie); + if (ret < 0) + goto err_phy_off; + } + imx_setup_phy_mpll(imx_pcie); return 0; @@ -1826,6 +1853,7 @@ static const struct imx_pcie_drvdata drvdata[] = { .mode_mask[0] = IMX95_PCIE_DEVICE_TYPE, .core_reset = imx95_pcie_core_reset, .init_phy = imx95_pcie_init_phy, + .wait_pll_lock = imx95_pcie_wait_for_phy_pll_lock, }, [IMX8MQ_EP] = { .variant = IMX8MQ_EP, @@ -1880,6 +1908,7 @@ static const struct imx_pcie_drvdata drvdata[] = { .mode_mask[0] = IMX95_PCIE_DEVICE_TYPE, .init_phy = imx95_pcie_init_phy, .core_reset = imx95_pcie_core_reset, + .wait_pll_lock = imx95_pcie_wait_for_phy_pll_lock, .epc_features = &imx95_pcie_epc_features, .mode = DW_PCIE_EP_TYPE, }, From patchwork Wed Apr 16 08:13:14 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Zhu X-Patchwork-Id: 14053658 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 CBF97C369CA for ; Wed, 16 Apr 2025 10:31:12 +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=mi6mKBl9wSEkHCFGJZSabU9nI902sgwAi74QsJHvFMQ=; b=2ACgXLNuggnCyiU3s135qZAymU M3EyVVj8A2conJE5EZpSDC7PyLTzcjCqDi2OjYWPxvvLuPO4115zaT583BNQDoXxjDtPAgrwHc8j3 gY1iLSBMvbWqj5TcRGmMc2eXxU5C2sUcMcvMYeBz1mYLQQ9XpM8sFL10JFjc7X0i7yWAO7jYS6wKs FM0IaXeQ6cnLO79M0NO1WTeqVEskJRWmvFNAzQkUPIwS1CkuvuPGgVH6vFzvOcFC6kWJFwegxXHI0 Ppi1mH1/U6n5vLslBhNEETJB+9XSWc4O5YUorxDkgGp/A693tTQTguGJaHvg+QgAdZ026LviVoXng +k5ri7jw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u502L-0000000981T-0wxl; Wed, 16 Apr 2025 10:30:33 +0000 Received: from mail-am6eur05on20617.outbound.protection.outlook.com ([2a01:111:f403:2612::617] helo=EUR05-AM6-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1u4xvR-00000008lfv-439k for linux-arm-kernel@lists.infradead.org; Wed, 16 Apr 2025 08:15:19 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jYKMvnoQN6k0lQ44NB7rHtm3eMrMQXv0YNf6kTlHij1TyvLVjIDyQytNR1b7G+kYwY3r68N1NynWc5EdvQPudWEIyrpKDUfsFl/KzqaihSiysau9heNx7YJIbcXw5Cmpo3tUJUOTV0Ry6444fAcp1mXMaJkZ33g46vcwZlUxpd0t9GJAw+3enpdmwKTmJYS/Y1xfLUxFGUEBOcZyxeRnNlSizE5LdoL9VtseCh7NxYYikp/wwsOpAaxyx5uGh9MlYNS+ofsCByWxOzv9yusyVhGP1BY19KK/tqoe+F3pmppG8Wftps3csI1lwUZVx6MAtCK6fZymfz3e7AXBygWZCA== 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=mi6mKBl9wSEkHCFGJZSabU9nI902sgwAi74QsJHvFMQ=; b=FhjkU1YRLkZF4f7MhPZfVpcAGjR70v4fVH/SLMF3v8WL47L/1tGObJDpDgAQbiRcEpWULcz4m4d6otTOOjsXwh860poC4RQ0ChMiIDpM0JaEvQ8w6/p81AvrMNUQOc0zPCiDmjlfmJi022fX1n3BnTu7oy4PUt/9F9ynSSUnLwMgXgZOhKWXhGBho27EQuv19u+/Ikkn++axZxCq+fJ/JjJoFcLnKWMaurBtdqUJsGzFheoyMyh944iFkTar0wUFHRIEbiEohodUhI6IOULFB56FVGv4zmkVmuPwnLRIU06BC+aMa1zSi82aJ1hzoyb1kmdm1kkbB9HuVjugLogVTw== 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=mi6mKBl9wSEkHCFGJZSabU9nI902sgwAi74QsJHvFMQ=; b=QtAtXDgDNvRBGdsPNRNRN3mM0V8q1djmTH+Yz07Od3B8dvSv5/530UCfHVY2ARmEQ1Lfx+SYQ8HV3xot78yXIVFcpCbuvs1m1kX9XD8Y64ybTj0CtvDN+KIsu8f6V+KnjrRLbqstHTzHJRIR/sXqFDsg5nhrET+RV3IMxNCKBlYbGxg1DYsKkG++3UV8ZtQyXcsQSmGeP89LSxqoxie2sECSY32cKLhUKhmVr1I3nSD7HRx33mYvodrLlhjGP9D195rI4jF0uHD3/LKpas0bMvg71RquBAvzoznnnqW4m3QMW/jxAT2XO2vavHnqlHc8+WGAuMbVwohUT30PPzBHwQ== 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 AM9PR04MB8716.eurprd04.prod.outlook.com (2603:10a6:20b:43f::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8655.22; Wed, 16 Apr 2025 08:15:15 +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.8632.030; Wed, 16 Apr 2025 08:15:15 +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 RESEND v6 7/7] PCI: imx6: Save and restore the LUT setting for i.MX95 PCIe Date: Wed, 16 Apr 2025 16:13:14 +0800 Message-Id: <20250416081314.3929794-8-hongxing.zhu@nxp.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20250416081314.3929794-1-hongxing.zhu@nxp.com> References: <20250416081314.3929794-1-hongxing.zhu@nxp.com> X-ClientProxiedBy: SI1PR02CA0030.apcprd02.prod.outlook.com (2603:1096:4:1f4::8) To AS8PR04MB8676.eurprd04.prod.outlook.com (2603:10a6:20b:42b::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8676:EE_|AM9PR04MB8716:EE_ X-MS-Office365-Filtering-Correlation-Id: 39d6290e-9498-49e0-3129-08dd7cbed119 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|52116014|1800799024|366016|921020|38350700014; X-Microsoft-Antispam-Message-Info: DzRRpvNRgvRLV+YBwEHwQ7rbnz1SItjIa8/NAj739q7fGtAVKfEKL0g0HMgP/Hm5ZAVpidK8Q5bZqYFtNNEr5tXa1Aoj43B67MTn0ZdYRLVhmaeFyOGfoLQgqJONOxtWq6GUO2ObfqU82ix7G5nzOB6Ew6qzHmNxJKfRfko4ZbDvWqEjaALz0pUibCsKTaHy80Cugcn8zZb03rVOROmIUArQh/nBI7NWVtCsLMacf8CRF3UT+ViRG7Hf+v69OJhmvYbrzuvsp3xMe7Qf7CTwhGbZL6IVg5N6d1qGYYRNwhHQ9kIW0BQN8xdCrn1wH1JdkWCo2UFHAX/IdWcv0xEfFzvo07qWSg+sMNTsNHZH1LYZSfQQsyMNqBOpvDCdAyjCn4LA2GLTUnaYKAKjRYkIz128IVouKoptdejmX08NtyS3KfmEBtcabH24MFTeYxvbvnTxwosJf1aWS0FjaMlEEmda4B3o1qiKpUUIItjEcVpiLp7+xvjYzhfug+CbmIc+mDrDt9LONGfA8qEAmKoDZr0uy2P2MouFFGdrCBc+4DPWf6GBCReoxDAsusmaOBMwZMOWxIEOj4PeqQUqFM4nuMkHSrMjlo2QNQu9+lTuYen5qtt63fHyMxd3Ox5D9NW7CNEy0q5ovs44b5JUbhydi7mXO3XLCCNaRD6yHR/UPncHh3VedbXQcb1o2sDJJM13we4O9Ijxx6ND3VGcSFNxWuulByTyYUDiJ/sR68HY/AuELPj6oBqpdgHbTNlrjYHYggq4WAXRt7ZE0Ea345nK8lLK2qVrd1Je5zNEdNLJxKODP8KRiQY64x5MMjWm0FPmdp5fPJ9fFmx8feq2IXo/h0uG2lOEdlTOOJW+D0zsiM22bBd/Mk91AiUhtowMNyrCVPiZHWc0uejR3DfTlBopVfrLXU2N0q1X9j/Ok6r66X6VS0Hh1knguaWFO/k81rbmkVfHmpnhOTlGyw2MmWYzfmzN6JYYL+fVhZ43zr+snE6xPeF78rSk0CJhjw19XUfuU4zjEHqN0T4I6kWVBy2wzeEWsi5M8FLD53qc7Sgz4giBl5ohOYDG4ncj2gQgMgsHEiIK7iQRrI3hUXHmD8547ffbsm3pb4+gubT4/VyhIoZhzcUEcmGHQpbg1/xEHFyNW2uHBL5CSPS7isk7t6StiyAj1ux4KFGw8R6j86d4+oU544q9xfdWS542J49sLJdskn8x49lis/sAkYhFMsFMuJZ0PT/mO7Gw349sgMtZAnrmAmHgi3vyTV9ul/mWG2GUAaxlsJwgqzb7UHHBU0LGQ964Wu8wKKM9HysxTx/ZMkO4dsUjHkH88dp+Av4BGlJtzHyv5rny1I+uZgKKcqANZlsAJhl02chbh4N62wjTDcqwiZjSrc5KdsWMBXgHbg9r5YqJaZGzqF7p76C1rwYRcp6v5As4CRxwmnUDGZe3YWB7g0mK7oFaxF12BHC4+rMUUkMsDhgNov0MN4tsZ65yMc22577AX8Fl6Fcbv39No+8= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8676.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(52116014)(1800799024)(366016)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: yaxOP8MTpYVYMHlRFco0CUXXZ+XU3yUnvKb50rFZJ17R+Ds9qHz6r9n70yE1cAaTx0Pcw7IgGzvuazC4G7Okj/tA9U2hhy5CNTnGH2OJb/z7ItOSCwW/bmvkC/HiG7DyGuWNSI6vPc8tnksWCkCrp/Uq/8p7AwsbVFBZYzCqJH7tPXSq2lN7NO0q0jCMawF1EMpqIzXHsi+WFt37gEPJqmVqDc3r/iuzzsDYPr+sb7iEPy22UrK5BT0ksgK1UAodDU7nrPHejaGc7duCHBqZcScw4X9e4gN4lIyl4m+xpAkGfwoZIU0gaZM2Ygf580fVIe7ioAJ/gfDlGHRINx1JRxgCrXis9B0teONEwND6cBfpkL9nqsmadkIhGtVX3QVGlBi/Ul/eVngEsC5MgVWc+20MwYW+3MnHnEs/PhbWmoI6DmNYbyvSHLQqnGDqGB8TJQS0THxmID210vNINtfrpKtAP03JLNR4UbwN8rnZcsmOxYnFqVTe7EpQkR5tDzo4+kRzSAV5dxz7OcatcQhNZlA9E4Yp+b55HEUDlVdM/C3Dq4eeG5Dlb+QVcLwLkiv6c5I4N6ts/VDZbIrmuJq3hnpQbsqdPMdwpZhakFEEJuCrkJYdHUinmHHFJ5A1tOpS5/US75d3lLccv4iZqfCjtRXRIRMbFme5wG2ogVC3pp9xklmdAof3V1mmrr6nRIgT6yuqktZmLz6IRtEv7W9n4DkD0nEJ8qJMaJpIX5F+UrK71mHD8FFFuUtrKfrsUS0QuRh7r3lNFwO5pvptx2H63pWF9PyoqwI9FK6N0A7eblqUCXuH3XQNgN9PauzmYGMignGkBRg28KHrXkczxFAPEI2jIR/+eeVlyf/WFgwn38RKBqgGJWngln+T0r4V8zd/AXZPqlon1dctY1u8FZzYlZD36ACfhKWot8JBRXDU4Cu6pRI1lfzlTpbJwcEJgNbFserzoo2py8NqtoizAOZjISql5zlQCLnaW8eyLBdccansnQlvMaJ60Cp79Dc1QDdEGK/iHg7FZjBP+M4iJYwY81sf+GYTr/Ahtvkepm/dowWnbaCUAeBEF+oKXGxl3MLg0B5kprBS72N9fim7pDjFyhEWE5BbqY+eeYUvscjnqGBZC7rTdz5DyuJ3wMR8dRkP8Q2FDopP+s1OeIqP87HkDytEnGoK3RMUREqCR2SKioWqtHN+AnkqzGdESXTI9BdDavT0nZOU8w0s/UxZW1bBG8kTL8sNcPjuz+DMtkea5Q7wL6Kp+Hkpz/bXXLNv37z18GLkBOQaXmzixpJT36S1Ed28Uj6dxKlVfQUzU1uxyqLzVAqCFGwwE4uuv6R+yPKkixNHHVEYSCaSH4rggjEksN/MYJf/+aVj3svYojgxbpwtPk5dWn7gdQedVl236h2vnCa291Iz/v398NSILyDGnGfDxkBcN44cbokcgasdceED7nW9gcASSQzxR1GcDWnbQOhoui3AiQZGF/WzGtfk9+hGkoymy9HZ/cnKjHO6YPCZPAfjaO50oIC5G2fI6akNjsufeLwjC4OKhjBphh0Zl7v7tvsbwhjny17mrvxt3Za/7Qi0OiSlPXU0mJ7uzEPT X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 39d6290e-9498-49e0-3129-08dd7cbed119 X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8676.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Apr 2025 08:15:15.2742 (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: +2x/l2XDNtks5vLM+bf8/sGE+hwG6M74CdhbDqq3/Lw8jufvm5ibt9wwzQIa+EiKtOTbcWAexVFHF3SIA/Mujw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8716 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250416_011517_998839_ABB455A9 X-CRM114-Status: GOOD ( 16.71 ) 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 4cff66794990..5a38cfaf989b 100644 --- a/drivers/pci/controller/dwc/pci-imx6.c +++ b/drivers/pci/controller/dwc/pci-imx6.c @@ -139,6 +139,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; @@ -158,6 +163,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 */ @@ -1484,6 +1491,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); @@ -1492,6 +1535,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 @@ -1536,6 +1581,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;