From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [PATCH v2 6/8] drm/i915/skl: Add DC6 Trigger sequence. Date: Mon, 13 Apr 2015 15:50:23 +0300 Message-ID: <1428929423.29827.75.camel@intel.com> References: <1428007320.8235.66.camel@ideak-mobl> <1428678710-11462-1-git-send-email-animesh.manna@intel.com> Reply-To: imre.deak@intel.com Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id AADD56E419 for ; Mon, 13 Apr 2015 05:50:25 -0700 (PDT) In-Reply-To: <1428678710-11462-1-git-send-email-animesh.manna@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: Suketu Shah , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gcGUsIDIwMTUtMDQtMTAgYXQgMjA6NDEgKzA1MzAsIEFuaW1lc2ggTWFubmEgd3JvdGU6Cj4g RnJvbTogU3VrZXR1IFNoYWggPHN1a2V0dS5qLnNoYWhAaW50ZWwuY29tPgo+IAo+IEFkZCB0cmln Z2VycyBmb3IgREM2IGFzIHBlciBkZXRhaWxzIHByb3ZpZGVkIGluIHNrbF9lbmFibGVfZGM2Cj4g YW5kIHNrbF9kaXNhYmxlX2RjNiBpbXBsZW1lbnRhdGlvbnMuCj4gCj4gQWxzbyBDYWxsIFBPU1RJ TkdfUkVBRCBmb3IgZXZlcnkgd3JpdGUgdG8gYSByZWdpc3RlciB0byBlbnN1cmUKPiBpdCBpcyB3 cml0dGVuIHRvIGltbWVkaWF0ZWx5Cj4gCj4gdjE6IFJlbW92ZSBQT1NUSU5HX1JFQUQgYW5kIGlu dGVsX3ByZXBhcmVfZGRpIGNhbGxzIGFzIHRoZXkndmUgYmVlbiBhZGRlZCBpbiBwcmV2aW91cyBw YXRjaGVzLgo+IAo+IHYyOgo+IDFdIFJlbW92ZSBjaGVjayBmb3IgYmFja2xpZ2h0IGRpc2FibGVk IGFzIGl0IHNob3VsZCBiZSB0aGUgY2FzZSBieSB0aGF0IHRpbWUuCj4gMl0gTWFyayBEQzUgYXMg ZGlzYWJsZWQgd2hlbiBlbmFibGluZyBEQzYuCj4gM10gUmV0dXJuIGZyb20gREM1LWRpc2FibGlu ZyBmdW5jdGlvbiBlYXJseSBpZiBEQzUgaXMgYWxyZWFkeSBiZSBkaXNhYmxlZCB3aGljaCBjYW4g aGFwcGVuCj4gICAgZHVlIHRvIERDNi1lbmFibGluZyBlYXJsaWVyLgo+IDNdIEVuc3VyZSBDU1Ig ZmlybXdhcmUgaXMgbG9hZGVkIGFmdGVyIHJlc3VtZSBmcm9tIERDNiBhcyBjb3JyZXNwb25kaW5n IG1lbW9yeSBjb250ZW50cyB3b24ndAo+ICAgIGJlIHJldGFpbmVkIGFmdGVyIHJ1bnRpbWUtc3Vz cGVuZC4KPiA0XSBFbnN1cmUgdGhhdCBDU1IgaXNuJ3QgaWRlbnRpZmllZCBhcyBsb2FkZWQgYmVm b3JlIENTUi1sb2FkaW5nIHByb2dyYW0gaXMgY2FsbGVkIGR1cmluZwo+ICAgIHJ1bnRpbWUtcmVz dW1lLgo+IAo+IHYzOiBSZWJhc2UgdG8gbGF0ZXN0Cj4gTW9kaWZpZWQgYXMgcGVyIHJldmlldyBj b21tZW50cyBmcm9tIEltcmUgYW5kIGFmdGVyIGRpc2N1c3Npb24gd2l0aCBBcnQ6Cj4gMV0gREM2 IHNob3VsZCBiZSBwcmVmZXJhYmx5IGVuYWJsZWQgd2hlbiBQRzIgaXMgZGlzYWJsZWQgYnkgU1cg YXMgdGhlIGNoZWNrIGZvciBQRzEgYmVpbmcKPiAgICBkaXNhYmxlZCBpcyB0YWtlbiBvZiBieSBI VyB0byBlbnRlciBEQzYsIGFuZCBkaXNhYmxlZCB3aGVuIFBHMiBpcyBlbmFibGVkIHJlc3BlY3Rp dmVseS4KPiAgICBUaGlzIGhlbHBzIHNhdmUgbW9yZSBwb3dlciwgZXNwZWNpYWxseSBpbiB0aGUg Y2FzZSB3aGVuIGRpc3BsYXkgaXMgZGlzYWJsZWQgYnV0IEdUIGlzCj4gICAgZW5hYmxlZC4gQWNj b3JkaW5nbHksIHJlcGxhY2luZyBEQzUgdHJpZ2dlciBzZXF1ZW5jZSB3aXRoIERDNiBmb3IgU0tM Lgo+IDJdIERDNiBjb3VsZCBiZSBlbmFibGVkIGZyb20gaW50ZWxfcnVudGltZV9zdXNwZW5kKCkg ZnVuY3Rpb24sIGlmIERDNSBpcyBhbHJlYWR5IGVuYWJsZWQuCj4gM10gTW92ZSBDU1ItbG9hZC1z dGF0dXMgc2V0dGluZyBjb2RlIGZyb20gaW50ZWxfcnVudGltZV9zdXNwZW5kIGZ1bmN0aW9uIHRv IGEgbmV3IGZ1bmN0aW9uLgo+IAo+IHY0Ogo+IDFdIEVuYWJsZS9kaXNhYmxlIERDNiBvbmx5IHdo ZW4gdG9nZ2xpbmcgdGhlIHBvd2VyLXdlbGwgdXNpbmcgYSBuZXdseSBkZWZpbmVkIG1hY3JvIEVO QUJMRV9EQzYuCj4gCj4gdjU6Cj4gMV0gTG9hZCBDU1Igb24gc3lzdGVtIHJlc3VtZSB0b28gYXMg ZmlybXdhcmUgbWF5IGJlIGxvc3Qgb24gc3lzdGVtIHN1c3BlbmQgcHJldmVudGluZwo+ICAgIGVu YWJsaW5nIERDNSwgREM2Lgo+IDJdIERESSBidWZmZXJzIHNob3VsZG4ndCBiZSBwcm9ncmFtbWVk IGR1cmluZyBkcml2ZXItbG9hZC9yZXN1bWUgYXMgaXQncyBhbHJlYWR5IGRvbmUKPiAgICBkdXJp bmcgbW9kZXNldCBpbml0aWFsaXphdGlvbiB0aGVuIGFuZCBhbHNvIHRoYXQgdGhlIGVuY29kZXIg bGlzdCBpcyBzdGlsbCB1bmluaXRpYWxpemVkIGJ5Cj4gICAgdGhlbi4gVGhlcmVmb3JlLCBjYWxs IGludGVsX3ByZXBhcmVfZGRpIGZ1bmN0aW9uIHJpZ2h0IGFmdGVyIGRpc2FibGluZyBEQzYgYnV0 IG91dHNpZGUKPiAgICBza2xfZGlzYWJsZV9kYzYgZnVuY3Rpb24gYW5kIG5vdCBkdXJpbmcgZHJp dmVyLWxvYWQvcmVzdW1lLgo+IAo+IHY2Ogo+IDFdIFJlYmFzZSB0byBsYXRlc3QuCj4gMl0gTW92 ZSBTS0xfRU5BQkxFX0RDNiBtYWNybyBkZWZpbml0aW9uIGZyb20gaW50ZWxfZGlzcGxheS5jIHRv IGludGVsX3J1bnRpbWVfcG0uYy4KPiAKPiB2NzoKPiAxKSBSZWZhY3RvcmVkIHRoZSBjb2RlIGZv ciByZW1vdmluZyB0aGUgd2FybmluZyBnb3QgZnJvbSBjaGVja3BhdGNoLgo+IDIpIEFmdGVyIGFk ZGluZyBkbWMgdmVyIDEuMCBzdXBwb3J0IHJlYmFzZWQgb24gdG9wIG9mIG5pZ2h0bHkuIChBbmlt ZXNoKQo+IAo+IHY4Ogo+IC0gUmV2ZXJ0ZWQgdGhlIGNoYW5nZXMgZG9uZSBpbiB2Ny4KPiAtIFJl bW92ZWQgdGhlIGNvbmRpdGlvbiBjaGVjayBpbiBza2xfcHJlcGFyZV9yZXN1bmUoKS4gKEFuaW1l c2gpCj4gCj4gSXNzdWU6IFZJWi0yODE5Cj4gU2lnbmVkLW9mZi1ieTogQS5TdW5pbCBLYW1hdGgg PHN1bmlsLmthbWF0aEBpbnRlbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogU3VrZXR1IFNoYWggPHN1 a2V0dS5qLnNoYWhAaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IERhbWllbiBMZXNwaWF1IDxk YW1pZW4ubGVzcGlhdUBpbnRlbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogQW5pbWVzaCBNYW5uYSA8 YW5pbWVzaC5tYW5uYUBpbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmMgICAgICAgICB8IDMwICsrKysrKysrKysrKysrKysrKysrKysrKysKPiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jIHwgNDAgKysrKysrKysrKysrKysrKysr KysrKy0tLS0tLS0tLS0tCj4gIDIgZmlsZXMgY2hhbmdlZCwgNTcgaW5zZXJ0aW9ucygrKSwgMTMg ZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCj4gaW5kZXggYWNkMGUyYi4u N2ExMTIzYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwo+IEBAIC01OTQsNiArNTk0LDgg QEAgc3RhdGljIHZvaWQgaW50ZWxfc3VzcGVuZF9lbmNvZGVycyhzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCj4gIHN0YXRpYyBpbnQgaW50ZWxfc3VzcGVuZF9jb21wbGV0ZShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ICBzdGF0aWMgaW50IHZsdl9yZXN1bWVf cHJlcGFyZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJCSAgICAgIGJv b2wgcnBtX3Jlc3VtZSk7Cj4gK3N0YXRpYyBpbnQgc2tsX3Jlc3VtZV9wcmVwYXJlKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4gKwo+ICAKPiAgc3RhdGljIGludCBpOTE1X2Ry bV9zdXNwZW5kKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIHsKPiBAQCAtODA4LDYgKzgxMCw4 IEBAIHN0YXRpYyBpbnQgaTkxNV9kcm1fcmVzdW1lX2Vhcmx5KHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYpCj4gIAo+ICAJaWYgKElTX0hBU1dFTEwoZGV2X3ByaXYpIHx8IElTX0JST0FEV0VMTChkZXZf cHJpdikpCj4gIAkJaHN3X2Rpc2FibGVfcGM4KGRldl9wcml2KTsKPiArCWVsc2UgaWYgKElTX1NL WUxBS0UoZGV2X3ByaXYpKQo+ICsJCXJldCA9IHNrbF9yZXN1bWVfcHJlcGFyZShkZXZfcHJpdik7 Cj4gIAo+ICAJaW50ZWxfdW5jb3JlX3Nhbml0aXplKGRldik7Cj4gIAlpbnRlbF9wb3dlcl9kb21h aW5zX2luaXRfaHcoZGV2X3ByaXYpOwo+IEBAIC0xMDIyLDYgKzEwMjYsMTkgQEAgc3RhdGljIGlu dCBpOTE1X3BtX3Jlc3VtZShzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gIAlyZXR1cm4gaTkxNV9kcm1f cmVzdW1lKGRybV9kZXYpOwo+ICB9Cj4gIAo+ICtzdGF0aWMgaW50IHNrbF9zdXNwZW5kX2NvbXBs ZXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiArewo+ICsJLyogRW5hYmxp bmcgREM2IGlzIG5vdCBhIGhhcmQgcmVxdWlyZW1lbnQgdG8gZW50ZXIgcnVudGltZSBEMyAqLwo+ ICsKPiArCS8qCj4gKwkgKiBUaGlzIGlzIHRvIGVuc3VyZSB0aGF0IENTUiBpc24ndCBpZGVudGlm aWVkIGFzIGxvYWRlZCBiZWZvcmUKPiArCSAqIENTUi1sb2FkaW5nIHByb2dyYW0gaXMgY2FsbGVk IGR1cmluZyBydW50aW1lLXJlc3VtZS4KPiArCSAqLwo+ICsJaW50ZWxfY3NyX2xvYWRfc3RhdHVz X3NldChkZXZfcHJpdiwgZmFsc2UpOwoKVGhpcyBzZXRzIHRoZSB3cm9uZyBzdGF0ZSBub3csIHNo b3VsZCBiZSBzb21ldGhpbmcgbGlrZQppbnRlbF9jc3Jfc3RhdGVfc2V0KGRldl9wcml2LCBGV19V TklOSVRJQUxJWkVEKTsKCj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gIHN0YXRpYyBpbnQg aHN3X3N1c3BlbmRfY29tcGxldGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ ICB7Cj4gIAloc3dfZW5hYmxlX3BjOChkZXZfcHJpdik7Cj4gQEAgLTEwMjksNiArMTA0NiwxNSBA QCBzdGF0aWMgaW50IGhzd19zdXNwZW5kX2NvbXBsZXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdikKPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+ICtzdGF0aWMgaW50IHNrbF9yZXN1 bWVfcHJlcGFyZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gK3sKPiArCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBkZXZfcHJpdi0+ZGV2Owo+ICsKPiArCWludGVsX2Nzcl9s b2FkX3Byb2dyYW0oZGV2KTsKPiArCj4gKwlyZXR1cm4gMDsKPiArfQo+ICsKPiAgLyoKPiAgICog U2F2ZSBhbGwgR3VuaXQgcmVnaXN0ZXJzIHRoYXQgbWF5IGJlIGxvc3QgYWZ0ZXIgYSBEMyBhbmQg YSBzdWJzZXF1ZW50Cj4gICAqIFMwaVtSMTIzXSB0cmFuc2l0aW9uLiBUaGUgbGlzdCBvZiByZWdp c3RlcnMgbmVlZGluZyBhIHNhdmUvcmVzdG9yZSBpcwo+IEBAIC0xNDg3LDYgKzE1MTMsOCBAQCBz dGF0aWMgaW50IGludGVsX3J1bnRpbWVfcmVzdW1lKHN0cnVjdCBkZXZpY2UgKmRldmljZSkKPiAg Cj4gIAlpZiAoSVNfR0VONihkZXZfcHJpdikpCj4gIAkJaW50ZWxfaW5pdF9wY2hfcmVmY2xrKGRl dik7Cj4gKwllbHNlIGlmIChJU19TS1lMQUtFKGRldikpCj4gKwkJcmV0ID0gc2tsX3Jlc3VtZV9w cmVwYXJlKGRldl9wcml2KTsKPiAgCWVsc2UgaWYgKElTX0hBU1dFTEwoZGV2X3ByaXYpIHx8IElT X0JST0FEV0VMTChkZXZfcHJpdikpCj4gIAkJaHN3X2Rpc2FibGVfcGM4KGRldl9wcml2KTsKPiAg CWVsc2UgaWYgKElTX1ZBTExFWVZJRVcoZGV2X3ByaXYpKQo+IEBAIC0xNTE5LDYgKzE1NDcsOCBA QCBzdGF0aWMgaW50IGludGVsX3N1c3BlbmRfY29tcGxldGUoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGRldl9wcml2LT5kZXY7 Cj4gIAlpbnQgcmV0Owo+ICAKPiArCWlmIChJU19TS1lMQUtFKGRldikpCj4gKwkJcmV0ID0gc2ts X3N1c3BlbmRfY29tcGxldGUoZGV2X3ByaXYpOwo+ICAJaWYgKElTX0hBU1dFTEwoZGV2KSB8fCBJ U19CUk9BRFdFTEwoZGV2KSkKPiAgCQlyZXQgPSBoc3dfc3VzcGVuZF9jb21wbGV0ZShkZXZfcHJp dik7Cj4gIAllbHNlIGlmIChJU19WQUxMRVlWSUVXKGRldikpCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3J1bnRpbWVfcG0uYwo+IGluZGV4IGVhOTVkZjcuLjZjZjU0YzEgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCj4gQEAgLTUwLDcgKzUwLDggQEAKPiAg ICogcHJlc2VudCBmb3IgYSBnaXZlbiBwbGF0Zm9ybS4KPiAgICovCj4gIAo+IC0jZGVmaW5lIEdF TjlfRU5BQkxFX0RDNShkZXYpIChJU19TS1lMQUtFKGRldikpCj4gKyNkZWZpbmUgR0VOOV9FTkFC TEVfREM1KGRldikgMAo+ICsjZGVmaW5lIFNLTF9FTkFCTEVfREM2KGRldikgSVNfU0tZTEFLRShk ZXYpCj4gIAo+ICAjZGVmaW5lIGZvcl9lYWNoX3Bvd2VyX3dlbGwoaSwgcG93ZXJfd2VsbCwgZG9t YWluX21hc2ssIHBvd2VyX2RvbWFpbnMpCVwKPiAgCWZvciAoaSA9IDA7CQkJCQkJCVwKPiBAQCAt NDM4LDggKzQzOSw2IEBAIHN0YXRpYyB2b2lkIHNrbF9kaXNhYmxlX2RjNihzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAl2YWwgJj0gfkRDX1NUQVRFX0VOX1VQVE9fREM2Owo+ ICAJSTkxNV9XUklURShEQ19TVEFURV9FTiwgdmFsKTsKPiAgCVBPU1RJTkdfUkVBRChEQ19TVEFU RV9FTik7Cj4gLQo+IC0JaW50ZWxfcHJlcGFyZV9kZGkoZGV2KTsKPiAgfQo+ICAKPiAgc3RhdGlj IHZvaWQgc2tsX3NldF9wb3dlcl93ZWxsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKPiBAQCAtNDg5LDkgKzQ4OCwyMSBAQCBzdGF0aWMgdm9pZCBza2xfc2V0X3Bvd2VyX3dlbGwo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJCQkJIUk5MTVfUkVBRChIU1df UFdSX1dFTExfQklPUyksCj4gIAkJCQkiSW52YWxpZCBmb3IgcG93ZXIgd2VsbCBzdGF0dXMgdG8g YmUgZW5hYmxlZCwgdW5sZXNzIGRvbmUgYnkgdGhlIEJJT1MsIFwKPiAgCQkJCXdoZW4gcmVxdWVz dCBpcyB0byBkaXNhYmxlIVxuIik7Cj4gLQkJCWlmIChHRU45X0VOQUJMRV9EQzUoZGV2KSAmJgo+ IC0JCQkJcG93ZXJfd2VsbC0+ZGF0YSA9PSBTS0xfRElTUF9QV18yKQo+IC0JCQkJZ2VuOV9kaXNh YmxlX2RjNShkZXZfcHJpdik7Cj4gKwkJCWlmICgoR0VOOV9FTkFCTEVfREM1KGRldikgfHwgU0tM X0VOQUJMRV9EQzYoZGV2KSkgJiYKPiArCQkJCXBvd2VyX3dlbGwtPmRhdGEgPT0gU0tMX0RJU1Bf UFdfMikgewo+ICsJCQkJaWYgKFNLTF9FTkFCTEVfREM2KGRldikpIHsKPiArCQkJCQlza2xfZGlz YWJsZV9kYzYoZGV2X3ByaXYpOwo+ICsJCQkJCS8qCj4gKwkJCQkJICogRERJIGJ1ZmZlciBwcm9n cmFtbWluZyB1bm5lY2Vzc2FyeSBkdXJpbmcgZHJpdmVyLWxvYWQvcmVzdW1lCj4gKwkJCQkJICog YXMgaXQncyBhbHJlYWR5IGRvbmUgZHVyaW5nIG1vZGVzZXQgaW5pdGlhbGl6YXRpb24gdGhlbi4K PiArCQkJCQkgKiBJdCdzIGFsc28gaW52YWxpZCBoZXJlIGFzIGVuY29kZXIgbGlzdCBpcyBzdGls bCB1bmluaXRpYWxpemVkLgo+ICsJCQkJCSAqLwo+ICsJCQkJCWlmICghZGV2X3ByaXYtPnBvd2Vy X2RvbWFpbnMuaW5pdGlhbGl6aW5nKQo+ICsJCQkJCQlpbnRlbF9wcmVwYXJlX2RkaShkZXYpOwo+ ICsJCQkJfSBlbHNlIHsKPiArCQkJCQlnZW45X2Rpc2FibGVfZGM1KGRldl9wcml2KTsKPiArCQkJ CX0KPiArCQkJfQo+ICAJCQlJOTE1X1dSSVRFKEhTV19QV1JfV0VMTF9EUklWRVIsIHRtcCB8IHJl cV9tYXNrKTsKPiAgCQl9Cj4gIAo+IEBAIC01MDksMjIgKzUyMCwyNSBAQCBzdGF0aWMgdm9pZCBz a2xfc2V0X3Bvd2VyX3dlbGwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJ CQlQT1NUSU5HX1JFQUQoSFNXX1BXUl9XRUxMX0RSSVZFUik7Cj4gIAkJCURSTV9ERUJVR19LTVMo IkRpc2FibGluZyAlc1xuIiwgcG93ZXJfd2VsbC0+bmFtZSk7Cj4gIAo+IC0JCQlpZiAoR0VOOV9F TkFCTEVfREM1KGRldikgJiYKPiArCQkJaWYgKChHRU45X0VOQUJMRV9EQzUoZGV2KSB8fCBTS0xf RU5BQkxFX0RDNihkZXYpKSAmJgo+ICAJCQkJcG93ZXJfd2VsbC0+ZGF0YSA9PSBTS0xfRElTUF9Q V18yKSB7Cj4gIAkJCQlpZiAoZGV2X3ByaXYtPmNzci5zdGF0ZXMgPD0gRldfTE9BRElORykgewo+ ICAJCQkJCS8qCj4gLQkJCQkJKiBUT0RPOiB3YWl0IGZvciBhIGNvbXBsZXRpb24gZXZlbnQgb3IK PiAtCQkJCQkqIHNpbWlsYXIgaGVyZSBpbnN0ZWFkIG9mIGJ1c3kKPiAtCQkJCQkqIHdhaXRpbmcg dXNpbmcgd2FpdF9mb3IgZnVuY3Rpb24uCj4gLQkJCQkJKi8KPiArCQkJCQkgKiBUT0RPOiB3YWl0 IGZvciBhIGNvbXBsZXRpb24gZXZlbnQgb3Igc2ltaWxhciBoZXJlIGluc3RlYWQgb2YgYnVzeQo+ ICsJCQkJCSAqIHdhaXRpbmcgdXNpbmcgd2FpdF9mb3IgZnVuY3Rpb24uCj4gKwkJCQkJICovCj4g IAkJCQkJaWYgKHdhaXRfZm9yKAo+ICAJCQkJCQlpbnRlbF9jc3JfbG9hZF9zdGF0dXNfZ2V0KAo+ ICAJCQkJCQkJZGV2X3ByaXYpLCAxMDAwKSkKPiAgCQkJCQkJRFJNX0VSUk9SKCJUaW1lZCBvdXQg d2FpdGluZyBmb3IgQ1NSIHRvIGJlIGxvYWRlZCEiKTsKPiAgCQkJCQllbHNlCj4gLQkJCQkJCWdl bjlfZW5hYmxlX2RjNShkZXZfcHJpdik7Cj4gKwkJCQkJCWlmIChTS0xfRU5BQkxFX0RDNihkZXYp KQo+ICsJCQkJCQkJc2tsX2VuYWJsZV9kYzYoZGV2X3ByaXYpOwo+ICsJCQkJCQllbHNlCj4gKwkJ CQkJCQlnZW45X2VuYWJsZV9kYzUoZGV2X3ByaXYpOwo+ICAJCQkJfSBlbHNlIHsKPiAtCQkJCQlE Uk1fRVJST1IoIkNhbm5vdCBlbmFibGUgREM1IGFzIENTUiBmYWlsZWQgdG8gbG9hZCEiKTsKPiAr CQkJCQlEUk1fRVJST1IoIkNhbm5vdCBlbmFibGUgJXMgYXMgQ1NSIGZhaWxlZCB0byBsb2FkISIs Cj4gKwkJCQkJCVNLTF9FTkFCTEVfREM2KGRldikgPyAiREM2IiA6ICJEQzUiKTsKPiAgCQkJCX0K PiAgCQkJfQo+ICAJCX0KCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAo=