Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp106960pxu; Wed, 25 Nov 2020 14:31:19 -0800 (PST) X-Google-Smtp-Source: ABdhPJwWh1dCK7yUn0kM+F4Sp+bZ6QREJQbycDbgN2vvGeCdQ6j3o8mkregjiYUxPNWkEh5rDrCh X-Received: by 2002:a50:d5dd:: with SMTP id g29mr5645156edj.379.1606343479380; Wed, 25 Nov 2020 14:31:19 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1606343479; cv=none; d=google.com; s=arc-20160816; b=qykSCf5ruzacard667VhB3LseqNJ/xrm74B8O5jS5QGGrsni6DXNMHqIEvqwZpejt4 HWoHycBb/+R+XNy5Np/E9O33SR78PWAd/Y8Sbo0r+nbdHS5oQtf7UepzpnWt80tA3Ddg Dj7SRQ0w/yDobkLOdCgadKMqQAWefjfhsvJ0jujeJN4wUtQ2lGIudRUePAL0ZNzcR17O BLy8c8fHPYo5lGCU0x1yYSm0+7mkVt2YoxTU3eSOX0j06u2f8eVZmK6DuI4LTa1pLqgG IucvRxvIhomzDX4xnXePBV0mKir0J9mfqR8dlA7h9lngIVxOF1PjqJFtX34pK4Msia/o qc4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:dkim-signature:mime-version:message-id:date :subject:cc:to:from; bh=qhn+7M1gOz4JIgwvQxocnYwYlqiPE1tJKqV+lUO0Fdo=; b=E5i+yEIayODdVWlJEJsToHh28VmpC1JPLNka/4vru7mi4sC0lFDVTfBTsn9qEKUmh0 cTz6tFcmg21I9QVejphPsm9ZdEiL/x9Hr+GBZoAJle0O8NkcuagNTXAuRCdkjhcjMjc/ BJUEKcqtIxZYAzEnPWZwXiXs7cIi+nOAAeTkaIDd1kUwzYowZvIDGp2IkyaFLfw7pYBg 8NRdBrLfWVF6UQ+1K+QcC+WZOvbwhe5RNZdbHeOBfX4xFLBa6GOGLGvVb6zI0m1oQTcu BtXUoKk9p1hzZM0HUOdNXEmVIFbjAuDXGA9bqHfuXqMqI0R0yuXjL83WULkq80sz+Ltm nuxQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nvidia.com header.s=n1 header.b=BiPFh2BU; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nvidia.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g13si1971171edv.398.2020.11.25.14.30.57; Wed, 25 Nov 2020 14:31:19 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@nvidia.com header.s=n1 header.b=BiPFh2BU; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nvidia.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727194AbgKYTWr (ORCPT + 99 others); Wed, 25 Nov 2020 14:22:47 -0500 Received: from hqnvemgate25.nvidia.com ([216.228.121.64]:4121 "EHLO hqnvemgate25.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726272AbgKYTWr (ORCPT ); Wed, 25 Nov 2020 14:22:47 -0500 Received: from hqmail.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate25.nvidia.com (using TLS: TLSv1.2, AES256-SHA) id ; Wed, 25 Nov 2020 11:22:46 -0800 Received: from HQMAIL111.nvidia.com (172.20.187.18) by HQMAIL111.nvidia.com (172.20.187.18) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Wed, 25 Nov 2020 19:22:45 +0000 Received: from vidyas-desktop.nvidia.com (10.124.1.5) by mail.nvidia.com (172.20.187.18) with Microsoft SMTP Server id 15.0.1473.3 via Frontend Transport; Wed, 25 Nov 2020 19:22:41 +0000 From: Vidya Sagar To: , , , , , , , CC: , , , , , , Subject: [PATCH] PCI: tegra: Move "dbi" accesses to post common DWC initialization Date: Thu, 26 Nov 2020 00:52:34 +0530 Message-ID: <20201125192234.2270-1-vidyas@nvidia.com> X-Mailer: git-send-email 2.17.1 X-NVConfidentiality: public MIME-Version: 1.0 Content-Type: text/plain DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1606332166; bh=qhn+7M1gOz4JIgwvQxocnYwYlqiPE1tJKqV+lUO0Fdo=; h=From:To:CC:Subject:Date:Message-ID:X-Mailer:X-NVConfidentiality: MIME-Version:Content-Type; b=BiPFh2BUh4Hm2eGT6PQ60R3brNRko5HBVgeQDVx/BTXNCgjHlyEXdIGBCkE9hLO0z Hm8sZLxYzyVEv8UV3yhOHrLVewkjBSL6EL7kOEkEO2jEaB6Vsv2l6x1ZjSG/ZKpkwE wX7jIeWj8lk7+G7t0QCO73QzJex9Aq/gVNBg9DVYTz6bxX2TnhPv0qWj+efbriTXl+ U+XnC6JIdyYNMwTAzYyNbczHoTYP/bTwh1MSVwzigz5q/292KrQA8N5m1yfSqAwvbF 6vfSwCmxqftGjp75Uk53Sw3dqsM48HxnFwR5yJHz/4jkAOjCUydp997TLF7tiSclUs Q2UqaNXKPlK/Q== Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org commit a0fd361db8e5 ("PCI: dwc: Move "dbi", "dbi2", and "addr_space" resource setup into common code") moved the code that sets up dbi_base to DWC common code thereby creating a requirement to not access the "dbi" region before calling common DWC initialization code. But, Tegra194 already had some code that programs some of the "dbi" registers resulting in system crash. This patch addresses that issue by refactoring the code to have accesses to the "dbi" region only after common DWC initialization. Fixes: a0fd361db8e5 ("PCI: dwc: Move "dbi", "dbi2", and "addr_space" resource setup into common code") Signed-off-by: Vidya Sagar --- drivers/pci/controller/dwc/pcie-tegra194.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c index ac2225175087..648e731bccfa 100644 --- a/drivers/pci/controller/dwc/pcie-tegra194.c +++ b/drivers/pci/controller/dwc/pcie-tegra194.c @@ -859,6 +859,16 @@ static void tegra_pcie_prepare_host(struct pcie_port *pp) struct tegra_pcie_dw *pcie = to_tegra_pcie(pci); u32 val; + if (!pcie->pcie_cap_base) + pcie->pcie_cap_base = dw_pcie_find_capability(&pcie->pci, + PCI_CAP_ID_EXP); + + /* Disable ASPM-L1SS advertisement if there is no CLKREQ routing */ + if (!pcie->supports_clkreq) { + disable_aspm_l11(pcie); + disable_aspm_l12(pcie); + } + val = dw_pcie_readl_dbi(pci, PCI_IO_BASE); val &= ~(IO_BASE_IO_DECODE | IO_BASE_IO_DECODE_BIT8); dw_pcie_writel_dbi(pci, PCI_IO_BASE, val); @@ -1389,15 +1399,6 @@ static int tegra_pcie_config_controller(struct tegra_pcie_dw *pcie, reset_control_deassert(pcie->core_rst); - pcie->pcie_cap_base = dw_pcie_find_capability(&pcie->pci, - PCI_CAP_ID_EXP); - - /* Disable ASPM-L1SS advertisement as there is no CLKREQ routing */ - if (!pcie->supports_clkreq) { - disable_aspm_l11(pcie); - disable_aspm_l12(pcie); - } - return ret; fail_phy: -- 2.17.1