From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Christian_K=c3=b6nig?= Subject: Re: [PATCH] drm/amdgpu:partially revert 1cfd8e237f0318e330190ac21d63c58ae6a1f66c Date: Tue, 21 Nov 2017 09:26:33 +0100 Message-ID: References: <1511242154-24816-1-git-send-email-Monk.Liu@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: <1511242154-24816-1-git-send-email-Monk.Liu-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: Monk Liu , amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org QW0gMjEuMTEuMjAxNyB1bSAwNjoyOSBzY2hyaWViIE1vbmsgTGl1Ogo+IGZvdW5kIFJJTkcwIHRl c3QgZmFpbCBhZnRlciBTMyByZXN1bWUgcmVncmVzc2lvbiwgd2hpY2ggaXMKPiBpbnRyb2R1Y2Vk IGJ5IDFjZmQ4ZTIzN2YwMzE4ZTMzMDE5MGFjMjFkNjNjNThhZTZhMWY2NmMKPgo+IEJlY2F1c2Ug YWZ0ZXIgc3VzcGVuZCBWUkFNIHdpbGwgYmUgY2xlYXJlZCwgc28gZHJpdmVyIG11c3QKPiB1bnBp biB0aGUgR0FSVCB0YWJsZShyZXNpZGVudCBpbiBWUkFNKSBkdXJpbmcgc3VzcGVuZCBzbyBpdAo+ IGNhbiBiZSBldmljdGVkIHRvIHN5c3RlbSByYW0gYW5kIG11c3QgY29ycmVzcG9uZGluZ2x5IHBp biBpdAo+IGR1cmluZyByZXN1bWUgc28gdGhlIEdBUlQgdGFibGUgY291bGQgYmUgcmVzdG9yZWQg dG8gVlJBTS4KPgo+IENoYW5nZS1JZDogSTBjMGY5ZGM4OWYzOGE5MDNjYWYxMTQwOTQ0MzNmYjAw YmQ2YzkzZmIKPiBTaWduZWQtb2ZmLWJ5OiBNb25rIExpdSA8TW9uay5MaXVAYW1kLmNvbT4KClJl dmlld2VkLWJ5OiBDaHJpc3RpYW4gS8O2bmlnIDxjaHJpc3RpYW4ua29lbmlnQGFtZC5jb20+Cgo+ IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2dhcnQuYyB8IDc5ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHVfZ2FydC5oIHwgIDIgKwo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv Z21jX3Y2XzAuYyAgICB8ICA3ICsrLQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21j X3Y3XzAuYyAgICB8ICA3ICsrLQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y4 XzAuYyAgICB8ICA3ICsrLQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y5XzAu YyAgICB8ICA0ICsrCj4gICA2IGZpbGVzIGNoYW5nZWQsIDk0IGluc2VydGlvbnMoKyksIDEyIGRl bGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV9nYXJ0LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ2FydC5jCj4g aW5kZXggNzA3Zjg1OC4uMWY1MTg5NyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfZ2FydC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X2dhcnQuYwo+IEBAIC02OCw5ICs2OCw3NSBAQAo+ICAgICovCj4gICBpbnQgYW1kZ3B1 X2dhcnRfdGFibGVfdnJhbV9hbGxvYyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKPiAgIHsK PiAtCXJldHVybiBhbWRncHVfYm9fY3JlYXRlX2tlcm5lbChhZGV2LCBhZGV2LT5nYXJ0LnRhYmxl X3NpemUsIFBBR0VfU0laRSwKPiAtCQkJCQlBTURHUFVfR0VNX0RPTUFJTl9WUkFNLCAmYWRldi0+ Z2FydC5yb2JqLAo+IC0JCQkJCSZhZGV2LT5nYXJ0LnRhYmxlX2FkZHIsICZhZGV2LT5nYXJ0LnB0 cik7Cj4gKwlpbnQgcjsKPiArCj4gKwlpZiAoYWRldi0+Z2FydC5yb2JqID09IE5VTEwpIHsKPiAr CQlyID0gYW1kZ3B1X2JvX2NyZWF0ZShhZGV2LCBhZGV2LT5nYXJ0LnRhYmxlX3NpemUsCj4gKwkJ CQkgICAgIFBBR0VfU0laRSwgdHJ1ZSwgQU1ER1BVX0dFTV9ET01BSU5fVlJBTSwKPiArCQkJCSAg ICAgQU1ER1BVX0dFTV9DUkVBVEVfQ1BVX0FDQ0VTU19SRVFVSVJFRCB8Cj4gKwkJCQkgICAgIEFN REdQVV9HRU1fQ1JFQVRFX1ZSQU1fQ09OVElHVU9VUywKPiArCQkJCSAgICAgTlVMTCwgTlVMTCwg MCwgJmFkZXYtPmdhcnQucm9iaik7Cj4gKwkJaWYgKHIpIHsKPiArCQkJcmV0dXJuIHI7Cj4gKwkJ fQo+ICsJfQo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gKy8qKgo+ICsgKiBhbWRncHVfZ2FydF90 YWJsZV92cmFtX3BpbiAtIHBpbiBnYXJ0IHBhZ2UgdGFibGUgaW4gdnJhbQo+ICsgKgo+ICsgKiBA YWRldjogYW1kZ3B1X2RldmljZSBwb2ludGVyCj4gKyAqCj4gKyAqIFBpbiB0aGUgR0FSVCBwYWdl IHRhYmxlIGluIHZyYW0gc28gaXQgd2lsbCBub3QgYmUgbW92ZWQKPiArICogYnkgdGhlIG1lbW9y eSBtYW5hZ2VyIChwY2llIHI0eHgsIHI1eHgrKS4gIFRoZXNlIGFzaWNzIHJlcXVpcmUgdGhlCj4g KyAqIGdhcnQgdGFibGUgdG8gYmUgaW4gdmlkZW8gbWVtb3J5Lgo+ICsgKiBSZXR1cm5zIDAgZm9y IHN1Y2Nlc3MsIGVycm9yIGZvciBmYWlsdXJlLgo+ICsgKi8KPiAraW50IGFtZGdwdV9nYXJ0X3Rh YmxlX3ZyYW1fcGluKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQo+ICt7Cj4gKwl1aW50NjRf dCBncHVfYWRkcjsKPiArCWludCByOwo+ICsKPiArCXIgPSBhbWRncHVfYm9fcmVzZXJ2ZShhZGV2 LT5nYXJ0LnJvYmosIGZhbHNlKTsKPiArCWlmICh1bmxpa2VseShyICE9IDApKQo+ICsJCXJldHVy biByOwo+ICsJciA9IGFtZGdwdV9ib19waW4oYWRldi0+Z2FydC5yb2JqLAo+ICsJCQkJQU1ER1BV X0dFTV9ET01BSU5fVlJBTSwgJmdwdV9hZGRyKTsKPiArCWlmIChyKSB7Cj4gKwkJYW1kZ3B1X2Jv X3VucmVzZXJ2ZShhZGV2LT5nYXJ0LnJvYmopOwo+ICsJCXJldHVybiByOwo+ICsJfQo+ICsJciA9 IGFtZGdwdV9ib19rbWFwKGFkZXYtPmdhcnQucm9iaiwgJmFkZXYtPmdhcnQucHRyKTsKPiArCWlm IChyKQo+ICsJCWFtZGdwdV9ib191bnBpbihhZGV2LT5nYXJ0LnJvYmopOwo+ICsJYW1kZ3B1X2Jv X3VucmVzZXJ2ZShhZGV2LT5nYXJ0LnJvYmopOwo+ICsJYWRldi0+Z2FydC50YWJsZV9hZGRyID0g Z3B1X2FkZHI7Cj4gKwlyZXR1cm4gcjsKPiArfQo+ICsKPiArLyoqCj4gKyAqIGFtZGdwdV9nYXJ0 X3RhYmxlX3ZyYW1fdW5waW4gLSB1bnBpbiBnYXJ0IHBhZ2UgdGFibGUgaW4gdnJhbQo+ICsgKgo+ ICsgKiBAYWRldjogYW1kZ3B1X2RldmljZSBwb2ludGVyCj4gKyAqCj4gKyAqIFVucGluIHRoZSBH QVJUIHBhZ2UgdGFibGUgaW4gdnJhbSAocGNpZSByNHh4LCByNXh4KykuCj4gKyAqIFRoZXNlIGFz aWNzIHJlcXVpcmUgdGhlIGdhcnQgdGFibGUgdG8gYmUgaW4gdmlkZW8gbWVtb3J5Lgo+ICsgKi8K PiArdm9pZCBhbWRncHVfZ2FydF90YWJsZV92cmFtX3VucGluKHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2KQo+ICt7Cj4gKwlpbnQgcjsKPiArCj4gKwlpZiAoYWRldi0+Z2FydC5yb2JqID09IE5V TEwpIHsKPiArCQlyZXR1cm47Cj4gKwl9Cj4gKwlyID0gYW1kZ3B1X2JvX3Jlc2VydmUoYWRldi0+ Z2FydC5yb2JqLCB0cnVlKTsKPiArCWlmIChsaWtlbHkociA9PSAwKSkgewo+ICsJCWFtZGdwdV9i b19rdW5tYXAoYWRldi0+Z2FydC5yb2JqKTsKPiArCQlhbWRncHVfYm9fdW5waW4oYWRldi0+Z2Fy dC5yb2JqKTsKPiArCQlhbWRncHVfYm9fdW5yZXNlcnZlKGFkZXYtPmdhcnQucm9iaik7Cj4gKwkJ YWRldi0+Z2FydC5wdHIgPSBOVUxMOwo+ICsJfQo+ICAgfQo+ICAgCj4gICAvKioKPiBAQCAtODQs OSArMTUwLDEwIEBAIGludCBhbWRncHVfZ2FydF90YWJsZV92cmFtX2FsbG9jKHN0cnVjdCBhbWRn cHVfZGV2aWNlICphZGV2KQo+ICAgICovCj4gICB2b2lkIGFtZGdwdV9nYXJ0X3RhYmxlX3ZyYW1f ZnJlZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKPiAgIHsKPiAtCWFtZGdwdV9ib19mcmVl X2tlcm5lbCgmYWRldi0+Z2FydC5yb2JqLAo+IC0JCQkJJmFkZXYtPmdhcnQudGFibGVfYWRkciwK PiAtCQkJCSZhZGV2LT5nYXJ0LnB0cik7Cj4gKwlpZiAoYWRldi0+Z2FydC5yb2JqID09IE5VTEwp IHsKPiArCQlyZXR1cm47Cj4gKwl9Cj4gKwlhbWRncHVfYm9fdW5yZWYoJmFkZXYtPmdhcnQucm9i aik7Cj4gICB9Cj4gICAKPiAgIC8qCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV9nYXJ0LmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf Z2FydC5oCj4gaW5kZXggZjE1ZTMxOS4uZmUyZTc2YiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ2FydC5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X2dhcnQuaAo+IEBAIC01OCw2ICs1OCw4IEBAIHN0cnVjdCBhbWRncHVf Z2FydCB7Cj4gICAKPiAgIGludCBhbWRncHVfZ2FydF90YWJsZV92cmFtX2FsbG9jKHN0cnVjdCBh bWRncHVfZGV2aWNlICphZGV2KTsKPiAgIHZvaWQgYW1kZ3B1X2dhcnRfdGFibGVfdnJhbV9mcmVl KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KTsKPiAraW50IGFtZGdwdV9nYXJ0X3RhYmxlX3Zy YW1fcGluKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KTsKPiArdm9pZCBhbWRncHVfZ2FydF90 YWJsZV92cmFtX3VucGluKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KTsKPiAgIGludCBhbWRn cHVfZ2FydF9pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KTsKPiAgIHZvaWQgYW1kZ3B1 X2dhcnRfZmluaShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldik7Cj4gICBpbnQgYW1kZ3B1X2dh cnRfdW5iaW5kKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCB1aW50NjRfdCBvZmZzZXQsCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192Nl8wLmMgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjZfMC5jCj4gaW5kZXggOWM2NzJlYy4uYWVhM2Qx YiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjZfMC5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y2XzAuYwo+IEBAIC00ODMsMTQg KzQ4MywxNiBAQCBzdGF0aWMgdm9pZCBnbWNfdjZfMF9zZXRfcHJ0KHN0cnVjdCBhbWRncHVfZGV2 aWNlICphZGV2LCBib29sIGVuYWJsZSkKPiAgIAo+ICAgc3RhdGljIGludCBnbWNfdjZfMF9nYXJ0 X2VuYWJsZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKPiAgIHsKPiAtCWludCBpOwo+ICsJ aW50IHIsIGk7Cj4gICAJdTMyIGZpZWxkOwo+ICAgCj4gICAJaWYgKGFkZXYtPmdhcnQucm9iaiA9 PSBOVUxMKSB7Cj4gICAJCWRldl9lcnIoYWRldi0+ZGV2LCAiTm8gVlJBTSBvYmplY3QgZm9yIFBD SUUgR0FSVC5cbiIpOwo+ICAgCQlyZXR1cm4gLUVJTlZBTDsKPiAgIAl9Cj4gLQo+ICsJciA9IGFt ZGdwdV9nYXJ0X3RhYmxlX3ZyYW1fcGluKGFkZXYpOwo+ICsJaWYgKHIpCj4gKwkJcmV0dXJuIHI7 Cj4gICAJLyogU2V0dXAgVExCIGNvbnRyb2wgKi8KPiAgIAlXUkVHMzIobW1NQ19WTV9NWF9MMV9U TEJfQ05UTCwKPiAgIAkgICAgICAgKDB4QSA8PCA3KSB8Cj4gQEAgLTYxNyw2ICs2MTksNyBAQCBz dGF0aWMgdm9pZCBnbWNfdjZfMF9nYXJ0X2Rpc2FibGUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFk ZXYpCj4gICAJV1JFRzMyKG1tVk1fTDJfQ05UTDMsCj4gICAJICAgICAgIFZNX0wyX0NOVEwzX19M Ml9DQUNIRV9CSUdLX0FTU09DSUFUSVZJVFlfTUFTSyB8Cj4gICAJICAgICAgICgwVUwgPDwgVk1f TDJfQ05UTDNfX0wyX0NBQ0hFX0JJR0tfRlJBR01FTlRfU0laRV9fU0hJRlQpKTsKPiArCWFtZGdw dV9nYXJ0X3RhYmxlX3ZyYW1fdW5waW4oYWRldik7Cj4gICB9Cj4gICAKPiAgIHN0YXRpYyB2b2lk IGdtY192Nl8wX2dhcnRfZmluaShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y3XzAuYyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2dtY192N18wLmMKPiBpbmRleCBkZTdhMjQ5Li5iMmUxMTc2IDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192N18wLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjdfMC5jCj4gQEAgLTU4OCwxNCArNTg4LDE2 IEBAIHN0YXRpYyB2b2lkIGdtY192N18wX3NldF9wcnQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFk ZXYsIGJvb2wgZW5hYmxlKQo+ICAgICovCj4gICBzdGF0aWMgaW50IGdtY192N18wX2dhcnRfZW5h YmxlKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQo+ICAgewo+IC0JaW50IGk7Cj4gKwlpbnQg ciwgaTsKPiAgIAl1MzIgdG1wLCBmaWVsZDsKPiAgIAo+ICAgCWlmIChhZGV2LT5nYXJ0LnJvYmog PT0gTlVMTCkgewo+ICAgCQlkZXZfZXJyKGFkZXYtPmRldiwgIk5vIFZSQU0gb2JqZWN0IGZvciBQ Q0lFIEdBUlQuXG4iKTsKPiAgIAkJcmV0dXJuIC1FSU5WQUw7Cj4gICAJfQo+IC0KPiArCXIgPSBh bWRncHVfZ2FydF90YWJsZV92cmFtX3BpbihhZGV2KTsKPiArCWlmIChyKQo+ICsJCXJldHVybiBy Owo+ICAgCS8qIFNldHVwIFRMQiBjb250cm9sICovCj4gICAJdG1wID0gUlJFRzMyKG1tTUNfVk1f TVhfTDFfVExCX0NOVEwpOwo+ICAgCXRtcCA9IFJFR19TRVRfRklFTEQodG1wLCBNQ19WTV9NWF9M MV9UTEJfQ05UTCwgRU5BQkxFX0wxX1RMQiwgMSk7Cj4gQEAgLTcyOCw2ICs3MzAsNyBAQCBzdGF0 aWMgdm9pZCBnbWNfdjdfMF9nYXJ0X2Rpc2FibGUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYp Cj4gICAJdG1wID0gUkVHX1NFVF9GSUVMRCh0bXAsIFZNX0wyX0NOVEwsIEVOQUJMRV9MMl9DQUNI RSwgMCk7Cj4gICAJV1JFRzMyKG1tVk1fTDJfQ05UTCwgdG1wKTsKPiAgIAlXUkVHMzIobW1WTV9M Ml9DTlRMMiwgMCk7Cj4gKwlhbWRncHVfZ2FydF90YWJsZV92cmFtX3VucGluKGFkZXYpOwo+ICAg fQo+ICAgCj4gICAvKioKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv Z21jX3Y4XzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192OF8wLmMKPiBpbmRl eCA2Nzc3ODc0Li43MjhiNTAxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2dtY192OF8wLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjhf MC5jCj4gQEAgLTc4NywxNCArNzg3LDE2IEBAIHN0YXRpYyB2b2lkIGdtY192OF8wX3NldF9wcnQo c3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIGJvb2wgZW5hYmxlKQo+ICAgICovCj4gICBzdGF0 aWMgaW50IGdtY192OF8wX2dhcnRfZW5hYmxlKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQo+ ICAgewo+IC0JaW50IGk7Cj4gKwlpbnQgciwgaTsKPiAgIAl1MzIgdG1wLCBmaWVsZDsKPiAgIAo+ ICAgCWlmIChhZGV2LT5nYXJ0LnJvYmogPT0gTlVMTCkgewo+ICAgCQlkZXZfZXJyKGFkZXYtPmRl diwgIk5vIFZSQU0gb2JqZWN0IGZvciBQQ0lFIEdBUlQuXG4iKTsKPiAgIAkJcmV0dXJuIC1FSU5W QUw7Cj4gICAJfQo+IC0KPiArCXIgPSBhbWRncHVfZ2FydF90YWJsZV92cmFtX3BpbihhZGV2KTsK PiArCWlmIChyKQo+ICsJCXJldHVybiByOwo+ICAgCS8qIFNldHVwIFRMQiBjb250cm9sICovCj4g ICAJdG1wID0gUlJFRzMyKG1tTUNfVk1fTVhfTDFfVExCX0NOVEwpOwo+ICAgCXRtcCA9IFJFR19T RVRfRklFTEQodG1wLCBNQ19WTV9NWF9MMV9UTEJfQ05UTCwgRU5BQkxFX0wxX1RMQiwgMSk7Cj4g QEAgLTk0NCw2ICs5NDYsNyBAQCBzdGF0aWMgdm9pZCBnbWNfdjhfMF9nYXJ0X2Rpc2FibGUoc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCj4gICAJdG1wID0gUkVHX1NFVF9GSUVMRCh0bXAsIFZN X0wyX0NOVEwsIEVOQUJMRV9MMl9DQUNIRSwgMCk7Cj4gICAJV1JFRzMyKG1tVk1fTDJfQ05UTCwg dG1wKTsKPiAgIAlXUkVHMzIobW1WTV9MMl9DTlRMMiwgMCk7Cj4gKwlhbWRncHVfZ2FydF90YWJs ZV92cmFtX3VucGluKGFkZXYpOwo+ICAgfQo+ICAgCj4gICAvKioKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y5XzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2dtY192OV8wLmMKPiBpbmRleCA3OThmN2ZjLi5lNDgyNjVlIDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192OV8wLmMKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9nbWNfdjlfMC5jCj4gQEAgLTkzMyw2ICs5MzMsOSBAQCBzdGF0aWMg aW50IGdtY192OV8wX2dhcnRfZW5hYmxlKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQo+ICAg CQlkZXZfZXJyKGFkZXYtPmRldiwgIk5vIFZSQU0gb2JqZWN0IGZvciBQQ0lFIEdBUlQuXG4iKTsK PiAgIAkJcmV0dXJuIC1FSU5WQUw7Cj4gICAJfQo+ICsJciA9IGFtZGdwdV9nYXJ0X3RhYmxlX3Zy YW1fcGluKGFkZXYpOwo+ICsJaWYgKHIpCj4gKwkJcmV0dXJuIHI7Cj4gICAKPiAgIAlzd2l0Y2gg KGFkZXYtPmFzaWNfdHlwZSkgewo+ICAgCWNhc2UgQ0hJUF9SQVZFTjoKPiBAQCAtMTAxMCw2ICsx MDEzLDcgQEAgc3RhdGljIHZvaWQgZ21jX3Y5XzBfZ2FydF9kaXNhYmxlKHN0cnVjdCBhbWRncHVf ZGV2aWNlICphZGV2KQo+ICAgewo+ICAgCWdmeGh1Yl92MV8wX2dhcnRfZGlzYWJsZShhZGV2KTsK PiAgIAltbWh1Yl92MV8wX2dhcnRfZGlzYWJsZShhZGV2KTsKPiArCWFtZGdwdV9nYXJ0X3RhYmxl X3ZyYW1fdW5waW4oYWRldik7Cj4gICB9Cj4gICAKPiAgIHN0YXRpYyBpbnQgZ21jX3Y5XzBfaHdf ZmluaSh2b2lkICpoYW5kbGUpCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQt Z2Z4Cg==