Received: by 2002:a05:6a10:1d13:0:0:0:0 with SMTP id pp19csp550417pxb; Thu, 19 Aug 2021 06:01:19 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwugVrM3dipXTDyMyhjWFu/nF3SCWPrXvOy8lp9OrWUp1lWeUwgffxs1x2H3PxmtRcyf7pn X-Received: by 2002:a92:903:: with SMTP id y3mr9819123ilg.29.1629378078838; Thu, 19 Aug 2021 06:01:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1629378078; cv=none; d=google.com; s=arc-20160816; b=O/0xVVRmzNUGZfyh59nyM6Dc8xhWNSrd8atsvw4xCIIK2Y95PAB4+raycrQ3wHHezV fqfVPzFazb+ZEtxu3xeWWIbWfLt4Lox+kIh5VPpeLRPLitMU/2xom3rWXZUIVOORcuMA qF3BJMoi/7Gk9hNZM56lqzoZ/hZUAaviio1F0S6Sgzl8QB55C7YsbvBy5bAUjDy/2cFm aVMwfyxAhTSVG34tN6ojIi3lKiVFgmAT+Rzgz+z4ICbxkIYH+0t0CueBzHwmZhGZklmr Mwh6J0LgBgT9PRh/EQBuZcCA6LpgnbGUNXZaxEjfuhDdjGFZzO1eZwbw743dCM+e2LZT V9aQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:subject:cc:to:from; bh=JET8T9R+y0SGqeKvlPCjzBmtzKu7HYF+8g6pi5uQ5qo=; b=NuOp2D3SLFulTQH+zIuEIpb15h5N4NiuEwIm7r/Qw5TYOsSxldrk+hXLnFVruA0EkF 8zaoloqsvJ8eAf013z44xMM69qc30lu5U+kT0S1y1Cern8ydZCTpQSDT7YWjgr/6jG0i P/kO3VpxdTlLbT4yi5mrOmApCE7d8rupCut5PhiXx5lVj2jYdz5xmCiYeIO/Jepl8hdp bpRRhpFfpyF1RbdxA491b0rJAtMnTLNbqoc0+OCkhqya+p0eKZk1uDL5rlnFkpy6sGym oVr7z3wCGgM6hf7l+aecqTXwjdpbROwSY1+8PJB23xSc3eAHSWo/7MgP8eI4XLbHxce6 69Ww== ARC-Authentication-Results: i=1; mx.google.com; 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=mediatek.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id n6si3737281ilk.152.2021.08.19.06.01.04; Thu, 19 Aug 2021 06:01:18 -0700 (PDT) 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; 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=mediatek.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239151AbhHSNA2 (ORCPT + 99 others); Thu, 19 Aug 2021 09:00:28 -0400 Received: from mailgw02.mediatek.com ([210.61.82.184]:48124 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S229601AbhHSNA1 (ORCPT ); Thu, 19 Aug 2021 09:00:27 -0400 X-UUID: 0b554a1debce474fba82959df6c6b6ab-20210819 X-UUID: 0b554a1debce474fba82959df6c6b6ab-20210819 Received: from mtkmbs10n1.mediatek.inc [(172.21.101.34)] by mailgw02.mediatek.com (envelope-from ) (Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 1864872042; Thu, 19 Aug 2021 20:59:46 +0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs05n2.mediatek.inc (172.21.101.140) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 19 Aug 2021 20:59:45 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Thu, 19 Aug 2021 20:59:44 +0800 From: Jianjun Wang To: Lorenzo Pieralisi , Rob Herring , Krzysztof Wilczyski , Bjorn Helgaas , Ryder Lee , Matthias Brugger CC: , , , , Jianjun Wang , , Subject: [PATCH] PCI: mediatek-gen3: Disable DVFSRC voltage request Date: Thu, 19 Aug 2021 20:59:39 +0800 Message-ID: <20210819125939.21253-1-jianjun.wang@mediatek.com> X-Mailer: git-send-email 2.18.0 MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When the DVFSRC feature is not implemented, the MAC layer will assert a voltage request signal when exit from the L1ss state, but cannot receive the voltage ready signal, which will cause the link to fail to exit the L1ss state correctly. Disable DVFSRC voltage request by default, we need to find a common way to enable it in the future. Signed-off-by: Jianjun Wang --- drivers/pci/controller/pcie-mediatek-gen3.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/pci/controller/pcie-mediatek-gen3.c b/drivers/pci/controller/pcie-mediatek-gen3.c index f3aeb8d4eaca..79fb12fca6a9 100644 --- a/drivers/pci/controller/pcie-mediatek-gen3.c +++ b/drivers/pci/controller/pcie-mediatek-gen3.c @@ -79,6 +79,9 @@ #define PCIE_ICMD_PM_REG 0x198 #define PCIE_TURN_OFF_LINK BIT(4) +#define PCIE_MISC_CTRL_REG 0x348 +#define PCIE_DISABLE_DVFSRC_VLT_REQ BIT(1) + #define PCIE_TRANS_TABLE_BASE_REG 0x800 #define PCIE_ATR_SRC_ADDR_MSB_OFFSET 0x4 #define PCIE_ATR_TRSL_ADDR_LSB_OFFSET 0x8 @@ -297,6 +300,11 @@ static int mtk_pcie_startup_port(struct mtk_pcie_port *port) val &= ~PCIE_INTX_ENABLE; writel_relaxed(val, port->base + PCIE_INT_ENABLE_REG); + /* Disable DVFSRC voltage request */ + val = readl_relaxed(port->base + PCIE_MISC_CTRL_REG); + val |= PCIE_DISABLE_DVFSRC_VLT_REQ; + writel_relaxed(val, port->base + PCIE_MISC_CTRL_REG); + /* Assert all reset signals */ val = readl_relaxed(port->base + PCIE_RST_CTRL_REG); val |= PCIE_MAC_RSTB | PCIE_PHY_RSTB | PCIE_BRG_RSTB | PCIE_PE_RSTB; -- 2.18.0