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 0D935C001B0 for ; Wed, 9 Aug 2023 06:16:55 +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:References: 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: List-Owner; bh=3NZufPWJjnIeW4MtjkTBDRKdEnx1tTCi7kR24Yv13MQ=; b=kzyOr2yssmNPCo bJFB7S00JzAQ7mGH2YUhmf16C4H/+xiw0BRXcdu5ZeG4tNm/WxOb2GsdZRNv6d6OQbMHqoy526Ps4 VFZDOUHJNIlxZCQra59Ise6oRE4FePVtoYtLg4rh7OodcEszCLQPekRBWY8StYXqhgb03Q1hiWvlf 6Bw1S0/r38ilkvkJXzGoPmBfpbBQYvnARhScTl6NtwflbWuE+sgIvJXxfiiA2DTtS8Y1KrlBq1zWc ub9asQQ8NpA4NMc2pQv9RsJLzEMdxs+G/baugjt+xQb0ciZnUQrFoFwMfVQW62n3L6VbS6/+cQVFh w2l9Jud9+j21q19ledww==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qTcUd-0048Qn-1U; Wed, 09 Aug 2023 06:16:27 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qTcUa-0048P9-0X for linux-arm-kernel@lists.infradead.org; Wed, 09 Aug 2023 06:16:25 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 3A64C62F82; Wed, 9 Aug 2023 06:16:21 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9BE7AC433C8; Wed, 9 Aug 2023 06:16:14 +0000 (UTC) Date: Wed, 9 Aug 2023 11:46:04 +0530 From: Manivannan Sadhasivam To: Frank Li Cc: helgaas@kernel.org, bhelgaas@google.com, devicetree@vger.kernel.org, gustavo.pimentel@synopsys.com, imx@lists.linux.dev, kw@linux.com, leoyang.li@nxp.com, linux-arm-kernel@lists.infradead.org, linux-imx@nxp.com, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, lorenzo.pieralisi@arm.com, lpieralisi@kernel.org, mani@kernel.org, minghuan.lian@nxp.com, mingkai.hu@nxp.com, robh+dt@kernel.org, roy.zang@nxp.com, shawnguo@kernel.org, zhiqiang.hou@nxp.com Subject: Re: [PATCH v10 resent 3/3] PCI: layerscape: Add power management support for ls1028a Message-ID: <20230809061604.GC5348@thinkpad> References: <20230807165238.569297-1-Frank.Li@nxp.com> <20230807165238.569297-4-Frank.Li@nxp.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20230807165238.569297-4-Frank.Li@nxp.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230808_231624_319302_481A9E28 X-CRM114-Status: GOOD ( 28.09 ) 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 T24gTW9uLCBBdWcgMDcsIDIwMjMgYXQgMTI6NTI6MzhQTSAtMDQwMCwgRnJhbmsgTGkgd3JvdGU6 Cj4gRnJvbTogSG91IFpoaXFpYW5nIDxaaGlxaWFuZy5Ib3VAbnhwLmNvbT4KPiAKPiBBZGQgUE1F X1R1cm5fb2ZmL1BNRV9UT19BY2sgaGFuZHNoYWtlIHNlcXVlbmNlIGZvciBsczEwMjhhIHBsYXRm b3JtLiBDYWxsCj4gY29tbW9uIGR3YyBkd19wY2llX3N1c3BlbmQocmVzdW1lKV9ub2lycSgpIGZ1 bmN0aW9uIHdoZW4gc3lzdGVtIGVudGVyL2V4aXQKPiBzdXNwZW5kIHN0YXRlLgo+IAo+IEFja2Vk LWJ5OiBNYW5pdmFubmFuIFNhZGhhc2l2YW0gPG1hbmlAa2VybmVsLm9yZz4KPiBTaWduZWQtb2Zm LWJ5OiBIb3UgWmhpcWlhbmcgPFpoaXFpYW5nLkhvdUBueHAuY29tPgo+IFNpZ25lZC1vZmYtYnk6 IEZyYW5rIExpIDxGcmFuay5MaUBueHAuY29tPgo+IC0tLQo+ICBkcml2ZXJzL3BjaS9jb250cm9s bGVyL2R3Yy9wY2ktbGF5ZXJzY2FwZS5jIHwgMTMwICsrKysrKysrKysrKysrKysrKy0tCj4gIDEg ZmlsZSBjaGFuZ2VkLCAxMjEgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKPiAKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9wY2kvY29udHJvbGxlci9kd2MvcGNpLWxheWVyc2NhcGUuYyBiL2Ry aXZlcnMvcGNpL2NvbnRyb2xsZXIvZHdjL3BjaS1sYXllcnNjYXBlLmMKPiBpbmRleCBlZDVmYjQ5 MmZlMDg0Li43NTg2YWVjZTc2OWIyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvcGNpL2NvbnRyb2xs ZXIvZHdjL3BjaS1sYXllcnNjYXBlLmMKPiArKysgYi9kcml2ZXJzL3BjaS9jb250cm9sbGVyL2R3 Yy9wY2ktbGF5ZXJzY2FwZS5jCj4gQEAgLTgsOSArOCwxMSBAQAo+ICAgKiBBdXRob3I6IE1pbmdo dWFuIExpYW4gPE1pbmdodWFuLkxpYW5AZnJlZXNjYWxlLmNvbT4KPiAgICovCj4gIAo+ICsjaW5j bHVkZSA8bGludXgvZGVsYXkuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgo+ICAjaW5j bHVkZSA8bGludXgvaW50ZXJydXB0Lmg+Cj4gICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Cj4gKyNp bmNsdWRlIDxsaW51eC9pb3BvbGwuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L29mX3BjaS5oPgo+ICAj aW5jbHVkZSA8bGludXgvb2ZfcGxhdGZvcm0uaD4KPiAgI2luY2x1ZGUgPGxpbnV4L29mX2FkZHJl c3MuaD4KPiBAQCAtMjAsNiArMjIsNyBAQAo+ICAjaW5jbHVkZSA8bGludXgvbWZkL3N5c2Nvbi5o Pgo+ICAjaW5jbHVkZSA8bGludXgvcmVnbWFwLmg+Cj4gIAo+ICsjaW5jbHVkZSAiLi4vLi4vcGNp LmgiCj4gICNpbmNsdWRlICJwY2llLWRlc2lnbndhcmUuaCIKPiAgCj4gIC8qIFBFWCBJbnRlcm5h bCBDb25maWd1cmF0aW9uIFJlZ2lzdGVycyAqLwo+IEBAIC0yNywxMiArMzAsMjYgQEAKPiAgI2Rl ZmluZSBQQ0lFX0FCU0VSUgkJMHg4ZDAgLyogQnJpZGdlIFNsYXZlIEVycm9yIFJlc3BvbnNlIFJl Z2lzdGVyICovCj4gICNkZWZpbmUgUENJRV9BQlNFUlJfU0VUVElORwkweDk0MDEgLyogRm9yd2Fy ZCBlcnJvciBvZiBub24tcG9zdGVkIHJlcXVlc3QgKi8KPiAgCj4gKy8qIFBGIE1lc3NhZ2UgQ29t bWFuZCBSZWdpc3RlciAqLwo+ICsjZGVmaW5lIExTX1BDSUVfUEZfTUNSCQkweDJjCj4gKyNkZWZp bmUgUEZfTUNSX1BUT01SCQlCSVQoMCkKPiArI2RlZmluZSBQRl9NQ1JfRVhMMlMJCUJJVCgxKQo+ ICsKPiAgI2RlZmluZSBQQ0lFX0lBVFVfTlVNCQk2Cj4gIAo+ICtzdHJ1Y3QgbHNfcGNpZV9kcnZk YXRhIHsKPiArCWNvbnN0IHUzMiBwZl9vZmY7Cj4gKwlib29sIHBtX3N1cHBvcnQ7Cj4gK307Cj4g Kwo+ICBzdHJ1Y3QgbHNfcGNpZSB7Cj4gIAlzdHJ1Y3QgZHdfcGNpZSAqcGNpOwo+ICsJY29uc3Qg c3RydWN0IGxzX3BjaWVfZHJ2ZGF0YSAqZHJ2ZGF0YTsKPiArCXZvaWQgX19pb21lbSAqcGZfYmFz ZTsKPiArCWJvb2wgYmlnX2VuZGlhbjsKPiAgfTsKPiAgCj4gKyNkZWZpbmUgbHNfcGNpZV9wZl9y ZWFkbF9hZGRyKGFkZHIpCWxzX3BjaWVfcGZfcmVhZGwocGNpZSwgYWRkcikKPiAgI2RlZmluZSB0 b19sc19wY2llKHgpCWRldl9nZXRfZHJ2ZGF0YSgoeCktPmRldikKPiAgCj4gIHN0YXRpYyBib29s IGxzX3BjaWVfaXNfYnJpZGdlKHN0cnVjdCBsc19wY2llICpwY2llKQo+IEBAIC03Myw2ICs5MCw2 MCBAQCBzdGF0aWMgdm9pZCBsc19wY2llX2ZpeF9lcnJvcl9yZXNwb25zZShzdHJ1Y3QgbHNfcGNp ZSAqcGNpZSkKPiAgCWlvd3JpdGUzMihQQ0lFX0FCU0VSUl9TRVRUSU5HLCBwY2ktPmRiaV9iYXNl ICsgUENJRV9BQlNFUlIpOwo+ICB9Cj4gIAo+ICtzdGF0aWMgdTMyIGxzX3BjaWVfcGZfcmVhZGwo c3RydWN0IGxzX3BjaWUgKnBjaWUsIHUzMiBvZmYpCj4gK3sKPiArCWlmIChwY2llLT5iaWdfZW5k aWFuKQo+ICsJCXJldHVybiBpb3JlYWQzMmJlKHBjaWUtPnBmX2Jhc2UgKyBvZmYpOwo+ICsKPiAr CXJldHVybiBpb3JlYWQzMihwY2llLT5wZl9iYXNlICsgb2ZmKTsKPiArfQo+ICsKPiArc3RhdGlj IHZvaWQgbHNfcGNpZV9wZl93cml0ZWwoc3RydWN0IGxzX3BjaWUgKnBjaWUsIHUzMiBvZmYsIHUz MiB2YWwpCj4gK3sKPiArCWlmIChwY2llLT5iaWdfZW5kaWFuKQo+ICsJCWlvd3JpdGUzMmJlKHZh bCwgcGNpZS0+cGZfYmFzZSArIG9mZik7Cj4gKwllbHNlCj4gKwkJaW93cml0ZTMyKHZhbCwgcGNp ZS0+cGZfYmFzZSArIG9mZik7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIGxzX3BjaWVfc2VuZF90 dXJub2ZmX21zZyhzdHJ1Y3QgZHdfcGNpZV9ycCAqcHApCj4gK3sKPiArCXN0cnVjdCBkd19wY2ll ICpwY2kgPSB0b19kd19wY2llX2Zyb21fcHAocHApOwo+ICsJc3RydWN0IGxzX3BjaWUgKnBjaWUg PSB0b19sc19wY2llKHBjaSk7Cj4gKwl1MzIgdmFsOwo+ICsJaW50IHJldDsKPiArCj4gKwl2YWwg PSBsc19wY2llX3BmX3JlYWRsKHBjaWUsIExTX1BDSUVfUEZfTUNSKTsKPiArCXZhbCB8PSBQRl9N Q1JfUFRPTVI7Cj4gKwlsc19wY2llX3BmX3dyaXRlbChwY2llLCBMU19QQ0lFX1BGX01DUiwgdmFs KTsKPiArCj4gKwlyZXQgPSByZWFkeF9wb2xsX3RpbWVvdXQobHNfcGNpZV9wZl9yZWFkbF9hZGRy LCBMU19QQ0lFX1BGX01DUiwKPiArCQkJCSB2YWwsICEodmFsICYgUEZfTUNSX1BUT01SKSwKPiAr CQkJCSBQQ0lFX1BNRV9UT19MMl9USU1FT1VUX1VTLzEwLAo+ICsJCQkJIFBDSUVfUE1FX1RPX0wy X1RJTUVPVVRfVVMpOwo+ICsJaWYgKHJldCkKPiArCQlkZXZfZXJyKHBjaWUtPnBjaS0+ZGV2LCAi cG9sbCB0dXJuIG9mZiBtZXNzYWdlIHRpbWVvdXRcbiIpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9p ZCBsc19wY2llX2V4aXRfZnJvbV9sMihzdHJ1Y3QgZHdfcGNpZV9ycCAqcHApCj4gK3sKPiArCXN0 cnVjdCBkd19wY2llICpwY2kgPSB0b19kd19wY2llX2Zyb21fcHAocHApOwo+ICsJc3RydWN0IGxz X3BjaWUgKnBjaWUgPSB0b19sc19wY2llKHBjaSk7Cj4gKwl1MzIgdmFsOwo+ICsJaW50IHJldDsK PiArCj4gKwl2YWwgPSBsc19wY2llX3BmX3JlYWRsKHBjaWUsIExTX1BDSUVfUEZfTUNSKTsKPiAr CXZhbCB8PSBQRl9NQ1JfRVhMMlM7Cj4gKwlsc19wY2llX3BmX3dyaXRlbChwY2llLCBMU19QQ0lF X1BGX01DUiwgdmFsKTsKPiArCj4gKwlyZXQgPSByZWFkeF9wb2xsX3RpbWVvdXQobHNfcGNpZV9w Zl9yZWFkbF9hZGRyLCBMU19QQ0lFX1BGX01DUiwKPiArCQkJCSB2YWwsICEodmFsICYgUEZfTUNS X0VYTDJTKSwKPiArCQkJCSBQQ0lFX1BNRV9UT19MMl9USU1FT1VUX1VTLzEwLAo+ICsJCQkJIFBD SUVfUE1FX1RPX0wyX1RJTUVPVVRfVVMpOwo+ICsJaWYgKHJldCkKPiArCQlkZXZfZXJyKHBjaWUt PnBjaS0+ZGV2LCAicG9sbCBleGl0IEwyIHN0YXRlIHRpbWVvdXRcbiIpOwoKSSBzcGVjaWZpY2Fs bHkgbWVudGlvbmVkIHRoYXQgeW91IG5lZWQgdG8gY2hhbmdlIHRoaXMgZXJyb3IgbWVzc2FnZSBh bmQgdGhlIG9uZQpiZWxvdyBiZWZvcmUgYWRkaW5nIG15IEFja2VkLWJ5IHRhZy4gQnV0IHlvdSBq dXN0IGFkZGVkIHRoZSB0YWcgd2l0aG91dAppbmNvcnBvcmF0aW5nIHRoZSBjaGFuZ2VzIDovCgot IE1hbmkKCj4gK30KPiArCj4gIHN0YXRpYyBpbnQgbHNfcGNpZV9ob3N0X2luaXQoc3RydWN0IGR3 X3BjaWVfcnAgKnBwKQo+ICB7Cj4gIAlzdHJ1Y3QgZHdfcGNpZSAqcGNpID0gdG9fZHdfcGNpZV9m cm9tX3BwKHBwKTsKPiBAQCAtOTEsMTggKzE2MiwyOCBAQCBzdGF0aWMgaW50IGxzX3BjaWVfaG9z dF9pbml0KHN0cnVjdCBkd19wY2llX3JwICpwcCkKPiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg ZHdfcGNpZV9ob3N0X29wcyBsc19wY2llX2hvc3Rfb3BzID0gewo+ICAJLmhvc3RfaW5pdCA9IGxz X3BjaWVfaG9zdF9pbml0LAo+ICsJLnBtZV90dXJuX29mZiA9IGxzX3BjaWVfc2VuZF90dXJub2Zm X21zZywKPiArCS5leGl0X2Zyb21fbDIgPSBsc19wY2llX2V4aXRfZnJvbV9sMiwKPiArfTsKPiAr Cj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbHNfcGNpZV9kcnZkYXRhIGxzMTAyMWFfZHJ2ZGF0YSA9 IHsKPiArfTsKPiArCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbHNfcGNpZV9kcnZkYXRhIGxheWVy c2NhcGVfZHJ2ZGF0YSA9IHsKPiArCS5wZl9vZmYgPSAweGMwMDAwLAo+ICsJLnBtX3N1cHBvcnQg PSB0cnVlLAo+ICB9Owo+ICAKPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgbHNf cGNpZV9vZl9tYXRjaFtdID0gewo+IC0JeyAuY29tcGF0aWJsZSA9ICJmc2wsbHMxMDEyYS1wY2ll IiwgfSwKPiAtCXsgLmNvbXBhdGlibGUgPSAiZnNsLGxzMTAyMWEtcGNpZSIsIH0sCj4gLQl7IC5j b21wYXRpYmxlID0gImZzbCxsczEwMjhhLXBjaWUiLCB9LAo+IC0JeyAuY29tcGF0aWJsZSA9ICJm c2wsbHMxMDQzYS1wY2llIiwgfSwKPiAtCXsgLmNvbXBhdGlibGUgPSAiZnNsLGxzMTA0NmEtcGNp ZSIsIH0sCj4gLQl7IC5jb21wYXRpYmxlID0gImZzbCxsczIwODBhLXBjaWUiLCB9LAo+IC0JeyAu Y29tcGF0aWJsZSA9ICJmc2wsbHMyMDg1YS1wY2llIiwgfSwKPiAtCXsgLmNvbXBhdGlibGUgPSAi ZnNsLGxzMjA4OGEtcGNpZSIsIH0sCj4gLQl7IC5jb21wYXRpYmxlID0gImZzbCxsczEwODhhLXBj aWUiLCB9LAo+ICsJeyAuY29tcGF0aWJsZSA9ICJmc2wsbHMxMDEyYS1wY2llIiwgLmRhdGEgPSAm bGF5ZXJzY2FwZV9kcnZkYXRhIH0sCj4gKwl7IC5jb21wYXRpYmxlID0gImZzbCxsczEwMjFhLXBj aWUiLCAuZGF0YSA9ICZsczEwMjFhX2RydmRhdGEgfSwKPiArCXsgLmNvbXBhdGlibGUgPSAiZnNs LGxzMTAyOGEtcGNpZSIsIC5kYXRhID0gJmxheWVyc2NhcGVfZHJ2ZGF0YSB9LAo+ICsJeyAuY29t cGF0aWJsZSA9ICJmc2wsbHMxMDQzYS1wY2llIiwgLmRhdGEgPSAmbHMxMDIxYV9kcnZkYXRhIH0s Cj4gKwl7IC5jb21wYXRpYmxlID0gImZzbCxsczEwNDZhLXBjaWUiLCAuZGF0YSA9ICZsYXllcnNj YXBlX2RydmRhdGEgfSwKPiArCXsgLmNvbXBhdGlibGUgPSAiZnNsLGxzMjA4MGEtcGNpZSIsIC5k YXRhID0gJmxheWVyc2NhcGVfZHJ2ZGF0YSB9LAo+ICsJeyAuY29tcGF0aWJsZSA9ICJmc2wsbHMy MDg1YS1wY2llIiwgLmRhdGEgPSAmbGF5ZXJzY2FwZV9kcnZkYXRhIH0sCj4gKwl7IC5jb21wYXRp YmxlID0gImZzbCxsczIwODhhLXBjaWUiLCAuZGF0YSA9ICZsYXllcnNjYXBlX2RydmRhdGEgfSwK PiArCXsgLmNvbXBhdGlibGUgPSAiZnNsLGxzMTA4OGEtcGNpZSIsIC5kYXRhID0gJmxheWVyc2Nh cGVfZHJ2ZGF0YSB9LAo+ICAJeyB9LAo+ICB9Owo+ICAKPiBAQCAtMTIxLDYgKzIwMiw4IEBAIHN0 YXRpYyBpbnQgbHNfcGNpZV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICAJ aWYgKCFwY2kpCj4gIAkJcmV0dXJuIC1FTk9NRU07Cj4gIAo+ICsJcGNpZS0+ZHJ2ZGF0YSA9IG9m X2RldmljZV9nZXRfbWF0Y2hfZGF0YShkZXYpOwo+ICsKPiAgCXBjaS0+ZGV2ID0gZGV2Owo+ICAJ cGNpLT5wcC5vcHMgPSAmbHNfcGNpZV9ob3N0X29wczsKPiAgCj4gQEAgLTEzMSw2ICsyMTQsMTAg QEAgc3RhdGljIGludCBsc19wY2llX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYp Cj4gIAlpZiAoSVNfRVJSKHBjaS0+ZGJpX2Jhc2UpKQo+ICAJCXJldHVybiBQVFJfRVJSKHBjaS0+ ZGJpX2Jhc2UpOwo+ICAKPiArCXBjaWUtPmJpZ19lbmRpYW4gPSBvZl9wcm9wZXJ0eV9yZWFkX2Jv b2woZGV2LT5vZl9ub2RlLCAiYmlnLWVuZGlhbiIpOwo+ICsKPiArCXBjaWUtPnBmX2Jhc2UgPSBw Y2ktPmRiaV9iYXNlICsgcGNpZS0+ZHJ2ZGF0YS0+cGZfb2ZmOwo+ICsKPiAgCWlmICghbHNfcGNp ZV9pc19icmlkZ2UocGNpZSkpCj4gIAkJcmV0dXJuIC1FTk9ERVY7Cj4gIAo+IEBAIC0xMzksMTIg KzIyNiwzNyBAQCBzdGF0aWMgaW50IGxzX3BjaWVfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2Rldmlj ZSAqcGRldikKPiAgCXJldHVybiBkd19wY2llX2hvc3RfaW5pdCgmcGNpLT5wcCk7Cj4gIH0KPiAg Cj4gK3N0YXRpYyBpbnQgbHNfcGNpZV9zdXNwZW5kX25vaXJxKHN0cnVjdCBkZXZpY2UgKmRldikK PiArewo+ICsJc3RydWN0IGxzX3BjaWUgKnBjaWUgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKPiAr Cj4gKwlpZiAoIXBjaWUtPmRydmRhdGEtPnBtX3N1cHBvcnQpCj4gKwkJcmV0dXJuIDA7Cj4gKwo+ ICsJcmV0dXJuIGR3X3BjaWVfc3VzcGVuZF9ub2lycShwY2llLT5wY2kpOwo+ICt9Cj4gKwo+ICtz dGF0aWMgaW50IGxzX3BjaWVfcmVzdW1lX25vaXJxKHN0cnVjdCBkZXZpY2UgKmRldikKPiArewo+ ICsJc3RydWN0IGxzX3BjaWUgKnBjaWUgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKPiArCj4gKwlp ZiAoIXBjaWUtPmRydmRhdGEtPnBtX3N1cHBvcnQpCj4gKwkJcmV0dXJuIDA7Cj4gKwo+ICsJcmV0 dXJuIGR3X3BjaWVfcmVzdW1lX25vaXJxKHBjaWUtPnBjaSk7Cj4gK30KPiArCj4gK3N0YXRpYyBj b25zdCBzdHJ1Y3QgZGV2X3BtX29wcyBsc19wY2llX3BtX29wcyA9IHsKPiArCU5PSVJRX1NZU1RF TV9TTEVFUF9QTV9PUFMobHNfcGNpZV9zdXNwZW5kX25vaXJxLCBsc19wY2llX3Jlc3VtZV9ub2ly cSkKPiArfTsKPiArCj4gIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIGxzX3BjaWVfZHJp dmVyID0gewo+ICAJLnByb2JlID0gbHNfcGNpZV9wcm9iZSwKPiAgCS5kcml2ZXIgPSB7Cj4gIAkJ Lm5hbWUgPSAibGF5ZXJzY2FwZS1wY2llIiwKPiAgCQkub2ZfbWF0Y2hfdGFibGUgPSBsc19wY2ll X29mX21hdGNoLAo+ICAJCS5zdXBwcmVzc19iaW5kX2F0dHJzID0gdHJ1ZSwKPiArCQkucG0gPSAm bHNfcGNpZV9wbV9vcHMsCj4gIAl9LAo+ICB9Owo+ICBidWlsdGluX3BsYXRmb3JtX2RyaXZlcihs c19wY2llX2RyaXZlcik7Cj4gLS0gCj4gMi4zNC4xCj4gCgotLSAK4K6u4K6j4K6/4K614K6j4K+N 4K6j4K6p4K+NIOCumuCupOCuvuCumuCuv+CuteCuruCvjQoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QK bGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRl YWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=