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 E5940CD37B0 for ; Mon, 18 Sep 2023 13:19:06 +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: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=iZpc4GmTs3P2Jd+qCabMim7uRZEbopgu5U9DZMpKdmw=; b=fi50rMO7nD/4So DPIcBznVbM5AKhHttzefjuqeRkvcNOefbqPuMGjcVO7dzr8V1y5nWT4hXDR5tHe/TDI9JTIFnBhSH oZWF6JewTPveVwjBGCLCjmdIzpHr0ACxGNcRRs2fUKROaxEWePmYLjGrWKMgbfPS1WlNr9j3PiJG0 sFSFakWVmF5cGCRZBLMrOFLBH4/86hXjbFq0VJyrYcZjqYikKFwg2iunmkA/AnAmkDD/PXSPevXXA TSQn8HQCz5zudBiL7dVO+102xqVW5FkcimkK+jmJQ61hc3jyZoPu/GkNcz+O19F52p5FrGSe2oJTG URmRkn0QWfi2c/lPUIBQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qiE9a-00FWgP-20; Mon, 18 Sep 2023 13:19:06 +0000 Received: from mgamail.intel.com ([134.134.136.100]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qiE9X-00FWem-04; Mon, 18 Sep 2023 13:19:04 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1695043142; x=1726579142; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=4NBLfl/BS/3VShevYHOCVVW7LFobwQI1zr9aS+V1OKk=; b=Hgq0f+2JHAYs+UNdd8RW79sD7IkMswBNVuihXLYFa4e1hG78SnY2g9++ rStMWDdUmoMRCzMpd/+ri6tji9AV9uGsDw2QXKk04NrXbC1OyJSP23thB NhzushdAsdqzWwnwbHOmouJZVcIv7+BF/eR/WQwG+UVx88g2ZwGM1P7mw OTmzyQbuK1iRvzSxYQGXgNEStLF+6pDaoHS9fU5Qw9Eyi81PTqCcWP/l8 inswgtUayr9r4a28aIWa4CeBXrdJt7YPIhNf5qjb7XvuzRZy+i381Vgrb 4EEp0/HRp6Cx8VMlaF5OXHHkaZa2w2xDT+7BeYjYsfTRK462Lba6NOejh w==; X-IronPort-AV: E=McAfee;i="6600,9927,10837"; a="446112877" X-IronPort-AV: E=Sophos;i="6.02,156,1688454000"; d="scan'208";a="446112877" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Sep 2023 06:11:49 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10837"; a="811341550" X-IronPort-AV: E=Sophos;i="6.02,156,1688454000"; d="scan'208";a="811341550" Received: from nprotaso-mobl1.ccr.corp.intel.com (HELO ijarvine-mobl2.ger.corp.intel.com) ([10.252.49.156]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Sep 2023 06:11:43 -0700 From: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= To: linux-pci@vger.kernel.org, Bjorn Helgaas , Lorenzo Pieralisi , Rob Herring , =?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= , Lukas Wunner , "Rafael J . Wysocki" , Heiner Kallweit , Emmanuel Grumbach , linux-kernel@vger.kernel.org, Bjorn Helgaas Cc: 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, =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= Subject: [PATCH v2 03/13] PCI/ASPM: Disable ASPM when driver requests it Date: Mon, 18 Sep 2023 16:10:53 +0300 Message-Id: <20230918131103.24119-4-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230918131103.24119-1-ilpo.jarvinen@linux.intel.com> References: <20230918131103.24119-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230918_061903_154734_D52B6398 X-CRM114-Status: GOOD ( 29.30 ) 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 UENJIGNvcmUvQVNQTSBzZXJ2aWNlIGRyaXZlciBhbGxvd3MgY29udHJvbGxpbmcgQVNQTSBzdGF0 ZSB0aHJvdWdoCnBjaV9kaXNhYmxlX2xpbmtfc3RhdGUoKSBhbmQgcGNpX2VuYWJsZV9saW5rX3N0 YXRlKCkgQVBJLiBJdCB3YXMKZGVjaWRlZCBlYXJsaWVyIChzZWUgdGhlIExpbmsgYmVsb3cpLCB0 byBub3QgYWxsb3cgQVNQTSBjaGFuZ2VzIHdoZW4gT1MKZG9lcyBub3QgaGF2ZSBjb250cm9sIG92 ZXIgaXQgYnV0IG9ubHkgbG9nIGEgd2FybmluZyBhYm91dCB0aGUgcHJvYmxlbQooY29tbWl0IDJh ZGQwZWMxNGMyNSAoIlBDSS9BU1BNOiBXYXJuIHdoZW4gZHJpdmVyIGFza3MgdG8gZGlzYWJsZSBB U1BNLApidXQgd2UgY2FuJ3QgZG8gaXQiKSkuIFNpbWlsYXJseSwgaWYgQVNQTSBpcyBub3QgZW5h YmxlZCB0aHJvdWdoCmNvbmZpZywgQVNQTSBjYW5ub3QgYmUgZGlzYWJsZWQuCgpBIG51bWJlciBv ZiBkcml2ZXJzIGhhdmUgYWRkZWQgd29ya2Fyb3VuZHMgdG8gZm9yY2UgQVNQTSBvZmYgd2l0aCBv d24Kd3JpdGVzIGludG8gdGhlIExpbmsgQ29udHJvbCBSZWdpc3RlciAoc29tZSBldmVuIHdpdGgg Y29tbWVudHMKZXhwbGFpbmluZyB3aHkgUENJIGNvcmUgZG9lcyBub3QgZGlzYWJsZSBpdCB1bmRl ciBzb21lIGNpcmN1bXN0YW5jZXMpLgpBY2NvcmRpbmcgdG8gdGhlIGNvbW1lbnRzLCBzb21lIGRy aXZlcnMgcmVxdWlyZSBBU1BNIHRvIGJlIG9mZiBmb3IKcmVsaWFibGUgb3BlcmF0aW9uLgoKSGF2 aW5nIGN1c3RvbSBBU1BNIGhhbmRsaW5nIGluIGRyaXZlcnMgaXMgcHJvYmxlbWF0aWMgYmVjYXVz ZSB0aGUgc3RhdGUKa2VwdCBpbiB0aGUgQVNQTSBzZXJ2aWNlIGRyaXZlciBpcyBub3QgdXBkYXRl ZCBieSB0aGUgY2hhbmdlcyBtYWRlCm91dHNpZGUgdGhlIGxpbmsgc3RhdGUgbWFuYWdlbWVudCBB UEkuCgpBcyB0aGUgZmlyc3Qgc3RlcCB0byBhZGRyZXNzIHRoaXMgaXNzdWUsIG1ha2UgcGNpX2Rp c2FibGVfbGlua19zdGF0ZSgpCnRvIHVuY29uZGl0aW9uYWxseSBkaXNhYmxlIEFTUE0gc28gdGhl IG1vdGl2YXRpb24gZm9yIGRyaXZlcnMgdG8gY29tZQp1cCB3aXRoIGN1c3RvbSBBU1BNIGhhbmRs aW5nIGNvZGUgaXMgZWxpbWluYXRlZC4KClBsYWNlIHRoZSBtaW5pbWFsIEFTUE0gZGlzYWJsZSBo YW5kbGluZyBpbnRvIG93biBmaWxlIGFzIGl0IGlzIHRvbwpjb21wbGljYXRlZCB0byBmaXQgaW50 byBhIGhlYWRlciBhcyBzdGF0aWMgaW5saW5lIGFuZCBpdCBoYXMgYWxtb3N0IG5vCm92ZXJsYXAg d2l0aCB0aGUgZXhpc3RpbmcsIG1vcmUgY29tcGxpY2F0ZWQgQVNQTSBjb2RlIGluCmRyaXZlcnMv cGNpL3BjZS9hc3BtLmMuCgpNYWtlIHBjaV9kaXNhYmxlX2xpbmtfc3RhdGUoKSBmdW5jdGlvbiBj b21tZW50IHRvIGNvbXBseSBrZXJuZWxkb2MKZm9ybWF0dGluZyB3aGlsZSBjaGFuZ2luZyB0aGUg ZGVzY3JpcHRpb24uCgpMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9hbGwvQ0FOVVhfUDNG NVloYlpYM1dHVS1qMUFHcGJYYl9UOUJpczJFcmh2S2tGTXREdnphdFZRQG1haWwuZ21haWwuY29t LwpMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9hbGwvMjAyMzA1MTExMzE0NDEuNDU3MDQt MS1pbHBvLmphcnZpbmVuQGxpbnV4LmludGVsLmNvbS8KU2lnbmVkLW9mZi1ieTogSWxwbyBKw6Ry dmluZW4gPGlscG8uamFydmluZW5AbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvcGNpL3Bj aWUvTWFrZWZpbGUgICAgICAgfCAgMSArCiBkcml2ZXJzL3BjaS9wY2llL2FzcG0uYyAgICAgICAg IHwgMzMgKysrKysrKysrKy0tLS0tLS0KIGRyaXZlcnMvcGNpL3BjaWUvYXNwbV9taW5pbWFsLmMg fCA2NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGluY2x1ZGUvbGludXgvcGNp LmggICAgICAgICAgICAgfCAgNiArLS0KIDQgZmlsZXMgY2hhbmdlZCwgODggaW5zZXJ0aW9ucygr KSwgMTggZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9wY2kvcGNpZS9h c3BtX21pbmltYWwuYwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNpL3BjaWUvTWFrZWZpbGUgYi9k cml2ZXJzL3BjaS9wY2llL01ha2VmaWxlCmluZGV4IDhkZTRlZDVmOThmMS4uZWM3ZjA0MDM3YjAx IDEwMDY0NAotLS0gYS9kcml2ZXJzL3BjaS9wY2llL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvcGNp L3BjaWUvTWFrZWZpbGUKQEAgLTYsNiArNiw3IEBAIHBjaWVwb3J0ZHJ2LXkJCQk6PSBwb3J0ZHJ2 Lm8gcmNlYy5vCiAKIG9iai0kKENPTkZJR19QQ0lFUE9SVEJVUykJKz0gcGNpZXBvcnRkcnYubwog CitvYmoteQkJCQkrPSBhc3BtX21pbmltYWwubwogb2JqLSQoQ09ORklHX1BDSUVBU1BNKQkJKz0g YXNwbS5vCiBvYmotJChDT05GSUdfUENJRUFFUikJCSs9IGFlci5vIGVyci5vCiBvYmotJChDT05G SUdfUENJRUFFUl9JTkpFQ1QpCSs9IGFlcl9pbmplY3QubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9w Y2kvcGNpZS9hc3BtLmMgYi9kcml2ZXJzL3BjaS9wY2llL2FzcG0uYwppbmRleCA4NjBiYzk0OTc0 ZWMuLmVjNmQ3YTA5MmFjMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY2kvcGNpZS9hc3BtLmMKKysr IGIvZHJpdmVycy9wY2kvcGNpZS9hc3BtLmMKQEAgLTEwNDIsMTYgKzEwNDIsMjMgQEAgc3RhdGlj IGludCBfX3BjaV9kaXNhYmxlX2xpbmtfc3RhdGUoc3RydWN0IHBjaV9kZXYgKnBkZXYsIGludCBz dGF0ZSwgYm9vbCBzZW0pCiAJCXJldHVybiAtRUlOVkFMOwogCS8qCiAJICogQSBkcml2ZXIgcmVx dWVzdGVkIHRoYXQgQVNQTSBiZSBkaXNhYmxlZCBvbiB0aGlzIGRldmljZSwgYnV0Ci0JICogaWYg d2UgZG9uJ3QgaGF2ZSBwZXJtaXNzaW9uIHRvIG1hbmFnZSBBU1BNIChlLmcuLCBvbiBBQ1BJCisJ ICogaWYgd2UgbWlnaHQgbm90IGhhdmUgcGVybWlzc2lvbiB0byBtYW5hZ2UgQVNQTSAoZS5nLiwg b24gQUNQSQogCSAqIHN5c3RlbXMgd2UgaGF2ZSB0byBvYnNlcnZlIHRoZSBGQURUIEFDUElfRkFE VF9OT19BU1BNIGJpdCBhbmQKLQkgKiB0aGUgX09TQyBtZXRob2QpLCB3ZSBjYW4ndCBob25vciB0 aGF0IHJlcXVlc3QuICBXaW5kb3dzIGhhcwotCSAqIGEgc2ltaWxhciBtZWNoYW5pc20gdXNpbmcg IlBjaUFTUE1PcHRPdXQiLCB3aGljaCBpcyBhbHNvCi0JICogaWdub3JlZCBpbiB0aGlzIHNpdHVh dGlvbi4KKwkgKiB0aGUgX09TQyBtZXRob2QpLCBwcmV2aW91c2x5IHdlIGNob3NlIHRvIG5vdCBo b25vciBkaXNhYmxlCisJICogcmVxdWVzdCBpbiB0aGF0IGNhc2UuIFdpbmRvd3MgaGFzIGEgc2lt aWxhciBtZWNoYW5pc20gdXNpbmcKKwkgKiAiUGNpQVNQTU9wdE91dCIsIHdoaWNoIGlzIGFsc28g aWdub3JlZCBpbiB0aGlzIHNpdHVhdGlvbi4KKwkgKgorCSAqIE5vdCBob25vcmluZyB0aGUgcmVx dWVzdHMgdG8gZGlzYWJsZSBBU1BNLCBob3dldmVyLCBsZWQgdG8KKwkgKiBkcml2ZXJzIGZvcmNp bmcgQVNQTSBvZmYgb24gdGhlaXIgb3duLiBBcyBzdWNoIGNoYW5nZXMgb2YgQVNQTQorCSAqIHN0 YXRlIGFyZSBub3QgdHJhY2tlZCBieSB0aGlzIHNlcnZpY2UgZHJpdmVyLCB0aGUgc3RhdGUga2Vw dCBoZXJlCisJICogYmVjYW1lIG91dCBvZiBzeW5jLgorCSAqCisJICogVGhlcmVmb3JlLCBob25v ciBBU1BNIGRpc2FibGUgcmVxdWVzdHMgZXZlbiB3aGVuIE9TIGRvZXMgbm90IGhhdmUKKwkgKiBB U1BNIGNvbnRyb2wuIFBsYWluIGRpc2FibGUgZm9yIEFTUE0gaXMgYXNzdW1lZCB0byBiZSBzbGln aHRseQorCSAqIHNhZmVyIHRoYW4gZnVsbHkgbWFuYWdpbmcgaXQuCiAJICovCi0JaWYgKGFzcG1f ZGlzYWJsZWQpIHsKLQkJcGNpX3dhcm4ocGRldiwgImNhbid0IGRpc2FibGUgQVNQTTsgT1MgZG9l c24ndCBoYXZlIEFTUE0gY29udHJvbFxuIik7Ci0JCXJldHVybiAtRVBFUk07Ci0JfQorCWlmIChh c3BtX2Rpc2FibGVkKQorCQlwY2lfd2FybihwZGV2LCAiT1MgZG9lc24ndCBoYXZlIEFTUE0gY29u dHJvbCwgZGlzYWJsaW5nIEFTUE0gYW55d2F5XG4iKTsKIAogCWlmIChzZW0pCiAJCWRvd25fcmVh ZCgmcGNpX2J1c19zZW0pOwpAQCAtMTA4NywxMyArMTA5NCwxMyBAQCBpbnQgcGNpX2Rpc2FibGVf bGlua19zdGF0ZV9sb2NrZWQoc3RydWN0IHBjaV9kZXYgKnBkZXYsIGludCBzdGF0ZSkKIEVYUE9S VF9TWU1CT0wocGNpX2Rpc2FibGVfbGlua19zdGF0ZV9sb2NrZWQpOwogCiAvKioKLSAqIHBjaV9k aXNhYmxlX2xpbmtfc3RhdGUgLSBEaXNhYmxlIGRldmljZSdzIGxpbmsgc3RhdGUsIHNvIHRoZSBs aW5rIHdpbGwKLSAqIG5ldmVyIGVudGVyIHNwZWNpZmljIHN0YXRlcy4gIE5vdGUgdGhhdCBpZiB0 aGUgQklPUyBkaWRuJ3QgZ3JhbnQgQVNQTQotICogY29udHJvbCB0byB0aGUgT1MsIHRoaXMgZG9l cyBub3RoaW5nIGJlY2F1c2Ugd2UgY2FuJ3QgdG91Y2ggdGhlIExOS0NUTAotICogcmVnaXN0ZXIu IFJldHVybnMgMCBvciBhIG5lZ2F0aXZlIGVycm5vLgotICoKKyAqIHBjaV9kaXNhYmxlX2xpbmtf c3RhdGUgLSBEaXNhYmxlIGRldmljZSdzIGxpbmsgc3RhdGUKICAqIEBwZGV2OiBQQ0kgZGV2aWNl CiAgKiBAc3RhdGU6IEFTUE0gbGluayBzdGF0ZSB0byBkaXNhYmxlCisgKgorICogRGlzYWJsZSBk ZXZpY2UncyBsaW5rIHN0YXRlIHNvIHRoZSBsaW5rIHdpbGwgbmV2ZXIgZW50ZXIgc3BlY2lmaWMg c3RhdGVzLgorICoKKyAqIFJldHVybjogMCBvciBhIG5lZ2F0aXZlIGVycm5vCiAgKi8KIGludCBw Y2lfZGlzYWJsZV9saW5rX3N0YXRlKHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBpbnQgc3RhdGUpCiB7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjaS9wY2llL2FzcG1fbWluaW1hbC5jIGIvZHJpdmVycy9w Y2kvcGNpZS9hc3BtX21pbmltYWwuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMDAuLjRlNGY2M2U1MWIyMQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvcGNpL3BjaWUv YXNwbV9taW5pbWFsLmMKQEAgLTAsMCArMSw2NiBAQAorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEdQTC0yLjAtb25seQorLyoKKyAqIE1pbmltYWwgUENJZSBBU1BNIGhhbmRsaW5nIHdoZW4g Q09ORklHX1BDSUVBU1BNIGlzIG5vdCBzZXQuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDIzIElu dGVsIENvcnBvcmF0aW9uLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKworI2luY2x1 ZGUgIi4uL3BjaS5oIgorCisjaWZuZGVmIENPTkZJR19QQ0lFQVNQTQorLyoKKyAqIEFsd2F5cyBk aXNhYmxlIEFTUE0gd2hlbiByZXF1ZXN0ZWQsIGV2ZW4gd2hlbiBDT05GSUdfUENJRUFTUE0gaXMK KyAqIG5vdCBidWlsZCB0byBhdm9pZCBkcml2ZXJzIGFkZGluZyBjb2RlIHRvIGRvIGl0IG9uIHRo ZWlyIG93bgorICogd2hpY2ggY2F1c2VkIGlzc3VlcyB3aGVuIGNvcmUgZG9lcyBub3Qga25vdyBh Ym91dCB0aGUgb3V0LW9mLWJhbmQKKyAqIEFTUE0gc3RhdGUgY2hhbmdlcy4KKyAqLworaW50IHBj aV9kaXNhYmxlX2xpbmtfc3RhdGVfbG9ja2VkKHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBpbnQgc3Rh dGUpCit7CisJc3RydWN0IHBjaV9kZXYgKnBhcmVudCA9IHBkZXYtPmJ1cy0+c2VsZjsKKwlzdHJ1 Y3QgcGNpX2J1cyAqbGlua2J1cyA9IHBkZXYtPmJ1czsKKwlzdHJ1Y3QgcGNpX2RldiAqY2hpbGQ7 CisJdTE2IGFzcG1fZW5hYmxlZCwgbGlua2N0bDsKKwlpbnQgcmV0OworCisJaWYgKCFwYXJlbnQp CisJCXJldHVybiAtRU5PREVWOworCisJcmV0ID0gcGNpZV9jYXBhYmlsaXR5X3JlYWRfd29yZChw YXJlbnQsIFBDSV9FWFBfTE5LQ1RMLCAmbGlua2N0bCk7CisJaWYgKHJldCAhPSBQQ0lCSU9TX1NV Q0NFU1NGVUwpCisJCXJldHVybiBwY2liaW9zX2Vycl90b19lcnJubyhyZXQpOworCWFzcG1fZW5h YmxlZCA9IGxpbmtjdGwgJiBQQ0lfRVhQX0xOS0NUTF9BU1BNQzsKKworCXJldCA9IHBjaWVfY2Fw YWJpbGl0eV9yZWFkX3dvcmQocGRldiwgUENJX0VYUF9MTktDVEwsICZsaW5rY3RsKTsKKwlpZiAo cmV0ICE9IFBDSUJJT1NfU1VDQ0VTU0ZVTCkKKwkJcmV0dXJuIHBjaWJpb3NfZXJyX3RvX2Vycm5v KHJldCk7CisJYXNwbV9lbmFibGVkIHw9IGxpbmtjdGwgJiBQQ0lfRVhQX0xOS0NUTF9BU1BNQzsK KworCS8qIElmIG5vIHN0YXRlcyBuZWVkIHRvIGJlIGRpc2FibGVkLCBkb24ndCB0b3VjaCBMTktD VEwgKi8KKwlpZiAoc3RhdGUgJiBhc3BtX2VuYWJsZWQpCisJCXJldHVybiAwOworCisJcmV0ID0g cGNpZV9jYXBhYmlsaXR5X2NsZWFyX3dvcmQocGFyZW50LCBQQ0lfRVhQX0xOS0NUTCwgUENJX0VY UF9MTktDVExfQVNQTUMpOworCWlmIChyZXQgIT0gUENJQklPU19TVUNDRVNTRlVMKQorCQlyZXR1 cm4gcGNpYmlvc19lcnJfdG9fZXJybm8ocmV0KTsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGNoaWxk LCAmbGlua2J1cy0+ZGV2aWNlcywgYnVzX2xpc3QpCisJCXBjaWVfY2FwYWJpbGl0eV9jbGVhcl93 b3JkKGNoaWxkLCBQQ0lfRVhQX0xOS0NUTCwgUENJX0VYUF9MTktDVExfQVNQTUMpOworCisJcmV0 dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MKHBjaV9kaXNhYmxlX2xpbmtfc3RhdGVfbG9ja2VkKTsK KworaW50IHBjaV9kaXNhYmxlX2xpbmtfc3RhdGUoc3RydWN0IHBjaV9kZXYgKnBkZXYsIGludCBz dGF0ZSkKK3sKKwlpbnQgcmV0OworCisJZG93bl9yZWFkKCZwY2lfYnVzX3NlbSk7CisJcmV0ID0g cGNpX2Rpc2FibGVfbGlua19zdGF0ZV9sb2NrZWQocGRldiwgc3RhdGUpOworCXVwX3JlYWQoJnBj aV9idXNfc2VtKTsKKworCXJldHVybiByZXQ7Cit9CitFWFBPUlRfU1lNQk9MKHBjaV9kaXNhYmxl X2xpbmtfc3RhdGUpOworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcGNpLmgg Yi9pbmNsdWRlL2xpbnV4L3BjaS5oCmluZGV4IDdkZjU2OTg4ZmY0OC4uM2MyNGNhMTY0MTA0IDEw MDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3BjaS5oCisrKyBiL2luY2x1ZGUvbGludXgvcGNpLmgK QEAgLTE3NzMsMTggKzE3NzMsMTQgQEAgZXh0ZXJuIGJvb2wgcGNpZV9wb3J0c19uYXRpdmU7CiAJ CQkJCSBQQ0lFX0xJTktfU1RBVEVfTDFfMiB8IFBDSUVfTElOS19TVEFURV9MMV8xX1BDSVBNIHxc CiAJCQkJCSBQQ0lFX0xJTktfU1RBVEVfTDFfMl9QQ0lQTSkKIAotI2lmZGVmIENPTkZJR19QQ0lF QVNQTQogaW50IHBjaV9kaXNhYmxlX2xpbmtfc3RhdGUoc3RydWN0IHBjaV9kZXYgKnBkZXYsIGlu dCBzdGF0ZSk7CiBpbnQgcGNpX2Rpc2FibGVfbGlua19zdGF0ZV9sb2NrZWQoc3RydWN0IHBjaV9k ZXYgKnBkZXYsIGludCBzdGF0ZSk7CisjaWZkZWYgQ09ORklHX1BDSUVBU1BNCiBpbnQgcGNpX3Nl dF9kZWZhdWx0X2xpbmtfc3RhdGUoc3RydWN0IHBjaV9kZXYgKnBkZXYsIGludCBzdGF0ZSk7CiB2 b2lkIHBjaWVfbm9fYXNwbSh2b2lkKTsKIGJvb2wgcGNpZV9hc3BtX3N1cHBvcnRfZW5hYmxlZCh2 b2lkKTsKIGJvb2wgcGNpZV9hc3BtX2VuYWJsZWQoc3RydWN0IHBjaV9kZXYgKnBkZXYpOwogI2Vs c2UKLXN0YXRpYyBpbmxpbmUgaW50IHBjaV9kaXNhYmxlX2xpbmtfc3RhdGUoc3RydWN0IHBjaV9k ZXYgKnBkZXYsIGludCBzdGF0ZSkKLXsgcmV0dXJuIDA7IH0KLXN0YXRpYyBpbmxpbmUgaW50IHBj aV9kaXNhYmxlX2xpbmtfc3RhdGVfbG9ja2VkKHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBpbnQgc3Rh dGUpCi17IHJldHVybiAwOyB9CiBzdGF0aWMgaW5saW5lIGludCBwY2lfc2V0X2RlZmF1bHRfbGlu a19zdGF0ZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwgaW50IHN0YXRlKQogeyByZXR1cm4gMDsgfQog c3RhdGljIGlubGluZSB2b2lkIHBjaWVfbm9fYXNwbSh2b2lkKSB7IH0KLS0gCjIuMzAuMgoKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmF0aDEwayBtYWls aW5nIGxpc3QKYXRoMTBrQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVh ZC5vcmcvbWFpbG1hbi9saXN0aW5mby9hdGgxMGsK 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 06D6FCD13D8 for ; Mon, 18 Sep 2023 13:19:08 +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: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=CUxHbKFauYL3ycal1c5r+s0hF44jILPRxwJSmEddBHs=; b=2FPektNQYiPL0k dj6v3FHu9ydX4g8oe6DNje035Krs/xgA0fQ1135eFtgo2wnNN9a0vNOsfldtXd0cbnVBJj0CocPKg kAU9HAwUE1jknv2u3/biZmEw32lD0xcg7adG1s4ndX9DIvExGdbitF06nbQBwNlnfksQL+oMJD6DY DJttNIYx6IZHV8ubwGBY2hLAIYteUxsu0WhE6HswhRW61uJWYYfHBtS4UpOs/Yu4Fjbeo1BFeNTUa DXChakrzs+Tcz8+oPwCzQJU7pm3yWn4nnvWN3nGa02eOM5yh9hBv6NNqxrP6u7CNUkuYmHb6Tvkfx PpwGgkt7ioCAONbL//Bw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qiE9c-00FWhv-1p; Mon, 18 Sep 2023 13:19:08 +0000 Received: from mgamail.intel.com ([134.134.136.100]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qiE9X-00FWem-04; Mon, 18 Sep 2023 13:19:04 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1695043142; x=1726579142; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=4NBLfl/BS/3VShevYHOCVVW7LFobwQI1zr9aS+V1OKk=; b=Hgq0f+2JHAYs+UNdd8RW79sD7IkMswBNVuihXLYFa4e1hG78SnY2g9++ rStMWDdUmoMRCzMpd/+ri6tji9AV9uGsDw2QXKk04NrXbC1OyJSP23thB NhzushdAsdqzWwnwbHOmouJZVcIv7+BF/eR/WQwG+UVx88g2ZwGM1P7mw OTmzyQbuK1iRvzSxYQGXgNEStLF+6pDaoHS9fU5Qw9Eyi81PTqCcWP/l8 inswgtUayr9r4a28aIWa4CeBXrdJt7YPIhNf5qjb7XvuzRZy+i381Vgrb 4EEp0/HRp6Cx8VMlaF5OXHHkaZa2w2xDT+7BeYjYsfTRK462Lba6NOejh w==; X-IronPort-AV: E=McAfee;i="6600,9927,10837"; a="446112877" X-IronPort-AV: E=Sophos;i="6.02,156,1688454000"; d="scan'208";a="446112877" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Sep 2023 06:11:49 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10837"; a="811341550" X-IronPort-AV: E=Sophos;i="6.02,156,1688454000"; d="scan'208";a="811341550" Received: from nprotaso-mobl1.ccr.corp.intel.com (HELO ijarvine-mobl2.ger.corp.intel.com) ([10.252.49.156]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Sep 2023 06:11:43 -0700 From: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= To: linux-pci@vger.kernel.org, Bjorn Helgaas , Lorenzo Pieralisi , Rob Herring , =?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= , Lukas Wunner , "Rafael J . Wysocki" , Heiner Kallweit , Emmanuel Grumbach , linux-kernel@vger.kernel.org, Bjorn Helgaas Cc: 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, =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= Subject: [PATCH v2 03/13] PCI/ASPM: Disable ASPM when driver requests it Date: Mon, 18 Sep 2023 16:10:53 +0300 Message-Id: <20230918131103.24119-4-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230918131103.24119-1-ilpo.jarvinen@linux.intel.com> References: <20230918131103.24119-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230918_061903_154734_D52B6398 X-CRM114-Status: GOOD ( 29.30 ) 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 UENJIGNvcmUvQVNQTSBzZXJ2aWNlIGRyaXZlciBhbGxvd3MgY29udHJvbGxpbmcgQVNQTSBzdGF0 ZSB0aHJvdWdoCnBjaV9kaXNhYmxlX2xpbmtfc3RhdGUoKSBhbmQgcGNpX2VuYWJsZV9saW5rX3N0 YXRlKCkgQVBJLiBJdCB3YXMKZGVjaWRlZCBlYXJsaWVyIChzZWUgdGhlIExpbmsgYmVsb3cpLCB0 byBub3QgYWxsb3cgQVNQTSBjaGFuZ2VzIHdoZW4gT1MKZG9lcyBub3QgaGF2ZSBjb250cm9sIG92 ZXIgaXQgYnV0IG9ubHkgbG9nIGEgd2FybmluZyBhYm91dCB0aGUgcHJvYmxlbQooY29tbWl0IDJh ZGQwZWMxNGMyNSAoIlBDSS9BU1BNOiBXYXJuIHdoZW4gZHJpdmVyIGFza3MgdG8gZGlzYWJsZSBB U1BNLApidXQgd2UgY2FuJ3QgZG8gaXQiKSkuIFNpbWlsYXJseSwgaWYgQVNQTSBpcyBub3QgZW5h YmxlZCB0aHJvdWdoCmNvbmZpZywgQVNQTSBjYW5ub3QgYmUgZGlzYWJsZWQuCgpBIG51bWJlciBv ZiBkcml2ZXJzIGhhdmUgYWRkZWQgd29ya2Fyb3VuZHMgdG8gZm9yY2UgQVNQTSBvZmYgd2l0aCBv d24Kd3JpdGVzIGludG8gdGhlIExpbmsgQ29udHJvbCBSZWdpc3RlciAoc29tZSBldmVuIHdpdGgg Y29tbWVudHMKZXhwbGFpbmluZyB3aHkgUENJIGNvcmUgZG9lcyBub3QgZGlzYWJsZSBpdCB1bmRl ciBzb21lIGNpcmN1bXN0YW5jZXMpLgpBY2NvcmRpbmcgdG8gdGhlIGNvbW1lbnRzLCBzb21lIGRy aXZlcnMgcmVxdWlyZSBBU1BNIHRvIGJlIG9mZiBmb3IKcmVsaWFibGUgb3BlcmF0aW9uLgoKSGF2 aW5nIGN1c3RvbSBBU1BNIGhhbmRsaW5nIGluIGRyaXZlcnMgaXMgcHJvYmxlbWF0aWMgYmVjYXVz ZSB0aGUgc3RhdGUKa2VwdCBpbiB0aGUgQVNQTSBzZXJ2aWNlIGRyaXZlciBpcyBub3QgdXBkYXRl ZCBieSB0aGUgY2hhbmdlcyBtYWRlCm91dHNpZGUgdGhlIGxpbmsgc3RhdGUgbWFuYWdlbWVudCBB UEkuCgpBcyB0aGUgZmlyc3Qgc3RlcCB0byBhZGRyZXNzIHRoaXMgaXNzdWUsIG1ha2UgcGNpX2Rp c2FibGVfbGlua19zdGF0ZSgpCnRvIHVuY29uZGl0aW9uYWxseSBkaXNhYmxlIEFTUE0gc28gdGhl IG1vdGl2YXRpb24gZm9yIGRyaXZlcnMgdG8gY29tZQp1cCB3aXRoIGN1c3RvbSBBU1BNIGhhbmRs aW5nIGNvZGUgaXMgZWxpbWluYXRlZC4KClBsYWNlIHRoZSBtaW5pbWFsIEFTUE0gZGlzYWJsZSBo YW5kbGluZyBpbnRvIG93biBmaWxlIGFzIGl0IGlzIHRvbwpjb21wbGljYXRlZCB0byBmaXQgaW50 byBhIGhlYWRlciBhcyBzdGF0aWMgaW5saW5lIGFuZCBpdCBoYXMgYWxtb3N0IG5vCm92ZXJsYXAg d2l0aCB0aGUgZXhpc3RpbmcsIG1vcmUgY29tcGxpY2F0ZWQgQVNQTSBjb2RlIGluCmRyaXZlcnMv cGNpL3BjZS9hc3BtLmMuCgpNYWtlIHBjaV9kaXNhYmxlX2xpbmtfc3RhdGUoKSBmdW5jdGlvbiBj b21tZW50IHRvIGNvbXBseSBrZXJuZWxkb2MKZm9ybWF0dGluZyB3aGlsZSBjaGFuZ2luZyB0aGUg ZGVzY3JpcHRpb24uCgpMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9hbGwvQ0FOVVhfUDNG NVloYlpYM1dHVS1qMUFHcGJYYl9UOUJpczJFcmh2S2tGTXREdnphdFZRQG1haWwuZ21haWwuY29t LwpMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9hbGwvMjAyMzA1MTExMzE0NDEuNDU3MDQt MS1pbHBvLmphcnZpbmVuQGxpbnV4LmludGVsLmNvbS8KU2lnbmVkLW9mZi1ieTogSWxwbyBKw6Ry dmluZW4gPGlscG8uamFydmluZW5AbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvcGNpL3Bj aWUvTWFrZWZpbGUgICAgICAgfCAgMSArCiBkcml2ZXJzL3BjaS9wY2llL2FzcG0uYyAgICAgICAg IHwgMzMgKysrKysrKysrKy0tLS0tLS0KIGRyaXZlcnMvcGNpL3BjaWUvYXNwbV9taW5pbWFsLmMg fCA2NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGluY2x1ZGUvbGludXgvcGNp LmggICAgICAgICAgICAgfCAgNiArLS0KIDQgZmlsZXMgY2hhbmdlZCwgODggaW5zZXJ0aW9ucygr KSwgMTggZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9wY2kvcGNpZS9h c3BtX21pbmltYWwuYwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNpL3BjaWUvTWFrZWZpbGUgYi9k cml2ZXJzL3BjaS9wY2llL01ha2VmaWxlCmluZGV4IDhkZTRlZDVmOThmMS4uZWM3ZjA0MDM3YjAx IDEwMDY0NAotLS0gYS9kcml2ZXJzL3BjaS9wY2llL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvcGNp L3BjaWUvTWFrZWZpbGUKQEAgLTYsNiArNiw3IEBAIHBjaWVwb3J0ZHJ2LXkJCQk6PSBwb3J0ZHJ2 Lm8gcmNlYy5vCiAKIG9iai0kKENPTkZJR19QQ0lFUE9SVEJVUykJKz0gcGNpZXBvcnRkcnYubwog CitvYmoteQkJCQkrPSBhc3BtX21pbmltYWwubwogb2JqLSQoQ09ORklHX1BDSUVBU1BNKQkJKz0g YXNwbS5vCiBvYmotJChDT05GSUdfUENJRUFFUikJCSs9IGFlci5vIGVyci5vCiBvYmotJChDT05G SUdfUENJRUFFUl9JTkpFQ1QpCSs9IGFlcl9pbmplY3QubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9w Y2kvcGNpZS9hc3BtLmMgYi9kcml2ZXJzL3BjaS9wY2llL2FzcG0uYwppbmRleCA4NjBiYzk0OTc0 ZWMuLmVjNmQ3YTA5MmFjMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY2kvcGNpZS9hc3BtLmMKKysr IGIvZHJpdmVycy9wY2kvcGNpZS9hc3BtLmMKQEAgLTEwNDIsMTYgKzEwNDIsMjMgQEAgc3RhdGlj IGludCBfX3BjaV9kaXNhYmxlX2xpbmtfc3RhdGUoc3RydWN0IHBjaV9kZXYgKnBkZXYsIGludCBz dGF0ZSwgYm9vbCBzZW0pCiAJCXJldHVybiAtRUlOVkFMOwogCS8qCiAJICogQSBkcml2ZXIgcmVx dWVzdGVkIHRoYXQgQVNQTSBiZSBkaXNhYmxlZCBvbiB0aGlzIGRldmljZSwgYnV0Ci0JICogaWYg d2UgZG9uJ3QgaGF2ZSBwZXJtaXNzaW9uIHRvIG1hbmFnZSBBU1BNIChlLmcuLCBvbiBBQ1BJCisJ ICogaWYgd2UgbWlnaHQgbm90IGhhdmUgcGVybWlzc2lvbiB0byBtYW5hZ2UgQVNQTSAoZS5nLiwg b24gQUNQSQogCSAqIHN5c3RlbXMgd2UgaGF2ZSB0byBvYnNlcnZlIHRoZSBGQURUIEFDUElfRkFE VF9OT19BU1BNIGJpdCBhbmQKLQkgKiB0aGUgX09TQyBtZXRob2QpLCB3ZSBjYW4ndCBob25vciB0 aGF0IHJlcXVlc3QuICBXaW5kb3dzIGhhcwotCSAqIGEgc2ltaWxhciBtZWNoYW5pc20gdXNpbmcg IlBjaUFTUE1PcHRPdXQiLCB3aGljaCBpcyBhbHNvCi0JICogaWdub3JlZCBpbiB0aGlzIHNpdHVh dGlvbi4KKwkgKiB0aGUgX09TQyBtZXRob2QpLCBwcmV2aW91c2x5IHdlIGNob3NlIHRvIG5vdCBo b25vciBkaXNhYmxlCisJICogcmVxdWVzdCBpbiB0aGF0IGNhc2UuIFdpbmRvd3MgaGFzIGEgc2lt aWxhciBtZWNoYW5pc20gdXNpbmcKKwkgKiAiUGNpQVNQTU9wdE91dCIsIHdoaWNoIGlzIGFsc28g aWdub3JlZCBpbiB0aGlzIHNpdHVhdGlvbi4KKwkgKgorCSAqIE5vdCBob25vcmluZyB0aGUgcmVx dWVzdHMgdG8gZGlzYWJsZSBBU1BNLCBob3dldmVyLCBsZWQgdG8KKwkgKiBkcml2ZXJzIGZvcmNp bmcgQVNQTSBvZmYgb24gdGhlaXIgb3duLiBBcyBzdWNoIGNoYW5nZXMgb2YgQVNQTQorCSAqIHN0 YXRlIGFyZSBub3QgdHJhY2tlZCBieSB0aGlzIHNlcnZpY2UgZHJpdmVyLCB0aGUgc3RhdGUga2Vw dCBoZXJlCisJICogYmVjYW1lIG91dCBvZiBzeW5jLgorCSAqCisJICogVGhlcmVmb3JlLCBob25v ciBBU1BNIGRpc2FibGUgcmVxdWVzdHMgZXZlbiB3aGVuIE9TIGRvZXMgbm90IGhhdmUKKwkgKiBB U1BNIGNvbnRyb2wuIFBsYWluIGRpc2FibGUgZm9yIEFTUE0gaXMgYXNzdW1lZCB0byBiZSBzbGln aHRseQorCSAqIHNhZmVyIHRoYW4gZnVsbHkgbWFuYWdpbmcgaXQuCiAJICovCi0JaWYgKGFzcG1f ZGlzYWJsZWQpIHsKLQkJcGNpX3dhcm4ocGRldiwgImNhbid0IGRpc2FibGUgQVNQTTsgT1MgZG9l c24ndCBoYXZlIEFTUE0gY29udHJvbFxuIik7Ci0JCXJldHVybiAtRVBFUk07Ci0JfQorCWlmIChh c3BtX2Rpc2FibGVkKQorCQlwY2lfd2FybihwZGV2LCAiT1MgZG9lc24ndCBoYXZlIEFTUE0gY29u dHJvbCwgZGlzYWJsaW5nIEFTUE0gYW55d2F5XG4iKTsKIAogCWlmIChzZW0pCiAJCWRvd25fcmVh ZCgmcGNpX2J1c19zZW0pOwpAQCAtMTA4NywxMyArMTA5NCwxMyBAQCBpbnQgcGNpX2Rpc2FibGVf bGlua19zdGF0ZV9sb2NrZWQoc3RydWN0IHBjaV9kZXYgKnBkZXYsIGludCBzdGF0ZSkKIEVYUE9S VF9TWU1CT0wocGNpX2Rpc2FibGVfbGlua19zdGF0ZV9sb2NrZWQpOwogCiAvKioKLSAqIHBjaV9k aXNhYmxlX2xpbmtfc3RhdGUgLSBEaXNhYmxlIGRldmljZSdzIGxpbmsgc3RhdGUsIHNvIHRoZSBs aW5rIHdpbGwKLSAqIG5ldmVyIGVudGVyIHNwZWNpZmljIHN0YXRlcy4gIE5vdGUgdGhhdCBpZiB0 aGUgQklPUyBkaWRuJ3QgZ3JhbnQgQVNQTQotICogY29udHJvbCB0byB0aGUgT1MsIHRoaXMgZG9l cyBub3RoaW5nIGJlY2F1c2Ugd2UgY2FuJ3QgdG91Y2ggdGhlIExOS0NUTAotICogcmVnaXN0ZXIu IFJldHVybnMgMCBvciBhIG5lZ2F0aXZlIGVycm5vLgotICoKKyAqIHBjaV9kaXNhYmxlX2xpbmtf c3RhdGUgLSBEaXNhYmxlIGRldmljZSdzIGxpbmsgc3RhdGUKICAqIEBwZGV2OiBQQ0kgZGV2aWNl CiAgKiBAc3RhdGU6IEFTUE0gbGluayBzdGF0ZSB0byBkaXNhYmxlCisgKgorICogRGlzYWJsZSBk ZXZpY2UncyBsaW5rIHN0YXRlIHNvIHRoZSBsaW5rIHdpbGwgbmV2ZXIgZW50ZXIgc3BlY2lmaWMg c3RhdGVzLgorICoKKyAqIFJldHVybjogMCBvciBhIG5lZ2F0aXZlIGVycm5vCiAgKi8KIGludCBw Y2lfZGlzYWJsZV9saW5rX3N0YXRlKHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBpbnQgc3RhdGUpCiB7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjaS9wY2llL2FzcG1fbWluaW1hbC5jIGIvZHJpdmVycy9w Y2kvcGNpZS9hc3BtX21pbmltYWwuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMDAuLjRlNGY2M2U1MWIyMQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvcGNpL3BjaWUv YXNwbV9taW5pbWFsLmMKQEAgLTAsMCArMSw2NiBAQAorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEdQTC0yLjAtb25seQorLyoKKyAqIE1pbmltYWwgUENJZSBBU1BNIGhhbmRsaW5nIHdoZW4g Q09ORklHX1BDSUVBU1BNIGlzIG5vdCBzZXQuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDIzIElu dGVsIENvcnBvcmF0aW9uLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKworI2luY2x1 ZGUgIi4uL3BjaS5oIgorCisjaWZuZGVmIENPTkZJR19QQ0lFQVNQTQorLyoKKyAqIEFsd2F5cyBk aXNhYmxlIEFTUE0gd2hlbiByZXF1ZXN0ZWQsIGV2ZW4gd2hlbiBDT05GSUdfUENJRUFTUE0gaXMK KyAqIG5vdCBidWlsZCB0byBhdm9pZCBkcml2ZXJzIGFkZGluZyBjb2RlIHRvIGRvIGl0IG9uIHRo ZWlyIG93bgorICogd2hpY2ggY2F1c2VkIGlzc3VlcyB3aGVuIGNvcmUgZG9lcyBub3Qga25vdyBh Ym91dCB0aGUgb3V0LW9mLWJhbmQKKyAqIEFTUE0gc3RhdGUgY2hhbmdlcy4KKyAqLworaW50IHBj aV9kaXNhYmxlX2xpbmtfc3RhdGVfbG9ja2VkKHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBpbnQgc3Rh dGUpCit7CisJc3RydWN0IHBjaV9kZXYgKnBhcmVudCA9IHBkZXYtPmJ1cy0+c2VsZjsKKwlzdHJ1 Y3QgcGNpX2J1cyAqbGlua2J1cyA9IHBkZXYtPmJ1czsKKwlzdHJ1Y3QgcGNpX2RldiAqY2hpbGQ7 CisJdTE2IGFzcG1fZW5hYmxlZCwgbGlua2N0bDsKKwlpbnQgcmV0OworCisJaWYgKCFwYXJlbnQp CisJCXJldHVybiAtRU5PREVWOworCisJcmV0ID0gcGNpZV9jYXBhYmlsaXR5X3JlYWRfd29yZChw YXJlbnQsIFBDSV9FWFBfTE5LQ1RMLCAmbGlua2N0bCk7CisJaWYgKHJldCAhPSBQQ0lCSU9TX1NV Q0NFU1NGVUwpCisJCXJldHVybiBwY2liaW9zX2Vycl90b19lcnJubyhyZXQpOworCWFzcG1fZW5h YmxlZCA9IGxpbmtjdGwgJiBQQ0lfRVhQX0xOS0NUTF9BU1BNQzsKKworCXJldCA9IHBjaWVfY2Fw YWJpbGl0eV9yZWFkX3dvcmQocGRldiwgUENJX0VYUF9MTktDVEwsICZsaW5rY3RsKTsKKwlpZiAo cmV0ICE9IFBDSUJJT1NfU1VDQ0VTU0ZVTCkKKwkJcmV0dXJuIHBjaWJpb3NfZXJyX3RvX2Vycm5v KHJldCk7CisJYXNwbV9lbmFibGVkIHw9IGxpbmtjdGwgJiBQQ0lfRVhQX0xOS0NUTF9BU1BNQzsK KworCS8qIElmIG5vIHN0YXRlcyBuZWVkIHRvIGJlIGRpc2FibGVkLCBkb24ndCB0b3VjaCBMTktD VEwgKi8KKwlpZiAoc3RhdGUgJiBhc3BtX2VuYWJsZWQpCisJCXJldHVybiAwOworCisJcmV0ID0g cGNpZV9jYXBhYmlsaXR5X2NsZWFyX3dvcmQocGFyZW50LCBQQ0lfRVhQX0xOS0NUTCwgUENJX0VY UF9MTktDVExfQVNQTUMpOworCWlmIChyZXQgIT0gUENJQklPU19TVUNDRVNTRlVMKQorCQlyZXR1 cm4gcGNpYmlvc19lcnJfdG9fZXJybm8ocmV0KTsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGNoaWxk LCAmbGlua2J1cy0+ZGV2aWNlcywgYnVzX2xpc3QpCisJCXBjaWVfY2FwYWJpbGl0eV9jbGVhcl93 b3JkKGNoaWxkLCBQQ0lfRVhQX0xOS0NUTCwgUENJX0VYUF9MTktDVExfQVNQTUMpOworCisJcmV0 dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MKHBjaV9kaXNhYmxlX2xpbmtfc3RhdGVfbG9ja2VkKTsK KworaW50IHBjaV9kaXNhYmxlX2xpbmtfc3RhdGUoc3RydWN0IHBjaV9kZXYgKnBkZXYsIGludCBz dGF0ZSkKK3sKKwlpbnQgcmV0OworCisJZG93bl9yZWFkKCZwY2lfYnVzX3NlbSk7CisJcmV0ID0g cGNpX2Rpc2FibGVfbGlua19zdGF0ZV9sb2NrZWQocGRldiwgc3RhdGUpOworCXVwX3JlYWQoJnBj aV9idXNfc2VtKTsKKworCXJldHVybiByZXQ7Cit9CitFWFBPUlRfU1lNQk9MKHBjaV9kaXNhYmxl X2xpbmtfc3RhdGUpOworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcGNpLmgg Yi9pbmNsdWRlL2xpbnV4L3BjaS5oCmluZGV4IDdkZjU2OTg4ZmY0OC4uM2MyNGNhMTY0MTA0IDEw MDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3BjaS5oCisrKyBiL2luY2x1ZGUvbGludXgvcGNpLmgK QEAgLTE3NzMsMTggKzE3NzMsMTQgQEAgZXh0ZXJuIGJvb2wgcGNpZV9wb3J0c19uYXRpdmU7CiAJ CQkJCSBQQ0lFX0xJTktfU1RBVEVfTDFfMiB8IFBDSUVfTElOS19TVEFURV9MMV8xX1BDSVBNIHxc CiAJCQkJCSBQQ0lFX0xJTktfU1RBVEVfTDFfMl9QQ0lQTSkKIAotI2lmZGVmIENPTkZJR19QQ0lF QVNQTQogaW50IHBjaV9kaXNhYmxlX2xpbmtfc3RhdGUoc3RydWN0IHBjaV9kZXYgKnBkZXYsIGlu dCBzdGF0ZSk7CiBpbnQgcGNpX2Rpc2FibGVfbGlua19zdGF0ZV9sb2NrZWQoc3RydWN0IHBjaV9k ZXYgKnBkZXYsIGludCBzdGF0ZSk7CisjaWZkZWYgQ09ORklHX1BDSUVBU1BNCiBpbnQgcGNpX3Nl dF9kZWZhdWx0X2xpbmtfc3RhdGUoc3RydWN0IHBjaV9kZXYgKnBkZXYsIGludCBzdGF0ZSk7CiB2 b2lkIHBjaWVfbm9fYXNwbSh2b2lkKTsKIGJvb2wgcGNpZV9hc3BtX3N1cHBvcnRfZW5hYmxlZCh2 b2lkKTsKIGJvb2wgcGNpZV9hc3BtX2VuYWJsZWQoc3RydWN0IHBjaV9kZXYgKnBkZXYpOwogI2Vs c2UKLXN0YXRpYyBpbmxpbmUgaW50IHBjaV9kaXNhYmxlX2xpbmtfc3RhdGUoc3RydWN0IHBjaV9k ZXYgKnBkZXYsIGludCBzdGF0ZSkKLXsgcmV0dXJuIDA7IH0KLXN0YXRpYyBpbmxpbmUgaW50IHBj aV9kaXNhYmxlX2xpbmtfc3RhdGVfbG9ja2VkKHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBpbnQgc3Rh dGUpCi17IHJldHVybiAwOyB9CiBzdGF0aWMgaW5saW5lIGludCBwY2lfc2V0X2RlZmF1bHRfbGlu a19zdGF0ZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwgaW50IHN0YXRlKQogeyByZXR1cm4gMDsgfQog c3RhdGljIGlubGluZSB2b2lkIHBjaWVfbm9fYXNwbSh2b2lkKSB7IH0KLS0gCjIuMzAuMgoKCi0t IAphdGgxMWsgbWFpbGluZyBsaXN0CmF0aDExa0BsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9s aXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vYXRoMTFrCg== 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 BB379C46CA1 for ; Mon, 18 Sep 2023 13:19:07 +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: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=SYu2S7wet9AsDjL6KEsbHQB+90nePgVwM4bWPaBh2sE=; b=ZE9TW/sd7D6Yih d1oaTBQcCVYiahF9Rr4+ViqeVS1Ptpum8oTMG8XKtRYpadY6yFxx50T09/TtL/lk5L+bk6DaD6WxM QQYbf2xdFUkpm5UNpQW4DDAzew9ZKoioLbyNgf8I7ejsuQ3EzXREqEQwKdNJK5cWmAIWNQntAqIMQ oK108dPSQuwX3wGgwg0IQozjKTSC9QHRfHBIrVwkblQCYxVR6Dx+uZxpiOw6aMcKQ0cqn2F6R1SJ+ GKDy9avzk0vcEH51ZLQX+yiE4PAwv6iSfHHtySF894ztn3eU7Pqu0YnC2kjCU71EZa7F0vfloQgpm gElCP69FE09rUHVy7xcA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qiE9b-00FWgy-1W for ath12k@archiver.kernel.org; Mon, 18 Sep 2023 13:19:07 +0000 Received: from mgamail.intel.com ([134.134.136.100]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qiE9X-00FWem-04; Mon, 18 Sep 2023 13:19:04 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1695043142; x=1726579142; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=4NBLfl/BS/3VShevYHOCVVW7LFobwQI1zr9aS+V1OKk=; b=Hgq0f+2JHAYs+UNdd8RW79sD7IkMswBNVuihXLYFa4e1hG78SnY2g9++ rStMWDdUmoMRCzMpd/+ri6tji9AV9uGsDw2QXKk04NrXbC1OyJSP23thB NhzushdAsdqzWwnwbHOmouJZVcIv7+BF/eR/WQwG+UVx88g2ZwGM1P7mw OTmzyQbuK1iRvzSxYQGXgNEStLF+6pDaoHS9fU5Qw9Eyi81PTqCcWP/l8 inswgtUayr9r4a28aIWa4CeBXrdJt7YPIhNf5qjb7XvuzRZy+i381Vgrb 4EEp0/HRp6Cx8VMlaF5OXHHkaZa2w2xDT+7BeYjYsfTRK462Lba6NOejh w==; X-IronPort-AV: E=McAfee;i="6600,9927,10837"; a="446112877" X-IronPort-AV: E=Sophos;i="6.02,156,1688454000"; d="scan'208";a="446112877" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Sep 2023 06:11:49 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10837"; a="811341550" X-IronPort-AV: E=Sophos;i="6.02,156,1688454000"; d="scan'208";a="811341550" Received: from nprotaso-mobl1.ccr.corp.intel.com (HELO ijarvine-mobl2.ger.corp.intel.com) ([10.252.49.156]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Sep 2023 06:11:43 -0700 From: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= To: linux-pci@vger.kernel.org, Bjorn Helgaas , Lorenzo Pieralisi , Rob Herring , =?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= , Lukas Wunner , "Rafael J . Wysocki" , Heiner Kallweit , Emmanuel Grumbach , linux-kernel@vger.kernel.org, Bjorn Helgaas Cc: 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, =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= Subject: [PATCH v2 03/13] PCI/ASPM: Disable ASPM when driver requests it Date: Mon, 18 Sep 2023 16:10:53 +0300 Message-Id: <20230918131103.24119-4-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230918131103.24119-1-ilpo.jarvinen@linux.intel.com> References: <20230918131103.24119-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230918_061903_154734_D52B6398 X-CRM114-Status: GOOD ( 29.30 ) 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 UENJIGNvcmUvQVNQTSBzZXJ2aWNlIGRyaXZlciBhbGxvd3MgY29udHJvbGxpbmcgQVNQTSBzdGF0 ZSB0aHJvdWdoCnBjaV9kaXNhYmxlX2xpbmtfc3RhdGUoKSBhbmQgcGNpX2VuYWJsZV9saW5rX3N0 YXRlKCkgQVBJLiBJdCB3YXMKZGVjaWRlZCBlYXJsaWVyIChzZWUgdGhlIExpbmsgYmVsb3cpLCB0 byBub3QgYWxsb3cgQVNQTSBjaGFuZ2VzIHdoZW4gT1MKZG9lcyBub3QgaGF2ZSBjb250cm9sIG92 ZXIgaXQgYnV0IG9ubHkgbG9nIGEgd2FybmluZyBhYm91dCB0aGUgcHJvYmxlbQooY29tbWl0IDJh ZGQwZWMxNGMyNSAoIlBDSS9BU1BNOiBXYXJuIHdoZW4gZHJpdmVyIGFza3MgdG8gZGlzYWJsZSBB U1BNLApidXQgd2UgY2FuJ3QgZG8gaXQiKSkuIFNpbWlsYXJseSwgaWYgQVNQTSBpcyBub3QgZW5h YmxlZCB0aHJvdWdoCmNvbmZpZywgQVNQTSBjYW5ub3QgYmUgZGlzYWJsZWQuCgpBIG51bWJlciBv ZiBkcml2ZXJzIGhhdmUgYWRkZWQgd29ya2Fyb3VuZHMgdG8gZm9yY2UgQVNQTSBvZmYgd2l0aCBv d24Kd3JpdGVzIGludG8gdGhlIExpbmsgQ29udHJvbCBSZWdpc3RlciAoc29tZSBldmVuIHdpdGgg Y29tbWVudHMKZXhwbGFpbmluZyB3aHkgUENJIGNvcmUgZG9lcyBub3QgZGlzYWJsZSBpdCB1bmRl ciBzb21lIGNpcmN1bXN0YW5jZXMpLgpBY2NvcmRpbmcgdG8gdGhlIGNvbW1lbnRzLCBzb21lIGRy aXZlcnMgcmVxdWlyZSBBU1BNIHRvIGJlIG9mZiBmb3IKcmVsaWFibGUgb3BlcmF0aW9uLgoKSGF2 aW5nIGN1c3RvbSBBU1BNIGhhbmRsaW5nIGluIGRyaXZlcnMgaXMgcHJvYmxlbWF0aWMgYmVjYXVz ZSB0aGUgc3RhdGUKa2VwdCBpbiB0aGUgQVNQTSBzZXJ2aWNlIGRyaXZlciBpcyBub3QgdXBkYXRl ZCBieSB0aGUgY2hhbmdlcyBtYWRlCm91dHNpZGUgdGhlIGxpbmsgc3RhdGUgbWFuYWdlbWVudCBB UEkuCgpBcyB0aGUgZmlyc3Qgc3RlcCB0byBhZGRyZXNzIHRoaXMgaXNzdWUsIG1ha2UgcGNpX2Rp c2FibGVfbGlua19zdGF0ZSgpCnRvIHVuY29uZGl0aW9uYWxseSBkaXNhYmxlIEFTUE0gc28gdGhl IG1vdGl2YXRpb24gZm9yIGRyaXZlcnMgdG8gY29tZQp1cCB3aXRoIGN1c3RvbSBBU1BNIGhhbmRs aW5nIGNvZGUgaXMgZWxpbWluYXRlZC4KClBsYWNlIHRoZSBtaW5pbWFsIEFTUE0gZGlzYWJsZSBo YW5kbGluZyBpbnRvIG93biBmaWxlIGFzIGl0IGlzIHRvbwpjb21wbGljYXRlZCB0byBmaXQgaW50 byBhIGhlYWRlciBhcyBzdGF0aWMgaW5saW5lIGFuZCBpdCBoYXMgYWxtb3N0IG5vCm92ZXJsYXAg d2l0aCB0aGUgZXhpc3RpbmcsIG1vcmUgY29tcGxpY2F0ZWQgQVNQTSBjb2RlIGluCmRyaXZlcnMv cGNpL3BjZS9hc3BtLmMuCgpNYWtlIHBjaV9kaXNhYmxlX2xpbmtfc3RhdGUoKSBmdW5jdGlvbiBj b21tZW50IHRvIGNvbXBseSBrZXJuZWxkb2MKZm9ybWF0dGluZyB3aGlsZSBjaGFuZ2luZyB0aGUg ZGVzY3JpcHRpb24uCgpMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9hbGwvQ0FOVVhfUDNG NVloYlpYM1dHVS1qMUFHcGJYYl9UOUJpczJFcmh2S2tGTXREdnphdFZRQG1haWwuZ21haWwuY29t LwpMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9hbGwvMjAyMzA1MTExMzE0NDEuNDU3MDQt MS1pbHBvLmphcnZpbmVuQGxpbnV4LmludGVsLmNvbS8KU2lnbmVkLW9mZi1ieTogSWxwbyBKw6Ry dmluZW4gPGlscG8uamFydmluZW5AbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvcGNpL3Bj aWUvTWFrZWZpbGUgICAgICAgfCAgMSArCiBkcml2ZXJzL3BjaS9wY2llL2FzcG0uYyAgICAgICAg IHwgMzMgKysrKysrKysrKy0tLS0tLS0KIGRyaXZlcnMvcGNpL3BjaWUvYXNwbV9taW5pbWFsLmMg fCA2NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGluY2x1ZGUvbGludXgvcGNp LmggICAgICAgICAgICAgfCAgNiArLS0KIDQgZmlsZXMgY2hhbmdlZCwgODggaW5zZXJ0aW9ucygr KSwgMTggZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9wY2kvcGNpZS9h c3BtX21pbmltYWwuYwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNpL3BjaWUvTWFrZWZpbGUgYi9k cml2ZXJzL3BjaS9wY2llL01ha2VmaWxlCmluZGV4IDhkZTRlZDVmOThmMS4uZWM3ZjA0MDM3YjAx IDEwMDY0NAotLS0gYS9kcml2ZXJzL3BjaS9wY2llL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvcGNp L3BjaWUvTWFrZWZpbGUKQEAgLTYsNiArNiw3IEBAIHBjaWVwb3J0ZHJ2LXkJCQk6PSBwb3J0ZHJ2 Lm8gcmNlYy5vCiAKIG9iai0kKENPTkZJR19QQ0lFUE9SVEJVUykJKz0gcGNpZXBvcnRkcnYubwog CitvYmoteQkJCQkrPSBhc3BtX21pbmltYWwubwogb2JqLSQoQ09ORklHX1BDSUVBU1BNKQkJKz0g YXNwbS5vCiBvYmotJChDT05GSUdfUENJRUFFUikJCSs9IGFlci5vIGVyci5vCiBvYmotJChDT05G SUdfUENJRUFFUl9JTkpFQ1QpCSs9IGFlcl9pbmplY3QubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9w Y2kvcGNpZS9hc3BtLmMgYi9kcml2ZXJzL3BjaS9wY2llL2FzcG0uYwppbmRleCA4NjBiYzk0OTc0 ZWMuLmVjNmQ3YTA5MmFjMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY2kvcGNpZS9hc3BtLmMKKysr IGIvZHJpdmVycy9wY2kvcGNpZS9hc3BtLmMKQEAgLTEwNDIsMTYgKzEwNDIsMjMgQEAgc3RhdGlj IGludCBfX3BjaV9kaXNhYmxlX2xpbmtfc3RhdGUoc3RydWN0IHBjaV9kZXYgKnBkZXYsIGludCBz dGF0ZSwgYm9vbCBzZW0pCiAJCXJldHVybiAtRUlOVkFMOwogCS8qCiAJICogQSBkcml2ZXIgcmVx dWVzdGVkIHRoYXQgQVNQTSBiZSBkaXNhYmxlZCBvbiB0aGlzIGRldmljZSwgYnV0Ci0JICogaWYg d2UgZG9uJ3QgaGF2ZSBwZXJtaXNzaW9uIHRvIG1hbmFnZSBBU1BNIChlLmcuLCBvbiBBQ1BJCisJ ICogaWYgd2UgbWlnaHQgbm90IGhhdmUgcGVybWlzc2lvbiB0byBtYW5hZ2UgQVNQTSAoZS5nLiwg b24gQUNQSQogCSAqIHN5c3RlbXMgd2UgaGF2ZSB0byBvYnNlcnZlIHRoZSBGQURUIEFDUElfRkFE VF9OT19BU1BNIGJpdCBhbmQKLQkgKiB0aGUgX09TQyBtZXRob2QpLCB3ZSBjYW4ndCBob25vciB0 aGF0IHJlcXVlc3QuICBXaW5kb3dzIGhhcwotCSAqIGEgc2ltaWxhciBtZWNoYW5pc20gdXNpbmcg IlBjaUFTUE1PcHRPdXQiLCB3aGljaCBpcyBhbHNvCi0JICogaWdub3JlZCBpbiB0aGlzIHNpdHVh dGlvbi4KKwkgKiB0aGUgX09TQyBtZXRob2QpLCBwcmV2aW91c2x5IHdlIGNob3NlIHRvIG5vdCBo b25vciBkaXNhYmxlCisJICogcmVxdWVzdCBpbiB0aGF0IGNhc2UuIFdpbmRvd3MgaGFzIGEgc2lt aWxhciBtZWNoYW5pc20gdXNpbmcKKwkgKiAiUGNpQVNQTU9wdE91dCIsIHdoaWNoIGlzIGFsc28g aWdub3JlZCBpbiB0aGlzIHNpdHVhdGlvbi4KKwkgKgorCSAqIE5vdCBob25vcmluZyB0aGUgcmVx dWVzdHMgdG8gZGlzYWJsZSBBU1BNLCBob3dldmVyLCBsZWQgdG8KKwkgKiBkcml2ZXJzIGZvcmNp bmcgQVNQTSBvZmYgb24gdGhlaXIgb3duLiBBcyBzdWNoIGNoYW5nZXMgb2YgQVNQTQorCSAqIHN0 YXRlIGFyZSBub3QgdHJhY2tlZCBieSB0aGlzIHNlcnZpY2UgZHJpdmVyLCB0aGUgc3RhdGUga2Vw dCBoZXJlCisJICogYmVjYW1lIG91dCBvZiBzeW5jLgorCSAqCisJICogVGhlcmVmb3JlLCBob25v ciBBU1BNIGRpc2FibGUgcmVxdWVzdHMgZXZlbiB3aGVuIE9TIGRvZXMgbm90IGhhdmUKKwkgKiBB U1BNIGNvbnRyb2wuIFBsYWluIGRpc2FibGUgZm9yIEFTUE0gaXMgYXNzdW1lZCB0byBiZSBzbGln aHRseQorCSAqIHNhZmVyIHRoYW4gZnVsbHkgbWFuYWdpbmcgaXQuCiAJICovCi0JaWYgKGFzcG1f ZGlzYWJsZWQpIHsKLQkJcGNpX3dhcm4ocGRldiwgImNhbid0IGRpc2FibGUgQVNQTTsgT1MgZG9l c24ndCBoYXZlIEFTUE0gY29udHJvbFxuIik7Ci0JCXJldHVybiAtRVBFUk07Ci0JfQorCWlmIChh c3BtX2Rpc2FibGVkKQorCQlwY2lfd2FybihwZGV2LCAiT1MgZG9lc24ndCBoYXZlIEFTUE0gY29u dHJvbCwgZGlzYWJsaW5nIEFTUE0gYW55d2F5XG4iKTsKIAogCWlmIChzZW0pCiAJCWRvd25fcmVh ZCgmcGNpX2J1c19zZW0pOwpAQCAtMTA4NywxMyArMTA5NCwxMyBAQCBpbnQgcGNpX2Rpc2FibGVf bGlua19zdGF0ZV9sb2NrZWQoc3RydWN0IHBjaV9kZXYgKnBkZXYsIGludCBzdGF0ZSkKIEVYUE9S VF9TWU1CT0wocGNpX2Rpc2FibGVfbGlua19zdGF0ZV9sb2NrZWQpOwogCiAvKioKLSAqIHBjaV9k aXNhYmxlX2xpbmtfc3RhdGUgLSBEaXNhYmxlIGRldmljZSdzIGxpbmsgc3RhdGUsIHNvIHRoZSBs aW5rIHdpbGwKLSAqIG5ldmVyIGVudGVyIHNwZWNpZmljIHN0YXRlcy4gIE5vdGUgdGhhdCBpZiB0 aGUgQklPUyBkaWRuJ3QgZ3JhbnQgQVNQTQotICogY29udHJvbCB0byB0aGUgT1MsIHRoaXMgZG9l cyBub3RoaW5nIGJlY2F1c2Ugd2UgY2FuJ3QgdG91Y2ggdGhlIExOS0NUTAotICogcmVnaXN0ZXIu IFJldHVybnMgMCBvciBhIG5lZ2F0aXZlIGVycm5vLgotICoKKyAqIHBjaV9kaXNhYmxlX2xpbmtf c3RhdGUgLSBEaXNhYmxlIGRldmljZSdzIGxpbmsgc3RhdGUKICAqIEBwZGV2OiBQQ0kgZGV2aWNl CiAgKiBAc3RhdGU6IEFTUE0gbGluayBzdGF0ZSB0byBkaXNhYmxlCisgKgorICogRGlzYWJsZSBk ZXZpY2UncyBsaW5rIHN0YXRlIHNvIHRoZSBsaW5rIHdpbGwgbmV2ZXIgZW50ZXIgc3BlY2lmaWMg c3RhdGVzLgorICoKKyAqIFJldHVybjogMCBvciBhIG5lZ2F0aXZlIGVycm5vCiAgKi8KIGludCBw Y2lfZGlzYWJsZV9saW5rX3N0YXRlKHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBpbnQgc3RhdGUpCiB7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjaS9wY2llL2FzcG1fbWluaW1hbC5jIGIvZHJpdmVycy9w Y2kvcGNpZS9hc3BtX21pbmltYWwuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMDAuLjRlNGY2M2U1MWIyMQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvcGNpL3BjaWUv YXNwbV9taW5pbWFsLmMKQEAgLTAsMCArMSw2NiBAQAorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEdQTC0yLjAtb25seQorLyoKKyAqIE1pbmltYWwgUENJZSBBU1BNIGhhbmRsaW5nIHdoZW4g Q09ORklHX1BDSUVBU1BNIGlzIG5vdCBzZXQuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDIzIElu dGVsIENvcnBvcmF0aW9uLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKworI2luY2x1 ZGUgIi4uL3BjaS5oIgorCisjaWZuZGVmIENPTkZJR19QQ0lFQVNQTQorLyoKKyAqIEFsd2F5cyBk aXNhYmxlIEFTUE0gd2hlbiByZXF1ZXN0ZWQsIGV2ZW4gd2hlbiBDT05GSUdfUENJRUFTUE0gaXMK KyAqIG5vdCBidWlsZCB0byBhdm9pZCBkcml2ZXJzIGFkZGluZyBjb2RlIHRvIGRvIGl0IG9uIHRo ZWlyIG93bgorICogd2hpY2ggY2F1c2VkIGlzc3VlcyB3aGVuIGNvcmUgZG9lcyBub3Qga25vdyBh Ym91dCB0aGUgb3V0LW9mLWJhbmQKKyAqIEFTUE0gc3RhdGUgY2hhbmdlcy4KKyAqLworaW50IHBj aV9kaXNhYmxlX2xpbmtfc3RhdGVfbG9ja2VkKHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBpbnQgc3Rh dGUpCit7CisJc3RydWN0IHBjaV9kZXYgKnBhcmVudCA9IHBkZXYtPmJ1cy0+c2VsZjsKKwlzdHJ1 Y3QgcGNpX2J1cyAqbGlua2J1cyA9IHBkZXYtPmJ1czsKKwlzdHJ1Y3QgcGNpX2RldiAqY2hpbGQ7 CisJdTE2IGFzcG1fZW5hYmxlZCwgbGlua2N0bDsKKwlpbnQgcmV0OworCisJaWYgKCFwYXJlbnQp CisJCXJldHVybiAtRU5PREVWOworCisJcmV0ID0gcGNpZV9jYXBhYmlsaXR5X3JlYWRfd29yZChw YXJlbnQsIFBDSV9FWFBfTE5LQ1RMLCAmbGlua2N0bCk7CisJaWYgKHJldCAhPSBQQ0lCSU9TX1NV Q0NFU1NGVUwpCisJCXJldHVybiBwY2liaW9zX2Vycl90b19lcnJubyhyZXQpOworCWFzcG1fZW5h YmxlZCA9IGxpbmtjdGwgJiBQQ0lfRVhQX0xOS0NUTF9BU1BNQzsKKworCXJldCA9IHBjaWVfY2Fw YWJpbGl0eV9yZWFkX3dvcmQocGRldiwgUENJX0VYUF9MTktDVEwsICZsaW5rY3RsKTsKKwlpZiAo cmV0ICE9IFBDSUJJT1NfU1VDQ0VTU0ZVTCkKKwkJcmV0dXJuIHBjaWJpb3NfZXJyX3RvX2Vycm5v KHJldCk7CisJYXNwbV9lbmFibGVkIHw9IGxpbmtjdGwgJiBQQ0lfRVhQX0xOS0NUTF9BU1BNQzsK KworCS8qIElmIG5vIHN0YXRlcyBuZWVkIHRvIGJlIGRpc2FibGVkLCBkb24ndCB0b3VjaCBMTktD VEwgKi8KKwlpZiAoc3RhdGUgJiBhc3BtX2VuYWJsZWQpCisJCXJldHVybiAwOworCisJcmV0ID0g cGNpZV9jYXBhYmlsaXR5X2NsZWFyX3dvcmQocGFyZW50LCBQQ0lfRVhQX0xOS0NUTCwgUENJX0VY UF9MTktDVExfQVNQTUMpOworCWlmIChyZXQgIT0gUENJQklPU19TVUNDRVNTRlVMKQorCQlyZXR1 cm4gcGNpYmlvc19lcnJfdG9fZXJybm8ocmV0KTsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGNoaWxk LCAmbGlua2J1cy0+ZGV2aWNlcywgYnVzX2xpc3QpCisJCXBjaWVfY2FwYWJpbGl0eV9jbGVhcl93 b3JkKGNoaWxkLCBQQ0lfRVhQX0xOS0NUTCwgUENJX0VYUF9MTktDVExfQVNQTUMpOworCisJcmV0 dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MKHBjaV9kaXNhYmxlX2xpbmtfc3RhdGVfbG9ja2VkKTsK KworaW50IHBjaV9kaXNhYmxlX2xpbmtfc3RhdGUoc3RydWN0IHBjaV9kZXYgKnBkZXYsIGludCBz dGF0ZSkKK3sKKwlpbnQgcmV0OworCisJZG93bl9yZWFkKCZwY2lfYnVzX3NlbSk7CisJcmV0ID0g cGNpX2Rpc2FibGVfbGlua19zdGF0ZV9sb2NrZWQocGRldiwgc3RhdGUpOworCXVwX3JlYWQoJnBj aV9idXNfc2VtKTsKKworCXJldHVybiByZXQ7Cit9CitFWFBPUlRfU1lNQk9MKHBjaV9kaXNhYmxl X2xpbmtfc3RhdGUpOworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcGNpLmgg Yi9pbmNsdWRlL2xpbnV4L3BjaS5oCmluZGV4IDdkZjU2OTg4ZmY0OC4uM2MyNGNhMTY0MTA0IDEw MDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3BjaS5oCisrKyBiL2luY2x1ZGUvbGludXgvcGNpLmgK QEAgLTE3NzMsMTggKzE3NzMsMTQgQEAgZXh0ZXJuIGJvb2wgcGNpZV9wb3J0c19uYXRpdmU7CiAJ CQkJCSBQQ0lFX0xJTktfU1RBVEVfTDFfMiB8IFBDSUVfTElOS19TVEFURV9MMV8xX1BDSVBNIHxc CiAJCQkJCSBQQ0lFX0xJTktfU1RBVEVfTDFfMl9QQ0lQTSkKIAotI2lmZGVmIENPTkZJR19QQ0lF QVNQTQogaW50IHBjaV9kaXNhYmxlX2xpbmtfc3RhdGUoc3RydWN0IHBjaV9kZXYgKnBkZXYsIGlu dCBzdGF0ZSk7CiBpbnQgcGNpX2Rpc2FibGVfbGlua19zdGF0ZV9sb2NrZWQoc3RydWN0IHBjaV9k ZXYgKnBkZXYsIGludCBzdGF0ZSk7CisjaWZkZWYgQ09ORklHX1BDSUVBU1BNCiBpbnQgcGNpX3Nl dF9kZWZhdWx0X2xpbmtfc3RhdGUoc3RydWN0IHBjaV9kZXYgKnBkZXYsIGludCBzdGF0ZSk7CiB2 b2lkIHBjaWVfbm9fYXNwbSh2b2lkKTsKIGJvb2wgcGNpZV9hc3BtX3N1cHBvcnRfZW5hYmxlZCh2 b2lkKTsKIGJvb2wgcGNpZV9hc3BtX2VuYWJsZWQoc3RydWN0IHBjaV9kZXYgKnBkZXYpOwogI2Vs c2UKLXN0YXRpYyBpbmxpbmUgaW50IHBjaV9kaXNhYmxlX2xpbmtfc3RhdGUoc3RydWN0IHBjaV9k ZXYgKnBkZXYsIGludCBzdGF0ZSkKLXsgcmV0dXJuIDA7IH0KLXN0YXRpYyBpbmxpbmUgaW50IHBj aV9kaXNhYmxlX2xpbmtfc3RhdGVfbG9ja2VkKHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBpbnQgc3Rh dGUpCi17IHJldHVybiAwOyB9CiBzdGF0aWMgaW5saW5lIGludCBwY2lfc2V0X2RlZmF1bHRfbGlu a19zdGF0ZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwgaW50IHN0YXRlKQogeyByZXR1cm4gMDsgfQog c3RhdGljIGlubGluZSB2b2lkIHBjaWVfbm9fYXNwbSh2b2lkKSB7IH0KLS0gCjIuMzAuMgoKCi0t IAphdGgxMmsgbWFpbGluZyBsaXN0CmF0aDEya0BsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHBzOi8v bGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2F0aDEyawo= 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 smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136]) (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 E75CFCD13DD for ; Mon, 18 Sep 2023 15:18:47 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id 9949A614DD; Mon, 18 Sep 2023 15:18:47 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 9949A614DD DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org; s=default; t=1695050327; bh=KUbMqrRHefRux7V//UKto8EdCShrwhbSHg1y76bJwj4=; h=From:To:Date:In-Reply-To:References:Subject:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: Cc:From; b=GL6bjP+QbVM4MHYTPJJ/DheDd1LAdDSnaCse9FIxW/k+Be5lFxNVnk4RUUynu8KMz TUyaLWepzvJqmJf4tIQ2u3eV2cTV3MY7z6iqTdzqT5l/Dqfjo7DtZJufyZgx7qqNNt WflUqdWZ/MRMnCN9C6MuXTRvIfrGdc/RJz0TPkzGLuj67H+eeqwoNvDEPFj6OmUVRx raCExtjXY1hnAUwU1RKfytrA0Lmz99nwhZwVpMgG1Iu6jNVCmvbgTuKr3Dvvu2ZnUF lUGvNn2w8NcDfBsj3XdWu+ma8suDEGt/8SsDikmNZU9F5G/kpyKs/ZyNvRDv5ZFALl gsOT4XGLFWzsA== X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KbS4JpTzcjnz; Mon, 18 Sep 2023 15:18:45 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by smtp3.osuosl.org (Postfix) with ESMTP id 9BE93614E1; Mon, 18 Sep 2023 15:18:45 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 9BE93614E1 Received: from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id DB2041BF312 for ; Mon, 18 Sep 2023 13:19:03 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id B39328201E for ; Mon, 18 Sep 2023 13:19:03 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org B39328201E X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tlvu2W_L3MCS for ; Mon, 18 Sep 2023 13:19:02 +0000 (UTC) Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100]) by smtp1.osuosl.org (Postfix) with ESMTPS id 66C9881FDB for ; Mon, 18 Sep 2023 13:19:02 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 66C9881FDB X-IronPort-AV: E=McAfee;i="6600,9927,10837"; a="446112870" X-IronPort-AV: E=Sophos;i="6.02,156,1688454000"; d="scan'208";a="446112870" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Sep 2023 06:11:49 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10837"; a="811341550" X-IronPort-AV: E=Sophos;i="6.02,156,1688454000"; d="scan'208";a="811341550" Received: from nprotaso-mobl1.ccr.corp.intel.com (HELO ijarvine-mobl2.ger.corp.intel.com) ([10.252.49.156]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Sep 2023 06:11:43 -0700 From: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= To: linux-pci@vger.kernel.org, Bjorn Helgaas , Lorenzo Pieralisi , Rob Herring , =?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= , Lukas Wunner , "Rafael J . Wysocki" , Heiner Kallweit , Emmanuel Grumbach , linux-kernel@vger.kernel.org, Bjorn Helgaas Date: Mon, 18 Sep 2023 16:10:53 +0300 Message-Id: <20230918131103.24119-4-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230918131103.24119-1-ilpo.jarvinen@linux.intel.com> References: <20230918131103.24119-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 18 Sep 2023 15:18:32 +0000 X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1695043142; x=1726579142; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=4NBLfl/BS/3VShevYHOCVVW7LFobwQI1zr9aS+V1OKk=; b=Hgq0f+2JHAYs+UNdd8RW79sD7IkMswBNVuihXLYFa4e1hG78SnY2g9++ rStMWDdUmoMRCzMpd/+ri6tji9AV9uGsDw2QXKk04NrXbC1OyJSP23thB NhzushdAsdqzWwnwbHOmouJZVcIv7+BF/eR/WQwG+UVx88g2ZwGM1P7mw OTmzyQbuK1iRvzSxYQGXgNEStLF+6pDaoHS9fU5Qw9Eyi81PTqCcWP/l8 inswgtUayr9r4a28aIWa4CeBXrdJt7YPIhNf5qjb7XvuzRZy+i381Vgrb 4EEp0/HRp6Cx8VMlaF5OXHHkaZa2w2xDT+7BeYjYsfTRK462Lba6NOejh w==; X-Mailman-Original-Authentication-Results: smtp1.osuosl.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=Hgq0f+2J Subject: [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: ath12k@lists.infradead.org, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, ath10k@lists.infradead.org, linux-bluetooth@vger.kernel.org, intel-wired-lan@lists.osuosl.org, =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= , linux-mediatek@lists.infradead.org, ath11k@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-rdma@vger.kernel.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-wired-lan-bounces@osuosl.org Sender: "Intel-wired-lan" UENJIGNvcmUvQVNQTSBzZXJ2aWNlIGRyaXZlciBhbGxvd3MgY29udHJvbGxpbmcgQVNQTSBzdGF0 ZSB0aHJvdWdoCnBjaV9kaXNhYmxlX2xpbmtfc3RhdGUoKSBhbmQgcGNpX2VuYWJsZV9saW5rX3N0 YXRlKCkgQVBJLiBJdCB3YXMKZGVjaWRlZCBlYXJsaWVyIChzZWUgdGhlIExpbmsgYmVsb3cpLCB0 byBub3QgYWxsb3cgQVNQTSBjaGFuZ2VzIHdoZW4gT1MKZG9lcyBub3QgaGF2ZSBjb250cm9sIG92 ZXIgaXQgYnV0IG9ubHkgbG9nIGEgd2FybmluZyBhYm91dCB0aGUgcHJvYmxlbQooY29tbWl0IDJh ZGQwZWMxNGMyNSAoIlBDSS9BU1BNOiBXYXJuIHdoZW4gZHJpdmVyIGFza3MgdG8gZGlzYWJsZSBB U1BNLApidXQgd2UgY2FuJ3QgZG8gaXQiKSkuIFNpbWlsYXJseSwgaWYgQVNQTSBpcyBub3QgZW5h YmxlZCB0aHJvdWdoCmNvbmZpZywgQVNQTSBjYW5ub3QgYmUgZGlzYWJsZWQuCgpBIG51bWJlciBv ZiBkcml2ZXJzIGhhdmUgYWRkZWQgd29ya2Fyb3VuZHMgdG8gZm9yY2UgQVNQTSBvZmYgd2l0aCBv d24Kd3JpdGVzIGludG8gdGhlIExpbmsgQ29udHJvbCBSZWdpc3RlciAoc29tZSBldmVuIHdpdGgg Y29tbWVudHMKZXhwbGFpbmluZyB3aHkgUENJIGNvcmUgZG9lcyBub3QgZGlzYWJsZSBpdCB1bmRl ciBzb21lIGNpcmN1bXN0YW5jZXMpLgpBY2NvcmRpbmcgdG8gdGhlIGNvbW1lbnRzLCBzb21lIGRy aXZlcnMgcmVxdWlyZSBBU1BNIHRvIGJlIG9mZiBmb3IKcmVsaWFibGUgb3BlcmF0aW9uLgoKSGF2 aW5nIGN1c3RvbSBBU1BNIGhhbmRsaW5nIGluIGRyaXZlcnMgaXMgcHJvYmxlbWF0aWMgYmVjYXVz ZSB0aGUgc3RhdGUKa2VwdCBpbiB0aGUgQVNQTSBzZXJ2aWNlIGRyaXZlciBpcyBub3QgdXBkYXRl ZCBieSB0aGUgY2hhbmdlcyBtYWRlCm91dHNpZGUgdGhlIGxpbmsgc3RhdGUgbWFuYWdlbWVudCBB UEkuCgpBcyB0aGUgZmlyc3Qgc3RlcCB0byBhZGRyZXNzIHRoaXMgaXNzdWUsIG1ha2UgcGNpX2Rp c2FibGVfbGlua19zdGF0ZSgpCnRvIHVuY29uZGl0aW9uYWxseSBkaXNhYmxlIEFTUE0gc28gdGhl IG1vdGl2YXRpb24gZm9yIGRyaXZlcnMgdG8gY29tZQp1cCB3aXRoIGN1c3RvbSBBU1BNIGhhbmRs aW5nIGNvZGUgaXMgZWxpbWluYXRlZC4KClBsYWNlIHRoZSBtaW5pbWFsIEFTUE0gZGlzYWJsZSBo YW5kbGluZyBpbnRvIG93biBmaWxlIGFzIGl0IGlzIHRvbwpjb21wbGljYXRlZCB0byBmaXQgaW50 byBhIGhlYWRlciBhcyBzdGF0aWMgaW5saW5lIGFuZCBpdCBoYXMgYWxtb3N0IG5vCm92ZXJsYXAg d2l0aCB0aGUgZXhpc3RpbmcsIG1vcmUgY29tcGxpY2F0ZWQgQVNQTSBjb2RlIGluCmRyaXZlcnMv cGNpL3BjZS9hc3BtLmMuCgpNYWtlIHBjaV9kaXNhYmxlX2xpbmtfc3RhdGUoKSBmdW5jdGlvbiBj b21tZW50IHRvIGNvbXBseSBrZXJuZWxkb2MKZm9ybWF0dGluZyB3aGlsZSBjaGFuZ2luZyB0aGUg ZGVzY3JpcHRpb24uCgpMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9hbGwvQ0FOVVhfUDNG NVloYlpYM1dHVS1qMUFHcGJYYl9UOUJpczJFcmh2S2tGTXREdnphdFZRQG1haWwuZ21haWwuY29t LwpMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9hbGwvMjAyMzA1MTExMzE0NDEuNDU3MDQt MS1pbHBvLmphcnZpbmVuQGxpbnV4LmludGVsLmNvbS8KU2lnbmVkLW9mZi1ieTogSWxwbyBKw6Ry dmluZW4gPGlscG8uamFydmluZW5AbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvcGNpL3Bj aWUvTWFrZWZpbGUgICAgICAgfCAgMSArCiBkcml2ZXJzL3BjaS9wY2llL2FzcG0uYyAgICAgICAg IHwgMzMgKysrKysrKysrKy0tLS0tLS0KIGRyaXZlcnMvcGNpL3BjaWUvYXNwbV9taW5pbWFsLmMg fCA2NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGluY2x1ZGUvbGludXgvcGNp LmggICAgICAgICAgICAgfCAgNiArLS0KIDQgZmlsZXMgY2hhbmdlZCwgODggaW5zZXJ0aW9ucygr KSwgMTggZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9wY2kvcGNpZS9h c3BtX21pbmltYWwuYwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNpL3BjaWUvTWFrZWZpbGUgYi9k cml2ZXJzL3BjaS9wY2llL01ha2VmaWxlCmluZGV4IDhkZTRlZDVmOThmMS4uZWM3ZjA0MDM3YjAx IDEwMDY0NAotLS0gYS9kcml2ZXJzL3BjaS9wY2llL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvcGNp L3BjaWUvTWFrZWZpbGUKQEAgLTYsNiArNiw3IEBAIHBjaWVwb3J0ZHJ2LXkJCQk6PSBwb3J0ZHJ2 Lm8gcmNlYy5vCiAKIG9iai0kKENPTkZJR19QQ0lFUE9SVEJVUykJKz0gcGNpZXBvcnRkcnYubwog CitvYmoteQkJCQkrPSBhc3BtX21pbmltYWwubwogb2JqLSQoQ09ORklHX1BDSUVBU1BNKQkJKz0g YXNwbS5vCiBvYmotJChDT05GSUdfUENJRUFFUikJCSs9IGFlci5vIGVyci5vCiBvYmotJChDT05G SUdfUENJRUFFUl9JTkpFQ1QpCSs9IGFlcl9pbmplY3QubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9w Y2kvcGNpZS9hc3BtLmMgYi9kcml2ZXJzL3BjaS9wY2llL2FzcG0uYwppbmRleCA4NjBiYzk0OTc0 ZWMuLmVjNmQ3YTA5MmFjMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY2kvcGNpZS9hc3BtLmMKKysr IGIvZHJpdmVycy9wY2kvcGNpZS9hc3BtLmMKQEAgLTEwNDIsMTYgKzEwNDIsMjMgQEAgc3RhdGlj IGludCBfX3BjaV9kaXNhYmxlX2xpbmtfc3RhdGUoc3RydWN0IHBjaV9kZXYgKnBkZXYsIGludCBz dGF0ZSwgYm9vbCBzZW0pCiAJCXJldHVybiAtRUlOVkFMOwogCS8qCiAJICogQSBkcml2ZXIgcmVx dWVzdGVkIHRoYXQgQVNQTSBiZSBkaXNhYmxlZCBvbiB0aGlzIGRldmljZSwgYnV0Ci0JICogaWYg d2UgZG9uJ3QgaGF2ZSBwZXJtaXNzaW9uIHRvIG1hbmFnZSBBU1BNIChlLmcuLCBvbiBBQ1BJCisJ ICogaWYgd2UgbWlnaHQgbm90IGhhdmUgcGVybWlzc2lvbiB0byBtYW5hZ2UgQVNQTSAoZS5nLiwg b24gQUNQSQogCSAqIHN5c3RlbXMgd2UgaGF2ZSB0byBvYnNlcnZlIHRoZSBGQURUIEFDUElfRkFE VF9OT19BU1BNIGJpdCBhbmQKLQkgKiB0aGUgX09TQyBtZXRob2QpLCB3ZSBjYW4ndCBob25vciB0 aGF0IHJlcXVlc3QuICBXaW5kb3dzIGhhcwotCSAqIGEgc2ltaWxhciBtZWNoYW5pc20gdXNpbmcg IlBjaUFTUE1PcHRPdXQiLCB3aGljaCBpcyBhbHNvCi0JICogaWdub3JlZCBpbiB0aGlzIHNpdHVh dGlvbi4KKwkgKiB0aGUgX09TQyBtZXRob2QpLCBwcmV2aW91c2x5IHdlIGNob3NlIHRvIG5vdCBo b25vciBkaXNhYmxlCisJICogcmVxdWVzdCBpbiB0aGF0IGNhc2UuIFdpbmRvd3MgaGFzIGEgc2lt aWxhciBtZWNoYW5pc20gdXNpbmcKKwkgKiAiUGNpQVNQTU9wdE91dCIsIHdoaWNoIGlzIGFsc28g aWdub3JlZCBpbiB0aGlzIHNpdHVhdGlvbi4KKwkgKgorCSAqIE5vdCBob25vcmluZyB0aGUgcmVx dWVzdHMgdG8gZGlzYWJsZSBBU1BNLCBob3dldmVyLCBsZWQgdG8KKwkgKiBkcml2ZXJzIGZvcmNp bmcgQVNQTSBvZmYgb24gdGhlaXIgb3duLiBBcyBzdWNoIGNoYW5nZXMgb2YgQVNQTQorCSAqIHN0 YXRlIGFyZSBub3QgdHJhY2tlZCBieSB0aGlzIHNlcnZpY2UgZHJpdmVyLCB0aGUgc3RhdGUga2Vw dCBoZXJlCisJICogYmVjYW1lIG91dCBvZiBzeW5jLgorCSAqCisJICogVGhlcmVmb3JlLCBob25v ciBBU1BNIGRpc2FibGUgcmVxdWVzdHMgZXZlbiB3aGVuIE9TIGRvZXMgbm90IGhhdmUKKwkgKiBB U1BNIGNvbnRyb2wuIFBsYWluIGRpc2FibGUgZm9yIEFTUE0gaXMgYXNzdW1lZCB0byBiZSBzbGln aHRseQorCSAqIHNhZmVyIHRoYW4gZnVsbHkgbWFuYWdpbmcgaXQuCiAJICovCi0JaWYgKGFzcG1f ZGlzYWJsZWQpIHsKLQkJcGNpX3dhcm4ocGRldiwgImNhbid0IGRpc2FibGUgQVNQTTsgT1MgZG9l c24ndCBoYXZlIEFTUE0gY29udHJvbFxuIik7Ci0JCXJldHVybiAtRVBFUk07Ci0JfQorCWlmIChh c3BtX2Rpc2FibGVkKQorCQlwY2lfd2FybihwZGV2LCAiT1MgZG9lc24ndCBoYXZlIEFTUE0gY29u dHJvbCwgZGlzYWJsaW5nIEFTUE0gYW55d2F5XG4iKTsKIAogCWlmIChzZW0pCiAJCWRvd25fcmVh ZCgmcGNpX2J1c19zZW0pOwpAQCAtMTA4NywxMyArMTA5NCwxMyBAQCBpbnQgcGNpX2Rpc2FibGVf bGlua19zdGF0ZV9sb2NrZWQoc3RydWN0IHBjaV9kZXYgKnBkZXYsIGludCBzdGF0ZSkKIEVYUE9S VF9TWU1CT0wocGNpX2Rpc2FibGVfbGlua19zdGF0ZV9sb2NrZWQpOwogCiAvKioKLSAqIHBjaV9k aXNhYmxlX2xpbmtfc3RhdGUgLSBEaXNhYmxlIGRldmljZSdzIGxpbmsgc3RhdGUsIHNvIHRoZSBs aW5rIHdpbGwKLSAqIG5ldmVyIGVudGVyIHNwZWNpZmljIHN0YXRlcy4gIE5vdGUgdGhhdCBpZiB0 aGUgQklPUyBkaWRuJ3QgZ3JhbnQgQVNQTQotICogY29udHJvbCB0byB0aGUgT1MsIHRoaXMgZG9l cyBub3RoaW5nIGJlY2F1c2Ugd2UgY2FuJ3QgdG91Y2ggdGhlIExOS0NUTAotICogcmVnaXN0ZXIu IFJldHVybnMgMCBvciBhIG5lZ2F0aXZlIGVycm5vLgotICoKKyAqIHBjaV9kaXNhYmxlX2xpbmtf c3RhdGUgLSBEaXNhYmxlIGRldmljZSdzIGxpbmsgc3RhdGUKICAqIEBwZGV2OiBQQ0kgZGV2aWNl CiAgKiBAc3RhdGU6IEFTUE0gbGluayBzdGF0ZSB0byBkaXNhYmxlCisgKgorICogRGlzYWJsZSBk ZXZpY2UncyBsaW5rIHN0YXRlIHNvIHRoZSBsaW5rIHdpbGwgbmV2ZXIgZW50ZXIgc3BlY2lmaWMg c3RhdGVzLgorICoKKyAqIFJldHVybjogMCBvciBhIG5lZ2F0aXZlIGVycm5vCiAgKi8KIGludCBw Y2lfZGlzYWJsZV9saW5rX3N0YXRlKHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBpbnQgc3RhdGUpCiB7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjaS9wY2llL2FzcG1fbWluaW1hbC5jIGIvZHJpdmVycy9w Y2kvcGNpZS9hc3BtX21pbmltYWwuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMDAuLjRlNGY2M2U1MWIyMQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvcGNpL3BjaWUv YXNwbV9taW5pbWFsLmMKQEAgLTAsMCArMSw2NiBAQAorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEdQTC0yLjAtb25seQorLyoKKyAqIE1pbmltYWwgUENJZSBBU1BNIGhhbmRsaW5nIHdoZW4g Q09ORklHX1BDSUVBU1BNIGlzIG5vdCBzZXQuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDIzIElu dGVsIENvcnBvcmF0aW9uLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKworI2luY2x1 ZGUgIi4uL3BjaS5oIgorCisjaWZuZGVmIENPTkZJR19QQ0lFQVNQTQorLyoKKyAqIEFsd2F5cyBk aXNhYmxlIEFTUE0gd2hlbiByZXF1ZXN0ZWQsIGV2ZW4gd2hlbiBDT05GSUdfUENJRUFTUE0gaXMK KyAqIG5vdCBidWlsZCB0byBhdm9pZCBkcml2ZXJzIGFkZGluZyBjb2RlIHRvIGRvIGl0IG9uIHRo ZWlyIG93bgorICogd2hpY2ggY2F1c2VkIGlzc3VlcyB3aGVuIGNvcmUgZG9lcyBub3Qga25vdyBh Ym91dCB0aGUgb3V0LW9mLWJhbmQKKyAqIEFTUE0gc3RhdGUgY2hhbmdlcy4KKyAqLworaW50IHBj aV9kaXNhYmxlX2xpbmtfc3RhdGVfbG9ja2VkKHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBpbnQgc3Rh dGUpCit7CisJc3RydWN0IHBjaV9kZXYgKnBhcmVudCA9IHBkZXYtPmJ1cy0+c2VsZjsKKwlzdHJ1 Y3QgcGNpX2J1cyAqbGlua2J1cyA9IHBkZXYtPmJ1czsKKwlzdHJ1Y3QgcGNpX2RldiAqY2hpbGQ7 CisJdTE2IGFzcG1fZW5hYmxlZCwgbGlua2N0bDsKKwlpbnQgcmV0OworCisJaWYgKCFwYXJlbnQp CisJCXJldHVybiAtRU5PREVWOworCisJcmV0ID0gcGNpZV9jYXBhYmlsaXR5X3JlYWRfd29yZChw YXJlbnQsIFBDSV9FWFBfTE5LQ1RMLCAmbGlua2N0bCk7CisJaWYgKHJldCAhPSBQQ0lCSU9TX1NV Q0NFU1NGVUwpCisJCXJldHVybiBwY2liaW9zX2Vycl90b19lcnJubyhyZXQpOworCWFzcG1fZW5h YmxlZCA9IGxpbmtjdGwgJiBQQ0lfRVhQX0xOS0NUTF9BU1BNQzsKKworCXJldCA9IHBjaWVfY2Fw YWJpbGl0eV9yZWFkX3dvcmQocGRldiwgUENJX0VYUF9MTktDVEwsICZsaW5rY3RsKTsKKwlpZiAo cmV0ICE9IFBDSUJJT1NfU1VDQ0VTU0ZVTCkKKwkJcmV0dXJuIHBjaWJpb3NfZXJyX3RvX2Vycm5v KHJldCk7CisJYXNwbV9lbmFibGVkIHw9IGxpbmtjdGwgJiBQQ0lfRVhQX0xOS0NUTF9BU1BNQzsK KworCS8qIElmIG5vIHN0YXRlcyBuZWVkIHRvIGJlIGRpc2FibGVkLCBkb24ndCB0b3VjaCBMTktD VEwgKi8KKwlpZiAoc3RhdGUgJiBhc3BtX2VuYWJsZWQpCisJCXJldHVybiAwOworCisJcmV0ID0g cGNpZV9jYXBhYmlsaXR5X2NsZWFyX3dvcmQocGFyZW50LCBQQ0lfRVhQX0xOS0NUTCwgUENJX0VY UF9MTktDVExfQVNQTUMpOworCWlmIChyZXQgIT0gUENJQklPU19TVUNDRVNTRlVMKQorCQlyZXR1 cm4gcGNpYmlvc19lcnJfdG9fZXJybm8ocmV0KTsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGNoaWxk LCAmbGlua2J1cy0+ZGV2aWNlcywgYnVzX2xpc3QpCisJCXBjaWVfY2FwYWJpbGl0eV9jbGVhcl93 b3JkKGNoaWxkLCBQQ0lfRVhQX0xOS0NUTCwgUENJX0VYUF9MTktDVExfQVNQTUMpOworCisJcmV0 dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MKHBjaV9kaXNhYmxlX2xpbmtfc3RhdGVfbG9ja2VkKTsK KworaW50IHBjaV9kaXNhYmxlX2xpbmtfc3RhdGUoc3RydWN0IHBjaV9kZXYgKnBkZXYsIGludCBz dGF0ZSkKK3sKKwlpbnQgcmV0OworCisJZG93bl9yZWFkKCZwY2lfYnVzX3NlbSk7CisJcmV0ID0g cGNpX2Rpc2FibGVfbGlua19zdGF0ZV9sb2NrZWQocGRldiwgc3RhdGUpOworCXVwX3JlYWQoJnBj aV9idXNfc2VtKTsKKworCXJldHVybiByZXQ7Cit9CitFWFBPUlRfU1lNQk9MKHBjaV9kaXNhYmxl X2xpbmtfc3RhdGUpOworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcGNpLmgg Yi9pbmNsdWRlL2xpbnV4L3BjaS5oCmluZGV4IDdkZjU2OTg4ZmY0OC4uM2MyNGNhMTY0MTA0IDEw MDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3BjaS5oCisrKyBiL2luY2x1ZGUvbGludXgvcGNpLmgK QEAgLTE3NzMsMTggKzE3NzMsMTQgQEAgZXh0ZXJuIGJvb2wgcGNpZV9wb3J0c19uYXRpdmU7CiAJ CQkJCSBQQ0lFX0xJTktfU1RBVEVfTDFfMiB8IFBDSUVfTElOS19TVEFURV9MMV8xX1BDSVBNIHxc CiAJCQkJCSBQQ0lFX0xJTktfU1RBVEVfTDFfMl9QQ0lQTSkKIAotI2lmZGVmIENPTkZJR19QQ0lF QVNQTQogaW50IHBjaV9kaXNhYmxlX2xpbmtfc3RhdGUoc3RydWN0IHBjaV9kZXYgKnBkZXYsIGlu dCBzdGF0ZSk7CiBpbnQgcGNpX2Rpc2FibGVfbGlua19zdGF0ZV9sb2NrZWQoc3RydWN0IHBjaV9k ZXYgKnBkZXYsIGludCBzdGF0ZSk7CisjaWZkZWYgQ09ORklHX1BDSUVBU1BNCiBpbnQgcGNpX3Nl dF9kZWZhdWx0X2xpbmtfc3RhdGUoc3RydWN0IHBjaV9kZXYgKnBkZXYsIGludCBzdGF0ZSk7CiB2 b2lkIHBjaWVfbm9fYXNwbSh2b2lkKTsKIGJvb2wgcGNpZV9hc3BtX3N1cHBvcnRfZW5hYmxlZCh2 b2lkKTsKIGJvb2wgcGNpZV9hc3BtX2VuYWJsZWQoc3RydWN0IHBjaV9kZXYgKnBkZXYpOwogI2Vs c2UKLXN0YXRpYyBpbmxpbmUgaW50IHBjaV9kaXNhYmxlX2xpbmtfc3RhdGUoc3RydWN0IHBjaV9k ZXYgKnBkZXYsIGludCBzdGF0ZSkKLXsgcmV0dXJuIDA7IH0KLXN0YXRpYyBpbmxpbmUgaW50IHBj aV9kaXNhYmxlX2xpbmtfc3RhdGVfbG9ja2VkKHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBpbnQgc3Rh dGUpCi17IHJldHVybiAwOyB9CiBzdGF0aWMgaW5saW5lIGludCBwY2lfc2V0X2RlZmF1bHRfbGlu a19zdGF0ZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwgaW50IHN0YXRlKQogeyByZXR1cm4gMDsgfQog c3RhdGljIGlubGluZSB2b2lkIHBjaWVfbm9fYXNwbSh2b2lkKSB7IH0KLS0gCjIuMzAuMgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtd2lyZWQt bGFuIG1haWxpbmcgbGlzdApJbnRlbC13aXJlZC1sYW5Ab3N1b3NsLm9yZwpodHRwczovL2xpc3Rz Lm9zdW9zbC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC13aXJlZC1sYW4K 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 49849CD13D8 for ; Mon, 18 Sep 2023 15:47:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229844AbjIRPrf (ORCPT ); Mon, 18 Sep 2023 11:47:35 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47360 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229826AbjIRPre (ORCPT ); Mon, 18 Sep 2023 11:47:34 -0400 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9264910F4; Mon, 18 Sep 2023 08:44:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1695051884; x=1726587884; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=4NBLfl/BS/3VShevYHOCVVW7LFobwQI1zr9aS+V1OKk=; b=LC1Rve02aHbu+3hf+GBKvgh2ENjuWXK20L0MB2ePq1jAQJT2QELkdNTz 19KtmZlDucq86OobQwsR8V7RsZapz8NFjLG1OHBWYfZ1izHeUS/GjRe8w MRY4WJ7Ye+EMsalUszYCAx48yQJZ+2Ljct4lM5mrRJFZS6XPwPBK4uuX3 DOBWWaCQlfWkd3+DCCE6wWQLU57cWBEKZrtEELlfPqdoE9iZbKKApdv5I 1mwqQk0PkTaAR4Zh8shfYbHZtc29q4nqOUMYwVjcpqr3eHY9w/PxXm+c4 C3zVTHVr1Kz8ISW2kpBlFsbwVkrmDxp3rBu0Dfl1lOqs5YWPb77sJqfXZ g==; X-IronPort-AV: E=McAfee;i="6600,9927,10837"; a="446112875" X-IronPort-AV: E=Sophos;i="6.02,156,1688454000"; d="scan'208";a="446112875" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Sep 2023 06:11:49 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10837"; a="811341550" X-IronPort-AV: E=Sophos;i="6.02,156,1688454000"; d="scan'208";a="811341550" Received: from nprotaso-mobl1.ccr.corp.intel.com (HELO ijarvine-mobl2.ger.corp.intel.com) ([10.252.49.156]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Sep 2023 06:11:43 -0700 From: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= To: linux-pci@vger.kernel.org, Bjorn Helgaas , Lorenzo Pieralisi , Rob Herring , =?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= , Lukas Wunner , "Rafael J . Wysocki" , Heiner Kallweit , Emmanuel Grumbach , linux-kernel@vger.kernel.org, Bjorn Helgaas Cc: 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, =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= Subject: [PATCH v2 03/13] PCI/ASPM: Disable ASPM when driver requests it Date: Mon, 18 Sep 2023 16:10:53 +0300 Message-Id: <20230918131103.24119-4-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230918131103.24119-1-ilpo.jarvinen@linux.intel.com> References: <20230918131103.24119-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org 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. A number of drivers have added workarounds to force ASPM off with own writes into the Link Control Register (some even with comments explaining why PCI core does not disable it under some circumstances). According to the comments, some drivers require ASPM to be off for reliable operation. Having custom ASPM handling in drivers is problematic because the state kept in the ASPM service driver is not updated by the changes made outside the link state management API. As the first step to address this issue, make pci_disable_link_state() to unconditionally disable ASPM so the motivation for drivers to come up with custom ASPM handling code is eliminated. Place the minimal ASPM disable handling into own file as it is too complicated to fit into a header as static inline and it has almost no overlap with the existing, more complicated ASPM code in drivers/pci/pce/aspm.c. Make pci_disable_link_state() function comment to comply kerneldoc formatting while changing the description. Link: https://lore.kernel.org/all/CANUX_P3F5YhbZX3WGU-j1AGpbXb_T9Bis2ErhvKkFMtDvzatVQ@mail.gmail.com/ Link: https://lore.kernel.org/all/20230511131441.45704-1-ilpo.jarvinen@linux.intel.com/ Signed-off-by: Ilpo Järvinen --- drivers/pci/pcie/Makefile | 1 + drivers/pci/pcie/aspm.c | 33 ++++++++++------- drivers/pci/pcie/aspm_minimal.c | 66 +++++++++++++++++++++++++++++++++ include/linux/pci.h | 6 +-- 4 files changed, 88 insertions(+), 18 deletions(-) create mode 100644 drivers/pci/pcie/aspm_minimal.c diff --git a/drivers/pci/pcie/Makefile b/drivers/pci/pcie/Makefile index 8de4ed5f98f1..ec7f04037b01 100644 --- a/drivers/pci/pcie/Makefile +++ b/drivers/pci/pcie/Makefile @@ -6,6 +6,7 @@ pcieportdrv-y := portdrv.o rcec.o obj-$(CONFIG_PCIEPORTBUS) += pcieportdrv.o +obj-y += aspm_minimal.o obj-$(CONFIG_PCIEASPM) += aspm.o obj-$(CONFIG_PCIEAER) += aer.o err.o obj-$(CONFIG_PCIEAER_INJECT) += aer_inject.o diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c index 860bc94974ec..ec6d7a092ac1 100644 --- a/drivers/pci/pcie/aspm.c +++ b/drivers/pci/pcie/aspm.c @@ -1042,16 +1042,23 @@ static int __pci_disable_link_state(struct pci_dev *pdev, int state, bool sem) return -EINVAL; /* * A driver requested that ASPM be disabled on this device, but - * if we don't have permission to manage ASPM (e.g., on ACPI + * if we might not have permission to manage ASPM (e.g., on ACPI * systems we have to observe the FADT ACPI_FADT_NO_ASPM bit and - * the _OSC method), we can't honor that request. Windows has - * a similar mechanism using "PciASPMOptOut", which is also - * ignored in this situation. + * the _OSC method), previously we chose to not honor disable + * request in that case. Windows has a similar mechanism using + * "PciASPMOptOut", which is also ignored in this situation. + * + * Not honoring the requests to disable ASPM, however, led to + * drivers forcing ASPM off on their own. As such changes of ASPM + * state are not tracked by this service driver, the state kept here + * became out of sync. + * + * Therefore, honor ASPM disable requests even when OS does not have + * ASPM control. Plain disable for ASPM is assumed to be slightly + * safer than fully managing it. */ - if (aspm_disabled) { - pci_warn(pdev, "can't disable ASPM; OS doesn't have ASPM control\n"); - return -EPERM; - } + if (aspm_disabled) + pci_warn(pdev, "OS doesn't have ASPM control, disabling ASPM anyway\n"); if (sem) down_read(&pci_bus_sem); @@ -1087,13 +1094,13 @@ int pci_disable_link_state_locked(struct pci_dev *pdev, int state) EXPORT_SYMBOL(pci_disable_link_state_locked); /** - * pci_disable_link_state - Disable device's link state, so the link will - * never enter specific states. Note that if the BIOS didn't grant ASPM - * control to the OS, this does nothing because we can't touch the LNKCTL - * register. Returns 0 or a negative errno. - * + * pci_disable_link_state - Disable device's link state * @pdev: PCI device * @state: ASPM link state to disable + * + * Disable device's link state so the link will never enter specific states. + * + * Return: 0 or a negative errno */ int pci_disable_link_state(struct pci_dev *pdev, int state) { diff --git a/drivers/pci/pcie/aspm_minimal.c b/drivers/pci/pcie/aspm_minimal.c new file mode 100644 index 000000000000..4e4f63e51b21 --- /dev/null +++ b/drivers/pci/pcie/aspm_minimal.c @@ -0,0 +1,66 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Minimal PCIe ASPM handling when CONFIG_PCIEASPM is not set. + * + * Copyright (C) 2023 Intel Corporation. + */ + +#include + +#include "../pci.h" + +#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; + + 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); + + return 0; +} +EXPORT_SYMBOL(pci_disable_link_state_locked); + +int pci_disable_link_state(struct pci_dev *pdev, int state) +{ + int ret; + + down_read(&pci_bus_sem); + ret = pci_disable_link_state_locked(pdev, state); + up_read(&pci_bus_sem); + + return ret; +} +EXPORT_SYMBOL(pci_disable_link_state); + +#endif diff --git a/include/linux/pci.h b/include/linux/pci.h index 7df56988ff48..3c24ca164104 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h @@ -1773,18 +1773,14 @@ extern bool pcie_ports_native; PCIE_LINK_STATE_L1_2 | PCIE_LINK_STATE_L1_1_PCIPM |\ PCIE_LINK_STATE_L1_2_PCIPM) -#ifdef CONFIG_PCIEASPM int pci_disable_link_state(struct pci_dev *pdev, int state); int pci_disable_link_state_locked(struct pci_dev *pdev, int state); +#ifdef CONFIG_PCIEASPM int pci_set_default_link_state(struct pci_dev *pdev, int state); void pcie_no_aspm(void); bool pcie_aspm_support_enabled(void); bool pcie_aspm_enabled(struct pci_dev *pdev); #else -static inline int pci_disable_link_state(struct pci_dev *pdev, int state) -{ return 0; } -static inline int pci_disable_link_state_locked(struct pci_dev *pdev, int state) -{ return 0; } static inline int pci_set_default_link_state(struct pci_dev *pdev, int state) { return 0; } static inline void pcie_no_aspm(void) { } -- 2.30.2 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 DD037CD37B0 for ; Mon, 18 Sep 2023 13:19:35 +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: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=vcyAwzMifiVPPB8+1YYrFqYdDTG0tHs+s83tCqpJbkI=; b=rpv0GitxHQ1OzC jo2A6e14ei+WGpqso0QNU2QAEyTEa3PNqIvontoIryFlZjcKsuHSMNBak3jErspVX/9o/4j+ePNo3 RFlAt4YT+gCDzzXvVp82R6z7FHW4irh2bh/KYW0ncjmoNhq7GGBCzjGkXgcRgsMHVRv0zwCB6uN1N a5yazXoP528aIgiBzu3eaZ+JP3OySuu+xzvz0PBquBPAtehb43xG83Zi/L2K5MmtLjFoK+F+csTUW PmbX2GAVlRdPJiY17SVEjomjvyCv8oWgO9qLq22ZtTTIX3Ay8OXNUmIDwbunrI89I5N63Wd0WSoK9 dSzii5ue+DA9Zim4dSXQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qiE9b-00FWhC-2i; Mon, 18 Sep 2023 13:19:07 +0000 Received: from mgamail.intel.com ([134.134.136.100]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qiE9X-00FWem-04; Mon, 18 Sep 2023 13:19:04 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1695043142; x=1726579142; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=4NBLfl/BS/3VShevYHOCVVW7LFobwQI1zr9aS+V1OKk=; b=Hgq0f+2JHAYs+UNdd8RW79sD7IkMswBNVuihXLYFa4e1hG78SnY2g9++ rStMWDdUmoMRCzMpd/+ri6tji9AV9uGsDw2QXKk04NrXbC1OyJSP23thB NhzushdAsdqzWwnwbHOmouJZVcIv7+BF/eR/WQwG+UVx88g2ZwGM1P7mw OTmzyQbuK1iRvzSxYQGXgNEStLF+6pDaoHS9fU5Qw9Eyi81PTqCcWP/l8 inswgtUayr9r4a28aIWa4CeBXrdJt7YPIhNf5qjb7XvuzRZy+i381Vgrb 4EEp0/HRp6Cx8VMlaF5OXHHkaZa2w2xDT+7BeYjYsfTRK462Lba6NOejh w==; X-IronPort-AV: E=McAfee;i="6600,9927,10837"; a="446112877" X-IronPort-AV: E=Sophos;i="6.02,156,1688454000"; d="scan'208";a="446112877" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Sep 2023 06:11:49 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10837"; a="811341550" X-IronPort-AV: E=Sophos;i="6.02,156,1688454000"; d="scan'208";a="811341550" Received: from nprotaso-mobl1.ccr.corp.intel.com (HELO ijarvine-mobl2.ger.corp.intel.com) ([10.252.49.156]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Sep 2023 06:11:43 -0700 From: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= To: linux-pci@vger.kernel.org, Bjorn Helgaas , Lorenzo Pieralisi , Rob Herring , =?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= , Lukas Wunner , "Rafael J . Wysocki" , Heiner Kallweit , Emmanuel Grumbach , linux-kernel@vger.kernel.org, Bjorn Helgaas Cc: 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, =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= Subject: [PATCH v2 03/13] PCI/ASPM: Disable ASPM when driver requests it Date: Mon, 18 Sep 2023 16:10:53 +0300 Message-Id: <20230918131103.24119-4-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230918131103.24119-1-ilpo.jarvinen@linux.intel.com> References: <20230918131103.24119-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230918_061903_154734_D52B6398 X-CRM114-Status: GOOD ( 29.30 ) 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 UENJIGNvcmUvQVNQTSBzZXJ2aWNlIGRyaXZlciBhbGxvd3MgY29udHJvbGxpbmcgQVNQTSBzdGF0 ZSB0aHJvdWdoCnBjaV9kaXNhYmxlX2xpbmtfc3RhdGUoKSBhbmQgcGNpX2VuYWJsZV9saW5rX3N0 YXRlKCkgQVBJLiBJdCB3YXMKZGVjaWRlZCBlYXJsaWVyIChzZWUgdGhlIExpbmsgYmVsb3cpLCB0 byBub3QgYWxsb3cgQVNQTSBjaGFuZ2VzIHdoZW4gT1MKZG9lcyBub3QgaGF2ZSBjb250cm9sIG92 ZXIgaXQgYnV0IG9ubHkgbG9nIGEgd2FybmluZyBhYm91dCB0aGUgcHJvYmxlbQooY29tbWl0IDJh ZGQwZWMxNGMyNSAoIlBDSS9BU1BNOiBXYXJuIHdoZW4gZHJpdmVyIGFza3MgdG8gZGlzYWJsZSBB U1BNLApidXQgd2UgY2FuJ3QgZG8gaXQiKSkuIFNpbWlsYXJseSwgaWYgQVNQTSBpcyBub3QgZW5h YmxlZCB0aHJvdWdoCmNvbmZpZywgQVNQTSBjYW5ub3QgYmUgZGlzYWJsZWQuCgpBIG51bWJlciBv ZiBkcml2ZXJzIGhhdmUgYWRkZWQgd29ya2Fyb3VuZHMgdG8gZm9yY2UgQVNQTSBvZmYgd2l0aCBv d24Kd3JpdGVzIGludG8gdGhlIExpbmsgQ29udHJvbCBSZWdpc3RlciAoc29tZSBldmVuIHdpdGgg Y29tbWVudHMKZXhwbGFpbmluZyB3aHkgUENJIGNvcmUgZG9lcyBub3QgZGlzYWJsZSBpdCB1bmRl ciBzb21lIGNpcmN1bXN0YW5jZXMpLgpBY2NvcmRpbmcgdG8gdGhlIGNvbW1lbnRzLCBzb21lIGRy aXZlcnMgcmVxdWlyZSBBU1BNIHRvIGJlIG9mZiBmb3IKcmVsaWFibGUgb3BlcmF0aW9uLgoKSGF2 aW5nIGN1c3RvbSBBU1BNIGhhbmRsaW5nIGluIGRyaXZlcnMgaXMgcHJvYmxlbWF0aWMgYmVjYXVz ZSB0aGUgc3RhdGUKa2VwdCBpbiB0aGUgQVNQTSBzZXJ2aWNlIGRyaXZlciBpcyBub3QgdXBkYXRl ZCBieSB0aGUgY2hhbmdlcyBtYWRlCm91dHNpZGUgdGhlIGxpbmsgc3RhdGUgbWFuYWdlbWVudCBB UEkuCgpBcyB0aGUgZmlyc3Qgc3RlcCB0byBhZGRyZXNzIHRoaXMgaXNzdWUsIG1ha2UgcGNpX2Rp c2FibGVfbGlua19zdGF0ZSgpCnRvIHVuY29uZGl0aW9uYWxseSBkaXNhYmxlIEFTUE0gc28gdGhl IG1vdGl2YXRpb24gZm9yIGRyaXZlcnMgdG8gY29tZQp1cCB3aXRoIGN1c3RvbSBBU1BNIGhhbmRs aW5nIGNvZGUgaXMgZWxpbWluYXRlZC4KClBsYWNlIHRoZSBtaW5pbWFsIEFTUE0gZGlzYWJsZSBo YW5kbGluZyBpbnRvIG93biBmaWxlIGFzIGl0IGlzIHRvbwpjb21wbGljYXRlZCB0byBmaXQgaW50 byBhIGhlYWRlciBhcyBzdGF0aWMgaW5saW5lIGFuZCBpdCBoYXMgYWxtb3N0IG5vCm92ZXJsYXAg d2l0aCB0aGUgZXhpc3RpbmcsIG1vcmUgY29tcGxpY2F0ZWQgQVNQTSBjb2RlIGluCmRyaXZlcnMv cGNpL3BjZS9hc3BtLmMuCgpNYWtlIHBjaV9kaXNhYmxlX2xpbmtfc3RhdGUoKSBmdW5jdGlvbiBj b21tZW50IHRvIGNvbXBseSBrZXJuZWxkb2MKZm9ybWF0dGluZyB3aGlsZSBjaGFuZ2luZyB0aGUg ZGVzY3JpcHRpb24uCgpMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9hbGwvQ0FOVVhfUDNG NVloYlpYM1dHVS1qMUFHcGJYYl9UOUJpczJFcmh2S2tGTXREdnphdFZRQG1haWwuZ21haWwuY29t LwpMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9hbGwvMjAyMzA1MTExMzE0NDEuNDU3MDQt MS1pbHBvLmphcnZpbmVuQGxpbnV4LmludGVsLmNvbS8KU2lnbmVkLW9mZi1ieTogSWxwbyBKw6Ry dmluZW4gPGlscG8uamFydmluZW5AbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvcGNpL3Bj aWUvTWFrZWZpbGUgICAgICAgfCAgMSArCiBkcml2ZXJzL3BjaS9wY2llL2FzcG0uYyAgICAgICAg IHwgMzMgKysrKysrKysrKy0tLS0tLS0KIGRyaXZlcnMvcGNpL3BjaWUvYXNwbV9taW5pbWFsLmMg fCA2NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGluY2x1ZGUvbGludXgvcGNp LmggICAgICAgICAgICAgfCAgNiArLS0KIDQgZmlsZXMgY2hhbmdlZCwgODggaW5zZXJ0aW9ucygr KSwgMTggZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9wY2kvcGNpZS9h c3BtX21pbmltYWwuYwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNpL3BjaWUvTWFrZWZpbGUgYi9k cml2ZXJzL3BjaS9wY2llL01ha2VmaWxlCmluZGV4IDhkZTRlZDVmOThmMS4uZWM3ZjA0MDM3YjAx IDEwMDY0NAotLS0gYS9kcml2ZXJzL3BjaS9wY2llL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvcGNp L3BjaWUvTWFrZWZpbGUKQEAgLTYsNiArNiw3IEBAIHBjaWVwb3J0ZHJ2LXkJCQk6PSBwb3J0ZHJ2 Lm8gcmNlYy5vCiAKIG9iai0kKENPTkZJR19QQ0lFUE9SVEJVUykJKz0gcGNpZXBvcnRkcnYubwog CitvYmoteQkJCQkrPSBhc3BtX21pbmltYWwubwogb2JqLSQoQ09ORklHX1BDSUVBU1BNKQkJKz0g YXNwbS5vCiBvYmotJChDT05GSUdfUENJRUFFUikJCSs9IGFlci5vIGVyci5vCiBvYmotJChDT05G SUdfUENJRUFFUl9JTkpFQ1QpCSs9IGFlcl9pbmplY3QubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9w Y2kvcGNpZS9hc3BtLmMgYi9kcml2ZXJzL3BjaS9wY2llL2FzcG0uYwppbmRleCA4NjBiYzk0OTc0 ZWMuLmVjNmQ3YTA5MmFjMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY2kvcGNpZS9hc3BtLmMKKysr IGIvZHJpdmVycy9wY2kvcGNpZS9hc3BtLmMKQEAgLTEwNDIsMTYgKzEwNDIsMjMgQEAgc3RhdGlj IGludCBfX3BjaV9kaXNhYmxlX2xpbmtfc3RhdGUoc3RydWN0IHBjaV9kZXYgKnBkZXYsIGludCBz dGF0ZSwgYm9vbCBzZW0pCiAJCXJldHVybiAtRUlOVkFMOwogCS8qCiAJICogQSBkcml2ZXIgcmVx dWVzdGVkIHRoYXQgQVNQTSBiZSBkaXNhYmxlZCBvbiB0aGlzIGRldmljZSwgYnV0Ci0JICogaWYg d2UgZG9uJ3QgaGF2ZSBwZXJtaXNzaW9uIHRvIG1hbmFnZSBBU1BNIChlLmcuLCBvbiBBQ1BJCisJ ICogaWYgd2UgbWlnaHQgbm90IGhhdmUgcGVybWlzc2lvbiB0byBtYW5hZ2UgQVNQTSAoZS5nLiwg b24gQUNQSQogCSAqIHN5c3RlbXMgd2UgaGF2ZSB0byBvYnNlcnZlIHRoZSBGQURUIEFDUElfRkFE VF9OT19BU1BNIGJpdCBhbmQKLQkgKiB0aGUgX09TQyBtZXRob2QpLCB3ZSBjYW4ndCBob25vciB0 aGF0IHJlcXVlc3QuICBXaW5kb3dzIGhhcwotCSAqIGEgc2ltaWxhciBtZWNoYW5pc20gdXNpbmcg IlBjaUFTUE1PcHRPdXQiLCB3aGljaCBpcyBhbHNvCi0JICogaWdub3JlZCBpbiB0aGlzIHNpdHVh dGlvbi4KKwkgKiB0aGUgX09TQyBtZXRob2QpLCBwcmV2aW91c2x5IHdlIGNob3NlIHRvIG5vdCBo b25vciBkaXNhYmxlCisJICogcmVxdWVzdCBpbiB0aGF0IGNhc2UuIFdpbmRvd3MgaGFzIGEgc2lt aWxhciBtZWNoYW5pc20gdXNpbmcKKwkgKiAiUGNpQVNQTU9wdE91dCIsIHdoaWNoIGlzIGFsc28g aWdub3JlZCBpbiB0aGlzIHNpdHVhdGlvbi4KKwkgKgorCSAqIE5vdCBob25vcmluZyB0aGUgcmVx dWVzdHMgdG8gZGlzYWJsZSBBU1BNLCBob3dldmVyLCBsZWQgdG8KKwkgKiBkcml2ZXJzIGZvcmNp bmcgQVNQTSBvZmYgb24gdGhlaXIgb3duLiBBcyBzdWNoIGNoYW5nZXMgb2YgQVNQTQorCSAqIHN0 YXRlIGFyZSBub3QgdHJhY2tlZCBieSB0aGlzIHNlcnZpY2UgZHJpdmVyLCB0aGUgc3RhdGUga2Vw dCBoZXJlCisJICogYmVjYW1lIG91dCBvZiBzeW5jLgorCSAqCisJICogVGhlcmVmb3JlLCBob25v ciBBU1BNIGRpc2FibGUgcmVxdWVzdHMgZXZlbiB3aGVuIE9TIGRvZXMgbm90IGhhdmUKKwkgKiBB U1BNIGNvbnRyb2wuIFBsYWluIGRpc2FibGUgZm9yIEFTUE0gaXMgYXNzdW1lZCB0byBiZSBzbGln aHRseQorCSAqIHNhZmVyIHRoYW4gZnVsbHkgbWFuYWdpbmcgaXQuCiAJICovCi0JaWYgKGFzcG1f ZGlzYWJsZWQpIHsKLQkJcGNpX3dhcm4ocGRldiwgImNhbid0IGRpc2FibGUgQVNQTTsgT1MgZG9l c24ndCBoYXZlIEFTUE0gY29udHJvbFxuIik7Ci0JCXJldHVybiAtRVBFUk07Ci0JfQorCWlmIChh c3BtX2Rpc2FibGVkKQorCQlwY2lfd2FybihwZGV2LCAiT1MgZG9lc24ndCBoYXZlIEFTUE0gY29u dHJvbCwgZGlzYWJsaW5nIEFTUE0gYW55d2F5XG4iKTsKIAogCWlmIChzZW0pCiAJCWRvd25fcmVh ZCgmcGNpX2J1c19zZW0pOwpAQCAtMTA4NywxMyArMTA5NCwxMyBAQCBpbnQgcGNpX2Rpc2FibGVf bGlua19zdGF0ZV9sb2NrZWQoc3RydWN0IHBjaV9kZXYgKnBkZXYsIGludCBzdGF0ZSkKIEVYUE9S VF9TWU1CT0wocGNpX2Rpc2FibGVfbGlua19zdGF0ZV9sb2NrZWQpOwogCiAvKioKLSAqIHBjaV9k aXNhYmxlX2xpbmtfc3RhdGUgLSBEaXNhYmxlIGRldmljZSdzIGxpbmsgc3RhdGUsIHNvIHRoZSBs aW5rIHdpbGwKLSAqIG5ldmVyIGVudGVyIHNwZWNpZmljIHN0YXRlcy4gIE5vdGUgdGhhdCBpZiB0 aGUgQklPUyBkaWRuJ3QgZ3JhbnQgQVNQTQotICogY29udHJvbCB0byB0aGUgT1MsIHRoaXMgZG9l cyBub3RoaW5nIGJlY2F1c2Ugd2UgY2FuJ3QgdG91Y2ggdGhlIExOS0NUTAotICogcmVnaXN0ZXIu IFJldHVybnMgMCBvciBhIG5lZ2F0aXZlIGVycm5vLgotICoKKyAqIHBjaV9kaXNhYmxlX2xpbmtf c3RhdGUgLSBEaXNhYmxlIGRldmljZSdzIGxpbmsgc3RhdGUKICAqIEBwZGV2OiBQQ0kgZGV2aWNl CiAgKiBAc3RhdGU6IEFTUE0gbGluayBzdGF0ZSB0byBkaXNhYmxlCisgKgorICogRGlzYWJsZSBk ZXZpY2UncyBsaW5rIHN0YXRlIHNvIHRoZSBsaW5rIHdpbGwgbmV2ZXIgZW50ZXIgc3BlY2lmaWMg c3RhdGVzLgorICoKKyAqIFJldHVybjogMCBvciBhIG5lZ2F0aXZlIGVycm5vCiAgKi8KIGludCBw Y2lfZGlzYWJsZV9saW5rX3N0YXRlKHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBpbnQgc3RhdGUpCiB7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjaS9wY2llL2FzcG1fbWluaW1hbC5jIGIvZHJpdmVycy9w Y2kvcGNpZS9hc3BtX21pbmltYWwuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMDAuLjRlNGY2M2U1MWIyMQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvcGNpL3BjaWUv YXNwbV9taW5pbWFsLmMKQEAgLTAsMCArMSw2NiBAQAorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEdQTC0yLjAtb25seQorLyoKKyAqIE1pbmltYWwgUENJZSBBU1BNIGhhbmRsaW5nIHdoZW4g Q09ORklHX1BDSUVBU1BNIGlzIG5vdCBzZXQuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDIzIElu dGVsIENvcnBvcmF0aW9uLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKworI2luY2x1 ZGUgIi4uL3BjaS5oIgorCisjaWZuZGVmIENPTkZJR19QQ0lFQVNQTQorLyoKKyAqIEFsd2F5cyBk aXNhYmxlIEFTUE0gd2hlbiByZXF1ZXN0ZWQsIGV2ZW4gd2hlbiBDT05GSUdfUENJRUFTUE0gaXMK KyAqIG5vdCBidWlsZCB0byBhdm9pZCBkcml2ZXJzIGFkZGluZyBjb2RlIHRvIGRvIGl0IG9uIHRo ZWlyIG93bgorICogd2hpY2ggY2F1c2VkIGlzc3VlcyB3aGVuIGNvcmUgZG9lcyBub3Qga25vdyBh Ym91dCB0aGUgb3V0LW9mLWJhbmQKKyAqIEFTUE0gc3RhdGUgY2hhbmdlcy4KKyAqLworaW50IHBj aV9kaXNhYmxlX2xpbmtfc3RhdGVfbG9ja2VkKHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBpbnQgc3Rh dGUpCit7CisJc3RydWN0IHBjaV9kZXYgKnBhcmVudCA9IHBkZXYtPmJ1cy0+c2VsZjsKKwlzdHJ1 Y3QgcGNpX2J1cyAqbGlua2J1cyA9IHBkZXYtPmJ1czsKKwlzdHJ1Y3QgcGNpX2RldiAqY2hpbGQ7 CisJdTE2IGFzcG1fZW5hYmxlZCwgbGlua2N0bDsKKwlpbnQgcmV0OworCisJaWYgKCFwYXJlbnQp CisJCXJldHVybiAtRU5PREVWOworCisJcmV0ID0gcGNpZV9jYXBhYmlsaXR5X3JlYWRfd29yZChw YXJlbnQsIFBDSV9FWFBfTE5LQ1RMLCAmbGlua2N0bCk7CisJaWYgKHJldCAhPSBQQ0lCSU9TX1NV Q0NFU1NGVUwpCisJCXJldHVybiBwY2liaW9zX2Vycl90b19lcnJubyhyZXQpOworCWFzcG1fZW5h YmxlZCA9IGxpbmtjdGwgJiBQQ0lfRVhQX0xOS0NUTF9BU1BNQzsKKworCXJldCA9IHBjaWVfY2Fw YWJpbGl0eV9yZWFkX3dvcmQocGRldiwgUENJX0VYUF9MTktDVEwsICZsaW5rY3RsKTsKKwlpZiAo cmV0ICE9IFBDSUJJT1NfU1VDQ0VTU0ZVTCkKKwkJcmV0dXJuIHBjaWJpb3NfZXJyX3RvX2Vycm5v KHJldCk7CisJYXNwbV9lbmFibGVkIHw9IGxpbmtjdGwgJiBQQ0lfRVhQX0xOS0NUTF9BU1BNQzsK KworCS8qIElmIG5vIHN0YXRlcyBuZWVkIHRvIGJlIGRpc2FibGVkLCBkb24ndCB0b3VjaCBMTktD VEwgKi8KKwlpZiAoc3RhdGUgJiBhc3BtX2VuYWJsZWQpCisJCXJldHVybiAwOworCisJcmV0ID0g cGNpZV9jYXBhYmlsaXR5X2NsZWFyX3dvcmQocGFyZW50LCBQQ0lfRVhQX0xOS0NUTCwgUENJX0VY UF9MTktDVExfQVNQTUMpOworCWlmIChyZXQgIT0gUENJQklPU19TVUNDRVNTRlVMKQorCQlyZXR1 cm4gcGNpYmlvc19lcnJfdG9fZXJybm8ocmV0KTsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGNoaWxk LCAmbGlua2J1cy0+ZGV2aWNlcywgYnVzX2xpc3QpCisJCXBjaWVfY2FwYWJpbGl0eV9jbGVhcl93 b3JkKGNoaWxkLCBQQ0lfRVhQX0xOS0NUTCwgUENJX0VYUF9MTktDVExfQVNQTUMpOworCisJcmV0 dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MKHBjaV9kaXNhYmxlX2xpbmtfc3RhdGVfbG9ja2VkKTsK KworaW50IHBjaV9kaXNhYmxlX2xpbmtfc3RhdGUoc3RydWN0IHBjaV9kZXYgKnBkZXYsIGludCBz dGF0ZSkKK3sKKwlpbnQgcmV0OworCisJZG93bl9yZWFkKCZwY2lfYnVzX3NlbSk7CisJcmV0ID0g cGNpX2Rpc2FibGVfbGlua19zdGF0ZV9sb2NrZWQocGRldiwgc3RhdGUpOworCXVwX3JlYWQoJnBj aV9idXNfc2VtKTsKKworCXJldHVybiByZXQ7Cit9CitFWFBPUlRfU1lNQk9MKHBjaV9kaXNhYmxl X2xpbmtfc3RhdGUpOworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcGNpLmgg Yi9pbmNsdWRlL2xpbnV4L3BjaS5oCmluZGV4IDdkZjU2OTg4ZmY0OC4uM2MyNGNhMTY0MTA0IDEw MDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3BjaS5oCisrKyBiL2luY2x1ZGUvbGludXgvcGNpLmgK QEAgLTE3NzMsMTggKzE3NzMsMTQgQEAgZXh0ZXJuIGJvb2wgcGNpZV9wb3J0c19uYXRpdmU7CiAJ CQkJCSBQQ0lFX0xJTktfU1RBVEVfTDFfMiB8IFBDSUVfTElOS19TVEFURV9MMV8xX1BDSVBNIHxc CiAJCQkJCSBQQ0lFX0xJTktfU1RBVEVfTDFfMl9QQ0lQTSkKIAotI2lmZGVmIENPTkZJR19QQ0lF QVNQTQogaW50IHBjaV9kaXNhYmxlX2xpbmtfc3RhdGUoc3RydWN0IHBjaV9kZXYgKnBkZXYsIGlu dCBzdGF0ZSk7CiBpbnQgcGNpX2Rpc2FibGVfbGlua19zdGF0ZV9sb2NrZWQoc3RydWN0IHBjaV9k ZXYgKnBkZXYsIGludCBzdGF0ZSk7CisjaWZkZWYgQ09ORklHX1BDSUVBU1BNCiBpbnQgcGNpX3Nl dF9kZWZhdWx0X2xpbmtfc3RhdGUoc3RydWN0IHBjaV9kZXYgKnBkZXYsIGludCBzdGF0ZSk7CiB2 b2lkIHBjaWVfbm9fYXNwbSh2b2lkKTsKIGJvb2wgcGNpZV9hc3BtX3N1cHBvcnRfZW5hYmxlZCh2 b2lkKTsKIGJvb2wgcGNpZV9hc3BtX2VuYWJsZWQoc3RydWN0IHBjaV9kZXYgKnBkZXYpOwogI2Vs c2UKLXN0YXRpYyBpbmxpbmUgaW50IHBjaV9kaXNhYmxlX2xpbmtfc3RhdGUoc3RydWN0IHBjaV9k ZXYgKnBkZXYsIGludCBzdGF0ZSkKLXsgcmV0dXJuIDA7IH0KLXN0YXRpYyBpbmxpbmUgaW50IHBj aV9kaXNhYmxlX2xpbmtfc3RhdGVfbG9ja2VkKHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBpbnQgc3Rh dGUpCi17IHJldHVybiAwOyB9CiBzdGF0aWMgaW5saW5lIGludCBwY2lfc2V0X2RlZmF1bHRfbGlu a19zdGF0ZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwgaW50IHN0YXRlKQogeyByZXR1cm4gMDsgfQog c3RhdGljIGlubGluZSB2b2lkIHBjaWVfbm9fYXNwbSh2b2lkKSB7IH0KLS0gCjIuMzAuMgoKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1r ZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpo dHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJu ZWwK