From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Christian_K=c3=b6nig?= Subject: Re: [PATCH v3 2/2] drm/sched: Rework HW fence processing. Date: Tue, 11 Dec 2018 17:20:32 +0100 Message-ID: <9a645f9c-93d1-12cc-044b-4bc1ea84d7d9@gmail.com> References: <1544478238-13310-1-git-send-email-andrey.grodzovsky@amd.com> <1544478238-13310-2-git-send-email-andrey.grodzovsky@amd.com> <28c3bebc-9661-198c-7ea9-e59260d658c9@amd.com> Reply-To: christian.koenig-5C7GfCeVMHo@public.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <28c3bebc-9661-198c-7ea9-e59260d658c9-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: "Grodzovsky, Andrey" , "Zhou, David(ChunMing)" , "dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" , "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" , "eric-WhKQ6XTQaPysTnJN9+BGXg@public.gmane.org" , "etnaviv-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" Cc: "Liu, Monk" WWVhaCwgY29tcGxldGVseSBjb3JyZWN0IGV4cGxhaW5lZC4KCkkgd2FzIHVuZm9ydHVuYXRlbHkg cmVhbGx5IGJ1c3kgdG9kYXksIGJ1dCBnb2luZyB0byBnaXZlIHRoYXQgYSBsb29rIGFzIApzb29u IGFzIEkgaGF2ZSB0aW1lLgoKQ2hyaXN0aWFuLgoKQW0gMTEuMTIuMTggdW0gMTc6MDEgc2Nocmll YiBHcm9kem92c2t5LCBBbmRyZXk6Cj4gQSBJIHVuZGVyc3RhbmQgeW91IHNheSB0aGF0IGJ5IHRo ZSB0aW1lIHRoZSBmZW5jZSBjYWxsYmFjayBydW5zIHRoZSBqb2IKPiBtaWdodCBoYXZlIGFscmVh ZHkgYmVlbiByZWxlYXNlZCwKPgo+IGJ1dCBob3cgc28gaWYgdGhlIGpvYiBnZXRzIHJlbGVhc2Vk IGZyb20gZHJtX3NjaGVkX2pvYl9maW5pc2ggd29yawo+IGhhbmRsZXIgaW4gdGhlIG5vcm1hbCBm bG93IC0gc28sIGFmdGVyIHRoZSBIVwo+Cj4gZmVuY2UgKHNfZmVuY2UtPnBhcmVudCkgY2IgaXMg ZXhlY3V0ZWQuIE90aGVyIDIgZmxvd3MgYXJlIGVycm9yIHVzZQo+IGNhc2VzIHdoZXJlIGFtZGdw dV9qb2JfZnJlZSBpcyBjYWxsZWQgZGlyZWN0bHkgaW4gd2hpY2gKPgo+IGNhc2VzIEkgYXNzdW1l IHRoZSBqb2Igd2Fzbid0IHN1Ym1pdHRlZCB0byBIVy4gTGFzdCBmbG93IEkgc2VlIGlzCj4gZHJt X3NjaGVkX2VudGl0eV9raWxsX2pvYnNfY2IgYW5kIGhlcmUgSSBhY3R1YWxseSBzZWUgYSBwcm9i bGVtCj4KPiB3aXRoIHRoZSBjb2RlIGFzIGl0J3MgdG9kYXkgLSBkcm1fc2NoZWRfZmVuY2VfZmlu aXNoZWQgaXMgY2FsbGVkIHdoaWNoCj4gd2lsbCB0cmlnZ2VyIHNfZmVuY2UtPmZpbmlzaGVkIGNh bGxiYWNrIHRvIHJ1biB3aGljaCB0b2RheQo+Cj4gc2NoZWR1bGVzIGRybV9zY2hlZF9qb2JfZmlu aXNoIHdoaWNoIHJlbGVhc2VzIHRoZSBqb2IsIGJ1dCB3ZSBkb24ndCBldmVuCj4gd2FpdCBmb3Ig dGhhdCBhbmQgY2FsbCBmcmVlX2pvYiBjYiBkaXJlY3RseSBmcm9tCj4KPiBhZnRlciB0aGF0IHdo aWNoIHNlZW1zIHdyb25nIHRvIG1lLgo+Cj4gQW5kcmV5Cj4KPgo+IE9uIDEyLzEwLzIwMTggMDk6 NDUgUE0sIFpob3UsIERhdmlkKENodW5NaW5nKSB3cm90ZToKPj4gSSBkb24ndCB0aGluayBhZGRp bmcgY2IgdG8gc2NoZWQgam9iIHdvdWxkIHdvcmsgYXMgc29vbiBhcyB0aGVpciBsaWZldGltZSBp cyBkaWZmZXJlbnQgd2l0aCBmZW5jZS4KPj4gVW5sZXNzIHlvdSBtYWtlIHRoZSBzY2hlZCBqb2Ig cmVmZXJlbmNlLCBvdGhlcndpc2Ugd2Ugd2lsbCBnZXQgdHJvdWJsZSBzb29uZXIgb3IgbGF0ZXIu Cj4+Cj4+IC1EYXZpZAo+Pgo+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPj4+IEZyb206 IGFtZC1nZnggPGFtZC1nZngtYm91bmNlc0BsaXN0cy5mcmVlZGVza3RvcC5vcmc+IE9uIEJlaGFs ZiBPZgo+Pj4gQW5kcmV5IEdyb2R6b3Zza3kKPj4+IFNlbnQ6IFR1ZXNkYXksIERlY2VtYmVyIDEx LCAyMDE4IDU6NDQgQU0KPj4+IFRvOiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnOyBh bWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZzsKPj4+IGNrb2VuaWcubGVpY2h0enVtZXJrZW5A Z21haWwuY29tOyBlcmljQGFuaG9sdC5uZXQ7Cj4+PiBldG5hdml2QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwo+Pj4gQ2M6IFpob3UsIERhdmlkKENodW5NaW5nKSA8RGF2aWQxLlpob3VAYW1kLmNvbT47 IExpdSwgTW9uawo+Pj4gPE1vbmsuTGl1QGFtZC5jb20+OyBHcm9kem92c2t5LCBBbmRyZXkKPj4+ IDxBbmRyZXkuR3JvZHpvdnNreUBhbWQuY29tPgo+Pj4gU3ViamVjdDogW1BBVENIIHYzIDIvMl0g ZHJtL3NjaGVkOiBSZXdvcmsgSFcgZmVuY2UgcHJvY2Vzc2luZy4KPj4+Cj4+PiBFeHBlZGl0ZSBq b2IgZGVsZXRpb24gZnJvbSByaW5nIG1pcnJvciBsaXN0IHRvIHRoZSBIVyBmZW5jZSBzaWduYWwg Y2FsbGJhY2sKPj4+IGluc3RlYWQgZnJvbSBmaW5pc2hfd29yaywgdG9nZXRoZXIgd2l0aCB3YWl0 aW5nIGZvciBhbGwgc3VjaCBmZW5jZXMgdG8gc2lnbmFsIGluCj4+PiBkcm1fc2NoZWRfc3RvcCB3 ZSBnYXJhbnRlZSB0aGF0IGFscmVhZHkgc2lnbmFsZWQgam9iIHdpbGwgbm90IGJlIHByb2Nlc3Nl ZAo+Pj4gdHdpY2UuCj4+PiBSZW1vdmUgdGhlIHNjaGVkIGZpbmlzaCBmZW5jZSBjYWxsYmFjayBh bmQganVzdCBzdWJtaXQgZmluaXNoX3dvcmsgZGlyZWN0bHkKPj4+IGZyb20gdGhlIEhXIGZlbmNl IGNhbGxiYWNrLgo+Pj4KPj4+IHYyOiBGaXggY29tbWVudHMuCj4+Pgo+Pj4gdjM6IEF0dGFjaCAg aHcgZmVuY2UgY2IgdG8gc2NoZWRfam9iCj4+Pgo+Pj4gU3VnZ2VzdGVkLWJ5OiBDaHJpc3RpYW4g S29lbmlnIDxDaHJpc3RpYW4uS29lbmlnQGFtZC5jb20+Cj4+PiBTaWduZWQtb2ZmLWJ5OiBBbmRy ZXkgR3JvZHpvdnNreSA8YW5kcmV5Lmdyb2R6b3Zza3lAYW1kLmNvbT4KPj4+IC0tLQo+Pj4gICAg ZHJpdmVycy9ncHUvZHJtL3NjaGVkdWxlci9zY2hlZF9tYWluLmMgfCA1OCArKysrKysrKysrKysr KysrLS0tLS0tLS0tLQo+Pj4gLS0tLS0tLS0KPj4+ICAgIGluY2x1ZGUvZHJtL2dwdV9zY2hlZHVs ZXIuaCAgICAgICAgICAgIHwgIDYgKystLQo+Pj4gICAgMiBmaWxlcyBjaGFuZ2VkLCAzMCBpbnNl cnRpb25zKCspLCAzNCBkZWxldGlvbnMoLSkKPj4+Cj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL3NjaGVkdWxlci9zY2hlZF9tYWluLmMKPj4+IGIvZHJpdmVycy9ncHUvZHJtL3NjaGVk dWxlci9zY2hlZF9tYWluLmMKPj4+IGluZGV4IGNkZjk1ZTIuLmYwYzFmMzIgMTAwNjQ0Cj4+PiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vc2NoZWR1bGVyL3NjaGVkX21haW4uYwo+Pj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL3NjaGVkdWxlci9zY2hlZF9tYWluLmMKPj4+IEBAIC0yODQsOCArMjg0LDYg QEAgc3RhdGljIHZvaWQgZHJtX3NjaGVkX2pvYl9maW5pc2goc3RydWN0IHdvcmtfc3RydWN0Cj4+ PiAqd29yaykKPj4+ICAgIAljYW5jZWxfZGVsYXllZF93b3JrX3N5bmMoJnNjaGVkLT53b3JrX3Rk cik7Cj4+Pgo+Pj4gICAgCXNwaW5fbG9ja19pcnFzYXZlKCZzY2hlZC0+am9iX2xpc3RfbG9jaywg ZmxhZ3MpOwo+Pj4gLQkvKiByZW1vdmUgam9iIGZyb20gcmluZ19taXJyb3JfbGlzdCAqLwo+Pj4g LQlsaXN0X2RlbF9pbml0KCZzX2pvYi0+bm9kZSk7Cj4+PiAgICAJLyogcXVldWUgVERSIGZvciBu ZXh0IGpvYiAqLwo+Pj4gICAgCWRybV9zY2hlZF9zdGFydF90aW1lb3V0KHNjaGVkKTsKPj4+ICAg IAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzY2hlZC0+am9iX2xpc3RfbG9jaywgZmxhZ3MpOyBA QCAtMjkzLDIyCj4+PiArMjkxLDExIEBAIHN0YXRpYyB2b2lkIGRybV9zY2hlZF9qb2JfZmluaXNo KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKPj4+ICAgIAlzY2hlZC0+b3BzLT5mcmVlX2pvYihz X2pvYik7Cj4+PiAgICB9Cj4+Pgo+Pj4gLXN0YXRpYyB2b2lkIGRybV9zY2hlZF9qb2JfZmluaXNo X2NiKHN0cnVjdCBkbWFfZmVuY2UgKmYsCj4+PiAtCQkJCSAgICBzdHJ1Y3QgZG1hX2ZlbmNlX2Ni ICpjYikKPj4+IC17Cj4+PiAtCXN0cnVjdCBkcm1fc2NoZWRfam9iICpqb2IgPSBjb250YWluZXJf b2YoY2IsIHN0cnVjdCBkcm1fc2NoZWRfam9iLAo+Pj4gLQkJCQkJCSBmaW5pc2hfY2IpOwo+Pj4g LQlzY2hlZHVsZV93b3JrKCZqb2ItPmZpbmlzaF93b3JrKTsKPj4+IC19Cj4+PiAtCj4+PiAgICBz dGF0aWMgdm9pZCBkcm1fc2NoZWRfam9iX2JlZ2luKHN0cnVjdCBkcm1fc2NoZWRfam9iICpzX2pv YikgIHsKPj4+ICAgIAlzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIgKnNjaGVkID0gc19qb2ItPnNj aGVkOwo+Pj4gICAgCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Cj4+Pgo+Pj4gLQlkbWFfZmVuY2VfYWRk X2NhbGxiYWNrKCZzX2pvYi0+c19mZW5jZS0+ZmluaXNoZWQsICZzX2pvYi0KPj4+PiBmaW5pc2hf Y2IsCj4+PiAtCQkJICAgICAgIGRybV9zY2hlZF9qb2JfZmluaXNoX2NiKTsKPj4+IC0KPj4+ICAg IAlzcGluX2xvY2tfaXJxc2F2ZSgmc2NoZWQtPmpvYl9saXN0X2xvY2ssIGZsYWdzKTsKPj4+ICAg IAlsaXN0X2FkZF90YWlsKCZzX2pvYi0+bm9kZSwgJnNjaGVkLT5yaW5nX21pcnJvcl9saXN0KTsK Pj4+ICAgIAlkcm1fc2NoZWRfc3RhcnRfdGltZW91dChzY2hlZCk7Cj4+PiBAQCAtMzU5LDEyICsz NDYsMTEgQEAgdm9pZCBkcm1fc2NoZWRfc3RvcChzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIKPj4+ ICpzY2hlZCwgc3RydWN0IGRybV9zY2hlZF9qb2IgKmJhZCwKPj4+ICAgIAlsaXN0X2Zvcl9lYWNo X2VudHJ5X3JldmVyc2Uoc19qb2IsICZzY2hlZC0+cmluZ19taXJyb3JfbGlzdCwgbm9kZSkKPj4+ IHsKPj4+ICAgIAkJaWYgKHNfam9iLT5zX2ZlbmNlLT5wYXJlbnQgJiYKPj4+ICAgIAkJICAgIGRt YV9mZW5jZV9yZW1vdmVfY2FsbGJhY2soc19qb2ItPnNfZmVuY2UtPnBhcmVudCwKPj4+IC0JCQkJ CSAgICAgICZzX2pvYi0+c19mZW5jZS0+Y2IpKSB7Cj4+PiArCQkJCQkgICAgICAmc19qb2ItPmNi KSkgewo+Pj4gICAgCQkJZG1hX2ZlbmNlX3B1dChzX2pvYi0+c19mZW5jZS0+cGFyZW50KTsKPj4+ ICAgIAkJCXNfam9iLT5zX2ZlbmNlLT5wYXJlbnQgPSBOVUxMOwo+Pj4gICAgCQkJYXRvbWljX2Rl Yygmc2NoZWQtPmh3X3JxX2NvdW50KTsKPj4+IC0JCX0KPj4+IC0JCWVsc2Ugewo+Pj4gKwkJfSBl bHNlIHsKPj4+ICAgIAkJCS8qIFRPRE8gSXMgaXQgZ2V0L3B1dCBuZWNjZXNzZXkgaGVyZSA/ICov Cj4+PiAgICAJCQlkbWFfZmVuY2VfZ2V0KCZzX2pvYi0+c19mZW5jZS0+ZmluaXNoZWQpOwo+Pj4g ICAgCQkJbGlzdF9hZGQoJnNfam9iLT5maW5pc2hfbm9kZSwgJndhaXRfbGlzdCk7IEBAIC0KPj4+ IDQxNywzMSArNDAzLDM0IEBAIEVYUE9SVF9TWU1CT0woZHJtX3NjaGVkX3N0b3ApOyAgdm9pZAo+ Pj4gZHJtX3NjaGVkX3N0YXJ0KHN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAqc2NoZWQsIGJvb2wg dW5wYXJrX29ubHkpICB7Cj4+PiAgICAJc3RydWN0IGRybV9zY2hlZF9qb2IgKnNfam9iLCAqdG1w Owo+Pj4gLQl1bnNpZ25lZCBsb25nIGZsYWdzOwo+Pj4gICAgCWludCByOwo+Pj4KPj4+ICAgIAlp ZiAodW5wYXJrX29ubHkpCj4+PiAgICAJCWdvdG8gdW5wYXJrOwo+Pj4KPj4+IC0Jc3Bpbl9sb2Nr X2lycXNhdmUoJnNjaGVkLT5qb2JfbGlzdF9sb2NrLCBmbGFncyk7Cj4+PiArCS8qCj4+PiArCSAq IExvY2tpbmcgdGhlIGxpc3QgaXMgbm90IHJlcXVpcmVkIGhlcmUgYXMgdGhlIHNjaGVkIHRocmVh ZCBpcyBwYXJrZWQKPj4+ICsJICogc28gbm8gbmV3IGpvYnMgYXJlIGJlaW5nIHB1c2hlZCBpbiB0 byBIVyBhbmQgaW4gZHJtX3NjaGVkX3N0b3AKPj4+IHdlCj4+PiArCSAqIGZsdXNoZWQgYWxsIHRo ZSBqb2JzIHdobyB3ZXJlIHN0aWxsIGluIG1pcnJvciBsaXN0IGJ1dCB3aG8gYWxyZWFkeQo+Pj4g KwkgKiBzaWduYWxlZCBhbmQgcmVtb3ZlZCB0aGVtIHNlbGYgZnJvbSB0aGUgbGlzdC4gQWxzbyBj b25jdXJyZW50Cj4+PiArCSAqIEdQVSByZWNvdmVycyBjYW4ndCBydW4gaW4gcGFyYWxsZWwuCj4+ PiArCSAqLwo+Pj4gICAgCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShzX2pvYiwgdG1wLCAmc2No ZWQtPnJpbmdfbWlycm9yX2xpc3QsCj4+PiBub2RlKSB7Cj4+PiAtCQlzdHJ1Y3QgZHJtX3NjaGVk X2ZlbmNlICpzX2ZlbmNlID0gc19qb2ItPnNfZmVuY2U7Cj4+PiAgICAJCXN0cnVjdCBkbWFfZmVu Y2UgKmZlbmNlID0gc19qb2ItPnNfZmVuY2UtPnBhcmVudDsKPj4+Cj4+PiAgICAJCWlmIChmZW5j ZSkgewo+Pj4gLQkJCXIgPSBkbWFfZmVuY2VfYWRkX2NhbGxiYWNrKGZlbmNlLCAmc19mZW5jZS0+ Y2IsCj4+PiArCQkJciA9IGRtYV9mZW5jZV9hZGRfY2FsbGJhY2soZmVuY2UsICZzX2pvYi0+Y2Is Cj4+PiAgICAJCQkJCQkgICBkcm1fc2NoZWRfcHJvY2Vzc19qb2IpOwo+Pj4gICAgCQkJaWYgKHIg PT0gLUVOT0VOVCkKPj4+IC0JCQkJZHJtX3NjaGVkX3Byb2Nlc3Nfam9iKGZlbmNlLCAmc19mZW5j ZS0KPj4+PiBjYik7Cj4+PiArCQkJCWRybV9zY2hlZF9wcm9jZXNzX2pvYihmZW5jZSwgJnNfam9i LT5jYik7Cj4+PiAgICAJCQllbHNlIGlmIChyKQo+Pj4gICAgCQkJCURSTV9FUlJPUigiZmVuY2Ug YWRkIGNhbGxiYWNrIGZhaWxlZAo+Pj4gKCVkKVxuIiwKPj4+ICAgIAkJCQkJICByKTsKPj4+ICAg IAkJfSBlbHNlCj4+PiAtCQkJZHJtX3NjaGVkX3Byb2Nlc3Nfam9iKE5VTEwsICZzX2ZlbmNlLT5j Yik7Cj4+PiArCQkJZHJtX3NjaGVkX3Byb2Nlc3Nfam9iKE5VTEwsICZzX2pvYi0+Y2IpOwo+Pj4g ICAgCX0KPj4+Cj4+PiAgICAJZHJtX3NjaGVkX3N0YXJ0X3RpbWVvdXQoc2NoZWQpOwo+Pj4gLQlz cGluX3VubG9ja19pcnFyZXN0b3JlKCZzY2hlZC0+am9iX2xpc3RfbG9jaywgZmxhZ3MpOwo+Pj4K Pj4+ICAgIHVucGFyazoKPj4+ICAgIAlrdGhyZWFkX3VucGFyayhzY2hlZC0+dGhyZWFkKTsKPj4+ IEBAIC01OTAsMTggKzU3OSwyNyBAQCBkcm1fc2NoZWRfc2VsZWN0X2VudGl0eShzdHJ1Y3QKPj4+ IGRybV9ncHVfc2NoZWR1bGVyICpzY2hlZCkKPj4+ICAgICAqLwo+Pj4gICAgc3RhdGljIHZvaWQg ZHJtX3NjaGVkX3Byb2Nlc3Nfam9iKHN0cnVjdCBkbWFfZmVuY2UgKmYsIHN0cnVjdAo+Pj4gZG1h X2ZlbmNlX2NiICpjYikgIHsKPj4+IC0Jc3RydWN0IGRybV9zY2hlZF9mZW5jZSAqc19mZW5jZSA9 Cj4+PiAtCQljb250YWluZXJfb2YoY2IsIHN0cnVjdCBkcm1fc2NoZWRfZmVuY2UsIGNiKTsKPj4+ ICsJc3RydWN0IGRybV9zY2hlZF9qb2IgKnNfam9iID0gY29udGFpbmVyX29mKGNiLCBzdHJ1Y3QK Pj4+IGRybV9zY2hlZF9qb2IsIGNiKTsKPj4+ICsJc3RydWN0IGRybV9zY2hlZF9mZW5jZSAqc19m ZW5jZSA9IHNfam9iLT5zX2ZlbmNlOwo+Pj4gICAgCXN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAq c2NoZWQgPSBzX2ZlbmNlLT5zY2hlZDsKPj4+ICsJdW5zaWduZWQgbG9uZyBmbGFnczsKPj4+ICsK Pj4+ICsJY2FuY2VsX2RlbGF5ZWRfd29yaygmc2NoZWQtPndvcmtfdGRyKTsKPj4+Cj4+PiAtCWRt YV9mZW5jZV9nZXQoJnNfZmVuY2UtPmZpbmlzaGVkKTsKPj4+ICAgIAlhdG9taWNfZGVjKCZzY2hl ZC0+aHdfcnFfY291bnQpOwo+Pj4gICAgCWF0b21pY19kZWMoJnNjaGVkLT5udW1fam9icyk7Cj4+ PiArCj4+PiArCXNwaW5fbG9ja19pcnFzYXZlKCZzY2hlZC0+am9iX2xpc3RfbG9jaywgZmxhZ3Mp Owo+Pj4gKwkvKiByZW1vdmUgam9iIGZyb20gcmluZ19taXJyb3JfbGlzdCAqLwo+Pj4gKwlsaXN0 X2RlbF9pbml0KCZzX2pvYi0+bm9kZSk7Cj4+PiArCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNj aGVkLT5qb2JfbGlzdF9sb2NrLCBmbGFncyk7Cj4+PiArCj4+PiAgICAJZHJtX3NjaGVkX2ZlbmNl X2ZpbmlzaGVkKHNfZmVuY2UpOwo+Pj4KPj4+ICAgIAl0cmFjZV9kcm1fc2NoZWRfcHJvY2Vzc19q b2Ioc19mZW5jZSk7Cj4+PiAtCWRtYV9mZW5jZV9wdXQoJnNfZmVuY2UtPmZpbmlzaGVkKTsKPj4+ ICAgIAl3YWtlX3VwX2ludGVycnVwdGlibGUoJnNjaGVkLT53YWtlX3VwX3dvcmtlcik7Cj4+PiAr Cj4+PiArCXNjaGVkdWxlX3dvcmsoJnNfam9iLT5maW5pc2hfd29yayk7Cj4+PiAgICB9Cj4+Pgo+ Pj4gICAgLyoqCj4+PiBAQCAtNjY0LDE2ICs2NjIsMTYgQEAgc3RhdGljIGludCBkcm1fc2NoZWRf bWFpbih2b2lkICpwYXJhbSkKPj4+Cj4+PiAgICAJCWlmIChmZW5jZSkgewo+Pj4gICAgCQkJc19m ZW5jZS0+cGFyZW50ID0gZG1hX2ZlbmNlX2dldChmZW5jZSk7Cj4+PiAtCQkJciA9IGRtYV9mZW5j ZV9hZGRfY2FsbGJhY2soZmVuY2UsICZzX2ZlbmNlLT5jYiwKPj4+ICsJCQlyID0gZG1hX2ZlbmNl X2FkZF9jYWxsYmFjayhmZW5jZSwgJnNjaGVkX2pvYi0+Y2IsCj4+PiAgICAJCQkJCQkgICBkcm1f c2NoZWRfcHJvY2Vzc19qb2IpOwo+Pj4gICAgCQkJaWYgKHIgPT0gLUVOT0VOVCkKPj4+IC0JCQkJ ZHJtX3NjaGVkX3Byb2Nlc3Nfam9iKGZlbmNlLCAmc19mZW5jZS0KPj4+PiBjYik7Cj4+PiArCQkJ CWRybV9zY2hlZF9wcm9jZXNzX2pvYihmZW5jZSwgJnNjaGVkX2pvYi0KPj4+PiBjYik7Cj4+PiAg ICAJCQllbHNlIGlmIChyKQo+Pj4gICAgCQkJCURSTV9FUlJPUigiZmVuY2UgYWRkIGNhbGxiYWNr IGZhaWxlZAo+Pj4gKCVkKVxuIiwKPj4+ICAgIAkJCQkJICByKTsKPj4+ICAgIAkJCWRtYV9mZW5j ZV9wdXQoZmVuY2UpOwo+Pj4gICAgCQl9IGVsc2UKPj4+IC0JCQlkcm1fc2NoZWRfcHJvY2Vzc19q b2IoTlVMTCwgJnNfZmVuY2UtPmNiKTsKPj4+ICsJCQlkcm1fc2NoZWRfcHJvY2Vzc19qb2IoTlVM TCwgJnNjaGVkX2pvYi0+Y2IpOwo+Pj4KPj4+ICAgIAkJd2FrZV91cCgmc2NoZWQtPmpvYl9zY2hl ZHVsZWQpOwo+Pj4gICAgCX0KPj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9ncHVfc2NoZWR1 bGVyLmggYi9pbmNsdWRlL2RybS9ncHVfc2NoZWR1bGVyLmgKPj4+IGluZGV4IGM5NGI1OTIuLmYy OWFhMWMgMTAwNjQ0Cj4+PiAtLS0gYS9pbmNsdWRlL2RybS9ncHVfc2NoZWR1bGVyLmgKPj4+ICsr KyBiL2luY2x1ZGUvZHJtL2dwdV9zY2hlZHVsZXIuaAo+Pj4gQEAgLTEzOCwxMCArMTM4LDYgQEAg c3RydWN0IGRybV9zY2hlZF9mZW5jZSB7Cj4+PiAgICAJc3RydWN0IGRtYV9mZW5jZQkJZmluaXNo ZWQ7Cj4+Pgo+Pj4gICAgICAgICAgICAvKioKPj4+IC0gICAgICAgICAqIEBjYjogdGhlIGNhbGxi YWNrIGZvciB0aGUgcGFyZW50IGZlbmNlIGJlbG93Lgo+Pj4gLSAgICAgICAgICovCj4+PiAtCXN0 cnVjdCBkbWFfZmVuY2VfY2IJCWNiOwo+Pj4gLSAgICAgICAgLyoqCj4+PiAgICAgICAgICAgICAq IEBwYXJlbnQ6IHRoZSBmZW5jZSByZXR1cm5lZCBieSAmZHJtX3NjaGVkX2JhY2tlbmRfb3BzLnJ1 bl9qb2IKPj4+ICAgICAgICAgICAgICogd2hlbiBzY2hlZHVsaW5nIHRoZSBqb2Igb24gaGFyZHdh cmUuIFdlIHNpZ25hbCB0aGUKPj4+ICAgICAgICAgICAgICogJmRybV9zY2hlZF9mZW5jZS5maW5p c2hlZCBmZW5jZSBvbmNlIHBhcmVudCBpcyBzaWduYWxsZWQuCj4+PiBAQCAtMTgyLDYgKzE3OCw3 IEBAIHN0cnVjdCBkcm1fc2NoZWRfZmVuY2UKPj4+ICp0b19kcm1fc2NoZWRfZmVuY2Uoc3RydWN0 IGRtYV9mZW5jZSAqZik7Cj4+PiAgICAgKiAgICAgICAgIGJlIHNjaGVkdWxlZCBmdXJ0aGVyLgo+ Pj4gICAgICogQHNfcHJpb3JpdHk6IHRoZSBwcmlvcml0eSBvZiB0aGUgam9iLgo+Pj4gICAgICog QGVudGl0eTogdGhlIGVudGl0eSB0byB3aGljaCB0aGlzIGpvYiBiZWxvbmdzLgo+Pj4gKyAqIEBj YjogdGhlIGNhbGxiYWNrIGZvciB0aGUgcGFyZW50IGZlbmNlIGluIHNfZmVuY2UuCj4+PiAgICAg Kgo+Pj4gICAgICogQSBqb2IgaXMgY3JlYXRlZCBieSB0aGUgZHJpdmVyIHVzaW5nIGRybV9zY2hl ZF9qb2JfaW5pdCgpLCBhbmQKPj4+ICAgICAqIHNob3VsZCBjYWxsIGRybV9zY2hlZF9lbnRpdHlf cHVzaF9qb2IoKSBvbmNlIGl0IHdhbnRzIHRoZSBzY2hlZHVsZXIKPj4+IEBAIC0xOTksNiArMTk2 LDcgQEAgc3RydWN0IGRybV9zY2hlZF9qb2Igewo+Pj4gICAgCWF0b21pY190CQkJa2FybWE7Cj4+ PiAgICAJZW51bSBkcm1fc2NoZWRfcHJpb3JpdHkJCXNfcHJpb3JpdHk7Cj4+PiAgICAJc3RydWN0 IGRybV9zY2hlZF9lbnRpdHkgICplbnRpdHk7Cj4+PiArCXN0cnVjdCBkbWFfZmVuY2VfY2IJCWNi Owo+Pj4gICAgfTsKPj4+Cj4+PiAgICBzdGF0aWMgaW5saW5lIGJvb2wgZHJtX3NjaGVkX2ludmFs aWRhdGVfam9iKHN0cnVjdCBkcm1fc2NoZWRfam9iICpzX2pvYiwKPj4+IC0tCj4+PiAyLjcuNAo+ Pj4KPj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+ PiBhbWQtZ2Z4IG1haWxpbmcgbGlzdAo+Pj4gYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK Pj4+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdm eAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdm eCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==