Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp324311iob; Wed, 18 May 2022 03:04:16 -0700 (PDT) X-Google-Smtp-Source: ABdhPJystFTyun0KtxTCXrcAR7wWRg/Aoa7+ksTu7OyTTO2R3m/UT7MRWr+OKUAQAebzvekcKDMW X-Received: by 2002:a17:902:988a:b0:15e:f006:369e with SMTP id s10-20020a170902988a00b0015ef006369emr26896180plp.59.1652868256262; Wed, 18 May 2022 03:04:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1652868256; cv=none; d=google.com; s=arc-20160816; b=ycjUuIkS+ez5wbFRz0NeSLNhMJV8BVkUYOgCUanW92S92HGHBwEdxomSmuNjANc6HM kEkb9/3Tg6MD6PAtjp/wepczq0Gz6Mt2YXoEI/JXGCxvnk5ZYXHRs+bWaaA2nVwf347b PNIjCDaoZ3PvaUo+9N/GnAxAAc6FIlsCtmKmWw+PUpoR516A67RslZHp6acOM2AZhiVX Fweo0pTpWQj/3nuIH1tzPvBp4XznDw5OW1xxEV7UZTgwZNS877klMS+UYlTZAAbpKIai i312tvWnXc6yMnnJrj97SywWpxqjGc05N6xd5i0IfXR4Y5IkqOOBvjzQ1tZnSdvANHHr y2LA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:cc:to:from; bh=PRWDD8iZp4YbJ2jbJ5GDgwpiYR7cJegHOweAAkBDKsM=; b=jmwmYSSLnVu30UhrnfJxfB+rGLxoM9ZuRMFMZdR6MoQkOLYMTc901mV/+mWq+lFfOs YBmz6zqE3cccy7S32N/Q3/yS3c2zvJUtlwHqvtfVpaTNToMXXMiUlbIy7WMhEB51ulUZ VWB2g9aSudRbZsv20Lr6F6QdkgXmpnNiAubroB8LuukKTwqT8n+D3Hot1gP6WCqPJoEi 3yeR/ERokpq94eSMZ9wIKlKs5HcgxvvzHURe6k62Y0Z4BfoZUWCCxyTtHstpTuDien+G n8Pw0G626mxvEnRWprpsnBbmLTL/kzZmHcmKDuKibOcYANqQnhMBevFm+I28hhOpQ2HP 6zig== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id h7-20020a056a00218700b0051036547a4fsi2764544pfi.115.2022.05.18.03.04.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 May 2022 03:04:16 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 03B466A01D; Wed, 18 May 2022 02:48:24 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234642AbiERJsH (ORCPT + 99 others); Wed, 18 May 2022 05:48:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42890 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234575AbiERJsD (ORCPT ); Wed, 18 May 2022 05:48:03 -0400 Received: from inva021.nxp.com (inva021.nxp.com [92.121.34.21]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 38B1C10FC1; Wed, 18 May 2022 02:47:59 -0700 (PDT) Received: from inva021.nxp.com (localhost [127.0.0.1]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id C8AC9200D9E; Wed, 18 May 2022 11:47:57 +0200 (CEST) Received: from aprdc01srsp001v.ap-rdc01.nxp.com (aprdc01srsp001v.ap-rdc01.nxp.com [165.114.16.16]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 82D08200D7D; Wed, 18 May 2022 11:47:57 +0200 (CEST) Received: from localhost.localdomain (shlinux2.ap.freescale.net [10.192.224.44]) by aprdc01srsp001v.ap-rdc01.nxp.com (Postfix) with ESMTP id E6A8E180031D; Wed, 18 May 2022 17:47:55 +0800 (+08) From: Richard Zhu To: l.stach@pengutronix.de, bhelgaas@google.com, lorenzo.pieralisi@arm.com, festevam@gmail.com Cc: hongxing.zhu@nxp.com, linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kernel@pengutronix.de, linux-imx@nxp.com Subject: [RFC 1/2] PCI: imx6: Make sure the DBI register can be changed Date: Wed, 18 May 2022 17:35:27 +0800 Message-Id: <1652866528-13220-1-git-send-email-hongxing.zhu@nxp.com> X-Mailer: git-send-email 2.7.4 X-Virus-Scanned: ClamAV using ClamSMTP X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RDNS_NONE, SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The PCIE_DBI_RO_WR_EN bit should be set when write some DBI registers. To make sure that the DBI registers are writable, set the PCIE_DBI_RO_WR_EN properly when touch the DBI registers. Signed-off-by: Richard Zhu --- drivers/pci/controller/dwc/pci-imx6.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c index 6619e3caffe2..30641d2dda14 100644 --- a/drivers/pci/controller/dwc/pci-imx6.c +++ b/drivers/pci/controller/dwc/pci-imx6.c @@ -797,10 +797,12 @@ static int imx6_pcie_start_link(struct dw_pcie *pci) * started in Gen2 mode, there is a possibility the devices on the * bus will not be detected at all. This happens with PCIe switches. */ + dw_pcie_dbi_ro_wr_en(pci); tmp = dw_pcie_readl_dbi(pci, offset + PCI_EXP_LNKCAP); tmp &= ~PCI_EXP_LNKCAP_SLS; tmp |= PCI_EXP_LNKCAP_SLS_2_5GB; dw_pcie_writel_dbi(pci, offset + PCI_EXP_LNKCAP, tmp); + dw_pcie_dbi_ro_wr_dis(pci); /* Start LTSSM. */ imx6_pcie_ltssm_enable(dev); @@ -809,6 +811,7 @@ static int imx6_pcie_start_link(struct dw_pcie *pci) if (pci->link_gen == 2) { /* Allow Gen2 mode after the link is up. */ + dw_pcie_dbi_ro_wr_en(pci); tmp = dw_pcie_readl_dbi(pci, offset + PCI_EXP_LNKCAP); tmp &= ~PCI_EXP_LNKCAP_SLS; tmp |= PCI_EXP_LNKCAP_SLS_5_0GB; @@ -821,6 +824,7 @@ static int imx6_pcie_start_link(struct dw_pcie *pci) tmp = dw_pcie_readl_dbi(pci, PCIE_LINK_WIDTH_SPEED_CONTROL); tmp |= PORT_LOGIC_SPEED_CHANGE; dw_pcie_writel_dbi(pci, PCIE_LINK_WIDTH_SPEED_CONTROL, tmp); + dw_pcie_dbi_ro_wr_dis(pci); if (imx6_pcie->drvdata->flags & IMX6_PCIE_FLAG_IMX6_SPEED_CHANGE) { -- 2.25.1