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 13:34:13 -0400 Message-ID: References: <20180621204832.22448-1-lyude@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180621204832.22448-1-lyude-H+wXaHxf7aLQT0dZR+AlfA@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 Paul , 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?= CgpPbiAwNi8yMS8yMDE4IDA0OjQ4IFBNLCBMeXVkZSBQYXVsIHdyb3RlOgo+IFRoaXMgZml4ZXMg YSByZWdyZXNzaW9uIEkgYWNjaWRlbnRhbGx5IHJlZHVjZWQgdGhhdCB3YXMgcGlja2VkIHVwIGJ5 Cj4ga2FzYW4sIHdoZXJlIHdlIHdlcmUgY2hlY2tpbmcgdGhlIENSVEMgYXRvbWljIHN0YXRlcyBh ZnRlciBEUk0ncyBoZWxwZXJzCj4gaGFkIGFscmVhZHkgZnJlZWQgdGhlbS4gRXhhbXBsZToKPgo+ ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQo+IEJVRzogS0FTQU46IHVzZS1hZnRlci1mcmVlIGluIGFtZGdwdV9kbV9hdG9t aWNfY29tbWl0X3RhaWwuY29sZC41MCsweDEzZC8weDE1YSBbYW1kZ3B1XQo+IFJlYWQgb2Ygc2l6 ZSAxIGF0IGFkZHIgZmZmZjg4MDNhNjk3YjA3MSBieSB0YXNrIGt3b3JrZXIvdTE2OjAvNwo+Cj4g Q1BVOiA3IFBJRDogNyBDb21tOiBrd29ya2VyL3UxNjowIFRhaW50ZWQ6IEcgICAgICAgICAgIE8g ICAgICA0LjE4LjAtcmMxTHl1ZGUtVXBzdHJlYW0rICMxCj4gSGFyZHdhcmUgbmFtZTogSFAgSFAg WkJvb2sgMTUgRzQvODI3NSwgQklPUyBQNzAgVmVyLiAwMS4yMSAwNS8wMi8yMDE4Cj4gV29ya3F1 ZXVlOiBldmVudHNfdW5ib3VuZCBjb21taXRfd29yayBbZHJtX2ttc19oZWxwZXJdCj4gQ2FsbCBU cmFjZToKPiAgIGR1bXBfc3RhY2srMHhjMS8weDE2OQo+ICAgPyBkdW1wX3N0YWNrX3ByaW50X2lu Zm8uY29sZC4xKzB4NDIvMHg0Mgo+ICAgPyBrbXNnX2R1bXBfcmV3aW5kX25vbG9jaysweGQ5LzB4 ZDkKPiAgID8gcHJpbnRrKzB4OWYvMHhjNQo+ICAgPyBhbWRncHVfZG1fYXRvbWljX2NvbW1pdF90 YWlsLmNvbGQuNTArMHgxM2QvMHgxNWEgW2FtZGdwdV0KPiAgIHByaW50X2FkZHJlc3NfZGVzY3Jp cHRpb24rMHg2Yy8weDIzYwo+ICAgPyBhbWRncHVfZG1fYXRvbWljX2NvbW1pdF90YWlsLmNvbGQu NTArMHgxM2QvMHgxNWEgW2FtZGdwdV0KPiAgIGthc2FuX3JlcG9ydC5jb2xkLjYrMHgyNDEvMHgy ZmQKPiAgIGFtZGdwdV9kbV9hdG9taWNfY29tbWl0X3RhaWwuY29sZC41MCsweDEzZC8weDE1YSBb YW1kZ3B1XQo+ICAgPyBjb21taXRfcGxhbmVzX3RvX3N0cmVhbS5jb25zdHByb3AuNDUrMHgxM2Iw LzB4MTNiMCBbYW1kZ3B1XQo+ICAgPyBjcHVfbG9hZF91cGRhdGVfYWN0aXZlKzB4MjkwLzB4Mjkw Cj4gICA/IGZpbmlzaF90YXNrX3N3aXRjaCsweDJiZC8weDg0MAo+ICAgPyBfX3N3aXRjaF90b19h c20rMHgzNC8weDcwCj4gICA/IHJlYWRfd29yZF9hdF9hX3RpbWUrMHhlLzB4MjAKPiAgID8gc3Ry c2NweSsweDE0Yi8weDQ2MAo+ICAgPyBkcm1fYXRvbWljX2hlbHBlcl93YWl0X2Zvcl9kZXBlbmRl bmNpZXMrMHg0N2QvMHg3ZTAgW2RybV9rbXNfaGVscGVyXQo+ICAgY29tbWl0X3RhaWwrMHg5Ni8w eGUwIFtkcm1fa21zX2hlbHBlcl0KPiAgIHByb2Nlc3Nfb25lX3dvcmsrMHg4OGEvMHgxMzYwCj4g ICA/IGNyZWF0ZV93b3JrZXIrMHg1NDAvMHg1NDAKPiAgID8gX19zY2hlZF90ZXh0X3N0YXJ0KzB4 OC8weDgKPiAgID8gbW92ZV9xdWV1ZWRfdGFzaysweDc2MC8weDc2MAo+ICAgPyBjYWxsX3JjdV9z Y2hlZCsweDIwLzB4MjAKPiAgID8gdnNucHJpbnRmKzB4Y2RhLzB4MTM1MAo+ICAgPyB3YWl0X3dv a2VuKzB4MWMwLzB4MWMwCj4gICA/IG11dGV4X3VubG9jaysweDFkLzB4NDAKPiAgID8gaW5pdF90 aW1lcl9rZXkrMHgxOTAvMHgyMzAKPiAgID8gc2NoZWR1bGUrMHhlYS8weDM5MAo+ICAgPyBfX3Nj aGVkdWxlKzB4MWVhMC8weDFlYTAKPiAgID8gbmVlZF90b19jcmVhdGVfd29ya2VyKzB4ZTQvMHgy MTAKPiAgID8gaW5pdF93b3JrZXJfcG9vbCsweDcwMC8weDcwMAo+ICAgPyB0cnlfdG9fZGVsX3Rp bWVyX3N5bmMrMHhiZi8weDExMAo+ICAgPyBkZWxfdGltZXIrMHgxMjAvMHgxMjAKPiAgID8gX19t dXRleF9sb2NrX3Nsb3dwYXRoKzB4MTAvMHgxMAo+ICAgd29ya2VyX3RocmVhZCsweDE5Ni8weDEx ZjAKPiAgID8gZmx1c2hfcmN1X3dvcmsrMHg1MC8weDUwCj4gICA/IF9fc3dpdGNoX3RvX2FzbSsw eDM0LzB4NzAKPiAgID8gX19zd2l0Y2hfdG9fYXNtKzB4MzQvMHg3MAo+ICAgPyBfX3N3aXRjaF90 b19hc20rMHg0MC8weDcwCj4gICA/IF9fc3dpdGNoX3RvX2FzbSsweDM0LzB4NzAKPiAgID8gX19z d2l0Y2hfdG9fYXNtKzB4NDAvMHg3MAo+ICAgPyBfX3N3aXRjaF90b19hc20rMHgzNC8weDcwCj4g ICA/IF9fc3dpdGNoX3RvX2FzbSsweDQwLzB4NzAKPiAgID8gX19zY2hlZHVsZSsweDdkNi8weDFl YTAKPiAgID8gbWlncmF0ZV9zd2FwX3N0b3ArMHg4NTAvMHg4ODAKPiAgID8gX19zY2hlZF90ZXh0 X3N0YXJ0KzB4OC8weDgKPiAgID8gc2F2ZV9zdGFjaysweDhjLzB4YjAKPiAgID8ga2FzYW5fa21h bGxvYysweGJmLzB4ZTAKPiAgID8ga21lbV9jYWNoZV9hbGxvY190cmFjZSsweGU0LzB4MTkwCj4g ICA/IGt0aHJlYWQrMHg5OC8weDM5MAo+ICAgPyByZXRfZnJvbV9mb3JrKzB4MzUvMHg0MAo+ICAg PyByZXRfZnJvbV9mb3JrKzB4MzUvMHg0MAo+ICAgPyBkZWFjdGl2YXRlX3NsYWIuaXNyYS42Nysw eDNjNC8weDVjMAo+ICAgPyBrdGhyZWFkKzB4OTgvMHgzOTAKPiAgID8ga3RocmVhZCsweDk4LzB4 MzkwCj4gICA/IHNldF90cmFjaysweDc2LzB4MTIwCj4gICA/IHNjaGVkdWxlKzB4ZWEvMHgzOTAK PiAgID8gX19zY2hlZHVsZSsweDFlYTAvMHgxZWEwCj4gICA/IHdhaXRfd29rZW4rMHgxYzAvMHgx YzAKPiAgID8ga2FzYW5fdW5wb2lzb25fc2hhZG93KzB4MzAvMHg0MAo+ICAgPyBwYXJzZV9hcmdz LmNvbGQuMTUrMHgxN2EvMHgxN2EKPiAgID8gZmx1c2hfcmN1X3dvcmsrMHg1MC8weDUwCj4gICBr dGhyZWFkKzB4MmQ0LzB4MzkwCj4gICA/IGt0aHJlYWRfY3JlYXRlX3dvcmtlcl9vbl9jcHUrMHhj MC8weGMwCj4gICByZXRfZnJvbV9mb3JrKzB4MzUvMHg0MAo+Cj4gQWxsb2NhdGVkIGJ5IHRhc2sg MTEyNDoKPiAgIGthc2FuX2ttYWxsb2MrMHhiZi8weGUwCj4gICBrbWVtX2NhY2hlX2FsbG9jX3Ry YWNlKzB4ZTQvMHgxOTAKPiAgIGRtX2NydGNfZHVwbGljYXRlX3N0YXRlKzB4NzgvMHgxMzAgW2Ft ZGdwdV0KPiAgIGRybV9hdG9taWNfZ2V0X2NydGNfc3RhdGUrMHgxNDcvMHg0MTAgW2RybV0KPiAg IHBhZ2VfZmxpcF9jb21tb24rMHg1Ny8weDIzMCBbZHJtX2ttc19oZWxwZXJdCj4gICBkcm1fYXRv bWljX2hlbHBlcl9wYWdlX2ZsaXArMHhhNi8weDExMCBbZHJtX2ttc19oZWxwZXJdCj4gICBkcm1f bW9kZV9wYWdlX2ZsaXBfaW9jdGwrMHhjNGIvMHgxMGEwIFtkcm1dCj4gICBkcm1faW9jdGxfa2Vy bmVsKzB4MWQ0LzB4MjYwIFtkcm1dCj4gICBkcm1faW9jdGwrMHg0MzMvMHg5MjAgW2RybV0KPiAg IGFtZGdwdV9kcm1faW9jdGwrMHgxMWQvMHgyOTAgW2FtZGdwdV0KPiAgIGRvX3Zmc19pb2N0bCsw eDFhMS8weDEzZDAKPiAgIGtzeXNfaW9jdGwrMHg2MC8weDkwCj4gICBfX3g2NF9zeXNfaW9jdGwr MHg2Zi8weGIwCj4gICBkb19zeXNjYWxsXzY0KzB4MTQ3LzB4NDQwCj4gICBlbnRyeV9TWVNDQUxM XzY0X2FmdGVyX2h3ZnJhbWUrMHg0NC8weGE5Cj4KPiBGcmVlZCBieSB0YXNrIDExMjQ6Cj4gICBf X2thc2FuX3NsYWJfZnJlZSsweDEyZS8weDE4MAo+ICAga2ZyZWUrMHg5Mi8weDFhMAo+ICAgZHJt X2F0b21pY19zdGF0ZV9kZWZhdWx0X2NsZWFyKzB4MzE1LzB4YzQwIFtkcm1dCj4gICBfX2RybV9h dG9taWNfc3RhdGVfZnJlZSsweDM1LzB4ZDAgW2RybV0KPiAgIGRybV9hdG9taWNfaGVscGVyX3Vw ZGF0ZV9wbGFuZSsweGFjLzB4MzUwIFtkcm1fa21zX2hlbHBlcl0KPiAgIF9fc2V0cGxhbmVfaW50 ZXJuYWwrMHgyZDYvMHg4NDAgW2RybV0KPiAgIGRybV9tb2RlX2N1cnNvcl91bml2ZXJzYWwrMHg0 MWUvMHhiZTAgW2RybV0KPiAgIGRybV9tb2RlX2N1cnNvcl9jb21tb24rMHg0OWYvMHg4ODAgW2Ry bV0KPiAgIGRybV9tb2RlX2N1cnNvcl9pb2N0bCsweGQ4LzB4MTMwIFtkcm1dCj4gICBkcm1faW9j dGxfa2VybmVsKzB4MWQ0LzB4MjYwIFtkcm1dCj4gICBkcm1faW9jdGwrMHg0MzMvMHg5MjAgW2Ry bV0KPiAgIGFtZGdwdV9kcm1faW9jdGwrMHgxMWQvMHgyOTAgW2FtZGdwdV0KPiAgIGRvX3Zmc19p b2N0bCsweDFhMS8weDEzZDAKPiAgIGtzeXNfaW9jdGwrMHg2MC8weDkwCj4gICBfX3g2NF9zeXNf aW9jdGwrMHg2Zi8weGIwCj4gICBkb19zeXNjYWxsXzY0KzB4MTQ3LzB4NDQwCj4gICBlbnRyeV9T WVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0NC8weGE5Cj4KPiBUaGUgYnVnZ3kgYWRkcmVzcyBi ZWxvbmdzIHRvIHRoZSBvYmplY3QgYXQgZmZmZjg4MDNhNjk3YjA2OAo+ICAgd2hpY2ggYmVsb25n cyB0byB0aGUgY2FjaGUga21hbGxvYy0xMDI0IG9mIHNpemUgMTAyNAo+IFRoZSBidWdneSBhZGRy ZXNzIGlzIGxvY2F0ZWQgOSBieXRlcyBpbnNpZGUgb2YKPiAgIDEwMjQtYnl0ZSByZWdpb24gW2Zm ZmY4ODAzYTY5N2IwNjgsIGZmZmY4ODAzYTY5N2I0NjgpCj4gVGhlIGJ1Z2d5IGFkZHJlc3MgYmVs b25ncyB0byB0aGUgcGFnZToKPiBwYWdlOmZmZmZlYTAwMGU5YTVlMDAgY291bnQ6MSBtYXBjb3Vu dDowIG1hcHBpbmc6ZmZmZjg4MDQxZTAwZWZjMCBpbmRleDoweDAgY29tcG91bmRfbWFwY291bnQ6 IDAKPiBmbGFnczogMHg4MDAwMDAwMDAwMDA4MTAwKHNsYWJ8aGVhZCkKPiByYXc6IDgwMDAwMDAw MDAwMDgxMDAgZmZmZmVhMDAwZWNiYzIwOCBmZmZmODgwNDFlMDAwYzcwIGZmZmY4ODA0MWUwMGVm YzAKPiByYXc6IDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMDE3MDAxNyAwMDAwMDAwMWZmZmZm ZmZmIDAwMDAwMDAwMDAwMDAwMDAKPiBwYWdlIGR1bXBlZCBiZWNhdXNlOiBrYXNhbjogYmFkIGFj Y2VzcyBkZXRlY3RlZAo+Cj4gTWVtb3J5IHN0YXRlIGFyb3VuZCB0aGUgYnVnZ3kgYWRkcmVzczoK PiAgIGZmZmY4ODAzYTY5N2FmMDA6IGZiIGZjIGZjIGZjIGZjIGZjIGZjIGZjIGZjIGZjIGZjIGZj IGZjIGZjIGZjIGZjCj4gICBmZmZmODgwM2E2OTdhZjgwOiBmYyBmYyBmYyBmYyBmYyBmYyBmYyBm YyBmYyBmYyBmYyBmYyBmYyBmYyBmYyBmYwo+PiBmZmZmODgwM2E2OTdiMDAwOiBmYyBmYyBmYyBm YyBmYyBmYyBmYyBmYyBmYyBmYyBmYyBmYyBmYyBmYiBmYiBmYgo+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgo+ICAgZmZmZjg4 MDNhNjk3YjA4MDogZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIg ZmIKPiAgIGZmZmY4ODAzYTY5N2IxMDA6IGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZi IGZiIGZiIGZiIGZiIGZiCj4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4KPiBTbywgd2UgZml4IHRoaXMgYnkgY291bnRp bmcgdGhlIG51bWJlciBvZiBDUlRDcyB0aGlzIGF0b21pYyBjb21taXQgZGlzYWJsZWQKPiBlYXJs eSBvbiBpbiB0aGUgZnVuY3Rpb24gYmVmb3JlIHRoZWlyIGF0b21pYyBzdGF0ZXMgaGF2ZSBiZWVu IGZyZWVkLCB0aGVuIHVzZQo+IHRoYXQgY291bnQgbGF0ZXIgdG8gZG8gdGhlIGFwcHJvcHJpYXRl IG51bWJlciBvZiBSUE0gcHV0cyBhdCB0aGUgZW5kIG9mIHRoZQo+IGZ1bmN0aW9uLgoKSSBhbSBh IGJpdCBub3QgY2xlYXIsIGFyZSB5b3Ugc2F5aW5nIHRoYXQgdGhlIHByb2JsZW0gd2FzIHRoZSAn aW4gdGhlIAptaWRkbGUnIGNvbW1pdCAoY3Vyc29yIGlvY3RsKSBkb2luZwoKZHJtX2F0b21pY19z dGF0ZV9kZWZhdWx0X2NsZWFyLT5kbV9jcnRjX2Rlc3Ryb3lfc3RhdGUtPmtmcmVlKHN0YXRlKQoK d2hlcmUgdGhlIHN0YXRlIGlzIHRoZSBvbmUgeW91IGFjY2VzcyBmcm9tIGZyb20gdGhlIG5vbiBi bG9ja2luZyBwYXJ0IG9mIApwYWdlIGZsaXAgdGhvdWdoIG9sZF9jcnRjX3N0YXRlLT5hY3RpdmU/ CgpBbmRyZXkKPgo+IEZpeGVzOiA5NzAyODAzN2EzOGFlICgiZHJtL2FtZGdwdTogR3JhYi9wdXQg cnVudGltZSBQTSByZWZlcmVuY2VzIGluIGF0b21pY19jb21taXRfdGFpbCgpIikKPiBTaWduZWQt b2ZmLWJ5OiBMeXVkZSBQYXVsIDxseXVkZUByZWRoYXQuY29tPgo+IENjOiBNaWNoZWwgRMOkbnpl ciA8bWljaGVsQGRhZW56ZXIubmV0Pgo+IFJlcG9ydGVkLWJ5OiBNaWNoZWwgRMOkbnplciA8bWlj aGVsQGRhZW56ZXIubmV0Pgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2Ft ZGdwdV9kbS9hbWRncHVfZG0uYyB8IDEwICsrKysrKy0tLS0KPiAgIDEgZmlsZSBjaGFuZ2VkLCA2 IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uYyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmMKPiBpbmRleCBmOWFkZDg1MTU3ZTcu LjY4OWRiZGY0NGJiZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkv YW1kZ3B1X2RtL2FtZGdwdV9kbS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5 L2FtZGdwdV9kbS9hbWRncHVfZG0uYwo+IEBAIC00MjA2LDYgKzQyMDYsNyBAQCBzdGF0aWMgdm9p ZCBhbWRncHVfZG1fYXRvbWljX2NvbW1pdF90YWlsKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpz dGF0ZSkKPiAgIAlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yOwo+ICAgCXN0cnVjdCBk cm1fY29ubmVjdG9yX3N0YXRlICpvbGRfY29uX3N0YXRlLCAqbmV3X2Nvbl9zdGF0ZTsKPiAgIAlz dHJ1Y3QgZG1fY3J0Y19zdGF0ZSAqZG1fb2xkX2NydGNfc3RhdGUsICpkbV9uZXdfY3J0Y19zdGF0 ZTsKPiArCWludCBjcnRjX2Rpc2FibGVfY291bnQgPSAwOwo+ICAgCj4gICAJZHJtX2F0b21pY19o ZWxwZXJfdXBkYXRlX2xlZ2FjeV9tb2Rlc2V0X3N0YXRlKGRldiwgc3RhdGUpOwo+ICAgCj4gQEAg LTQ0MTAsNiArNDQxMSw5IEBAIHN0YXRpYyB2b2lkIGFtZGdwdV9kbV9hdG9taWNfY29tbWl0X3Rh aWwoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ICAgCQlzdHJ1Y3QgYW1kZ3B1X2Ny dGMgKmFjcnRjID0gdG9fYW1kZ3B1X2NydGMoY3J0Yyk7Cj4gICAJCWJvb2wgbW9kZXNldF9uZWVk ZWQ7Cj4gICAKPiArCQlpZiAob2xkX2NydGNfc3RhdGUtPmFjdGl2ZSAmJiAhbmV3X2NydGNfc3Rh dGUtPmFjdGl2ZSkKPiArCQkJY3J0Y19kaXNhYmxlX2NvdW50Kys7Cj4gKwo+ICAgCQlkbV9uZXdf Y3J0Y19zdGF0ZSA9IHRvX2RtX2NydGNfc3RhdGUobmV3X2NydGNfc3RhdGUpOwo+ICAgCQlkbV9v bGRfY3J0Y19zdGF0ZSA9IHRvX2RtX2NydGNfc3RhdGUob2xkX2NydGNfc3RhdGUpOwo+ICAgCQlt b2Rlc2V0X25lZWRlZCA9IG1vZGVzZXRfcmVxdWlyZWQoCj4gQEAgLTQ0NjMsMTEgKzQ0NjcsOSBA QCBzdGF0aWMgdm9pZCBhbWRncHVfZG1fYXRvbWljX2NvbW1pdF90YWlsKHN0cnVjdCBkcm1fYXRv bWljX3N0YXRlICpzdGF0ZSkKPiAgIAkgKiBzbyB3ZSBjYW4gcHV0IHRoZSBHUFUgaW50byBydW50 aW1lIHN1c3BlbmQgaWYgd2UncmUgbm90IGRyaXZpbmcgYW55Cj4gICAJICogZGlzcGxheXMgYW55 bW9yZQo+ICAgCSAqLwo+ICsJZm9yIChpID0gMDsgaSA8IGNydGNfZGlzYWJsZV9jb3VudDsgaSsr KQo+ICsJCXBtX3J1bnRpbWVfcHV0X2F1dG9zdXNwZW5kKGRldi0+ZGV2KTsKPiAgIAlwbV9ydW50 aW1lX21hcmtfbGFzdF9idXN5KGRldi0+ZGV2KTsKPiAtCWZvcl9lYWNoX29sZG5ld19jcnRjX2lu X3N0YXRlKHN0YXRlLCBjcnRjLCBvbGRfY3J0Y19zdGF0ZSwgbmV3X2NydGNfc3RhdGUsIGkpIHsK PiAtCQlpZiAob2xkX2NydGNfc3RhdGUtPmFjdGl2ZSAmJiAhbmV3X2NydGNfc3RhdGUtPmFjdGl2 ZSkKPiAtCQkJcG1fcnVudGltZV9wdXRfYXV0b3N1c3BlbmQoZGV2LT5kZXYpOwo+IC0JfQo+ICAg fQo+ICAgCj4gICAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=