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 56228EE4993 for ; Wed, 23 Aug 2023 07:54:02 +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=ve5vsRZB73KzR827Fi9JiYyc4JQ2gfXeoVipNvQNaFE=; b=388deehkPVzkhw 6S1IiI0x1uTGQHenN0ktmBaU44skkp3bHOplh58DpaXLQNIh5f7os3w1tS422wT+IMLHdK5ZKA5BR T27phVT8ESR68SyD0NyjAFHIlWqztJJ8I8WhWshNOZcwS7ijHeH78TwXyj+6WvknlbW4Yz4oEmcv9 Gxz4rSx1PBX/FVAfllkqE5E+xzse9MySs8RCkXjInjtP2eUPSh99e43C29EvtK6kenTt+vji5rsVG qkEqoRrqcIoWIpUoiCqfai9bveERre9AR8+5pv+Pr7W/An4g7uGzRDvX9mYP2zZ3dF0aL6N69JHWe +BGebjbenaietcusr3Dg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qYigG-00HVnr-1b; Wed, 23 Aug 2023 07:53:32 +0000 Received: from dfw.source.kernel.org ([2604:1380:4641:c500::1]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qYigD-00HVn6-2U for linux-arm-kernel@lists.infradead.org; Wed, 23 Aug 2023 07:53:31 +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 4E67F64488; Wed, 23 Aug 2023 07:53:28 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 355C8C433C7; Wed, 23 Aug 2023 07:53:15 +0000 (UTC) Date: Wed, 23 Aug 2023 13:23:05 +0530 From: Manivannan Sadhasivam To: Frank Li Cc: Lorenzo Pieralisi , bhelgaas@google.com, devicetree@vger.kernel.org, gustavo.pimentel@synopsys.com, helgaas@kernel.org, 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, 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 v12 3/3] PCI: layerscape: Add power management support for ls1028a Message-ID: <20230823075305.GG3737@thinkpad> References: <20230821184815.2167131-1-Frank.Li@nxp.com> <20230821184815.2167131-4-Frank.Li@nxp.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230823_005329_908038_CF893282 X-CRM114-Status: GOOD ( 37.90 ) 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 T24gVHVlLCBBdWcgMjIsIDIwMjMgYXQgMTA6MzA6MDhBTSAtMDQwMCwgRnJhbmsgTGkgd3JvdGU6 Cj4gT24gVHVlLCBBdWcgMjIsIDIwMjMgYXQgMTE6MDI6MTFBTSArMDIwMCwgTG9yZW56byBQaWVy YWxpc2kgd3JvdGU6Cj4gPiBPbiBNb24sIEF1ZyAyMSwgMjAyMyBhdCAwMjo0ODoxNVBNIC0wNDAw LCBGcmFuayBMaSB3cm90ZToKPiA+ID4gRnJvbTogSG91IFpoaXFpYW5nIDxaaGlxaWFuZy5Ib3VA bnhwLmNvbT4KPiA+ID4gCj4gPiA+IEFkZCBQTUVfVHVybl9vZmYvUE1FX1RPX0FjayBoYW5kc2hh a2Ugc2VxdWVuY2UgZm9yIGxzMTAyOGEgcGxhdGZvcm0uIENhbGwKPiA+ID4gY29tbW9uIGR3YyBk d19wY2llX3N1c3BlbmQocmVzdW1lKV9ub2lycSgpIGZ1bmN0aW9uIHdoZW4gc3lzdGVtIGVudGVy L2V4aXQKPiA+ID4gc3VzcGVuZCBzdGF0ZS4KPiA+ID4gCj4gPiA+IEFja2VkLWJ5OiBNYW5pdmFu bmFuIFNhZGhhc2l2YW0gPG1hbmlAa2VybmVsLm9yZz4KPiA+ID4gU2lnbmVkLW9mZi1ieTogSG91 IFpoaXFpYW5nIDxaaGlxaWFuZy5Ib3VAbnhwLmNvbT4KPiA+ID4gU2lnbmVkLW9mZi1ieTogRnJh bmsgTGkgPEZyYW5rLkxpQG54cC5jb20+Cj4gPiA+IC0tLQo+ID4gPiAgZHJpdmVycy9wY2kvY29u dHJvbGxlci9kd2MvcGNpLWxheWVyc2NhcGUuYyB8IDEzNSArKysrKysrKysrKysrKysrKystLQo+ ID4gPiAgMSBmaWxlIGNoYW5nZWQsIDEyNiBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQo+ ID4gPiAKPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvZHdjL3BjaS1s YXllcnNjYXBlLmMgYi9kcml2ZXJzL3BjaS9jb250cm9sbGVyL2R3Yy9wY2ktbGF5ZXJzY2FwZS5j Cj4gPiA+IGluZGV4IGVkNWZiNDkyZmUwOC4uOTdiOGQzMzI5ZGY3IDEwMDY0NAo+ID4gPiAtLS0g YS9kcml2ZXJzL3BjaS9jb250cm9sbGVyL2R3Yy9wY2ktbGF5ZXJzY2FwZS5jCj4gPiA+ICsrKyBi L2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvZHdjL3BjaS1sYXllcnNjYXBlLmMKPiA+ID4gQEAgLTgs OSArOCwxMSBAQAo+ID4gPiAgICogQXV0aG9yOiBNaW5naHVhbiBMaWFuIDxNaW5naHVhbi5MaWFu QGZyZWVzY2FsZS5jb20+Cj4gPiA+ICAgKi8KPiA+ID4gIAo+ID4gPiArI2luY2x1ZGUgPGxpbnV4 L2RlbGF5Lmg+Cj4gPiA+ICAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+Cj4gPiA+ICAjaW5jbHVk ZSA8bGludXgvaW50ZXJydXB0Lmg+Cj4gPiA+ICAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgo+ID4g PiArI2luY2x1ZGUgPGxpbnV4L2lvcG9sbC5oPgo+ID4gPiAgI2luY2x1ZGUgPGxpbnV4L29mX3Bj aS5oPgo+ID4gPiAgI2luY2x1ZGUgPGxpbnV4L29mX3BsYXRmb3JtLmg+Cj4gPiA+ICAjaW5jbHVk ZSA8bGludXgvb2ZfYWRkcmVzcy5oPgo+ID4gPiBAQCAtMjAsNiArMjIsNyBAQAo+ID4gPiAgI2lu Y2x1ZGUgPGxpbnV4L21mZC9zeXNjb24uaD4KPiA+ID4gICNpbmNsdWRlIDxsaW51eC9yZWdtYXAu aD4KPiA+ID4gIAo+ID4gPiArI2luY2x1ZGUgIi4uLy4uL3BjaS5oIgo+ID4gPiAgI2luY2x1ZGUg InBjaWUtZGVzaWdud2FyZS5oIgo+ID4gPiAgCj4gPiA+ICAvKiBQRVggSW50ZXJuYWwgQ29uZmln dXJhdGlvbiBSZWdpc3RlcnMgKi8KPiA+ID4gQEAgLTI3LDEyICszMCwyNiBAQAo+ID4gPiAgI2Rl ZmluZSBQQ0lFX0FCU0VSUgkJMHg4ZDAgLyogQnJpZGdlIFNsYXZlIEVycm9yIFJlc3BvbnNlIFJl Z2lzdGVyICovCj4gPiA+ICAjZGVmaW5lIFBDSUVfQUJTRVJSX1NFVFRJTkcJMHg5NDAxIC8qIEZv cndhcmQgZXJyb3Igb2Ygbm9uLXBvc3RlZCByZXF1ZXN0ICovCj4gPiA+ICAKPiA+ID4gKy8qIFBG IE1lc3NhZ2UgQ29tbWFuZCBSZWdpc3RlciAqLwo+ID4gPiArI2RlZmluZSBMU19QQ0lFX1BGX01D UgkJMHgyYwo+ID4gPiArI2RlZmluZSBQRl9NQ1JfUFRPTVIJCUJJVCgwKQo+ID4gPiArI2RlZmlu ZSBQRl9NQ1JfRVhMMlMJCUJJVCgxKQo+ID4gPiArCj4gPiA+ICAjZGVmaW5lIFBDSUVfSUFUVV9O VU0JCTYKPiA+ID4gIAo+ID4gPiArc3RydWN0IGxzX3BjaWVfZHJ2ZGF0YSB7Cj4gPiA+ICsJY29u c3QgdTMyIHBmX29mZjsKPiA+ID4gKwlib29sIHBtX3N1cHBvcnQ7Cj4gPiA+ICt9Owo+ID4gPiAr Cj4gPiA+ICBzdHJ1Y3QgbHNfcGNpZSB7Cj4gPiA+ICAJc3RydWN0IGR3X3BjaWUgKnBjaTsKPiA+ ID4gKwljb25zdCBzdHJ1Y3QgbHNfcGNpZV9kcnZkYXRhICpkcnZkYXRhOwo+ID4gPiArCXZvaWQg X19pb21lbSAqcGZfYmFzZTsKPiA+ID4gKwlib29sIGJpZ19lbmRpYW47Cj4gPiA+ICB9Owo+ID4g PiAgCj4gPiA+ICsjZGVmaW5lIGxzX3BjaWVfcGZfcmVhZGxfYWRkcihhZGRyKQlsc19wY2llX3Bm X3JlYWRsKHBjaWUsIGFkZHIpCj4gPiA+ICAjZGVmaW5lIHRvX2xzX3BjaWUoeCkJZGV2X2dldF9k cnZkYXRhKCh4KS0+ZGV2KQo+ID4gPiAgCj4gPiA+ICBzdGF0aWMgYm9vbCBsc19wY2llX2lzX2Jy aWRnZShzdHJ1Y3QgbHNfcGNpZSAqcGNpZSkKPiA+ID4gQEAgLTczLDYgKzkwLDY0IEBAIHN0YXRp YyB2b2lkIGxzX3BjaWVfZml4X2Vycm9yX3Jlc3BvbnNlKHN0cnVjdCBsc19wY2llICpwY2llKQo+ ID4gPiAgCWlvd3JpdGUzMihQQ0lFX0FCU0VSUl9TRVRUSU5HLCBwY2ktPmRiaV9iYXNlICsgUENJ RV9BQlNFUlIpOwo+ID4gPiAgfQo+ID4gPiAgCj4gPiA+ICtzdGF0aWMgdTMyIGxzX3BjaWVfcGZf cmVhZGwoc3RydWN0IGxzX3BjaWUgKnBjaWUsIHUzMiBvZmYpCj4gPiA+ICt7Cj4gPiA+ICsJaWYg KHBjaWUtPmJpZ19lbmRpYW4pCj4gPiA+ICsJCXJldHVybiBpb3JlYWQzMmJlKHBjaWUtPnBmX2Jh c2UgKyBvZmYpOwo+ID4gPiArCj4gPiA+ICsJcmV0dXJuIGlvcmVhZDMyKHBjaWUtPnBmX2Jhc2Ug KyBvZmYpOwo+ID4gPiArfQo+ID4gPiArCj4gPiA+ICtzdGF0aWMgdm9pZCBsc19wY2llX3BmX3dy aXRlbChzdHJ1Y3QgbHNfcGNpZSAqcGNpZSwgdTMyIG9mZiwgdTMyIHZhbCkKPiA+ID4gK3sKPiA+ ID4gKwlpZiAocGNpZS0+YmlnX2VuZGlhbikKPiA+ID4gKwkJaW93cml0ZTMyYmUodmFsLCBwY2ll LT5wZl9iYXNlICsgb2ZmKTsKPiA+ID4gKwllbHNlCj4gPiA+ICsJCWlvd3JpdGUzMih2YWwsIHBj aWUtPnBmX2Jhc2UgKyBvZmYpOwo+ID4gPiArfQo+ID4gPiArCj4gPiA+ICtzdGF0aWMgdm9pZCBs c19wY2llX3NlbmRfdHVybm9mZl9tc2coc3RydWN0IGR3X3BjaWVfcnAgKnBwKQo+ID4gPiArewo+ ID4gPiArCXN0cnVjdCBkd19wY2llICpwY2kgPSB0b19kd19wY2llX2Zyb21fcHAocHApOwo+ID4g PiArCXN0cnVjdCBsc19wY2llICpwY2llID0gdG9fbHNfcGNpZShwY2kpOwo+ID4gPiArCXUzMiB2 YWw7Cj4gPiA+ICsJaW50IHJldDsKPiA+ID4gKwo+ID4gPiArCXZhbCA9IGxzX3BjaWVfcGZfcmVh ZGwocGNpZSwgTFNfUENJRV9QRl9NQ1IpOwo+ID4gPiArCXZhbCB8PSBQRl9NQ1JfUFRPTVI7Cj4g PiA+ICsJbHNfcGNpZV9wZl93cml0ZWwocGNpZSwgTFNfUENJRV9QRl9NQ1IsIHZhbCk7Cj4gPiA+ ICsKPiA+ID4gKwlyZXQgPSByZWFkeF9wb2xsX3RpbWVvdXQobHNfcGNpZV9wZl9yZWFkbF9hZGRy LCBMU19QQ0lFX1BGX01DUiwKPiA+ID4gKwkJCQkgdmFsLCAhKHZhbCAmIFBGX01DUl9QVE9NUiks Cj4gPiA+ICsJCQkJIFBDSUVfUE1FX1RPX0wyX1RJTUVPVVRfVVMvMTAsCj4gPiA+ICsJCQkJIFBD SUVfUE1FX1RPX0wyX1RJTUVPVVRfVVMpOwo+ID4gPiArCWlmIChyZXQpCj4gPiA+ICsJCWRldl9l cnIocGNpZS0+cGNpLT5kZXYsICJQTUVfVHVybl9vZmYgdGltZW91dFxuIik7Cj4gPiA+ICt9Cj4g PiA+ICsKPiA+ID4gK3N0YXRpYyB2b2lkIGxzX3BjaWVfZXhpdF9mcm9tX2wyKHN0cnVjdCBkd19w Y2llX3JwICpwcCkKPiA+ID4gK3sKPiA+ID4gKwlzdHJ1Y3QgZHdfcGNpZSAqcGNpID0gdG9fZHdf cGNpZV9mcm9tX3BwKHBwKTsKPiA+ID4gKwlzdHJ1Y3QgbHNfcGNpZSAqcGNpZSA9IHRvX2xzX3Bj aWUocGNpKTsKPiA+ID4gKwl1MzIgdmFsOwo+ID4gPiArCWludCByZXQ7Cj4gPiA+ICsKPiA+ID4g KwkvKgo+ID4gPiArCSAqIFNldCBQRl9NQ1JfRVhMMlMgYml0IGluIExTX1BDSUVfUEZfTUNSIHJl Z2lzdGVyIGZvciB0aGUgbGluawo+ID4gPiArCSAqIHRvIGV4aXQgTDIgc3RhdGUuCj4gPiA+ICsJ ICovCj4gPiA+ICsJdmFsID0gbHNfcGNpZV9wZl9yZWFkbChwY2llLCBMU19QQ0lFX1BGX01DUik7 Cj4gPiA+ICsJdmFsIHw9IFBGX01DUl9FWEwyUzsKPiA+ID4gKwlsc19wY2llX3BmX3dyaXRlbChw Y2llLCBMU19QQ0lFX1BGX01DUiwgdmFsKTsKPiA+ID4gKwo+ID4gPiArCXJldCA9IHJlYWR4X3Bv bGxfdGltZW91dChsc19wY2llX3BmX3JlYWRsX2FkZHIsIExTX1BDSUVfUEZfTUNSLAo+ID4gPiAr CQkJCSB2YWwsICEodmFsICYgUEZfTUNSX0VYTDJTKSwKPiA+ID4gKwkJCQkgMTAwMCwKPiA+ID4g KwkJCQkgMTAwMDApOwo+ID4gCj4gPiBJIGNhbiBhZGQgYSBjb21tZW50IG15c2VsZiAtIHBsZWFz ZSBleHBsYWluIGhvdyB0aGlzIGRlbGF5IHdhcyBjaG9zZW4sCj4gPiBhbnkgcGllY2Ugb2YgaW5m b3JtYXRpb24gY291bGQgYmUgdXNlZnVsIGZvciBhIGZ1dHVyZSBkZXZlbG9wZXIsIGxldAo+ID4g bWUga25vdyBhbmQgSSB3aWxsIGFkZCBpdC4KPiAKPiAoVGhpcyB2YWx1ZSBpcyBjb21pbmcgZnJv bSBleGl0ZWQgZG93bnN0cmVhbSBjb2RlLiBJdCBpcyByZWFsbHkgaGFyZCB0bwo+IGZpbmQgb3Jp Z2luYWwgb3duZXIgYW5kIGRlc2lnbmVyIHRvIGZpbmQgdGhlIHJlYXNvbikuCj4gCj4gSG93IGFi b3V0IGp1c3QgYWRkIGJlbG93IGNvbW1lbnRzPwo+IAo+ICJObyBzcGVjaWZpYyBzcGVjaWZpY2F0 aW9uIGRlZmluZXMgdGhpcyB0aW1lb3V0IHZhbHVlLiBUaGUgdGltZW1vdXQgb2YgMTBtcwo+IHdh cyBjaG9zZW4gYnkgdGhlIGVuZ2luZWVyIGFzIGEgc3VmZmljaWVudCBhbW91bnQgb2YgdGltZSB0 byBhbGxvdyB0aGUKPiBoYXJkd2FyZSB0byBjb21wbGV0ZSBpdHMgYWN0aW9ucy4iCj4gCgpIb3cg YWJvdXQsICJMMSBleGl0IHRpbWVvdXQgb2YgMTBtcyBpcyBub3QgZGVmaW5lZCBpbiB0aGUgc3Bl YywgYnV0IHJhdGhlcgpjaG9zZW4gYmFzZWQgb24gdGhlIHByYWN0aWNhbCBvYnNlcnZhdGlvbnMu IgoKLSBNYW5pCgo+ID4gCj4gPiA+ICsJaWYgKHJldCkKPiA+ID4gKwkJZGV2X2VycihwY2llLT5w Y2ktPmRldiwgIkwyIGV4aXQgdGltZW91dFxuIik7Cj4gPiA+ICt9Cj4gPiA+ICsKPiA+ID4gIHN0 YXRpYyBpbnQgbHNfcGNpZV9ob3N0X2luaXQoc3RydWN0IGR3X3BjaWVfcnAgKnBwKQo+ID4gPiAg ewo+ID4gPiAgCXN0cnVjdCBkd19wY2llICpwY2kgPSB0b19kd19wY2llX2Zyb21fcHAocHApOwo+ ID4gPiBAQCAtOTEsMTggKzE2NiwyNyBAQCBzdGF0aWMgaW50IGxzX3BjaWVfaG9zdF9pbml0KHN0 cnVjdCBkd19wY2llX3JwICpwcCkKPiA+ID4gIAo+ID4gPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBk d19wY2llX2hvc3Rfb3BzIGxzX3BjaWVfaG9zdF9vcHMgPSB7Cj4gPiA+ICAJLmhvc3RfaW5pdCA9 IGxzX3BjaWVfaG9zdF9pbml0LAo+ID4gPiArCS5wbWVfdHVybl9vZmYgPSBsc19wY2llX3NlbmRf dHVybm9mZl9tc2csCj4gPiA+ICt9Owo+ID4gPiArCj4gPiA+ICtzdGF0aWMgY29uc3Qgc3RydWN0 IGxzX3BjaWVfZHJ2ZGF0YSBsczEwMjFhX2RydmRhdGEgPSB7Cj4gPiAKPiA+IEkgc3VnZ2VzdCBh ZGRpbmcgLnBtX3N1cHBvcnQgPSBmYWxzZSBleHBsaWNpdGx5IGhlcmUsIEkgY2FuCj4gPiBkbyBp dCBteXNlbGYuCj4gPiAKPiA+IFRoYW5rcywKPiA+IExvcmVuem8KPiAKPiBUaGFua3MhCj4gCj4g PiAKPiA+ID4gK307Cj4gPiA+ICsKPiA+ID4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbHNfcGNpZV9k cnZkYXRhIGxheWVyc2NhcGVfZHJ2ZGF0YSA9IHsKPiA+ID4gKwkucGZfb2ZmID0gMHhjMDAwMCwK PiA+ID4gKwkucG1fc3VwcG9ydCA9IHRydWUsCj4gPiA+ICB9Owo+ID4gPiAgCj4gPiA+ICBzdGF0 aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBsc19wY2llX29mX21hdGNoW10gPSB7Cj4gPiA+ IC0JeyAuY29tcGF0aWJsZSA9ICJmc2wsbHMxMDEyYS1wY2llIiwgfSwKPiA+ID4gLQl7IC5jb21w YXRpYmxlID0gImZzbCxsczEwMjFhLXBjaWUiLCB9LAo+ID4gPiAtCXsgLmNvbXBhdGlibGUgPSAi ZnNsLGxzMTAyOGEtcGNpZSIsIH0sCj4gPiA+IC0JeyAuY29tcGF0aWJsZSA9ICJmc2wsbHMxMDQz YS1wY2llIiwgfSwKPiA+ID4gLQl7IC5jb21wYXRpYmxlID0gImZzbCxsczEwNDZhLXBjaWUiLCB9 LAo+ID4gPiAtCXsgLmNvbXBhdGlibGUgPSAiZnNsLGxzMjA4MGEtcGNpZSIsIH0sCj4gPiA+IC0J eyAuY29tcGF0aWJsZSA9ICJmc2wsbHMyMDg1YS1wY2llIiwgfSwKPiA+ID4gLQl7IC5jb21wYXRp YmxlID0gImZzbCxsczIwODhhLXBjaWUiLCB9LAo+ID4gPiAtCXsgLmNvbXBhdGlibGUgPSAiZnNs LGxzMTA4OGEtcGNpZSIsIH0sCj4gPiA+ICsJeyAuY29tcGF0aWJsZSA9ICJmc2wsbHMxMDEyYS1w Y2llIiwgLmRhdGEgPSAmbGF5ZXJzY2FwZV9kcnZkYXRhIH0sCj4gPiA+ICsJeyAuY29tcGF0aWJs ZSA9ICJmc2wsbHMxMDIxYS1wY2llIiwgLmRhdGEgPSAmbHMxMDIxYV9kcnZkYXRhIH0sCj4gPiA+ ICsJeyAuY29tcGF0aWJsZSA9ICJmc2wsbHMxMDI4YS1wY2llIiwgLmRhdGEgPSAmbGF5ZXJzY2Fw ZV9kcnZkYXRhIH0sCj4gPiA+ICsJeyAuY29tcGF0aWJsZSA9ICJmc2wsbHMxMDQzYS1wY2llIiwg LmRhdGEgPSAmbHMxMDIxYV9kcnZkYXRhIH0sCj4gPiA+ICsJeyAuY29tcGF0aWJsZSA9ICJmc2ws bHMxMDQ2YS1wY2llIiwgLmRhdGEgPSAmbGF5ZXJzY2FwZV9kcnZkYXRhIH0sCj4gPiA+ICsJeyAu Y29tcGF0aWJsZSA9ICJmc2wsbHMyMDgwYS1wY2llIiwgLmRhdGEgPSAmbGF5ZXJzY2FwZV9kcnZk YXRhIH0sCj4gPiA+ICsJeyAuY29tcGF0aWJsZSA9ICJmc2wsbHMyMDg1YS1wY2llIiwgLmRhdGEg PSAmbGF5ZXJzY2FwZV9kcnZkYXRhIH0sCj4gPiA+ICsJeyAuY29tcGF0aWJsZSA9ICJmc2wsbHMy MDg4YS1wY2llIiwgLmRhdGEgPSAmbGF5ZXJzY2FwZV9kcnZkYXRhIH0sCj4gPiA+ICsJeyAuY29t cGF0aWJsZSA9ICJmc2wsbHMxMDg4YS1wY2llIiwgLmRhdGEgPSAmbGF5ZXJzY2FwZV9kcnZkYXRh IH0sCj4gPiA+ICAJeyB9LAo+ID4gPiAgfTsKPiA+ID4gIAo+ID4gPiBAQCAtMTIxLDYgKzIwNSw4 IEBAIHN0YXRpYyBpbnQgbHNfcGNpZV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2 KQo+ID4gPiAgCWlmICghcGNpKQo+ID4gPiAgCQlyZXR1cm4gLUVOT01FTTsKPiA+ID4gIAo+ID4g PiArCXBjaWUtPmRydmRhdGEgPSBvZl9kZXZpY2VfZ2V0X21hdGNoX2RhdGEoZGV2KTsKPiA+ID4g Kwo+ID4gPiAgCXBjaS0+ZGV2ID0gZGV2Owo+ID4gPiAgCXBjaS0+cHAub3BzID0gJmxzX3BjaWVf aG9zdF9vcHM7Cj4gPiA+ICAKPiA+ID4gQEAgLTEzMSw2ICsyMTcsMTAgQEAgc3RhdGljIGludCBs c19wY2llX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gPiA+ICAJaWYgKElT X0VSUihwY2ktPmRiaV9iYXNlKSkKPiA+ID4gIAkJcmV0dXJuIFBUUl9FUlIocGNpLT5kYmlfYmFz ZSk7Cj4gPiA+ICAKPiA+ID4gKwlwY2llLT5iaWdfZW5kaWFuID0gb2ZfcHJvcGVydHlfcmVhZF9i b29sKGRldi0+b2Zfbm9kZSwgImJpZy1lbmRpYW4iKTsKPiA+ID4gKwo+ID4gPiArCXBjaWUtPnBm X2Jhc2UgPSBwY2ktPmRiaV9iYXNlICsgcGNpZS0+ZHJ2ZGF0YS0+cGZfb2ZmOwo+ID4gPiArCj4g PiA+ICAJaWYgKCFsc19wY2llX2lzX2JyaWRnZShwY2llKSkKPiA+ID4gIAkJcmV0dXJuIC1FTk9E RVY7Cj4gPiA+ICAKPiA+ID4gQEAgLTEzOSwxMiArMjI5LDM5IEBAIHN0YXRpYyBpbnQgbHNfcGNp ZV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ID4gPiAgCXJldHVybiBkd19w Y2llX2hvc3RfaW5pdCgmcGNpLT5wcCk7Cj4gPiA+ICB9Cj4gPiA+ICAKPiA+ID4gK3N0YXRpYyBp bnQgbHNfcGNpZV9zdXNwZW5kX25vaXJxKHN0cnVjdCBkZXZpY2UgKmRldikKPiA+ID4gK3sKPiA+ ID4gKwlzdHJ1Y3QgbHNfcGNpZSAqcGNpZSA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOwo+ID4gPiAr Cj4gPiA+ICsJaWYgKCFwY2llLT5kcnZkYXRhLT5wbV9zdXBwb3J0KQo+ID4gPiArCQlyZXR1cm4g MDsKPiA+ID4gKwo+ID4gPiArCXJldHVybiBkd19wY2llX3N1c3BlbmRfbm9pcnEocGNpZS0+cGNp KTsKPiA+ID4gK30KPiA+ID4gKwo+ID4gPiArc3RhdGljIGludCBsc19wY2llX3Jlc3VtZV9ub2ly cShzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gPiA+ICt7Cj4gPiA+ICsJc3RydWN0IGxzX3BjaWUgKnBj aWUgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKPiA+ID4gKwo+ID4gPiArCWlmICghcGNpZS0+ZHJ2 ZGF0YS0+cG1fc3VwcG9ydCkKPiA+ID4gKwkJcmV0dXJuIDA7Cj4gPiA+ICsKPiA+ID4gKwlsc19w Y2llX2V4aXRfZnJvbV9sMigmcGNpZS0+cGNpLT5wcCk7Cj4gPiA+ICsKPiA+ID4gKwlyZXR1cm4g ZHdfcGNpZV9yZXN1bWVfbm9pcnEocGNpZS0+cGNpKTsKPiA+ID4gK30KPiA+ID4gKwo+ID4gPiAr c3RhdGljIGNvbnN0IHN0cnVjdCBkZXZfcG1fb3BzIGxzX3BjaWVfcG1fb3BzID0gewo+ID4gPiAr CU5PSVJRX1NZU1RFTV9TTEVFUF9QTV9PUFMobHNfcGNpZV9zdXNwZW5kX25vaXJxLCBsc19wY2ll X3Jlc3VtZV9ub2lycSkKPiA+ID4gK307Cj4gPiA+ICsKPiA+ID4gIHN0YXRpYyBzdHJ1Y3QgcGxh dGZvcm1fZHJpdmVyIGxzX3BjaWVfZHJpdmVyID0gewo+ID4gPiAgCS5wcm9iZSA9IGxzX3BjaWVf cHJvYmUsCj4gPiA+ICAJLmRyaXZlciA9IHsKPiA+ID4gIAkJLm5hbWUgPSAibGF5ZXJzY2FwZS1w Y2llIiwKPiA+ID4gIAkJLm9mX21hdGNoX3RhYmxlID0gbHNfcGNpZV9vZl9tYXRjaCwKPiA+ID4g IAkJLnN1cHByZXNzX2JpbmRfYXR0cnMgPSB0cnVlLAo+ID4gPiArCQkucG0gPSAmbHNfcGNpZV9w bV9vcHMsCj4gPiA+ICAJfSwKPiA+ID4gIH07Cj4gPiA+ICBidWlsdGluX3BsYXRmb3JtX2RyaXZl cihsc19wY2llX2RyaXZlcik7Cj4gPiA+IC0tIAo+ID4gPiAyLjM0LjEKPiA+ID4gCgotLSAK4K6u 4K6j4K6/4K614K6j4K+N4K6j4K6p4K+NIOCumuCupOCuvuCumuCuv+CuteCuruCvjQoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5l bCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6 Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=