Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp799979pxb; Tue, 3 Nov 2020 12:53:47 -0800 (PST) X-Google-Smtp-Source: ABdhPJy41sadOkpzfRn3RFwHVoM+ChfEbhOReX3Lz7Bf+FwO7GFj5I2hMOJZpiQMCSNVw5EU5K+8 X-Received: by 2002:aa7:cd98:: with SMTP id x24mr22992853edv.237.1604436827733; Tue, 03 Nov 2020 12:53:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1604436827; cv=none; d=google.com; s=arc-20160816; b=Un09DRq+b6Sehh1KPjO26UNsJLb8LnzxLPL1U3chbXYWKnAAEQtxpB06J5ld4J3MQ2 xJSb4XnsYVoEj1Wni8+gmdZsWJR7e7XogvNs3xVrBF9NK3WUqYl/N7YD2+E7TCu55fA4 up1QsvPUG9fa/NvEJMVwovK4QPQmpOGNG8ib8VdIgRyB1wLDyy9My4vKnwNwWQdIrg0W NyoO8YfGn3YPy6vXGmad+yef8nQw5VVrr2YnvPeCs5mCa9909S6fmfhTWw2GHghQyP5P oKw9VunGe7agBsdnpUyPVI+T9EIpxHJE3+4ys0N6+i8h02oBcdzCdW71RJECc9derHcc 4QIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=OPdJ+JnoZo9LCmNil7ok9xVb7W4GCYc/Q7/paaK4HLA=; b=ldf+jTieMXPDBbhrVKbsBaWPhpaGzvnfFnHShfQ2WjtEmSSUeLn2pTk3FmsSp6/S0Y +2MWHOD0HRNA9viWUUHBh4744S5MQ9eJM1slYU5rqcjInAg4xaZ2yUGzXiw7bu5FqWVK vFbf0y33r/t4Wvpz2wPvBfbbBTFSw9wLpTxRx51Yjz+NIg0L06nYIQgiXua3qSlkcbCQ /Mj5dzxx5JHvsRyK0IYbBDF7Iciqli76hFBK/6NK4guKRMSFfuC4Gl3Hfpvnc1o8Whm9 nffPMECLBZf9v+rsRJcFwEF4eX4TdVhdhHKq95+4v3baqUWxrAAg6ZFV3skPde895CMn iOUg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=aqpg+a95; 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=fail (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id jr15si2652ejb.250.2020.11.03.12.53.24; Tue, 03 Nov 2020 12:53:47 -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=@kernel.org header.s=default header.b=aqpg+a95; 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=fail (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731797AbgKCUuc (ORCPT + 99 others); Tue, 3 Nov 2020 15:50:32 -0500 Received: from mail.kernel.org ([198.145.29.99]:44510 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731802AbgKCUu3 (ORCPT ); Tue, 3 Nov 2020 15:50:29 -0500 Received: from localhost (83-86-74-64.cable.dynamic.v4.ziggo.nl [83.86.74.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id D736822404; Tue, 3 Nov 2020 20:50:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1604436628; bh=jupkchvaZ/iDDls+iNDYRS2ROZr4ujl10oGXnuQWJFg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=aqpg+a9563S5AxpM3HfWDJzQY08ZQfH7fqHFLg+XOCZpaV4e/qKhwhjMA2ZY6q8PY GLNLu06y4sEeY59ql3+ljN5kYI6o5vCiX2jYbNYJDLPe2720CIxs8Fm/xxVkBIrCtA uE846En7SFPG1AOWZl7jyE6bHOZS61DDG+/Rm8gc= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Ansuel Smith , Lorenzo Pieralisi , Bjorn Andersson Subject: [PATCH 5.9 332/391] PCI: qcom: Make sure PCIe is reset before init for rev 2.1.0 Date: Tue, 3 Nov 2020 21:36:23 +0100 Message-Id: <20201103203409.524526180@linuxfoundation.org> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201103203348.153465465@linuxfoundation.org> References: <20201103203348.153465465@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Ansuel Smith commit d3d4d028afb785e52c55024d779089654f8302e7 upstream. Qsdk U-Boot can incorrectly leave the PCIe interface in an undefined state if bootm command is used instead of bootipq. This is caused by the not deinit of PCIe when bootm is called. Reset the PCIe before init anyway to fix this U-Boot bug. Link: https://lore.kernel.org/r/20200901124955.137-1-ansuelsmth@gmail.com Fixes: 82a823833f4e ("PCI: qcom: Add Qualcomm PCIe controller driver") Signed-off-by: Ansuel Smith Signed-off-by: Lorenzo Pieralisi Reviewed-by: Bjorn Andersson Cc: stable@vger.kernel.org # v4.19+ Signed-off-by: Greg Kroah-Hartman --- drivers/pci/controller/dwc/pcie-qcom.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) --- a/drivers/pci/controller/dwc/pcie-qcom.c +++ b/drivers/pci/controller/dwc/pcie-qcom.c @@ -302,6 +302,9 @@ static void qcom_pcie_deinit_2_1_0(struc reset_control_assert(res->por_reset); reset_control_assert(res->ext_reset); reset_control_assert(res->phy_reset); + + writel(1, pcie->parf + PCIE20_PARF_PHY_CTRL); + regulator_bulk_disable(ARRAY_SIZE(res->supplies), res->supplies); } @@ -314,6 +317,16 @@ static int qcom_pcie_init_2_1_0(struct q u32 val; int ret; + /* reset the PCIe interface as uboot can leave it undefined state */ + reset_control_assert(res->pci_reset); + reset_control_assert(res->axi_reset); + reset_control_assert(res->ahb_reset); + reset_control_assert(res->por_reset); + reset_control_assert(res->ext_reset); + reset_control_assert(res->phy_reset); + + writel(1, pcie->parf + PCIE20_PARF_PHY_CTRL); + ret = regulator_bulk_enable(ARRAY_SIZE(res->supplies), res->supplies); if (ret < 0) { dev_err(dev, "cannot enable regulators\n");