From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [SKL-DMC-BUGFIX 2/5] drm/i915/skl: Making DC6 entry is the last call in suspend flow. Date: Thu, 6 Aug 2015 17:38:29 +0200 Message-ID: <20150806153829.GY17734@phenom.ffwll.local> References: <1438619136-18268-1-git-send-email-animesh.manna@intel.com> <1438619136-18268-3-git-send-email-animesh.manna@intel.com> <20150805090550.GO17734@phenom.ffwll.local> <55C32622.6060002@intel.com> <20150806131842.GR17734@phenom.ffwll.local> <55C37182.5080105@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f171.google.com (mail-wi0-f171.google.com [209.85.212.171]) by gabe.freedesktop.org (Postfix) with ESMTPS id A2E6D6EBC7 for ; Thu, 6 Aug 2015 08:38:33 -0700 (PDT) Received: by wibhh20 with SMTP id hh20so29713548wib.0 for ; Thu, 06 Aug 2015 08:38:32 -0700 (PDT) Content-Disposition: inline In-Reply-To: <55C37182.5080105@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Animesh Manna Cc: Rajneesh Bhardwaj , intel-gfx@lists.freedesktop.org, Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBBdWcgMDYsIDIwMTUgYXQgMDg6MDg6NThQTSArMDUzMCwgQW5pbWVzaCBNYW5uYSB3 cm90ZToKPiAKPiAKPiBPbiA4LzYvMjAxNSA2OjQ4IFBNLCBEYW5pZWwgVmV0dGVyIHdyb3RlOgo+ ID5PbiBUaHUsIEF1ZyAwNiwgMjAxNSBhdCAwMjo0NzoyMlBNICswNTMwLCBBbmltZXNoIE1hbm5h IHdyb3RlOgo+ID4+Cj4gPj5PbiA4LzUvMjAxNSAyOjM1IFBNLCBEYW5pZWwgVmV0dGVyIHdyb3Rl Ogo+ID4+Pk9uIE1vbiwgQXVnIDAzLCAyMDE1IGF0IDA5OjU1OjMzUE0gKzA1MzAsIEFuaW1lc2gg TWFubmEgd3JvdGU6Cj4gPj4+Pk1taW8gcmVnaXN0ZXIgYWNjZXNzIGFmdGVyIGRjNi9kYzUgZW50 cnkgaXMgbm90IGFsbG93ZWQgd2hlbgo+ID4+Pj5EQzYgcG93ZXIgc3RhdGVzIGFyZSBlbmFibGVk IGFjY29yZGluZyB0byBic3BlYyAoYnNwZWMtaWQgMDUyNyksCj4gPj4+PnNvIGVuYWJsaW5nIGRj NiBhcyB0aGUgbGFzdCBjYWxsIGluIHN1c3BlbmQgZmxvdy4KPiA+Pj4+Cj4gPj4+PnYxOiBJbml0 aWFsIHZlcnNpb24uCj4gPj4+Pgo+ID4+Pj52MjogY29tbWl0IG1lc3NhZ2UgdXBkYXRlZCBiYXNl ZCBvbiBjb21tZW50IGZyb20gVmF0aHNhbGEuCj4gPj4+Pgo+ID4+Pj5DYzogRGFuaWVsIFZldHRl ciA8ZGFuaWVsLnZldHRlckBpbnRlbC5jb20+Cj4gPj4+PkNjOiBEYW1pZW4gTGVzcGlhdSA8ZGFt aWVuLmxlc3BpYXVAaW50ZWwuY29tPgo+ID4+Pj5DYzogSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50 ZWwuY29tPgo+ID4+Pj5DYzogU3VuaWwgS2FtYXRoIDxzdW5pbC5rYW1hdGhAaW50ZWwuY29tPgo+ ID4+Pj5TaWduZWQtb2ZmLWJ5OiBBbmltZXNoIE1hbm5hIDxhbmltZXNoLm1hbm5hQGludGVsLmNv bT4KPiA+Pj4+U2lnbmVkLW9mZi1ieTogVmF0aHNhbGEgTmFnYXJhanUgPHZhdGhzYWxhLm5hZ2Fy YWp1QGludGVsLmNvbT4KPiA+Pj4+U2lnbmVkLW9mZi1ieTogUmFqbmVlc2ggQmhhcmR3YWogPHJh am5lZXNoLmJoYXJkd2FqQGludGVsLmNvbT4KPiA+Pj4+LS0tCj4gPj4+PiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuYyAgICAgICAgIHwgMTIgKysrKysrLS0tLS0tCj4gPj4+PiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgICAgIHwgIDIgKysKPiA+Pj4+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMgfCAzMyArKysrKysrKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KPiA+Pj4+ICAzIGZpbGVzIGNoYW5nZWQsIDE2IGluc2VydGlvbnMo KyksIDMxIGRlbGV0aW9ucygtKQo+ID4+Pj4KPiA+Pj4+ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCj4g Pj4+PmluZGV4IDBkNjc3NWEuLmUxZDAxMDIgMTAwNjQ0Cj4gPj4+Pi0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmMKPiA+Pj4+KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuYwo+ID4+Pj5AQCAtMTAxNywxNCArMTAxNywxMSBAQCBzdGF0aWMgaW50IHNrbF9zdXNw ZW5kX2NvbXBsZXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiA+Pj4+ICB7 Cj4gPj4+PiAgCS8qIEVuYWJsaW5nIERDNiBpcyBub3QgYSBoYXJkIHJlcXVpcmVtZW50IHRvIGVu dGVyIHJ1bnRpbWUgRDMgKi8KPiA+Pj4+LQkvKgo+ID4+Pj4tCSAqIFRoaXMgaXMgdG8gZW5zdXJl IHRoYXQgQ1NSIGlzbid0IGlkZW50aWZpZWQgYXMgbG9hZGVkIGJlZm9yZQo+ID4+Pj4tCSAqIENT Ui1sb2FkaW5nIHByb2dyYW0gaXMgY2FsbGVkIGR1cmluZyBydW50aW1lLXJlc3VtZS4KPiA+Pj4+ LQkgKi8KPiA+Pj4+LQlpbnRlbF9jc3JfbG9hZF9zdGF0dXNfc2V0KGRldl9wcml2LCBGV19VTklO SVRJQUxJWkVEKTsKPiA+Pj5TZWVtcyBsaWtlIGFuIHVucmVsYXRlZCBodW5rLiBTZXBhcmF0ZSBw YXRjaCAoaW4gdGhlIGRtYyBsb2FkZXIgcmV3b3JrCj4gPj4+c2VyaWVzKSBvciBhbiBleHBsYW5h dGlvbiB3aHkgd2UgbmVlZCB0aGlzLgo+ID4+SW4gdGhlIHNhbWUgc2tsX3N1c3BlbmRfY29tcGxl dGUoKSBsYXRlciB3ZSBhcmUgY2hlY2tpbmcgaWYgZmlybXdhcmUgaXMgbG9hZGVkLAo+ID4+YmFz ZWQgb24gdGhhdCB3ZSB0cmlnZ2VyIGRjNiwgc28gdGhlIGFib3ZlIGh1bmsgaGFzIHRvIGJlIHJl bW92ZWQgaW4gdGhpcyBwYXRjaC4KPiA+SSBrbm93IHRoYXQgbGF0ZXIgb24gd2UnbGwgcmVwbGFj ZSB0aGlzIHdpdGggc29tZXRoaW5nIGVsc2UsIGJ1dCB5b3UgY2FuJ3QKPiA+cmVtb3ZlIG9sZCBj b2RlIGJlZm9yZSB0aGUgbmV3IGNvZGUgaXMgdGhlcmUuIEFuZCB5b3UgY2FuJ3QgZG8gY2hhbmdl cwo+ID5saWtlIHRoaXMgaGVyZSBpbiB1bnJlbGF0ZWQgcGF0Y2hlcy4KPiAKPiBjb2RlIHNuaXBw ZXQgYWRkZWQgaW4gdGhpcyBwYXRjaDoKPiArCWlmIChpbnRlbF9jc3JfbG9hZF9zdGF0dXNfZ2V0 KGRldl9wcml2KSA9PSBGV19MT0FERUQpCj4gKwkJc2tsX2VuYWJsZV9kYzYoZGV2X3ByaXYpOwo+ IAo+IFdlIGNhbiBhZGQgdW5pbml0aWxpemVkIGNhbGwgaGVyZSBhZnRlciB0aGlzIHdoaWNoIHdp bGwgYmUgcmVsYXRlZCBjaGFuZ2VzLgo+IEFmdGVyIGRtYyByZWRlc2lnbiB3aWxsIHJlbW92ZSBp dCBjb21wbGV0ZWx5IHRoZSBmdW5jdGlvbiBjYWxsIGZvciBjc3IgdW5pbml0aWFsaXphdGlvbi4K Ck9oIHJpZ2h0IEkgd2FzIGdldHRpbmcgYSBiaXQgY29uZnVzZWQgaGVyZSwgdGhhdCBjaGFuZ2Ug ZG9lcyBtYWtlIHNlbnNlLgpCdXQgdGhlIHBhdGNoIHNob3VsZCBleHBsYWluIGJldHRlciB3aHkv aG93IHRoaXMgYWxsIGdldHMgY2hhbmdlZC4KT2J2aW91c2x5IGlmIHdlIGtlZXAgb24gc2V0dGlu ZyBzdGF0dXMgdG8gVU5JVElBTElaRUQgdGhlbiB0aGlzIGNoZWNrIGhlcmUKd2lsbCBhbHdheXMg ZmFsbCBvdmVyLgoKTWlnaHQgYmUgZ29vZCB0byBzcGxpdCB1cCB0aGlzIHBhdGNoIGludG8gcGFy dHMKMS4gUmVtb3ZlIHRoZSBVTklUSUFMSVpFRCBmcm9tIHN1c3BlbmQgcGF0aCBzaW5jZSBkbWMg c3RheXMgYXJvdW5kLiBBbHNvCmhhbmRsZSByZS1sb2FkaW5nIG9uIGhpYmVybmF0ZSByZXN1bWUg Y29ycmVjdGx5LgoKMi4gQWRqdXN0IG9yZGVyaW5nIGJldHdlZW4gZGM1IGFuZCBkYzYgZm9yIGRt Yy4KCkkgdGhpbmsgdGhlcmUncyBzdGlsbCBtb3JlIHBhcnRzIGluIHRoaXMgcGF0Y2gsIGUuZy4g eW91IGFsc28gcmVtb3ZlIHRoZQp3YWl0X2ZvciAuLi4KCj4gPj5PbiB0aGUgb3RoZXIgaGFuZCBm aXJtd2FyZSB0ZWFtIGNvbmZpcm1lZCB0aGF0IG9uZSB0aW1lIGZpcm13YXJlIGxvYWRpbmcKPiA+ PmR1cmluZyBkcml2ZXIgbG9hZGluZyBpcyBzdWZmaWNpZW50LCBubyBuZWVkIHRvIGxvYWQgZmly bXdhcmUgaW4KPiA+PmNzci1hZGRyZXNzLXNwYWNlIGV2ZXJ5IHN1c3BlbmQgKGRjNiBlbnRyeSkg LSByZXN1bWUgKGRjNiBleGl0KSBmbG93LCBkbWMgd2lsbAo+ID4+dGFrZSBjYXJlIG9mIGl0IHdo aWNoIGVsaW1pbmF0ZSBhbnkgY2hhbmNlIG9mIHJlZ3Jlc3Npb24uCj4gPkFuZCB3aGF0IGFib3V0 IGhpYmVybmF0ZT8KPiAKPiBZZXMsIGR1cmluZyBoaWJlcm5hdGUgSSBhc3N1bWVkIG9zIHdpbGwg cmVzdG9yZSB0aGUgcmFtIGNvbnRlbnQgZnJvbSBkaXNrLgo+IEJ1dCBzcGVjaWFsbHkgZm9yIGNz ciBwcm9ncmFtIHdlIG5lZWQgdG8gbG9hZCBpdCBhZ2Fpbi4gVGhhbmtzIGZvciB0aGUgcG9pbnRl ci4KCkhpYmVybmF0ZSBpcyByZWFsbHkgdHJpY2t5LCBzbyBwbGVhc2UgdHJ5IHRvIHRlc3QgdGhh dCBmdWxseS4gVGhlIGJpZyByaXNrCmlzIHJlc3VtZToKLSBmaXJzdCB3ZSBsb2FkIGEgbm9ybWFs IGtlcm5lbCwgaW5jbHVkaW5nIGk5MTUgYW5kIGV2ZXJ5dGhpbmcKLSB0aGVuIHRoYXQgZmlyc3Qg a2VybmVsIGxvYWRzIHRoZSBoaWJlcm5hdGUgaW1hZ2UKLSB0aGVuIGFsbCBodyBnZXRzIHNodXQg ZG93biBsaWtlIHdpdGggYSBub3JtYWwgc3VzcGVuZCBjYWxsCi0gdGhlbiB3ZSByZXN1bWUgZXZl cnl0aGluZyBhZ2FpbgoKR2l2ZW4gYWxsIHRoaXMgd2UgbWlnaHQgbmVlZCB0byBjaGVjayB0aGUg aHcgc3RhdGUgaXRzZWxmIHdoZXRoZXIgZG1jIGlzCmxvYWRlZCBhbHJlYWR5IGFuZCBvbmx5IGxv YWQgaXQgaWYgdGhhdCdzIHRoZSBjYXNlLiBPdGhlcndpc2UgYmFkIHN0dWZmCm1pZ2h0IGhhcHBl bi4KLURhbmllbAoKPiAKPiAKPiAtQW5pbWVzaAo+IAo+ID4tRGFuaWVsCj4gPj4tIEFuaW1lc2gK PiA+Pgo+ID4+Pj4tCj4gPj4+PiAgCXNrbF91bmluaXRfY2RjbGsoZGV2X3ByaXYpOwo+ID4+Pj4r CWlmIChpbnRlbF9jc3JfbG9hZF9zdGF0dXNfZ2V0KGRldl9wcml2KSA9PSBGV19MT0FERUQpCj4g Pj4+PisJCXNrbF9lbmFibGVfZGM2KGRldl9wcml2KTsKPiA+Pj4+Kwo+ID4+Pj4gIAlyZXR1cm4g MDsKPiA+Pj4+ICB9Cj4gPj4+PkBAIC0xMDcxLDYgKzEwNjgsOSBAQCBzdGF0aWMgaW50IHNrbF9y ZXN1bWVfcHJlcGFyZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gPj4+PiAg ewo+ID4+Pj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZGV2X3ByaXYtPmRldjsKPiA+Pj4+ KwlpZiAoaW50ZWxfY3NyX2xvYWRfc3RhdHVzX2dldChkZXZfcHJpdikgPT0gRldfTE9BREVEKQo+ ID4+Pj4rCQlza2xfZGlzYWJsZV9kYzYoZGV2X3ByaXYpOwo+ID4+Pj4rCj4gPj4+PiAgCXNrbF9p bml0X2NkY2xrKGRldl9wcml2KTsKPiA+Pj4+ICAJaW50ZWxfY3NyX2xvYWRfcHJvZ3JhbShkZXYp Owo+ID4+Pj5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4+Pj5pbmRleCA0N2NlZjBlLi4wNmYz NDZmIDEwMDY0NAo+ID4+Pj4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ ID4+Pj4rKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4+Pj5AQCAtMTEx Nyw2ICsxMTE3LDggQEAgdm9pZCBieHRfZW5hYmxlX2RjOShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpOwo+ID4+Pj4gIHZvaWQgYnh0X2Rpc2FibGVfZGM5KHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdik7Cj4gPj4+PiAgdm9pZCBza2xfaW5pdF9jZGNsayhzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ID4+Pj4gIHZvaWQgc2tsX3VuaW5pdF9jZGNs ayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ID4+Pj4rdm9pZCBza2xfZW5h YmxlX2RjNihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ID4+Pj4rdm9pZCBz a2xfZGlzYWJsZV9kYzYoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPiA+Pj4+ ICB2b2lkIGludGVsX2RwX2dldF9tX24oc3RydWN0IGludGVsX2NydGMgKmNydGMsCj4gPj4+PiAg CQkgICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpOwo+ID4+Pj4gIHZv aWQgaW50ZWxfZHBfc2V0X21fbihzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywgZW51bSBsaW5rX21f bl9zZXQgbV9uKTsKPiA+Pj4+ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3J1bnRpbWVfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYwo+ ID4+Pj5pbmRleCA2MzkzYjc2Li5jNjYwMjQ1IDEwMDY0NAo+ID4+Pj4tLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMKPiA+Pj4+KysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCj4gPj4+PkBAIC01MzIsNyArNTMyLDcgQEAgc3RhdGlj IHZvaWQgYXNzZXJ0X2Nhbl9kaXNhYmxlX2RjNihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCj4gPj4+PiAgCQkiREM2IGFscmVhZHkgcHJvZ3JhbW1lZCB0byBiZSBkaXNhYmxlZC5c biIpOwo+ID4+Pj4gIH0KPiA+Pj4+LXN0YXRpYyB2b2lkIHNrbF9lbmFibGVfZGM2KHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiA+Pj4+K3ZvaWQgc2tsX2VuYWJsZV9kYzYoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ID4+Pj4gIHsKPiA+Pj4+ICAJdWludDMy X3QgdmFsOwo+ID4+Pj5AQCAtNTQ5LDcgKzU0OSw3IEBAIHN0YXRpYyB2b2lkIHNrbF9lbmFibGVf ZGM2KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiA+Pj4+ICAJUE9TVElOR19S RUFEKERDX1NUQVRFX0VOKTsKPiA+Pj4+ICB9Cj4gPj4+Pi1zdGF0aWMgdm9pZCBza2xfZGlzYWJs ZV9kYzYoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ID4+Pj4rdm9pZCBza2xf ZGlzYWJsZV9kYzYoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ID4+Pj4gIHsK PiA+Pj4+ICAJdWludDMyX3QgdmFsOwo+ID4+PkV2ZXJ5dGhpbmcgYWJvdmUgc2VlbXMgdG8gcm91 Z2hseSBiZSBtYXRjaGluZyB5b3VyIHBhdGNoIGRlc2NyaXB0aW9uLCBidXQKPiA+Pj5ub3QgcGVy ZmVjdGx5OiBZb3UgdGFsayBhYm91dCBzdXNwZW5kIGZsb3cgYnV0IGFsc28gdG91Y2ggcmVzdW1l IGZsb3cuCj4gPj4+Cj4gPj4+QnV0IHRoZSBodW5rcyBiZWxvdyBhcmUgY29tcGxldGVseSB1bmV4 cGxhaW5lZCBtYWdpYyBhZmFpY3QuIEVpdGhlciB0aGlzCj4gPj4+bmVlZHMgYSBzZXBhcmF0ZSBw YXRjaCBvciBpdCBuZWVkcyBzZXJpb3VzbHkgbW9yZSBleHBsYW5hdGlvbiBvZiB3aGF0J3MKPiA+ Pj5nb2luZyBvbi4KPiA+Pj4KPiA+Pj4+QEAgLTYxMCwxMCArNjEwLDEwIEBAIHN0YXRpYyB2b2lk IHNrbF9zZXRfcG93ZXJfd2VsbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4g Pj4+PiAgCQkJCSFJOTE1X1JFQUQoSFNXX1BXUl9XRUxMX0JJT1MpLAo+ID4+Pj4gIAkJCQkiSW52 YWxpZCBmb3IgcG93ZXIgd2VsbCBzdGF0dXMgdG8gYmUgZW5hYmxlZCwgdW5sZXNzIGRvbmUgYnkg dGhlIEJJT1MsIFwKPiA+Pj4+ICAJCQkJd2hlbiByZXF1ZXN0IGlzIHRvIGRpc2FibGUhXG4iKTsK PiA+Pj4+LQkJCWlmICgoR0VOOV9FTkFCTEVfREM1KGRldikgfHwgU0tMX0VOQUJMRV9EQzYoZGV2 KSkgJiYKPiA+Pj4+LQkJCQlwb3dlcl93ZWxsLT5kYXRhID09IFNLTF9ESVNQX1BXXzIpIHsKPiA+ Pj4+KwkJCWlmIChwb3dlcl93ZWxsLT5kYXRhID09IFNLTF9ESVNQX1BXXzIpIHsKPiA+Pj4+KwkJ CQlpZiAoR0VOOV9FTkFCTEVfREM1KGRldikpCj4gPj4+PisJCQkJCWdlbjlfZGlzYWJsZV9kYzUo ZGV2X3ByaXYpOwo+ID4+Pj4gIAkJCQlpZiAoU0tMX0VOQUJMRV9EQzYoZGV2KSkgewo+ID4+Pj4t CQkJCQlza2xfZGlzYWJsZV9kYzYoZGV2X3ByaXYpOwo+ID4+Pj4gIAkJCQkJLyoKPiA+Pj4+ICAJ CQkJCSAqIERESSBidWZmZXIgcHJvZ3JhbW1pbmcgdW5uZWNlc3NhcnkgZHVyaW5nIGRyaXZlci1s b2FkL3Jlc3VtZQo+ID4+Pj4gIAkJCQkJICogYXMgaXQncyBhbHJlYWR5IGRvbmUgZHVyaW5nIG1v ZGVzZXQgaW5pdGlhbGl6YXRpb24gdGhlbi4KPiA+Pj4+QEAgLTYyMSw4ICs2MjEsNiBAQCBzdGF0 aWMgdm9pZCBza2xfc2V0X3Bvd2VyX3dlbGwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LAo+ID4+Pj4gIAkJCQkJICovCj4gPj4+PiAgCQkJCQlpZiAoIWRldl9wcml2LT5wb3dlcl9k b21haW5zLmluaXRpYWxpemluZykKPiA+Pj4+ICAJCQkJCQlpbnRlbF9wcmVwYXJlX2RkaShkZXYp Owo+ID4+Pj4tCQkJCX0gZWxzZSB7Cj4gPj4+Pi0JCQkJCWdlbjlfZGlzYWJsZV9kYzUoZGV2X3By aXYpOwo+ID4+Pj4gIAkJCQl9Cj4gPj4+PiAgCQkJfQo+ID4+Pj4gIAkJCUk5MTVfV1JJVEUoSFNX X1BXUl9XRUxMX0RSSVZFUiwgdG1wIHwgcmVxX21hc2spOwo+ID4+Pj5AQCAtNjQyLDI0ICs2NDAs OSBAQCBzdGF0aWMgdm9pZCBza2xfc2V0X3Bvd2VyX3dlbGwoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LAo+ID4+Pj4gIAkJCVBPU1RJTkdfUkVBRChIU1dfUFdSX1dFTExfRFJJVkVS KTsKPiA+Pj4+ICAJCQlEUk1fREVCVUdfS01TKCJEaXNhYmxpbmcgJXNcbiIsIHBvd2VyX3dlbGwt Pm5hbWUpOwo+ID4+Pj4tCQkJaWYgKChHRU45X0VOQUJMRV9EQzUoZGV2KSB8fCBTS0xfRU5BQkxF X0RDNihkZXYpKSAmJgo+ID4+Pj4tCQkJCXBvd2VyX3dlbGwtPmRhdGEgPT0gU0tMX0RJU1BfUFdf Mikgewo+ID4+Pj4tCQkJCWVudW0gY3NyX3N0YXRlIHN0YXRlOwo+ID4+Pj4tCQkJCS8qIFRPRE86 IHdhaXQgZm9yIGEgY29tcGxldGlvbiBldmVudCBvcgo+ID4+Pj4tCQkJCSAqIHNpbWlsYXIgaGVy ZSBpbnN0ZWFkIG9mIGJ1c3kKPiA+Pj4+LQkJCQkgKiB3YWl0aW5nIHVzaW5nIHdhaXRfZm9yIGZ1 bmN0aW9uLgo+ID4+Pj4tCQkJCSAqLwo+ID4+Pj4tCQkJCXdhaXRfZm9yKChzdGF0ZSA9IGludGVs X2Nzcl9sb2FkX3N0YXR1c19nZXQoZGV2X3ByaXYpKSAhPQo+ID4+Pj4tCQkJCQkJRldfVU5JTklU SUFMSVpFRCwgMTAwMCk7Cj4gPj4+Pi0JCQkJaWYgKHN0YXRlICE9IEZXX0xPQURFRCkKPiA+Pj4+ LQkJCQkJRFJNX0VSUk9SKCJDU1IgZmlybXdhcmUgbm90IHJlYWR5ICglZClcbiIsCj4gPj4+Pi0J CQkJCQkJc3RhdGUpOwo+ID4+Pj4tCQkJCWVsc2UKPiA+Pj4+LQkJCQkJaWYgKFNLTF9FTkFCTEVf REM2KGRldikpCj4gPj4+Pi0JCQkJCQlza2xfZW5hYmxlX2RjNihkZXZfcHJpdik7Cj4gPj4+Pi0J CQkJCWVsc2UKPiA+Pj4+LQkJCQkJCWdlbjlfZW5hYmxlX2RjNShkZXZfcHJpdik7Cj4gPj4+Pi0J CQl9Cj4gPj4+PisJCQlpZiAoR0VOOV9FTkFCTEVfREM1KGRldikgJiYKPiA+Pj4+KwkJCQlwb3dl cl93ZWxsLT5kYXRhID09IFNLTF9ESVNQX1BXXzIpCj4gPj4+PisJCQkJCWdlbjlfZW5hYmxlX2Rj NShkZXZfcHJpdik7Cj4gPj4+PiAgCQl9Cj4gPj4+PiAgCX0KPiA+Pj4+LS0gCj4gPj4+PjIuMC4y Cj4gPj4+Pgo+ID4+Pj5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwo+ID4+Pj5JbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gPj4+PkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKPiA+Pj4+aHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo+IAoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5l ZXIsIEludGVsIENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QK SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==