From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Grodzovsky, Andrey" Subject: Re: [PATCH 2/2] drm/sched: Rework HW fence processing. Date: Fri, 7 Dec 2018 15:22:47 +0000 Message-ID: References: <1544118074-24910-1-git-send-email-andrey.grodzovsky@amd.com> <1544118074-24910-2-git-send-email-andrey.grodzovsky@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: Content-Language: en-US Content-ID: <27914A0070B5514AB9EA4BE7391ADF30@namprd12.prod.outlook.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: "Koenig, Christian" , "Zhou, David(ChunMing)" , "dri-devel@lists.freedesktop.org" , "amd-gfx@lists.freedesktop.org" , "eric@anholt.net" , "etnaviv@lists.freedesktop.org" Cc: "Liu, Monk" List-Id: amd-gfx.lists.freedesktop.org DQoNCk9uIDEyLzA3LzIwMTggMDM6MTkgQU0sIENocmlzdGlhbiBLw7ZuaWcgd3JvdGU6DQo+IEFt IDA3LjEyLjE4IHVtIDA0OjE4IHNjaHJpZWIgWmhvdSwgRGF2aWQoQ2h1bk1pbmcpOg0KPj4NCj4+ PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4+IEZyb206IGRyaS1kZXZlbCA8ZHJpLWRl dmVsLWJvdW5jZXNAbGlzdHMuZnJlZWRlc2t0b3Aub3JnPiBPbiBCZWhhbGYgT2YNCj4+PiBBbmRy ZXkgR3JvZHpvdnNreQ0KPj4+IFNlbnQ6IEZyaWRheSwgRGVjZW1iZXIgMDcsIDIwMTggMTo0MSBB TQ0KPj4+IFRvOiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnOyBhbWQtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZzsNCj4+PiBja29lbmlnLmxlaWNodHp1bWVya2VuQGdtYWlsLmNvbTsg ZXJpY0BhbmhvbHQubmV0Ow0KPj4+IGV0bmF2aXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnDQo+Pj4g Q2M6IExpdSwgTW9uayA8TW9uay5MaXVAYW1kLmNvbT4NCj4+PiBTdWJqZWN0OiBbUEFUQ0ggMi8y XSBkcm0vc2NoZWQ6IFJld29yayBIVyBmZW5jZSBwcm9jZXNzaW5nLg0KPj4+DQo+Pj4gRXhwZWRp dGUgam9iIGRlbGV0aW9uIGZyb20gcmluZyBtaXJyb3IgbGlzdCB0byB0aGUgSFcgZmVuY2Ugc2ln bmFsIA0KPj4+IGNhbGxiYWNrDQo+Pj4gaW5zdGVhZCBmcm9tIGZpbmlzaF93b3JrLCB0b2dldGhl ciB3aXRoIHdhaXRpbmcgZm9yIGFsbCBzdWNoIGZlbmNlcyANCj4+PiB0byBzaWduYWwgaW4NCj4+ PiBkcm1fc2NoZWRfc3RvcCB3ZSBnYXJhbnRlZSB0aGF0IGFscmVhZHkgc2lnbmFsZWQgam9iIHdp bGwgbm90IGJlIA0KPj4+IHByb2Nlc3NlZA0KPj4+IHR3aWNlLg0KPj4+IFJlbW92ZSB0aGUgc2No ZWQgZmluaXNoIGZlbmNlIGNhbGxiYWNrIGFuZCBqdXN0IHN1Ym1pdCBmaW5pc2hfd29yayANCj4+ PiBkaXJlY3RseQ0KPj4+IGZyb20gdGhlIEhXIGZlbmNlIGNhbGxiYWNrLg0KPj4+DQo+Pj4gU3Vn Z2VzdGVkLWJ5OiBDaHJpc3RpYW4gS29lbmlnIDxDaHJpc3RpYW4uS29lbmlnQGFtZC5jb20+DQo+ Pj4gU2lnbmVkLW9mZi1ieTogQW5kcmV5IEdyb2R6b3Zza3kgPGFuZHJleS5ncm9kem92c2t5QGFt ZC5jb20+DQo+Pj4gLS0tDQo+Pj4gwqAgZHJpdmVycy9ncHUvZHJtL3NjaGVkdWxlci9zY2hlZF9m ZW5jZS5jIHzCoCA0ICsrKy0NCj4+PiBkcml2ZXJzL2dwdS9kcm0vc2NoZWR1bGVyL3NjaGVkX21h aW4uY8KgIHwgMzkgKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0NCj4+PiAtLS0tLS0tDQo+Pj4g wqAgaW5jbHVkZS9kcm0vZ3B1X3NjaGVkdWxlci5owqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwg MTAgKysrKysrKy0tDQo+Pj4gwqAgMyBmaWxlcyBjaGFuZ2VkLCAzMCBpbnNlcnRpb25zKCspLCAy MyBkZWxldGlvbnMoLSkNCj4+Pg0KPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc2No ZWR1bGVyL3NjaGVkX2ZlbmNlLmMNCj4+PiBiL2RyaXZlcnMvZ3B1L2RybS9zY2hlZHVsZXIvc2No ZWRfZmVuY2UuYw0KPj4+IGluZGV4IGQ4ZDJkZmYuLmU2MmMyMzkgMTAwNjQ0DQo+Pj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL3NjaGVkdWxlci9zY2hlZF9mZW5jZS5jDQo+Pj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL3NjaGVkdWxlci9zY2hlZF9mZW5jZS5jDQo+Pj4gQEAgLTE1MSw3ICsxNTEsOCBA QCBzdHJ1Y3QgZHJtX3NjaGVkX2ZlbmNlDQo+Pj4gKnRvX2RybV9zY2hlZF9mZW5jZShzdHJ1Y3Qg ZG1hX2ZlbmNlICpmKQ0KPj4+IEVYUE9SVF9TWU1CT0wodG9fZHJtX3NjaGVkX2ZlbmNlKTsNCj4+ Pg0KPj4+IMKgIHN0cnVjdCBkcm1fc2NoZWRfZmVuY2UgKmRybV9zY2hlZF9mZW5jZV9jcmVhdGUo c3RydWN0DQo+Pj4gZHJtX3NjaGVkX2VudGl0eSAqZW50aXR5LA0KPj4+IC3CoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHZvaWQgKm93bmVyKQ0KPj4+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHZv aWQgKm93bmVyLA0KPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHN0cnVjdCBkcm1fc2NoZWRfam9iICpzX2pvYikNCj4+PiDCoCB7DQo+Pj4g wqDCoMKgwqDCoCBzdHJ1Y3QgZHJtX3NjaGVkX2ZlbmNlICpmZW5jZSA9IE5VTEw7DQo+Pj4gwqDC oMKgwqDCoCB1bnNpZ25lZCBzZXE7DQo+Pj4gQEAgLTE2Myw2ICsxNjQsNyBAQCBzdHJ1Y3QgZHJt X3NjaGVkX2ZlbmNlDQo+Pj4gKmRybV9zY2hlZF9mZW5jZV9jcmVhdGUoc3RydWN0IGRybV9zY2hl ZF9lbnRpdHkgKmVudGl0eSwNCj4+PiDCoMKgwqDCoMKgIGZlbmNlLT5vd25lciA9IG93bmVyOw0K Pj4+IMKgwqDCoMKgwqAgZmVuY2UtPnNjaGVkID0gZW50aXR5LT5ycS0+c2NoZWQ7DQo+Pj4gwqDC oMKgwqDCoCBzcGluX2xvY2tfaW5pdCgmZmVuY2UtPmxvY2spOw0KPj4+ICvCoMKgwqAgZmVuY2Ut PnNfam9iID0gc19qb2I7DQo+Pj4NCj4+PiDCoMKgwqDCoMKgIHNlcSA9IGF0b21pY19pbmNfcmV0 dXJuKCZlbnRpdHktPmZlbmNlX3NlcSk7DQo+Pj4gwqDCoMKgwqDCoCBkbWFfZmVuY2VfaW5pdCgm ZmVuY2UtPnNjaGVkdWxlZCwNCj4+PiAmZHJtX3NjaGVkX2ZlbmNlX29wc19zY2hlZHVsZWQsIGRp ZmYgLS1naXQNCj4+PiBhL2RyaXZlcnMvZ3B1L2RybS9zY2hlZHVsZXIvc2NoZWRfbWFpbi5jDQo+ Pj4gYi9kcml2ZXJzL2dwdS9kcm0vc2NoZWR1bGVyL3NjaGVkX21haW4uYw0KPj4+IGluZGV4IDhm YjdmODYuLjI4NjAwMzcgMTAwNjQ0DQo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3NjaGVkdWxl ci9zY2hlZF9tYWluLmMNCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vc2NoZWR1bGVyL3NjaGVk X21haW4uYw0KPj4+IEBAIC0yODQsMzEgKzI4NCwxNyBAQCBzdGF0aWMgdm9pZCBkcm1fc2NoZWRf am9iX2ZpbmlzaChzdHJ1Y3QNCj4+PiB3b3JrX3N0cnVjdCAqd29yaykNCj4+PiDCoMKgwqDCoMKg IGNhbmNlbF9kZWxheWVkX3dvcmtfc3luYygmc2NoZWQtPndvcmtfdGRyKTsNCj4+Pg0KPj4+IMKg wqDCoMKgwqAgc3Bpbl9sb2NrX2lycXNhdmUoJnNjaGVkLT5qb2JfbGlzdF9sb2NrLCBmbGFncyk7 DQo+Pj4gLcKgwqDCoCAvKiByZW1vdmUgam9iIGZyb20gcmluZ19taXJyb3JfbGlzdCAqLw0KPj4+ IC3CoMKgwqAgbGlzdF9kZWxfaW5pdCgmc19qb2ItPm5vZGUpOw0KPj4+IC3CoMKgwqAgLyogcXVl dWUgVERSIGZvciBuZXh0IGpvYiAqLw0KPj4+IMKgwqDCoMKgwqAgZHJtX3NjaGVkX3N0YXJ0X3Rp bWVvdXQoc2NoZWQpOw0KPj4+IMKgwqDCoMKgwqAgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc2No ZWQtPmpvYl9saXN0X2xvY2ssIGZsYWdzKTsNCj4+Pg0KPj4+IMKgwqDCoMKgwqAgc2NoZWQtPm9w cy0+ZnJlZV9qb2Ioc19qb2IpOw0KPj4+IMKgIH0NCj4+Pg0KPj4+IC1zdGF0aWMgdm9pZCBkcm1f c2NoZWRfam9iX2ZpbmlzaF9jYihzdHJ1Y3QgZG1hX2ZlbmNlICpmLA0KPj4+IC3CoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgZG1hX2ZlbmNlX2NiICpjYikNCj4+ PiAtew0KPj4+IC3CoMKgwqAgc3RydWN0IGRybV9zY2hlZF9qb2IgKmpvYiA9IGNvbnRhaW5lcl9v ZihjYiwgc3RydWN0IGRybV9zY2hlZF9qb2IsDQo+Pj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmaW5pc2hfY2IpOw0KPj4+IC3CoMKgwqAgc2NoZWR1 bGVfd29yaygmam9iLT5maW5pc2hfd29yayk7DQo+Pj4gLX0NCj4+PiAtDQo+Pj4gwqAgc3RhdGlj IHZvaWQgZHJtX3NjaGVkX2pvYl9iZWdpbihzdHJ1Y3QgZHJtX3NjaGVkX2pvYiAqc19qb2IpwqAg ew0KPj4+IMKgwqDCoMKgwqAgc3RydWN0IGRybV9ncHVfc2NoZWR1bGVyICpzY2hlZCA9IHNfam9i LT5zY2hlZDsNCj4+PiDCoMKgwqDCoMKgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7DQo+Pj4NCj4+PiAt IGRtYV9mZW5jZV9hZGRfY2FsbGJhY2soJnNfam9iLT5zX2ZlbmNlLT5maW5pc2hlZCwgJnNfam9i LQ0KPj4+PiBmaW5pc2hfY2IsDQo+Pj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBkcm1fc2NoZWRfam9iX2ZpbmlzaF9jYik7DQo+Pj4gLQ0KPj4+IMKgwqDCoMKgwqAgc3Bp bl9sb2NrX2lycXNhdmUoJnNjaGVkLT5qb2JfbGlzdF9sb2NrLCBmbGFncyk7DQo+Pj4gwqDCoMKg wqDCoCBsaXN0X2FkZF90YWlsKCZzX2pvYi0+bm9kZSwgJnNjaGVkLT5yaW5nX21pcnJvcl9saXN0 KTsNCj4+PiDCoMKgwqDCoMKgIGRybV9zY2hlZF9zdGFydF90aW1lb3V0KHNjaGVkKTsNCj4+PiBA QCAtNDE4LDEzICs0MDQsMTcgQEAgdm9pZCBkcm1fc2NoZWRfc3RhcnQoc3RydWN0IGRybV9ncHVf c2NoZWR1bGVyDQo+Pj4gKnNjaGVkLCBib29sIHVucGFya19vbmx5KcKgIHsNCj4+PiDCoMKgwqDC oMKgIHN0cnVjdCBkcm1fc2NoZWRfam9iICpzX2pvYiwgKnRtcDsNCj4+PiDCoMKgwqDCoMKgIGJv b2wgZm91bmRfZ3VpbHR5ID0gZmFsc2U7DQo+Pj4gLcKgwqDCoCB1bnNpZ25lZCBsb25nIGZsYWdz Ow0KPj4+IMKgwqDCoMKgwqAgaW50IHI7DQo+Pj4NCj4+PiDCoMKgwqDCoMKgIGlmICh1bnBhcmtf b25seSkNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgZ290byB1bnBhcms7DQo+Pj4NCj4+PiAtwqDC oMKgIHNwaW5fbG9ja19pcnFzYXZlKCZzY2hlZC0+am9iX2xpc3RfbG9jaywgZmxhZ3MpOw0KPj4+ ICvCoMKgwqAgLyoNCj4+PiArwqDCoMKgwqAgKiBMb2NraW5nIHRoZSBsaXN0IGlzIG5vdCByZXF1 aXJlZCBoZXJlIGFzIHRoZSBzY2hlZCB0aHJlYWQgaXMgDQo+Pj4gcGFya2VkDQo+Pj4gK8KgwqDC oMKgICogc28gbm8gbmV3IGpvYnMgYXJlIGJlaW5nIHB1c2hlZCBpbiB0byBIVyBhbmQgaW4gZHJt X3NjaGVkX3N0b3ANCj4+PiB3ZQ0KPj4+ICvCoMKgwqDCoCAqIGZsdXNoZWQgYW55IGluIGZsaWdo dCBqb2JzIHdobyBkaWRuJ3Qgc2lnbmFsIHlldC4gQWxzbyANCj4+PiBjb25jdXJyZW50DQo+Pj4g K8KgwqDCoMKgICogR1BVIHJlY292ZXJzIGNhbid0IHJ1biBpbiBwYXJhbGxlbC4NCj4+PiArwqDC oMKgwqAgKi8NCj4+PiDCoMKgwqDCoMKgIGxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShzX2pvYiwg dG1wLCAmc2NoZWQtPnJpbmdfbWlycm9yX2xpc3QsDQo+Pj4gbm9kZSkgew0KPj4+IMKgwqDCoMKg wqDCoMKgwqDCoCBzdHJ1Y3QgZHJtX3NjaGVkX2ZlbmNlICpzX2ZlbmNlID0gc19qb2ItPnNfZmVu Y2U7DQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlOw0KPj4+ IEBAIC00NTMsNyArNDQzLDYgQEAgdm9pZCBkcm1fc2NoZWRfc3RhcnQoc3RydWN0IGRybV9ncHVf c2NoZWR1bGVyDQo+Pj4gKnNjaGVkLCBib29sIHVucGFya19vbmx5KQ0KPj4+IMKgwqDCoMKgwqAg fQ0KPj4+DQo+Pj4gwqDCoMKgwqDCoCBkcm1fc2NoZWRfc3RhcnRfdGltZW91dChzY2hlZCk7DQo+ Pj4gLcKgwqDCoCBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzY2hlZC0+am9iX2xpc3RfbG9jaywg ZmxhZ3MpOw0KPj4+DQo+Pj4gwqAgdW5wYXJrOg0KPj4+IMKgwqDCoMKgwqAga3RocmVhZF91bnBh cmsoc2NoZWQtPnRocmVhZCk7DQo+Pj4gQEAgLTUwNSw3ICs0OTQsNyBAQCBpbnQgZHJtX3NjaGVk X2pvYl9pbml0KHN0cnVjdCBkcm1fc2NoZWRfam9iICpqb2IsDQo+Pj4gwqDCoMKgwqDCoCBqb2It PnNjaGVkID0gc2NoZWQ7DQo+Pj4gwqDCoMKgwqDCoCBqb2ItPmVudGl0eSA9IGVudGl0eTsNCj4+ PiDCoMKgwqDCoMKgIGpvYi0+c19wcmlvcml0eSA9IGVudGl0eS0+cnEgLSBzY2hlZC0+c2NoZWRf cnE7DQo+Pj4gLcKgwqDCoCBqb2ItPnNfZmVuY2UgPSBkcm1fc2NoZWRfZmVuY2VfY3JlYXRlKGVu dGl0eSwgb3duZXIpOw0KPj4+ICvCoMKgwqAgam9iLT5zX2ZlbmNlID0gZHJtX3NjaGVkX2ZlbmNl X2NyZWF0ZShlbnRpdHksIG93bmVyLCBqb2IpOw0KPj4+IMKgwqDCoMKgwqAgaWYgKCFqb2ItPnNf ZmVuY2UpDQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiAtRU5PTUVNOw0KPj4+IMKgwqDC oMKgwqAgam9iLT5pZCA9IGF0b21pYzY0X2luY19yZXR1cm4oJnNjaGVkLT5qb2JfaWRfY291bnQp Ow0KPj4+IEBAIC01OTMsMTUgKzU4MiwyNSBAQCBzdGF0aWMgdm9pZCBkcm1fc2NoZWRfcHJvY2Vz c19qb2Ioc3RydWN0DQo+Pj4gZG1hX2ZlbmNlICpmLCBzdHJ1Y3QgZG1hX2ZlbmNlX2NiICpjYikN Cj4+PiDCoMKgwqDCoMKgIHN0cnVjdCBkcm1fc2NoZWRfZmVuY2UgKnNfZmVuY2UgPQ0KPj4+IMKg wqDCoMKgwqDCoMKgwqDCoCBjb250YWluZXJfb2YoY2IsIHN0cnVjdCBkcm1fc2NoZWRfZmVuY2Us IGNiKTsNCj4+PiDCoMKgwqDCoMKgIHN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAqc2NoZWQgPSBz X2ZlbmNlLT5zY2hlZDsNCj4+PiArwqDCoMKgIHN0cnVjdCBkcm1fc2NoZWRfam9iICpzX2pvYiA9 IHNfZmVuY2UtPnNfam9iOw0KPj4NCj4+IFNlZW1zIHdlIGFyZSBiYWNrIHRvIG9yaWdpbmFsLCBD aHJpc3RpYW4gYXJndWVkIHNfZmVuY2UgYW5kIHNfam9iIGFyZSANCj4+IHdpdGggZGlmZmVyZW50 IGxpZmV0aW1lICwgRG8gdGhlaXIgbGlmZXRpbWUgYmVjb21lIHNhbWUgbm93Pw0KPg0KPiBObywg dGhhdCBzdGlsbCBkb2Vzbid0IHdvcmsuIFRoZSBzY2hlZHVsZXIgZmVuY2UgbGl2ZXMgbXVjaCBs b25nZXIgDQo+IHRoYW4gdGhlIGpvYiwgc28gd2Ugd291bGQgaGF2ZSBhIGRhbmdsaW5nIHBvaW50 ZXIgaGVyZS4NCj4NCj4gVGhlIHJlYWwgcXVlc3Rpb24gaXMgd2h5IHdlIGFjdHVhbGx5IG5lZWQg dGhhdD8gSSBtZWFuIHdlIGp1c3QgbmVlZCB0byANCj4gbW92ZSB0aGUgY2FsbGJhY2sgc3RydWN0 dXJlIGludG8gdGhlIGpvYiwgZG9uJ3Qgd2U/DQo+DQo+IENocmlzdGlhbi4NCg0KU28gbGV0J3Mg c2F5IEkgbW92ZSB0aGUgLmNiIGZyb20gZHJtX3NjaGVkX2ZlbmNlIHRvIGRybV9zY2hlZF9qb2Is IGFuZCANCnRoZXJlIGl0J3Mgb2sgdG8gcmVmZXJlbmNlDQpqb2ItPnNfZmVuY2UgYmVjYXVzZSBz X2ZlbmNlIGxpZmUgYXMgYXQgbGVhc3QgYXMgdGhlIGpvYiwgcmlnaHQgPw0KDQpBbmRyZXkNCg0K Pg0KPj4NCj4+IC1EYXZpZA0KPj4NCj4+PiArwqDCoMKgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7DQo+ Pj4gKw0KPj4+ICvCoMKgwqAgY2FuY2VsX2RlbGF5ZWRfd29yaygmc2NoZWQtPndvcmtfdGRyKTsN Cj4+Pg0KPj4+IC3CoMKgwqAgZG1hX2ZlbmNlX2dldCgmc19mZW5jZS0+ZmluaXNoZWQpOw0KPj4+ IMKgwqDCoMKgwqAgYXRvbWljX2RlYygmc2NoZWQtPmh3X3JxX2NvdW50KTsNCj4+PiDCoMKgwqDC oMKgIGF0b21pY19kZWMoJnNjaGVkLT5udW1fam9icyk7DQo+Pj4gKw0KPj4+ICvCoMKgwqAgc3Bp bl9sb2NrX2lycXNhdmUoJnNjaGVkLT5qb2JfbGlzdF9sb2NrLCBmbGFncyk7DQo+Pj4gK8KgwqDC oCAvKiByZW1vdmUgam9iIGZyb20gcmluZ19taXJyb3JfbGlzdCAqLw0KPj4+ICvCoMKgwqAgbGlz dF9kZWxfaW5pdCgmc19qb2ItPm5vZGUpOw0KPj4+ICvCoMKgwqAgc3Bpbl91bmxvY2tfaXJxcmVz dG9yZSgmc2NoZWQtPmpvYl9saXN0X2xvY2ssIGZsYWdzKTsNCj4+PiArDQo+Pj4gwqDCoMKgwqDC oCBkcm1fc2NoZWRfZmVuY2VfZmluaXNoZWQoc19mZW5jZSk7DQo+Pj4NCj4+PiDCoMKgwqDCoMKg IHRyYWNlX2RybV9zY2hlZF9wcm9jZXNzX2pvYihzX2ZlbmNlKTsNCj4+PiAtwqDCoMKgIGRtYV9m ZW5jZV9wdXQoJnNfZmVuY2UtPmZpbmlzaGVkKTsNCj4+PiDCoMKgwqDCoMKgIHdha2VfdXBfaW50 ZXJydXB0aWJsZSgmc2NoZWQtPndha2VfdXBfd29ya2VyKTsNCj4+PiArDQo+Pj4gK8KgwqDCoCBz Y2hlZHVsZV93b3JrKCZzX2pvYi0+ZmluaXNoX3dvcmspOw0KPj4+IMKgIH0NCj4+Pg0KPj4+IMKg IC8qKg0KPj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9ncHVfc2NoZWR1bGVyLmggYi9pbmNs dWRlL2RybS9ncHVfc2NoZWR1bGVyLmgNCj4+PiBpbmRleCBjOTRiNTkyLi4yMzg1NWM2IDEwMDY0 NA0KPj4+IC0tLSBhL2luY2x1ZGUvZHJtL2dwdV9zY2hlZHVsZXIuaA0KPj4+ICsrKyBiL2luY2x1 ZGUvZHJtL2dwdV9zY2hlZHVsZXIuaA0KPj4+IEBAIC0xMTUsNiArMTE1LDggQEAgc3RydWN0IGRy bV9zY2hlZF9ycSB7DQo+Pj4gwqDCoMKgwqDCoCBzdHJ1Y3QgZHJtX3NjaGVkX2VudGl0ecKgwqDC oMKgwqDCoMKgICpjdXJyZW50X2VudGl0eTsNCj4+PiDCoCB9Ow0KPj4+DQo+Pj4gK3N0cnVjdCBk cm1fc2NoZWRfam9iOw0KPj4+ICsNCj4+PiDCoCAvKioNCj4+PiDCoMKgICogc3RydWN0IGRybV9z Y2hlZF9mZW5jZSAtIGZlbmNlcyBjb3JyZXNwb25kaW5nIHRvIHRoZSBzY2hlZHVsaW5nIA0KPj4+ IG9mIGEgam9iLg0KPj4+IMKgwqAgKi8NCj4+PiBAQCAtMTYwLDYgKzE2Miw5IEBAIHN0cnVjdCBk cm1fc2NoZWRfZmVuY2Ugew0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgICogQG93bmVyOiBqb2Ig b3duZXIgZm9yIGRlYnVnZ2luZw0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgICovDQo+Pj4gwqDC oMKgwqDCoCB2b2lkwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICpvd25lcjsNCj4+PiAr DQo+Pj4gK8KgwqDCoCAvKiBCYWNrIHBvaW50ZXIgdG8gb3duaW5nIGpvYiAqLw0KPj4+ICvCoMKg wqAgc3RydWN0IGRybV9zY2hlZF9qb2LCoMKgwqDCoMKgwqDCoMKgICpzX2pvYjsNCj4+PiDCoCB9 Ow0KPj4+DQo+Pj4gwqAgc3RydWN0IGRybV9zY2hlZF9mZW5jZSAqdG9fZHJtX3NjaGVkX2ZlbmNl KHN0cnVjdCBkbWFfZmVuY2UgKmYpOyBAQA0KPj4+IC0zMzAsOCArMzM1LDkgQEAgdm9pZCBkcm1f c2NoZWRfZW50aXR5X3NldF9wcmlvcml0eShzdHJ1Y3QNCj4+PiBkcm1fc2NoZWRfZW50aXR5ICpl bnRpdHksDQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBlbnVt IGRybV9zY2hlZF9wcmlvcml0eSBwcmlvcml0eSk7wqAgYm9vbA0KPj4+IGRybV9zY2hlZF9lbnRp dHlfaXNfcmVhZHkoc3RydWN0IGRybV9zY2hlZF9lbnRpdHkgKmVudGl0eSk7DQo+Pj4NCj4+PiAt c3RydWN0IGRybV9zY2hlZF9mZW5jZSAqZHJtX3NjaGVkX2ZlbmNlX2NyZWF0ZSgNCj4+PiAtwqDC oMKgIHN0cnVjdCBkcm1fc2NoZWRfZW50aXR5ICpzX2VudGl0eSwgdm9pZCAqb3duZXIpOw0KPj4+ ICtzdHJ1Y3QgZHJtX3NjaGVkX2ZlbmNlICpkcm1fc2NoZWRfZmVuY2VfY3JlYXRlKHN0cnVjdA0K Pj4+IGRybV9zY2hlZF9lbnRpdHkgKnNfZW50aXR5LA0KPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHZvaWQgKm93bmVyLA0KPj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBk cm1fc2NoZWRfam9iICpzX2pvYik7DQo+Pj4gwqAgdm9pZCBkcm1fc2NoZWRfZmVuY2Vfc2NoZWR1 bGVkKHN0cnVjdCBkcm1fc2NoZWRfZmVuY2UgKmZlbmNlKTvCoCB2b2lkDQo+Pj4gZHJtX3NjaGVk X2ZlbmNlX2ZpbmlzaGVkKHN0cnVjdCBkcm1fc2NoZWRfZmVuY2UgKmZlbmNlKTsNCj4+Pg0KPj4+ IC0tIA0KPj4+IDIuNy40DQo+Pj4NCj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXw0KPj4+IGRyaS1kZXZlbCBtYWlsaW5nIGxpc3QNCj4+PiBkcmktZGV2 ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnDQo+Pj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwNCj4NCg0KX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2 ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==