From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Christian_K=c3=b6nig?= Subject: Re: [PATCH] drm/amdgpu: introduce vram lost paramter for reset function Date: Sat, 24 Aug 2019 13:07:23 +0200 Message-ID: References: <1566531249-1396-1-git-send-email-Monk.Liu@amd.com> <15d22497-cf4d-0d15-236c-5bc2b65eb656@gmail.com> <82e98a1b-a624-1e54-aae7-1a6ff9dda7f2@amd.com> <3920ef0e-857a-44ff-085e-e121c39e0420@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: 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: "Liu, Monk" , "Koenig, Christian" , "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" PiBTbyB5b3VyIHN1Z2dlc3Rpb24gaXMgd2UgaW5jcmVhc2UgdGhlIGNvdW50ZXIgaW4gQkFDTyBy ZXNldCAsIGFuZCBubyBuZWVkIHRvIGludHJvZHVjZSB0aGUgbmV3ICJib29sICoiIHBhcmFtZXRl ciwgcmlnaHQgPwpDb3JyZWN0LCB5ZXMuCgpDbGVhbmVzdCB3YXkgbG9va3MgbGlrZSBhZGRpbmcg c29tZSBoZWxwZXIgZnVuY3Rpb24gbGlrZSAKYW1kZ3B1X2RldmljZV92cmFtX2xvc3QoYWRldikg d2hpY2ggaXMgY2FsbGVkIGJ5IHRoZSBCQUNPIHJlc2V0IGNvZGUuCgpDaHJpc3RpYW4uCgpBbSAy My4wOC4xOSB1bSAxNjozNSBzY2hyaWViIExpdSwgTW9uazoKPj4+IFBsZWFzZSBubywgdGhhdCB0 aGluZyBjZXJ0YWlubHkgcHJvdmVkIHRvIGJlIHVzZWZ1bC4gTWF5YmUgd2UgY291bGQgaW52ZXN0 aWdhdGUgd2h5IGl0IGZhaWxlZCB0byBhdXRvIGRldGVjdCB0aGUgbG9zdCBWUkFNLgo+IFRoZSBy ZWFzb24gaXMgd2l0aCBCQUNPIHJlc2V0IEkgZm91bmQgVlJBTSBsb3N0IGluIGhpZ2ggYWRkcmVz cyBlLmcuIDE1fjE2IEcgKGZvciAxNiBHIHZlZ2ExMCksICBhbWRncHVfZGV2aWNlX2NoZWNrX3Zy YW1fbG9zdCBvbmx5IGNoZWNrcyB0aGUgdmVyeSBhaGVhZCB2aXNpYmxlIHBhcnQKPgo+Pj4gWWVh aCwgYnV0IHdvdWxkIGluY3JlbWVudCBpdCB0d2ljZSBiZSBhIHByb2JsZW0/IEkgZG9uJ3QgdGhp bmsgc28uCj4gU28geW91ciBzdWdnZXN0aW9uIGlzIHdlIGluY3JlYXNlIHRoZSBjb3VudGVyIGlu IEJBQ08gcmVzZXQgLCBhbmQgbm8gbmVlZCB0byBpbnRyb2R1Y2UgdGhlIG5ldyAiYm9vbCAqIiBw YXJhbWV0ZXIsIHJpZ2h0ID8KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Cj4gTW9uayBMaXV8R1BVIFZpcnR1YWxpemF0aW9uIFRlYW0gfEFNRAo+Cj4KPiAtLS0tLU9yaWdp bmFsIE1lc3NhZ2UtLS0tLQo+IEZyb206IEtvZW5pZywgQ2hyaXN0aWFuIDxDaHJpc3RpYW4uS29l bmlnQGFtZC5jb20+Cj4gU2VudDogRnJpZGF5LCBBdWd1c3QgMjMsIDIwMTkgODo0NyBQTQo+IFRv OiBMaXUsIE1vbmsgPE1vbmsuTGl1QGFtZC5jb20+OyBhbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwo+IFN1YmplY3Q6IFJlOiBbUEFUQ0hdIGRybS9hbWRncHU6IGludHJvZHVjZSB2cmFtIGxv c3QgcGFyYW10ZXIgZm9yIHJlc2V0IGZ1bmN0aW9uCj4KPiBBbSAyMy4wOC4xOSB1bSAxMDo1NyBz Y2hyaWViIExpdSwgTW9uazoKPj4+PiB2cmFtX2xvc3QgPSBhbWRncHVfZGV2aWNlX2NoZWNrX3Zy YW1fbG9zdCh0bXBfYWRldik7Cj4+Pj4gICAgICAJCQkJaWYgKHZyYW1fbG9zdCkgewo+Pj4+ICAg ICAgCQkJCQlEUk1fSU5GTygiVlJBTSBpcyBsb3N0IGR1ZSB0byBHUFUgcmVzZXQhXG4iKTsKPj4+ PiAgICAgIAkJCQkJYXRvbWljX2luYygmdG1wX2FkZXYtPnZyYW1fbG9zdF9jb3VudGVyKTsKPj4g QWJvdmUgaXMgdGhlIG9yaWdpbmFsIGxvZ2ljLCBpZiB3ZSBpbmNyZW1lbnQgdGhlIGNvdW50ZXIg aW4gQkFDTyByZXNldAo+PiByb3V0aW5lLCB3ZSB3b3VsZCBwb3RlbnRpYWxseSBIYXZlIGFub3Ro ZXIgY291bnRlciBpbmNyZWFzZW1lbnQgaWYgYnkKPj4gY29pbmNpZGVuY2UgdGhlICJhbWRncHVf ZGV2aWNlX2NoZWNrX3ZyYW1fbG9zdCIgc3VjY2Vzc2Z1bGx5IGRldGVjdGVkCj4+IHRoZSB2cmFt IGxvc3QgKGFsdGhvdWdoIHJpZ2h0IG5vdyBpdCBkaWRuJ3QgLi4pCj4gWWVhaCwgYnV0IHdvdWxk IGluY3JlbWVudCBpdCB0d2ljZSBiZSBhIHByb2JsZW0/IEkgZG9uJ3QgdGhpbmsgc28uCj4KPj4g RG8geW91IG1lYW4gd2UgcmVtb3ZlIHRoZSBhbWRncHVfZGV2aWNlX2NoZWNrX3ZyYW1fbG9zdCh0 bXBfYWRldikgaW4gZGV2aWNlX3JlY292ZXJ5KCkgcm91dGluZSA/Cj4gUGxlYXNlIG5vLCB0aGF0 IHRoaW5nIGNlcnRhaW5seSBwcm92ZWQgdG8gYmUgdXNlZnVsLiBNYXliZSB3ZSBjb3VsZCBpbnZl c3RpZ2F0ZSB3aHkgaXQgZmFpbGVkIHRvIGF1dG8gZGV0ZWN0IHRoZSBsb3N0IFZSQU0uCj4KPiBD aHJpc3RpYW4uCj4KPj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+PiBN b25rIExpdXxHUFUgVmlydHVhbGl6YXRpb24gVGVhbSB8QU1ECj4+Cj4+Cj4+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tCj4+IEZyb206IEtvZW5pZywgQ2hyaXN0aWFuIDxDaHJpc3RpYW4uS29l bmlnQGFtZC5jb20+Cj4+IFNlbnQ6IEZyaWRheSwgQXVndXN0IDIzLCAyMDE5IDQ6MzQgUE0KPj4g VG86IExpdSwgTW9uayA8TW9uay5MaXVAYW1kLmNvbT47IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCj4+IFN1YmplY3Q6IFJlOiBbUEFUQ0hdIGRybS9hbWRncHU6IGludHJvZHVjZSB2cmFt IGxvc3QgcGFyYW10ZXIgZm9yCj4+IHJlc2V0IGZ1bmN0aW9uCj4+Cj4+IEkgdGhvdWdodCBpbiB0 aGUgQkFDTyByZXNldCBmdW5jdGlvbi4KPj4KPj4gVGhlIHRvcCBsZXZlbCByZXNldCBmdW5jdGlv biBkb2Vzbid0IGRvIG11Y2ggbW9yZSB0aGFuIGluY3JlbWVudCB0aGUgdnJhbV9sb3N0X2NvdW50 ZXIgZWl0aGVyLgo+Pgo+PiBDaHJpc3RpYW4uCj4+Cj4+IEFtIDIzLjA4LjE5IHVtIDEwOjMyIHNj aHJpZWIgTGl1LCBNb25rOgo+Pj4+PiBPbiB0aGUgb3RoZXIgaGFuZCB3b3VsZG4ndCBpdCBiZSBz aW1wbGVyIHRvIGp1c3QgaW5jcmVtZW50IHZyYW1fbG9zdF9jb3VudGVyPwo+Pj4gSW4gd2hlcmUg PyBpZiB5b3UgbWVhbiBpbiBhbWRncHVfZGV2aWNlX3JlY292ZXIgcm91dGluZSBJIHdvbid0IGRv IHRoYXQgc2luY2UgdGhlIHJlc2V0KCkgY2FuIGRvIGFueSBraW5kIG9mIHJlc2V0IGxpa2U6Cj4+ PiAxKSBQRiBGTFIKPj4+IDIpIG1vZGUxLzIgcmVzZXQKPj4+IDMpIG1hZ2ljIHJlc2V0IHRocm91 Z2ggY29uZmlnIHNwYWNlCj4+PiA0KSBCQUNPIHJlc2V0Cj4+Pgo+Pj4gUEYgRkxSIHdvbid0IGNh dXNlIFZSQU0gbG9zdCwgbW9kZV8xLzIgaXMgbm90IGNsZWFyIHRvIG1lLCBvbmx5IEJBQ08KPj4+ IHJlc2V0IGlzIGRlZmluaXRlbHkgYSB2cmFtIGxvc3QgcmVzZXQKPj4+Cj4+PiBJZiB5b3UgaW5j cmVhc2UgdGhlIGNvdW50ZXIgaW4gZ2VuZXJhbCBmdW5jdGlvbiB0aGF0IHdpbGwgYmUgbm90Cj4+ PiBhY2N1cmF0ZSBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+PiBNb25r IExpdXxHUFUgVmlydHVhbGl6YXRpb24gVGVhbSB8QU1ECj4+Pgo+Pj4KPj4+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tCj4+PiBGcm9tOiBDaHJpc3RpYW4gS8O2bmlnIDxja29lbmlnLmxlaWNo dHp1bWVya2VuQGdtYWlsLmNvbT4KPj4+IFNlbnQ6IEZyaWRheSwgQXVndXN0IDIzLCAyMDE5IDQ6 MjcgUE0KPj4+IFRvOiBMaXUsIE1vbmsgPE1vbmsuTGl1QGFtZC5jb20+OyBhbWQtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwo+Pj4gU3ViamVjdDogUmU6IFtQQVRDSF0gZHJtL2FtZGdwdTogaW50 cm9kdWNlIHZyYW0gbG9zdCBwYXJhbXRlciBmb3IKPj4+IHJlc2V0IGZ1bmN0aW9uCj4+Pgo+Pj4g QW0gMjMuMDguMTkgdW0gMDU6MzQgc2NocmllYiBNb25rIExpdToKPj4+PiBmb3IgU09DMTUvdmVn YTEwIHRoZSBCQUNPIHJlc2V0IHdvdWxkIGludHJvZHVjZSB2cmFtIGxvc3QgaW4gdGhlCj4+Pj4g aGlnaCBlbmQgYWRkcmVzcyByYW5nZSBhbmQgY3VycmVudCBrbWQncyB2cmFtIGxvc3QgY2hlY2tp bmcgY2Fubm90Cj4+Pj4gY2F0Y2ggaXQgc2luY2UgaXQgb25seSBjaGVjayB2aXNpYmxlIGZyYW1l IGJ1ZmZlcgo+Pj4+Cj4+Pj4gVE9ETzoKPj4+PiB0byBjb25maXJtIGlmIG1vZGUxLzIgcmVzZXQg d291bGQgaW50cm9kdWNlIHZyYW0gbG9zdAo+Pj4gTG9va3MgZ29vZCBpbiBnZW5lcmFsLCBidXQg SSB3b3VsZCBtYWtlIHRoZSB2YWx1ZSBtYW5kYXRvcnkgb3IgbWF5YmUgdXNlIGEgc3BlY2lhbCBy ZXR1cm4gY29kZSBpbnN0ZWFkLgo+Pj4KPj4+IE9uIHRoZSBvdGhlciBoYW5kIHdvdWxkbid0IGl0 IGJlIHNpbXBsZXIgdG8ganVzdCBpbmNyZW1lbnQgdnJhbV9sb3N0X2NvdW50ZXI/Cj4+Pgo+Pj4g Q2hyaXN0aWFuLgo+Pj4KPj4+PiBTaWduZWQtb2ZmLWJ5OiBNb25rIExpdSA8TW9uay5MaXVAYW1k LmNvbT4KPj4+PiAtLS0KPj4+PiAgICAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdw dS5oICAgICAgICB8ICA0ICsrLS0KPj4+PiAgICAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV9kZXZpY2UuYyB8IDEyICsrKysrKystLS0tLQo+Pj4+ICAgICAgZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvY2lrLmMgICAgICAgICAgIHwgIDIgKy0KPj4+PiAgICAgIGRyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L252LmMgICAgICAgICAgICB8IDEwICsrKysrKystLS0KPj4+PiAg ICAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NpLmMgICAgICAgICAgICB8ICAyICstCj4+ Pj4gICAgICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zb2MxNS5jICAgICAgICAgfCAgNCAr KystCj4+Pj4gICAgICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS92aS5jICAgICAgICAgICAg fCAgMiArLQo+Pj4+ICAgICAgNyBmaWxlcyBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspLCAxNCBk ZWxldGlvbnMoLSkKPj4+Pgo+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHUuaAo+Pj4+IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgK Pj4+PiBpbmRleCBmNmFlNTY1Li4xZmUzNzU2IDEwMDY0NAo+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oCj4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1LmgKPj4+PiBAQCAtNTUyLDcgKzU1Miw3IEBAIHN0cnVjdCBhbWRncHVfYXNp Y19mdW5jcyB7Cj4+Pj4gICAgICAJaW50ICgqcmVhZF9yZWdpc3Rlcikoc3RydWN0IGFtZGdwdV9k ZXZpY2UgKmFkZXYsIHUzMiBzZV9udW0sCj4+Pj4gICAgICAJCQkgICAgIHUzMiBzaF9udW0sIHUz MiByZWdfb2Zmc2V0LCB1MzIgKnZhbHVlKTsKPj4+PiAgICAgIAl2b2lkICgqc2V0X3ZnYV9zdGF0 ZSkoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIGJvb2wgc3RhdGUpOwo+Pj4+IC0JaW50ICgq cmVzZXQpKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KTsKPj4+PiArCWludCAoKnJlc2V0KShz dHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgYm9vbCAqbG9zdCk7Cj4+Pj4gICAgICAJZW51bSBh bWRfcmVzZXRfbWV0aG9kICgqcmVzZXRfbWV0aG9kKShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRl dik7Cj4+Pj4gICAgICAJLyogZ2V0IHRoZSByZWZlcmVuY2UgY2xvY2sgKi8KPj4+PiAgICAgIAl1 MzIgKCpnZXRfeGNsaykoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpOyBAQCAtMTEzNiw3ICsx MTM2LDcKPj4+PiBAQCBpbnQgZW11X3NvY19hc2ljX2luaXQoc3RydWN0IGFtZGdwdV9kZXZpY2Ug KmFkZXYpOwo+Pj4+ICAgICAgICogQVNJQ3MgbWFjcm8uCj4+Pj4gICAgICAgKi8KPj4+PiAgICAg ICNkZWZpbmUgYW1kZ3B1X2FzaWNfc2V0X3ZnYV9zdGF0ZShhZGV2LCBzdGF0ZSkKPj4+PiAoYWRl diktPmFzaWNfZnVuY3MtPnNldF92Z2Ffc3RhdGUoKGFkZXYpLCAoc3RhdGUpKSAtI2RlZmluZQo+ Pj4+IGFtZGdwdV9hc2ljX3Jlc2V0KGFkZXYpIChhZGV2KS0+YXNpY19mdW5jcy0+cmVzZXQoKGFk ZXYpKQo+Pj4+ICsjZGVmaW5lIGFtZGdwdV9hc2ljX3Jlc2V0KGFkZXYsIGxvc3QpCj4+Pj4gKyhh ZGV2KS0+YXNpY19mdW5jcy0+cmVzZXQoKGFkZXYpLCAobG9zdCkpCj4+Pj4gICAgICAjZGVmaW5l IGFtZGdwdV9hc2ljX3Jlc2V0X21ldGhvZChhZGV2KSAoYWRldiktPmFzaWNfZnVuY3MtPnJlc2V0 X21ldGhvZCgoYWRldikpCj4+Pj4gICAgICAjZGVmaW5lIGFtZGdwdV9hc2ljX2dldF94Y2xrKGFk ZXYpIChhZGV2KS0+YXNpY19mdW5jcy0+Z2V0X3hjbGsoKGFkZXYpKQo+Pj4+ICAgICAgI2RlZmlu ZSBhbWRncHVfYXNpY19zZXRfdXZkX2Nsb2NrcyhhZGV2LCB2LCBkKQo+Pj4+IChhZGV2KS0+YXNp Y19mdW5jcy0+c2V0X3V2ZF9jbG9ja3MoKGFkZXYpLCAodiksIChkKSkgZGlmZiAtLWdpdAo+Pj4+ IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RldmljZS5jCj4+Pj4gYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMKPj4+PiBpbmRleCAwMmIzZTdk Li44NjY4Y2I4IDEwMDY0NAo+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV9kZXZpY2UuYwo+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdw dV9kZXZpY2UuYwo+Pj4+IEBAIC0yNTQ2LDcgKzI1NDYsNyBAQCBzdGF0aWMgdm9pZCBhbWRncHVf ZGV2aWNlX3hnbWlfcmVzZXRfZnVuYyhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKl9fd29yaykKPj4+PiAg ICAgIAlzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9Cj4+Pj4gICAgICAJCWNvbnRhaW5lcl9v ZihfX3dvcmssIHN0cnVjdCBhbWRncHVfZGV2aWNlLCB4Z21pX3Jlc2V0X3dvcmspOwo+Pj4+ICAg ICAgCj4+Pj4gLQlhZGV2LT5hc2ljX3Jlc2V0X3JlcyA9ICBhbWRncHVfYXNpY19yZXNldChhZGV2 KTsKPj4+PiArCWFkZXYtPmFzaWNfcmVzZXRfcmVzID0gIGFtZGdwdV9hc2ljX3Jlc2V0KGFkZXYs IE5VTEwpOwo+Pj4+ICAgICAgCWlmIChhZGV2LT5hc2ljX3Jlc2V0X3JlcykKPj4+PiAgICAgIAkJ RFJNX1dBUk4oIkFTSUMgcmVzZXQgZmFpbGVkIHdpdGggZXJyb3IsICVkIGZvciBkcm0gZGV2LCAl cyIsCj4+Pj4gICAgICAJCQkgYWRldi0+YXNpY19yZXNldF9yZXMsIGFkZXYtPmRkZXYtPnVuaXF1 ZSk7IEBAIC0yNzUxLDcKPj4+PiArMjc1MSw3IEBAIGludCBhbWRncHVfZGV2aWNlX2luaXQoc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCj4+Pj4gICAgICAJICogIEUuZy4sIGRyaXZlciB3YXMg bm90IGNsZWFubHkgdW5sb2FkZWQgcHJldmlvdXNseSwgZXRjLgo+Pj4+ICAgICAgCSAqLwo+Pj4+ ICAgICAgCWlmICghYW1kZ3B1X3NyaW92X3ZmKGFkZXYpICYmIGFtZGdwdV9hc2ljX25lZWRfcmVz ZXRfb25faW5pdChhZGV2KSkgewo+Pj4+IC0JCXIgPSBhbWRncHVfYXNpY19yZXNldChhZGV2KTsK Pj4+PiArCQlyID0gYW1kZ3B1X2FzaWNfcmVzZXQoYWRldiwgTlVMTCk7Cj4+Pj4gICAgICAJCWlm IChyKSB7Cj4+Pj4gICAgICAJCQlkZXZfZXJyKGFkZXYtPmRldiwgImFzaWMgcmVzZXQgb24gaW5p dCBmYWlsZWRcbiIpOwo+Pj4+ICAgICAgCQkJZ290byBmYWlsZWQ7Cj4+Pj4gQEAgLTMwODQsNyAr MzA4NCw3IEBAIGludCBhbWRncHVfZGV2aWNlX3N1c3BlbmQoc3RydWN0IGRybV9kZXZpY2UgKmRl diwgYm9vbCBzdXNwZW5kLCBib29sIGZiY29uKQo+Pj4+ICAgICAgCQlwY2lfZGlzYWJsZV9kZXZp Y2UoZGV2LT5wZGV2KTsKPj4+PiAgICAgIAkJcGNpX3NldF9wb3dlcl9zdGF0ZShkZXYtPnBkZXYs IFBDSV9EM2hvdCk7Cj4+Pj4gICAgICAJfSBlbHNlIHsKPj4+PiAtCQlyID0gYW1kZ3B1X2FzaWNf cmVzZXQoYWRldik7Cj4+Pj4gKwkJciA9IGFtZGdwdV9hc2ljX3Jlc2V0KGFkZXYsIE5VTEwpOwo+ Pj4+ICAgICAgCQlpZiAocikKPj4+PiAgICAgIAkJCURSTV9FUlJPUigiYW1kZ3B1IGFzaWMgcmVz ZXQgZmFpbGVkXG4iKTsKPj4+PiAgICAgIAl9Cj4+Pj4gQEAgLTM2MDQsNyArMzYwNCw3IEBAIHN0 YXRpYyBpbnQgYW1kZ3B1X2RvX2FzaWNfcmVzZXQoc3RydWN0IGFtZGdwdV9oaXZlX2luZm8gKmhp dmUsCj4+Pj4gICAgICAJCQkJaWYgKCFxdWV1ZV93b3JrKHN5c3RlbV9oaWdocHJpX3dxLCAmdG1w X2FkZXYtPnhnbWlfcmVzZXRfd29yaykpCj4+Pj4gICAgICAJCQkJCXIgPSAtRUFMUkVBRFk7Cj4+ Pj4gICAgICAJCQl9IGVsc2UKPj4+PiAtCQkJCXIgPSBhbWRncHVfYXNpY19yZXNldCh0bXBfYWRl dik7Cj4+Pj4gKwkJCQlyID0gYW1kZ3B1X2FzaWNfcmVzZXQodG1wX2FkZXYsICZ2cmFtX2xvc3Qp Owo+Pj4+ICAgICAgCj4+Pj4gICAgICAJCQlpZiAocikgewo+Pj4+ICAgICAgCQkJCURSTV9FUlJP UigiQVNJQyByZXNldCBmYWlsZWQgd2l0aCBlcnJvciwgJWQgZm9yIGRybSBkZXYsCj4+Pj4gJXMi LCBAQAo+Pj4+IC0zNjQ1LDcgKzM2NDUsOSBAQCBzdGF0aWMgaW50IGFtZGdwdV9kb19hc2ljX3Jl c2V0KHN0cnVjdCBhbWRncHVfaGl2ZV9pbmZvICpoaXZlLAo+Pj4+ICAgICAgCQkJCWlmIChyKQo+ Pj4+ICAgICAgCQkJCQlnb3RvIG91dDsKPj4+PiAgICAgIAo+Pj4+IC0JCQkJdnJhbV9sb3N0ID0g YW1kZ3B1X2RldmljZV9jaGVja192cmFtX2xvc3QodG1wX2FkZXYpOwo+Pj4+ICsJCQkJaWYgKCF2 cmFtX2xvc3QpCj4+Pj4gKwkJCQkJdnJhbV9sb3N0ID0gYW1kZ3B1X2RldmljZV9jaGVja192cmFt X2xvc3QodG1wX2FkZXYpOwo+Pj4+ICsKPj4+PiAgICAgIAkJCQlpZiAodnJhbV9sb3N0KSB7Cj4+ Pj4gICAgICAJCQkJCURSTV9JTkZPKCJWUkFNIGlzIGxvc3QgZHVlIHRvIEdQVSByZXNldCFcbiIp Owo+Pj4+ICAgICAgCQkJCQlhdG9taWNfaW5jKCZ0bXBfYWRldi0+dnJhbV9sb3N0X2NvdW50ZXIp Owo+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9jaWsuYwo+Pj4+ IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvY2lrLmMKPj4+PiBpbmRleCA3YjYzZDdhLi4w ZjI1YjgyIDEwMDY0NAo+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Npay5j Cj4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvY2lrLmMKPj4+PiBAQCAtMTI3 Nyw3ICsxMjc3LDcgQEAgc3RhdGljIGludCBjaWtfZ3B1X3BjaV9jb25maWdfcmVzZXQoc3RydWN0 IGFtZGdwdV9kZXZpY2UgKmFkZXYpCj4+Pj4gICAgICAgKiB0byByZXNldCB0aGVtLgo+Pj4+ICAg ICAgICogUmV0dXJucyAwIGZvciBzdWNjZXNzLgo+Pj4+ICAgICAgICovCj4+Pj4gLXN0YXRpYyBp bnQgY2lrX2FzaWNfcmVzZXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCj4+Pj4gK3N0YXRp YyBpbnQgY2lrX2FzaWNfcmVzZXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIGJvb2wKPj4+ PiArKnZyYW1sb3N0KQo+Pj4+ICAgICAgewo+Pj4+ICAgICAgCWludCByOwo+Pj4+ICAgICAgCj4+ Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L252LmMKPj4+PiBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L252LmMgaW5kZXggYTNkOTlmMi4uNTNkZTdhNiAxMDA2 NDQKPj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9udi5jCj4+Pj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvbnYuYwo+Pj4+IEBAIC0zMDEsNyArMzAxLDcgQEAg bnZfYXNpY19yZXNldF9tZXRob2Qoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCj4+Pj4gICAg ICAJCXJldHVybiBBTURfUkVTRVRfTUVUSE9EX01PREUxOwo+Pj4+ICAgICAgfQo+Pj4+ICAgICAg Cj4+Pj4gLXN0YXRpYyBpbnQgbnZfYXNpY19yZXNldChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRl dikKPj4+PiArc3RhdGljIGludCBudl9hc2ljX3Jlc2V0KHN0cnVjdCBhbWRncHVfZGV2aWNlICph ZGV2LCBib29sCj4+Pj4gKyp2cmFtbG9zdCkKPj4+PiAgICAgIHsKPj4+PiAgICAgIAo+Pj4+ICAg ICAgCS8qIEZJWE1FOiBpdCBkb2Vzbid0IHdvcmsgc2luY2UgdmVnYTEwICovIEBAIC0zMTUsMTAg KzMxNSwxNCBAQAo+Pj4+IHN0YXRpYyBpbnQgbnZfYXNpY19yZXNldChzdHJ1Y3QgYW1kZ3B1X2Rl dmljZSAqYWRldikKPj4+PiAgICAgIAlpbnQgcmV0ID0gMDsKPj4+PiAgICAgIAlzdHJ1Y3Qgc211 X2NvbnRleHQgKnNtdSA9ICZhZGV2LT5zbXU7Cj4+Pj4gICAgICAKPj4+PiAtCWlmIChudl9hc2lj X3Jlc2V0X21ldGhvZChhZGV2KSA9PSBBTURfUkVTRVRfTUVUSE9EX0JBQ08pCj4+Pj4gKwlpZiAo bnZfYXNpY19yZXNldF9tZXRob2QoYWRldikgPT0gQU1EX1JFU0VUX01FVEhPRF9CQUNPKSB7Cj4+ Pj4gKwkJaWYgKHZyYW1sb3N0KQo+Pj4+ICsJCQkqdnJhbWxvc3QgPSB0cnVlOwo+Pj4+ICAgICAg CQlyZXQgPSBzbXVfYmFjb19yZXNldChzbXUpOwo+Pj4+IC0JZWxzZQo+Pj4+ICsJfQo+Pj4+ICsJ ZWxzZSB7Cj4+Pj4gICAgICAJCXJldCA9IG52X2FzaWNfbW9kZTFfcmVzZXQoYWRldik7Cj4+Pj4g Kwl9Cj4+Pj4gICAgICAKPj4+PiAgICAgIAlyZXR1cm4gcmV0Owo+Pj4+ICAgICAgfQo+Pj4+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zaS5jCj4+Pj4gYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9zaS5jIGluZGV4IDkwNDM2MTQuLmYzMjQwOTkgMTAwNjQ0Cj4+ Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2kuYwo+Pj4+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NpLmMKPj4+PiBAQCAtMTE4MCw3ICsxMTgwLDcgQEAgc3Rh dGljIGJvb2wgc2lfcmVhZF9iaW9zX2Zyb21fcm9tKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2 LAo+Pj4+ICAgICAgfQo+Pj4+ICAgICAgCj4+Pj4gICAgICAvL3h4eDogbm90IGltcGxlbWVudGVk Cj4+Pj4gLXN0YXRpYyBpbnQgc2lfYXNpY19yZXNldChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRl dikKPj4+PiArc3RhdGljIGludCBzaV9hc2ljX3Jlc2V0KHN0cnVjdCBhbWRncHVfZGV2aWNlICph ZGV2LCBib29sCj4+Pj4gKyp2cmFtbG9zdCkKPj4+PiAgICAgIHsKPj4+PiAgICAgIAlyZXR1cm4g MDsKPj4+PiAgICAgIH0KPj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvc29jMTUuYwo+Pj4+IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc29jMTUuYwo+Pj4+ IGluZGV4IGZlMjIxMmRmLi4xMmIyOTY2IDEwMDY0NAo+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L3NvYzE1LmMKPj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9zb2MxNS5jCj4+Pj4gQEAgLTU1MywxMCArNTUzLDEyIEBAIHNvYzE1X2FzaWNfcmVzZXRfbWV0 aG9kKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQo+Pj4+ICAgICAgCQlyZXR1cm4gQU1EX1JF U0VUX01FVEhPRF9NT0RFMTsKPj4+PiAgICAgIH0KPj4+PiAgICAgIAo+Pj4+IC1zdGF0aWMgaW50 IHNvYzE1X2FzaWNfcmVzZXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCj4+Pj4gK3N0YXRp YyBpbnQgc29jMTVfYXNpY19yZXNldChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgYm9vbAo+ Pj4+ICsqdnJhbWxvc3QpCj4+Pj4gICAgICB7Cj4+Pj4gICAgICAJc3dpdGNoIChzb2MxNV9hc2lj X3Jlc2V0X21ldGhvZChhZGV2KSkgewo+Pj4+ICAgICAgCQljYXNlIEFNRF9SRVNFVF9NRVRIT0Rf QkFDTzoKPj4+PiArCQkJaWYgKHZyYW1sb3N0KQo+Pj4+ICsJCQkJKnZyYW1sb3N0ID0gdHJ1ZTsK Pj4+PiAgICAgIAkJCXJldHVybiBzb2MxNV9hc2ljX2JhY29fcmVzZXQoYWRldik7Cj4+Pj4gICAg ICAJCWNhc2UgQU1EX1JFU0VUX01FVEhPRF9NT0RFMjoKPj4+PiAgICAgIAkJCXJldHVybiBzb2Mx NV9tb2RlMl9yZXNldChhZGV2KTsgZGlmZiAtLWdpdAo+Pj4+IGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvdmkuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3ZpLmMKPj4+PiBpbmRl eCA1NmM4ODJiLi44ZWNlYjAwIDEwMDY0NAo+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L3ZpLmMKPj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS92aS5jCj4+ Pj4gQEAgLTY5Niw3ICs2OTYsNyBAQCBzdGF0aWMgaW50IHZpX2dwdV9wY2lfY29uZmlnX3Jlc2V0 KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQo+Pj4+ICAgICAgICogdG8gcmVzZXQgdGhlbS4K Pj4+PiAgICAgICAqIFJldHVybnMgMCBmb3Igc3VjY2Vzcy4KPj4+PiAgICAgICAqLwo+Pj4+IC1z dGF0aWMgaW50IHZpX2FzaWNfcmVzZXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCj4+Pj4g K3N0YXRpYyBpbnQgdmlfYXNpY19yZXNldChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgYm9v bAo+Pj4+ICsqdnJhbWxvc3QpCj4+Pj4gICAgICB7Cj4+Pj4gICAgICAJaW50IHI7Cj4+Pj4gICAg ICAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IGFt ZC1nZnggbWFpbGluZyBsaXN0Cj4gYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGlu ZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeA==