Received: by 2002:a6b:fb09:0:0:0:0:0 with SMTP id h9csp306623iog; Fri, 17 Jun 2022 04:07:18 -0700 (PDT) X-Google-Smtp-Source: AGRyM1vJLV7kgKg7/3dhewCBGDtNgODdoFbSQz8Lv9rYKf+JRAvVrh5mc2z0hSvvCi4lD8lk4mfb X-Received: by 2002:a05:6a00:1d1d:b0:524:cfcb:b140 with SMTP id a29-20020a056a001d1d00b00524cfcbb140mr6199732pfx.4.1655464038054; Fri, 17 Jun 2022 04:07:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1655464038; cv=none; d=google.com; s=arc-20160816; b=fV3MIgkPa/zNUB9kxheUlA67Lyl2mwEH3zlVbR7Wd5TOMjfjOJ35nCu+vKSN2QETrB ZAh8XPZVMsLu2UqW3qYlDKKYryBP3cRf2AziQveXT+0IlkYxas+SXLtXQaKGUDxJo8LU cz2zFYG+WyYTJUsfTJXJwk2PrA1wXHhG58YeKzErRDWmvVswB1PqLFrC6lVqEQJDAl1R 6scxqjauR823KijIGVQBeuovpgZZpPiSc26DFGPHQD5QwDrO6UeVNvs2lGexNpoBrjQm JCuFr6nP4n4vDIjmK4f5HlrRyHXBWpSuwzvLNktTSyRnzRN2aSfsythBowevlCbviJl9 gH9A== 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=4yBA+3kFiJ9QzxMNU03gnl3fIXT7uzffHck99JFdn+c=; b=xi81sOKstpByTn5cx+afyIJAHbEr9MJQX21l5bs7Vr1nu6x/yDQn/BzrwVYukPgFr9 /jbh306E/k1NecqbkjJ8In+SwZzA6uICl3db6fGuEb/i+oKSD+8/053EJ4LkArOda93D opyLsYeORE3Qgmqchh8v8itK1yXOmzFbxlZkEt4dmpoeTlrTa5aSeJldHR3hHz+9HauS szabEM0nQF4sZcFWgOMIeCrBLpfDLjZGpkvydMINgZ8vYwBzeVo4oyQbeQoVHIzIpYFH 8iVB300bOpj/qAdmLsDEDN2Z+tyAcKeUAt3mKsGxVXz6gCgd45/iUuqn9jg42ZsOX4sE dB+w== 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 t1-20020a63b241000000b003d82053da65si5974495pgo.501.2022.06.17.04.07.01; Fri, 17 Jun 2022 04:07:18 -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 S1382141AbiFQKqA (ORCPT + 99 others); Fri, 17 Jun 2022 06:46:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39392 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1382138AbiFQKpj (ORCPT ); Fri, 17 Jun 2022 06:45:39 -0400 Received: from inva021.nxp.com (inva021.nxp.com [92.121.34.21]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 877F76B7D2; Fri, 17 Jun 2022 03:45:30 -0700 (PDT) Received: from inva021.nxp.com (localhost [127.0.0.1]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 35930200012; Fri, 17 Jun 2022 12:45:29 +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 F2939200007; Fri, 17 Jun 2022 12:45:28 +0200 (CEST) Received: from localhost.localdomain (shlinux2.ap.freescale.net [10.192.224.44]) by aprdc01srsp001v.ap-rdc01.nxp.com (Postfix) with ESMTP id 5EBA9180219B; Fri, 17 Jun 2022 18:45:27 +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 v13 13/15] PCI: imx6: Reduce resume time by only starting link if it was up before suspend Date: Fri, 17 Jun 2022 18:31:12 +0800 Message-Id: <1655461874-16908-14-git-send-email-hongxing.zhu@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1655461874-16908-1-git-send-email-hongxing.zhu@nxp.com> References: <1655461874-16908-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 | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c index e236f824c808..abce427f5d3f 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,6 +882,7 @@ 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; @@ -1032,9 +1034,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