From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.1 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A5E41C433E0 for ; Thu, 18 Jun 2020 02:39:54 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 85793214DB for ; Thu, 18 Jun 2020 02:39:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1592447994; bh=s5tlMG5xYQEvcF25X+nwy3A9jSU1v8iqz8pZFmMrPIc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=DRKTuU5oC+77wvS7/9fy5K262THIV4rLkz06o6N9g9x/Im6KbEDe1rKcBGik2Tp8F AeozTZAxTiFM35dzt7FdgtXafKKGYzqj2j92wz7Mojc0gmCCh0VSH44a+cESlLS/qY jMy2FvSBkwdk/gSdU2tx+h6W3X9HT2uEg3Kdyjfc= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728553AbgFRCjv (ORCPT ); Wed, 17 Jun 2020 22:39:51 -0400 Received: from mail.kernel.org ([198.145.29.99]:41752 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729009AbgFRBMy (ORCPT ); Wed, 17 Jun 2020 21:12:54 -0400 Received: from sasha-vm.mshome.net (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 33F0221974; Thu, 18 Jun 2020 01:12:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1592442774; bh=s5tlMG5xYQEvcF25X+nwy3A9jSU1v8iqz8pZFmMrPIc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=bdjCOut2ZjdBTpoS5bkod65IoM+ujhhLeI5X6KlQiR5Wcu7s6AvIKRTBIjpwRazgJ 0p3NoTcUDigD6MZqTTgg1B3jPwi5XmJ2lM8IFry60EKg1YR8qVEx6w8pxdGRaES1yH nQq6Ln8VP1Uv/RjQ4y02AnXV3EOZpU+w6XQwsMoQ= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: =?UTF-8?q?Pali=20Roh=C3=A1r?= , Tomasz Maciej Nowak , Lorenzo Pieralisi , Rob Herring , Thomas Petazzoni , Sasha Levin , linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH AUTOSEL 5.7 221/388] PCI: aardvark: Train link immediately after enabling training Date: Wed, 17 Jun 2020 21:05:18 -0400 Message-Id: <20200618010805.600873-221-sashal@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200618010805.600873-1-sashal@kernel.org> References: <20200618010805.600873-1-sashal@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org From: Pali Rohár [ Upstream commit 6964494582f56a3882c2c53b0edbfe99eb32b2e1 ] Adding even 100ms (PCI_PM_D3COLD_WAIT) delay between enabling link training and starting link training causes detection issues with some buggy cards (such as Compex WLE900VX). Move the code which enables link training immediately before the one which starts link traning. This fixes detection issues of Compex WLE900VX card on Turris MOX after cold boot. Link: https://lore.kernel.org/r/20200430080625.26070-2-pali@kernel.org Fixes: f4c7d053d7f7 ("PCI: aardvark: Wait for endpoint to be ready...") Tested-by: Tomasz Maciej Nowak Signed-off-by: Pali Rohár Signed-off-by: Lorenzo Pieralisi Acked-by: Rob Herring Acked-by: Thomas Petazzoni Signed-off-by: Sasha Levin --- drivers/pci/controller/pci-aardvark.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c index 3a6d07dc0a38..74b90940a9d4 100644 --- a/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c @@ -300,11 +300,6 @@ static void advk_pcie_setup_hw(struct advk_pcie *pcie) reg |= LANE_COUNT_1; advk_writel(pcie, reg, PCIE_CORE_CTRL0_REG); - /* Enable link training */ - reg = advk_readl(pcie, PCIE_CORE_CTRL0_REG); - reg |= LINK_TRAINING_EN; - advk_writel(pcie, reg, PCIE_CORE_CTRL0_REG); - /* Enable MSI */ reg = advk_readl(pcie, PCIE_CORE_CTRL2_REG); reg |= PCIE_CORE_CTRL2_MSI_ENABLE; @@ -346,7 +341,15 @@ static void advk_pcie_setup_hw(struct advk_pcie *pcie) */ msleep(PCI_PM_D3COLD_WAIT); - /* Start link training */ + /* Enable link training */ + reg = advk_readl(pcie, PCIE_CORE_CTRL0_REG); + reg |= LINK_TRAINING_EN; + advk_writel(pcie, reg, PCIE_CORE_CTRL0_REG); + + /* + * Start link training immediately after enabling it. + * This solves problems for some buggy cards. + */ reg = advk_readl(pcie, PCIE_CORE_LINK_CTRL_STAT_REG); reg |= PCIE_CORE_LINK_TRAINING; advk_writel(pcie, reg, PCIE_CORE_LINK_CTRL_STAT_REG); -- 2.25.1 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.0 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5EAD1C433E0 for ; Thu, 18 Jun 2020 01:24:12 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 14D6021D90 for ; Thu, 18 Jun 2020 01:24:12 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="dxHpOw8S"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="bdjCOut2" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 14D6021D90 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=cnb5f2p5C1JidRaBMQGITpAs+YsZ9xbJrIg0iiOTsL8=; b=dxHpOw8S2rICeB OMxxMyF2N0CoQcYDTlGQZqNGw2HfhFJQCVlzyKUlAQBYV4SWOdaVbKMiQlpEIvYzAnWi4avrOQB64 NlIc1wmSOKgncyWD+oFEbpwVSqq57Oi/vHX5/LCtwePAi2wj/k+8QKmc+yzES5e80ay9RFuC+Ryhb p9LtsZB/m2W0UPRhemCntnI8Z9Md7QIIo9uPf+TknLFyaBWVflUkY5sRIojrEhvZHvbpF+GvkH/Le 5t9OhUTx1/FlvrLhZx0B09AMjieDhbgnAeCvhuaREe3coD8OKdX/NA8zyAuCgxWSviElVnrdi/9N3 +47E7/kopPoYmswcio/w==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jljHi-0007Lg-Rn; Thu, 18 Jun 2020 01:24:06 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jlj6s-0002R7-SU for linux-arm-kernel@lists.infradead.org; Thu, 18 Jun 2020 01:12:56 +0000 Received: from sasha-vm.mshome.net (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 33F0221974; Thu, 18 Jun 2020 01:12:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1592442774; bh=s5tlMG5xYQEvcF25X+nwy3A9jSU1v8iqz8pZFmMrPIc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=bdjCOut2ZjdBTpoS5bkod65IoM+ujhhLeI5X6KlQiR5Wcu7s6AvIKRTBIjpwRazgJ 0p3NoTcUDigD6MZqTTgg1B3jPwi5XmJ2lM8IFry60EKg1YR8qVEx6w8pxdGRaES1yH nQq6Ln8VP1Uv/RjQ4y02AnXV3EOZpU+w6XQwsMoQ= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Subject: [PATCH AUTOSEL 5.7 221/388] PCI: aardvark: Train link immediately after enabling training Date: Wed, 17 Jun 2020 21:05:18 -0400 Message-Id: <20200618010805.600873-221-sashal@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200618010805.600873-1-sashal@kernel.org> References: <20200618010805.600873-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200617_181254_942314_7F978A24 X-CRM114-Status: GOOD ( 10.98 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Tomasz Maciej Nowak , Rob Herring , Lorenzo Pieralisi , Sasha Levin , linux-pci@vger.kernel.org, Thomas Petazzoni , =?UTF-8?q?Pali=20Roh=C3=A1r?= , linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org RnJvbTogUGFsaSBSb2jDoXIgPHBhbGlAa2VybmVsLm9yZz4KClsgVXBzdHJlYW0gY29tbWl0IDY5 NjQ0OTQ1ODJmNTZhMzg4MmMyYzUzYjBlZGJmZTk5ZWIzMmIyZTEgXQoKQWRkaW5nIGV2ZW4gMTAw bXMgKFBDSV9QTV9EM0NPTERfV0FJVCkgZGVsYXkgYmV0d2VlbiBlbmFibGluZyBsaW5rCnRyYWlu aW5nIGFuZCBzdGFydGluZyBsaW5rIHRyYWluaW5nIGNhdXNlcyBkZXRlY3Rpb24gaXNzdWVzIHdp dGggc29tZQpidWdneSBjYXJkcyAoc3VjaCBhcyBDb21wZXggV0xFOTAwVlgpLgoKTW92ZSB0aGUg Y29kZSB3aGljaCBlbmFibGVzIGxpbmsgdHJhaW5pbmcgaW1tZWRpYXRlbHkgYmVmb3JlIHRoZSBv bmUKd2hpY2ggc3RhcnRzIGxpbmsgdHJhbmluZy4KClRoaXMgZml4ZXMgZGV0ZWN0aW9uIGlzc3Vl cyBvZiBDb21wZXggV0xFOTAwVlggY2FyZCBvbiBUdXJyaXMgTU9YIGFmdGVyCmNvbGQgYm9vdC4K Ckxpbms6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3IvMjAyMDA0MzAwODA2MjUuMjYwNzAtMi1w YWxpQGtlcm5lbC5vcmcKRml4ZXM6IGY0YzdkMDUzZDdmNyAoIlBDSTogYWFyZHZhcms6IFdhaXQg Zm9yIGVuZHBvaW50IHRvIGJlIHJlYWR5Li4uIikKVGVzdGVkLWJ5OiBUb21hc3ogTWFjaWVqIE5v d2FrIDx0bW41MDVAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBQYWxpIFJvaMOhciA8cGFsaUBr ZXJuZWwub3JnPgpTaWduZWQtb2ZmLWJ5OiBMb3JlbnpvIFBpZXJhbGlzaSA8bG9yZW56by5waWVy YWxpc2lAYXJtLmNvbT4KQWNrZWQtYnk6IFJvYiBIZXJyaW5nIDxyb2JoQGtlcm5lbC5vcmc+CkFj a2VkLWJ5OiBUaG9tYXMgUGV0YXp6b25pIDx0aG9tYXMucGV0YXp6b25pQGJvb3RsaW4uY29tPgpT aWduZWQtb2ZmLWJ5OiBTYXNoYSBMZXZpbiA8c2FzaGFsQGtlcm5lbC5vcmc+Ci0tLQogZHJpdmVy cy9wY2kvY29udHJvbGxlci9wY2ktYWFyZHZhcmsuYyB8IDE1ICsrKysrKysrKy0tLS0tLQogMSBm aWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL3BjaS9jb250cm9sbGVyL3BjaS1hYXJkdmFyay5jIGIvZHJpdmVycy9wY2kvY29u dHJvbGxlci9wY2ktYWFyZHZhcmsuYwppbmRleCAzYTZkMDdkYzBhMzguLjc0YjkwOTQwYTlkNCAx MDA2NDQKLS0tIGEvZHJpdmVycy9wY2kvY29udHJvbGxlci9wY2ktYWFyZHZhcmsuYworKysgYi9k cml2ZXJzL3BjaS9jb250cm9sbGVyL3BjaS1hYXJkdmFyay5jCkBAIC0zMDAsMTEgKzMwMCw2IEBA IHN0YXRpYyB2b2lkIGFkdmtfcGNpZV9zZXR1cF9odyhzdHJ1Y3QgYWR2a19wY2llICpwY2llKQog CXJlZyB8PSBMQU5FX0NPVU5UXzE7CiAJYWR2a193cml0ZWwocGNpZSwgcmVnLCBQQ0lFX0NPUkVf Q1RSTDBfUkVHKTsKIAotCS8qIEVuYWJsZSBsaW5rIHRyYWluaW5nICovCi0JcmVnID0gYWR2a19y ZWFkbChwY2llLCBQQ0lFX0NPUkVfQ1RSTDBfUkVHKTsKLQlyZWcgfD0gTElOS19UUkFJTklOR19F TjsKLQlhZHZrX3dyaXRlbChwY2llLCByZWcsIFBDSUVfQ09SRV9DVFJMMF9SRUcpOwotCiAJLyog RW5hYmxlIE1TSSAqLwogCXJlZyA9IGFkdmtfcmVhZGwocGNpZSwgUENJRV9DT1JFX0NUUkwyX1JF Ryk7CiAJcmVnIHw9IFBDSUVfQ09SRV9DVFJMMl9NU0lfRU5BQkxFOwpAQCAtMzQ2LDcgKzM0MSwx NSBAQCBzdGF0aWMgdm9pZCBhZHZrX3BjaWVfc2V0dXBfaHcoc3RydWN0IGFkdmtfcGNpZSAqcGNp ZSkKIAkgKi8KIAltc2xlZXAoUENJX1BNX0QzQ09MRF9XQUlUKTsKIAotCS8qIFN0YXJ0IGxpbmsg dHJhaW5pbmcgKi8KKwkvKiBFbmFibGUgbGluayB0cmFpbmluZyAqLworCXJlZyA9IGFkdmtfcmVh ZGwocGNpZSwgUENJRV9DT1JFX0NUUkwwX1JFRyk7CisJcmVnIHw9IExJTktfVFJBSU5JTkdfRU47 CisJYWR2a193cml0ZWwocGNpZSwgcmVnLCBQQ0lFX0NPUkVfQ1RSTDBfUkVHKTsKKworCS8qCisJ ICogU3RhcnQgbGluayB0cmFpbmluZyBpbW1lZGlhdGVseSBhZnRlciBlbmFibGluZyBpdC4KKwkg KiBUaGlzIHNvbHZlcyBwcm9ibGVtcyBmb3Igc29tZSBidWdneSBjYXJkcy4KKwkgKi8KIAlyZWcg PSBhZHZrX3JlYWRsKHBjaWUsIFBDSUVfQ09SRV9MSU5LX0NUUkxfU1RBVF9SRUcpOwogCXJlZyB8 PSBQQ0lFX0NPUkVfTElOS19UUkFJTklORzsKIAlhZHZrX3dyaXRlbChwY2llLCByZWcsIFBDSUVf Q09SRV9MSU5LX0NUUkxfU1RBVF9SRUcpOwotLSAKMi4yNS4xCgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxp c3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZy YWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=