From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: Re: [PATCH 03/11] drm/amdgpu: remove VM fault_credit handling Date: Fri, 30 Nov 2018 11:04:18 -0500 Message-ID: References: <20181130123558.14898-1-christian.koenig@amd.com> <20181130123558.14898-3-christian.koenig@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181130123558.14898-3-christian.koenig-5C7GfCeVMHo@public.gmane.org> 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: =?UTF-8?Q?Christian_K=C3=B6nig?= Cc: amd-gfx list T24gRnJpLCBOb3YgMzAsIDIwMTggYXQgNzozNiBBTSBDaHJpc3RpYW4gS8O2bmlnCjxja29lbmln LmxlaWNodHp1bWVya2VuQGdtYWlsLmNvbT4gd3JvdGU6Cj4KPiBwcmludGtfcmF0ZWxpbWl0KCkg aXMgbXVjaCBiZXR0ZXIgc3VpdGVkIHRvIGxpbWl0IHRoZSBudW1iZXIgb2YgcmVwb3J0ZWQKPiBW TSBmYXVsdHMuCj4KPiBTaWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gS8O2bmlnIDxjaHJpc3RpYW4u a29lbmlnQGFtZC5jb20+CgpBY2tlZC1ieTogQWxleCBEZXVjaGVyIDxhbGV4YW5kZXIuZGV1Y2hl ckBhbWQuY29tPgoKPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3Zt LmMgIHwgMzcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfdm0uaCAgfCAgNSAtLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2Npa19paC5jICAgICB8IDE4ICstLS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9jel9paC5jICAgICAgfCAxOCArLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvaWNlbGFuZF9paC5jIHwgMTggKy0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L3RvbmdhX2loLmMgICB8IDE4ICstLS0tLS0tLS0tLQo+ICBkcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS92ZWdhMTBfaWguYyAgfCAgNyArKy0tLQo+ICA3IGZpbGVzIGNo YW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMTE1IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5jIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMKPiBpbmRleCAyYWNiOTgzODkxM2UuLmEyZjE0OWRhODNm OCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5jCj4gQEAgLTMwNTcs NyArMzA1Nyw2IEBAIGludCBhbWRncHVfdm1faW5pdChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRl diwgc3RydWN0IGFtZGdwdV92bSAqdm0sCj4gICAgICAgICB9Cj4KPiAgICAgICAgIElOSVRfS0ZJ Rk8odm0tPmZhdWx0cyk7Cj4gLSAgICAgICB2bS0+ZmF1bHRfY3JlZGl0ID0gMTY7Cj4KPiAgICAg ICAgIHJldHVybiAwOwo+Cj4gQEAgLTMyNjksNDIgKzMyNjgsNiBAQCB2b2lkIGFtZGdwdV92bV9m aW5pKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCBzdHJ1Y3QgYW1kZ3B1X3ZtICp2bSkKPiAg ICAgICAgICAgICAgICAgYW1kZ3B1X3ZtaWRfZnJlZV9yZXNlcnZlZChhZGV2LCB2bSwgaSk7Cj4g IH0KPgo+IC0vKioKPiAtICogYW1kZ3B1X3ZtX3Bhc2lkX2ZhdWx0X2NyZWRpdCAtIENoZWNrIGZh dWx0IGNyZWRpdCBmb3IgZ2l2ZW4gUEFTSUQKPiAtICoKPiAtICogQGFkZXY6IGFtZGdwdV9kZXZp Y2UgcG9pbnRlcgo+IC0gKiBAcGFzaWQ6IFBBU0lEIGRvIGlkZW50aWZ5IHRoZSBWTQo+IC0gKgo+ IC0gKiBUaGlzIGZ1bmN0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNhbGxlZCBpbiBpbnRlcnJ1cHQg Y29udGV4dC4KPiAtICoKPiAtICogUmV0dXJuczoKPiAtICogVHJ1ZSBpZiB0aGVyZSB3YXMgZmF1 bHQgY3JlZGl0LCBmYWxzZSBvdGhlcndpc2UKPiAtICovCj4gLWJvb2wgYW1kZ3B1X3ZtX3Bhc2lk X2ZhdWx0X2NyZWRpdChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKPiAtICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHBhc2lkKQo+IC17Cj4gLSAgICAgICBz dHJ1Y3QgYW1kZ3B1X3ZtICp2bTsKPiAtCj4gLSAgICAgICBzcGluX2xvY2soJmFkZXYtPnZtX21h bmFnZXIucGFzaWRfbG9jayk7Cj4gLSAgICAgICB2bSA9IGlkcl9maW5kKCZhZGV2LT52bV9tYW5h Z2VyLnBhc2lkX2lkciwgcGFzaWQpOwo+IC0gICAgICAgaWYgKCF2bSkgewo+IC0gICAgICAgICAg ICAgICAvKiBWTSBub3QgZm91bmQsIGNhbid0IHRyYWNrIGZhdWx0IGNyZWRpdCAqLwo+IC0gICAg ICAgICAgICAgICBzcGluX3VubG9jaygmYWRldi0+dm1fbWFuYWdlci5wYXNpZF9sb2NrKTsKPiAt ICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Cj4gLSAgICAgICB9Cj4gLQo+IC0gICAgICAgLyog Tm8gbG9jayBuZWVkZWQuIG9ubHkgYWNjZXNzZWQgYnkgSVJRIGhhbmRsZXIgKi8KPiAtICAgICAg IGlmICghdm0tPmZhdWx0X2NyZWRpdCkgewo+IC0gICAgICAgICAgICAgICAvKiBUb28gbWFueSBm YXVsdHMgaW4gdGhpcyBWTSAqLwo+IC0gICAgICAgICAgICAgICBzcGluX3VubG9jaygmYWRldi0+ dm1fbWFuYWdlci5wYXNpZF9sb2NrKTsKPiAtICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwo+ IC0gICAgICAgfQo+IC0KPiAtICAgICAgIHZtLT5mYXVsdF9jcmVkaXQtLTsKPiAtICAgICAgIHNw aW5fdW5sb2NrKCZhZGV2LT52bV9tYW5hZ2VyLnBhc2lkX2xvY2spOwo+IC0gICAgICAgcmV0dXJu IHRydWU7Cj4gLX0KPiAtCj4gIC8qKgo+ICAgKiBhbWRncHVfdm1fbWFuYWdlcl9pbml0IC0gaW5p dCB0aGUgVk0gbWFuYWdlcgo+ICAgKgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfdm0uaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92 bS5oCj4gaW5kZXggMmE4ODk4ZDE5YzhiLi5lOGRjZmQ1OWZjOTMgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmgKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uaAo+IEBAIC0yMjksOSArMjI5LDYgQEAgc3RydWN0IGFt ZGdwdV92bSB7Cj4gICAgICAgICAvKiBVcCB0byAxMjggcGVuZGluZyByZXRyeSBwYWdlIGZhdWx0 cyAqLwo+ICAgICAgICAgREVDTEFSRV9LRklGTyhmYXVsdHMsIHU2NCwgMTI4KTsKPgo+IC0gICAg ICAgLyogTGltaXQgbm9uLXJldHJ5IGZhdWx0IHN0b3JtcyAqLwo+IC0gICAgICAgdW5zaWduZWQg aW50ICAgICAgICAgICAgZmF1bHRfY3JlZGl0Owo+IC0KPiAgICAgICAgIC8qIFBvaW50cyB0byB0 aGUgS0ZEIHByb2Nlc3MgVk0gaW5mbyAqLwo+ICAgICAgICAgc3RydWN0IGFtZGtmZF9wcm9jZXNz X2luZm8gKnByb2Nlc3NfaW5mbzsKPgo+IEBAIC0yOTksOCArMjk2LDYgQEAgaW50IGFtZGdwdV92 bV9pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCBzdHJ1Y3QgYW1kZ3B1X3ZtICp2bSwK PiAgaW50IGFtZGdwdV92bV9tYWtlX2NvbXB1dGUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYs IHN0cnVjdCBhbWRncHVfdm0gKnZtLCB1bnNpZ25lZCBpbnQgcGFzaWQpOwo+ICB2b2lkIGFtZGdw dV92bV9yZWxlYXNlX2NvbXB1dGUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHN0cnVjdCBh bWRncHVfdm0gKnZtKTsKPiAgdm9pZCBhbWRncHVfdm1fZmluaShzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldiwgc3RydWN0IGFtZGdwdV92bSAqdm0pOwo+IC1ib29sIGFtZGdwdV92bV9wYXNpZF9m YXVsdF9jcmVkaXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCj4gLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBwYXNpZCk7Cj4gIHZvaWQgYW1kZ3B1X3Zt X2dldF9wZF9ibyhzdHJ1Y3QgYW1kZ3B1X3ZtICp2bSwKPiAgICAgICAgICAgICAgICAgICAgICAg ICAgc3RydWN0IGxpc3RfaGVhZCAqdmFsaWRhdGVkLAo+ICAgICAgICAgICAgICAgICAgICAgICAg ICBzdHJ1Y3QgYW1kZ3B1X2JvX2xpc3RfZW50cnkgKmVudHJ5KTsKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvY2lrX2loLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9jaWtfaWguYwo+IGluZGV4IGI1Nzc1YzZhODU3Yi4uM2U2YzhjNDA2N2NiIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Npa19paC5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvY2lrX2loLmMKPiBAQCAtMjM3LDIzICsyMzcsNyBAQCBzdGF0 aWMgdTMyIGNpa19paF9nZXRfd3B0cihzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKPiAgICov Cj4gIHN0YXRpYyBib29sIGNpa19paF9wcmVzY3JlZW5faXYoc3RydWN0IGFtZGdwdV9kZXZpY2Ug KmFkZXYpCj4gIHsKPiAtICAgICAgIHUzMiByaW5nX2luZGV4ID0gYWRldi0+aXJxLmloLnJwdHIg Pj4gMjsKPiAtICAgICAgIHUxNiBwYXNpZDsKPiAtCj4gLSAgICAgICBzd2l0Y2ggKGxlMzJfdG9f Y3B1KGFkZXYtPmlycS5paC5yaW5nW3JpbmdfaW5kZXhdKSAmIDB4ZmYpIHsKPiAtICAgICAgIGNh c2UgMTQ2Ogo+IC0gICAgICAgY2FzZSAxNDc6Cj4gLSAgICAgICAgICAgICAgIHBhc2lkID0gbGUz Ml90b19jcHUoYWRldi0+aXJxLmloLnJpbmdbcmluZ19pbmRleCArIDJdKSA+PiAxNjsKPiAtICAg ICAgICAgICAgICAgaWYgKCFwYXNpZCB8fCBhbWRncHVfdm1fcGFzaWRfZmF1bHRfY3JlZGl0KGFk ZXYsIHBhc2lkKSkKPiAtICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKPiAtICAg ICAgICAgICAgICAgYnJlYWs7Cj4gLSAgICAgICBkZWZhdWx0Ogo+IC0gICAgICAgICAgICAgICAv KiBOb3QgYSBWTSBmYXVsdCAqLwo+IC0gICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKPiAtICAg ICAgIH0KPiAtCj4gLSAgICAgICBhZGV2LT5pcnEuaWgucnB0ciArPSAxNjsKPiAtICAgICAgIHJl dHVybiBmYWxzZTsKPiArICAgICAgIHJldHVybiB0cnVlOwo+ICB9Cj4KPiAgIC8qKgo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9jel9paC5jIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvY3pfaWguYwo+IGluZGV4IGRmNWFjNGQ4NWEwMC4uNDQ3YjNjYmM0N2U1 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2N6X2loLmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9jel9paC5jCj4gQEAgLTIxNiwyMyArMjE2LDcg QEAgc3RhdGljIHUzMiBjel9paF9nZXRfd3B0cihzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikK PiAgICovCj4gIHN0YXRpYyBib29sIGN6X2loX3ByZXNjcmVlbl9pdihzdHJ1Y3QgYW1kZ3B1X2Rl dmljZSAqYWRldikKPiAgewo+IC0gICAgICAgdTMyIHJpbmdfaW5kZXggPSBhZGV2LT5pcnEuaWgu cnB0ciA+PiAyOwo+IC0gICAgICAgdTE2IHBhc2lkOwo+IC0KPiAtICAgICAgIHN3aXRjaCAobGUz Ml90b19jcHUoYWRldi0+aXJxLmloLnJpbmdbcmluZ19pbmRleF0pICYgMHhmZikgewo+IC0gICAg ICAgY2FzZSAxNDY6Cj4gLSAgICAgICBjYXNlIDE0NzoKPiAtICAgICAgICAgICAgICAgcGFzaWQg PSBsZTMyX3RvX2NwdShhZGV2LT5pcnEuaWgucmluZ1tyaW5nX2luZGV4ICsgMl0pID4+IDE2Owo+ IC0gICAgICAgICAgICAgICBpZiAoIXBhc2lkIHx8IGFtZGdwdV92bV9wYXNpZF9mYXVsdF9jcmVk aXQoYWRldiwgcGFzaWQpKQo+IC0gICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwo+ IC0gICAgICAgICAgICAgICBicmVhazsKPiAtICAgICAgIGRlZmF1bHQ6Cj4gLSAgICAgICAgICAg ICAgIC8qIE5vdCBhIFZNIGZhdWx0ICovCj4gLSAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwo+ IC0gICAgICAgfQo+IC0KPiAtICAgICAgIGFkZXYtPmlycS5paC5ycHRyICs9IDE2Owo+IC0gICAg ICAgcmV0dXJuIGZhbHNlOwo+ICsgICAgICAgcmV0dXJuIHRydWU7Cj4gIH0KPgo+ICAvKioKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvaWNlbGFuZF9paC5jIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvaWNlbGFuZF9paC5jCj4gaW5kZXggY2YwZmM2MWFlYmU2 Li4yYjk0YTZkMTU1MGUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv aWNlbGFuZF9paC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvaWNlbGFuZF9p aC5jCj4gQEAgLTIxNiwyMyArMjE2LDcgQEAgc3RhdGljIHUzMiBpY2VsYW5kX2loX2dldF93cHRy KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQo+ICAgKi8KPiAgc3RhdGljIGJvb2wgaWNlbGFu ZF9paF9wcmVzY3JlZW5faXYoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCj4gIHsKPiAtICAg ICAgIHUzMiByaW5nX2luZGV4ID0gYWRldi0+aXJxLmloLnJwdHIgPj4gMjsKPiAtICAgICAgIHUx NiBwYXNpZDsKPiAtCj4gLSAgICAgICBzd2l0Y2ggKGxlMzJfdG9fY3B1KGFkZXYtPmlycS5paC5y aW5nW3JpbmdfaW5kZXhdKSAmIDB4ZmYpIHsKPiAtICAgICAgIGNhc2UgMTQ2Ogo+IC0gICAgICAg Y2FzZSAxNDc6Cj4gLSAgICAgICAgICAgICAgIHBhc2lkID0gbGUzMl90b19jcHUoYWRldi0+aXJx LmloLnJpbmdbcmluZ19pbmRleCArIDJdKSA+PiAxNjsKPiAtICAgICAgICAgICAgICAgaWYgKCFw YXNpZCB8fCBhbWRncHVfdm1fcGFzaWRfZmF1bHRfY3JlZGl0KGFkZXYsIHBhc2lkKSkKPiAtICAg ICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKPiAtICAgICAgICAgICAgICAgYnJlYWs7 Cj4gLSAgICAgICBkZWZhdWx0Ogo+IC0gICAgICAgICAgICAgICAvKiBOb3QgYSBWTSBmYXVsdCAq Lwo+IC0gICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKPiAtICAgICAgIH0KPiAtCj4gLSAgICAg ICBhZGV2LT5pcnEuaWgucnB0ciArPSAxNjsKPiAtICAgICAgIHJldHVybiBmYWxzZTsKPiArICAg ICAgIHJldHVybiB0cnVlOwo+ICB9Cj4KPiAgLyoqCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L3RvbmdhX2loLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS90 b25nYV9paC5jCj4gaW5kZXggZGNkYmI0ZDcyNDcyLi45ZDdiNDNkYTZhY2MgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdG9uZ2FfaWguYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L3RvbmdhX2loLmMKPiBAQCAtMjI3LDIzICsyMjcsNyBAQCBzdGF0 aWMgdTMyIHRvbmdhX2loX2dldF93cHRyKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQo+ICAg Ki8KPiAgc3RhdGljIGJvb2wgdG9uZ2FfaWhfcHJlc2NyZWVuX2l2KHN0cnVjdCBhbWRncHVfZGV2 aWNlICphZGV2KQo+ICB7Cj4gLSAgICAgICB1MzIgcmluZ19pbmRleCA9IGFkZXYtPmlycS5paC5y cHRyID4+IDI7Cj4gLSAgICAgICB1MTYgcGFzaWQ7Cj4gLQo+IC0gICAgICAgc3dpdGNoIChsZTMy X3RvX2NwdShhZGV2LT5pcnEuaWgucmluZ1tyaW5nX2luZGV4XSkgJiAweGZmKSB7Cj4gLSAgICAg ICBjYXNlIDE0NjoKPiAtICAgICAgIGNhc2UgMTQ3Ogo+IC0gICAgICAgICAgICAgICBwYXNpZCA9 IGxlMzJfdG9fY3B1KGFkZXYtPmlycS5paC5yaW5nW3JpbmdfaW5kZXggKyAyXSkgPj4gMTY7Cj4g LSAgICAgICAgICAgICAgIGlmICghcGFzaWQgfHwgYW1kZ3B1X3ZtX3Bhc2lkX2ZhdWx0X2NyZWRp dChhZGV2LCBwYXNpZCkpCj4gLSAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Cj4g LSAgICAgICAgICAgICAgIGJyZWFrOwo+IC0gICAgICAgZGVmYXVsdDoKPiAtICAgICAgICAgICAg ICAgLyogTm90IGEgVk0gZmF1bHQgKi8KPiAtICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Cj4g LSAgICAgICB9Cj4gLQo+IC0gICAgICAgYWRldi0+aXJxLmloLnJwdHIgKz0gMTY7Cj4gLSAgICAg ICByZXR1cm4gZmFsc2U7Cj4gKyAgICAgICByZXR1cm4gdHJ1ZTsKPiAgfQo+Cj4gIC8qKgo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS92ZWdhMTBfaWguYyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3ZlZ2ExMF9paC5jCj4gaW5kZXggZDg0YjY4NzI0MGQxLi5i NDkyOTBiY2YxMDkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdmVn YTEwX2loLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS92ZWdhMTBfaWguYwo+ IEBAIC0yNTgsMTIgKzI1OCw5IEBAIHN0YXRpYyBib29sIHZlZ2ExMF9paF9wcmVzY3JlZW5faXYo c3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCj4gICAgICAgICBpZiAoIXBhc2lkKQo+ICAgICAg ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKPgo+IC0gICAgICAgLyogTm90IGEgcmV0cnkgZmF1bHQs IGNoZWNrIGZhdWx0IGNyZWRpdCAqLwo+IC0gICAgICAgaWYgKCEoZHc1ICYgMHg4MCkpIHsKPiAt ICAgICAgICAgICAgICAgaWYgKCFhbWRncHVfdm1fcGFzaWRfZmF1bHRfY3JlZGl0KGFkZXYsIHBh c2lkKSkKPiAtICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGlnbm9yZV9pdjsKPiArICAgICAg IC8qIE5vdCBhIHJldHJ5IGZhdWx0ICovCj4gKyAgICAgICBpZiAoIShkdzUgJiAweDgwKSkKPiAg ICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Cj4gLSAgICAgICB9Cj4KPiAgICAgICAgIC8qIFRy YWNrIHJldHJ5IGZhdWx0cyBpbiBwZXItVk0gZmF1bHQgRklGTy4gKi8KPiAgICAgICAgIHNwaW5f bG9jaygmYWRldi0+dm1fbWFuYWdlci5wYXNpZF9sb2NrKTsKPiAtLQo+IDIuMTcuMQo+Cj4gX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBhbWQtZ2Z4IG1h aWxpbmcgbGlzdAo+IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFt ZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=