From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dhinakaran Pandiyan Subject: Re: [PATCH] drm/i915/psr: vbt change for psr Date: Wed, 16 May 2018 10:44:18 -0700 Message-ID: <1526492658.17473.134.camel@intel.com> References: <1526268734-8269-1-git-send-email-vathsala.nagaraju@intel.com> <1526425420.17473.98.camel@intel.com> <5AFBA911.2010101@intel.com> <877eo410qx.fsf@intel.com> Reply-To: dhinakaran.pandiyan@intel.com Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id A14166E4EF for ; Wed, 16 May 2018 17:18:56 +0000 (UTC) In-Reply-To: <877eo410qx.fsf@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jani Nikula , vathsala nagaraju , rodrigo.vivi@intel.com, intel-gfx@lists.freedesktop.org Cc: Puthikorn Voravootivat , Maulik V Vaghela List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCAyMDE4LTA1LTE2IGF0IDExOjA4ICswMzAwLCBKYW5pIE5pa3VsYSB3cm90ZToKPiBP biBXZWQsIDE2IE1heSAyMDE4LCB2YXRoc2FsYSBuYWdhcmFqdSA8dmF0aHNhbGEubmFnYXJhanVA aW50ZWwuY29tPgo+IHdyb3RlOgo+ID4gCj4gPiBPbiBXZWRuZXNkYXkgMTYgTWF5IDIwMTggMDQ6 MzMgQU0sIERoaW5ha2FyYW4gUGFuZGl5YW4gd3JvdGU6Cj4gPiA+IAo+ID4gPiBPbiBNb24sIDIw MTgtMDUtMTQgYXQgMDk6MDIgKzA1MzAsIHZhdGhzYWxhIG5hZ2FyYWp1IHdyb3RlOgo+ID4gPiA+ IAo+ID4gPiA+IEZyb206IFZhdGhzYWxhIE5hZ2FyYWp1IDx2YXRoc2FsYS5uYWdhcmFqdUBpbnRl bC5jb20+Cj4gPiA+ID4gCj4gPiA+ID4gRm9yIHBzciBibG9jayAjOSwgdGhlIHZidCBkZXNjcmlw dGlvbiBoYXMgbW92ZWQgdG8gb3B0aW9ucyBbMC0KPiA+ID4gPiAzXSBmb3IKPiA+ID4gPiBUUDEs VFAyLFRQMyBXYWtldXAgdGltZSBmcm9tIGRlY2ltYWwgdmFsdWUgd2l0aG91dCBhbnkgY2hhbmdl Cj4gPiA+ID4gdG8gdmJ0Cj4gPiA+ID4gc3RydWN0dXJlLiBTaW5jZSBzcGVjIGRvZXMgbm90wqDC oG1lbnRpb24gZnJvbSB3aGljaCBWQlQgdmVyc2lvbgo+ID4gPiA+IHRoaXMKPiA+ID4gPiBjaGFu Z2Ugd2FzIGFkZGVkIHRvIHZidC5ic2YgZmlsZSwgd2UgY2Fubm90IGRlcGVuZCBvbiBiZGItCj4g PiA+ID4gPnZlcnNpb24KPiA+ID4gPiBjaGVjawo+ID4gPiA+IHRvIGNoYW5nZSBmb3IgYWxsIHRo ZSBwbGF0Zm9ybXMuCj4gPiA+ID4gCj4gPiA+ID4gVGhlcmUgaXMgUkNSIGlucGxhY2UgZm9yIEdP UCB0ZWFtIHRvwqDCoHByb3ZpZGUgdGhlIHZlcnNpb24KPiA+ID4gPiBudW1iZXIKPiA+ID4gPiB0 byBtYWtlIGdlbmVyaWMgY2hhbmdlLiBTaW5jZSBLYWJ5bGFrZSB3aXRoIGJkYiB2ZXJzaW9uIDIw OSBpcwo+ID4gPiA+IGhhdmluZwo+ID4gPiA+IHRoaXMKPiA+ID4gPiBjaGFuZ2UsIGxpbWl0aW5n IHRoaXMgY2hhbmdlIHRvIGdlbjlfYmMgYW5kIHZlcnNpb24gMjA5KyB0bwo+ID4gPiA+IHVuYmxv Y2sKPiA+ID4gPiBnb29nbGUuCj4gPiA+ID4gCj4gPiA+ID4gVGVzdGVkIG9uIHNrbChiZGIgdmVy c2lvbiAyMDMsd2l0aG91dCBvcHRpb25zKSBhbmQKPiA+ID4gPiBrYWJ5bGFrZShiZGIgdmVyc2lv biAyMDksMjEyKSBoYXZpbmcgbmV3IG9wdGlvbnMuCj4gPiA+ID4gCj4gPiA+ID4gYnNwZWMgMjAx MzEKPiA+ID4gPiAKPiA+ID4gPiB2MjogKEphbmkgYW5kIFJvZHJpZ28pCj4gPiA+ID4gwqDCoMKg wqDCoG1vdmUgdGhlIDE2NSB2ZXJzaW9uIGNoZWNrIHRvIGludGVsX2Jpb3MuYwo+ID4gPiA+IHYz OiBKYW5pCj4gPiA+ID4gwqDCoMKgwqDCoE1vdmUgdGhlIGFic3RyYWN0aW9uIHRvIGludGVsX2Jp b3MuCj4gPiA+ID4gdjQ6IEphbmkKPiA+ID4gPiDCoMKgwqDCoMKgUmVuYW1lIHRwKl93YWtldXBf dGltZSB0byBoYXZlICJ1cyIgc3VmZml4Lgo+ID4gPiA+IMKgwqDCoMKgwqBGb3IgdmFsdWVzIG91 dHNpZGUgcmFuZ2VbMC0zXSxkZWZhdWx0IHRvIG1heCAyNTAwdXMuCj4gPiA+ID4gwqDCoMKgwqDC oE9sZCBkZWNpbWFsIHZhbHVlIHdhcyB3YWtlIHVwIHRpbWUgaW4gbXVsdGlwbGVzIG9mIDEwMHVz Lgo+ID4gPiA+IHY1OiBKYW5pIGFuZCBSb2RyaWdvCj4gPiA+ID4gwqDCoMKgwqDCoEhhbmRsZSBv cHRpb24gMiBpbiBkZWZhdWx0IGNvbmRpdGlvbi4KPiA+ID4gPiDCoMKgwqDCoMKgUHJpbnQgb3Vz dGlkZSByYW5nZSB2YWx1ZS4KPiA+ID4gPiDCoMKgwqDCoMKgRm9yIG5lZ2V0aXZlIHZhbHVlcyBk ZWZhdWx0IHRvIDI1MDB1cy4KPiA+ID4gPiB2NjogSmFuaQo+ID4gPiA+IMKgwqDCoMKgwqBIYW5k bGUgZGVmYXVsdCBmaXJzdCBhbmQgdGhlbiBmYWxsIHRocm91Z2ggZm9yIGNhc2UgMi4KPiA+ID4g PiB2NzogUm9kcmlnbwo+ID4gPiA+IMKgwqDCoMKgwqBBcHBseSB0aGlzIGNoYW5nZSBmb3IgSVNf R0VOOV9CQyBhbmQgdmJ0IHZlcnNpb24gPiAyMDkKPiA+ID4gPiAKPiA+ID4gPiBDYzogUm9kcmln byBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgo+ID4gPiA+IENDOiBQdXRoaWtvcm4gVm9y YXZvb3RpdmF0IDxwdXRoaWtAY2hyb21pdW0ub3JnPgo+ID4gPiA+IAo+ID4gPiA+IFNpZ25lZC1v ZmYtYnk6IE1hdWxpayBWIFZhZ2hlbGEgPG1hdWxpay52LnZhZ2hlbGFAaW50ZWwuY29tPgo+ID4g PiA+IFNpZ25lZC1vZmYtYnk6IFZhdGhzYWxhIE5hZ2FyYWp1IDx2YXRoc2FsYS5uYWdhcmFqdUBp bnRlbC5jb20+Cj4gPiA+ID4gLS0tCj4gPiA+ID4gwqAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaMKgwqDCoHzCoMKgNCArKy0tCj4gPiA+ID4gwqAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9yZWcuaMKgwqDCoHzCoMKgOCArKystLS0tCj4gPiA+ID4gwqAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfYmlvcy5jIHwgNDYKPiA+ID4gPiArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrLS0KPiA+ID4gPiDCoCBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3Iu Y8KgwqB8IDM5ICsrKysrKysrKysrKysrKysrLS0tLS0KPiA+ID4gPiAtLS0tLQo+ID4gPiA+IC0t LS0tLQo+ID4gPiA+IMKgIDQgZmlsZXMgY2hhbmdlZCwgNzAgaW5zZXJ0aW9ucygrKSwgMjcgZGVs ZXRpb25zKC0pCj4gPiA+ID4gCj4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmgKPiA+ID4gPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgK PiA+ID4gPiBpbmRleCA1N2ZiM2FhLi4yNjhiMDU5IDEwMDY0NAo+ID4gPiA+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiA+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oCj4gPiA+ID4gQEAgLTEwNzgsOCArMTA3OCw4IEBAIHN0cnVjdCBpbnRl bF92YnRfZGF0YSB7Cj4gPiA+ID4gwqDCoAkJYm9vbCByZXF1aXJlX2F1eF93YWtldXA7Cj4gPiA+ ID4gwqDCoAkJaW50IGlkbGVfZnJhbWVzOwo+ID4gPiA+IMKgwqAJCWVudW0gcHNyX2xpbmVzX3Rv X3dhaXQgbGluZXNfdG9fd2FpdDsKPiA+ID4gPiAtCQlpbnQgdHAxX3dha2V1cF90aW1lOwo+ID4g PiA+IC0JCWludCB0cDJfdHAzX3dha2V1cF90aW1lOwo+ID4gPiA+ICsJCWludCB0cDFfd2FrZXVw X3RpbWVfdXM7Cj4gPiA+ID4gKwkJaW50IHRwMl90cDNfd2FrZXVwX3RpbWVfdXM7Cj4gPiA+ID4g wqDCoAl9IHBzcjsKPiA+ID4gPiDCoMKgCj4gPiA+ID4gwqDCoAlzdHJ1Y3Qgewo+ID4gPiA+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gPiA+ID4gYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gPiA+ID4gaW5kZXggZjExYmIyMS4uNjgyMDY1 OCAxMDA2NDQKPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4g PiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ID4gPiA+IEBAIC00 MDg4LDEwICs0MDg4LDEwIEBAIGVudW0gewo+ID4gPiA+IMKgICNkZWZpbmXCoMKgwqBFRFBfWV9D T09SRElOQVRFX0VOQUJMRQkoMTw8MjUpIC8qIEdMSyBhbmQKPiA+ID4gPiBDTkwrICovCj4gPiA+ ID4gwqAgI2RlZmluZcKgwqDCoEVEUF9NQVhfU1VfRElTQUJMRV9USU1FKHQpCSgodCk8PDIwKQo+ ID4gPiA+IMKgICNkZWZpbmXCoMKgwqBFRFBfTUFYX1NVX0RJU0FCTEVfVElNRV9NQVNLCSgweDFm PDwyMCkKPiA+ID4gPiAtI2RlZmluZcKgwqDCoEVEUF9QU1IyX1RQMl9USU1FXzUwMAkJKDA8PDgp Cj4gPiA+ID4gLSNkZWZpbmXCoMKgwqBFRFBfUFNSMl9UUDJfVElNRV8xMDAJCSgxPDw4KQo+ID4g PiA+IC0jZGVmaW5lwqDCoMKgRURQX1BTUjJfVFAyX1RJTUVfMjUwMAkoMjw8OCkKPiA+ID4gPiAt I2RlZmluZcKgwqDCoEVEUF9QU1IyX1RQMl9USU1FXzUwCQkoMzw8OCkKPiA+ID4gPiArI2RlZmlu ZcKgwqDCoEVEUF9QU1IyX1RQMl9USU1FXzUwMHVzCSgwPDw4KQo+ID4gPiA+ICsjZGVmaW5lwqDC oMKgRURQX1BTUjJfVFAyX1RJTUVfMTAwdXMJKDE8PDgpCj4gPiA+ID4gKyNkZWZpbmXCoMKgwqBF RFBfUFNSMl9UUDJfVElNRV8yNTAwdXMJKDI8PDgpCj4gPiA+ID4gKyNkZWZpbmXCoMKgwqBFRFBf UFNSMl9UUDJfVElNRV81MHVzCSgzPDw4KQo+ID4gPiA+IMKgICNkZWZpbmXCoMKgwqBFRFBfUFNS Ml9UUDJfVElNRV9NQVNLCSgzPDw4KQo+ID4gPiA+IMKgICNkZWZpbmXCoMKgwqBFRFBfUFNSMl9G UkFNRV9CRUZPUkVfU1VfU0hJRlQgNAo+ID4gPiA+IMKgICNkZWZpbmXCoMKgwqBFRFBfUFNSMl9G UkFNRV9CRUZPUkVfU1VfTUFTSwkoMHhmPDw0KQo+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9iaW9zLmMKPiA+ID4gPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Jpb3MuYwo+ID4gPiA+IGluZGV4IDU0MjcwYmQuLjY5NWNhNzMgMTAwNjQ0Cj4gPiA+ ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYmlvcy5jCj4gPiA+ID4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYmlvcy5jCj4gPiA+ID4gQEAgLTY4OCw4ICs2ODgs NTAgQEAgc3RhdGljIGludCBpbnRlbF9iaW9zX3NzY19mcmVxdWVuY3koc3RydWN0Cj4gPiA+ID4g ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPiA+ID4gwqDCoAkJYnJlYWs7Cj4gPiA+ID4g wqDCoAl9Cj4gPiA+ID4gwqDCoAo+ID4gPiA+IC0JZGV2X3ByaXYtPnZidC5wc3IudHAxX3dha2V1 cF90aW1lID0gcHNyX3RhYmxlLQo+ID4gPiA+ID4gCj4gPiA+ID4gPiB0cDFfd2FrZXVwX3RpbWU7 Cj4gPiA+ID4gLQlkZXZfcHJpdi0+dmJ0LnBzci50cDJfdHAzX3dha2V1cF90aW1lID0gcHNyX3Rh YmxlLQo+ID4gPiA+ID4gCj4gPiA+ID4gPiB0cDJfdHAzX3dha2V1cF90aW1lOwo+ID4gPiA+ICsJ LyoKPiA+ID4gPiArCcKgKiBOZXcgcHNyIG9wdGlvbnMgMD01MDB1cywgMT0xMDB1cywgMj0yNTAw dXMsIDM9MHVzCj4gPiA+ID4gKwnCoCogT2xkIGRlY2ltYWwgdmFsdWUgaXMgd2FrZSB1cCB0aW1l IGluIG11bHRpcGxlcyBvZgo+ID4gPiA+IDEwMCB1cy4KPiA+ID4gPiArCcKgKi8KPiA+ID4gPiAr CWlmIChiZGItPnZlcnNpb24gPj0gMjA5ICYmIElTX0dFTjlfQkMoZGV2X3ByaXYpKSB7Cj4gPiA+ IFNpbmNlIHRoaXMgaXMgdGhlICduZXcnIG1hcHBpbmcsIHNob3VsZG4ndCB0aGlzIGNoZWNrIGJl Cj4gPiA+IAo+ID4gPiBpZiAodmVyc2lvbiA+PSAyMDkpIHsKPiA+ID4gCj4gPiA+IH0KPiA+IGNo ZWNrIGlzIGZvciBiZGIgdmVyc2lvbi4KPiA+ID4gCj4gPiA+IGkuZS4sIHdoYXQgdmVyc2lvbnMg ZG8gQlhULCBHTEssIENGTCBhbmQgQ05MIGhhdmU/Cj4gPiB3YWl0aW5nIGZvciBHT1AncyB0ZWFt IGNvbmZpcm1hdGlvbiBvbiBhYm92ZSBwbGF0Zm9ybXMuCj4gPiBXZSBjYW4gYWRkIHRoZW0gbGF0 ZXIuCj4gPiA+IAo+ID4gPiAKPiA+ID4gU2luY2UgZ2VuLTkgdGFibGVzIGNhbiBoYXZlIGFtYmln dW91cyBpbnRlcnByZXRhdGlvbnMsIEkgdGhpbmsgd2UKPiA+ID4gY2FuCj4gPiA+IGRvIHRoaXMu Cj4gPiA+IAo+ID4gPiBpZiAodmVyc2lvbiA+PSAyMDkgfHwgKElTX0dFTjkoKSAmJiB3YWtldXBf dGltZSA8PTMpKSB7Cj4gPiA+IAkvLyBSZWFkIHRoaXMgYXMgezA6NTAwLCAxOjEwMCwgMjoyNTAw LCAzOjB9Cj4gPiBXaXRoIG9sZCBic2YgZmlsZSAsIGl0J3MgbXVsdGlwbGUgb2YgMTAwIG1zLgo+ ID4gaWYgdXNlciBpbnB1dHPCoMKgMsKgwqAsIHRoaW5raW5nIHRoYXTCoMKgaXQncyAyMDAgbXMg LCB3aXRoIGFib3ZlIGNoYW5nZQo+ID4gd2XCoAo+ID4gYXJlIHNldHRpbmcgdGhpcyB0b8KgwqAy NTAwIG1zLgo+ID4gQXMgcGVyIG9sZCBzcGVjLCBpdCBzaG91bGQgYmUgc2V0IHRvIDUwMCBtcy7C oMKgwqAoPjEgLCBzZXQgdG8gNTAwKQo+ID4gSmFuaSAvTWF1bGlrLCBpcyBpdCBva2F5IHRvIG1h a2UgdGhlIGFib3ZlIGNoYW5nZT8KPiBJIHRoaW5rIHRoZSBwYXRjaCBpcyBub3cgdGhlIHdheSBp dCBzaG91bGQgYmUuIFdlIHNob3VsZCBub3QgY2hhbmdlCj4gb3VyCj4gaW50ZXJwcmV0YXRpb24g YmFzZWQgb24gdGhlIHZhbHVlLgoKSXMgaXQgY29ycmVjdCB0byBpbmZlciwgZnJvbSB5b3VyIHJl c3BvbnNlLCB0aGF0IFZCVCB2YWx1ZXMgYXJlIG5vdAphbHdheXMgc2V0IGJhc2VkIG9uIGhhcmR3 YXJlIGNhcGFiaWxpdHkgYXMgZG9jdW1lbnRlZCBpbiBic3BlYz8KCgoKPiAKPiBCUiwKPiBKYW5p Lgo+IAo+IAo+IAo+ID4gCj4gPiA+IAo+ID4gPiB9IGVsc2Ugewo+ID4gPiAJLy8gUmVhZCB0aGlz IGFzIHdha2V1cF90aW1lICogMTAwCj4gPiA+IH0KPiA+ID4gCj4gPiA+IFRoaXMgaXMgYXNzdW1p bmcgYWxsIHZlcnNpb25zID0+IDIwOSB1c2UgdGhlIG5ldyBtYXBwaW5nCj4gPiA+IGNvbnNpc3Rl bnRseS4KPiA+ID4gCj4gPiA+IDIgYW5kIDMgYXJlIGludmFsaWQgdmFsdWVzIGluIHRoZSB4KjEw MCB1cyBzY2hlbWUsIHNvIHdlIGNhbgo+ID4gPiBhc3N1bWUgaXQKPiA+ID4gcmVhbGx5IG1lYW5z IDIuNSBtcyBhbmQgMC4KPiA+ID4gMSBtZWFucyB0aGUgc2FtZS4KPiA+ID4gMCBpcyBhIHByb2Js ZW0sIGJ1dCB3ZSBjYW4gY2hlY2sgZHBjZCAwMDcxaCB0byBjb25maXJtIHdoZXRoZXIKPiA+ID4g dGhlIHNpbmsKPiA+ID4gbmVlZHMgdHJhaW5pbmcgb3Igbm90LiBBbmQgaXQgaXMgc2FmZXIgdG8g YXNzdW1lIHRoZSBzaW5rIG5lZWRzCj4gPiA+IHRyYWluaW5nIGF0IGludGVycHJldCBpcyBhcyA1 MDAgdXMuCj4gPiArCQlzd2l0Y2ggKHBzcl90YWJsZS0+dHAxX3dha2V1cF90aW1lKSB7Cj4gPiAr CQljYXNlIDA6Cj4gPiArCQkJZGV2X3ByaXYtPnZidC5wc3IudHAxX3dha2V1cF90aW1lX3VzID0K PiA+IDUwMDsKPiA+ICsJCQlicmVhazsKPiA+ICsJCWNhc2UgMToKPiA+ICsJCQlkZXZfcHJpdi0+ dmJ0LnBzci50cDFfd2FrZXVwX3RpbWVfdXMgPQo+ID4gMTAwOwo+ID4gKwkJCWJyZWFrOwo+ID4g KwkJY2FzZSAzOgo+ID4gKwkJCWRldl9wcml2LT52YnQucHNyLnRwMV93YWtldXBfdGltZV91cyA9 IDA7Cj4gPiArCQkJYnJlYWs7Cj4gPiArCQlkZWZhdWx0Ogo+ID4gKwkJCURSTV9ERUJVR19LTVMo IlZCVCB0cDEgd2FrZXVwIHRpbWUgdmFsdWUKPiA+ICVkCj4gPiBpcyBvdXRzaWRlIHJhbmdlWzAt M10sIGRlZmF1bHRpbmcgdG8gbWF4IHZhbHVlIDI1MDB1c1xuIiwKPiA+ICsJCQkJCXBzcl90YWJs ZS0KPiA+ID50cDFfd2FrZXVwX3RpbWUpOwo+ID4gKwkJLypmYWxsIHRocm91Z2gqLwo+ID4gCQlj YXNlIDI6Cj4gPiArCQkJZGV2X3ByaXYtPnZidC5wc3IudHAxX3dha2V1cF90aW1lX3VzID0KPiA+ IDI1MDA7Cj4gPiArCQkJYnJlYWs7Cj4gPiArCQl9Cj4gPiArCj4gPiAKPiA+ID4gCj4gPiA+IG5p dDogVGhhdCdzIGFuIGludGVyZXN0aW5nIG9yZGVyLCBpdCBpcyBuZWl0aGVyIHNvcnRlZCBieSB0 aGUKPiA+ID4gc3dpdGNoCj4gPiA+IHZhcmlhYmxlIG5vciBieSB3YWtlIHVwIHRpbWUuIEl0IGlz IGVhc2llciB0byByZWFkIGlmIHlvdSBjaG9zZQo+ID4gPiBvbmUgd2F5Cj4gPiA+IG9yIHRoZSBv dGhlciBJTU8uCj4gPiBBcyBwZXIgSmFuaSdzIHN1Z2dlc3R0aW9uICwgd2UgbmVlZCB0byBzZXQg MjUwMG1zIGZvciBvdXQgb2YKPiA+IHJhbmdlWzAtM10uwqAKPiA+IEl0J3MgYSBmYWxsIHRocm91 Z2guCj4gPiBzaG91bGQgaSBhZGQgY29tbWVudCAvKmZhbGwgdGhyb3VnaCovwqDCoGFzIGFib3Zl Pwo+ID4gPiAKPiA+ID4gwqDCoAo+ID4gPiA+IAo+ID4gPiA+ICsJCXN3aXRjaCAocHNyX3RhYmxl LT50cDJfdHAzX3dha2V1cF90aW1lKSB7Cj4gPiA+ID4gKwkJY2FzZSAwOgo+ID4gPiA+ICsJCQlk ZXZfcHJpdi0KPiA+ID4gPiA+dmJ0LnBzci50cDJfdHAzX3dha2V1cF90aW1lX3VzID0KPiA+ID4g PiA1MDA7Cj4gPiA+ID4gKwkJCWJyZWFrOwo+ID4gPiA+ICsJCWNhc2UgMToKPiA+ID4gPiArCQkJ ZGV2X3ByaXYtCj4gPiA+ID4gPnZidC5wc3IudHAyX3RwM193YWtldXBfdGltZV91cyA9Cj4gPiA+ ID4gMTAwOwo+ID4gPiA+ICsJCQlicmVhazsKPiA+ID4gPiArCQljYXNlIDM6Cj4gPiA+ID4gKwkJ CWRldl9wcml2LT52YnQucHNyLnRwMV93YWtldXBfdGltZV91cyA9Cj4gPiA+ID4gMDsKPiA+ID4g PiArCQkJYnJlYWs7Cj4gPiA+ID4gKwkJZGVmYXVsdDoKPiA+ID4gPiArCQkJRFJNX0RFQlVHX0tN UygiVkJUIHRwMl90cDMgd2FrZXVwIHRpbWUKPiA+ID4gPiB2YWx1ZQo+ID4gPiA+ICVkIGlzIG91 dHNpZGUgcmFuZ2VbMC0zXSwgZGVmYXVsdGluZyB0byBtYXggdmFsdWUgMjUwMHVzXG4iLAo+ID4g PiA+ICsJCQkJCXBzcl90YWJsZS0KPiA+ID4gPiA+IAo+ID4gPiA+ID4gdHAyX3RwM193YWtldXBf dGltZSk7Cj4gPiA+ID4gKwkJY2FzZSAyOgo+ID4gPiA+ICsJCQlkZXZfcHJpdi0KPiA+ID4gPiA+ dmJ0LnBzci50cDJfdHAzX3dha2V1cF90aW1lX3VzID0KPiA+ID4gPiAyNTAwOwo+ID4gPiA+ICsJ CWJyZWFrOwo+ID4gPiA+ICsJCX0KPiA+ID4gPiArCX0gZWxzZSB7Cj4gPiA+ID4gKwkJZGV2X3By aXYtPnZidC5wc3IudHAxX3dha2V1cF90aW1lX3VzID0KPiA+ID4gPiBwc3JfdGFibGUtCj4gPiA+ ID4gPiAKPiA+ID4gPiA+IHRwMV93YWtldXBfdGltZSAqIDEwMDsKPiA+ID4gPiArCQlkZXZfcHJp di0+dmJ0LnBzci50cDJfdHAzX3dha2V1cF90aW1lX3VzID0KPiA+ID4gPiBwc3JfdGFibGUtPnRw Ml90cDNfd2FrZXVwX3RpbWUgKiAxMDA7Cj4gPiA+ID4gKwl9Cj4gPiA+ID4gwqAgfQo+ID4gPiA+ IMKgwqAKPiA+ID4gPiDCoCBzdGF0aWMgdm9pZCBwYXJzZV9kc2lfYmFja2xpZ2h0X3BvcnRzKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlCj4gPiA+ID4gKmRldl9wcml2LAo+ID4gPiA+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYwo+ID4gPiA+IGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMKPiA+ID4gPiBpbmRleCBkYjI3ZjJmLi5kNjRmMDM5IDEw MDY0NAo+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jCj4gPiA+ ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMKPiA+ID4gPiBAQCAtNDYx LDIzICs0NjEsMjMgQEAgc3RhdGljIHZvaWQgaHN3X2FjdGl2YXRlX3BzcjEoc3RydWN0Cj4gPiA+ ID4gaW50ZWxfZHAKPiA+ID4gPiAqaW50ZWxfZHApCj4gPiA+ID4gwqDCoAlpZiAoZGV2X3ByaXYt PnBzci5saW5rX3N0YW5kYnkpCj4gPiA+ID4gwqDCoAkJdmFsIHw9IEVEUF9QU1JfTElOS19TVEFO REJZOwo+ID4gPiA+IMKgwqAKPiA+ID4gPiAtCWlmIChkZXZfcHJpdi0+dmJ0LnBzci50cDFfd2Fr ZXVwX3RpbWUgPiA1KQo+ID4gPiA+IC0JCXZhbCB8PSBFRFBfUFNSX1RQMV9USU1FXzI1MDB1czsK PiA+ID4gPiAtCWVsc2UgaWYgKGRldl9wcml2LT52YnQucHNyLnRwMV93YWtldXBfdGltZSA+IDEp Cj4gPiA+ID4gLQkJdmFsIHw9IEVEUF9QU1JfVFAxX1RJTUVfNTAwdXM7Cj4gPiA+ID4gLQllbHNl IGlmIChkZXZfcHJpdi0+dmJ0LnBzci50cDFfd2FrZXVwX3RpbWUgPiAwKQo+ID4gPiA+ICsJaWYg KGRldl9wcml2LT52YnQucHNyLnRwMV93YWtldXBfdGltZV91cyA9PSAwKQo+ID4gPiA+ICsJCXZh bCB8PcKgwqBFRFBfUFNSX1RQMV9USU1FXzB1czsKPiA+ID4gPiArCWVsc2UgaWYgKGRldl9wcml2 LT52YnQucHNyLnRwMV93YWtldXBfdGltZV91cyA8PSAxMDApCj4gPiA+ID4gwqDCoAkJdmFsIHw9 IEVEUF9QU1JfVFAxX1RJTUVfMTAwdXM7Cj4gPiA+ID4gKwllbHNlIGlmIChkZXZfcHJpdi0+dmJ0 LnBzci50cDFfd2FrZXVwX3RpbWVfdXMgPD0gNTAwKQo+ID4gPiA+ICsJCXZhbCB8PSBFRFBfUFNS X1RQMV9USU1FXzUwMHVzOwo+ID4gPiA+IMKgwqAJZWxzZQo+ID4gPiA+IC0JCXZhbCB8PSBFRFBf UFNSX1RQMV9USU1FXzB1czsKPiA+ID4gPiArCQl2YWwgfD0gRURQX1BTUl9UUDFfVElNRV8yNTAw dXM7Cj4gPiA+ID4gwqDCoAo+ID4gPiA+IC0JaWYgKGRldl9wcml2LT52YnQucHNyLnRwMl90cDNf d2FrZXVwX3RpbWUgPiA1KQo+ID4gPiA+IC0JCXZhbCB8PSBFRFBfUFNSX1RQMl9UUDNfVElNRV8y NTAwdXM7Cj4gPiA+ID4gLQllbHNlIGlmIChkZXZfcHJpdi0+dmJ0LnBzci50cDJfdHAzX3dha2V1 cF90aW1lID4gMSkKPiA+ID4gPiAtCQl2YWwgfD0gRURQX1BTUl9UUDJfVFAzX1RJTUVfNTAwdXM7 Cj4gPiA+ID4gLQllbHNlIGlmIChkZXZfcHJpdi0+dmJ0LnBzci50cDJfdHAzX3dha2V1cF90aW1l ID4gMCkKPiA+ID4gPiArCWlmIChkZXZfcHJpdi0+dmJ0LnBzci50cDJfdHAzX3dha2V1cF90aW1l X3VzID09IDApCj4gPiA+ID4gKwkJdmFsIHw9wqDCoEVEUF9QU1JfVFAyX1RQM19USU1FXzB1czsK PiA+ID4gPiArCWVsc2UgaWYgKGRldl9wcml2LT52YnQucHNyLnRwMl90cDNfd2FrZXVwX3RpbWVf dXMgPD0KPiA+ID4gPiAxMDApCj4gPiA+ID4gwqDCoAkJdmFsIHw9IEVEUF9QU1JfVFAyX1RQM19U SU1FXzEwMHVzOwo+ID4gPiA+ICsJZWxzZSBpZiAoZGV2X3ByaXYtPnZidC5wc3IudHAyX3RwM193 YWtldXBfdGltZV91cyA8PQo+ID4gPiA+IDUwMCkKPiA+ID4gPiArCQl2YWwgfD0gRURQX1BTUl9U UDJfVFAzX1RJTUVfNTAwdXM7Cj4gPiA+ID4gwqDCoAllbHNlCj4gPiA+ID4gLQkJdmFsIHw9IEVE UF9QU1JfVFAyX1RQM19USU1FXzB1czsKPiA+ID4gPiArCQl2YWwgfD0gRURQX1BTUl9UUDJfVFAz X1RJTUVfMjUwMHVzOwo+ID4gPiA+IMKgwqAKPiA+ID4gPiDCoMKgCWlmIChpbnRlbF9kcF9zb3Vy Y2Vfc3VwcG9ydHNfaGJyMihpbnRlbF9kcCkgJiYKPiA+ID4gPiDCoMKgCcKgwqDCoMKgZHJtX2Rw X3RwczNfc3VwcG9ydGVkKGludGVsX2RwLT5kcGNkKSkKPiA+ID4gPiBAQCAtNTEzLDE0ICs1MTMs MTUgQEAgc3RhdGljIHZvaWQgaHN3X2FjdGl2YXRlX3BzcjIoc3RydWN0Cj4gPiA+ID4gaW50ZWxf ZHAKPiA+ID4gPiAqaW50ZWxfZHApCj4gPiA+ID4gwqDCoAo+ID4gPiA+IMKgwqAJdmFsIHw9IEVE UF9QU1IyX0ZSQU1FX0JFRk9SRV9TVShkZXZfcHJpdi0KPiA+ID4gPiA+IAo+ID4gPiA+ID4gcHNy LnNpbmtfc3luY19sYXRlbmN5ICsgMSk7Cj4gPiA+ID4gwqDCoAo+ID4gPiA+IC0JaWYgKGRldl9w cml2LT52YnQucHNyLnRwMl90cDNfd2FrZXVwX3RpbWUgPiA1KQo+ID4gPiA+IC0JCXZhbCB8PSBF RFBfUFNSMl9UUDJfVElNRV8yNTAwOwo+ID4gPiA+IC0JZWxzZSBpZiAoZGV2X3ByaXYtPnZidC5w c3IudHAyX3RwM193YWtldXBfdGltZSA+IDEpCj4gPiA+ID4gLQkJdmFsIHw9IEVEUF9QU1IyX1RQ Ml9USU1FXzUwMDsKPiA+ID4gPiAtCWVsc2UgaWYgKGRldl9wcml2LT52YnQucHNyLnRwMl90cDNf d2FrZXVwX3RpbWUgPiAwKQo+ID4gPiA+IC0JCXZhbCB8PSBFRFBfUFNSMl9UUDJfVElNRV8xMDA7 Cj4gPiA+ID4gKwlpZiAoZGV2X3ByaXYtPnZidC5wc3IudHAyX3RwM193YWtldXBfdGltZV91cyA+ PSAwICYmCj4gPiA+ID4gKwnCoMKgwqDCoGRldl9wcml2LT52YnQucHNyLnRwMl90cDNfd2FrZXVw X3RpbWVfdXMgPD0gNTApCj4gPiA+ID4gKwkJdmFsIHw9IEVEUF9QU1IyX1RQMl9USU1FXzUwdXM7 Cj4gPiA+ID4gKwllbHNlIGlmIChkZXZfcHJpdi0+dmJ0LnBzci50cDJfdHAzX3dha2V1cF90aW1l X3VzIDw9Cj4gPiA+ID4gMTAwKQo+ID4gPiA+ICsJCXZhbCB8PSBFRFBfUFNSMl9UUDJfVElNRV8x MDB1czsKPiA+ID4gPiArCWVsc2UgaWYgKGRldl9wcml2LT52YnQucHNyLnRwMl90cDNfd2FrZXVw X3RpbWVfdXMgPD0KPiA+ID4gPiA1MDApCj4gPiA+ID4gKwkJdmFsIHw9IEVEUF9QU1IyX1RQMl9U SU1FXzUwMHVzOwo+ID4gPiA+IMKgwqAJZWxzZQo+ID4gPiA+IC0JCXZhbCB8PSBFRFBfUFNSMl9U UDJfVElNRV81MDsKPiA+ID4gPiArCQl2YWwgfD0gRURQX1BTUjJfVFAyX1RJTUVfMjUwMHVzOwo+ ID4gPiA+IMKgwqAKPiA+ID4gPiDCoMKgCUk5MTVfV1JJVEUoRURQX1BTUjJfQ1RMLCB2YWwpOwo+ ID4gPiA+IMKgIH0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 Cg==