From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-19.7 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C455FC433ED for ; Thu, 6 May 2021 15:33:02 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 8EAD2613C5 for ; Thu, 6 May 2021 15:33:02 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235697AbhEFPdx (ORCPT ); Thu, 6 May 2021 11:33:53 -0400 Received: from mail.kernel.org ([198.145.29.99]:45940 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235481AbhEFPds (ORCPT ); Thu, 6 May 2021 11:33:48 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 88BD66141E; Thu, 6 May 2021 15:32:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1620315169; bh=1Bwgi38dM/1NWEIAUJl5SKScRp/ehwbz7KhEc+qYX7U=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Ei9TKzb/i6/uMehaFPV4MKb3I9fcfI+XdKOhmrmDjnOnNWFoh/BuD9ptcwMLDbtNU bYNDyfeqAN1UBuzqRoKRpWIl56t/SMCSpCHVUEGSS+VbWQqnY/HRwTS50SoUl4yt0R +DsmqLJKpAnoEHdviNqIbqC63IIownNfTvU+xkjBbozXMqwXVpAt8LGE0SHaW5Fsm2 4rtonbnHT7txSHMFc5k3pfYc8ud70LLniC1RZKky/ssw1BqJCvJYSXsUoIbqcuBVMn GmqWQcM/u7AsjErRp+9NpZtwVnm+TQzN0aug3LXYIgZOH3Vehdza5QeTQuU6dWJgcH 6+g9E9q4j33eA== Received: by pali.im (Postfix) id C8C921211; Thu, 6 May 2021 17:32:46 +0200 (CEST) From: =?UTF-8?q?Pali=20Roh=C3=A1r?= To: Lorenzo Pieralisi , Thomas Petazzoni , Rob Herring , Bjorn Helgaas Cc: Russell King , =?UTF-8?q?Marek=20Beh=C3=BAn?= , Remi Pommarel , Xogium , Tomasz Maciej Nowak , Marc Zyngier , linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 10/42] PCI: aardvark: Implement workaround for the readback value of VEND_ID Date: Thu, 6 May 2021 17:31:21 +0200 Message-Id: <20210506153153.30454-11-pali@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210506153153.30454-1-pali@kernel.org> References: <20210506153153.30454-1-pali@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org Marvell Armada 3700 Functional Errata, Guidelines, and Restrictions document describes in erratum 4.1 PCIe value of vendor ID (Ref #: 243): The readback value of VEND_ID (RD0070000h [15:0]) is 1B4Bh, while it should read 11ABh. The firmware can write the correct value, 11ABh, through VEND_ID (RD0076044h [15:0]). Implement this workaround in aardvark driver for both PCI vendor id and PCI subsystem vendor id. This change affects and fixes PCI vendor id of emulated PCIe root bridge. After this change emulated PCIe root bridge has correct vendor id. Signed-off-by: Pali Rohár Reviewed-by: Marek Behún Fixes: 8a3ebd8de328 ("PCI: aardvark: Implement emulated root PCI bridge config space") Cc: stable@vger.kernel.org --- drivers/pci/controller/pci-aardvark.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c index 873efd79fffb..cd4b427d7692 100644 --- a/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c @@ -126,6 +126,7 @@ #define LTSSM_MASK 0x3f #define LTSSM_L0 0x10 #define RC_BAR_CONFIG 0x300 +#define VENDOR_ID_REG (LMI_BASE_ADDR + 0x44) /* PCIe core controller registers */ #define CTRL_CORE_BASE_ADDR 0x18000 @@ -340,6 +341,16 @@ static void advk_pcie_setup_hw(struct advk_pcie *pcie) reg |= (IS_RC_MSK << IS_RC_SHIFT); advk_writel(pcie, reg, PCIE_CORE_CTRL0_REG); + /* + * Replace incorrect PCI vendor id value 0x1b4b by correct value 0x11ab. + * VENDOR_ID_REG contains vendor id in low 16 bits and subsystem vendor + * id in high 16 bits. Updating this register changes readback value of + * read-only vendor id bits in PCIE_CORE_DEV_ID_REG register. Workaround + * for erratum 4.1: "The value of device and vendor ID is incorrect". + */ + reg = (PCI_VENDOR_ID_MARVELL << 16) | PCI_VENDOR_ID_MARVELL; + advk_writel(pcie, reg, VENDOR_ID_REG); + /* Set Advanced Error Capabilities and Control PF0 register */ reg = PCIE_CORE_ERR_CAPCTL_ECRC_CHK_TX | PCIE_CORE_ERR_CAPCTL_ECRC_CHK_TX_EN | -- 2.20.1 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.7 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 02872C433ED for ; Thu, 6 May 2021 15:39:53 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 5405A610A1 for ; Thu, 6 May 2021 15:39:52 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5405A610A1 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-Id:Date: Subject:Cc:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=p9cz5a/+pcFT5eWX/Sqshio366G3DdHq197APoOkw/M=; b=i/15Qaf6Eq3baA6pLrNSjmmhd 0t0wKY1B1poIf4GQ6Ef/ohc11BVR3Ss8bgBP1SzcWCMi5xFzgFbqEJfnr9di3Iwqzt8iaIVHiXK0X LV8sf3puMg0ZDZLsXKqF8jshV27uKYNEV3KyroB6Zv/K2DNXnxp7rko8onhREY7h0oo2IPCDiEOOC 6URQq29NIv2F+Nd33Oz/BN2SbCAsHlIRrwfTowlzOxSj8kXi7dJjJfS4vw6ZLy3ABkSn2EcH17smo R4bqne0O7YSMflOlbk6LhO1FgT0X6lqSWuHdeeOalA9EPN8E3EHyOySur0n/8ux3BXZQCLkTqJpz0 ixJK6fVLA==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1leg52-004bzC-BM; Thu, 06 May 2021 15:38:24 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lefzm-004a5M-5D for linux-arm-kernel@desiato.infradead.org; Thu, 06 May 2021 15:32:58 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: Content-Type:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc: To:From:Sender:Reply-To:Content-ID:Content-Description; bh=MhZzT97IOpdui7FFoLPzHHDpbH2IE8lbrMqna+8xIZ4=; b=AR35O8Ndtv25ZyGQDph5Y/YxJP 0VlMCAqOvOwKg9/9S51XXPfA3Lcv0bTW9gG05G/IsY+0+KwMKYT+Dc1t0swFVI+q5zjVxeak856ul /wSMkMpOKeFMuavQ/+GJYOVaUeQckGUzcUwNhBhDCTnTEToSkuaC7+yFs7pQJpcO/Pn1b/8h/0D0X BPOo/106gf7nq+fdMnwLl0B0FYgXGjFJ/z385OuR+wmIm9Kw0VS747GYvCPbfl+TGGyiaREGI89dr 2CyLC2e35BdLYeZgQaUgisHVWj8KPoqZ66yWzpSfy1dTLpiybWuJQNRNPYeXQDEQ6B3BI55qFiu8i bR0Cw5og==; Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lefzg-0069ga-Qe for linux-arm-kernel@lists.infradead.org; Thu, 06 May 2021 15:32:56 +0000 Received: by mail.kernel.org (Postfix) with ESMTPSA id 88BD66141E; Thu, 6 May 2021 15:32:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1620315169; bh=1Bwgi38dM/1NWEIAUJl5SKScRp/ehwbz7KhEc+qYX7U=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Ei9TKzb/i6/uMehaFPV4MKb3I9fcfI+XdKOhmrmDjnOnNWFoh/BuD9ptcwMLDbtNU bYNDyfeqAN1UBuzqRoKRpWIl56t/SMCSpCHVUEGSS+VbWQqnY/HRwTS50SoUl4yt0R +DsmqLJKpAnoEHdviNqIbqC63IIownNfTvU+xkjBbozXMqwXVpAt8LGE0SHaW5Fsm2 4rtonbnHT7txSHMFc5k3pfYc8ud70LLniC1RZKky/ssw1BqJCvJYSXsUoIbqcuBVMn GmqWQcM/u7AsjErRp+9NpZtwVnm+TQzN0aug3LXYIgZOH3Vehdza5QeTQuU6dWJgcH 6+g9E9q4j33eA== Received: by pali.im (Postfix) id C8C921211; Thu, 6 May 2021 17:32:46 +0200 (CEST) From: =?UTF-8?q?Pali=20Roh=C3=A1r?= To: Lorenzo Pieralisi , Thomas Petazzoni , Rob Herring , Bjorn Helgaas Cc: Russell King , =?UTF-8?q?Marek=20Beh=C3=BAn?= , Remi Pommarel , Xogium , Tomasz Maciej Nowak , Marc Zyngier , linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 10/42] PCI: aardvark: Implement workaround for the readback value of VEND_ID Date: Thu, 6 May 2021 17:31:21 +0200 Message-Id: <20210506153153.30454-11-pali@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210506153153.30454-1-pali@kernel.org> References: <20210506153153.30454-1-pali@kernel.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210506_083252_948137_3BF4EEB7 X-CRM114-Status: GOOD ( 11.86 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org TWFydmVsbCBBcm1hZGEgMzcwMCBGdW5jdGlvbmFsIEVycmF0YSwgR3VpZGVsaW5lcywgYW5kIFJl c3RyaWN0aW9ucwpkb2N1bWVudCBkZXNjcmliZXMgaW4gZXJyYXR1bSA0LjEgUENJZSB2YWx1ZSBv ZiB2ZW5kb3IgSUQgKFJlZiAjOiAyNDMpOgoKICAgIFRoZSByZWFkYmFjayB2YWx1ZSBvZiBWRU5E X0lEIChSRDAwNzAwMDBoIFsxNTowXSkgaXMgMUI0QmgsIHdoaWxlIGl0CiAgICBzaG91bGQgcmVh ZCAxMUFCaC4KCiAgICBUaGUgZmlybXdhcmUgY2FuIHdyaXRlIHRoZSBjb3JyZWN0IHZhbHVlLCAx MUFCaCwgdGhyb3VnaCBWRU5EX0lECiAgICAoUkQwMDc2MDQ0aCBbMTU6MF0pLgoKSW1wbGVtZW50 IHRoaXMgd29ya2Fyb3VuZCBpbiBhYXJkdmFyayBkcml2ZXIgZm9yIGJvdGggUENJIHZlbmRvciBp ZCBhbmQgUENJCnN1YnN5c3RlbSB2ZW5kb3IgaWQuCgpUaGlzIGNoYW5nZSBhZmZlY3RzIGFuZCBm aXhlcyBQQ0kgdmVuZG9yIGlkIG9mIGVtdWxhdGVkIFBDSWUgcm9vdCBicmlkZ2UuCkFmdGVyIHRo aXMgY2hhbmdlIGVtdWxhdGVkIFBDSWUgcm9vdCBicmlkZ2UgaGFzIGNvcnJlY3QgdmVuZG9yIGlk LgoKU2lnbmVkLW9mZi1ieTogUGFsaSBSb2jDoXIgPHBhbGlAa2VybmVsLm9yZz4KUmV2aWV3ZWQt Ynk6IE1hcmVrIEJlaMO6biA8a2FiZWxAa2VybmVsLm9yZz4KRml4ZXM6IDhhM2ViZDhkZTMyOCAo IlBDSTogYWFyZHZhcms6IEltcGxlbWVudCBlbXVsYXRlZCByb290IFBDSSBicmlkZ2UgY29uZmln IHNwYWNlIikKQ2M6IHN0YWJsZUB2Z2VyLmtlcm5lbC5vcmcKLS0tCiBkcml2ZXJzL3BjaS9jb250 cm9sbGVyL3BjaS1hYXJkdmFyay5jIHwgMTEgKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAx MSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY2kvY29udHJvbGxlci9wY2kt YWFyZHZhcmsuYyBiL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvcGNpLWFhcmR2YXJrLmMKaW5kZXgg ODczZWZkNzlmZmZiLi5jZDRiNDI3ZDc2OTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNpL2NvbnRy b2xsZXIvcGNpLWFhcmR2YXJrLmMKKysrIGIvZHJpdmVycy9wY2kvY29udHJvbGxlci9wY2ktYWFy ZHZhcmsuYwpAQCAtMTI2LDYgKzEyNiw3IEBACiAjZGVmaW5lICAgICBMVFNTTV9NQVNLCQkJCTB4 M2YKICNkZWZpbmUgICAgIExUU1NNX0wwCQkJCTB4MTAKICNkZWZpbmUgICAgIFJDX0JBUl9DT05G SUcJCQkweDMwMAorI2RlZmluZSBWRU5ET1JfSURfUkVHCQkJCShMTUlfQkFTRV9BRERSICsgMHg0 NCkKIAogLyogUENJZSBjb3JlIGNvbnRyb2xsZXIgcmVnaXN0ZXJzICovCiAjZGVmaW5lIENUUkxf Q09SRV9CQVNFX0FERFIJCQkweDE4MDAwCkBAIC0zNDAsNiArMzQxLDE2IEBAIHN0YXRpYyB2b2lk IGFkdmtfcGNpZV9zZXR1cF9odyhzdHJ1Y3QgYWR2a19wY2llICpwY2llKQogCXJlZyB8PSAoSVNf UkNfTVNLIDw8IElTX1JDX1NISUZUKTsKIAlhZHZrX3dyaXRlbChwY2llLCByZWcsIFBDSUVfQ09S RV9DVFJMMF9SRUcpOwogCisJLyoKKwkgKiBSZXBsYWNlIGluY29ycmVjdCBQQ0kgdmVuZG9yIGlk IHZhbHVlIDB4MWI0YiBieSBjb3JyZWN0IHZhbHVlIDB4MTFhYi4KKwkgKiBWRU5ET1JfSURfUkVH IGNvbnRhaW5zIHZlbmRvciBpZCBpbiBsb3cgMTYgYml0cyBhbmQgc3Vic3lzdGVtIHZlbmRvcgor CSAqIGlkIGluIGhpZ2ggMTYgYml0cy4gVXBkYXRpbmcgdGhpcyByZWdpc3RlciBjaGFuZ2VzIHJl YWRiYWNrIHZhbHVlIG9mCisJICogcmVhZC1vbmx5IHZlbmRvciBpZCBiaXRzIGluIFBDSUVfQ09S RV9ERVZfSURfUkVHIHJlZ2lzdGVyLiBXb3JrYXJvdW5kCisJICogZm9yIGVycmF0dW0gNC4xOiAi VGhlIHZhbHVlIG9mIGRldmljZSBhbmQgdmVuZG9yIElEIGlzIGluY29ycmVjdCIuCisJICovCisJ cmVnID0gKFBDSV9WRU5ET1JfSURfTUFSVkVMTCA8PCAxNikgfCBQQ0lfVkVORE9SX0lEX01BUlZF TEw7CisJYWR2a193cml0ZWwocGNpZSwgcmVnLCBWRU5ET1JfSURfUkVHKTsKKwogCS8qIFNldCBB ZHZhbmNlZCBFcnJvciBDYXBhYmlsaXRpZXMgYW5kIENvbnRyb2wgUEYwIHJlZ2lzdGVyICovCiAJ cmVnID0gUENJRV9DT1JFX0VSUl9DQVBDVExfRUNSQ19DSEtfVFggfAogCQlQQ0lFX0NPUkVfRVJS X0NBUENUTF9FQ1JDX0NIS19UWF9FTiB8Ci0tIAoyLjIwLjEKCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlz dApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJh ZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==