From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Christian_K=c3=b6nig?= Subject: Re: [PATCH 1/4] drm/amdgpu:don't invoke srio-gpu-reset in gpu-reset Date: Mon, 8 May 2017 11:50:38 +0200 Message-ID: <43340817-5a77-cf51-b9bd-8d8ca0b37415@vodafone.de> References: <1494226269-8837-1-git-send-email-Monk.Liu@amd.com> <1494226269-8837-2-git-send-email-Monk.Liu@amd.com> <4d4fb987-9ccb-8fde-e485-7586f6ec49e8@vodafone.de> <707273ff-6cf7-4d86-bbe4-7cebe928840d@vodafone.de> <3290f7e0-56a7-98e0-db60-0ce968cd65e5@vodafone.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: 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" , "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" PiBCZWNhdXNlIHdlIGNhbiBhbHdheXMgcmVseSBvbiBURFIgYW5kIEhZUEVSVklTT1IgdG8gZGV0 ZWN0IEdQVSBoYW5nIGFuZCByZXN1Ym1pdCBtYWxpY2lvdXMgam9icyBvciBldmVuIGtpY2sgdGhl bSBvdXQgbGF0ZXIsCj4gYW5kIHRoZSBncHUgcmVzZXQgd2lsbCBldmVudHVhbGx5IGJlIGludm9r ZWQsIHNvIHRoZXJlIGlzIG5vIHJlYXNvbiB0byBtYW51YWxseSBhbmQgdm9sdW50YXJpbHkgY2Fs bCBncHUgcmVzZXQgdW5kZXIgU1JJT1YgY2FzZS4KV2VsbCB0aGVyZSBpcyBhIHJhdGhlciBnb29k IHJlYXNvbiwgd2UgZGV0ZWN0IHRoYXQgc29tZXRoaW5nIGlzIHdyb25nIAptdWNoIGZhc3RlciB0 aGFuIHdhaXRpbmcgZm9yIHRoZSB0aW1lb3V0LgoKQnV0IEkgYWdyZWUgdGhhdCBpdCB3YXMgYnJv a2VuIGJlZm9yZSBhcyB3ZWxsIGFuZCB3ZSBjYW4gZml4IHRoYXQgbGF0ZXIuIApQbGVhc2UgYWRk IGEgY29kZSBjb21tZW50IHRoYXQgdGhpcyBuZWVkcyBtb3JlIHdvcmsuCgpXaXRoIHRoYXQgZml4 ZWQgZmVlbCBmcmVlIHRvIGFkZCBteSByYiBvbiBpdC4KCkNocmlzdGlhbi4KCkFtIDA4LjA1LjIw MTcgdW0gMTE6NDIgc2NocmllYiBMaXUsIE1vbms6Cj4gVGhlIFZNIGZhdWx0IGludGVycnVwdCBv ciBpbGxlZ2FsIGluc3RydWN0aW9uICB3aWxsIGJlIGRlbGl2ZXJlZCB0byBHUFUgbm8gbWF0dGVy IGl0J3MgU1ItSU9WIG9yIGJhcmUtbWV0YWwgY2FzZSwKPiBBbmQgSSByZW1vdmVkIHRoZW0gZnJv bSBpbnZva2luZyBHUFUgcmVzZXQgaXMgZHVlIHRvIHRoZSBzYW1lIHJlYXNvbjoKPiBEb24ndCB0 cmlnZ2VyIGdwdSByZXNldCBmb3Igc3Jpb3YgY2FzZSBpZiBwb3NzaWJsZSwgYWx3YXlzIGJld2Fy ZSB0aGF0IHRyaWdnZXIgR1BVIHJlc2V0IHVuZGVyIFNSLUlPViBpcyBhIGhlYXZ5IGNvc3QgKG5l ZWQgdGFrZSBmdWxsIGFjY2VzcyBtb2RlIG9uIEdQVSwgc28gYWxsCj4gT3RoZXIgVkZzIHdpbGwg YmUgcGF1c2VkIGZvciBhIHdoaWxlKQo+Cj4gQmVjYXVzZSB3ZSBjYW4gYWx3YXlzIHJlbHkgb24g VERSIGFuZCBIWVBFUlZJU09SIHRvIGRldGVjdCBHUFUgaGFuZyBhbmQgcmVzdWJtaXQgbWFsaWNp b3VzIGpvYnMgb3IgZXZlbiBraWNrIHRoZW0gb3V0IGxhdGVyLAo+IGFuZCB0aGUgZ3B1IHJlc2V0 IHdpbGwgZXZlbnR1YWxseSBiZSBpbnZva2VkLCBzbyB0aGVyZSBpcyBubyByZWFzb24gdG8gbWFu dWFsbHkgYW5kIHZvbHVudGFyaWx5IGNhbGwgZ3B1IHJlc2V0IHVuZGVyIFNSSU9WIGNhc2UuCj4K PiBCUiBNb25rCj4KPgo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4gRnJvbTogQ2hyaXN0 aWFuIEvDtm5pZyBbbWFpbHRvOmRlYXRoc2ltcGxlQHZvZGFmb25lLmRlXQo+IFNlbnQ6IE1vbmRh eSwgTWF5IDA4LCAyMDE3IDU6MzQgUE0KPiBUbzogTGl1LCBNb25rIDxNb25rLkxpdUBhbWQuY29t PjsgYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBTdWJqZWN0OiBSZTogW1BBVENIIDEv NF0gZHJtL2FtZGdwdTpkb24ndCBpbnZva2Ugc3Jpby1ncHUtcmVzZXQgaW4gZ3B1LXJlc2V0Cj4K PiBTb3VuZHMgZ29vZCwgYnV0IHdoYXQgZG8gd2UgZG8gd2l0aCB0aGUgYW1kZ3B1X2lycV9yZXNl dF93b3JrX2Z1bmM/Cj4KPiBQbGVhc2Ugbm90ZSB0aGF0IEkgZmluZCB0aGF0IGNhbGxpbmcgYW1k Z3B1X2dwdV9yZXNldCgpIGhlcmUgaXMgYSBiYWQgaWRlYSBpbiB0aGUgZmlyc3QgcGxhY2UuCj4K PiBJbnN0ZWFkIHdlIHNob3VsZCBjb25zaWRlciB0aGUgc2NoZWR1bGVyIGFzIGZhdWx0aW5nIGFu ZCBsZXQgdGhlIHNjaGVkdWxlciBoYW5kbGUgdGhhdCBhcyBpbiB0aGUgc2FtZSB3YXkgYXMgYSBq b2IgdGltZW91dC4KPgo+IEJ1dCBJJ20gbm90IHN1cmUgaWYgdGhvc2UgaW50ZXJydXB0cyBhcmUg YWN0dWFsbHkgc2VuZCB1bmRlciBTUklPViBvciBpZiB0aGUgaHlwZXJ2aXNvciBoYW5kbGVzIHRo ZW0gc29tZWhvdy4KPgo+IENocmlzdGlhbi4KPgo+IEFtIDA4LjA1LjIwMTcgdW0gMTE6MjQgc2No cmllYiBMaXUsIE1vbms6Cj4+IEkgYWdyZWUgd2l0aCBkaXNhYmxpbmcgZGVidWdmcyBmb3IgYW1k Z3B1X3Jlc2V0IHdoZW4gU1JJT1YgZGV0ZWN0ZWQuCj4+Cj4+IC0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tCj4+IEZyb206IENocmlzdGlhbiBLw7ZuaWcgW21haWx0bzpkZWF0aHNpbXBsZUB2b2Rh Zm9uZS5kZV0KPj4gU2VudDogTW9uZGF5LCBNYXkgMDgsIDIwMTcgNToyMCBQTQo+PiBUbzogTGl1 LCBNb25rIDxNb25rLkxpdUBhbWQuY29tPjsgYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK Pj4gU3ViamVjdDogUmU6IFtQQVRDSCAxLzRdIGRybS9hbWRncHU6ZG9uJ3QgaW52b2tlIHNyaW8t Z3B1LXJlc2V0IGluCj4+IGdwdS1yZXNldAo+Pgo+Pj4gWW91IGtub3cgdGhhdCBncHUgcmVzZXQg dW5kZXIgU1ItSU9WIHdpbGwgaGF2ZSB2ZXJ5IGJpZyBpbXBhY3Qgb24gYWxsIG90aGVyIFZGcyAu Li4KPj4gTWhtLCBnb29kIGFyZ3VtZW50LiBCdXQgaW4gdGhpcyBjYXNlIHdlIG5lZWQgdG8gZ2l2 ZSBhdCBsZWFzdCBzb21lIHdhcm5pbmcgbWVzc2FnZSBpbnN0ZWFkIG9mIGRvaW5nIG5vdGhpbmcu Cj4+Cj4+IE9yIGV2ZW4gYmV0dGVyIGRpc2FibGUgY3JlYXRpbmcgdGhlIGFtZGdwdV9yZXN0ZSBk ZWJ1Z2ZzIGZpbGUgYWx0b2dldGhlci4gVGhpcyB3YXkgbm9ib2R5IHdpbGwgd29uZGVyIHdoeSB1 c2luZyBpdCBkb2Vzbid0IHRyaWdnZXIgYW55dGhpbmcuCj4+Cj4+IENocmlzdGlhbi4KPj4KPj4g QW0gMDguMDUuMjAxNyB1bSAxMToxMCBzY2hyaWViIExpdSwgTW9uazoKPj4+IEZvciBTUi1JT1Yg dXNlIGNhc2UsIHdlIGNhbGwgZ3B1IHJlc2V0IHVuZGVyIHRoZSBjYXNlIHdlIGhhdmUgbm8gY2hv aWNlIC4uLgo+Pj4KPj4+IFNvIG1hbnkgcGxhY2VzIGxpa2UgZGVidWcgZnMgc2hvdWxkbid0IGEg Z29vZCByZWFzb24gdG8gdHJpZ2dlciBncHUKPj4+IHJlc2V0Cj4+Pgo+Pj4gWW91IGtub3cgdGhh dCBncHUgcmVzZXQgdW5kZXIgU1ItSU9WIHdpbGwgaGF2ZSB2ZXJ5IGJpZyBpbXBhY3Qgb24gYWxs IG90aGVyIFZGcyAuLi4KPj4+Cj4+PiBCUiBNb25rCj4+Pgo+Pj4gLS0tLS1PcmlnaW5hbCBNZXNz YWdlLS0tLS0KPj4+IEZyb206IENocmlzdGlhbiBLw7ZuaWcgW21haWx0bzpkZWF0aHNpbXBsZUB2 b2RhZm9uZS5kZV0KPj4+IFNlbnQ6IE1vbmRheSwgTWF5IDA4LCAyMDE3IDU6MDggUE0KPj4+IFRv OiBMaXUsIE1vbmsgPE1vbmsuTGl1QGFtZC5jb20+OyBhbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwo+Pj4gU3ViamVjdDogUmU6IFtQQVRDSCAxLzRdIGRybS9hbWRncHU6ZG9uJ3QgaW52b2tl IHNyaW8tZ3B1LXJlc2V0IGluCj4+PiBncHUtcmVzZXQKPj4+Cj4+PiBBbSAwOC4wNS4yMDE3IHVt IDA4OjUxIHNjaHJpZWIgTW9uayBMaXU6Cj4+Pj4gYmVjYXVzZSB3ZSBkb24ndCB3YW50IHRvIGRv IHNyaW92LWdwdS1yZXNldCB1bmRlciBjZXJ0YWluIGNhc2VzLCBzbwo+Pj4+IGp1c3Qgc3BsaXQg dGhvc2UgdHdvIGZ1bnRpb24gYW5kIGRvbid0IGludm9rZSBzci1pb3Ygb25lIGZyb20KPj4+PiBi YXJlLW1ldGFsIG9uZS4KPj4+Pgo+Pj4+IENoYW5nZS1JZDogSTY0MTEyNmMyNDFlMmVlMmRmZDU0 ZTZkMTZjMzg5YjE1OWY5OWNmZTAKPj4+PiBTaWduZWQtb2ZmLWJ5OiBNb25rIExpdSA8TW9uay5M aXVAYW1kLmNvbT4KPj4+PiAtLS0KPj4+PiAgICAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV9kZXZpY2UuYyB8IDMgLS0tCj4+Pj4gICAgICBkcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHVfZmVuY2UuYyAgfCAzICsrLQo+Pj4+ICAgICAgZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X2dlbS5jICAgIHwgMiArLQo+Pj4+ICAgICAgZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X2lycS5jICAgIHwgMyArKy0KPj4+PiAgICAgIGRyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9qb2IuYyAgICB8IDYgKysrKystCj4+Pj4gICAgICA1IGZp bGVzIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCj4+Pj4KPj4+PiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RldmljZS5jCj4+ Pj4gYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMKPj4+PiBpbmRl eCA0NWE2MGE2Li40OTg1YTdlIDEwMDY0NAo+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV9kZXZpY2UuYwo+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV9kZXZpY2UuYwo+Pj4+IEBAIC0yNjUyLDkgKzI2NTIsNiBAQCBpbnQgYW1kZ3B1 X2dwdV9yZXNldChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKPj4+PiAgICAgIAlpbnQgcmVz Y2hlZDsKPj4+PiAgICAgIAlib29sIG5lZWRfZnVsbF9yZXNldDsKPj4+PiAgICAgIAo+Pj4+IC0J aWYgKGFtZGdwdV9zcmlvdl92ZihhZGV2KSkKPj4+PiAtCQlyZXR1cm4gYW1kZ3B1X3NyaW92X2dw dV9yZXNldChhZGV2LCB0cnVlKTsKPj4+PiAtCj4+Pj4gICAgICAJaWYgKCFhbWRncHVfY2hlY2tf c29mdF9yZXNldChhZGV2KSkgewo+Pj4+ICAgICAgCQlEUk1fSU5GTygiTm8gaGFyZHdhcmUgaGFu ZyBkZXRlY3RlZC4gRGlkIHNvbWUgYmxvY2tzIHN0YWxsP1xuIik7Cj4+Pj4gICAgICAJCXJldHVy biAwOwo+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf ZmVuY2UuYwo+Pj4+IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2ZlbmNlLmMK Pj4+PiBpbmRleCA1NzcyZWYyLi5kNzUyM2QxIDEwMDY0NAo+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9mZW5jZS5jCj4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X2ZlbmNlLmMKPj4+PiBAQCAtNjUxLDcgKzY1MSw4IEBAIHN0YXRp YyBpbnQgYW1kZ3B1X2RlYnVnZnNfZ3B1X3Jlc2V0KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAq ZGF0YSkKPj4+PiAgICAgIAlzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IGRldi0+ZGV2X3By aXZhdGU7Cj4+Pj4gICAgICAKPj4+PiAgICAgIAlzZXFfcHJpbnRmKG0sICJncHUgcmVzZXRcbiIp Owo+Pj4+IC0JYW1kZ3B1X2dwdV9yZXNldChhZGV2KTsKPj4+PiArCWlmICghYW1kZ3B1X3NyaW92 X3ZmKGFkZXYpKQo+Pj4+ICsJCWFtZGdwdV9ncHVfcmVzZXQoYWRldik7Cj4+PiBXZWxsIHRoYXQg aXMgY2xlYXJseSBub3QgYSBnb29kIGlkZWEuIFdoeSBkbyB5b3Ugd2FudCB0byBkaXNhYmxlIHRo ZSByZXNldCBoZXJlPwo+Pj4KPj4+PiAgICAgIAo+Pj4+ICAgICAgCXJldHVybiAwOwo+Pj4+ICAg ICAgfQo+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf Z2VtLmMKPj4+PiBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9nZW0uYwo+Pj4+ IGluZGV4IDY3YmU3OTUuLjViY2JlYTAgMTAwNjQ0Cj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X2dlbS5jCj4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X2dlbS5jCj4+Pj4gQEAgLTIyMSw3ICsyMjEsNyBAQCB2b2lkIGFtZGdwdV9n ZW1fb2JqZWN0X2Nsb3NlKHN0cnVjdAo+Pj4+IGRybV9nZW1fb2JqZWN0ICpvYmosCj4+Pj4gICAg ICAKPj4+PiAgICAgIHN0YXRpYyBpbnQgYW1kZ3B1X2dlbV9oYW5kbGVfbG9ja3VwKHN0cnVjdCBh bWRncHVfZGV2aWNlICphZGV2LCBpbnQgcikKPj4+PiAgICAgIHsKPj4+PiAtCWlmIChyID09IC1F REVBRExLKSB7Cj4+Pj4gKwlpZiAociA9PSAtRURFQURMSyAmJiAhYW1kZ3B1X3NyaW92X3ZmKGFk ZXYpKSB7Cj4+PiBOb3QgYSBwcm9ibGVtIG9mIHlvdXIgcGF0Y2gsIGJ1dCB0aGF0IHN0dWZmIGlz IG91dGRhdGVkIGFuZCBzaG91bGQgaGF2ZSBiZWVuIHJlbW92ZWQgY29tcGxldGVseSB5ZWFycyBh Z28uIEdvaW5nIHRvIHRha2UgY2FyZSBvZiB0aGF0Lgo+Pj4KPj4+PiAgICAgIAkJciA9IGFtZGdw dV9ncHVfcmVzZXQoYWRldik7Cj4+Pj4gICAgICAJCWlmICghcikKPj4+PiAgICAgIAkJCXIgPSAt RUFHQUlOOwo+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfaXJxLmMKPj4+PiBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9pcnEuYwo+ Pj4+IGluZGV4IGY4YTZjOTUuLjQ5YzZlNmUgMTAwNjQ0Cj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2lycS5jCj4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X2lycS5jCj4+Pj4gQEAgLTg5LDcgKzg5LDggQEAgc3RhdGljIHZvaWQg YW1kZ3B1X2lycV9yZXNldF93b3JrX2Z1bmMoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQo+Pj4+ ICAgICAgCXN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gY29udGFpbmVyX29mKHdvcmssIHN0 cnVjdCBhbWRncHVfZGV2aWNlLAo+Pj4+ICAgICAgCQkJCQkJICByZXNldF93b3JrKTsKPj4+PiAg ICAgIAo+Pj4+IC0JYW1kZ3B1X2dwdV9yZXNldChhZGV2KTsKPj4+PiArCWlmICghYW1kZ3B1X3Ny aW92X3ZmKGFkZXYpKQo+Pj4+ICsJCWFtZGdwdV9ncHVfcmVzZXQoYWRldik7Cj4+PiBNaG0sIHRo YXQgZGlzYWJsZXMgdGhlIHJlc2V0IG9uIGFuIGludmFsaWQgcmVnaXN0ZXIgYWNjZXNzIG9yIGlu dmFsaWQgY29tbWFuZCBzdHJlYW0uIElzIHRoYXQgcmVhbGx5IHdoYXQgd2Ugd2FudD8KPj4+Cj4+ PiBDaHJpc3RpYW4uCj4+Pgo+Pj4+ICAgICAgfQo+Pj4+ICAgICAgCj4+Pj4gICAgICAvKiBEaXNh YmxlICphbGwqIGludGVycnVwdHMgKi8KPj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X2pvYi5jCj4+Pj4gYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfam9iLmMKPj4+PiBpbmRleCA2OTBlZjNkLi5jNzcxOGFmIDEwMDY0NAo+Pj4+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9qb2IuYwo+Pj4+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9qb2IuYwo+Pj4+IEBAIC0zNiw3ICszNiwx MSBAQCBzdGF0aWMgdm9pZCBhbWRncHVfam9iX3RpbWVkb3V0KHN0cnVjdCBhbWRfc2NoZWRfam9i ICpzX2pvYikKPj4+PiAgICAgIAkJICBqb2ItPmJhc2Uuc2NoZWQtPm5hbWUsCj4+Pj4gICAgICAJ CSAgYXRvbWljX3JlYWQoJmpvYi0+cmluZy0+ZmVuY2VfZHJ2Lmxhc3Rfc2VxKSwKPj4+PiAgICAg IAkJICBqb2ItPnJpbmctPmZlbmNlX2Rydi5zeW5jX3NlcSk7Cj4+Pj4gLQlhbWRncHVfZ3B1X3Jl c2V0KGpvYi0+YWRldik7Cj4+Pj4gKwo+Pj4+ICsJaWYgKGFtZGdwdV9zcmlvdl92Zihqb2ItPmFk ZXYpKQo+Pj4+ICsJCWFtZGdwdV9zcmlvdl9ncHVfcmVzZXQoam9iLT5hZGV2LCB0cnVlKTsKPj4+ PiArCWVsc2UKPj4+PiArCQlhbWRncHVfZ3B1X3Jlc2V0KGpvYi0+YWRldik7Cj4+Pj4gICAgICB9 Cj4+Pj4gICAgICAKPj4+PiAgICAgIGludCBhbWRncHVfam9iX2FsbG9jKHN0cnVjdCBhbWRncHVf ZGV2aWNlICphZGV2LCB1bnNpZ25lZAo+Pj4+IG51bV9pYnMsCj4+PiBfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+Pj4gYW1kLWdmeCBtYWlsaW5nIGxpc3QK Pj4+IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+PiBodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngKCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2FtZC1nZngK