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=-8.2 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_2 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 B00ACC55179 for ; Fri, 30 Oct 2020 08:23:25 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 4F1B62223F for ; Fri, 30 Oct 2020 08:23:25 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725905AbgJ3IXY convert rfc822-to-8bit (ORCPT ); Fri, 30 Oct 2020 04:23:24 -0400 Received: from relay1-d.mail.gandi.net ([217.70.183.193]:43873 "EHLO relay1-d.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725355AbgJ3IXY (ORCPT ); Fri, 30 Oct 2020 04:23:24 -0400 X-Greylist: delayed 37750 seconds by postgrey-1.27 at vger.kernel.org; Fri, 30 Oct 2020 04:23:23 EDT X-Originating-IP: 83.193.246.53 Received: from windsurf.home (lfbn-bay-1-165-53.w83-193.abo.wanadoo.fr [83.193.246.53]) (Authenticated sender: thomas.petazzoni@bootlin.com) by relay1-d.mail.gandi.net (Postfix) with ESMTPSA id AE53724000C; Fri, 30 Oct 2020 08:23:19 +0000 (UTC) Date: Fri, 30 Oct 2020 09:23:18 +0100 From: Thomas Petazzoni To: Toke =?UTF-8?B?SMO4aWxhbmQtSsO4cmdlbnNlbg==?= Cc: Bjorn Helgaas , Pali =?UTF-8?B?Um9ow6Fy?= , vtolkm@gmail.com, linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Rob Herring , Ilias Apalodimas , Marek =?UTF-8?B?QmVow7pu?= , Jason Cooper Subject: Re: PCI trouble on mvebu (Turris Omnia) Message-ID: <20201030092318.7c81a032@windsurf.home> In-Reply-To: <877dr8oc7m.fsf@toke.dk> References: <871rhhmgkq.fsf@toke.dk> <20201029193022.GA476048@bjorn-Precision-5520> <20201029225409.2accead3@windsurf.home> <877dr8oc7m.fsf@toke.dk> Organization: Bootlin X-Mailer: Claws Mail 3.17.7 (GTK+ 2.24.32; x86_64-redhat-linux-gnu) 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 On Fri, 30 Oct 2020 00:15:57 +0100 Toke Høiland-Jørgensen wrote: > > I haven't read the whole thread, but it is important to keep in mind > > that on those two platforms, the PCI Bridge seen by Linux is *not* a > > real HW bridge. It is faked by the the pci-bridge-emul code. So if this > > code has defects/bugs in how it emulates a PCI Bridge behavior, you > > might see weird things. > > Ohh, that's interesting. Why does it need to emulate it? Because the HW doesn't expose a standard PCI Bridge. On mvebu, the main initial motivation was to be able to configure MBus windows dynamically depending on PCI endpoints that are connected. For AArdvark, the rationale is documented in commit 8a3ebd8de328301aacbe328650a59253be2ac82c: commit 8a3ebd8de328301aacbe328650a59253be2ac82c Author: Zachary Zhang Date: Thu Oct 18 17:37:19 2018 +0200 PCI: aardvark: Implement emulated root PCI bridge config space The PCI controller in the Marvell Armada 3720 does not implement a software-accessible root port PCI bridge configuration space. This causes a number of problems when using PCIe switches or when the Max Payload size needs to be aligned between the root complex and the endpoint. Implementing an emulated root PCI bridge, like is already done in the pci-mvebu driver for older Marvell platforms allows to solve those issues, and also to support features such as ASR, PME, VC, HP. Signed-off-by: Zachary Zhang [Thomas: convert to the common emulated PCI bridge logic.] Signed-off-by: Thomas Petazzoni Signed-off-by: Lorenzo Pieralisi Best regards, Thomas -- Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com 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=-8.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_2 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 88A61C4742C for ; Fri, 30 Oct 2020 08:24:47 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 04BE822210 for ; Fri, 30 Oct 2020 08:24:46 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="Casu6X42" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 04BE822210 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=bootlin.com 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=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-ID: Subject:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=d/sBkiJmCoHX+grJ9tSrx+uPVLYTeKid0rtOWiUlqQs=; b=Casu6X42NJDWgiO0yo+tw9TZF s8Bq1DGBmRZzeTerLGNCBxQb/dgAsMRr6QgdEo0I/lCIl0ZhYXIl3jrFxmUjKEKPTZU8/CU5P539J vViPK9324bI8Ta0KKw7zV5FSVJjdHzyPb6MUI3TDYPn3lgiWFSv/kOnly4f3EzPNCkiCCGauvxfTp EEmtcVMq4qyJYsQvxv1yxcafy2s/vFGBvXyy96ZEraOOtZ5shpEKwGj7O4rl8lpvEQpL7A7iHJRsc hLKJnii48UhCUeE1I/7/3eZ55QsmD+WdlxHDI4y3dYBDdjhUkV6lo4GBff5WddKJNrnjctK11Gfua GQlfBVxJA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kYPh1-0003if-Su; Fri, 30 Oct 2020 08:23:27 +0000 Received: from relay1-d.mail.gandi.net ([217.70.183.193]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kYPgy-0003hk-7D for linux-arm-kernel@lists.infradead.org; Fri, 30 Oct 2020 08:23:25 +0000 X-Originating-IP: 83.193.246.53 Received: from windsurf.home (lfbn-bay-1-165-53.w83-193.abo.wanadoo.fr [83.193.246.53]) (Authenticated sender: thomas.petazzoni@bootlin.com) by relay1-d.mail.gandi.net (Postfix) with ESMTPSA id AE53724000C; Fri, 30 Oct 2020 08:23:19 +0000 (UTC) Date: Fri, 30 Oct 2020 09:23:18 +0100 From: Thomas Petazzoni To: Toke =?UTF-8?B?SMO4aWxhbmQtSsO4cmdlbnNlbg==?= Subject: Re: PCI trouble on mvebu (Turris Omnia) Message-ID: <20201030092318.7c81a032@windsurf.home> In-Reply-To: <877dr8oc7m.fsf@toke.dk> References: <871rhhmgkq.fsf@toke.dk> <20201029193022.GA476048@bjorn-Precision-5520> <20201029225409.2accead3@windsurf.home> <877dr8oc7m.fsf@toke.dk> Organization: Bootlin X-Mailer: Claws Mail 3.17.7 (GTK+ 2.24.32; x86_64-redhat-linux-gnu) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201030_042324_359318_BBE0E8BE X-CRM114-Status: GOOD ( 14.92 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Rob Herring , Jason Cooper , vtolkm@gmail.com, Ilias Apalodimas , Marek =?UTF-8?B?QmVow7pu?= , Bjorn Helgaas , linux-pci@vger.kernel.org, Pali =?UTF-8?B?Um9ow6Fy?= , linux-arm-kernel@lists.infradead.org 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 T24gRnJpLCAzMCBPY3QgMjAyMCAwMDoxNTo1NyArMDEwMApUb2tlIEjDuGlsYW5kLUrDuHJnZW5z ZW4gPHRva2VAcmVkaGF0LmNvbT4gd3JvdGU6Cgo+ID4gSSBoYXZlbid0IHJlYWQgdGhlIHdob2xl IHRocmVhZCwgYnV0IGl0IGlzIGltcG9ydGFudCB0byBrZWVwIGluIG1pbmQKPiA+IHRoYXQgb24g dGhvc2UgdHdvIHBsYXRmb3JtcywgdGhlIFBDSSBCcmlkZ2Ugc2VlbiBieSBMaW51eCBpcyAqbm90 KiBhCj4gPiByZWFsIEhXIGJyaWRnZS4gSXQgaXMgZmFrZWQgYnkgdGhlIHRoZSBwY2ktYnJpZGdl LWVtdWwgY29kZS4gU28gaWYgdGhpcwo+ID4gY29kZSBoYXMgZGVmZWN0cy9idWdzIGluIGhvdyBp dCBlbXVsYXRlcyBhIFBDSSBCcmlkZ2UgYmVoYXZpb3IsIHlvdQo+ID4gbWlnaHQgc2VlIHdlaXJk IHRoaW5ncy4gIAo+IAo+IE9oaCwgdGhhdCdzIGludGVyZXN0aW5nLiBXaHkgZG9lcyBpdCBuZWVk IHRvIGVtdWxhdGUgaXQ/CgpCZWNhdXNlIHRoZSBIVyBkb2Vzbid0IGV4cG9zZSBhIHN0YW5kYXJk IFBDSSBCcmlkZ2UuIE9uIG12ZWJ1LCB0aGUgbWFpbgppbml0aWFsIG1vdGl2YXRpb24gd2FzIHRv IGJlIGFibGUgdG8gY29uZmlndXJlIE1CdXMgd2luZG93cyBkeW5hbWljYWxseQpkZXBlbmRpbmcg b24gUENJIGVuZHBvaW50cyB0aGF0IGFyZSBjb25uZWN0ZWQuCgpGb3IgQUFyZHZhcmssIHRoZSBy YXRpb25hbGUgaXMgZG9jdW1lbnRlZCBpbiBjb21taXQKOGEzZWJkOGRlMzI4MzAxYWFjYmUzMjg2 NTBhNTkyNTNiZTJhYzgyYzoKCmNvbW1pdCA4YTNlYmQ4ZGUzMjgzMDFhYWNiZTMyODY1MGE1OTI1 M2JlMmFjODJjCkF1dGhvcjogWmFjaGFyeSBaaGFuZyA8emhhbmd6Z0BtYXJ2ZWxsLmNvbT4KRGF0 ZTogICBUaHUgT2N0IDE4IDE3OjM3OjE5IDIwMTggKzAyMDAKCiAgICBQQ0k6IGFhcmR2YXJrOiBJ bXBsZW1lbnQgZW11bGF0ZWQgcm9vdCBQQ0kgYnJpZGdlIGNvbmZpZyBzcGFjZQogICAgCiAgICBU aGUgUENJIGNvbnRyb2xsZXIgaW4gdGhlIE1hcnZlbGwgQXJtYWRhIDM3MjAgZG9lcyBub3QgaW1w bGVtZW50IGEKICAgIHNvZnR3YXJlLWFjY2Vzc2libGUgcm9vdCBwb3J0IFBDSSBicmlkZ2UgY29u ZmlndXJhdGlvbiBzcGFjZS4gVGhpcwogICAgY2F1c2VzIGEgbnVtYmVyIG9mIHByb2JsZW1zIHdo ZW4gdXNpbmcgUENJZSBzd2l0Y2hlcyBvciB3aGVuIHRoZSBNYXgKICAgIFBheWxvYWQgc2l6ZSBu ZWVkcyB0byBiZSBhbGlnbmVkIGJldHdlZW4gdGhlIHJvb3QgY29tcGxleCBhbmQgdGhlCiAgICBl bmRwb2ludC4KICAgIAogICAgSW1wbGVtZW50aW5nIGFuIGVtdWxhdGVkIHJvb3QgUENJIGJyaWRn ZSwgbGlrZSBpcyBhbHJlYWR5IGRvbmUgaW4gdGhlCiAgICBwY2ktbXZlYnUgZHJpdmVyIGZvciBv bGRlciBNYXJ2ZWxsIHBsYXRmb3JtcyBhbGxvd3MgdG8gc29sdmUgdGhvc2UKICAgIGlzc3Vlcywg YW5kIGFsc28gdG8gc3VwcG9ydCBmZWF0dXJlcyBzdWNoIGFzIEFTUiwgUE1FLCBWQywgSFAuCiAg ICAKICAgIFNpZ25lZC1vZmYtYnk6IFphY2hhcnkgWmhhbmcgPHpoYW5nemdAbWFydmVsbC5jb20+ CiAgICBbVGhvbWFzOiBjb252ZXJ0IHRvIHRoZSBjb21tb24gZW11bGF0ZWQgUENJIGJyaWRnZSBs b2dpYy5dCiAgICBTaWduZWQtb2ZmLWJ5OiBUaG9tYXMgUGV0YXp6b25pIDx0aG9tYXMucGV0YXp6 b25pQGJvb3RsaW4uY29tPgogICAgU2lnbmVkLW9mZi1ieTogTG9yZW56byBQaWVyYWxpc2kgPGxv cmVuem8ucGllcmFsaXNpQGFybS5jb20+CgpCZXN0IHJlZ2FyZHMsCgpUaG9tYXMKLS0gClRob21h cyBQZXRhenpvbmksIENUTywgQm9vdGxpbgpFbWJlZGRlZCBMaW51eCBhbmQgS2VybmVsIGVuZ2lu ZWVyaW5nCmh0dHBzOi8vYm9vdGxpbi5jb20KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFy bS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK