Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp112578pxu; Wed, 25 Nov 2020 14:43:58 -0800 (PST) X-Google-Smtp-Source: ABdhPJwrMB0FWydhIXcmRRtdvACk6z0gFcfj6e2numV9/hVqi50ZHIa7PsQCpvSgwvxuzm1OWgfN X-Received: by 2002:a17:906:4698:: with SMTP id a24mr192371ejr.90.1606344237994; Wed, 25 Nov 2020 14:43:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1606344237; cv=none; d=google.com; s=arc-20160816; b=J6UXKfp3jVTm2o1KdaU25zsvec1HqglCjCgwsMcXxgLneqOt+1HYd4vvxvqNE6C5JN 6xXx9/TtAtw870LbLvqjll1hiqSiTdJieqInk0pUYyU/JtMyLoxnQrP9DmSq2TlGqv66 jxhvMsMhFxXyqErKfEOp19iOdAIus961w2EIMWH3fI2ksuKuw6Z5tUXEX1KI5Gg5wiE+ LPIGoz9qfephLKwhQC78czR/mBvsgXN+y4UYOjDRfI2JciE/u/MPgQ0NR6eV0sb3Z5Mo HevGV47ekcvdWyRRooRINV6x32mqSnG+wmkGXYjmphOkn+I6fNLplmgWRVNSTN/OlRLY 7J7A== 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=JWEIVMl/77bu7Q+BVjyybEbxe5MdS6MrC/6uj772QPg=; b=r/ynNtI5Os24RHgbmt1K3As9YrC66dCr5gHgWt53b6SPQWiHKy4L8EzLpZPBzQmxOy sNMbKM72Tj3eHoDv/Ce2BpqcxhIJqQySInOJOTx7F7Bg3q87r9GLtMVEe4NdFK6BndX+ 4Ufqt/kBPonzu0FtbvLm+TopiYCZjmc0eWPu5JiWnardXnmCcAVFxuzry8uzm+Rmkfzz P6x10dj9BMSX+B1fEpqVcCNUIqLCKHaXkb18PgZ7vMjJwD9ZDnk7gR9jdjU+75ePKKuK eD0yZxX8uTzF0V7GZu4MDo6ciThjqB9qCPuFhhs8CHDslbCtNcsCi6+r/eeBPCwzVscZ nWag== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nvidia.com header.s=n1 header.b=hdVkoaKO; 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 bt25si2009172edb.572.2020.11.25.14.43.35; Wed, 25 Nov 2020 14:43:57 -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=hdVkoaKO; 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 S1727976AbgKYT0F (ORCPT + 99 others); Wed, 25 Nov 2020 14:26:05 -0500 Received: from hqnvemgate25.nvidia.com ([216.228.121.64]:4389 "EHLO hqnvemgate25.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727886AbgKYT0E (ORCPT ); Wed, 25 Nov 2020 14:26:04 -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:26:04 -0800 Received: from HQMAIL101.nvidia.com (172.20.187.10) by HQMAIL105.nvidia.com (172.20.187.12) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Wed, 25 Nov 2020 19:26:02 +0000 Received: from vidyas-desktop.nvidia.com (10.124.1.5) by mail.nvidia.com (172.20.187.10) with Microsoft SMTP Server id 15.0.1473.3 via Frontend Transport; Wed, 25 Nov 2020 19:25:58 +0000 From: Vidya Sagar To: , , , , , , , , CC: , , , , , , Subject: [PATCH] PCI: tegra: Read "dbi" base address to program in application logic Date: Thu, 26 Nov 2020 00:55:54 +0530 Message-ID: <20201125192554.5401-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=1606332364; bh=JWEIVMl/77bu7Q+BVjyybEbxe5MdS6MrC/6uj772QPg=; h=From:To:CC:Subject:Date:Message-ID:X-Mailer:X-NVConfidentiality: MIME-Version:Content-Type; b=hdVkoaKOWf2K3iNdsk4GNjg9JAXIX8mjLhwUl9zs/cy3Ikza4uqq6GGvDckE8MqL4 YT466FnFMNDfAZL0b4vD/hEX7hTlcgcuU5Cv6na9guprzE7sLjE8tJtlFuLtVopIs2 azKxk7e0K3nHjYqtcG/4DaEjjNCtKEBKbVpRV8ltNrDIMmKtwU56l4fjRB6Eo1W287 Qhg3gOdyFEOyl3aq8WR/PK+HAvT6moyikB1xoCCNJK2Bpl7zaNbKRGRAGn54tYZQKb qIGyIbZt2LTZQ71wypNaX2s42xyGzSiVBjvvOEWOzfezWakLnQAOGvR67KfgxySl7Y kXEi27jy74+WA== Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org PCIe controller in Tegra194 requires the "dbi" region base address to be programmed in one of the application logic registers to enable CPU access to the "dbi" region. But, commit a0fd361db8e5 ("PCI: dwc: Move "dbi", "dbi2", and "addr_space" resource setup into common code") moved the code that reads the whereabouts of "dbi" region to the common code causing the existing code in pcie-tegra194.c file to program NULL in the application logic registers. This is causing null pointer dereference when the "dbi" registers are accessed. This issue is fixed by explicitly reading the "dbi" base address from DT node. 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 | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c index fa54d9aaa430..ac2225175087 100644 --- a/drivers/pci/controller/dwc/pcie-tegra194.c +++ b/drivers/pci/controller/dwc/pcie-tegra194.c @@ -1053,9 +1053,16 @@ static int tegra_pcie_enable_phy(struct tegra_pcie_dw *pcie) static int tegra_pcie_dw_parse_dt(struct tegra_pcie_dw *pcie) { + struct platform_device *pdev = to_platform_device(pcie->dev); struct device_node *np = pcie->dev->of_node; int ret; + pcie->dbi_res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "dbi"); + if (!pcie->dbi_res) { + dev_err(pcie->dev, "Failed to find \"dbi\" region\n"); + return -ENODEV; + } + ret = of_property_read_u32(np, "nvidia,aspm-cmrt-us", &pcie->aspm_cmrt); if (ret < 0) { dev_info(pcie->dev, "Failed to read ASPM T_cmrt: %d\n", ret); -- 2.17.1