Received: by 2002:a6b:fb09:0:0:0:0:0 with SMTP id h9csp1231345iog; Thu, 30 Jun 2022 20:59:53 -0700 (PDT) X-Google-Smtp-Source: AGRyM1tRYbldS/CICu6Cvf6hvQKxUIRywNv2Hp23W24aB6YsS8IoNa6cmudQ/BM+mrJy+Wn/I/My X-Received: by 2002:a17:90b:4d8d:b0:1ec:ce0f:790f with SMTP id oj13-20020a17090b4d8d00b001ecce0f790fmr16161414pjb.116.1656647993624; Thu, 30 Jun 2022 20:59:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1656647993; cv=none; d=google.com; s=arc-20160816; b=VAVnZb5/zCUn/25O94xcjGD5EVtj6LYD3pUtH2V25K7IpsEfeEIOohoQvaDr2WPNLU zNB0IyRWQVvf48LHmhCDIuocauXvRELIv8reg0SkuAMfQZea+2vtZkIq82NOq/Xewkyh 7AVe4qR6tbEJxRv5CZnHreYdKgXxSfCAt66I8a3Peb1+oQKnhc6xxUqQ9t6kR6rge/Ea dQ5QZWIf1ZU+9pJCniVykQNrcFB/e0JfUHSg+kxTzgEf0HiXPWGHK3U5YvGk9c7iK8M7 V4rdzwNlEAYaZILQYytbFZZO4G9y0+j5amRHz7YkQ9MtLvqAGxPJJfjSt2N5FEEMUaJX JtXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from; bh=oQBzc2WVSeQqfsBWSPLMYBgGYacI7NYTtDCnwNBRaPg=; b=Y3SNX+JYb40fSmkH24uf1BWFujpJR+qAIBBR+8TWsR+An57Cq6JE5utygmDwwGxf4G p2LyVQaflewwcNDKP7UPWUZMp3CpfTXVSgA8/rgtwqBowZG1zIq0Y1zwxZJvpdOG9zYr 64vcVRkp0djkvCqzf9HJ9aviV4Nerzm/Oaw2bj5JR63PO6XtR/yYllMXnOoNWRyHDYuz Rv/ssCBhYQBdg9eI2o1Pu/Pz1wSStCr4SQ4GgSN0b3hf25+W/0ZUTxVbN7HZa+CmFlyc 28FJWetfZJm2AMm6jlv8e8gbs1Wq7668A8LaWsErUsqw0X5kZiKm/cxxdj0chVK92cWR X1iQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id a190-20020a6390c7000000b0040cb4676a8bsi26417466pge.732.2022.06.30.20.59.41; Thu, 30 Jun 2022 20:59:53 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234384AbiGADlJ (ORCPT + 99 others); Thu, 30 Jun 2022 23:41:09 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50730 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234167AbiGADkc (ORCPT ); Thu, 30 Jun 2022 23:40:32 -0400 Received: from inva021.nxp.com (inva021.nxp.com [92.121.34.21]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8472F65D5A; Thu, 30 Jun 2022 20:40:31 -0700 (PDT) Received: from inva021.nxp.com (localhost [127.0.0.1]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 1CECD201153; Fri, 1 Jul 2022 05:40:30 +0200 (CEST) Received: from aprdc01srsp001v.ap-rdc01.nxp.com (aprdc01srsp001v.ap-rdc01.nxp.com [165.114.16.16]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id DB1D32035BC; Fri, 1 Jul 2022 05:40:29 +0200 (CEST) Received: from localhost.localdomain (shlinux2.ap.freescale.net [10.192.224.44]) by aprdc01srsp001v.ap-rdc01.nxp.com (Postfix) with ESMTP id 4B75D1802204; Fri, 1 Jul 2022 11:40:28 +0800 (+08) From: Richard Zhu To: l.stach@pengutronix.de, bhelgaas@google.com, robh+dt@kernel.org, broonie@kernel.org, lorenzo.pieralisi@arm.com, festevam@gmail.com, francesco.dolcini@toradex.com Cc: hongxing.zhu@nxp.com, linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kernel@pengutronix.de, linux-imx@nxp.com Subject: [PATCH v14 13/17] PCI: imx6: Reduce resume time by only starting link if it was up before suspend Date: Fri, 1 Jul 2022 11:25:31 +0800 Message-Id: <1656645935-1370-14-git-send-email-hongxing.zhu@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1656645935-1370-1-git-send-email-hongxing.zhu@nxp.com> References: <1656645935-1370-1-git-send-email-hongxing.zhu@nxp.com> X-Virus-Scanned: ClamAV using ClamSMTP X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Because i.MX PCIe doesn't support hot-plug feature. In the link down scenario, only start the PCIe link training in resume when the link is up before system suspend to avoid the long latency in the link training period. Signed-off-by: Richard Zhu Signed-off-by: Bjorn Helgaas --- drivers/pci/controller/dwc/pci-imx6.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c index e236f824c808..5a06fbca82d6 100644 --- a/drivers/pci/controller/dwc/pci-imx6.c +++ b/drivers/pci/controller/dwc/pci-imx6.c @@ -67,6 +67,7 @@ struct imx6_pcie { struct dw_pcie *pci; int reset_gpio; bool gpio_active_high; + bool link_is_up; struct clk *pcie_bus; struct clk *pcie_phy; struct clk *pcie_inbound_axi; @@ -881,11 +882,13 @@ static int imx6_pcie_start_link(struct dw_pcie *pci) dev_info(dev, "Link: Gen2 disabled\n"); } + imx6_pcie->link_is_up = true; 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: + imx6_pcie->link_is_up = false; dev_dbg(dev, "PHY DEBUG_R0=0x%08x DEBUG_R1=0x%08x\n", dw_pcie_readl_dbi(pci, PCIE_PORT_DEBUG0), dw_pcie_readl_dbi(pci, PCIE_PORT_DEBUG1)); @@ -1032,9 +1035,8 @@ static int imx6_pcie_resume_noirq(struct device *dev) return ret; dw_pcie_setup_rc(pp); - ret = imx6_pcie_start_link(imx6_pcie->pci); - if (ret < 0) - dev_info(dev, "pcie link is down after resume.\n"); + if (imx6_pcie->link_is_up) + imx6_pcie_start_link(imx6_pcie->pci); return 0; } -- 2.25.1