From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrey Grodzovsky Subject: Re: [PATCH] drm/amdgpu: Count disabled CRTCs in commit tail earlier Date: Fri, 22 Jun 2018 22:42:12 -0400 Message-ID: <58818f37-93a8-55e4-10be-7d4fb5e950f6@amd.com> References: <20180621204832.22448-1-lyude@redhat.com> <80f2a6d864cb7febb7465c4dfe6c2ba1753237c1.camel@redhat.com> <060f9881-1b06-af1f-0a09-cf3739830f56@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <060f9881-1b06-af1f-0a09-cf3739830f56-5C7GfCeVMHo@public.gmane.org> Content-Language: en-US List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: lyude-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: "David (ChunMing) Zhou" , David Airlie , Tony Cheng , =?UTF-8?Q?Michel_D=c3=a4nzer?= , linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Shirish S , "Leo (Sunpeng) Li" , Alex Deucher , Harry Wentland , =?UTF-8?Q?Christian_K=c3=b6nig?= CgpPbiAwNi8yMi8yMDE4IDA5OjAzIFBNLCBBbmRyZXkgR3JvZHpvdnNreSB3cm90ZToKPgo+Cj4g T24gMDYvMjIvMjAxOCAwMjo1NiBQTSwgTHl1ZGUgUGF1bCB3cm90ZToKPj4gT24gRnJpLCAyMDE4 LTA2LTIyIGF0IDEzOjM0IC0wNDAwLCBBbmRyZXkgR3JvZHpvdnNreSB3cm90ZToKPj4+IE9uIDA2 LzIxLzIwMTggMDQ6NDggUE0sIEx5dWRlIFBhdWwgd3JvdGU6Cj4+Pj4gVGhpcyBmaXhlcyBhIHJl Z3Jlc3Npb24gSSBhY2NpZGVudGFsbHkgcmVkdWNlZCB0aGF0IHdhcyBwaWNrZWQgdXAgYnkKPj4+ PiBrYXNhbiwgd2hlcmUgd2Ugd2VyZSBjaGVja2luZyB0aGUgQ1JUQyBhdG9taWMgc3RhdGVzIGFm dGVyIERSTSdzIAo+Pj4+IGhlbHBlcnMKPj4+PiBoYWQgYWxyZWFkeSBmcmVlZCB0aGVtLiBFeGFt cGxlOgo+Pj4+Cj4+Pj4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Cj4+Pj4gQlVHOiBLQVNBTjogdXNlLWFmdGVyLWZyZWUg aW4KPj4+PiBhbWRncHVfZG1fYXRvbWljX2NvbW1pdF90YWlsLmNvbGQuNTArMHgxM2QvMHgxNWEg W2FtZGdwdV0KPj4+PiBSZWFkIG9mIHNpemUgMSBhdCBhZGRyIGZmZmY4ODAzYTY5N2IwNzEgYnkg dGFzayBrd29ya2VyL3UxNjowLzcKPj4+Pgo+Pj4+IENQVTogNyBQSUQ6IDcgQ29tbToga3dvcmtl ci91MTY6MCBUYWludGVkOiBHIE/CoMKgwqDCoMKgIDQuMTguMC0KPj4+PiByYzFMeXVkZS1VcHN0 cmVhbSsgIzEKPj4+PiBIYXJkd2FyZSBuYW1lOiBIUCBIUCBaQm9vayAxNSBHNC84Mjc1LCBCSU9T IFA3MCBWZXIuIDAxLjIxIDA1LzAyLzIwMTgKPj4+PiBXb3JrcXVldWU6IGV2ZW50c191bmJvdW5k IGNvbW1pdF93b3JrIFtkcm1fa21zX2hlbHBlcl0KPj4+PiBDYWxsIFRyYWNlOgo+Pj4+IMKgwqAg ZHVtcF9zdGFjaysweGMxLzB4MTY5Cj4+Pj4gwqDCoCA/IGR1bXBfc3RhY2tfcHJpbnRfaW5mby5j b2xkLjErMHg0Mi8weDQyCj4+Pj4gwqDCoCA/IGttc2dfZHVtcF9yZXdpbmRfbm9sb2NrKzB4ZDkv MHhkOQo+Pj4+IMKgwqAgPyBwcmludGsrMHg5Zi8weGM1Cj4+Pj4gwqDCoCA/IGFtZGdwdV9kbV9h dG9taWNfY29tbWl0X3RhaWwuY29sZC41MCsweDEzZC8weDE1YSBbYW1kZ3B1XQo+Pj4+IMKgwqAg cHJpbnRfYWRkcmVzc19kZXNjcmlwdGlvbisweDZjLzB4MjNjCj4+Pj4gwqDCoCA/IGFtZGdwdV9k bV9hdG9taWNfY29tbWl0X3RhaWwuY29sZC41MCsweDEzZC8weDE1YSBbYW1kZ3B1XQo+Pj4+IMKg wqAga2FzYW5fcmVwb3J0LmNvbGQuNisweDI0MS8weDJmZAo+Pj4+IMKgwqAgYW1kZ3B1X2RtX2F0 b21pY19jb21taXRfdGFpbC5jb2xkLjUwKzB4MTNkLzB4MTVhIFthbWRncHVdCj4+Pj4gwqDCoCA/ IGNvbW1pdF9wbGFuZXNfdG9fc3RyZWFtLmNvbnN0cHJvcC40NSsweDEzYjAvMHgxM2IwIFthbWRn cHVdCj4+Pj4gwqDCoCA/IGNwdV9sb2FkX3VwZGF0ZV9hY3RpdmUrMHgyOTAvMHgyOTAKPj4+PiDC oMKgID8gZmluaXNoX3Rhc2tfc3dpdGNoKzB4MmJkLzB4ODQwCj4+Pj4gwqDCoCA/IF9fc3dpdGNo X3RvX2FzbSsweDM0LzB4NzAKPj4+PiDCoMKgID8gcmVhZF93b3JkX2F0X2FfdGltZSsweGUvMHgy MAo+Pj4+IMKgwqAgPyBzdHJzY3B5KzB4MTRiLzB4NDYwCj4+Pj4gwqDCoCA/IGRybV9hdG9taWNf aGVscGVyX3dhaXRfZm9yX2RlcGVuZGVuY2llcysweDQ3ZC8weDdlMCAKPj4+PiBbZHJtX2ttc19o ZWxwZXJdCj4+Pj4gwqDCoCBjb21taXRfdGFpbCsweDk2LzB4ZTAgW2RybV9rbXNfaGVscGVyXQo+ Pj4+IMKgwqAgcHJvY2Vzc19vbmVfd29yaysweDg4YS8weDEzNjAKPj4+PiDCoMKgID8gY3JlYXRl X3dvcmtlcisweDU0MC8weDU0MAo+Pj4+IMKgwqAgPyBfX3NjaGVkX3RleHRfc3RhcnQrMHg4LzB4 OAo+Pj4+IMKgwqAgPyBtb3ZlX3F1ZXVlZF90YXNrKzB4NzYwLzB4NzYwCj4+Pj4gwqDCoCA/IGNh bGxfcmN1X3NjaGVkKzB4MjAvMHgyMAo+Pj4+IMKgwqAgPyB2c25wcmludGYrMHhjZGEvMHgxMzUw Cj4+Pj4gwqDCoCA/IHdhaXRfd29rZW4rMHgxYzAvMHgxYzAKPj4+PiDCoMKgID8gbXV0ZXhfdW5s b2NrKzB4MWQvMHg0MAo+Pj4+IMKgwqAgPyBpbml0X3RpbWVyX2tleSsweDE5MC8weDIzMAo+Pj4+ IMKgwqAgPyBzY2hlZHVsZSsweGVhLzB4MzkwCj4+Pj4gwqDCoCA/IF9fc2NoZWR1bGUrMHgxZWEw LzB4MWVhMAo+Pj4+IMKgwqAgPyBuZWVkX3RvX2NyZWF0ZV93b3JrZXIrMHhlNC8weDIxMAo+Pj4+ IMKgwqAgPyBpbml0X3dvcmtlcl9wb29sKzB4NzAwLzB4NzAwCj4+Pj4gwqDCoCA/IHRyeV90b19k ZWxfdGltZXJfc3luYysweGJmLzB4MTEwCj4+Pj4gwqDCoCA/IGRlbF90aW1lcisweDEyMC8weDEy MAo+Pj4+IMKgwqAgPyBfX211dGV4X2xvY2tfc2xvd3BhdGgrMHgxMC8weDEwCj4+Pj4gwqDCoCB3 b3JrZXJfdGhyZWFkKzB4MTk2LzB4MTFmMAo+Pj4+IMKgwqAgPyBmbHVzaF9yY3Vfd29yaysweDUw LzB4NTAKPj4+PiDCoMKgID8gX19zd2l0Y2hfdG9fYXNtKzB4MzQvMHg3MAo+Pj4+IMKgwqAgPyBf X3N3aXRjaF90b19hc20rMHgzNC8weDcwCj4+Pj4gwqDCoCA/IF9fc3dpdGNoX3RvX2FzbSsweDQw LzB4NzAKPj4+PiDCoMKgID8gX19zd2l0Y2hfdG9fYXNtKzB4MzQvMHg3MAo+Pj4+IMKgwqAgPyBf X3N3aXRjaF90b19hc20rMHg0MC8weDcwCj4+Pj4gwqDCoCA/IF9fc3dpdGNoX3RvX2FzbSsweDM0 LzB4NzAKPj4+PiDCoMKgID8gX19zd2l0Y2hfdG9fYXNtKzB4NDAvMHg3MAo+Pj4+IMKgwqAgPyBf X3NjaGVkdWxlKzB4N2Q2LzB4MWVhMAo+Pj4+IMKgwqAgPyBtaWdyYXRlX3N3YXBfc3RvcCsweDg1 MC8weDg4MAo+Pj4+IMKgwqAgPyBfX3NjaGVkX3RleHRfc3RhcnQrMHg4LzB4OAo+Pj4+IMKgwqAg PyBzYXZlX3N0YWNrKzB4OGMvMHhiMAo+Pj4+IMKgwqAgPyBrYXNhbl9rbWFsbG9jKzB4YmYvMHhl MAo+Pj4+IMKgwqAgPyBrbWVtX2NhY2hlX2FsbG9jX3RyYWNlKzB4ZTQvMHgxOTAKPj4+PiDCoMKg ID8ga3RocmVhZCsweDk4LzB4MzkwCj4+Pj4gwqDCoCA/IHJldF9mcm9tX2ZvcmsrMHgzNS8weDQw Cj4+Pj4gwqDCoCA/IHJldF9mcm9tX2ZvcmsrMHgzNS8weDQwCj4+Pj4gwqDCoCA/IGRlYWN0aXZh dGVfc2xhYi5pc3JhLjY3KzB4M2M0LzB4NWMwCj4+Pj4gwqDCoCA/IGt0aHJlYWQrMHg5OC8weDM5 MAo+Pj4+IMKgwqAgPyBrdGhyZWFkKzB4OTgvMHgzOTAKPj4+PiDCoMKgID8gc2V0X3RyYWNrKzB4 NzYvMHgxMjAKPj4+PiDCoMKgID8gc2NoZWR1bGUrMHhlYS8weDM5MAo+Pj4+IMKgwqAgPyBfX3Nj aGVkdWxlKzB4MWVhMC8weDFlYTAKPj4+PiDCoMKgID8gd2FpdF93b2tlbisweDFjMC8weDFjMAo+ Pj4+IMKgwqAgPyBrYXNhbl91bnBvaXNvbl9zaGFkb3crMHgzMC8weDQwCj4+Pj4gwqDCoCA/IHBh cnNlX2FyZ3MuY29sZC4xNSsweDE3YS8weDE3YQo+Pj4+IMKgwqAgPyBmbHVzaF9yY3Vfd29yaysw eDUwLzB4NTAKPj4+PiDCoMKgIGt0aHJlYWQrMHgyZDQvMHgzOTAKPj4+PiDCoMKgID8ga3RocmVh ZF9jcmVhdGVfd29ya2VyX29uX2NwdSsweGMwLzB4YzAKPj4+PiDCoMKgIHJldF9mcm9tX2Zvcmsr MHgzNS8weDQwCj4+Pj4KPj4+PiBBbGxvY2F0ZWQgYnkgdGFzayAxMTI0Ogo+Pj4+IMKgwqAga2Fz YW5fa21hbGxvYysweGJmLzB4ZTAKPj4+PiDCoMKgIGttZW1fY2FjaGVfYWxsb2NfdHJhY2UrMHhl NC8weDE5MAo+Pj4+IMKgwqAgZG1fY3J0Y19kdXBsaWNhdGVfc3RhdGUrMHg3OC8weDEzMCBbYW1k Z3B1XQo+Pj4+IMKgwqAgZHJtX2F0b21pY19nZXRfY3J0Y19zdGF0ZSsweDE0Ny8weDQxMCBbZHJt XQo+Pj4+IMKgwqAgcGFnZV9mbGlwX2NvbW1vbisweDU3LzB4MjMwIFtkcm1fa21zX2hlbHBlcl0K Pj4+PiDCoMKgIGRybV9hdG9taWNfaGVscGVyX3BhZ2VfZmxpcCsweGE2LzB4MTEwIFtkcm1fa21z X2hlbHBlcl0KPj4+PiDCoMKgIGRybV9tb2RlX3BhZ2VfZmxpcF9pb2N0bCsweGM0Yi8weDEwYTAg W2RybV0KPj4+PiDCoMKgIGRybV9pb2N0bF9rZXJuZWwrMHgxZDQvMHgyNjAgW2RybV0KPj4+PiDC oMKgIGRybV9pb2N0bCsweDQzMy8weDkyMCBbZHJtXQo+Pj4+IMKgwqAgYW1kZ3B1X2RybV9pb2N0 bCsweDExZC8weDI5MCBbYW1kZ3B1XQo+Pj4+IMKgwqAgZG9fdmZzX2lvY3RsKzB4MWExLzB4MTNk MAo+Pj4+IMKgwqAga3N5c19pb2N0bCsweDYwLzB4OTAKPj4+PiDCoMKgIF9feDY0X3N5c19pb2N0 bCsweDZmLzB4YjAKPj4+PiDCoMKgIGRvX3N5c2NhbGxfNjQrMHgxNDcvMHg0NDAKPj4+PiDCoMKg IGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ0LzB4YTkKPj4+Pgo+Pj4+IEZyZWVk IGJ5IHRhc2sgMTEyNDoKPj4+PiDCoMKgIF9fa2FzYW5fc2xhYl9mcmVlKzB4MTJlLzB4MTgwCj4+ Pj4gwqDCoCBrZnJlZSsweDkyLzB4MWEwCj4+Pj4gwqDCoCBkcm1fYXRvbWljX3N0YXRlX2RlZmF1 bHRfY2xlYXIrMHgzMTUvMHhjNDAgW2RybV0KPj4+PiDCoMKgIF9fZHJtX2F0b21pY19zdGF0ZV9m cmVlKzB4MzUvMHhkMCBbZHJtXQo+Pj4+IMKgwqAgZHJtX2F0b21pY19oZWxwZXJfdXBkYXRlX3Bs YW5lKzB4YWMvMHgzNTAgW2RybV9rbXNfaGVscGVyXQo+Pj4+IMKgwqAgX19zZXRwbGFuZV9pbnRl cm5hbCsweDJkNi8weDg0MCBbZHJtXQo+Pj4+IMKgwqAgZHJtX21vZGVfY3Vyc29yX3VuaXZlcnNh bCsweDQxZS8weGJlMCBbZHJtXQo+Pj4+IMKgwqAgZHJtX21vZGVfY3Vyc29yX2NvbW1vbisweDQ5 Zi8weDg4MCBbZHJtXQo+Pj4+IMKgwqAgZHJtX21vZGVfY3Vyc29yX2lvY3RsKzB4ZDgvMHgxMzAg W2RybV0KPj4+PiDCoMKgIGRybV9pb2N0bF9rZXJuZWwrMHgxZDQvMHgyNjAgW2RybV0KPj4+PiDC oMKgIGRybV9pb2N0bCsweDQzMy8weDkyMCBbZHJtXQo+Pj4+IMKgwqAgYW1kZ3B1X2RybV9pb2N0 bCsweDExZC8weDI5MCBbYW1kZ3B1XQo+Pj4+IMKgwqAgZG9fdmZzX2lvY3RsKzB4MWExLzB4MTNk MAo+Pj4+IMKgwqAga3N5c19pb2N0bCsweDYwLzB4OTAKPj4+PiDCoMKgIF9feDY0X3N5c19pb2N0 bCsweDZmLzB4YjAKPj4+PiDCoMKgIGRvX3N5c2NhbGxfNjQrMHgxNDcvMHg0NDAKPj4+PiDCoMKg IGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ0LzB4YTkKPj4+Pgo+Pj4+IFRoZSBi dWdneSBhZGRyZXNzIGJlbG9uZ3MgdG8gdGhlIG9iamVjdCBhdCBmZmZmODgwM2E2OTdiMDY4Cj4+ Pj4gwqDCoCB3aGljaCBiZWxvbmdzIHRvIHRoZSBjYWNoZSBrbWFsbG9jLTEwMjQgb2Ygc2l6ZSAx MDI0Cj4+Pj4gVGhlIGJ1Z2d5IGFkZHJlc3MgaXMgbG9jYXRlZCA5IGJ5dGVzIGluc2lkZSBvZgo+ Pj4+IMKgwqAgMTAyNC1ieXRlIHJlZ2lvbiBbZmZmZjg4MDNhNjk3YjA2OCwgZmZmZjg4MDNhNjk3 YjQ2OCkKPj4+PiBUaGUgYnVnZ3kgYWRkcmVzcyBiZWxvbmdzIHRvIHRoZSBwYWdlOgo+Pj4+IHBh Z2U6ZmZmZmVhMDAwZTlhNWUwMCBjb3VudDoxIG1hcGNvdW50OjAgbWFwcGluZzpmZmZmODgwNDFl MDBlZmMwIAo+Pj4+IGluZGV4OjB4MAo+Pj4+IGNvbXBvdW5kX21hcGNvdW50OiAwCj4+Pj4gZmxh Z3M6IDB4ODAwMDAwMDAwMDAwODEwMChzbGFifGhlYWQpCj4+Pj4gcmF3OiA4MDAwMDAwMDAwMDA4 MTAwIGZmZmZlYTAwMGVjYmMyMDggZmZmZjg4MDQxZTAwMGM3MCAKPj4+PiBmZmZmODgwNDFlMDBl ZmMwCj4+Pj4gcmF3OiAwMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAxNzAwMTcgMDAwMDAwMDFm ZmZmZmZmZiAKPj4+PiAwMDAwMDAwMDAwMDAwMDAwCj4+Pj4gcGFnZSBkdW1wZWQgYmVjYXVzZTog a2FzYW46IGJhZCBhY2Nlc3MgZGV0ZWN0ZWQKPj4+Pgo+Pj4+IE1lbW9yeSBzdGF0ZSBhcm91bmQg dGhlIGJ1Z2d5IGFkZHJlc3M6Cj4+Pj4gwqDCoCBmZmZmODgwM2E2OTdhZjAwOiBmYiBmYyBmYyBm YyBmYyBmYyBmYyBmYyBmYyBmYyBmYyBmYyBmYyBmYyBmYyBmYwo+Pj4+IMKgwqAgZmZmZjg4MDNh Njk3YWY4MDogZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMK Pj4+Pj4gZmZmZjg4MDNhNjk3YjAwMDogZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMg ZmMgZmMgZmIgZmIgZmIKPj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF4KPj4+PiDCoMKgIGZmZmY4ODAzYTY5N2Iw ODA6IGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiCj4+Pj4g wqDCoCBmZmZmODgwM2E2OTdiMTAwOiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBm YiBmYiBmYiBmYiBmYgo+Pj4+ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+Pj4+Cj4+Pj4gU28sIHdlIGZpeCB0aGlzIGJ5 IGNvdW50aW5nIHRoZSBudW1iZXIgb2YgQ1JUQ3MgdGhpcyBhdG9taWMgY29tbWl0IAo+Pj4+IGRp c2FibGVkCj4+Pj4gZWFybHkgb24gaW4gdGhlIGZ1bmN0aW9uIGJlZm9yZSB0aGVpciBhdG9taWMg c3RhdGVzIGhhdmUgYmVlbiAKPj4+PiBmcmVlZCwgdGhlbgo+Pj4+IHVzZQo+Pj4+IHRoYXQgY291 bnQgbGF0ZXIgdG8gZG8gdGhlIGFwcHJvcHJpYXRlIG51bWJlciBvZiBSUE0gcHV0cyBhdCB0aGUg Cj4+Pj4gZW5kIG9mIHRoZQo+Pj4+IGZ1bmN0aW9uLgo+Pj4gSSBhbSBhIGJpdCBub3QgY2xlYXIs IGFyZSB5b3Ugc2F5aW5nIHRoYXQgdGhlIHByb2JsZW0gd2FzIHRoZSAnaW4gdGhlCj4+PiBtaWRk bGUnIGNvbW1pdCAoY3Vyc29yIGlvY3RsKSBkb2luZwo+Pj4KPj4+IGRybV9hdG9taWNfc3RhdGVf ZGVmYXVsdF9jbGVhci0+ZG1fY3J0Y19kZXN0cm95X3N0YXRlLT5rZnJlZShzdGF0ZSkKPj4+Cj4+ PiB3aGVyZSB0aGUgc3RhdGUgaXMgdGhlIG9uZSB5b3UgYWNjZXNzIGZyb20gZnJvbSB0aGUgbm9u IGJsb2NraW5nIAo+Pj4gcGFydCBvZgo+Pj4gcGFnZSBmbGlwIHRob3VnaCBvbGRfY3J0Y19zdGF0 ZS0+YWN0aXZlPwo+PiBUaGUgcHJvYmxlbSBpcyB0aGF0IChzZWUgdGhlIGNvbW1lbnQgaW4gCj4+ IGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jOjIwNjUKPj4gKSBpdCdzIHVuc2Fm ZSB0byB0b3VjaCBhbnkgb2YgdGhlIG9sZF9jcnRjX3N0YXRlIHN0cnVjdHVyZXMgYWZ0ZXIKPj4g ZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X2h3X2RvbmUoKSBpcyBjYWxsZWQsIGFzIGl0J3MgbGlr ZWx5IHRoYXQgCj4+IHRoZXkndmUgYmVlbgo+PiBmcmVlZCBhbHJlYWR5Lgo+Cj4gScKgIGFtIG5v dCBzdXJlIGFib3V0IHRoYXQsIHRoZSBjb21tZW50IGluIAo+IGRybV9hdG9taWNfaGVscGVyX2Nv bW1pdF9od19kb25lIHNheXMgdGhhdAo+ICJ0aGUgZHJpdmVyIGlzIG5vdCBhbGxvd2VkIHRvIHJl YWQgb3IgY2hhbmdlIGFueSBwZXJtYW5lbnQgc29mdHdhcmUKPiBvciBoYXJkd2FyZSBtb2Rlc2V0 IHN0YXRlIiBJIGludGVycHJldCBpdCBhcyBub3QgdGhlIG9sZF9jcnRjX3N0YXRlIAo+IGJ1dCBh cyB0aGUgbmV3X2NydGNfc3RhdGUgb3IgY3J0Yy0+c3RhdGUgYWZ0ZXIKPiBkcm1fYXRvbWljX2hl bHBlcl9zd2FwX3N0YXRlIGNvbXBsZXRlZC7CoCBJdCBtZWFucyB0aGF0IGlmIHlvdSB0b3VjaCAK PiBjcnRjLT5zdGF0ZSBhZnRlciBkcm1fYXRvbWljX2hlbHBlcl9jb21taXRfaHdfZG9uZQo+IHlv dSBhY3R1YWxseSBjb3VsZCBhbHJlYWR5IGJlIGFjY2Vzc2luZyBhIHN0YXRlIHdoaWNoIGJlbG9u ZyB0byB0aGUgCj4gbmV4dCBhdG9taWMgY29tbWl0IGFmdGVyIHlvdS4KPiBJdCByZWFsbHkgbG9v a3MgbGlrZSBjdXJzb3IncyBhdG9taWMgY29tbWl0IHNuZWFrcyBpbiBpbiBhIG1pZGRsZSBvZiAK PiBwYWdlIGZsaXAgYmV0d2VlbiB0aGUgcGFnZSBmbGlwIElPQ1RMCj4gYW5kIGl0J3MgY29tbWl0 X3RhaWwgcGFydCBhbmQgc3dhcHMgYXdheSBjcmN0LT5zdGF0ZSB0byBoaXMgb3duIG5ldyAKPiBz dGF0ZSBhbmQgcmVsZWFzZSB0aGUgJ29sZCcgc3RhdGUgd2hpY2ggaXMgbm90IHJlYWxseQo+IG9s ZCB5ZXQgYW5kIG5lZWRzIHRvIGJlIHVzZWQgYnkgdGhlIHRhaWwgcGFydCBvZiBwYWdlIGZsaXAu IFRoaXMgbWFrZXMgCj4gc2Vuc2Ugc2luY2UgZG9fYXF1aXJlX2dsb2JhbF9sb2NrIHdlIHVzZSBp biBhbWRncHVfZG1fYXRvbWljX2NoZWNrCj4gdG8gc2VyaWFsaXplIGFnYWluc3QgY29uY3VycmVu dCBhdG9taWNfY29tbWl0c8KgIGlzIG5vdCBjYWxsZWQgZm9yIGNhc2UgCj4gb2YgY3Vyc29yIHBs YW5lIGFuZCBzbyBpdCBtYXkgcmFjZSBhZ2FpbnN0IGFueSBjb21taXRfdGFpbCBpbiBmbGlnaHQu Li4KPiBOb3Qgc3VyZSB3aHkgd2UgaGF2ZW4ndCBzZWVuIHRoaXMgcHJvYmxlbSBiZWZvcmUuCj4g T2J2aW91c2x5IHlvdXIgZml4IG1ha2VzIHRoZSBwcm9ibGVtIGdvIGF3YXkgc2luY2UgeW91IHN0 b3BwZWQgCj4gYWNjZXNzaW5nIHRoZSBuZXdfY3J0Y19zdGF0ZSBhbmQgbm90IHRoZSBvbGRfY3J0 Y19zdGF0ZSBidXQgdGhlIHJvb3QgCj4gcHJvYmxlbQo+IHNlZW1zIHRvIG1lIHN0aWxsIHRoZXJl Lgo+Cj4gQW5kcmV5CgpJIHRvb2sgYW5vdGhlciBsb29rIGFuZCBhY3R1YWxseSBubyBwcm9ibGVt IHdpdGggdGhlIENVUlNPUiBJT0NUTCBhcyBpdCAKd2lsbCB3YWl0IGluIGRybV9hdG9taWNfaGVs cGVyX3N3YXBfc3RhdGUgZm9yIGh3X2RvbmUgZXZlbnQsIHNvCkkgYWdyZWUgd2l0aCB0aGUgZml4 IGJ1dCBqdXN0IGRpc2FncmVlIHdpdGggdGhlIGV4cGxhbmF0aW9uLCBpdCBzaG91bGQgCmJlIHNh aWQgdGhhdCBpdCdzIHVuc2FmZSB0byB0b3VjaCB0aGUgbmV3X2NydGNfc3RhdGUgKHNhbWUgYXMg CmNydGMtPnN0YXRlKSBhZnRlcgpjYWxsIHRvIGRybV9hdG9taWNfaGVscGVyX2NvbW1pdF9od19k b25lLiBTbyBJIHdvdWxkIG1ha2UgdGhlIApleHBsYW5hdGlvbiBhIGJpdCBtb3JlIGRldGFpbGVk IG9uIHRoaXMgcG9pbnQuCgpBbnl3YXksIHRoZSBmaXggaXMgUmV2aWV3ZWQtYnk6IEFuZHJleSBH cm9kem92c2t5IAo8YW5kcmV5Lmdyb2R6b3Zza3lAYW1kLmNvbT4KCkFuZHJleQoKCgo+Cj4+PiBB bmRyZXkKPj4+PiBGaXhlczogOTcwMjgwMzdhMzhhZSAoImRybS9hbWRncHU6IEdyYWIvcHV0IHJ1 bnRpbWUgUE0gcmVmZXJlbmNlcyBpbgo+Pj4+IGF0b21pY19jb21taXRfdGFpbCgpIikKPj4+PiBT aWduZWQtb2ZmLWJ5OiBMeXVkZSBQYXVsIDxseXVkZUByZWRoYXQuY29tPgo+Pj4+IENjOiBNaWNo ZWwgRMOkbnplciA8bWljaGVsQGRhZW56ZXIubmV0Pgo+Pj4+IFJlcG9ydGVkLWJ5OiBNaWNoZWwg RMOkbnplciA8bWljaGVsQGRhZW56ZXIubmV0Pgo+Pj4+IC0tLQo+Pj4+IMKgwqAgZHJpdmVycy9n cHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uYyB8IDEwICsrKysrKy0tLS0K Pj4+PiDCoMKgIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0p Cj4+Pj4KPj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdw dV9kbS9hbWRncHVfZG0uYwo+Pj4+IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdw dV9kbS9hbWRncHVfZG0uYwo+Pj4+IGluZGV4IGY5YWRkODUxNTdlNy4uNjg5ZGJkZjQ0YmJmIDEw MDY0NAo+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1k Z3B1X2RtLmMKPj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2Rt L2FtZGdwdV9kbS5jCj4+Pj4gQEAgLTQyMDYsNiArNDIwNiw3IEBAIHN0YXRpYyB2b2lkIGFtZGdw dV9kbV9hdG9taWNfY29tbWl0X3RhaWwoc3RydWN0Cj4+Pj4gZHJtX2F0b21pY19zdGF0ZSAqc3Rh dGUpCj4+Pj4gwqDCoMKgwqDCoMKgIHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3I7Cj4+ Pj4gwqDCoMKgwqDCoMKgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpvbGRfY29uX3N0YXRl LCAqbmV3X2Nvbl9zdGF0ZTsKPj4+PiDCoMKgwqDCoMKgwqAgc3RydWN0IGRtX2NydGNfc3RhdGUg KmRtX29sZF9jcnRjX3N0YXRlLCAqZG1fbmV3X2NydGNfc3RhdGU7Cj4+Pj4gK8KgwqDCoCBpbnQg Y3J0Y19kaXNhYmxlX2NvdW50ID0gMDsKPj4+PiDCoMKgIMKgwqDCoMKgwqDCoCBkcm1fYXRvbWlj X2hlbHBlcl91cGRhdGVfbGVnYWN5X21vZGVzZXRfc3RhdGUoZGV2LCBzdGF0ZSk7Cj4+Pj4gwqDC oCBAQCAtNDQxMCw2ICs0NDExLDkgQEAgc3RhdGljIHZvaWQgCj4+Pj4gYW1kZ3B1X2RtX2F0b21p Y19jb21taXRfdGFpbChzdHJ1Y3QKPj4+PiBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKPj4+PiDC oMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgYW1kZ3B1X2NydGMgKmFjcnRjID0gdG9fYW1kZ3B1 X2NydGMoY3J0Yyk7Cj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqAgYm9vbCBtb2Rlc2V0X25lZWRl ZDsKPj4+PiDCoMKgICvCoMKgwqDCoMKgwqDCoCBpZiAob2xkX2NydGNfc3RhdGUtPmFjdGl2ZSAm JiAhbmV3X2NydGNfc3RhdGUtPmFjdGl2ZSkKPj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBj cnRjX2Rpc2FibGVfY291bnQrKzsKPj4+PiArCj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqAgZG1f bmV3X2NydGNfc3RhdGUgPSB0b19kbV9jcnRjX3N0YXRlKG5ld19jcnRjX3N0YXRlKTsKPj4+PiDC oMKgwqDCoMKgwqDCoMKgwqDCoCBkbV9vbGRfY3J0Y19zdGF0ZSA9IHRvX2RtX2NydGNfc3RhdGUo b2xkX2NydGNfc3RhdGUpOwo+Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgIG1vZGVzZXRfbmVlZGVk ID0gbW9kZXNldF9yZXF1aXJlZCgKPj4+PiBAQCAtNDQ2MywxMSArNDQ2Nyw5IEBAIHN0YXRpYyB2 b2lkIGFtZGdwdV9kbV9hdG9taWNfY29tbWl0X3RhaWwoc3RydWN0Cj4+Pj4gZHJtX2F0b21pY19z dGF0ZSAqc3RhdGUpCj4+Pj4gwqDCoMKgwqDCoMKgwqAgKiBzbyB3ZSBjYW4gcHV0IHRoZSBHUFUg aW50byBydW50aW1lIHN1c3BlbmQgaWYgd2UncmUgbm90IAo+Pj4+IGRyaXZpbmcKPj4+PiBhbnkK Pj4+PiDCoMKgwqDCoMKgwqDCoCAqIGRpc3BsYXlzIGFueW1vcmUKPj4+PiDCoMKgwqDCoMKgwqDC oCAqLwo+Pj4+ICvCoMKgwqAgZm9yIChpID0gMDsgaSA8IGNydGNfZGlzYWJsZV9jb3VudDsgaSsr KQo+Pj4+ICvCoMKgwqDCoMKgwqDCoCBwbV9ydW50aW1lX3B1dF9hdXRvc3VzcGVuZChkZXYtPmRl dik7Cj4+Pj4gwqDCoMKgwqDCoMKgIHBtX3J1bnRpbWVfbWFya19sYXN0X2J1c3koZGV2LT5kZXYp Owo+Pj4+IC3CoMKgwqAgZm9yX2VhY2hfb2xkbmV3X2NydGNfaW5fc3RhdGUoc3RhdGUsIGNydGMs IG9sZF9jcnRjX3N0YXRlLAo+Pj4+IG5ld19jcnRjX3N0YXRlLCBpKSB7Cj4+Pj4gLcKgwqDCoMKg wqDCoMKgIGlmIChvbGRfY3J0Y19zdGF0ZS0+YWN0aXZlICYmICFuZXdfY3J0Y19zdGF0ZS0+YWN0 aXZlKQo+Pj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHBtX3J1bnRpbWVfcHV0X2F1dG9zdXNw ZW5kKGRldi0+ZGV2KTsKPj4+PiAtwqDCoMKgIH0KPj4+PiDCoMKgIH0KPj4+Cj4KCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBs aXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=