From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Deucher, Alexander" Subject: RE: [PATCH 2/2] drm/amdgpu: bind GTT on demand Date: Wed, 7 Sep 2016 14:32:03 +0000 Message-ID: References: <1473154866-2448-1-git-send-email-deathsimple@vodafone.de> <1473154866-2448-2-git-send-email-deathsimple@vodafone.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1473154866-2448-2-git-send-email-deathsimple-ANTagKRnAhcb1SvskN2V4Q@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: =?utf-8?B?J0NocmlzdGlhbiBLw7ZuaWcn?= , "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBhbWQtZ2Z4IFttYWlsdG86YW1k LWdmeC1ib3VuY2VzQGxpc3RzLmZyZWVkZXNrdG9wLm9yZ10gT24gQmVoYWxmDQo+IE9mIENocmlz dGlhbiBLw7ZuaWcNCj4gU2VudDogVHVlc2RheSwgU2VwdGVtYmVyIDA2LCAyMDE2IDU6NDEgQU0N Cj4gVG86IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnDQo+IFN1YmplY3Q6IFtQQVRDSCAy LzJdIGRybS9hbWRncHU6IGJpbmQgR1RUIG9uIGRlbWFuZA0KPiANCj4gRnJvbTogQ2hyaXN0aWFu IEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPg0KPiANCj4gV2UgZG9uJ3QgcmVhbGx5 IG5lZWQgdGhlIEdUVCB0YWJsZSBhbnkgbW9yZSBtb3N0IG9mIHRoZSB0aW1lLiBTbyBiaW5kIGl0 DQo+IG9ubHkgb24gZGVtYW5kLg0KPiANCj4gU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEvDtm5p ZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPg0KDQpGb3IgdGhlIHNlcmllczoNClJldmlld2Vk LWJ5OiBBbGV4IERldWNoZXIgPGFsZXhhbmRlci5kZXVjaGVyQGFtZC5jb20+DQoNCj4gLS0tDQo+ ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaCAgICAgICAgfCAgMSArDQo+ICBk cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYyAgICAgfCAzNA0KPiArKysrKysr KysrKysrKysrKysrKysrKysrKysrLS0NCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV9vYmplY3QuYyB8ICA3ICsrKysrKw0KPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X3R0bS5jICAgIHwgMzMNCj4gKysrKysrKysrKysrKysrKysrKysrKysrKystLS0NCj4g IGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90dG0uaCAgICB8ICAzICsrKw0KPiAg ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3V2ZC5jICAgIHwgIDQgKysrKw0KPiAg ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZjZS5jICAgIHwgIDYgKysrKystDQo+ ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYyAgICAgfCAgMyArKy0NCj4g IDggZmlsZXMgY2hhbmdlZCwgODQgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkNCj4gDQo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaA0KPiBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oDQo+IGluZGV4IDlkMzlmYTguLjI4ZDRh NjcgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oDQo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oDQo+IEBAIC0yNTIxLDYg KzI1MjEsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgYW1kZ3B1X2FjcGlfZmluaShzdHJ1Y3QNCj4g YW1kZ3B1X2RldmljZSAqYWRldikgeyB9DQo+ICBzdHJ1Y3QgYW1kZ3B1X2JvX3ZhX21hcHBpbmcg Kg0KPiAgYW1kZ3B1X2NzX2ZpbmRfbWFwcGluZyhzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcGFy c2VyLA0KPiAgCQkgICAgICAgdWludDY0X3QgYWRkciwgc3RydWN0IGFtZGdwdV9ibyAqKmJvKTsN Cj4gK2ludCBhbWRncHVfY3Nfc3lzdm1fYWNjZXNzX3JlcXVpcmVkKHN0cnVjdCBhbWRncHVfY3Nf cGFyc2VyICpwYXJzZXIpOw0KPiANCj4gICNpZiBkZWZpbmVkKENPTkZJR19EUk1fQU1EX0RBTCkN Cj4gIGludCBhbWRncHVfZG1fZGlzcGxheV9yZXN1bWUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFk ZXYgKTsNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9j cy5jDQo+IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMNCj4gaW5kZXgg MjBhMTk2Mi4uZTA2OTk3OCAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1X2NzLmMNCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X2NzLmMNCj4gQEAgLTY0MCw4ICs2NDAsMTIgQEAgc3RhdGljIGludCBhbWRncHVfY3NfcGFyc2Vy X2JvcyhzdHJ1Y3QNCj4gYW1kZ3B1X2NzX3BhcnNlciAqcCwNCj4gIAkJfQ0KPiAgCX0NCj4gDQo+ IC0JaWYgKHAtPnVmX2VudHJ5LnJvYmopDQo+IC0JCXAtPmpvYi0+dWZfYWRkciArPSBhbWRncHVf Ym9fZ3B1X29mZnNldChwLQ0KPiA+dWZfZW50cnkucm9iaik7DQo+ICsJaWYgKCFyICYmIHAtPnVm X2VudHJ5LnJvYmopIHsNCj4gKwkJc3RydWN0IGFtZGdwdV9ibyAqdWYgPSBwLT51Zl9lbnRyeS5y b2JqOw0KPiArDQo+ICsJCXIgPSBhbWRncHVfdHRtX2JpbmQodWYtPnRiby50dG0sICZ1Zi0+dGJv Lm1lbSk7DQo+ICsJCXAtPmpvYi0+dWZfYWRkciArPSBhbWRncHVfYm9fZ3B1X29mZnNldCh1Zik7 DQo+ICsJfQ0KPiANCj4gIGVycm9yX3ZhbGlkYXRlOg0KPiAgCWlmIChyKSB7DQo+IEBAIC0xMTU2 LDMgKzExNjAsMjkgQEAgYW1kZ3B1X2NzX2ZpbmRfbWFwcGluZyhzdHJ1Y3QNCj4gYW1kZ3B1X2Nz X3BhcnNlciAqcGFyc2VyLA0KPiANCj4gIAlyZXR1cm4gTlVMTDsNCj4gIH0NCj4gKw0KPiArLyoq DQo+ICsgKiBhbWRncHVfY3Nfc3lzdm1fYWNjZXNzX3JlcXVpcmVkIC0gbWFrZSBCT3MgYWNjZXNz aWJsZSBieSB0aGUNCj4gc3lzdGVtIFZNDQo+ICsgKg0KPiArICogQHBhcnNlcjogY29tbWFuZCBz dWJtaXNzaW9uIHBhcnNlciBjb250ZXh0DQo+ICsgKg0KPiArICogSGVscGVyIGZvciBVVkQvVkNF IFZNIGVtdWxhdGlvbiwgbWFrZSBzdXJlIEJPcyBhcmUgYWNjZXNzaWJsZSBieSB0aGUNCj4gc3lz dGVtIFZNLg0KPiArICovDQo+ICtpbnQgYW1kZ3B1X2NzX3N5c3ZtX2FjY2Vzc19yZXF1aXJlZChz dHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcGFyc2VyKQ0KPiArew0KPiArCXVuc2lnbmVkIGk7DQo+ ICsJaW50IHI7DQo+ICsNCj4gKwlpZiAoIXBhcnNlci0+Ym9fbGlzdCkNCj4gKwkJcmV0dXJuIDA7 DQo+ICsNCj4gKwlmb3IgKGkgPSAwOyBpIDwgcGFyc2VyLT5ib19saXN0LT5udW1fZW50cmllczsg aSsrKSB7DQo+ICsJCXN0cnVjdCBhbWRncHVfYm8gKmJvID0gcGFyc2VyLT5ib19saXN0LT5hcnJh eVtpXS5yb2JqOw0KPiArDQo+ICsJCXIgPSBhbWRncHVfdHRtX2JpbmQoYm8tPnRiby50dG0sICZi by0+dGJvLm1lbSk7DQo+ICsJCWlmICh1bmxpa2VseShyKSkNCj4gKwkJCXJldHVybiByOw0KPiAr CX0NCj4gKw0KPiArCXJldHVybiAwOw0KPiArfQ0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5jDQo+IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X29iamVjdC5jDQo+IGluZGV4IGIxNzczNGUuLmRjNzNmMTEgMTAwNjQ0DQo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9vYmplY3QuYw0KPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmMNCj4gQEAgLTY0Niw2 ICs2NDYsMTEgQEAgaW50IGFtZGdwdV9ib19waW5fcmVzdHJpY3RlZChzdHJ1Y3QgYW1kZ3B1X2Jv DQo+ICpibywgdTMyIGRvbWFpbiwNCj4gIAkJZGV2X2Vycihiby0+YWRldi0+ZGV2LCAiJXAgcGlu IGZhaWxlZFxuIiwgYm8pOw0KPiAgCQlnb3RvIGVycm9yOw0KPiAgCX0NCj4gKwlyID0gYW1kZ3B1 X3R0bV9iaW5kKGJvLT50Ym8udHRtLCAmYm8tPnRiby5tZW0pOw0KPiArCWlmICh1bmxpa2VseShy KSkgew0KPiArCQlkZXZfZXJyKGJvLT5hZGV2LT5kZXYsICIlcCBiaW5kIGZhaWxlZFxuIiwgYm8p Ow0KPiArCQlnb3RvIGVycm9yOw0KPiArCX0NCj4gDQo+ICAJYm8tPnBpbl9jb3VudCA9IDE7DQo+ ICAJaWYgKGdwdV9hZGRyICE9IE5VTEwpDQo+IEBAIC05MTgsNiArOTIzLDggQEAgdm9pZCBhbWRn cHVfYm9fZmVuY2Uoc3RydWN0IGFtZGdwdV9ibyAqYm8sDQo+IHN0cnVjdCBmZW5jZSAqZmVuY2Us DQo+ICB1NjQgYW1kZ3B1X2JvX2dwdV9vZmZzZXQoc3RydWN0IGFtZGdwdV9ibyAqYm8pDQo+ICB7 DQo+ICAJV0FSTl9PTl9PTkNFKGJvLT50Ym8ubWVtLm1lbV90eXBlID09IFRUTV9QTF9TWVNURU0p Ow0KPiArCVdBUk5fT05fT05DRShiby0+dGJvLm1lbS5tZW1fdHlwZSA9PSBUVE1fUExfVFQgJiYN Cj4gKwkJICAgICAhYW1kZ3B1X3R0bV9pc19ib3VuZChiby0+dGJvLnR0bSkpOw0KPiAgCVdBUk5f T05fT05DRSghd3dfbXV0ZXhfaXNfbG9ja2VkKCZiby0+dGJvLnJlc3YtPmxvY2spICYmDQo+ICAJ CSAgICAgIWJvLT5waW5fY291bnQpOw0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV90dG0uYw0KPiBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV90dG0uYw0KPiBpbmRleCA0MzM3YjNhLi5jMjk0YWE5IDEwMDY0NA0KPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHRtLmMNCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3R0bS5jDQo+IEBAIC0yNTYsOCArMjU2LDEyIEBAIHN0 YXRpYyBpbnQgYW1kZ3B1X21vdmVfYmxpdChzdHJ1Y3QNCj4gdHRtX2J1ZmZlcl9vYmplY3QgKmJv LA0KPiAgCW5ld19zdGFydCA9ICh1NjQpbmV3X21lbS0+c3RhcnQgPDwgUEFHRV9TSElGVDsNCj4g DQo+ICAJc3dpdGNoIChvbGRfbWVtLT5tZW1fdHlwZSkgew0KPiAtCWNhc2UgVFRNX1BMX1ZSQU06 DQo+ICAJY2FzZSBUVE1fUExfVFQ6DQo+ICsJCXIgPSBhbWRncHVfdHRtX2JpbmQoYm8tPnR0bSwg b2xkX21lbSk7DQo+ICsJCWlmIChyKQ0KPiArCQkJcmV0dXJuIHI7DQo+ICsNCj4gKwljYXNlIFRU TV9QTF9WUkFNOg0KPiAgCQlvbGRfc3RhcnQgKz0gYm8tPmJkZXYtPm1hbltvbGRfbWVtLQ0KPiA+ bWVtX3R5cGVdLmdwdV9vZmZzZXQ7DQo+ICAJCWJyZWFrOw0KPiAgCWRlZmF1bHQ6DQo+IEBAIC0y NjUsOCArMjY5LDEyIEBAIHN0YXRpYyBpbnQgYW1kZ3B1X21vdmVfYmxpdChzdHJ1Y3QNCj4gdHRt X2J1ZmZlcl9vYmplY3QgKmJvLA0KPiAgCQlyZXR1cm4gLUVJTlZBTDsNCj4gIAl9DQo+ICAJc3dp dGNoIChuZXdfbWVtLT5tZW1fdHlwZSkgew0KPiAtCWNhc2UgVFRNX1BMX1ZSQU06DQo+ICAJY2Fz ZSBUVE1fUExfVFQ6DQo+ICsJCXIgPSBhbWRncHVfdHRtX2JpbmQoYm8tPnR0bSwgbmV3X21lbSk7 DQo+ICsJCWlmIChyKQ0KPiArCQkJcmV0dXJuIHI7DQo+ICsNCj4gKwljYXNlIFRUTV9QTF9WUkFN Og0KPiAgCQluZXdfc3RhcnQgKz0gYm8tPmJkZXYtPm1hbltuZXdfbWVtLQ0KPiA+bWVtX3R5cGVd LmdwdV9vZmZzZXQ7DQo+ICAJCWJyZWFrOw0KPiAgCWRlZmF1bHQ6DQo+IEBAIC02MzksNyArNjQ3 LDYgQEAgc3RhdGljIGludCBhbWRncHVfdHRtX2JhY2tlbmRfYmluZChzdHJ1Y3QgdHRtX3R0DQo+ ICp0dG0sDQo+ICAJCQkJICAgc3RydWN0IHR0bV9tZW1fcmVnICpib19tZW0pDQo+ICB7DQo+ICAJ c3RydWN0IGFtZGdwdV90dG1fdHQgKmd0dCA9ICh2b2lkKil0dG07DQo+IC0JdWludDMyX3QgZmxh Z3MgPSBhbWRncHVfdHRtX3R0X3B0ZV9mbGFncyhndHQtPmFkZXYsIHR0bSwNCj4gYm9fbWVtKTsN Cj4gIAlpbnQgcjsNCj4gDQo+ICAJaWYgKGd0dC0+dXNlcnB0cikgew0KPiBAQCAtNjYwLDYgKzY2 NywyNiBAQCBzdGF0aWMgaW50IGFtZGdwdV90dG1fYmFja2VuZF9iaW5kKHN0cnVjdCB0dG1fdHQN Cj4gKnR0bSwNCj4gIAkgICAgYm9fbWVtLT5tZW1fdHlwZSA9PSBBTURHUFVfUExfT0EpDQo+ICAJ CXJldHVybiAtRUlOVkFMOw0KPiANCj4gKwlyZXR1cm4gMDsNCj4gK30NCj4gKw0KPiArYm9vbCBh bWRncHVfdHRtX2lzX2JvdW5kKHN0cnVjdCB0dG1fdHQgKnR0bSkNCj4gK3sNCj4gKwlzdHJ1Y3Qg YW1kZ3B1X3R0bV90dCAqZ3R0ID0gKHZvaWQgKil0dG07DQo+ICsNCj4gKwlyZXR1cm4gZ3R0ICYm ICFsaXN0X2VtcHR5KCZndHQtPmxpc3QpOw0KPiArfQ0KPiArDQo+ICtpbnQgYW1kZ3B1X3R0bV9i aW5kKHN0cnVjdCB0dG1fdHQgKnR0bSwgc3RydWN0IHR0bV9tZW1fcmVnICpib19tZW0pDQo+ICt7 DQo+ICsJc3RydWN0IGFtZGdwdV90dG1fdHQgKmd0dCA9ICh2b2lkICopdHRtOw0KPiArCXVpbnQz Ml90IGZsYWdzOw0KPiArCWludCByOw0KPiArDQo+ICsJaWYgKCF0dG0gfHwgYW1kZ3B1X3R0bV9p c19ib3VuZCh0dG0pKQ0KPiArCQlyZXR1cm4gMDsNCj4gKw0KPiArCWZsYWdzID0gYW1kZ3B1X3R0 bV90dF9wdGVfZmxhZ3MoZ3R0LT5hZGV2LCB0dG0sIGJvX21lbSk7DQo+ICAJciA9IGFtZGdwdV9n YXJ0X2JpbmQoZ3R0LT5hZGV2LCBndHQtPm9mZnNldCwgdHRtLT5udW1fcGFnZXMsDQo+ICAJCXR0 bS0+cGFnZXMsIGd0dC0+dHRtLmRtYV9hZGRyZXNzLCBmbGFncyk7DQo+IA0KPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3R0bS5oDQo+IGIvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3R0bS5oDQo+IGluZGV4IDcyZjZiZmMuLjIxNGJhZTkg MTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90dG0uaA0K PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHRtLmgNCj4gQEAgLTc3 LDQgKzc3LDcgQEAgaW50IGFtZGdwdV9maWxsX2J1ZmZlcihzdHJ1Y3QgYW1kZ3B1X2JvICpibywN Cj4gIAkJCXN0cnVjdCBmZW5jZSAqKmZlbmNlKTsNCj4gDQo+ICBpbnQgYW1kZ3B1X21tYXAoc3Ry dWN0IGZpbGUgKmZpbHAsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKTsNCj4gK2Jvb2wgYW1k Z3B1X3R0bV9pc19ib3VuZChzdHJ1Y3QgdHRtX3R0ICp0dG0pOw0KPiAraW50IGFtZGdwdV90dG1f YmluZChzdHJ1Y3QgdHRtX3R0ICp0dG0sIHN0cnVjdCB0dG1fbWVtX3JlZyAqYm9fbWVtKTsNCj4g Kw0KPiAgI2VuZGlmDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfdXZkLmMNCj4gYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdXZkLmMN Cj4gaW5kZXggNTg4OGU4YS4uZmFiN2JiMSAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X3V2ZC5jDQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV91dmQuYw0KPiBAQCAtODkxLDYgKzg5MSwxMCBAQCBpbnQgYW1kZ3B1X3V2ZF9y aW5nX3BhcnNlX2NzKHN0cnVjdA0KPiBhbWRncHVfY3NfcGFyc2VyICpwYXJzZXIsIHVpbnQzMl90 IGliX2lkeCkNCj4gIAkJcmV0dXJuIC1FSU5WQUw7DQo+ICAJfQ0KPiANCj4gKwlyID0gYW1kZ3B1 X2NzX3N5c3ZtX2FjY2Vzc19yZXF1aXJlZChwYXJzZXIpOw0KPiArCWlmIChyKQ0KPiArCQlyZXR1 cm4gcjsNCj4gKw0KPiAgCWN0eC5wYXJzZXIgPSBwYXJzZXI7DQo+ICAJY3R4LmJ1Zl9zaXplcyA9 IGJ1Zl9zaXplczsNCj4gIAljdHguaWJfaWR4ID0gaWJfaWR4Ow0KPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZjZS5jDQo+IGIvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X3ZjZS5jDQo+IGluZGV4IDliNzFkNmMuLmIwYzY3MDIgMTAwNjQ0 DQo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92Y2UuYw0KPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdmNlLmMNCj4gQEAgLTYzNCw3ICs2 MzQsMTEgQEAgaW50IGFtZGdwdV92Y2VfcmluZ19wYXJzZV9jcyhzdHJ1Y3QNCj4gYW1kZ3B1X2Nz X3BhcnNlciAqcCwgdWludDMyX3QgaWJfaWR4KQ0KPiAgCXVpbnQzMl90IGFsbG9jYXRlZCA9IDA7 DQo+ICAJdWludDMyX3QgdG1wLCBoYW5kbGUgPSAwOw0KPiAgCXVpbnQzMl90ICpzaXplID0gJnRt cDsNCj4gLQlpbnQgaSwgciA9IDAsIGlkeCA9IDA7DQo+ICsJaW50IGksIHIsIGlkeCA9IDA7DQo+ ICsNCj4gKwlyID0gYW1kZ3B1X2NzX3N5c3ZtX2FjY2Vzc19yZXF1aXJlZChwKTsNCj4gKwlpZiAo cikNCj4gKwkJcmV0dXJuIHI7DQo+IA0KPiAgCXdoaWxlIChpZHggPCBpYi0+bGVuZ3RoX2R3KSB7 DQo+ICAJCXVpbnQzMl90IGxlbiA9IGFtZGdwdV9nZXRfaWJfdmFsdWUocCwgaWJfaWR4LCBpZHgp Ow0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMN Cj4gYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYw0KPiBpbmRleCA3NjYw ZjgyLi5hNTQ5YWJkIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfdm0uYw0KPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0u Yw0KPiBAQCAtMTE2Miw3ICsxMTYyLDggQEAgaW50IGFtZGdwdV92bV9ib191cGRhdGUoc3RydWN0 IGFtZGdwdV9kZXZpY2UNCj4gKmFkZXYsDQo+ICAJfQ0KPiANCj4gIAlmbGFncyA9IGFtZGdwdV90 dG1fdHRfcHRlX2ZsYWdzKGFkZXYsIGJvX3ZhLT5iby0+dGJvLnR0bSwgbWVtKTsNCj4gLQlndHRf ZmxhZ3MgPSAoYWRldiA9PSBib192YS0+Ym8tPmFkZXYpID8gZmxhZ3MgOiAwOw0KPiArCWd0dF9m bGFncyA9IChhbWRncHVfdHRtX2lzX2JvdW5kKGJvX3ZhLT5iby0+dGJvLnR0bSkgJiYNCj4gKwkJ YWRldiA9PSBib192YS0+Ym8tPmFkZXYpID8gZmxhZ3MgOiAwOw0KPiANCj4gIAlzcGluX2xvY2so JnZtLT5zdGF0dXNfbG9jayk7DQo+ICAJaWYgKCFsaXN0X2VtcHR5KCZib192YS0+dm1fc3RhdHVz KSkNCj4gLS0NCj4gMi41LjANCj4gDQo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fDQo+IGFtZC1nZnggbWFpbGluZyBsaXN0DQo+IGFtZC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnDQo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vYW1kLWdmeA0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4 Cg==