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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 2A65FCDB485 for ; Wed, 11 Oct 2023 21:22:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Message-ID: Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:References: List-Owner; bh=KBFEbjmobXrQvj62asUE5SfGhuno2JEZoXzkTCF8nU8=; b=pBhSA/Fbo4Opg2 C1W9k6kgpA/y9QcAVB+fAGJuKtnCCsCsiuXozfUq+eIJCxr6JeAvESS8stI+Ki6eG59L2zOsxXlzO XbET/nowzCMfa210JCXuc50Dp8nTMOkJNeWpS6O9nDsIhLTsoiuFV1m6KrCKr2G5DXJxVeNRYNpUa wPulsqx5JwxdJGM0zhRaDvmmLB0BmS9TCVP876fLZEnO8UI6iopalTfoeWROnJYl4K+0depA5vfBF VLX6FW9WO6khdha3bILORL1/uMODPlxg+LlzEjRVKSQndUoASbIL24V+IA4pT0Jjr0OHbqLf+fCKN CzrzxccCShElyG5wLmfg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qqgek-00Gjj5-2s; Wed, 11 Oct 2023 21:22:14 +0000 Received: from ams.source.kernel.org ([2604:1380:4601:e00::1]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qqgeg-00Gjgd-2e; Wed, 11 Oct 2023 21:22:12 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by ams.source.kernel.org (Postfix) with ESMTP id 510AAB82264; Wed, 11 Oct 2023 21:22:09 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4FCE2C433C8; Wed, 11 Oct 2023 21:22:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1697059328; bh=qpNUqw05PLc7b1md/614fr1Zk6arYszd1WK9gMvl0Os=; h=Date:From:To:Cc:Subject:In-Reply-To:From; b=ghyoFWHuCUoYAQQVImwLJec5By6IY8ldZU+IpgLhM86gHWNMMGsDK4I3bZN3O9HN6 DZ662abX5LzoV0AuEi9+5Ki6vZZQBQwOyiKdPRI4rA2aI7uLPzLKnygGYsAASzsGrz QKdQ9RXXuApQ6HirgahUGTdW+uLPDMBSzhJdQjS18i+uHHpiCtlwWFOhjYSCOugggW Duv0TMGaORQs/RXdvsCl/MbpQ76sczbG4Y1+Ext0ZSAafYpDZUgO9tYsFTZwJorZnI X29tvX4dE26f0/NdjlsksaHY7OVFRWeD2ft2MA6pgB+n+l9lv7LOpuKtJ8H4lcIsBg tvwjDEZAHbqog== Date: Wed, 11 Oct 2023 16:22:06 -0500 From: Bjorn Helgaas To: Ilpo =?utf-8?B?SsOkcnZpbmVu?= Cc: linux-pci@vger.kernel.org, Lorenzo Pieralisi , Rob Herring , Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= , Lukas Wunner , "Rafael J . Wysocki" , Heiner Kallweit , Emmanuel Grumbach , linux-kernel@vger.kernel.org, Bjorn Helgaas , ath10k@lists.infradead.org, ath11k@lists.infradead.org, ath12k@lists.infradead.org, intel-wired-lan@lists.osuosl.org, linux-arm-kernel@lists.infradead.org, linux-bluetooth@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-rdma@vger.kernel.org, linux-wireless@vger.kernel.org, netdev@vger.kernel.org Subject: Re: [PATCH v2 03/13] PCI/ASPM: Disable ASPM when driver requests it Message-ID: <20231011212206.GA1043224@bhelgaas> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20230918131103.24119-4-ilpo.jarvinen@linux.intel.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231011_142211_122002_05E1CC11 X-CRM114-Status: GOOD ( 22.63 ) X-BeenThere: ath10k@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: "ath10k" Errors-To: ath10k-bounces+ath10k=archiver.kernel.org@lists.infradead.org T24gTW9uLCBTZXAgMTgsIDIwMjMgYXQgMDQ6MTA6NTNQTSArMDMwMCwgSWxwbyBKw6RydmluZW4g d3JvdGU6Cj4gUENJIGNvcmUvQVNQTSBzZXJ2aWNlIGRyaXZlciBhbGxvd3MgY29udHJvbGxpbmcg QVNQTSBzdGF0ZSB0aHJvdWdoCj4gcGNpX2Rpc2FibGVfbGlua19zdGF0ZSgpIGFuZCBwY2lfZW5h YmxlX2xpbmtfc3RhdGUoKSBBUEkuIEl0IHdhcwo+IGRlY2lkZWQgZWFybGllciAoc2VlIHRoZSBM aW5rIGJlbG93KSwgdG8gbm90IGFsbG93IEFTUE0gY2hhbmdlcyB3aGVuIE9TCj4gZG9lcyBub3Qg aGF2ZSBjb250cm9sIG92ZXIgaXQgYnV0IG9ubHkgbG9nIGEgd2FybmluZyBhYm91dCB0aGUgcHJv YmxlbQo+IChjb21taXQgMmFkZDBlYzE0YzI1ICgiUENJL0FTUE06IFdhcm4gd2hlbiBkcml2ZXIg YXNrcyB0byBkaXNhYmxlIEFTUE0sCj4gYnV0IHdlIGNhbid0IGRvIGl0IikpLiBTaW1pbGFybHks IGlmIEFTUE0gaXMgbm90IGVuYWJsZWQgdGhyb3VnaAo+IGNvbmZpZywgQVNQTSBjYW5ub3QgYmUg ZGlzYWJsZWQuCj4gLi4uCgo+ICsjaWZuZGVmIENPTkZJR19QQ0lFQVNQTQo+ICsvKgo+ICsgKiBB bHdheXMgZGlzYWJsZSBBU1BNIHdoZW4gcmVxdWVzdGVkLCBldmVuIHdoZW4gQ09ORklHX1BDSUVB U1BNIGlzCj4gKyAqIG5vdCBidWlsZCB0byBhdm9pZCBkcml2ZXJzIGFkZGluZyBjb2RlIHRvIGRv IGl0IG9uIHRoZWlyIG93bgo+ICsgKiB3aGljaCBjYXVzZWQgaXNzdWVzIHdoZW4gY29yZSBkb2Vz IG5vdCBrbm93IGFib3V0IHRoZSBvdXQtb2YtYmFuZAo+ICsgKiBBU1BNIHN0YXRlIGNoYW5nZXMu Cj4gKyAqLwo+ICtpbnQgcGNpX2Rpc2FibGVfbGlua19zdGF0ZV9sb2NrZWQoc3RydWN0IHBjaV9k ZXYgKnBkZXYsIGludCBzdGF0ZSkKPiArewo+ICsJc3RydWN0IHBjaV9kZXYgKnBhcmVudCA9IHBk ZXYtPmJ1cy0+c2VsZjsKPiArCXN0cnVjdCBwY2lfYnVzICpsaW5rYnVzID0gcGRldi0+YnVzOwo+ ICsJc3RydWN0IHBjaV9kZXYgKmNoaWxkOwo+ICsJdTE2IGFzcG1fZW5hYmxlZCwgbGlua2N0bDsK PiArCWludCByZXQ7Cj4gKwo+ICsJaWYgKCFwYXJlbnQpCj4gKwkJcmV0dXJuIC1FTk9ERVY7CgpQ LlMuIEkgdGhpbmsgdGhpcyBzaG91bGQgbG9vayB0aGUgc2FtZSB0byB0aGUgdXNlciAoc2FtZSBk bWVzZyBsb2cgYW5kCnNhbWUgdGFpbnQsIGlmIHdlIGRvIHRoYXQpIGFzIHRoZSBDT05GSUdfUENJ RUFTUE09eSBjYXNlLgoKPiArCXJldCA9IHBjaWVfY2FwYWJpbGl0eV9yZWFkX3dvcmQocGFyZW50 LCBQQ0lfRVhQX0xOS0NUTCwgJmxpbmtjdGwpOwo+ICsJaWYgKHJldCAhPSBQQ0lCSU9TX1NVQ0NF U1NGVUwpCj4gKwkJcmV0dXJuIHBjaWJpb3NfZXJyX3RvX2Vycm5vKHJldCk7Cj4gKwlhc3BtX2Vu YWJsZWQgPSBsaW5rY3RsICYgUENJX0VYUF9MTktDVExfQVNQTUM7Cj4gKwo+ICsJcmV0ID0gcGNp ZV9jYXBhYmlsaXR5X3JlYWRfd29yZChwZGV2LCBQQ0lfRVhQX0xOS0NUTCwgJmxpbmtjdGwpOwo+ ICsJaWYgKHJldCAhPSBQQ0lCSU9TX1NVQ0NFU1NGVUwpCj4gKwkJcmV0dXJuIHBjaWJpb3NfZXJy X3RvX2Vycm5vKHJldCk7Cj4gKwlhc3BtX2VuYWJsZWQgfD0gbGlua2N0bCAmIFBDSV9FWFBfTE5L Q1RMX0FTUE1DOwo+ICsKPiArCS8qIElmIG5vIHN0YXRlcyBuZWVkIHRvIGJlIGRpc2FibGVkLCBk b24ndCB0b3VjaCBMTktDVEwgKi8KPiArCWlmIChzdGF0ZSAmIGFzcG1fZW5hYmxlZCkKPiArCQly ZXR1cm4gMDsKPiArCj4gKwlyZXQgPSBwY2llX2NhcGFiaWxpdHlfY2xlYXJfd29yZChwYXJlbnQs IFBDSV9FWFBfTE5LQ1RMLCBQQ0lfRVhQX0xOS0NUTF9BU1BNQyk7Cj4gKwlpZiAocmV0ICE9IFBD SUJJT1NfU1VDQ0VTU0ZVTCkKPiArCQlyZXR1cm4gcGNpYmlvc19lcnJfdG9fZXJybm8ocmV0KTsK PiArCWxpc3RfZm9yX2VhY2hfZW50cnkoY2hpbGQsICZsaW5rYnVzLT5kZXZpY2VzLCBidXNfbGlz dCkKPiArCQlwY2llX2NhcGFiaWxpdHlfY2xlYXJfd29yZChjaGlsZCwgUENJX0VYUF9MTktDVEws IFBDSV9FWFBfTE5LQ1RMX0FTUE1DKTsKClRoaXMgZGlzYWJsZXMgKmFsbCogQVNQTSBzdGF0ZXMs IHVubGlrZSB0aGUgdmVyc2lvbiB3aGVuCkNPTkZJR19QQ0lFQVNQTSBpcyBlbmFibGVkLiAgSSBz dXBwb3NlIHRoZXJlJ3MgYSByZWFzb24sIGFuZCBtYXliZSBhCmNvbW1lbnQgY291bGQgZWxhYm9y YXRlIG9uIGl0PwoKV2hlbiBDT05GSUdfUENJRUFTUE0gaXMgbm90IGVuYWJsZWQsIEkgZG9uJ3Qg dGhpbmsgd2UgYWN0aXZlbHkKKmRpc2FibGUqIEFTUE0gaW4gdGhlIGhhcmR3YXJlOyB3ZSBqdXN0 IGxlYXZlIGl0IGFzLWlzLCBzbyBmaXJtd2FyZQptaWdodCBoYXZlIGxlZnQgaXQgZW5hYmxlZC4K Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KCkNvbmNlcHR1YWxseSBpdCBzZWVtcyBsaWtlIHRoZSBM TktDVEwgdXBkYXRlcyBoZXJlIHNob3VsZCBiZSB0aGUgc2FtZQp3aGV0aGVyIENPTkZJR19QQ0lF QVNQTSBpcyBlbmFibGVkIG9yIG5vdCAoc3ViamVjdCB0byB0aGUgcXVlc3Rpb24KYWJvdmUpLgoK V2hlbiBDT05GSUdfUENJRUFTUE0gaXMgZW5hYmxlZCwgd2UgbWlnaHQgbmVlZCB0byBkbyBtb3Jl IHN0dWZmLCBidXQKaXQgc2VlbXMgbGlrZSB0aGUgY29yZSBzaG91bGQgYmUgdGhlIHNhbWUuCgpC am9ybgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYXRo MTBrIG1haWxpbmcgbGlzdAphdGgxMGtAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMu aW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2F0aDEwawo= 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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 0D17ECDB483 for ; Wed, 11 Oct 2023 21:22:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Message-ID: Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:References: List-Owner; bh=7X5A9hdhPvcEThwUBqB4XDiD8kZMjft6nDU6BsSQ3oE=; b=2TgjpbSN13MTAJ AUgwxkz8/NhaatDdRZEoyP3/84sxaVxgYBtXv+wsij5jqPa6qtmUspfmFeNNEZDBI8doLJPbz7A2h zNjPo7SAh5In27+mfI8ne0Ff1ZahqVAg7DR2P45wMS35Eb2UJMLf1hBWwP93jvFh50pD06ih78XEl u5pNfCGF1Qz9B/cs42yT3M32aXR0076/GK12el68YQ1KPjHl3Uxsh6+6XB0MLXUPnCSW2KaRqGvKZ mlSCdcAysGrm2x428EU90BqTkAnq6lXYefH/rsNscEYtZg0XrEcjsm7IBSBDSOiRaGaMZ2GQ+meZh mB3R7BMIE8gDdYFgmYVg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qqgel-00GjjJ-1S; Wed, 11 Oct 2023 21:22:15 +0000 Received: from ams.source.kernel.org ([2604:1380:4601:e00::1]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qqgeg-00Gjgd-2e; Wed, 11 Oct 2023 21:22:12 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by ams.source.kernel.org (Postfix) with ESMTP id 510AAB82264; Wed, 11 Oct 2023 21:22:09 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4FCE2C433C8; Wed, 11 Oct 2023 21:22:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1697059328; bh=qpNUqw05PLc7b1md/614fr1Zk6arYszd1WK9gMvl0Os=; h=Date:From:To:Cc:Subject:In-Reply-To:From; b=ghyoFWHuCUoYAQQVImwLJec5By6IY8ldZU+IpgLhM86gHWNMMGsDK4I3bZN3O9HN6 DZ662abX5LzoV0AuEi9+5Ki6vZZQBQwOyiKdPRI4rA2aI7uLPzLKnygGYsAASzsGrz QKdQ9RXXuApQ6HirgahUGTdW+uLPDMBSzhJdQjS18i+uHHpiCtlwWFOhjYSCOugggW Duv0TMGaORQs/RXdvsCl/MbpQ76sczbG4Y1+Ext0ZSAafYpDZUgO9tYsFTZwJorZnI X29tvX4dE26f0/NdjlsksaHY7OVFRWeD2ft2MA6pgB+n+l9lv7LOpuKtJ8H4lcIsBg tvwjDEZAHbqog== Date: Wed, 11 Oct 2023 16:22:06 -0500 From: Bjorn Helgaas To: Ilpo =?utf-8?B?SsOkcnZpbmVu?= Cc: linux-pci@vger.kernel.org, Lorenzo Pieralisi , Rob Herring , Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= , Lukas Wunner , "Rafael J . Wysocki" , Heiner Kallweit , Emmanuel Grumbach , linux-kernel@vger.kernel.org, Bjorn Helgaas , ath10k@lists.infradead.org, ath11k@lists.infradead.org, ath12k@lists.infradead.org, intel-wired-lan@lists.osuosl.org, linux-arm-kernel@lists.infradead.org, linux-bluetooth@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-rdma@vger.kernel.org, linux-wireless@vger.kernel.org, netdev@vger.kernel.org Subject: Re: [PATCH v2 03/13] PCI/ASPM: Disable ASPM when driver requests it Message-ID: <20231011212206.GA1043224@bhelgaas> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20230918131103.24119-4-ilpo.jarvinen@linux.intel.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231011_142211_122002_05E1CC11 X-CRM114-Status: GOOD ( 22.63 ) X-BeenThere: ath11k@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: "ath11k" Errors-To: ath11k-bounces+ath11k=archiver.kernel.org@lists.infradead.org T24gTW9uLCBTZXAgMTgsIDIwMjMgYXQgMDQ6MTA6NTNQTSArMDMwMCwgSWxwbyBKw6RydmluZW4g d3JvdGU6Cj4gUENJIGNvcmUvQVNQTSBzZXJ2aWNlIGRyaXZlciBhbGxvd3MgY29udHJvbGxpbmcg QVNQTSBzdGF0ZSB0aHJvdWdoCj4gcGNpX2Rpc2FibGVfbGlua19zdGF0ZSgpIGFuZCBwY2lfZW5h YmxlX2xpbmtfc3RhdGUoKSBBUEkuIEl0IHdhcwo+IGRlY2lkZWQgZWFybGllciAoc2VlIHRoZSBM aW5rIGJlbG93KSwgdG8gbm90IGFsbG93IEFTUE0gY2hhbmdlcyB3aGVuIE9TCj4gZG9lcyBub3Qg aGF2ZSBjb250cm9sIG92ZXIgaXQgYnV0IG9ubHkgbG9nIGEgd2FybmluZyBhYm91dCB0aGUgcHJv YmxlbQo+IChjb21taXQgMmFkZDBlYzE0YzI1ICgiUENJL0FTUE06IFdhcm4gd2hlbiBkcml2ZXIg YXNrcyB0byBkaXNhYmxlIEFTUE0sCj4gYnV0IHdlIGNhbid0IGRvIGl0IikpLiBTaW1pbGFybHks IGlmIEFTUE0gaXMgbm90IGVuYWJsZWQgdGhyb3VnaAo+IGNvbmZpZywgQVNQTSBjYW5ub3QgYmUg ZGlzYWJsZWQuCj4gLi4uCgo+ICsjaWZuZGVmIENPTkZJR19QQ0lFQVNQTQo+ICsvKgo+ICsgKiBB bHdheXMgZGlzYWJsZSBBU1BNIHdoZW4gcmVxdWVzdGVkLCBldmVuIHdoZW4gQ09ORklHX1BDSUVB U1BNIGlzCj4gKyAqIG5vdCBidWlsZCB0byBhdm9pZCBkcml2ZXJzIGFkZGluZyBjb2RlIHRvIGRv IGl0IG9uIHRoZWlyIG93bgo+ICsgKiB3aGljaCBjYXVzZWQgaXNzdWVzIHdoZW4gY29yZSBkb2Vz IG5vdCBrbm93IGFib3V0IHRoZSBvdXQtb2YtYmFuZAo+ICsgKiBBU1BNIHN0YXRlIGNoYW5nZXMu Cj4gKyAqLwo+ICtpbnQgcGNpX2Rpc2FibGVfbGlua19zdGF0ZV9sb2NrZWQoc3RydWN0IHBjaV9k ZXYgKnBkZXYsIGludCBzdGF0ZSkKPiArewo+ICsJc3RydWN0IHBjaV9kZXYgKnBhcmVudCA9IHBk ZXYtPmJ1cy0+c2VsZjsKPiArCXN0cnVjdCBwY2lfYnVzICpsaW5rYnVzID0gcGRldi0+YnVzOwo+ ICsJc3RydWN0IHBjaV9kZXYgKmNoaWxkOwo+ICsJdTE2IGFzcG1fZW5hYmxlZCwgbGlua2N0bDsK PiArCWludCByZXQ7Cj4gKwo+ICsJaWYgKCFwYXJlbnQpCj4gKwkJcmV0dXJuIC1FTk9ERVY7CgpQ LlMuIEkgdGhpbmsgdGhpcyBzaG91bGQgbG9vayB0aGUgc2FtZSB0byB0aGUgdXNlciAoc2FtZSBk bWVzZyBsb2cgYW5kCnNhbWUgdGFpbnQsIGlmIHdlIGRvIHRoYXQpIGFzIHRoZSBDT05GSUdfUENJ RUFTUE09eSBjYXNlLgoKPiArCXJldCA9IHBjaWVfY2FwYWJpbGl0eV9yZWFkX3dvcmQocGFyZW50 LCBQQ0lfRVhQX0xOS0NUTCwgJmxpbmtjdGwpOwo+ICsJaWYgKHJldCAhPSBQQ0lCSU9TX1NVQ0NF U1NGVUwpCj4gKwkJcmV0dXJuIHBjaWJpb3NfZXJyX3RvX2Vycm5vKHJldCk7Cj4gKwlhc3BtX2Vu YWJsZWQgPSBsaW5rY3RsICYgUENJX0VYUF9MTktDVExfQVNQTUM7Cj4gKwo+ICsJcmV0ID0gcGNp ZV9jYXBhYmlsaXR5X3JlYWRfd29yZChwZGV2LCBQQ0lfRVhQX0xOS0NUTCwgJmxpbmtjdGwpOwo+ ICsJaWYgKHJldCAhPSBQQ0lCSU9TX1NVQ0NFU1NGVUwpCj4gKwkJcmV0dXJuIHBjaWJpb3NfZXJy X3RvX2Vycm5vKHJldCk7Cj4gKwlhc3BtX2VuYWJsZWQgfD0gbGlua2N0bCAmIFBDSV9FWFBfTE5L Q1RMX0FTUE1DOwo+ICsKPiArCS8qIElmIG5vIHN0YXRlcyBuZWVkIHRvIGJlIGRpc2FibGVkLCBk b24ndCB0b3VjaCBMTktDVEwgKi8KPiArCWlmIChzdGF0ZSAmIGFzcG1fZW5hYmxlZCkKPiArCQly ZXR1cm4gMDsKPiArCj4gKwlyZXQgPSBwY2llX2NhcGFiaWxpdHlfY2xlYXJfd29yZChwYXJlbnQs IFBDSV9FWFBfTE5LQ1RMLCBQQ0lfRVhQX0xOS0NUTF9BU1BNQyk7Cj4gKwlpZiAocmV0ICE9IFBD SUJJT1NfU1VDQ0VTU0ZVTCkKPiArCQlyZXR1cm4gcGNpYmlvc19lcnJfdG9fZXJybm8ocmV0KTsK PiArCWxpc3RfZm9yX2VhY2hfZW50cnkoY2hpbGQsICZsaW5rYnVzLT5kZXZpY2VzLCBidXNfbGlz dCkKPiArCQlwY2llX2NhcGFiaWxpdHlfY2xlYXJfd29yZChjaGlsZCwgUENJX0VYUF9MTktDVEws IFBDSV9FWFBfTE5LQ1RMX0FTUE1DKTsKClRoaXMgZGlzYWJsZXMgKmFsbCogQVNQTSBzdGF0ZXMs IHVubGlrZSB0aGUgdmVyc2lvbiB3aGVuCkNPTkZJR19QQ0lFQVNQTSBpcyBlbmFibGVkLiAgSSBz dXBwb3NlIHRoZXJlJ3MgYSByZWFzb24sIGFuZCBtYXliZSBhCmNvbW1lbnQgY291bGQgZWxhYm9y YXRlIG9uIGl0PwoKV2hlbiBDT05GSUdfUENJRUFTUE0gaXMgbm90IGVuYWJsZWQsIEkgZG9uJ3Qg dGhpbmsgd2UgYWN0aXZlbHkKKmRpc2FibGUqIEFTUE0gaW4gdGhlIGhhcmR3YXJlOyB3ZSBqdXN0 IGxlYXZlIGl0IGFzLWlzLCBzbyBmaXJtd2FyZQptaWdodCBoYXZlIGxlZnQgaXQgZW5hYmxlZC4K Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KCkNvbmNlcHR1YWxseSBpdCBzZWVtcyBsaWtlIHRoZSBM TktDVEwgdXBkYXRlcyBoZXJlIHNob3VsZCBiZSB0aGUgc2FtZQp3aGV0aGVyIENPTkZJR19QQ0lF QVNQTSBpcyBlbmFibGVkIG9yIG5vdCAoc3ViamVjdCB0byB0aGUgcXVlc3Rpb24KYWJvdmUpLgoK V2hlbiBDT05GSUdfUENJRUFTUE0gaXMgZW5hYmxlZCwgd2UgbWlnaHQgbmVlZCB0byBkbyBtb3Jl IHN0dWZmLCBidXQKaXQgc2VlbXMgbGlrZSB0aGUgY29yZSBzaG91bGQgYmUgdGhlIHNhbWUuCgpC am9ybgoKLS0gCmF0aDExayBtYWlsaW5nIGxpc3QKYXRoMTFrQGxpc3RzLmluZnJhZGVhZC5vcmcK aHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9hdGgxMWsK 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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 32300CDB47E for ; Wed, 11 Oct 2023 21:22:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Message-ID: Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:References: List-Owner; bh=wUS5vJW6bLybl7W2AYgewlt3QQcq8v6lXFW6x2jjYzI=; b=Jz7leO7GBQvBHH XYWjFIysbbZj9VgHyqXjEquBInJUxQWc8fF+dPgmpsEJk9Tfhpptpo59I7zbYGeK4kcXOCoMfQbIl 6S23IRqjgSOUSGU7VWNk+UQGcHn7ei22/lNL2f++uIPMcfThcVbzFh/ASIcVWecSdrVod6Df1yQao puroWAewMsLB/arhNOAKdwp9VZCu9mpoj7F5fx00C14yats9DNNpnn0p1bOmHvMUkCg0xL6s2+Dfn AiLUarOYlOuUXm9Z/AtlXj+LRoRYFHzQFFVsnoaSlqx7BPxL7wfQfVlJJqzmclltK0yCT2+/lnAua 9FEI9OzkSkunbby3HFig==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qqgel-00Gjjg-2w for ath12k@archiver.kernel.org; Wed, 11 Oct 2023 21:22:15 +0000 Received: from ams.source.kernel.org ([2604:1380:4601:e00::1]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qqgeg-00Gjgd-2e; Wed, 11 Oct 2023 21:22:12 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by ams.source.kernel.org (Postfix) with ESMTP id 510AAB82264; Wed, 11 Oct 2023 21:22:09 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4FCE2C433C8; Wed, 11 Oct 2023 21:22:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1697059328; bh=qpNUqw05PLc7b1md/614fr1Zk6arYszd1WK9gMvl0Os=; h=Date:From:To:Cc:Subject:In-Reply-To:From; b=ghyoFWHuCUoYAQQVImwLJec5By6IY8ldZU+IpgLhM86gHWNMMGsDK4I3bZN3O9HN6 DZ662abX5LzoV0AuEi9+5Ki6vZZQBQwOyiKdPRI4rA2aI7uLPzLKnygGYsAASzsGrz QKdQ9RXXuApQ6HirgahUGTdW+uLPDMBSzhJdQjS18i+uHHpiCtlwWFOhjYSCOugggW Duv0TMGaORQs/RXdvsCl/MbpQ76sczbG4Y1+Ext0ZSAafYpDZUgO9tYsFTZwJorZnI X29tvX4dE26f0/NdjlsksaHY7OVFRWeD2ft2MA6pgB+n+l9lv7LOpuKtJ8H4lcIsBg tvwjDEZAHbqog== Date: Wed, 11 Oct 2023 16:22:06 -0500 From: Bjorn Helgaas To: Ilpo =?utf-8?B?SsOkcnZpbmVu?= Cc: linux-pci@vger.kernel.org, Lorenzo Pieralisi , Rob Herring , Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= , Lukas Wunner , "Rafael J . Wysocki" , Heiner Kallweit , Emmanuel Grumbach , linux-kernel@vger.kernel.org, Bjorn Helgaas , ath10k@lists.infradead.org, ath11k@lists.infradead.org, ath12k@lists.infradead.org, intel-wired-lan@lists.osuosl.org, linux-arm-kernel@lists.infradead.org, linux-bluetooth@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-rdma@vger.kernel.org, linux-wireless@vger.kernel.org, netdev@vger.kernel.org Subject: Re: [PATCH v2 03/13] PCI/ASPM: Disable ASPM when driver requests it Message-ID: <20231011212206.GA1043224@bhelgaas> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20230918131103.24119-4-ilpo.jarvinen@linux.intel.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231011_142211_122002_05E1CC11 X-CRM114-Status: GOOD ( 22.63 ) X-BeenThere: ath12k@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: "ath12k" Errors-To: ath12k-bounces+ath12k=archiver.kernel.org@lists.infradead.org T24gTW9uLCBTZXAgMTgsIDIwMjMgYXQgMDQ6MTA6NTNQTSArMDMwMCwgSWxwbyBKw6RydmluZW4g d3JvdGU6Cj4gUENJIGNvcmUvQVNQTSBzZXJ2aWNlIGRyaXZlciBhbGxvd3MgY29udHJvbGxpbmcg QVNQTSBzdGF0ZSB0aHJvdWdoCj4gcGNpX2Rpc2FibGVfbGlua19zdGF0ZSgpIGFuZCBwY2lfZW5h YmxlX2xpbmtfc3RhdGUoKSBBUEkuIEl0IHdhcwo+IGRlY2lkZWQgZWFybGllciAoc2VlIHRoZSBM aW5rIGJlbG93KSwgdG8gbm90IGFsbG93IEFTUE0gY2hhbmdlcyB3aGVuIE9TCj4gZG9lcyBub3Qg aGF2ZSBjb250cm9sIG92ZXIgaXQgYnV0IG9ubHkgbG9nIGEgd2FybmluZyBhYm91dCB0aGUgcHJv YmxlbQo+IChjb21taXQgMmFkZDBlYzE0YzI1ICgiUENJL0FTUE06IFdhcm4gd2hlbiBkcml2ZXIg YXNrcyB0byBkaXNhYmxlIEFTUE0sCj4gYnV0IHdlIGNhbid0IGRvIGl0IikpLiBTaW1pbGFybHks IGlmIEFTUE0gaXMgbm90IGVuYWJsZWQgdGhyb3VnaAo+IGNvbmZpZywgQVNQTSBjYW5ub3QgYmUg ZGlzYWJsZWQuCj4gLi4uCgo+ICsjaWZuZGVmIENPTkZJR19QQ0lFQVNQTQo+ICsvKgo+ICsgKiBB bHdheXMgZGlzYWJsZSBBU1BNIHdoZW4gcmVxdWVzdGVkLCBldmVuIHdoZW4gQ09ORklHX1BDSUVB U1BNIGlzCj4gKyAqIG5vdCBidWlsZCB0byBhdm9pZCBkcml2ZXJzIGFkZGluZyBjb2RlIHRvIGRv IGl0IG9uIHRoZWlyIG93bgo+ICsgKiB3aGljaCBjYXVzZWQgaXNzdWVzIHdoZW4gY29yZSBkb2Vz IG5vdCBrbm93IGFib3V0IHRoZSBvdXQtb2YtYmFuZAo+ICsgKiBBU1BNIHN0YXRlIGNoYW5nZXMu Cj4gKyAqLwo+ICtpbnQgcGNpX2Rpc2FibGVfbGlua19zdGF0ZV9sb2NrZWQoc3RydWN0IHBjaV9k ZXYgKnBkZXYsIGludCBzdGF0ZSkKPiArewo+ICsJc3RydWN0IHBjaV9kZXYgKnBhcmVudCA9IHBk ZXYtPmJ1cy0+c2VsZjsKPiArCXN0cnVjdCBwY2lfYnVzICpsaW5rYnVzID0gcGRldi0+YnVzOwo+ ICsJc3RydWN0IHBjaV9kZXYgKmNoaWxkOwo+ICsJdTE2IGFzcG1fZW5hYmxlZCwgbGlua2N0bDsK PiArCWludCByZXQ7Cj4gKwo+ICsJaWYgKCFwYXJlbnQpCj4gKwkJcmV0dXJuIC1FTk9ERVY7CgpQ LlMuIEkgdGhpbmsgdGhpcyBzaG91bGQgbG9vayB0aGUgc2FtZSB0byB0aGUgdXNlciAoc2FtZSBk bWVzZyBsb2cgYW5kCnNhbWUgdGFpbnQsIGlmIHdlIGRvIHRoYXQpIGFzIHRoZSBDT05GSUdfUENJ RUFTUE09eSBjYXNlLgoKPiArCXJldCA9IHBjaWVfY2FwYWJpbGl0eV9yZWFkX3dvcmQocGFyZW50 LCBQQ0lfRVhQX0xOS0NUTCwgJmxpbmtjdGwpOwo+ICsJaWYgKHJldCAhPSBQQ0lCSU9TX1NVQ0NF U1NGVUwpCj4gKwkJcmV0dXJuIHBjaWJpb3NfZXJyX3RvX2Vycm5vKHJldCk7Cj4gKwlhc3BtX2Vu YWJsZWQgPSBsaW5rY3RsICYgUENJX0VYUF9MTktDVExfQVNQTUM7Cj4gKwo+ICsJcmV0ID0gcGNp ZV9jYXBhYmlsaXR5X3JlYWRfd29yZChwZGV2LCBQQ0lfRVhQX0xOS0NUTCwgJmxpbmtjdGwpOwo+ ICsJaWYgKHJldCAhPSBQQ0lCSU9TX1NVQ0NFU1NGVUwpCj4gKwkJcmV0dXJuIHBjaWJpb3NfZXJy X3RvX2Vycm5vKHJldCk7Cj4gKwlhc3BtX2VuYWJsZWQgfD0gbGlua2N0bCAmIFBDSV9FWFBfTE5L Q1RMX0FTUE1DOwo+ICsKPiArCS8qIElmIG5vIHN0YXRlcyBuZWVkIHRvIGJlIGRpc2FibGVkLCBk b24ndCB0b3VjaCBMTktDVEwgKi8KPiArCWlmIChzdGF0ZSAmIGFzcG1fZW5hYmxlZCkKPiArCQly ZXR1cm4gMDsKPiArCj4gKwlyZXQgPSBwY2llX2NhcGFiaWxpdHlfY2xlYXJfd29yZChwYXJlbnQs IFBDSV9FWFBfTE5LQ1RMLCBQQ0lfRVhQX0xOS0NUTF9BU1BNQyk7Cj4gKwlpZiAocmV0ICE9IFBD SUJJT1NfU1VDQ0VTU0ZVTCkKPiArCQlyZXR1cm4gcGNpYmlvc19lcnJfdG9fZXJybm8ocmV0KTsK PiArCWxpc3RfZm9yX2VhY2hfZW50cnkoY2hpbGQsICZsaW5rYnVzLT5kZXZpY2VzLCBidXNfbGlz dCkKPiArCQlwY2llX2NhcGFiaWxpdHlfY2xlYXJfd29yZChjaGlsZCwgUENJX0VYUF9MTktDVEws IFBDSV9FWFBfTE5LQ1RMX0FTUE1DKTsKClRoaXMgZGlzYWJsZXMgKmFsbCogQVNQTSBzdGF0ZXMs IHVubGlrZSB0aGUgdmVyc2lvbiB3aGVuCkNPTkZJR19QQ0lFQVNQTSBpcyBlbmFibGVkLiAgSSBz dXBwb3NlIHRoZXJlJ3MgYSByZWFzb24sIGFuZCBtYXliZSBhCmNvbW1lbnQgY291bGQgZWxhYm9y YXRlIG9uIGl0PwoKV2hlbiBDT05GSUdfUENJRUFTUE0gaXMgbm90IGVuYWJsZWQsIEkgZG9uJ3Qg dGhpbmsgd2UgYWN0aXZlbHkKKmRpc2FibGUqIEFTUE0gaW4gdGhlIGhhcmR3YXJlOyB3ZSBqdXN0 IGxlYXZlIGl0IGFzLWlzLCBzbyBmaXJtd2FyZQptaWdodCBoYXZlIGxlZnQgaXQgZW5hYmxlZC4K Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KCkNvbmNlcHR1YWxseSBpdCBzZWVtcyBsaWtlIHRoZSBM TktDVEwgdXBkYXRlcyBoZXJlIHNob3VsZCBiZSB0aGUgc2FtZQp3aGV0aGVyIENPTkZJR19QQ0lF QVNQTSBpcyBlbmFibGVkIG9yIG5vdCAoc3ViamVjdCB0byB0aGUgcXVlc3Rpb24KYWJvdmUpLgoK V2hlbiBDT05GSUdfUENJRUFTUE0gaXMgZW5hYmxlZCwgd2UgbWlnaHQgbmVlZCB0byBkbyBtb3Jl IHN0dWZmLCBidXQKaXQgc2VlbXMgbGlrZSB0aGUgY29yZSBzaG91bGQgYmUgdGhlIHNhbWUuCgpC am9ybgoKLS0gCmF0aDEyayBtYWlsaW5nIGxpc3QKYXRoMTJrQGxpc3RzLmluZnJhZGVhZC5vcmcK aHR0cHM6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vYXRoMTJrCg== 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 Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C6473CDB482 for ; Wed, 11 Oct 2023 21:22:17 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 4297A4173C; Wed, 11 Oct 2023 21:22:17 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org 4297A4173C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org; s=default; t=1697059337; bh=Qt27pmBPasC2EBUUuju+ks/v/T6DXQzgw7yTF7alq3s=; h=Date:From:To:In-Reply-To:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:Cc:From; b=YKP8s/G6Bkx3HaxlN6vYWv94dZvwpfX9YC6Y5aPlqb4r8k7eCCjbxltkHN/UuVS1k LbC4n5qq4Fm0X8lncxp34KvDzR+EDVQ3ZnfoF3meSJeE146G8wHImeKDTeDUVv/HpB dCK57HTxXnqz6ZX0KuMGQ/ElgxjgB6dP5uYiiYTtCjkdPCCQGVjPQ6kQbv16ruht+b tZ6EliFw4Q0aM7U52w6zD1t6UeEnJ1c2MgkNG5sTnlbhi2Av8ZMjhWWUKgEo1jBPTd 65A216aRJIf3CwBEf56DZFsHhBTgxvPFQdxjBcQBFqnE8sSd7ktAsbsls1scHWhCLC Dvsvw1922+TEQ== X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2pqQ8hAYMZv8; Wed, 11 Oct 2023 21:22:16 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by smtp4.osuosl.org (Postfix) with ESMTP id 0585041746; Wed, 11 Oct 2023 21:22:15 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org 0585041746 Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by ash.osuosl.org (Postfix) with ESMTP id 3EABD1BF3E8 for ; Wed, 11 Oct 2023 21:22:14 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 14C5841746 for ; Wed, 11 Oct 2023 21:22:14 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org 14C5841746 X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 81CKzeZ5TK8K for ; Wed, 11 Oct 2023 21:22:12 +0000 (UTC) Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by smtp4.osuosl.org (Postfix) with ESMTPS id B74A24173C for ; Wed, 11 Oct 2023 21:22:11 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org B74A24173C Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by ams.source.kernel.org (Postfix) with ESMTP id 510AAB82264; Wed, 11 Oct 2023 21:22:09 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4FCE2C433C8; Wed, 11 Oct 2023 21:22:08 +0000 (UTC) Date: Wed, 11 Oct 2023 16:22:06 -0500 From: Bjorn Helgaas To: Ilpo =?utf-8?B?SsOkcnZpbmVu?= Message-ID: <20231011212206.GA1043224@bhelgaas> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20230918131103.24119-4-ilpo.jarvinen@linux.intel.com> X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1697059328; bh=qpNUqw05PLc7b1md/614fr1Zk6arYszd1WK9gMvl0Os=; h=Date:From:To:Cc:Subject:In-Reply-To:From; b=ghyoFWHuCUoYAQQVImwLJec5By6IY8ldZU+IpgLhM86gHWNMMGsDK4I3bZN3O9HN6 DZ662abX5LzoV0AuEi9+5Ki6vZZQBQwOyiKdPRI4rA2aI7uLPzLKnygGYsAASzsGrz QKdQ9RXXuApQ6HirgahUGTdW+uLPDMBSzhJdQjS18i+uHHpiCtlwWFOhjYSCOugggW Duv0TMGaORQs/RXdvsCl/MbpQ76sczbG4Y1+Ext0ZSAafYpDZUgO9tYsFTZwJorZnI X29tvX4dE26f0/NdjlsksaHY7OVFRWeD2ft2MA6pgB+n+l9lv7LOpuKtJ8H4lcIsBg tvwjDEZAHbqog== X-Mailman-Original-Authentication-Results: smtp4.osuosl.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20201202 header.b=ghyoFWHu Subject: Re: [Intel-wired-lan] [PATCH v2 03/13] PCI/ASPM: Disable ASPM when driver requests it X-BeenThere: intel-wired-lan@osuosl.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel Wired Ethernet Linux Kernel Driver Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= , linux-rdma@vger.kernel.org, Lorenzo Pieralisi , "Rafael J . Wysocki" , ath12k@lists.infradead.org, linux-pci@vger.kernel.org, linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org, ath10k@lists.infradead.org, ath11k@lists.infradead.org, Emmanuel Grumbach , linux-bluetooth@vger.kernel.org, Lukas Wunner , intel-wired-lan@lists.osuosl.org, netdev@vger.kernel.org, Bjorn Helgaas , linux-mediatek@lists.infradead.org, Rob Herring , linux-arm-kernel@lists.infradead.org, Heiner Kallweit Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-wired-lan-bounces@osuosl.org Sender: "Intel-wired-lan" T24gTW9uLCBTZXAgMTgsIDIwMjMgYXQgMDQ6MTA6NTNQTSArMDMwMCwgSWxwbyBKw6RydmluZW4g d3JvdGU6Cj4gUENJIGNvcmUvQVNQTSBzZXJ2aWNlIGRyaXZlciBhbGxvd3MgY29udHJvbGxpbmcg QVNQTSBzdGF0ZSB0aHJvdWdoCj4gcGNpX2Rpc2FibGVfbGlua19zdGF0ZSgpIGFuZCBwY2lfZW5h YmxlX2xpbmtfc3RhdGUoKSBBUEkuIEl0IHdhcwo+IGRlY2lkZWQgZWFybGllciAoc2VlIHRoZSBM aW5rIGJlbG93KSwgdG8gbm90IGFsbG93IEFTUE0gY2hhbmdlcyB3aGVuIE9TCj4gZG9lcyBub3Qg aGF2ZSBjb250cm9sIG92ZXIgaXQgYnV0IG9ubHkgbG9nIGEgd2FybmluZyBhYm91dCB0aGUgcHJv YmxlbQo+IChjb21taXQgMmFkZDBlYzE0YzI1ICgiUENJL0FTUE06IFdhcm4gd2hlbiBkcml2ZXIg YXNrcyB0byBkaXNhYmxlIEFTUE0sCj4gYnV0IHdlIGNhbid0IGRvIGl0IikpLiBTaW1pbGFybHks IGlmIEFTUE0gaXMgbm90IGVuYWJsZWQgdGhyb3VnaAo+IGNvbmZpZywgQVNQTSBjYW5ub3QgYmUg ZGlzYWJsZWQuCj4gLi4uCgo+ICsjaWZuZGVmIENPTkZJR19QQ0lFQVNQTQo+ICsvKgo+ICsgKiBB bHdheXMgZGlzYWJsZSBBU1BNIHdoZW4gcmVxdWVzdGVkLCBldmVuIHdoZW4gQ09ORklHX1BDSUVB U1BNIGlzCj4gKyAqIG5vdCBidWlsZCB0byBhdm9pZCBkcml2ZXJzIGFkZGluZyBjb2RlIHRvIGRv IGl0IG9uIHRoZWlyIG93bgo+ICsgKiB3aGljaCBjYXVzZWQgaXNzdWVzIHdoZW4gY29yZSBkb2Vz IG5vdCBrbm93IGFib3V0IHRoZSBvdXQtb2YtYmFuZAo+ICsgKiBBU1BNIHN0YXRlIGNoYW5nZXMu Cj4gKyAqLwo+ICtpbnQgcGNpX2Rpc2FibGVfbGlua19zdGF0ZV9sb2NrZWQoc3RydWN0IHBjaV9k ZXYgKnBkZXYsIGludCBzdGF0ZSkKPiArewo+ICsJc3RydWN0IHBjaV9kZXYgKnBhcmVudCA9IHBk ZXYtPmJ1cy0+c2VsZjsKPiArCXN0cnVjdCBwY2lfYnVzICpsaW5rYnVzID0gcGRldi0+YnVzOwo+ ICsJc3RydWN0IHBjaV9kZXYgKmNoaWxkOwo+ICsJdTE2IGFzcG1fZW5hYmxlZCwgbGlua2N0bDsK PiArCWludCByZXQ7Cj4gKwo+ICsJaWYgKCFwYXJlbnQpCj4gKwkJcmV0dXJuIC1FTk9ERVY7CgpQ LlMuIEkgdGhpbmsgdGhpcyBzaG91bGQgbG9vayB0aGUgc2FtZSB0byB0aGUgdXNlciAoc2FtZSBk bWVzZyBsb2cgYW5kCnNhbWUgdGFpbnQsIGlmIHdlIGRvIHRoYXQpIGFzIHRoZSBDT05GSUdfUENJ RUFTUE09eSBjYXNlLgoKPiArCXJldCA9IHBjaWVfY2FwYWJpbGl0eV9yZWFkX3dvcmQocGFyZW50 LCBQQ0lfRVhQX0xOS0NUTCwgJmxpbmtjdGwpOwo+ICsJaWYgKHJldCAhPSBQQ0lCSU9TX1NVQ0NF U1NGVUwpCj4gKwkJcmV0dXJuIHBjaWJpb3NfZXJyX3RvX2Vycm5vKHJldCk7Cj4gKwlhc3BtX2Vu YWJsZWQgPSBsaW5rY3RsICYgUENJX0VYUF9MTktDVExfQVNQTUM7Cj4gKwo+ICsJcmV0ID0gcGNp ZV9jYXBhYmlsaXR5X3JlYWRfd29yZChwZGV2LCBQQ0lfRVhQX0xOS0NUTCwgJmxpbmtjdGwpOwo+ ICsJaWYgKHJldCAhPSBQQ0lCSU9TX1NVQ0NFU1NGVUwpCj4gKwkJcmV0dXJuIHBjaWJpb3NfZXJy X3RvX2Vycm5vKHJldCk7Cj4gKwlhc3BtX2VuYWJsZWQgfD0gbGlua2N0bCAmIFBDSV9FWFBfTE5L Q1RMX0FTUE1DOwo+ICsKPiArCS8qIElmIG5vIHN0YXRlcyBuZWVkIHRvIGJlIGRpc2FibGVkLCBk b24ndCB0b3VjaCBMTktDVEwgKi8KPiArCWlmIChzdGF0ZSAmIGFzcG1fZW5hYmxlZCkKPiArCQly ZXR1cm4gMDsKPiArCj4gKwlyZXQgPSBwY2llX2NhcGFiaWxpdHlfY2xlYXJfd29yZChwYXJlbnQs IFBDSV9FWFBfTE5LQ1RMLCBQQ0lfRVhQX0xOS0NUTF9BU1BNQyk7Cj4gKwlpZiAocmV0ICE9IFBD SUJJT1NfU1VDQ0VTU0ZVTCkKPiArCQlyZXR1cm4gcGNpYmlvc19lcnJfdG9fZXJybm8ocmV0KTsK PiArCWxpc3RfZm9yX2VhY2hfZW50cnkoY2hpbGQsICZsaW5rYnVzLT5kZXZpY2VzLCBidXNfbGlz dCkKPiArCQlwY2llX2NhcGFiaWxpdHlfY2xlYXJfd29yZChjaGlsZCwgUENJX0VYUF9MTktDVEws IFBDSV9FWFBfTE5LQ1RMX0FTUE1DKTsKClRoaXMgZGlzYWJsZXMgKmFsbCogQVNQTSBzdGF0ZXMs IHVubGlrZSB0aGUgdmVyc2lvbiB3aGVuCkNPTkZJR19QQ0lFQVNQTSBpcyBlbmFibGVkLiAgSSBz dXBwb3NlIHRoZXJlJ3MgYSByZWFzb24sIGFuZCBtYXliZSBhCmNvbW1lbnQgY291bGQgZWxhYm9y YXRlIG9uIGl0PwoKV2hlbiBDT05GSUdfUENJRUFTUE0gaXMgbm90IGVuYWJsZWQsIEkgZG9uJ3Qg dGhpbmsgd2UgYWN0aXZlbHkKKmRpc2FibGUqIEFTUE0gaW4gdGhlIGhhcmR3YXJlOyB3ZSBqdXN0 IGxlYXZlIGl0IGFzLWlzLCBzbyBmaXJtd2FyZQptaWdodCBoYXZlIGxlZnQgaXQgZW5hYmxlZC4K Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KCkNvbmNlcHR1YWxseSBpdCBzZWVtcyBsaWtlIHRoZSBM TktDVEwgdXBkYXRlcyBoZXJlIHNob3VsZCBiZSB0aGUgc2FtZQp3aGV0aGVyIENPTkZJR19QQ0lF QVNQTSBpcyBlbmFibGVkIG9yIG5vdCAoc3ViamVjdCB0byB0aGUgcXVlc3Rpb24KYWJvdmUpLgoK V2hlbiBDT05GSUdfUENJRUFTUE0gaXMgZW5hYmxlZCwgd2UgbWlnaHQgbmVlZCB0byBkbyBtb3Jl IHN0dWZmLCBidXQKaXQgc2VlbXMgbGlrZSB0aGUgY29yZSBzaG91bGQgYmUgdGhlIHNhbWUuCgpC am9ybgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC13aXJlZC1sYW4gbWFpbGluZyBsaXN0CkludGVsLXdpcmVkLWxhbkBvc3Vvc2wub3JnCmh0dHBz Oi8vbGlzdHMub3N1b3NsLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLXdpcmVkLWxhbgo= 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 Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id B3943C41513 for ; Wed, 11 Oct 2023 21:22:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233665AbjJKVWL (ORCPT ); Wed, 11 Oct 2023 17:22:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45632 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233390AbjJKVWK (ORCPT ); Wed, 11 Oct 2023 17:22:10 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 007C490; Wed, 11 Oct 2023 14:22:08 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4FCE2C433C8; Wed, 11 Oct 2023 21:22:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1697059328; bh=qpNUqw05PLc7b1md/614fr1Zk6arYszd1WK9gMvl0Os=; h=Date:From:To:Cc:Subject:In-Reply-To:From; b=ghyoFWHuCUoYAQQVImwLJec5By6IY8ldZU+IpgLhM86gHWNMMGsDK4I3bZN3O9HN6 DZ662abX5LzoV0AuEi9+5Ki6vZZQBQwOyiKdPRI4rA2aI7uLPzLKnygGYsAASzsGrz QKdQ9RXXuApQ6HirgahUGTdW+uLPDMBSzhJdQjS18i+uHHpiCtlwWFOhjYSCOugggW Duv0TMGaORQs/RXdvsCl/MbpQ76sczbG4Y1+Ext0ZSAafYpDZUgO9tYsFTZwJorZnI X29tvX4dE26f0/NdjlsksaHY7OVFRWeD2ft2MA6pgB+n+l9lv7LOpuKtJ8H4lcIsBg tvwjDEZAHbqog== Date: Wed, 11 Oct 2023 16:22:06 -0500 From: Bjorn Helgaas To: Ilpo =?utf-8?B?SsOkcnZpbmVu?= Cc: linux-pci@vger.kernel.org, Lorenzo Pieralisi , Rob Herring , Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= , Lukas Wunner , "Rafael J . Wysocki" , Heiner Kallweit , Emmanuel Grumbach , linux-kernel@vger.kernel.org, Bjorn Helgaas , ath10k@lists.infradead.org, ath11k@lists.infradead.org, ath12k@lists.infradead.org, intel-wired-lan@lists.osuosl.org, linux-arm-kernel@lists.infradead.org, linux-bluetooth@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-rdma@vger.kernel.org, linux-wireless@vger.kernel.org, netdev@vger.kernel.org Subject: Re: [PATCH v2 03/13] PCI/ASPM: Disable ASPM when driver requests it Message-ID: <20231011212206.GA1043224@bhelgaas> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20230918131103.24119-4-ilpo.jarvinen@linux.intel.com> Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org On Mon, Sep 18, 2023 at 04:10:53PM +0300, Ilpo Järvinen wrote: > PCI core/ASPM service driver allows controlling ASPM state through > pci_disable_link_state() and pci_enable_link_state() API. It was > decided earlier (see the Link below), to not allow ASPM changes when OS > does not have control over it but only log a warning about the problem > (commit 2add0ec14c25 ("PCI/ASPM: Warn when driver asks to disable ASPM, > but we can't do it")). Similarly, if ASPM is not enabled through > config, ASPM cannot be disabled. > ... > +#ifndef CONFIG_PCIEASPM > +/* > + * Always disable ASPM when requested, even when CONFIG_PCIEASPM is > + * not build to avoid drivers adding code to do it on their own > + * which caused issues when core does not know about the out-of-band > + * ASPM state changes. > + */ > +int pci_disable_link_state_locked(struct pci_dev *pdev, int state) > +{ > + struct pci_dev *parent = pdev->bus->self; > + struct pci_bus *linkbus = pdev->bus; > + struct pci_dev *child; > + u16 aspm_enabled, linkctl; > + int ret; > + > + if (!parent) > + return -ENODEV; P.S. I think this should look the same to the user (same dmesg log and same taint, if we do that) as the CONFIG_PCIEASPM=y case. > + ret = pcie_capability_read_word(parent, PCI_EXP_LNKCTL, &linkctl); > + if (ret != PCIBIOS_SUCCESSFUL) > + return pcibios_err_to_errno(ret); > + aspm_enabled = linkctl & PCI_EXP_LNKCTL_ASPMC; > + > + ret = pcie_capability_read_word(pdev, PCI_EXP_LNKCTL, &linkctl); > + if (ret != PCIBIOS_SUCCESSFUL) > + return pcibios_err_to_errno(ret); > + aspm_enabled |= linkctl & PCI_EXP_LNKCTL_ASPMC; > + > + /* If no states need to be disabled, don't touch LNKCTL */ > + if (state & aspm_enabled) > + return 0; > + > + ret = pcie_capability_clear_word(parent, PCI_EXP_LNKCTL, PCI_EXP_LNKCTL_ASPMC); > + if (ret != PCIBIOS_SUCCESSFUL) > + return pcibios_err_to_errno(ret); > + list_for_each_entry(child, &linkbus->devices, bus_list) > + pcie_capability_clear_word(child, PCI_EXP_LNKCTL, PCI_EXP_LNKCTL_ASPMC); This disables *all* ASPM states, unlike the version when CONFIG_PCIEASPM is enabled. I suppose there's a reason, and maybe a comment could elaborate on it? When CONFIG_PCIEASPM is not enabled, I don't think we actively *disable* ASPM in the hardware; we just leave it as-is, so firmware might have left it enabled. > + > + return 0; > +} Conceptually it seems like the LNKCTL updates here should be the same whether CONFIG_PCIEASPM is enabled or not (subject to the question above). When CONFIG_PCIEASPM is enabled, we might need to do more stuff, but it seems like the core should be the same. Bjorn 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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 8AD4ACDB47E for ; Wed, 11 Oct 2023 21:22:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Message-ID: Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:References: List-Owner; bh=ClwyPg8TkGGUOdM3i539YBM8dzzC47nQaYtICMdvGEc=; b=xfx1u/o/0Y6cMe HrQwOom8kMf2pUpeRQkp0pHTyAMz1EK9Hr1eKbLcgCWMsJebooxvdjZAZtW2YvGfIc2FXHQsz/Vka CWUlLjFoztWJ+GpDZXv27i9SimUJfM7dQemY7e5fKTFdE1KGuzDUS7mMBAb1vBY9lYE6zEMpCzGmw t87Ja5zz8DIqoS/7NqiXNZzmknLPiuPjpHM0oqKkNbe6YLsR5svGUHa705lqiD0irJ7nvNFW9livt ArgaRccKcG0xN6gOK301MnO2OpdKAGyKgI+ptxA6K6ayGMelvcpYr+k+fflzm7DaepZaT21FB9AOi dgNaAsG3q+6l+f4Bgs6A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qqgem-00Gjjq-0u; Wed, 11 Oct 2023 21:22:16 +0000 Received: from ams.source.kernel.org ([2604:1380:4601:e00::1]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qqgeg-00Gjgd-2e; Wed, 11 Oct 2023 21:22:12 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by ams.source.kernel.org (Postfix) with ESMTP id 510AAB82264; Wed, 11 Oct 2023 21:22:09 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4FCE2C433C8; Wed, 11 Oct 2023 21:22:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1697059328; bh=qpNUqw05PLc7b1md/614fr1Zk6arYszd1WK9gMvl0Os=; h=Date:From:To:Cc:Subject:In-Reply-To:From; b=ghyoFWHuCUoYAQQVImwLJec5By6IY8ldZU+IpgLhM86gHWNMMGsDK4I3bZN3O9HN6 DZ662abX5LzoV0AuEi9+5Ki6vZZQBQwOyiKdPRI4rA2aI7uLPzLKnygGYsAASzsGrz QKdQ9RXXuApQ6HirgahUGTdW+uLPDMBSzhJdQjS18i+uHHpiCtlwWFOhjYSCOugggW Duv0TMGaORQs/RXdvsCl/MbpQ76sczbG4Y1+Ext0ZSAafYpDZUgO9tYsFTZwJorZnI X29tvX4dE26f0/NdjlsksaHY7OVFRWeD2ft2MA6pgB+n+l9lv7LOpuKtJ8H4lcIsBg tvwjDEZAHbqog== Date: Wed, 11 Oct 2023 16:22:06 -0500 From: Bjorn Helgaas To: Ilpo =?utf-8?B?SsOkcnZpbmVu?= Cc: linux-pci@vger.kernel.org, Lorenzo Pieralisi , Rob Herring , Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= , Lukas Wunner , "Rafael J . Wysocki" , Heiner Kallweit , Emmanuel Grumbach , linux-kernel@vger.kernel.org, Bjorn Helgaas , ath10k@lists.infradead.org, ath11k@lists.infradead.org, ath12k@lists.infradead.org, intel-wired-lan@lists.osuosl.org, linux-arm-kernel@lists.infradead.org, linux-bluetooth@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-rdma@vger.kernel.org, linux-wireless@vger.kernel.org, netdev@vger.kernel.org Subject: Re: [PATCH v2 03/13] PCI/ASPM: Disable ASPM when driver requests it Message-ID: <20231011212206.GA1043224@bhelgaas> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20230918131103.24119-4-ilpo.jarvinen@linux.intel.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231011_142211_122002_05E1CC11 X-CRM114-Status: GOOD ( 22.63 ) 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 T24gTW9uLCBTZXAgMTgsIDIwMjMgYXQgMDQ6MTA6NTNQTSArMDMwMCwgSWxwbyBKw6RydmluZW4g d3JvdGU6Cj4gUENJIGNvcmUvQVNQTSBzZXJ2aWNlIGRyaXZlciBhbGxvd3MgY29udHJvbGxpbmcg QVNQTSBzdGF0ZSB0aHJvdWdoCj4gcGNpX2Rpc2FibGVfbGlua19zdGF0ZSgpIGFuZCBwY2lfZW5h YmxlX2xpbmtfc3RhdGUoKSBBUEkuIEl0IHdhcwo+IGRlY2lkZWQgZWFybGllciAoc2VlIHRoZSBM aW5rIGJlbG93KSwgdG8gbm90IGFsbG93IEFTUE0gY2hhbmdlcyB3aGVuIE9TCj4gZG9lcyBub3Qg aGF2ZSBjb250cm9sIG92ZXIgaXQgYnV0IG9ubHkgbG9nIGEgd2FybmluZyBhYm91dCB0aGUgcHJv YmxlbQo+IChjb21taXQgMmFkZDBlYzE0YzI1ICgiUENJL0FTUE06IFdhcm4gd2hlbiBkcml2ZXIg YXNrcyB0byBkaXNhYmxlIEFTUE0sCj4gYnV0IHdlIGNhbid0IGRvIGl0IikpLiBTaW1pbGFybHks IGlmIEFTUE0gaXMgbm90IGVuYWJsZWQgdGhyb3VnaAo+IGNvbmZpZywgQVNQTSBjYW5ub3QgYmUg ZGlzYWJsZWQuCj4gLi4uCgo+ICsjaWZuZGVmIENPTkZJR19QQ0lFQVNQTQo+ICsvKgo+ICsgKiBB bHdheXMgZGlzYWJsZSBBU1BNIHdoZW4gcmVxdWVzdGVkLCBldmVuIHdoZW4gQ09ORklHX1BDSUVB U1BNIGlzCj4gKyAqIG5vdCBidWlsZCB0byBhdm9pZCBkcml2ZXJzIGFkZGluZyBjb2RlIHRvIGRv IGl0IG9uIHRoZWlyIG93bgo+ICsgKiB3aGljaCBjYXVzZWQgaXNzdWVzIHdoZW4gY29yZSBkb2Vz IG5vdCBrbm93IGFib3V0IHRoZSBvdXQtb2YtYmFuZAo+ICsgKiBBU1BNIHN0YXRlIGNoYW5nZXMu Cj4gKyAqLwo+ICtpbnQgcGNpX2Rpc2FibGVfbGlua19zdGF0ZV9sb2NrZWQoc3RydWN0IHBjaV9k ZXYgKnBkZXYsIGludCBzdGF0ZSkKPiArewo+ICsJc3RydWN0IHBjaV9kZXYgKnBhcmVudCA9IHBk ZXYtPmJ1cy0+c2VsZjsKPiArCXN0cnVjdCBwY2lfYnVzICpsaW5rYnVzID0gcGRldi0+YnVzOwo+ ICsJc3RydWN0IHBjaV9kZXYgKmNoaWxkOwo+ICsJdTE2IGFzcG1fZW5hYmxlZCwgbGlua2N0bDsK PiArCWludCByZXQ7Cj4gKwo+ICsJaWYgKCFwYXJlbnQpCj4gKwkJcmV0dXJuIC1FTk9ERVY7CgpQ LlMuIEkgdGhpbmsgdGhpcyBzaG91bGQgbG9vayB0aGUgc2FtZSB0byB0aGUgdXNlciAoc2FtZSBk bWVzZyBsb2cgYW5kCnNhbWUgdGFpbnQsIGlmIHdlIGRvIHRoYXQpIGFzIHRoZSBDT05GSUdfUENJ RUFTUE09eSBjYXNlLgoKPiArCXJldCA9IHBjaWVfY2FwYWJpbGl0eV9yZWFkX3dvcmQocGFyZW50 LCBQQ0lfRVhQX0xOS0NUTCwgJmxpbmtjdGwpOwo+ICsJaWYgKHJldCAhPSBQQ0lCSU9TX1NVQ0NF U1NGVUwpCj4gKwkJcmV0dXJuIHBjaWJpb3NfZXJyX3RvX2Vycm5vKHJldCk7Cj4gKwlhc3BtX2Vu YWJsZWQgPSBsaW5rY3RsICYgUENJX0VYUF9MTktDVExfQVNQTUM7Cj4gKwo+ICsJcmV0ID0gcGNp ZV9jYXBhYmlsaXR5X3JlYWRfd29yZChwZGV2LCBQQ0lfRVhQX0xOS0NUTCwgJmxpbmtjdGwpOwo+ ICsJaWYgKHJldCAhPSBQQ0lCSU9TX1NVQ0NFU1NGVUwpCj4gKwkJcmV0dXJuIHBjaWJpb3NfZXJy X3RvX2Vycm5vKHJldCk7Cj4gKwlhc3BtX2VuYWJsZWQgfD0gbGlua2N0bCAmIFBDSV9FWFBfTE5L Q1RMX0FTUE1DOwo+ICsKPiArCS8qIElmIG5vIHN0YXRlcyBuZWVkIHRvIGJlIGRpc2FibGVkLCBk b24ndCB0b3VjaCBMTktDVEwgKi8KPiArCWlmIChzdGF0ZSAmIGFzcG1fZW5hYmxlZCkKPiArCQly ZXR1cm4gMDsKPiArCj4gKwlyZXQgPSBwY2llX2NhcGFiaWxpdHlfY2xlYXJfd29yZChwYXJlbnQs IFBDSV9FWFBfTE5LQ1RMLCBQQ0lfRVhQX0xOS0NUTF9BU1BNQyk7Cj4gKwlpZiAocmV0ICE9IFBD SUJJT1NfU1VDQ0VTU0ZVTCkKPiArCQlyZXR1cm4gcGNpYmlvc19lcnJfdG9fZXJybm8ocmV0KTsK PiArCWxpc3RfZm9yX2VhY2hfZW50cnkoY2hpbGQsICZsaW5rYnVzLT5kZXZpY2VzLCBidXNfbGlz dCkKPiArCQlwY2llX2NhcGFiaWxpdHlfY2xlYXJfd29yZChjaGlsZCwgUENJX0VYUF9MTktDVEws IFBDSV9FWFBfTE5LQ1RMX0FTUE1DKTsKClRoaXMgZGlzYWJsZXMgKmFsbCogQVNQTSBzdGF0ZXMs IHVubGlrZSB0aGUgdmVyc2lvbiB3aGVuCkNPTkZJR19QQ0lFQVNQTSBpcyBlbmFibGVkLiAgSSBz dXBwb3NlIHRoZXJlJ3MgYSByZWFzb24sIGFuZCBtYXliZSBhCmNvbW1lbnQgY291bGQgZWxhYm9y YXRlIG9uIGl0PwoKV2hlbiBDT05GSUdfUENJRUFTUE0gaXMgbm90IGVuYWJsZWQsIEkgZG9uJ3Qg dGhpbmsgd2UgYWN0aXZlbHkKKmRpc2FibGUqIEFTUE0gaW4gdGhlIGhhcmR3YXJlOyB3ZSBqdXN0 IGxlYXZlIGl0IGFzLWlzLCBzbyBmaXJtd2FyZQptaWdodCBoYXZlIGxlZnQgaXQgZW5hYmxlZC4K Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KCkNvbmNlcHR1YWxseSBpdCBzZWVtcyBsaWtlIHRoZSBM TktDVEwgdXBkYXRlcyBoZXJlIHNob3VsZCBiZSB0aGUgc2FtZQp3aGV0aGVyIENPTkZJR19QQ0lF QVNQTSBpcyBlbmFibGVkIG9yIG5vdCAoc3ViamVjdCB0byB0aGUgcXVlc3Rpb24KYWJvdmUpLgoK V2hlbiBDT05GSUdfUENJRUFTUE0gaXMgZW5hYmxlZCwgd2UgbWlnaHQgbmVlZCB0byBkbyBtb3Jl IHN0dWZmLCBidXQKaXQgc2VlbXMgbGlrZSB0aGUgY29yZSBzaG91bGQgYmUgdGhlIHNhbWUuCgpC am9ybgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGlu dXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRl YWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgt YXJtLWtlcm5lbAo=