From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm/i915: Enable scanline read for gen9 dsi Date: Tue, 12 Sep 2017 17:12:42 +0300 Message-ID: <20170912141242.GQ4914@intel.com> References: <1504878535-28667-1-git-send-email-vidya.srinivas@intel.com> <20170908144759.GH4914@intel.com> <20170911175019.GN4914@intel.com> <20170912133332.GP4914@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5D2DA6E64A for ; Tue, 12 Sep 2017 14:12:49 +0000 (UTC) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Shankar, Uma" Cc: "intel-gfx@lists.freedesktop.org" , "Srinivas, Vidya" List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBTZXAgMTIsIDIwMTcgYXQgMDE6NDA6NThQTSArMDAwMCwgU2hhbmthciwgVW1hIHdy b3RlOgo+IAo+IAo+ID4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+ID5Gcm9tOiBWaWxsZSBT eXJqw6Rsw6QgW21haWx0bzp2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbV0KPiA+U2VudDog VHVlc2RheSwgU2VwdGVtYmVyIDEyLCAyMDE3IDc6MDQgUE0KPiA+VG86IFNoYW5rYXIsIFVtYSA8 dW1hLnNoYW5rYXJAaW50ZWwuY29tPgo+ID5DYzogaW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZzsgU3Jpbml2YXMsIFZpZHlhIDx2aWR5YS5zcmluaXZhc0BpbnRlbC5jb20+Cj4gPlN1Ympl Y3Q6IFJlOiBbUEFUQ0hdIGRybS9pOTE1OiBFbmFibGUgc2NhbmxpbmUgcmVhZCBmb3IgZ2VuOSBk c2kKPiA+Cj4gPk9uIFR1ZSwgU2VwIDEyLCAyMDE3IGF0IDAxOjIzOjM5UE0gKzAwMDAsIFNoYW5r YXIsIFVtYSB3cm90ZToKPiA+Pgo+ID4+Cj4gPj4gPi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t Cj4gPj4gPkZyb206IEludGVsLWdmeCBbbWFpbHRvOmludGVsLWdmeC1ib3VuY2VzQGxpc3RzLmZy ZWVkZXNrdG9wLm9yZ10gT24KPiA+PiA+QmVoYWxmIE9mIFNoYW5rYXIsIFVtYQo+ID4+ID5TZW50 OiBUdWVzZGF5LCBTZXB0ZW1iZXIgMTIsIDIwMTcgMzoyMCBQTQo+ID4+ID5UbzogVmlsbGUgU3ly asOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiA+PiA+Q2M6IGludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmc7IFNyaW5pdmFzLCBWaWR5YQo+ID4+ID48dmlkeWEuc3Jp bml2YXNAaW50ZWwuY29tPgo+ID4+ID5TdWJqZWN0OiBSZTogW0ludGVsLWdmeF0gW1BBVENIXSBk cm0vaTkxNTogRW5hYmxlIHNjYW5saW5lIHJlYWQgZm9yCj4gPj4gPmdlbjkgZHNpCj4gPj4gPgo+ ID4+ID4KPiA+PiA+Cj4gPj4gPj4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+ID4+ID4+RnJv bTogVmlsbGUgU3lyasOkbMOkIFttYWlsdG86dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb21d Cj4gPj4gPj5TZW50OiBNb25kYXksIFNlcHRlbWJlciAxMSwgMjAxNyAxMToyMCBQTQo+ID4+ID4+ VG86IFNoYW5rYXIsIFVtYSA8dW1hLnNoYW5rYXJAaW50ZWwuY29tPgo+ID4+ID4+Q2M6IFNyaW5p dmFzLCBWaWR5YSA8dmlkeWEuc3Jpbml2YXNAaW50ZWwuY29tPjsKPiA+PiA+PmludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmc7IEthaG9sYSwgTWlrYQo+ID4+ID4+PG1pa2Eua2Fob2xhQGlu dGVsLmNvbT47IEthbWF0aCwgU3VuaWwgPHN1bmlsLmthbWF0aEBpbnRlbC5jb20+Owo+ID4+ID4+ S29uZHVydSwgQ2hhbmRyYSA8Y2hhbmRyYS5rb25kdXJ1QGludGVsLmNvbT4KPiA+PiA+PlN1Ympl Y3Q6IFJlOiBbUEFUQ0hdIGRybS9pOTE1OiBFbmFibGUgc2NhbmxpbmUgcmVhZCBmb3IgZ2VuOSBk c2kKPiA+PiA+Pgo+ID4+ID4+T24gTW9uLCBTZXAgMTEsIDIwMTcgYXQgMDE6MDQ6MThQTSArMDAw MCwgU2hhbmthciwgVW1hIHdyb3RlOgo+ID4+ID4+Pgo+ID4+ID4+Pgo+ID4+ID4+PiA+LS0tLS1P cmlnaW5hbCBNZXNzYWdlLS0tLS0KPiA+PiA+Pj4gPkZyb206IFZpbGxlIFN5cmrDpGzDpCBbbWFp bHRvOnZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tXQo+ID4+ID4+PiA+U2VudDogRnJpZGF5 LCBTZXB0ZW1iZXIgOCwgMjAxNyA4OjE4IFBNCj4gPj4gPj4+ID5UbzogU3Jpbml2YXMsIFZpZHlh IDx2aWR5YS5zcmluaXZhc0BpbnRlbC5jb20+Cj4gPj4gPj4+ID5DYzogaW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZzsgS2Fob2xhLCBNaWthCj4gPj4gPj4+ID48bWlrYS5rYWhvbGFAaW50 ZWwuY29tPjsgS2FtYXRoLCBTdW5pbCA8c3VuaWwua2FtYXRoQGludGVsLmNvbT47Cj4gPj4gPj4+ ID5TaGFua2FyLCBVbWEgPHVtYS5zaGFua2FyQGludGVsLmNvbT47IEtvbmR1cnUsIENoYW5kcmEK PiA+PiA+Pj4gPjxjaGFuZHJhLmtvbmR1cnVAaW50ZWwuY29tPgo+ID4+ID4+PiA+U3ViamVjdDog UmU6IFtQQVRDSF0gZHJtL2k5MTU6IEVuYWJsZSBzY2FubGluZSByZWFkIGZvciBnZW45IGRzaQo+ ID4+ID4+PiA+Cj4gPj4gPj4+ID5PbiBGcmksIFNlcCAwOCwgMjAxNyBhdCAwNzoxODo1NVBNICsw NTMwLCBWaWR5YSBTcmluaXZhcyB3cm90ZToKPiA+PiA+Pj4gPj4gRnJvbTogVW1hIFNoYW5rYXIg PHVtYS5zaGFua2FyQGludGVsLmNvbT4KPiA+PiA+Pj4gPj4KPiA+PiA+Pj4gPj4gRm9yIGdlbjkg cGxhdGZvcm1zLCBkc2kgdGltaW5ncyBhcmUgZHJpdmVuIGZyb20gcG9ydCBpbnN0ZWFkIG9mCj4g Pj4gPj4+ID4+IHBpcGUgKHVubGlrZSBkZGkpLiBUaHVzLCB3ZSBjYW4ndCByZWx5IG9uIHBpcGUg cmVnaXN0ZXJzIHRvIGdldAo+ID4+ID4+PiA+PiB0aGUgdGltaW5nIGluZm9ybWF0aW9uLiBFdmVu IHNjYW5saW5lIHJlZ2lzdGVyIHJlYWQgd2lsbCBub3QgYmUKPiA+ZnVuY3Rpb25hbC4KPiA+PiA+ Pj4gPj4gVGhpcyBpcyBjYXVzaW5nIHZibGFuayBldmFzaW9uIGxvZ2ljIHRvIGZhaWwgc2luY2Ug aXQgcmVsaWVzIG9uCj4gPj4gPj4+ID4+IHNjYW5saW5lLCBjYXVzaW5nIGF0b21pYyB1cGRhdGUg ZmFpbHVyZSB3YXJuaW5ncy4KPiA+PiA+Pj4gPj4KPiA+PiA+Pj4gPj4gVGhpcyBwYXRjaCB1c2Vz IHBpcGUgZnJhbWVzdGFtcCBhbmQgY3VycmVudCB0aW1lc3RhbXAgcmVnaXN0ZXJzCj4gPj4gPj4+ ID4+IHRvIGNhbGN1bGF0ZSBzY2FubGluZS4gVGhpcyBpcyBhbiBpbmRpcmVjdCB3YXkgdG8gZ2V0 IHRoZSBzY2FubGluZS4KPiA+PiA+Pj4gPj4gSXQgaGVscHMgcmVzb2x2ZSBhdG9taWMgdXBkYXRl IGZhaWx1cmUgZm9yIGdlbjkgZHNpIHBsYXRmb3Jtcy4KPiA+PiA+Pj4gPj4KPiA+PiA+Pj4gPj4g U2lnbmVkLW9mZi1ieTogVW1hIFNoYW5rYXIgPHVtYS5zaGFua2FyQGludGVsLmNvbT4KPiA+PiA+ Pj4gPj4gU2lnbmVkLW9mZi1ieTogQ2hhbmRyYSBLb25kdXJ1IDxjaGFuZHJhLmtvbmR1cnVAaW50 ZWwuY29tPgo+ID4+ID4+PiA+PiBTaWduZWQtb2ZmLWJ5OiBWaWR5YSBTcmluaXZhcyA8dmlkeWEu c3Jpbml2YXNAaW50ZWwuY29tPgo+ID4+ID4+PiA+PiAtLS0KPiA+PiA+Pj4gPj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggIHwgIDIgKysKPiA+PiA+Pj4gPj4gZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9pcnEuYyAgfCAgNSArKysrKwo+ID4+ID4+PiA+PiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3JlZy5oICB8ICAzICsrKwo+ID4+ID4+PiA+PiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kc2kuYyB8IDQ2Cj4gPj4gPj4+ID4+ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysKPiA+PiA+Pj4gPj4gIDQgZmlsZXMgY2hhbmdlZCwgNTYgaW5zZXJ0 aW9ucygrKQo+ID4+ID4+PiA+Pgo+ID4+ID4+PiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaAo+ID4+ID4+PiA+PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmggaW5kZXggZDA3ZDExMC4uNDIxM2I1NCAxMDA2NDQKPiA+PiA+Pj4gPj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ID4+ID4+PiA+PiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gPj4gPj4+ID4+IEBAIC00MDc3LDYgKzQwNzcsOCBA QCB2b2lkIGludGVsX3NiaV93cml0ZShzdHJ1Y3QKPiA+PiA+Pj4gPj4gZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsIHUxNiByZWcsIHUzMiB2YWx1ZSwKPiA+PiA+Pj4gPj4gIHUzMiB2bHZfZmxp c2RzaV9yZWFkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTMyCj4gPj4gPj4+ ID4+IHJlZyk7IHZvaWQgdmx2X2ZsaXNkc2lfd3JpdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAo+ID4+ID4+PiA+PiB1MzIgcmVnLAo+ID4+ID4+PiA+PiB1MzIgdmFsKTsKPiA+ PiA+Pj4gPj4KPiA+PiA+Pj4gPj4gK3UzMiBieHRfZHNpX2dldF9zY2FubGluZShzdHJ1Y3QgaW50 ZWxfY3J0YyAqY3J0Yyk7Cj4gPj4gPj4+ID4+ICsKPiA+PiA+Pj4gPj4gIC8qIGludGVsX2RwaW9f cGh5LmMgKi8KPiA+PiA+Pj4gPj4gIHZvaWQgYnh0X3BvcnRfdG9fcGh5X2NoYW5uZWwoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUKPiA+PiA+Pj4gPj4gKmRldl9wcml2LCBlbnVtIHBvcnQKPiA+PiA+ Pj4gPnBvcnQsCj4gPj4gPj4+ID4+ICAJCQkgICAgIGVudW0gZHBpb19waHkgKnBoeSwgZW51bSBk cGlvX2NoYW5uZWwKPiA+KmNoKTsgZGlmZiAtLQo+ID4+ID4+PiA+Z2l0Cj4gPj4gPj4+ID4+IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+ID4+ID4+PiA+PiBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfaXJxLmMgaW5kZXggNWQzOTFlNi4uMzFhYTdmMCAxMDA2NDQKPiA+PiA+ Pj4gPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+ID4+ID4+PiA+PiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCj4gPj4gPj4+ID4+IEBAIC03ODEs NiArNzgxLDcgQEAgc3RhdGljIGludCBfX2ludGVsX2dldF9jcnRjX3NjYW5saW5lKHN0cnVjdAo+ ID4+ID4+PiA+PiBpbnRlbF9jcnRjCj4gPj4gPj4+ID4qY3J0YykKPiA+PiA+Pj4gPj4gIAlzdHJ1 Y3QgZHJtX3ZibGFua19jcnRjICp2Ymxhbms7Cj4gPj4gPj4+ID4+ICAJZW51bSBwaXBlIHBpcGUg PSBjcnRjLT5waXBlOwo+ID4+ID4+PiA+PiAgCWludCBwb3NpdGlvbiwgdnRvdGFsOwo+ID4+ID4+ PiA+PiArCWVudW0gdHJhbnNjb2RlciBjcHVfdHJhbnNjb2RlcjsKPiA+PiA+Pj4gPj4KPiA+PiA+ Pj4gPj4gIAlpZiAoIWNydGMtPmFjdGl2ZSkKPiA+PiA+Pj4gPj4gIAkJcmV0dXJuIC0xOwo+ID4+ ID4+PiA+PiBAQCAtNzkyLDYgKzc5MywxMCBAQCBzdGF0aWMgaW50Cj4gPj4gPj4+ID4+IF9faW50 ZWxfZ2V0X2NydGNfc2NhbmxpbmUoc3RydWN0IGludGVsX2NydGMKPiA+PiA+Pj4gPipjcnRjKQo+ ID4+ID4+PiA+PiAgCWlmIChtb2RlLT5mbGFncyAmIERSTV9NT0RFX0ZMQUdfSU5URVJMQUNFKQo+ ID4+ID4+PiA+PiAgCQl2dG90YWwgLz0gMjsKPiA+PiA+Pj4gPj4KPiA+PiA+Pj4gPj4gKwljcHVf dHJhbnNjb2RlciA9IGNydGMtPmNvbmZpZy0+Y3B1X3RyYW5zY29kZXI7Cj4gPj4gPj4+ID4KPiA+ PiA+Pj4gPkh1bW0uIFdvdWxkIGJlIG5pY2UgdG8gYmUgYWJsZSB0byBkbyB0aGlzIHdpdGhvdXQg YWRkaW5nIG1vcmUKPiA+PiA+Pj4gPmNydGMtPmNvbmZpZyB1c2VzLiBXZSdyZSBwcmV0dHkgbXVj aCB0cnlpbmcgdG8gZ2V0IHJpZCBvZiB0aGF0IGd1eS4KPiA+PiA+Pj4gPgo+ID4+ID4+Pgo+ID4+ ID4+PiBXaWxsIHRyeSB0byBmaW5kIGFuIGFsdGVybmF0ZSB3YXkgdG8gZG8gdGhpcy4KPiA+PiA+ Pj4KPiA+PiA+Pj4gPj4gKwlpZiAoSVNfQlJPWFRPTihkZXZfcHJpdikgJiYgdHJhbnNjb2Rlcl9p c19kc2koY3B1X3RyYW5zY29kZXIpKQo+ID4+ID4+PiA+PiArCQlyZXR1cm4gYnh0X2RzaV9nZXRf c2NhbmxpbmUoY3J0Yyk7Cj4gPj4gPj4+ID4+ICsKPiA+PiA+Pj4gPj4gIAlpZiAoSVNfR0VOMihk ZXZfcHJpdikpCj4gPj4gPj4+ID4+ICAJCXBvc2l0aW9uID0gSTkxNV9SRUFEX0ZXKFBJUEVEU0wo cGlwZSkpICYKPiA+PiA+Pj4gPkRTTF9MSU5FTUFTS19HRU4yOwo+ID4+ID4+PiA+PiAgCWVsc2UK PiA+PiA+Pj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgK PiA+PiA+Pj4gPj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGluZGV4IDlhNzNl YTAuLjU0NTgyZGUgMTAwNjQ0Cj4gPj4gPj4+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcmVnLmgKPiA+PiA+Pj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZWcuaAo+ID4+ID4+PiA+PiBAQCAtODgwMiw2ICs4ODAyLDkgQEAgZW51bSBza2xfcG93ZXJfZ2F0 ZSB7Cj4gPj4gPj4+ID4+ICAjZGVmaW5lIE1JUElPX1RYRVNDX0NMS19ESVYyCj4gPglfTU1JTygw eDE2MDAwOCkKPiA+PiA+Pj4gPj4gICNkZWZpbmUgIEdMS19UWF9FU0NfQ0xLX0RJVjJfTUFTSwkJ CTB4M0ZGCj4gPj4gPj4+ID4+Cj4gPj4gPj4+ID4+ICsjZGVmaW5lIEJYVF9USU1FU1RBTVBfQ1RS CV9NTUlPKDB4NDQwNzApCj4gPj4gPj4+ID4+ICsjZGVmaW5lIEJYVF9QSVBFX0ZSTVRNU1RNUF9B CV9NTUlPKDB4NzAwNDgpCj4gPj4gPj4+ID4KPiA+PiA+Pj4gPlBsZWFzZSBhZGQgcHJvcGVyIHBh cmFtZXRyaXplZCBkZWZpbmUgdGhhdCB3b3JrcyBmb3IgYWxsIHBpcGVzLgo+ID4+ID4+PiA+Cj4g Pj4gPj4+Cj4gPj4gPj4+IFdpbGwgYWRkIHRoYXQuCj4gPj4gPj4+Cj4gPj4gPj4+ID4+ICsKPiA+ PiA+Pj4gPj4gIC8qIEJYVCBNSVBJIGNsb2NrIGNvbnRyb2xzICovCj4gPj4gPj4+ID4+ICAjZGVm aW5lIEJYVF9NQVhfVkFSX09VVFBVVF9LSFoJCQkzOTUwMAo+ID4+ID4+PiA+Pgo+ID4+ID4+PiA+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMKPiA+PiA+Pj4g Pj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYwo+ID4+ID4+PiA+PiBpbmRleCAy YTBmNWQzLi5kMTQ1YmE0IDEwMDY0NAo+ID4+ID4+PiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kc2kuYwo+ID4+ID4+PiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kc2kuYwo+ID4+ID4+PiA+PiBAQCAtMTYyMSw2ICsxNjIxLDUyIEBAIHN0YXRpYyBpbnQg aW50ZWxfZHNpX2dldF9tb2RlcyhzdHJ1Y3QKPiA+PiA+Pj4gPmRybV9jb25uZWN0b3IgKmNvbm5l Y3RvcikKPiA+PiA+Pj4gPj4gIAlyZXR1cm4gMTsKPiA+PiA+Pj4gPj4gIH0KPiA+PiA+Pj4gPj4K PiA+PiA+Pj4gPj4gKy8qCj4gPj4gPj4+ID4+ICsgKiBGb3IgR2VuOSBEU0ksIHBpcGUgc2Nhbmxp bmUgcmVnaXN0ZXIgd2lsbCBub3QKPiA+PiA+Pj4gPj4gKyAqIHdvcmsgdG8gZ2V0IHRoZSBzY2Fu bGluZSBzaW5jZSB0aGUgdGltaW5ncwo+ID4+ID4+PiA+PiArICogYXJlIGRyaXZlbiBmcm9tIHRo ZSBQT1JUICh1bmxpa2UgRERJIGVuY29kZXJzKS4KPiA+PiA+Pj4gPj4gKyAqIFRoaXMgZnVuY3Rp b24gd2lsbCB1c2UgRnJhbWVzdGFtcCBhbmQgY3VycmVudAo+ID4+ID4+PiA+PiArICogdGltZXN0 YW1wIHJlZ2lzdGVycyB0byBjYWxjdWxhdGUgdGhlIHNjYW5saW5lLgo+ID4+ID4+PiA+PiArICov Cj4gPj4gPj4+ID4+ICt1MzIgYnh0X2RzaV9nZXRfc2NhbmxpbmUoc3RydWN0IGludGVsX2NydGMg KmNydGMpIHsKPiA+PiA+Pj4gPj4gKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+YmFz ZS5kZXY7Cj4gPj4gPj4+ID4+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g dG9faTkxNShkZXYpOwo+ID4+ID4+PiA+PiArCXUzMiB2cmVmcmVzaCA9IGNydGMtPmJhc2UubW9k ZS52cmVmcmVzaDsKPiA+PiA+Pj4gPj4gKwl1MzIgdWxQcmV2VGltZSwgdWxDdXJyVGltZSwgdnRv dGFsLCB1bFNjYW5saW5lTm8yID0gMDsKPiA+PiA+Pj4gPgo+ID4+ID4+PiA+UGxlYXNlIGdldCBy aWQgb2YgdGhlIGh1bmdhcmlhbiBub3RhdGlvbi4KPiA+PiA+Pj4gPgo+ID4+ID4+Pgo+ID4+ID4+ PiBZZXMsIHdpbGwgZml4IHRoaXMuCj4gPj4gPj4+Cj4gPj4gPj4+ID4+ICsJdWludF9maXhlZF8x Nl8xNl90IHVsU2NhbmxpbmVUaW1lOwo+ID4+ID4+PiA+PiArCj4gPj4gPj4+ID4+ICsJLyoKPiA+ PiA+Pj4gPj4gKwkgKiBUaGlzIGZpZWxkIHByb3ZpZGVzIHJlYWQgYmFjayBvZiB0aGUgZGlzcGxh eQo+ID4+ID4+PiA+PiArCSAqIHBpcGUgZnJhbWUgdGltZSBzdGFtcC4gVGhlIHRpbWUgc3RhbXAg dmFsdWUKPiA+PiA+Pj4gPj4gKwkgKiBpcyBzYW1wbGVkIGF0IGV2ZXJ5IHN0YXJ0IG9mIHZlcnRp Y2FsIGJsYW5rLgo+ID4+ID4+PiA+PiArCSAqLwo+ID4+ID4+PiA+PiArCXVsUHJldlRpbWUgPSBJ OTE1X1JFQURfRlcoQlhUX1BJUEVfRlJNVE1TVE1QX0EpOwo+ID4+ID4+PiA+PiArCj4gPj4gPj4+ ID4+ICsJLyoKPiA+PiA+Pj4gPj4gKwkgKiBUaGUgVElNRVNUQU1QX0NUUiByZWdpc3RlciBoYXMg dGhlIGN1cnJlbnQKPiA+PiA+Pj4gPj4gKwkgKiB0aW1lIHN0YW1wIHZhbHVlLgo+ID4+ID4+PiA+ PiArCSAqLwo+ID4+ID4+PiA+PiArCXVsQ3VyclRpbWUgPSBJOTE1X1JFQURfRlcoQlhUX1RJTUVT VEFNUF9DVFIpOwo+ID4+ID4+PiA+PiArCj4gPj4gPj4+ID4+ICsJLyogVGhlIFBPUlQgZm9yIERT SSB3aWxsIGFsd2F5cyBiZSAwIHNpbmNlCj4gPj4gPj4+ID4+ICsJICogaXNvbGF0ZWQgUE9SVEMg Y2Fubm90IGJlIGVuYWJsZWQgZm9yIEdlbjkKPiA+PiA+Pj4gPj4gKwkgKiBEU0kuIEhlbmNlIHVz aW5nIFBPUlRfQSBpLmUgMCB0byBleHRyYWN0Cj4gPj4gPj4+ID4+ICsJICogdGhlIFZUT1RBTCB2 YWx1ZS4KPiA+PiA+Pj4gPj4gKwkgKi8KPiA+PiA+Pj4gPj4gKwl2dG90YWwgPSBJOTE1X1JFQURf RlcoQlhUX01JUElfVFJBTlNfVlRPVEFMKDApKTsKPiA+PiA+Pj4gPgo+ID4+ID4+PiA+VGhpcyB2 YWx1ZSBjYW4gYmUgZHVnIG91dCBmcm9tIHRoZSBod21vZGUuCj4gPj4gPj4+ID4KPiA+PiA+Pj4K PiA+PiA+Pj4gWWVzLCB3aWxsIGdldCBpdCBmcm9tIGh3bW9kZSBhbmQgZHJvcCB0aGlzIGNoYW5n ZS4KPiA+PiA+Pj4KPiA+PiA+Pj4gPj4gKwlXQVJOX09OKCF2dG90YWwpOwo+ID4+ID4+PiA+PiAr CWlmICghdnRvdGFsKQo+ID4+ID4+PiA+PiArCQlyZXR1cm4gdWxTY2FubGluZU5vMjsKPiA+PiA+ Pj4gPj4gKwo+ID4+ID4+PiA+PiArCXVsU2NhbmxpbmVUaW1lID0gZGl2X2ZpeGVkMTYoMTAwMDAw MCwgdnRvdGFsICogdnJlZnJlc2gpOwo+ID4+ID4+PiA+PiArCXVsU2NhbmxpbmVObzIgPSBkaXZf cm91bmRfdXBfdTMyX2ZpeGVkMTYoKHVsQ3VyclRpbWUgLQo+ID51bFByZXZUaW1lKSwKPiA+PiA+ Pj4gPj4gKwkJCQkJCXVsU2NhbmxpbmVUaW1lKTsKPiA+PiA+Pj4gPgo+ID4+ID4+PiA+U29tZXRo aW5nIGxpa2U6Cj4gPj4gPj4+ID5zY2FubGluZSA9IGRpdl91NjQobXVsX3UzMl91MzIoY3VyciAt IHByZXYsIGNydGNfY2xvY2spLAo+ID4+ID4+PiA+CQkgICAxMDAwICogY3J0Y19odG90YWwpOwo+ ID4+ID4+PiA+Cj4gPj4gPj4+ID4+ICsJdWxTY2FubGluZU5vMiA9ICh1bFNjYW5saW5lTm8yICsg dnRvdGFsKSAlIHZ0b3RhbDsKPiA+PiA+Pj4gPgo+ID4+ID4+PiA+SSB0aGluayB0aGF0IHdvdWxk IGhhdmUgdG8gYmUgc29tZXRoaW5nIGxpa2U6Cj4gPj4gPj4+ID5yZXR1cm4gKHNjYW5saW5lICsg dmJsYW5rX3N0YXJ0KSAlIHZ0b3RhbDsKPiA+PiA+Pj4gPgo+ID4+ID4+Pgo+ID4+ID4+PiBZZXMg eW91IGFyZSByaWdodC4gSXQgc2hvdWxkIGJlIHZibGFua19zdGFydC4gV2lsbCBmaXggdGhpcy4K PiA+PiA+Pj4KPiA+PiA+Pj4gPkFsbCBpbiBhbGwgdGhpcyBsb29rcyBsaWtlIGEgcHJldHR5IGRl Y2VudCBhcHByb2FjaCB0byB0aGUgRFNJIHByb2JsZW0uCj4gPj4gPj4+ID4KPiA+PiA+Pj4gPk9u ZSBjb25jZXJuIGhlcmUgaXMgcm91bmRpbmcgaXNzdWVzIGFuZCBpbmFjY3VyYWNpZXMgaW4gb3Vy Cj4gPj4gPj4+ID5jcnRjX2Nsb2NrLiBCdXQgc2luY2UgdGhlIGZyYW1lIHRpbWVzdGFtcCBpcyBz YW1wbGVkIGF0IHZibGFuawo+ID4+ID4+PiA+c3RhcnQgSSBndWVzcyB3ZSBjYW4ndCBhY2NpZGVu dGFsbHkgZ2V0IGFuIGFuc3dlciB0aGF0J3MgZWFybGllcgo+ID4+ID4+PiA+dGhhbiB2Ymxhbmtf c3RhcnQgYXMgbG9uZyBhcyB3ZSByZWFsbHkgcGFzc2VkIHZibGFuayBzdGFydAo+ID4+ID4+PiA+ YWxyZWFkeS4gVGhhdCBzaG91bGQKPiA+PiA+Pm1ha2UgdGhpcyBhdCBsZWFzdCBzdWl0YWJsZSBm b3IgdmJsYW5rIHRpbWVzdGFtcHMuCj4gPj4gPj4+Cj4gPj4gPj4+IEkgYWxzbyBmZWVsIHRoZSBz YW1lLCB0aGlzIHNpdHVhdGlvbiBzaG91bGQgbmV2ZXIgb2NjdXIuCj4gPj4gPj4+Cj4gPj4gPj4+ ID5BbmQgZm9yCj4gPj4gPj4+ID50aGUgYXRvbWljIGV2YWRlLCBJIGd1ZXNzIGlmIHdlIGNsYW1w IG91ciB0aGUgc2NhbmxpbmUgYmVmb3JlIHRoZQo+ID4+ID4+PiA+K3ZibGFua19zdGFydCBzdWNo IHRoYXQgaXQgbmV2ZXIgcmVhY2hlcyB2dG90YWwsIHdlIGNhbid0IGJlIHN1cmUKPiA+PiA+Pj4g Pit0aGF0Cj4gPj4gPj4+ID5vdXIgdmJsYW5rIGV2YWRlIG5ldmVyIGluZGljYXRlcyB0aGF0IHdl IGFscmVhZHkgcmVhY2hlZCB0aGUKPiA+PiA+Pj4gPnN0YXJ0IG9mIHZibGFuayBwcmVtYXR1cmVs eS4KPiA+PiA+Pj4gPgo+ID4+ID4+PiA+U28gbWF5YmUgc29tZXRoaW5nIGxpa2U6Cj4gPj4gPj4+ ID5zY2FsaW5lID0gZGl2X3U2NCguLi4pOwo+ID4+ID4+PiA+c2NhbmxpbmUgPSBtaW4oc2Nhbmxp bmUsIHZ0b3RhbCAtIDEpOwo+ID4+ID4+Pgo+ID4+ID4+PiBJIGFtIG5vdCBzdXJlIGlmIHRoZSB2 YWx1ZSBvZiBzY2FubGluZSByZXR1cm5lZCBjYW4gZXZlciBiZQo+ID4+ID4+PiBncmVhdGVyIHRo YW4gdnRvdGFsIC0KPiA+PiA+PjEuCj4gPj4gPj4+IEJ1dCB3ZSBjYW4gaGF2ZSBhIGNoZWNrIGp1 c3QgdG8gYmUgc2FmZS4gTm90IHN1cmUgaWYgSSBmdWxseSBnb3QgeW91ciBwb2ludAo+ID5oZXJl Lgo+ID4+ID4+Cj4gPj4gPj5UaGUgcG9pbnQgaXMgdGhhdCB0aGUgdGltZXN0YW1wIGNvdW50ZXIg bWlnaHQgdGljayBhdCBhIHNsaWdodGx5Cj4gPj4gPj5mYXN0ZXIgcmF0ZSB0aGFuIHdlIG1pZ2h0 IHRoaW5rLiBUaHVzIHdlIG1pZ2h0IGVuZCB1cCB3aXRoIG1vcmUKPiA+PiA+PnRpY2tzIGluIG9u ZSBmcmFtZSB0aGFuIHdoYXQgd2UgY2FsY3VsYXRlZCBhcyB0aGUgbWF4aW11bSBmb20KPiA+PiA+ PmNydGNfY2xvY2sgZXRjLiBCdXQgaWYgd2UgY2xhbXAgdGhlIHZhbHVlIGxpa2UgSSBzdWdnZXN0 ZWQgdGhlbiBhdAo+ID4+ID4+bGVhc3Qgd2Ugc2hvdWxkIG5ldmVyIGdldCBhbiBhbnN3ZXIgdGhh dCB0ZWxscyB1cyB3ZSdyZSBhbHJlYWR5IHBhc3QKPiA+PiA+PnRoZSBzdGFydCBvZiB2Ymxhbmsg d2hlbiBpbiByZWFsaXR5Cj4gPj4gPndlJ3JlIG5vdC4KPiA+PiA+Pgo+ID4+ID4+T2YgY291cnNl IGFzIERhbmllbCBwb2ludGVkIG91dCB3ZSBtaWdodCBhbHNvIGdldCBpbnRvIHRyb3VibGUgaWYK PiA+PiA+PnRoZSBjb3VudGVyIHRpY2tzIHNsb3dlciB0aGFuIGV4cGVjdGVkLiBUaGF0IGNvdWxk IGxlYWQgdXMgdG8gdGhpbmsKPiA+PiA+PnRoYXQgd2UgZG9uJ3QgbmVlZCB0byBkbyB0aGUgdmJs YW5rIGV2YWRlIHdoZW4gaW4gZmFjdCB3ZSBkby4KPiA+PiA+Pgo+ID4+Cj4gPj4gSGkgVmlsbGUs Cj4gPj4gV2UgdHJpZWQgdG8gdGVzdCB3aXRoIHRoaXMgY29uZGl0aW9uIGFuZCBhcmUgY2FsY3Vs YXRpbmcgd3Jvbmcgc2NhbmxpbmVzLgo+ID4+IEZvciBleDoKPiA+PiBbICAgNzkuNDE4OTQzXSBb ZHJtOmJ4dF9kc2lfZ2V0X3NjYW5saW5lXSAqRVJST1IqIHNjYW5saW5lID0gMjI1MzQsCj4gPmNy dGNfdnRvdGFsLTEgPSAxMjExLCBtaW4gb2YgdHdvID0gMTIxMQo+ID4KPiA+V2VsbCwgdGhhdCBz Y2FubGluZSBudW1iZXIgbG9va3MgdG90YWxseSBib2d1cy4gSG93IGRpZCB5b3UgY2FsY3VsYXRl IGl0IGV4YWN0bHk/Cj4gPgo+IAo+IElmIHdlIGhhdmUgbXVsdGlwbGUgc2NhbnMgb24gdGhlIHNh bWUgZnJhbWUgKG5vIG5ldyBmbGlwIGJlaW5nIGlzc3VlZCkuIFByZXYgdGltZXN0YW1wCj4gdmFs dWUgd2hpY2ggaXMgcmVhZCBmcm9tIEZyYW1ldGltZSBTdGFtcCB3aWxsIHJlbWFpbiBzYW1lLCBi dXQgY3VycmVudCB0aW1lIHN0YW1wCj4gd2lsbCBrZWVwIG9uIGluY3JlbWVudGluZy4KClRoZSBm cmFtZSB0aW1lc3RhbXAgc2hvdWxkIGdldCBzYW1wbGVkIG9uIGV2ZXJ5IHZibGFuaywgd2hlcmVh cyB0aGUgZmxpcAp0aW1lc3RhbXAgb25seSB3aGVuIGEgZmxpcCBvY2N1cnMuIEFyZSB5b3UgdXNp bmcgdGhlIGNvcnJlY3QgdGltZXN0YW1wCnJlZ2lzdGVyPwoKLS0gClZpbGxlIFN5cmrDpGzDpApJ bnRlbCBPVEMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==