From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH v4 4/4] drm/i915: Acquire PUNIT->PMIC bus for intel_uncore_forcewake_reset() Date: Mon, 04 Sep 2017 16:23:29 +0300 Message-ID: <87h8wi61im.fsf@nikula.org> References: <20170820125920.27347-1-hdegoede@redhat.com> <20170820125920.27347-4-hdegoede@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170820125920.27347-4-hdegoede@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , x86@kernel.org Cc: dri-devel@lists.freedesktop.org, Hans de Goede , Daniel Vetter , intel-gfx List-Id: intel-gfx@lists.freedesktop.org ClRob21hcywgSW5nbywgUGV0ZXIgLQoKQ2FuIEkgaGF2ZSB5b3VyIGFjayBvbiBtZXJnaW5nIHRo ZSBiZWxvdyBwYXRjaCB2aWEgZHJtL2k5MTU/ClVuZm9ydHVuYXRlbHkgaXQgd2Fzbid0IG9yaWdp bmFsbHkgc2VudCB0byB0aGUgcHJvcGVyIG1haWxpbmcgbGlzdC4gWW91CmNhbiBzZWUgdGhlIGZ1 bGwgc2VyaWVzIGl0J3MgcGFydCBvZiBhdCBbMV0uCgpCUiwKSmFuaS4KCgpbMV0gaHR0cHM6Ly9w YXRjaHdvcmsuZnJlZWRlc2t0b3Aub3JnL3Nlcmllcy8yOTA1OC8KCgpPbiBTdW4sIDIwIEF1ZyAy MDE3LCBIYW5zIGRlIEdvZWRlIDxoZGVnb2VkZUByZWRoYXQuY29tPiB3cm90ZToKPiBpbnRlbF91 bmNvcmVfZm9yY2V3YWtlX3Jlc2V0KCkgZG9lcyBmb3JjZXdha2UgcHV0cyBhbmQgZ2V0cyBhcyBz dWNoCj4gd2UgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCBuby1vbmUgdHJpZXMgdG8gYWNjZXNzIHRo ZSBQVU5JVC0+UE1JQyBidXMKPiAob24gc3lzdGVtcyB3aGVyZSB0aGlzIGJ1cyBpcyBzaGFyZWQp IHdoaWxlIGl0IHJ1bnMsIG90aGVyd2lzZSBiYWQKPiB0aGluZ3MgaGFwcGVuLgo+Cj4gTm9ybWFs bHkgdGhpcyBpcyB0YWtlbiBjYXJlIG9mIGJ5IHRoZSBpOTE1X3BtaWNfYnVzX2FjY2Vzc19ub3Rp ZmllcigpCj4gd2hpY2ggZG9lcyBhbiBpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2dldChGT1JDRVdB S0VfQUxMKSB3aGVuIHNvbWUgb3RoZXIKPiBkcml2ZXIgdHJpZXMgdG8gYWNjZXNzIHRoZSBQTUlD IGJ1cywgc28gdGhhdCBsYXRlciBmb3JjZXdha2UgZ2V0cyBhcmUKPiBuby1vcHMgKGZvciB0aGUg ZHVyYXRpb24gb2YgdGhlIGJ1cyBhY2Nlc3MpLgo+Cj4gQnV0IGludGVsX3VuY29yZV9mb3JjZXdh a2VfcmVzZXQgZ2V0cyBjYWxsZWQgaW4gMyBjYXNlczoKPiAxKSBCZWZvcmUgcmVnaXN0ZXJpbmcg dGhlIHBtaWNfYnVzX2FjY2Vzc19ub3RpZmllcgo+IDIpIEFmdGVyIHVucmVnaXN0ZXJpbmcgdGhl IHBtaWNfYnVzX2FjY2Vzc19ub3RpZmllcgo+IDMpIFRvIHJlc2V0IGZvcmNld2FrZSBzdGF0ZSBv biBhIEdQVSByZXNldAo+Cj4gSW4gYWxsIDMgY2FzZXMgdGhlIGk5MTVfcG1pY19idXNfYWNjZXNz X25vdGlmaWVyKCkgcHJvdGVjdGlvbiBpcwo+IGluc3VmZmljaWVudC4KPgo+IFRoaXMgY29tbWl0 IGZpeGVzIHRoaXMgcmFjZSBieSBjYWxsaW5nIGlvc2ZfbWJpX3B1bml0X2FjcXVpcmUoKSBiZWZv cmUKPiBjYWxsaW5nIGludGVsX3VuY29yZV9mb3JjZXdha2VfcmVzZXQoKS4gSW4gdGhlIGNhc2Ug d2hlcmUgaXQgaXMgY2FsbGVkCj4gZGlyZWN0bHkgYWZ0ZXIgdW5yZWdpc3RlcmluZyB0aGUgcG1p Y19idXNfYWNjZXNzX25vdGlmaWVyLCB3ZSBuZWVkIHRvCj4gaG9sZCB0aGUgcHVuaXQtbG9jayBv dmVyIGJvdGggY2FsbHMgdG8gYXZvaWQgYSByYWNlIHdoZXJlCj4gaW50ZWxfdW5jb3JlX2Z3X3Jl bGVhc2VfdGltZXIoKSBtYXkgZXhlY3V0ZSBiZXR3ZWVuIHRoZSAyIGNhbGxzLgo+Cj4gVG8gYWxs b3cgaG9sZGluZyB0aGUgbG9jayBvdmVyIGJvdGggY2FsbHMgd2UgbmVlZCBhbiB1bmxvY2tlZAo+ IHZhcmlhbnQgb2YgaW9zZl9tYmlfdW5yZWdpc3Rlcl9wbWljX2J1c19hY2Nlc3Nfbm90aWZpZXIu IFNpbmNlCj4gaW50ZWxfdW5jb3JlLmMgaXMgdGhlIG9ubHkgdXNlciBvZiB0aGlzIGZ1bmN0aW9u LCB3ZSBzaW1wbHkKPiBtb2RpZnkgaXQgaW4gdGhpcyBjb21taXQuIERvaW5nIHRoaXMgaW4gYSBz ZXBhcmF0ZSBjb21taXQgd291bGQKPiByZXF1aXJlIGZpcnN0IGFkZGluZyBhbiB1bmxvY2tlZCB2 YXJpYW50LCB0aGVuIHRoaXMgY29tbWl0IGFuZAo+IHRoZW4gcmVtb3ZpbmcgdGhlIHVudXNlZCBu b3JtYWwgdmFyaWFudC4KPgo+IFNpZ25lZC1vZmYtYnk6IEhhbnMgZGUgR29lZGUgPGhkZWdvZWRl QHJlZGhhdC5jb20+Cj4gUmV2aWV3ZWQtYnk6IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNv bT4KPiAtLS0KPiBDaGFuZ2VzIGluIHYyOgo+IC1SZWJhc2Ugb24gY3VycmVudCAoSnVseSA2dGgg MjAxNykgZHJtLW5leHQKPgo+IENoYW5nZXMgaW4gdjM6Cj4gLUtlZXAgcHVuaXQgYWNxdWlyZWQg LyBsb2NrZWQgb3ZlciB0aGUgdW5yZWdpc3RlciArIGZvcmNld2FrZV9yZXNldAo+ICBjYWxsIGNv bWJvIHRvIGF2b2lkIGEgcmFjZSBoaXR0aW5nIGJldHdlZW4gdGhlIDIgY2FsbHMKPiAtVGhpcyBy ZXF1aXJlcyBtb2RpZnlpbmcgaW9zZl9tYmlfdW5yZWdpc3Rlcl9wbWljX2J1c19hY2Nlc3Nfbm90 aWZpZXIKPiAgdG8gbm90IHRha2UgdGhlIGxvY2sgaXRzZWxmLCBzaW5jZSB3ZSBhcmUgdGhlIG9u bHkgdXNlcnMgdGhpcyBpcyBkb25lCj4gIGluIHRoaXMgc2FtZSBjb21taXQKPgo+IENoYW5nZXMg aW4gdjQ6Cj4gLUZpeCBtaXNzaW5nIHJlbmFtZSBpbiBkb2MtY29tbWVudAo+IC1BZGQgYW5kIHVz ZSBpb3NmX21iaV9hc3NlcnRfcHVuaXRfYWNxdWlyZWQoKSBoZWxwZXIKPiAtQWRkIG1pc3Npbmcg YWNxdWlxcmUgc3Vycm91bmRpbmcgaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9yZXNldCgpIGluc2lk ZQo+ICBpbnRlbF91bmNvcmVfY2hlY2tfZm9yY2V3YWtlX2RvbWFpbnMoKQo+IC1BZGQgSW1yZSdz IFJldmlld2VkLWJ5Cj4gLS0tCj4gIGFyY2gveDg2L2luY2x1ZGUvYXNtL2lvc2ZfbWJpLmggICAg ICAgICAgICAgICB8IDIwICsrKysrKysrKysrKysrKysrLS0tCj4gIGFyY2gveDg2L3BsYXRmb3Jt L2ludGVsL2lvc2ZfbWJpLmMgICAgICAgICAgICB8IDIwICsrKysrKysrKysrLS0tLS0tLS0tCj4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jICAgICAgICAgICB8IDE3ICsrKysr KysrKysrKystLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pbnRlbF91bmNv cmUuYyB8ICAzICsrKwo+ICA0IGZpbGVzIGNoYW5nZWQsIDQ0IGluc2VydGlvbnMoKyksIDE2IGRl bGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL2lvc2ZfbWJp LmggYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9pb3NmX21iaS5oCj4gaW5kZXggYzMxM2NhYzM2ZjU2 Li4wZjBkZTQzMDMxODAgMTAwNjQ0Cj4gLS0tIGEvYXJjaC94ODYvaW5jbHVkZS9hc20vaW9zZl9t YmkuaAo+ICsrKyBiL2FyY2gveDg2L2luY2x1ZGUvYXNtL2lvc2ZfbWJpLmgKPiBAQCAtMTM5LDEx ICsxMzksMTcgQEAgdm9pZCBpb3NmX21iaV9wdW5pdF9yZWxlYXNlKHZvaWQpOwo+ICBpbnQgaW9z Zl9tYmlfcmVnaXN0ZXJfcG1pY19idXNfYWNjZXNzX25vdGlmaWVyKHN0cnVjdCBub3RpZmllcl9i bG9jayAqbmIpOwo+ICAKPiAgLyoqCj4gLSAqIGlvc2ZfbWJpX3JlZ2lzdGVyX3BtaWNfYnVzX2Fj Y2Vzc19ub3RpZmllciAtIFVucmVnaXN0ZXIgUE1JQyBidXMgbm90aWZpZXIKPiArICogaW9zZl9t YmlfcmVnaXN0ZXJfcG1pY19idXNfYWNjZXNzX25vdGlmaWVyX3VubG9ja2VkIC0gVW5yZWdpc3Rl ciBQTUlDIGJ1cwo+ICsgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBub3RpZmllcgo+ICsgKgo+ICsgKiBOb3RlIHRoZSBjYWxsZXIgbXVzdCBj YWxsIGlvc2ZfbWJpX3B1bml0X2FjcXVpcmUoKSBiZWZvcmUgY2FsbGluZyB0aGlzCj4gKyAqIHRv IGVuc3VyZSB0aGUgYnVzIGlzIGluYWN0aXZlIGJlZm9yZSB1bnJlZ2lzdGVyaW5nIChhbmQgY2Fs bAo+ICsgKiBpb3NmX21iaV9wdW5pdF9yZWxlYXNlKCkgYWZ0ZXJ3YXJkcykuCj4gICAqCj4gICAq IEBuYjogbm90aWZpZXJfYmxvY2sgdG8gdW5yZWdpc3Rlcgo+ICAgKi8KPiAtaW50IGlvc2ZfbWJp X3VucmVnaXN0ZXJfcG1pY19idXNfYWNjZXNzX25vdGlmaWVyKHN0cnVjdCBub3RpZmllcl9ibG9j ayAqbmIpOwo+ICtpbnQgaW9zZl9tYmlfdW5yZWdpc3Rlcl9wbWljX2J1c19hY2Nlc3Nfbm90aWZp ZXJfdW5sb2NrZWQoCj4gKwlzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iKTsKPiAgCj4gIC8qKgo+ ICAgKiBpb3NmX21iaV9jYWxsX3BtaWNfYnVzX2FjY2Vzc19ub3RpZmllcl9jaGFpbiAtIENhbGwg UE1JQyBidXMgbm90aWZpZXIgY2hhaW4KPiBAQCAtMTUzLDYgKzE1OSwxMSBAQCBpbnQgaW9zZl9t YmlfdW5yZWdpc3Rlcl9wbWljX2J1c19hY2Nlc3Nfbm90aWZpZXIoc3RydWN0IG5vdGlmaWVyX2Js b2NrICpuYik7Cj4gICAqLwo+ICBpbnQgaW9zZl9tYmlfY2FsbF9wbWljX2J1c19hY2Nlc3Nfbm90 aWZpZXJfY2hhaW4odW5zaWduZWQgbG9uZyB2YWwsIHZvaWQgKnYpOwo+ICAKPiArLyoqCj4gKyAq IGlvc2ZfbWJpX2Fzc2VydF9wdW5pdF9hY3F1aXJlZCAtIEFzc2VydCB0aGF0IHRoZSBQLVVuaXQg aGFzIGJlZW4gYWNxdWlyZWQuCj4gKyAqLwo+ICt2b2lkIGlvc2ZfbWJpX2Fzc2VydF9wdW5pdF9h Y3F1aXJlZCh2b2lkKTsKPiArCj4gICNlbHNlIC8qIENPTkZJR19JT1NGX01CSSBpcyBub3QgZW5h YmxlZCAqLwo+ICBzdGF0aWMgaW5saW5lCj4gIGJvb2wgaW9zZl9tYmlfYXZhaWxhYmxlKHZvaWQp Cj4gQEAgLTE5MSw3ICsyMDIsOCBAQCBpbnQgaW9zZl9tYmlfcmVnaXN0ZXJfcG1pY19idXNfYWNj ZXNzX25vdGlmaWVyKHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmIpCj4gIH0KPiAgCj4gIHN0YXRp YyBpbmxpbmUKPiAtaW50IGlvc2ZfbWJpX3VucmVnaXN0ZXJfcG1pY19idXNfYWNjZXNzX25vdGlm aWVyKHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmIpCj4gK2ludCBpb3NmX21iaV91bnJlZ2lzdGVy X3BtaWNfYnVzX2FjY2Vzc19ub3RpZmllcl91bmxvY2tlZCgKPiArCXN0cnVjdCBub3RpZmllcl9i bG9jayAqbmIpCj4gIHsKPiAgCXJldHVybiAwOwo+ICB9Cj4gQEAgLTIwMiw2ICsyMTQsOCBAQCBp bnQgaW9zZl9tYmlfY2FsbF9wbWljX2J1c19hY2Nlc3Nfbm90aWZpZXJfY2hhaW4odW5zaWduZWQg bG9uZyB2YWwsIHZvaWQgKnYpCj4gIAlyZXR1cm4gMDsKPiAgfQo+ICAKPiArc3RhdGljIGlubGlu ZSB2b2lkIGlvc2ZfbWJpX2Fzc2VydF9wdW5pdF9hY3F1aXJlZCh2b2lkKSB7fQo+ICsKPiAgI2Vu ZGlmIC8qIENPTkZJR19JT1NGX01CSSAqLwo+ICAKPiAgI2VuZGlmIC8qIElPU0ZfTUJJX1NZTVNf SCAqLwo+IGRpZmYgLS1naXQgYS9hcmNoL3g4Ni9wbGF0Zm9ybS9pbnRlbC9pb3NmX21iaS5jIGIv YXJjaC94ODYvcGxhdGZvcm0vaW50ZWwvaW9zZl9tYmkuYwo+IGluZGV4IGE5NTJhYzE5OTc0MS4u YTUzNjFmZDExZTZlIDEwMDY0NAo+IC0tLSBhL2FyY2gveDg2L3BsYXRmb3JtL2ludGVsL2lvc2Zf bWJpLmMKPiArKysgYi9hcmNoL3g4Ni9wbGF0Zm9ybS9pbnRlbC9pb3NmX21iaS5jCj4gQEAgLTIx OCwxOSArMjE4LDE1IEBAIGludCBpb3NmX21iaV9yZWdpc3Rlcl9wbWljX2J1c19hY2Nlc3Nfbm90 aWZpZXIoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpuYikKPiAgfQo+ICBFWFBPUlRfU1lNQk9MKGlv c2ZfbWJpX3JlZ2lzdGVyX3BtaWNfYnVzX2FjY2Vzc19ub3RpZmllcik7Cj4gIAo+IC1pbnQgaW9z Zl9tYmlfdW5yZWdpc3Rlcl9wbWljX2J1c19hY2Nlc3Nfbm90aWZpZXIoc3RydWN0IG5vdGlmaWVy X2Jsb2NrICpuYikKPiAraW50IGlvc2ZfbWJpX3VucmVnaXN0ZXJfcG1pY19idXNfYWNjZXNzX25v dGlmaWVyX3VubG9ja2VkKAo+ICsJc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpuYikKPiAgewo+IC0J aW50IHJldDsKPiArCVdBUk5fT04oIW11dGV4X2lzX2xvY2tlZCgmaW9zZl9tYmlfcHVuaXRfbXV0 ZXgpKTsKPiAgCj4gLQkvKiBXYWl0IGZvciB0aGUgYnVzIHRvIGdvIGluYWN0aXZlIGJlZm9yZSB1 bnJlZ2lzdGVyaW5nICovCj4gLQltdXRleF9sb2NrKCZpb3NmX21iaV9wdW5pdF9tdXRleCk7Cj4g LQlyZXQgPSBibG9ja2luZ19ub3RpZmllcl9jaGFpbl91bnJlZ2lzdGVyKAo+ICsJcmV0dXJuIGJs b2NraW5nX25vdGlmaWVyX2NoYWluX3VucmVnaXN0ZXIoCj4gIAkJCQkmaW9zZl9tYmlfcG1pY19i dXNfYWNjZXNzX25vdGlmaWVyLCBuYik7Cj4gLQltdXRleF91bmxvY2soJmlvc2ZfbWJpX3B1bml0 X211dGV4KTsKPiAtCj4gLQlyZXR1cm4gcmV0Owo+ICB9Cj4gLUVYUE9SVF9TWU1CT0woaW9zZl9t YmlfdW5yZWdpc3Rlcl9wbWljX2J1c19hY2Nlc3Nfbm90aWZpZXIpOwo+ICtFWFBPUlRfU1lNQk9M KGlvc2ZfbWJpX3VucmVnaXN0ZXJfcG1pY19idXNfYWNjZXNzX25vdGlmaWVyX3VubG9ja2VkKTsK PiAgCj4gIGludCBpb3NmX21iaV9jYWxsX3BtaWNfYnVzX2FjY2Vzc19ub3RpZmllcl9jaGFpbih1 bnNpZ25lZCBsb25nIHZhbCwgdm9pZCAqdikKPiAgewo+IEBAIC0yMzksNiArMjM1LDEyIEBAIGlu dCBpb3NmX21iaV9jYWxsX3BtaWNfYnVzX2FjY2Vzc19ub3RpZmllcl9jaGFpbih1bnNpZ25lZCBs b25nIHZhbCwgdm9pZCAqdikKPiAgfQo+ICBFWFBPUlRfU1lNQk9MKGlvc2ZfbWJpX2NhbGxfcG1p Y19idXNfYWNjZXNzX25vdGlmaWVyX2NoYWluKTsKPiAgCj4gK3ZvaWQgaW9zZl9tYmlfYXNzZXJ0 X3B1bml0X2FjcXVpcmVkKHZvaWQpCj4gK3sKPiArCVdBUk5fT04oIW11dGV4X2lzX2xvY2tlZCgm aW9zZl9tYmlfcHVuaXRfbXV0ZXgpKTsKPiArfQo+ICtFWFBPUlRfU1lNQk9MKGlvc2ZfbWJpX2Fz c2VydF9wdW5pdF9hY3F1aXJlZCk7Cj4gKwo+ICAjaWZkZWYgQ09ORklHX0lPU0ZfTUJJX0RFQlVH Cj4gIHN0YXRpYyB1MzIJZGJnX21kcjsKPiAgc3RhdGljIHUzMglkYmdfbWNyOwo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3VuY29yZS5jCj4gaW5kZXggZTllZDAyNTE4NDA2Li44MGU3NWMwMjllNTkg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYwo+IEBAIC0yMjksNiArMjI5LDcg QEAgaW50ZWxfdW5jb3JlX2Z3X3JlbGVhc2VfdGltZXIoc3RydWN0IGhydGltZXIgKnRpbWVyKQo+ ICAJcmV0dXJuIEhSVElNRVJfTk9SRVNUQVJUOwo+ICB9Cj4gIAo+ICsvKiBOb3RlIGNhbGxlcnMg bXVzdCBoYXZlIGFjcXVpcmVkIHRoZSBQVU5JVC0+UE1JQyBidXMsIGJlZm9yZSBjYWxsaW5nIHRo aXMuICovCj4gIHN0YXRpYyB2b2lkIGludGVsX3VuY29yZV9mb3JjZXdha2VfcmVzZXQoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJCQkJCSBib29sIHJlc3RvcmUpCj4gIHsK PiBAQCAtMjM3LDYgKzIzOCw4IEBAIHN0YXRpYyB2b2lkIGludGVsX3VuY29yZV9mb3JjZXdha2Vf cmVzZXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJaW50IHJldHJ5X2Nv dW50ID0gMTAwOwo+ICAJZW51bSBmb3JjZXdha2VfZG9tYWlucyBmdywgYWN0aXZlX2RvbWFpbnM7 Cj4gIAo+ICsJaW9zZl9tYmlfYXNzZXJ0X3B1bml0X2FjcXVpcmVkKCk7Cj4gKwo+ICAJLyogSG9s ZCB1bmNvcmUubG9jayBhY3Jvc3MgcmVzZXQgdG8gcHJldmVudCBhbnkgcmVnaXN0ZXIgYWNjZXNz Cj4gIAkgKiB3aXRoIGZvcmNld2FrZSBub3Qgc2V0IGNvcnJlY3RseS4gV2FpdCB1bnRpbCBhbGwg cGVuZGluZwo+ICAJICogdGltZXJzIGFyZSBydW4gYmVmb3JlIGhvbGRpbmcuCj4gQEAgLTQxNiwx NCArNDE5LDE4IEBAIHN0YXRpYyB2b2lkIF9faW50ZWxfdW5jb3JlX2Vhcmx5X3Nhbml0aXplKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCQkJCSAgIEdUX0ZJRk9fQ1RMX1JD Nl9QT0xJQ1lfU1RBTEwpOwo+ICAJfQo+ICAKPiArCWlvc2ZfbWJpX3B1bml0X2FjcXVpcmUoKTsK PiAgCWludGVsX3VuY29yZV9mb3JjZXdha2VfcmVzZXQoZGV2X3ByaXYsIHJlc3RvcmVfZm9yY2V3 YWtlKTsKPiArCWlvc2ZfbWJpX3B1bml0X3JlbGVhc2UoKTsKPiAgfQo+ICAKPiAgdm9pZCBpbnRl bF91bmNvcmVfc3VzcGVuZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIHsK PiAtCWlvc2ZfbWJpX3VucmVnaXN0ZXJfcG1pY19idXNfYWNjZXNzX25vdGlmaWVyKAo+ICsJaW9z Zl9tYmlfcHVuaXRfYWNxdWlyZSgpOwo+ICsJaW9zZl9tYmlfdW5yZWdpc3Rlcl9wbWljX2J1c19h Y2Nlc3Nfbm90aWZpZXJfdW5sb2NrZWQoCj4gIAkJJmRldl9wcml2LT51bmNvcmUucG1pY19idXNf YWNjZXNzX25iKTsKPiAgCWludGVsX3VuY29yZV9mb3JjZXdha2VfcmVzZXQoZGV2X3ByaXYsIGZh bHNlKTsKPiArCWlvc2ZfbWJpX3B1bml0X3JlbGVhc2UoKTsKPiAgfQo+ICAKPiAgdm9pZCBpbnRl bF91bmNvcmVfcmVzdW1lX2Vhcmx5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikK PiBAQCAtMTI0NiwxMiArMTI1MywxNCBAQCB2b2lkIGludGVsX3VuY29yZV9pbml0KHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgCj4gIHZvaWQgaW50ZWxfdW5jb3JlX2Zpbmko c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICB7Cj4gLQlpb3NmX21iaV91bnJl Z2lzdGVyX3BtaWNfYnVzX2FjY2Vzc19ub3RpZmllcigKPiAtCQkmZGV2X3ByaXYtPnVuY29yZS5w bWljX2J1c19hY2Nlc3NfbmIpOwo+IC0KPiAgCS8qIFBhcmFub2lhOiBtYWtlIHN1cmUgd2UgaGF2 ZSBkaXNhYmxlZCBldmVyeXRoaW5nIGJlZm9yZSB3ZSBleGl0LiAqLwo+ICAJaW50ZWxfdW5jb3Jl X3Nhbml0aXplKGRldl9wcml2KTsKPiArCj4gKwlpb3NmX21iaV9wdW5pdF9hY3F1aXJlKCk7Cj4g Kwlpb3NmX21iaV91bnJlZ2lzdGVyX3BtaWNfYnVzX2FjY2Vzc19ub3RpZmllcl91bmxvY2tlZCgK PiArCQkmZGV2X3ByaXYtPnVuY29yZS5wbWljX2J1c19hY2Nlc3NfbmIpOwo+ICAJaW50ZWxfdW5j b3JlX2ZvcmNld2FrZV9yZXNldChkZXZfcHJpdiwgZmFsc2UpOwo+ICsJaW9zZl9tYmlfcHVuaXRf cmVsZWFzZSgpOwo+ICB9Cj4gIAo+ICAjZGVmaW5lIEdFTl9SQU5HRShsLCBoKSBHRU5NQVNLKCho KSAtIDEsIChsKSAtIDEpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0 ZXN0cy9pbnRlbF91bmNvcmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pbnRl bF91bmNvcmUuYwo+IGluZGV4IDJkMGZlZjJjZmNhNi4uNTVkMGVmNGZiY2VmIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pbnRlbF91bmNvcmUuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pbnRlbF91bmNvcmUuYwo+IEBAIC0xNDgs NyArMTQ4LDEwIEBAIHN0YXRpYyBpbnQgaW50ZWxfdW5jb3JlX2NoZWNrX2ZvcmNld2FrZV9kb21h aW5zKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpCj4gIAlmb3JfZWFjaF9zZXRfYml0 KG9mZnNldCwgdmFsaWQsIEZXX1JBTkdFKSB7Cj4gIAkJaTkxNV9yZWdfdCByZWcgPSB7IG9mZnNl dCB9Owo+ICAKPiArCQlpb3NmX21iaV9wdW5pdF9hY3F1aXJlKCk7Cj4gIAkJaW50ZWxfdW5jb3Jl X2ZvcmNld2FrZV9yZXNldChkZXZfcHJpdiwgZmFsc2UpOwo+ICsJCWlvc2ZfbWJpX3B1bml0X3Jl bGVhc2UoKTsKPiArCj4gIAkJY2hlY2tfZm9yX3VuY2xhaW1lZF9tbWlvKGRldl9wcml2KTsKPiAg Cj4gIAkJKHZvaWQpSTkxNV9SRUFEKHJlZyk7CgotLSAKSmFuaSBOaWt1bGEsIEludGVsIE9wZW4g U291cmNlIFRlY2hub2xvZ3kgQ2VudGVyCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeAo=