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=-5.6 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,USER_AGENT_SANE_1 autolearn=no 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 08EFEC433E1 for ; Wed, 15 Jul 2020 12:17:31 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id D8E0B206F5 for ; Wed, 15 Jul 2020 12:17:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1594815450; bh=oox3IXWADMTRayXaRJ2ttv7qQ4vHlGzipTP8KKgGols=; h=Date:From:To:Cc:Subject:References:In-Reply-To:List-ID:From; b=l4DoIZazDbO7Ah+2Li0eZlBtGHx8dbkOlBQPE+iYn23LwjSw1qK0+315jP6P+U7Wy UTIdhlorib6bZkotAHxIkDHfzTTf6c4BISXuzj0UkhRsgN+ABdGMx0XJOPK19G+LGA EWplmneF3oye78DT+EenHg/N5v+7mR1TYBPfWgeQ= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729868AbgGOMR3 (ORCPT ); Wed, 15 Jul 2020 08:17:29 -0400 Received: from mail.kernel.org ([198.145.29.99]:42162 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725924AbgGOMR3 (ORCPT ); Wed, 15 Jul 2020 08:17:29 -0400 Received: from pali.im (pali.im [31.31.79.79]) (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 8303D2065D; Wed, 15 Jul 2020 12:17:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1594815448; bh=oox3IXWADMTRayXaRJ2ttv7qQ4vHlGzipTP8KKgGols=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=LlI75eE7yhlwt979Nx/dOdJXZJs8+5qMb3+utgc8rqZR/gwMjbq6Bnvw9X9CU7DUT 0nrp3nGJEHjA5B4L1TEIT0JdL1zUk+ihUPhllCD+q8ciqqb0wi/Fk+4vPaKxHf1qvX 0b64zk3z7FOMl0SvH9SXRuHivUu1unSUJJ4MmLZE= Received: by pali.im (Postfix) id 55E077AC; Wed, 15 Jul 2020 14:17:26 +0200 (CEST) Date: Wed, 15 Jul 2020 14:17:26 +0200 From: Pali =?utf-8?B?Um9ow6Fy?= To: Lorenzo Pieralisi Cc: Thomas Petazzoni , Andrew Murray , Bjorn Helgaas , Marek =?utf-8?B?QmVow7pu?= , Remi Pommarel , Tomasz Maciej Nowak , Xogium , linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v3] PCI: aardvark: Don't touch PCIe registers if no card connected Message-ID: <20200715121726.eh4xglkdbcqkh7td@pali> References: <20200528143141.29956-1-pali@kernel.org> <20200702083036.12230-1-pali@kernel.org> <20200709113509.GB19638@e121166-lin.cambridge.arm.com> <20200709122208.rmfeuu6zgbwh3fr5@pali> <20200709144701.GA21760@e121166-lin.cambridge.arm.com> <20200709150959.wq6zfkcy4m6hvvpl@pali> <20200710091800.GA3419@e121166-lin.cambridge.arm.com> <20200713082747.e3q3ml3wpbszn4j7@pali> <20200713112325.GA25865@e121166-lin.cambridge.arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20200713112325.GA25865@e121166-lin.cambridge.arm.com> User-Agent: NeoMutt/20180716 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Monday 13 July 2020 12:23:25 Lorenzo Pieralisi wrote: > On Mon, Jul 13, 2020 at 10:27:47AM +0200, Pali Rohár wrote: > > On Friday 10 July 2020 10:18:00 Lorenzo Pieralisi wrote: > > > On Thu, Jul 09, 2020 at 05:09:59PM +0200, Pali Rohár wrote: > > > > > I understand that but the bridge bus resource can be trimmed to just > > > > > contain the root bus because that's the only one where there is a > > > > > chance you can enumerate a device. > > > > > > > > It is possible to register only root bridge without endpoint? > > > > > > It is possible to register the root bridge with a trimmed IORESOURCE_BUS > > > so that you don't enumerate anything other than the root port. > > > > Hello Lorenzo! I really do not know how to achieve it. From code it > > looks like that pci/probe.c scans child buses unconditionally. > > > > pci-aardvark.c calls pci_host_probe() which calls functions > > pci_scan_root_bus_bridge() which calls pci_scan_child_bus() which calls > > pci_scan_child_bus_extend() which calls pci_scan_bridge_extend() (bridge > > needs to be reconfigured) which then try to probe child bus via > > pci_scan_child_bus_extend() because bridge is not card bus. > > > > In function pci_scan_bridge_extend() I do not see a way how to skip > > probing for child buses which would avoid enumerating aardvark root > > bridge when PCIe device is not connected. > > > > dmesg output contains: > > > > advk-pcie d0070000.pcie: link never came up > > advk-pcie d0070000.pcie: PCI host bridge to bus 0000:00 > > pci_bus 0000:00: root bus resource [bus 00-ff] > > This resource can be limited to the root bus number only before calling > pci_host_probe() (ie see pci_parse_request_of_pci_ranges() and code in > pci_scan_bridge_extend() that programs primary/secondary/subordinate > busses) but I think that only papers over the issue, it does not fix it. I looked at the code in pci/probe.c again and I do not think it is possible to avoid scanning devices. pci_scan_child_bus_extend() is unconditionally calling pci_scan_slot() for devfn=0 as the first thing. And this function unconditionally calls pci_scan_device() which is directly trying to read vendor id from config register. So for me it looks like that kernel expects that can read vendor id and device id from config register for device which is not connected. And trying to read config register would cause those timeouts in aardvark. 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=-5.5 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 autolearn=no 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 8C332C433E1 for ; Wed, 15 Jul 2020 12:18:48 +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 53DA72065D for ; Wed, 15 Jul 2020 12:18:48 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="LypiGncq"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="LlI75eE7" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 53DA72065D 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=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: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=MFQhcO7EL9G/JyTek/XMM5yMgr5YvFG6qTv7we+UY2s=; b=LypiGncq67VIJnovz0KptAPd7 KfHPvOwTmDS4l+lAVSG6v8yASVw2eZ4bNaRYqesGwUBpQ+UKmglHMXMeyDMpt6jxzGv+hI9Ayj3qW kdirA5aWYAacpT4FGmjzZJ9R7jE/QVSQ0y2bD06qYmoI6NCxriqJnXz9/N3w/NYukbzH184eyKc8h lXHlpdtItoDg6Bj+IFA2Z2mcJnWftzd1YMdeeeAhcxkuwWHfqfgwwn93hh/or4yPzJGtnc8/v+1tu m7sdEVkLYbrJcoMCiA6fKvggPzqF9O+4kZ5PVHqG7R5nC77cD4lq0mdQ/bF7i1f5VxO/oc9ix6P4U JwpI4CA2Q==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jvgLs-0007lT-0P; Wed, 15 Jul 2020 12:17:32 +0000 Received: from mail.kernel.org ([198.145.29.99]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jvgLq-0007kn-3A for linux-arm-kernel@lists.infradead.org; Wed, 15 Jul 2020 12:17:31 +0000 Received: from pali.im (pali.im [31.31.79.79]) (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 8303D2065D; Wed, 15 Jul 2020 12:17:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1594815448; bh=oox3IXWADMTRayXaRJ2ttv7qQ4vHlGzipTP8KKgGols=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=LlI75eE7yhlwt979Nx/dOdJXZJs8+5qMb3+utgc8rqZR/gwMjbq6Bnvw9X9CU7DUT 0nrp3nGJEHjA5B4L1TEIT0JdL1zUk+ihUPhllCD+q8ciqqb0wi/Fk+4vPaKxHf1qvX 0b64zk3z7FOMl0SvH9SXRuHivUu1unSUJJ4MmLZE= Received: by pali.im (Postfix) id 55E077AC; Wed, 15 Jul 2020 14:17:26 +0200 (CEST) Date: Wed, 15 Jul 2020 14:17:26 +0200 From: Pali =?utf-8?B?Um9ow6Fy?= To: Lorenzo Pieralisi Subject: Re: [PATCH v3] PCI: aardvark: Don't touch PCIe registers if no card connected Message-ID: <20200715121726.eh4xglkdbcqkh7td@pali> References: <20200528143141.29956-1-pali@kernel.org> <20200702083036.12230-1-pali@kernel.org> <20200709113509.GB19638@e121166-lin.cambridge.arm.com> <20200709122208.rmfeuu6zgbwh3fr5@pali> <20200709144701.GA21760@e121166-lin.cambridge.arm.com> <20200709150959.wq6zfkcy4m6hvvpl@pali> <20200710091800.GA3419@e121166-lin.cambridge.arm.com> <20200713082747.e3q3ml3wpbszn4j7@pali> <20200713112325.GA25865@e121166-lin.cambridge.arm.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20200713112325.GA25865@e121166-lin.cambridge.arm.com> User-Agent: NeoMutt/20180716 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200715_081730_254383_0DB17001 X-CRM114-Status: GOOD ( 23.12 ) 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: Tomasz Maciej Nowak , linux-pci@vger.kernel.org, Xogium , linux-kernel@vger.kernel.org, Marek =?utf-8?B?QmVow7pu?= , Remi Pommarel , Thomas Petazzoni , Bjorn Helgaas , linux-arm-kernel@lists.infradead.org, Andrew Murray 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 T24gTW9uZGF5IDEzIEp1bHkgMjAyMCAxMjoyMzoyNSBMb3JlbnpvIFBpZXJhbGlzaSB3cm90ZToK PiBPbiBNb24sIEp1bCAxMywgMjAyMCBhdCAxMDoyNzo0N0FNICswMjAwLCBQYWxpIFJvaMOhciB3 cm90ZToKPiA+IE9uIEZyaWRheSAxMCBKdWx5IDIwMjAgMTA6MTg6MDAgTG9yZW56byBQaWVyYWxp c2kgd3JvdGU6Cj4gPiA+IE9uIFRodSwgSnVsIDA5LCAyMDIwIGF0IDA1OjA5OjU5UE0gKzAyMDAs IFBhbGkgUm9ow6FyIHdyb3RlOgo+ID4gPiA+ID4gSSB1bmRlcnN0YW5kIHRoYXQgYnV0IHRoZSBi cmlkZ2UgYnVzIHJlc291cmNlIGNhbiBiZSB0cmltbWVkIHRvIGp1c3QKPiA+ID4gPiA+IGNvbnRh aW4gdGhlIHJvb3QgYnVzIGJlY2F1c2UgdGhhdCdzIHRoZSBvbmx5IG9uZSB3aGVyZSB0aGVyZSBp cyBhCj4gPiA+ID4gPiBjaGFuY2UgeW91IGNhbiBlbnVtZXJhdGUgYSBkZXZpY2UuCj4gPiA+ID4g Cj4gPiA+ID4gSXQgaXMgcG9zc2libGUgdG8gcmVnaXN0ZXIgb25seSByb290IGJyaWRnZSB3aXRo b3V0IGVuZHBvaW50Pwo+ID4gPiAKPiA+ID4gSXQgaXMgcG9zc2libGUgdG8gcmVnaXN0ZXIgdGhl IHJvb3QgYnJpZGdlIHdpdGggYSB0cmltbWVkIElPUkVTT1VSQ0VfQlVTCj4gPiA+IHNvIHRoYXQg eW91IGRvbid0IGVudW1lcmF0ZSBhbnl0aGluZyBvdGhlciB0aGFuIHRoZSByb290IHBvcnQuCj4g PiAKPiA+IEhlbGxvIExvcmVuem8hIEkgcmVhbGx5IGRvIG5vdCBrbm93IGhvdyB0byBhY2hpZXZl IGl0LiBGcm9tIGNvZGUgaXQKPiA+IGxvb2tzIGxpa2UgdGhhdCBwY2kvcHJvYmUuYyBzY2FucyBj aGlsZCBidXNlcyB1bmNvbmRpdGlvbmFsbHkuCj4gPiAKPiA+IHBjaS1hYXJkdmFyay5jIGNhbGxz IHBjaV9ob3N0X3Byb2JlKCkgd2hpY2ggY2FsbHMgZnVuY3Rpb25zCj4gPiBwY2lfc2Nhbl9yb290 X2J1c19icmlkZ2UoKSB3aGljaCBjYWxscyBwY2lfc2Nhbl9jaGlsZF9idXMoKSB3aGljaCBjYWxs cwo+ID4gcGNpX3NjYW5fY2hpbGRfYnVzX2V4dGVuZCgpIHdoaWNoIGNhbGxzIHBjaV9zY2FuX2Jy aWRnZV9leHRlbmQoKSAoYnJpZGdlCj4gPiBuZWVkcyB0byBiZSByZWNvbmZpZ3VyZWQpIHdoaWNo IHRoZW4gdHJ5IHRvIHByb2JlIGNoaWxkIGJ1cyB2aWEKPiA+IHBjaV9zY2FuX2NoaWxkX2J1c19l eHRlbmQoKSBiZWNhdXNlIGJyaWRnZSBpcyBub3QgY2FyZCBidXMuCj4gPiAKPiA+IEluIGZ1bmN0 aW9uIHBjaV9zY2FuX2JyaWRnZV9leHRlbmQoKSBJIGRvIG5vdCBzZWUgYSB3YXkgaG93IHRvIHNr aXAKPiA+IHByb2JpbmcgZm9yIGNoaWxkIGJ1c2VzIHdoaWNoIHdvdWxkIGF2b2lkIGVudW1lcmF0 aW5nIGFhcmR2YXJrIHJvb3QKPiA+IGJyaWRnZSB3aGVuIFBDSWUgZGV2aWNlIGlzIG5vdCBjb25u ZWN0ZWQuCj4gPiAKPiA+IGRtZXNnIG91dHB1dCBjb250YWluczoKPiA+IAo+ID4gICBhZHZrLXBj aWUgZDAwNzAwMDAucGNpZTogbGluayBuZXZlciBjYW1lIHVwCj4gPiAgIGFkdmstcGNpZSBkMDA3 MDAwMC5wY2llOiBQQ0kgaG9zdCBicmlkZ2UgdG8gYnVzIDAwMDA6MDAKPiA+ICAgcGNpX2J1cyAw MDAwOjAwOiByb290IGJ1cyByZXNvdXJjZSBbYnVzIDAwLWZmXQo+IAo+IFRoaXMgcmVzb3VyY2Ug Y2FuIGJlIGxpbWl0ZWQgdG8gdGhlIHJvb3QgYnVzIG51bWJlciBvbmx5IGJlZm9yZSBjYWxsaW5n Cj4gcGNpX2hvc3RfcHJvYmUoKSAoaWUgc2VlIHBjaV9wYXJzZV9yZXF1ZXN0X29mX3BjaV9yYW5n ZXMoKSBhbmQgY29kZSBpbgo+IHBjaV9zY2FuX2JyaWRnZV9leHRlbmQoKSB0aGF0IHByb2dyYW1z IHByaW1hcnkvc2Vjb25kYXJ5L3N1Ym9yZGluYXRlCj4gYnVzc2VzKSBidXQgSSB0aGluayB0aGF0 IG9ubHkgcGFwZXJzIG92ZXIgdGhlIGlzc3VlLCBpdCBkb2VzIG5vdCBmaXggaXQuCgpJIGxvb2tl ZCBhdCB0aGUgY29kZSBpbiBwY2kvcHJvYmUuYyBhZ2FpbiBhbmQgSSBkbyBub3QgdGhpbmsgaXQg aXMKcG9zc2libGUgdG8gYXZvaWQgc2Nhbm5pbmcgZGV2aWNlcy4gcGNpX3NjYW5fY2hpbGRfYnVz X2V4dGVuZCgpIGlzCnVuY29uZGl0aW9uYWxseSBjYWxsaW5nIHBjaV9zY2FuX3Nsb3QoKSBmb3Ig ZGV2Zm49MCBhcyB0aGUgZmlyc3QgdGhpbmcuCkFuZCB0aGlzIGZ1bmN0aW9uIHVuY29uZGl0aW9u YWxseSBjYWxscyBwY2lfc2Nhbl9kZXZpY2UoKSB3aGljaCBpcwpkaXJlY3RseSB0cnlpbmcgdG8g cmVhZCB2ZW5kb3IgaWQgZnJvbSBjb25maWcgcmVnaXN0ZXIuCgpTbyBmb3IgbWUgaXQgbG9va3Mg bGlrZSB0aGF0IGtlcm5lbCBleHBlY3RzIHRoYXQgY2FuIHJlYWQgdmVuZG9yIGlkIGFuZApkZXZp Y2UgaWQgZnJvbSBjb25maWcgcmVnaXN0ZXIgZm9yIGRldmljZSB3aGljaCBpcyBub3QgY29ubmVj dGVkLgoKQW5kIHRyeWluZyB0byByZWFkIGNvbmZpZyByZWdpc3RlciB3b3VsZCBjYXVzZSB0aG9z ZSB0aW1lb3V0cyBpbgphYXJkdmFyay4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1r ZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWls bWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK