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 3F0DAEE4996 for ; Mon, 21 Aug 2023 10:34:42 +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=uGzZ8YGLuY5uRMU94sCOOCV22j4Sxhgu3rxfEW/Tv9s=; b=YodYiBM+2z5kZI WLCTJti4qtOC4jvm1yeIMzQvJ5xeUi3HThPerUXejwxNt9lCx5JCVPSU9AUZl/qXsi6ofTTR7KylC bY/m25k+SwHXWTfasth8t/qjn1KY4sdtrJ8VDbCRHc84UhNcSalgspxlLfLuTouAr7roU9Q/I+7oP NVn/GbHyykM1LVnZH6emBCAJttMMO6cp85d2xsFmQ2Be77ol9SI+gX0E2wSKNK61jYcfnW/lwdNcs 9c9SIiZdCWvCWiHFZSx37Lmud+11ELW8k1lLgxj+UoHmp7VmPA5OQ2gaz12mitYNKsfUoKnoLPUjf OCsbotOebl0FLEDyYwxQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qY2Eo-00DloF-2P; Mon, 21 Aug 2023 10:34:22 +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 1qY2Ei-00DljU-38 for linux-arm-kernel@lists.infradead.org; Mon, 21 Aug 2023 10:34:21 +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 E033C63040; Mon, 21 Aug 2023 10:34:15 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1767DC433C8; Mon, 21 Aug 2023 10:34:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1692614055; bh=V8jNWGK/w70MbYYsY5Sv9WvKJR1us7t+YIKDHFfEVFU=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=BzKRQSkZS3pcsylS9Xb+eR147O/3mSfYsNTa1bJGyqpgZg/dlEZJc547PrNkbTaHm kjuw1J7vSzfs+AGn9JPQMJ1wKbUxfrY6fO85oFSrdBnIprBSwHZHetYNhwbMkhZrzI QqTabHLZ9lHUO1zfW5CudtwoqV1UGwwNQZoql1/lXcTnunHnzLczuAwGS9reYFFAEu yfOWfj8WtE/IbP4y2z8j6EgqxJKQU41qwZ5wzeGSQ+hsoNrOxsHiKqHYIdaXdtLoAj 5L6Rocg+E979zg0I1X25lgmkUaQO6sE+58K/N067nzlYmQpHuVdXBmiOpF1N96P1us eRs9e4GZEYbwA== Date: Mon, 21 Aug 2023 16:03:57 +0530 From: Manivannan Sadhasivam To: Lorenzo Pieralisi Cc: Frank Li , manivannan.sadhasivam@linaro.org, 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, 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 v11 3/3] PCI: layerscape: Add power management support for ls1028a Message-ID: <20230821103357.GA36455@thinkpad> References: <20230809153540.834653-1-Frank.Li@nxp.com> <20230809153540.834653-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-20230821_033417_123733_0931E551 X-CRM114-Status: GOOD ( 46.36 ) 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 T24gTW9uLCBBdWcgMjEsIDIwMjMgYXQgMTA6MjE6MDVBTSArMDIwMCwgTG9yZW56byBQaWVyYWxp c2kgd3JvdGU6Cj4gT24gVGh1LCBBdWcgMTcsIDIwMjMgYXQgMDY6NDI6NTBQTSAtMDQwMCwgRnJh bmsgTGkgd3JvdGU6Cj4gPiBPbiBXZWQsIEF1ZyAxNiwgMjAyMyBhdCAwNTozMDoxMFBNICswMjAw LCBMb3JlbnpvIFBpZXJhbGlzaSB3cm90ZToKPiA+ID4gT24gV2VkLCBBdWcgMDksIDIwMjMgYXQg MTE6MzU6NDBBTSAtMDQwMCwgRnJhbmsgTGkgd3JvdGU6Cj4gPiA+ID4gRnJvbTogSG91IFpoaXFp YW5nIDxaaGlxaWFuZy5Ib3VAbnhwLmNvbT4KPiA+ID4gPiAKPiA+ID4gPiBBZGQgUE1FX1R1cm5f b2ZmL1BNRV9UT19BY2sgaGFuZHNoYWtlIHNlcXVlbmNlIGZvciBsczEwMjhhIHBsYXRmb3JtLiBD YWxsCj4gPiA+ID4gY29tbW9uIGR3YyBkd19wY2llX3N1c3BlbmQocmVzdW1lKV9ub2lycSgpIGZ1 bmN0aW9uIHdoZW4gc3lzdGVtIGVudGVyL2V4aXQKPiA+ID4gPiBzdXNwZW5kIHN0YXRlLgo+ID4g PiA+IAo+ID4gPiA+IEFja2VkLWJ5OiBNYW5pdmFubmFuIFNhZGhhc2l2YW0gPG1hbmlAa2VybmVs Lm9yZz4KPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBIb3UgWmhpcWlhbmcgPFpoaXFpYW5nLkhvdUBu eHAuY29tPgo+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IEZyYW5rIExpIDxGcmFuay5MaUBueHAuY29t Pgo+ID4gPiA+IC0tLQo+ID4gPiA+ICBkcml2ZXJzL3BjaS9jb250cm9sbGVyL2R3Yy9wY2ktbGF5 ZXJzY2FwZS5jIHwgMTMwICsrKysrKysrKysrKysrKysrKy0tCj4gPiA+ID4gIDEgZmlsZSBjaGFu Z2VkLCAxMjEgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKPiA+ID4gPiAKPiA+ID4gPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9wY2kvY29udHJvbGxlci9kd2MvcGNpLWxheWVyc2NhcGUuYyBi L2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvZHdjL3BjaS1sYXllcnNjYXBlLmMKPiA+ID4gPiBpbmRl eCBlZDVmYjQ5MmZlMDg0Li5iNDlmNjU0MzM1ZmQ3IDEwMDY0NAo+ID4gPiA+IC0tLSBhL2RyaXZl cnMvcGNpL2NvbnRyb2xsZXIvZHdjL3BjaS1sYXllcnNjYXBlLmMKPiA+ID4gPiArKysgYi9kcml2 ZXJzL3BjaS9jb250cm9sbGVyL2R3Yy9wY2ktbGF5ZXJzY2FwZS5jCj4gPiA+ID4gQEAgLTgsOSAr OCwxMSBAQAo+ID4gPiA+ICAgKiBBdXRob3I6IE1pbmdodWFuIExpYW4gPE1pbmdodWFuLkxpYW5A ZnJlZXNjYWxlLmNvbT4KPiA+ID4gPiAgICovCj4gPiA+ID4gIAo+ID4gPiA+ICsjaW5jbHVkZSA8 bGludXgvZGVsYXkuaD4KPiA+ID4gPiAgI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgo+ID4gPiA+ ICAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+Cj4gPiA+ID4gICNpbmNsdWRlIDxsaW51eC9p bml0Lmg+Cj4gPiA+ID4gKyNpbmNsdWRlIDxsaW51eC9pb3BvbGwuaD4KPiA+ID4gPiAgI2luY2x1 ZGUgPGxpbnV4L29mX3BjaS5oPgo+ID4gPiA+ICAjaW5jbHVkZSA8bGludXgvb2ZfcGxhdGZvcm0u aD4KPiA+ID4gPiAgI2luY2x1ZGUgPGxpbnV4L29mX2FkZHJlc3MuaD4KPiA+ID4gPiBAQCAtMjAs NiArMjIsNyBAQAo+ID4gPiA+ICAjaW5jbHVkZSA8bGludXgvbWZkL3N5c2Nvbi5oPgo+ID4gPiA+ ICAjaW5jbHVkZSA8bGludXgvcmVnbWFwLmg+Cj4gPiA+ID4gIAo+ID4gPiA+ICsjaW5jbHVkZSAi Li4vLi4vcGNpLmgiCj4gPiA+ID4gICNpbmNsdWRlICJwY2llLWRlc2lnbndhcmUuaCIKPiA+ID4g PiAgCj4gPiA+ID4gIC8qIFBFWCBJbnRlcm5hbCBDb25maWd1cmF0aW9uIFJlZ2lzdGVycyAqLwo+ ID4gPiA+IEBAIC0yNywxMiArMzAsMjYgQEAKPiA+ID4gPiAgI2RlZmluZSBQQ0lFX0FCU0VSUgkJ MHg4ZDAgLyogQnJpZGdlIFNsYXZlIEVycm9yIFJlc3BvbnNlIFJlZ2lzdGVyICovCj4gPiA+ID4g ICNkZWZpbmUgUENJRV9BQlNFUlJfU0VUVElORwkweDk0MDEgLyogRm9yd2FyZCBlcnJvciBvZiBu b24tcG9zdGVkIHJlcXVlc3QgKi8KPiA+ID4gPiAgCj4gPiA+ID4gKy8qIFBGIE1lc3NhZ2UgQ29t bWFuZCBSZWdpc3RlciAqLwo+ID4gPiA+ICsjZGVmaW5lIExTX1BDSUVfUEZfTUNSCQkweDJjCj4g PiA+ID4gKyNkZWZpbmUgUEZfTUNSX1BUT01SCQlCSVQoMCkKPiA+ID4gPiArI2RlZmluZSBQRl9N Q1JfRVhMMlMJCUJJVCgxKQo+ID4gPiA+ICsKPiA+ID4gPiAgI2RlZmluZSBQQ0lFX0lBVFVfTlVN CQk2Cj4gPiA+ID4gIAo+ID4gPiA+ICtzdHJ1Y3QgbHNfcGNpZV9kcnZkYXRhIHsKPiA+ID4gPiAr CWNvbnN0IHUzMiBwZl9vZmY7Cj4gPiA+ID4gKwlib29sIHBtX3N1cHBvcnQ7Cj4gPiA+ID4gK307 Cj4gPiA+ID4gKwo+ID4gPiA+ICBzdHJ1Y3QgbHNfcGNpZSB7Cj4gPiA+ID4gIAlzdHJ1Y3QgZHdf cGNpZSAqcGNpOwo+ID4gPiA+ICsJY29uc3Qgc3RydWN0IGxzX3BjaWVfZHJ2ZGF0YSAqZHJ2ZGF0 YTsKPiA+ID4gPiArCXZvaWQgX19pb21lbSAqcGZfYmFzZTsKPiA+ID4gPiArCWJvb2wgYmlnX2Vu ZGlhbjsKPiA+ID4gPiAgfTsKPiA+ID4gPiAgCj4gPiA+ID4gKyNkZWZpbmUgbHNfcGNpZV9wZl9y ZWFkbF9hZGRyKGFkZHIpCWxzX3BjaWVfcGZfcmVhZGwocGNpZSwgYWRkcikKPiA+ID4gPiAgI2Rl ZmluZSB0b19sc19wY2llKHgpCWRldl9nZXRfZHJ2ZGF0YSgoeCktPmRldikKPiA+ID4gPiAgCj4g PiA+ID4gIHN0YXRpYyBib29sIGxzX3BjaWVfaXNfYnJpZGdlKHN0cnVjdCBsc19wY2llICpwY2ll KQo+ID4gPiA+IEBAIC03Myw2ICs5MCw2MCBAQCBzdGF0aWMgdm9pZCBsc19wY2llX2ZpeF9lcnJv cl9yZXNwb25zZShzdHJ1Y3QgbHNfcGNpZSAqcGNpZSkKPiA+ID4gPiAgCWlvd3JpdGUzMihQQ0lF X0FCU0VSUl9TRVRUSU5HLCBwY2ktPmRiaV9iYXNlICsgUENJRV9BQlNFUlIpOwo+ID4gPiA+ICB9 Cj4gPiA+ID4gIAo+ID4gPiA+ICtzdGF0aWMgdTMyIGxzX3BjaWVfcGZfcmVhZGwoc3RydWN0IGxz X3BjaWUgKnBjaWUsIHUzMiBvZmYpCj4gPiA+ID4gK3sKPiA+ID4gPiArCWlmIChwY2llLT5iaWdf ZW5kaWFuKQo+ID4gPiA+ICsJCXJldHVybiBpb3JlYWQzMmJlKHBjaWUtPnBmX2Jhc2UgKyBvZmYp Owo+ID4gPiA+ICsKPiA+ID4gPiArCXJldHVybiBpb3JlYWQzMihwY2llLT5wZl9iYXNlICsgb2Zm KTsKPiA+ID4gPiArfQo+ID4gPiA+ICsKPiA+ID4gPiArc3RhdGljIHZvaWQgbHNfcGNpZV9wZl93 cml0ZWwoc3RydWN0IGxzX3BjaWUgKnBjaWUsIHUzMiBvZmYsIHUzMiB2YWwpCj4gPiA+ID4gK3sK PiA+ID4gPiArCWlmIChwY2llLT5iaWdfZW5kaWFuKQo+ID4gPiA+ICsJCWlvd3JpdGUzMmJlKHZh bCwgcGNpZS0+cGZfYmFzZSArIG9mZik7Cj4gPiA+ID4gKwllbHNlCj4gPiA+ID4gKwkJaW93cml0 ZTMyKHZhbCwgcGNpZS0+cGZfYmFzZSArIG9mZik7Cj4gPiA+ID4gK30KPiA+ID4gPiArCj4gPiA+ ID4gK3N0YXRpYyB2b2lkIGxzX3BjaWVfc2VuZF90dXJub2ZmX21zZyhzdHJ1Y3QgZHdfcGNpZV9y cCAqcHApCj4gPiA+ID4gK3sKPiA+ID4gPiArCXN0cnVjdCBkd19wY2llICpwY2kgPSB0b19kd19w Y2llX2Zyb21fcHAocHApOwo+ID4gPiA+ICsJc3RydWN0IGxzX3BjaWUgKnBjaWUgPSB0b19sc19w Y2llKHBjaSk7Cj4gPiA+ID4gKwl1MzIgdmFsOwo+ID4gPiA+ICsJaW50IHJldDsKPiA+ID4gPiAr Cj4gPiA+ID4gKwl2YWwgPSBsc19wY2llX3BmX3JlYWRsKHBjaWUsIExTX1BDSUVfUEZfTUNSKTsK PiA+ID4gPiArCXZhbCB8PSBQRl9NQ1JfUFRPTVI7Cj4gPiA+ID4gKwlsc19wY2llX3BmX3dyaXRl bChwY2llLCBMU19QQ0lFX1BGX01DUiwgdmFsKTsKPiA+ID4gPiArCj4gPiA+ID4gKwlyZXQgPSBy ZWFkeF9wb2xsX3RpbWVvdXQobHNfcGNpZV9wZl9yZWFkbF9hZGRyLCBMU19QQ0lFX1BGX01DUiwK PiA+ID4gPiArCQkJCSB2YWwsICEodmFsICYgUEZfTUNSX1BUT01SKSwKPiA+ID4gPiArCQkJCSBQ Q0lFX1BNRV9UT19MMl9USU1FT1VUX1VTLzEwLAo+ID4gPiA+ICsJCQkJIFBDSUVfUE1FX1RPX0wy X1RJTUVPVVRfVVMpOwo+ID4gPiA+ICsJaWYgKHJldCkKPiA+ID4gPiArCQlkZXZfZXJyKHBjaWUt PnBjaS0+ZGV2LCAiUE1FX1R1cm5fb2ZmIHRpbWVvdXRcbiIpOwo+ID4gPiA+ICt9Cj4gPiA+ID4g Kwo+ID4gPiA+ICtzdGF0aWMgdm9pZCBsc19wY2llX2V4aXRfZnJvbV9sMihzdHJ1Y3QgZHdfcGNp ZV9ycCAqcHApCj4gPiA+ID4gK3sKPiA+ID4gPiArCXN0cnVjdCBkd19wY2llICpwY2kgPSB0b19k d19wY2llX2Zyb21fcHAocHApOwo+ID4gPiA+ICsJc3RydWN0IGxzX3BjaWUgKnBjaWUgPSB0b19s c19wY2llKHBjaSk7Cj4gPiA+ID4gKwl1MzIgdmFsOwo+ID4gPiA+ICsJaW50IHJldDsKPiA+ID4g PiArCj4gPiA+ID4gKwl2YWwgPSBsc19wY2llX3BmX3JlYWRsKHBjaWUsIExTX1BDSUVfUEZfTUNS KTsKPiA+ID4gPiArCXZhbCB8PSBQRl9NQ1JfRVhMMlM7Cj4gPiA+ID4gKwlsc19wY2llX3BmX3dy aXRlbChwY2llLCBMU19QQ0lFX1BGX01DUiwgdmFsKTsKPiA+ID4gCj4gPiA+IFdoYXQgaXMgdGhp cyB3cml0ZSB0cmFuc2FjdGlvbiBnZW5lcmF0aW5nIGluIEhXID8KPiA+IAo+ID4gSSBkb24ndCB0 aGluayBzZW5kIGFueXRoaW5nIHRvIHRvIHBjaSBidXMgYmVjYXVzZSBpdCB3YXMgY2FsbGVkIGJl Zm9yZQo+ID4gaG9zdCBpbml0Lgo+ID4gCj4gPiBUaGUgc3BlYyBvZiBsczEwMjggaXMgbm90IGNs ZWFyIGVub3VnaC4KPiA+IAo+ID4gYEVYTDJTOiBleGl0IGwyIHN0YXRlIGNvbW1hbmQuIHdoZW4g c2V0IHRvIDEsIGFuIEwyIGV4aXQgY29tbWFuZCBpcwo+ID4gZ2VuZXJhdGVkLiBUaGUgYml0IGlz IHNlbGYgY2xlYXJpbmcuIE9uY2UgdGhlIGJpdCBpcyBzZXQuIFNXIG5lZWRzIHRvIHdhaXQKPiA+ IGZvciB0aGUgYml0IHRvIHNlbGZjbGVhciBiZWZvcmUgc2VuZGluZyBhIG5ldyBjb21tYW5kJwo+ ID4gCj4gPiA+IAo+ID4gPiBXaHkgaXMgaXQgbmVlZGVkID8gU2hvdWxkbid0IEwyIGV4aXQgaGFw cGVuIGF1dG9tYXRpY2FsbHkKPiA+ID4gaW4gSFcgPwo+ID4gCj4gPiBJIHRyaWVkIHJlbW92ZSB0 aGlzLCBQQ0kgY2FuJ3QgcmVzdW1lLiBJIHRoaW5rIHRoaXMgaXMgc3BlY2lmaWMgZm9yIGxzMTAy OAo+ID4gY2hpcCB0byBjbGVhciBpbnRlcm5hbCBsb2dpYy4KPiAKPiBXZWxsLCBpZiB5b3UgZG9u J3QgZXZlbiBrbm93IHdoYXQgdGhpcyBkb2VzIGhvdyBjYW4geW91IHdyaXRlIGEgc2FuZQo+IGRl dmljZSBkcml2ZXIgPwo+IAo+IENhbiB5b3UgYXNrIGRlc2lnbmVycyBhIG1vcmUgZGV0YWlsZWQg ZGVzY3JpcHRpb24gcGxlYXNlID8KPiAKCkkgb2Z0ZW4gZW5jb3VudGVyIGh3IHF1aXJrcyBsaWtl IHRoaXMgb25lIGFuZCB0aGUgaHcgZGVzaWduZXJzIHdpbGwganVzdCBzYXkKdGhhdCAic2V0IGJp dCBYIHRvIG1ha2UgWSBoYXBwcGVuIi4gSU1PIGEgY29tbWVudCBzYXlpbmcgdGhhdCB0aGUgZHJp dmVyIG5lZWQgdG8Kc2V0IFBGX01DUl9FWEwyUyBiaXQgaW4gTFNfUENJRV9QRl9NQ1IgcmVnaXN0 ZXIgZm9yIHRoZSBsaW5rIHRvIGV4aXQgTDIgc3RhdGUgaXMKZ29vZCBlbm91Z2guCgo+ID4gPiA+ ICsKPiA+ID4gPiArCXJldCA9IHJlYWR4X3BvbGxfdGltZW91dChsc19wY2llX3BmX3JlYWRsX2Fk ZHIsIExTX1BDSUVfUEZfTUNSLAo+ID4gPiA+ICsJCQkJIHZhbCwgISh2YWwgJiBQRl9NQ1JfRVhM MlMpLAo+ID4gPiA+ICsJCQkJIFBDSUVfUE1FX1RPX0wyX1RJTUVPVVRfVVMvMTAsCj4gPiA+ID4g KwkJCVBDSUVfUE1FX1RPX0wyX1RJTUVPVVRfVVMpOwo+ID4gPiAKPiA+ID4gQW5kIHdoeSBpcyB0 aGUgdGltZW91dCB2YWx1ZSB0aGUgc2FtZSB1c2VkIGZvciB0aGUgUE1FX3R1cm5fb2ZmIG1lc3Nh Z2UgPwo+ID4gCj4gPiBJIHRoaW5rIE5vIHNwZWMgZGVmaW5lIGl0LCBqdXN0IHJldXNlZCBpdC4g dXNlIFBDSUVfUE1FX1RPX0wyX1RJTUVPVVRfVVMKPiA+IG1heSBjYXVzZSBjb25mdXNlLiBXaGF0 J3MgZG8geW91IHByZWZlcmVkPyBKdXN0IHVzZSBudW1iZXIsc3VjaCBhcyAxMG1zLgo+IAo+IFRo aXMgZGVsYXkgdmFsdWUgaXMgbWlzbGVhZGluZywgaXQgaXMgbm90IGdvb2QgdG8gcmV1c2UgYSB2 YWx1ZSBmb3IKPiBhIGRlbGF5IHRoYXQgaXMgbW9zdCBjZXJ0YWlubHkgY29udHJvbGxlciBzcGVj aWZpYy4KPiAKPiBGcm9tIHRoaXMgZGlzY3Vzc2lvbiBJIHdvdWxkIHNheSB0aGF0IGhhdmluZyBw bWVfdHVybl9vZmYoKSBhbmQKPiBleGl0X2Zyb21fbDIoKSBob29rcyBpcyBnZW5lcmFsaXppbmcg c29tZXRoaW5nIHdlIGRvbid0IGtub3cgeWV0Cj4gaXQgaXMgbmVlZGVkIGZvciBhbGwgRFdDIGJh c2VkIGNvbnRyb2xsZXJzLgo+IAo+IEl0IGlzIHByb2JhYmx5IHdvcnRoIGtlZXBpbmcgdGhlIGxh eWVyc2NhcGUgc3BlY2lmaWMgY2hhbmdlcyBpbgo+IHRoZSBsYXllcnNjYXBlIGRyaXZlciBhbmQg ZnJvbSB0aGVyZSBjYWxsIHRoZSAiZ2VuZXJpYyIgRFdDCj4gc3VzcGVuZC9yZXN1bWUgZnVuY3Rp b25zOgo+IAo+IGR3X3BjaWVfc3VzcGVuZF9ub2lycSgpCj4gZHdfcGNpZV9yZXN1bWVfbm9pcnEo KQo+IAo+IHJhdGhlciB0aGFuIGFkZGluZyBob29rcyB0aGF0IHdlIGJhcmVseSBrbm93IHdoYXQg dGhleSBhcmUgbmVlZGVkIGZvci4KPiAKPiBNYW5pLCB3aGF0IGRvIHlvdSB0aGluayA/Cj4gCgpQ TUVfVHVybl9vZmYgcHJvY2VkdXJlIG1heSB2YXJ5IGJldHdlZW4gY29udHJvbGxlcnMgYW5kIGlz IHJlYWxseSByZXF1aXJlZApmcm9tIGNvcmUgRFdDIHBlcnNwZWN0aXZlLiBTbyBJJ2QgcHJlZmVy IHRvIGtlZXAgdGhlIHBtZV90dXJuX29mZigpIGNhbGxiYWNrCmFuZCBsZWF2ZSBleGl0X2Zyb21f bDIoKSBzaW5jZSBsYXRlciBzZWVtcyB0byBiZSBvbmx5IHJlcXVpcmVkIGZvciBsYXllcnNjYXBl LgoKLSBNYW5pCgotLSAK4K6u4K6j4K6/4K614K6j4K+N4K6j4K6p4K+NIOCumuCupOCuvuCumuCu v+CuteCuruCvjQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5p bmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8v bGludXgtYXJtLWtlcm5lbAo=