From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dhinakaran Pandiyan Subject: Re: [PATCH] drm/i915/psr: vbt change for psr Date: Tue, 15 May 2018 16:03:40 -0700 Message-ID: <1526425420.17473.98.camel@intel.com> References: <1526268734-8269-1-git-send-email-vathsala.nagaraju@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 mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6DAEC89E5B for ; Tue, 15 May 2018 22:38:19 +0000 (UTC) In-Reply-To: <1526268734-8269-1-git-send-email-vathsala.nagaraju@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: vathsala nagaraju , rodrigo.vivi@intel.com, jani.nikula@linux.intel.com, intel-gfx@lists.freedesktop.org Cc: Puthikorn Voravootivat , Maulik V Vaghela List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCAyMDE4LTA1LTE0IGF0IDA5OjAyICswNTMwLCB2YXRoc2FsYSBuYWdhcmFqdSB3cm90 ZToKPiBGcm9tOiBWYXRoc2FsYSBOYWdhcmFqdSA8dmF0aHNhbGEubmFnYXJhanVAaW50ZWwuY29t Pgo+IAo+IEZvciBwc3IgYmxvY2sgIzksIHRoZSB2YnQgZGVzY3JpcHRpb24gaGFzIG1vdmVkIHRv IG9wdGlvbnMgWzAtM10gZm9yCj4gVFAxLFRQMixUUDMgV2FrZXVwIHRpbWUgZnJvbSBkZWNpbWFs IHZhbHVlIHdpdGhvdXQgYW55IGNoYW5nZSB0byB2YnQKPiBzdHJ1Y3R1cmUuIFNpbmNlIHNwZWMg ZG9lcyBub3TCoMKgbWVudGlvbiBmcm9tIHdoaWNoIFZCVCB2ZXJzaW9uIHRoaXMKPiBjaGFuZ2Ug d2FzIGFkZGVkIHRvIHZidC5ic2YgZmlsZSwgd2UgY2Fubm90IGRlcGVuZCBvbiBiZGItPnZlcnNp b24KPiBjaGVjawo+IHRvIGNoYW5nZSBmb3IgYWxsIHRoZSBwbGF0Zm9ybXMuCj4gCj4gVGhlcmUg aXMgUkNSIGlucGxhY2UgZm9yIEdPUCB0ZWFtIHRvwqDCoHByb3ZpZGUgdGhlIHZlcnNpb24gbnVt YmVyCj4gdG8gbWFrZSBnZW5lcmljIGNoYW5nZS4gU2luY2UgS2FieWxha2Ugd2l0aCBiZGIgdmVy c2lvbiAyMDkgaXMgaGF2aW5nCj4gdGhpcwo+IGNoYW5nZSwgbGltaXRpbmcgdGhpcyBjaGFuZ2Ug dG8gZ2VuOV9iYyBhbmQgdmVyc2lvbiAyMDkrIHRvIHVuYmxvY2sKPiBnb29nbGUuCj4gCj4gVGVz dGVkIG9uIHNrbChiZGIgdmVyc2lvbiAyMDMsd2l0aG91dCBvcHRpb25zKSBhbmQKPiBrYWJ5bGFr ZShiZGIgdmVyc2lvbiAyMDksMjEyKSBoYXZpbmcgbmV3IG9wdGlvbnMuCj4gCj4gYnNwZWMgMjAx MzEKPiAKPiB2MjogKEphbmkgYW5kIFJvZHJpZ28pCj4gwqDCoMKgwqBtb3ZlIHRoZSAxNjUgdmVy c2lvbiBjaGVjayB0byBpbnRlbF9iaW9zLmMKPiB2MzogSmFuaQo+IMKgwqDCoMKgTW92ZSB0aGUg YWJzdHJhY3Rpb24gdG8gaW50ZWxfYmlvcy4KPiB2NDogSmFuaQo+IMKgwqDCoMKgUmVuYW1lIHRw Kl93YWtldXBfdGltZSB0byBoYXZlICJ1cyIgc3VmZml4Lgo+IMKgwqDCoMKgRm9yIHZhbHVlcyBv dXRzaWRlIHJhbmdlWzAtM10sZGVmYXVsdCB0byBtYXggMjUwMHVzLgo+IMKgwqDCoMKgT2xkIGRl Y2ltYWwgdmFsdWUgd2FzIHdha2UgdXAgdGltZSBpbiBtdWx0aXBsZXMgb2YgMTAwdXMuCj4gdjU6 IEphbmkgYW5kIFJvZHJpZ28KPiDCoMKgwqDCoEhhbmRsZSBvcHRpb24gMiBpbiBkZWZhdWx0IGNv bmRpdGlvbi4KPiDCoMKgwqDCoFByaW50IG91c3RpZGUgcmFuZ2UgdmFsdWUuCj4gwqDCoMKgwqBG b3IgbmVnZXRpdmUgdmFsdWVzIGRlZmF1bHQgdG8gMjUwMHVzLgo+IHY2OiBKYW5pCj4gwqDCoMKg wqBIYW5kbGUgZGVmYXVsdCBmaXJzdCBhbmQgdGhlbiBmYWxsIHRocm91Z2ggZm9yIGNhc2UgMi4K PiB2NzogUm9kcmlnbwo+IMKgwqDCoMKgQXBwbHkgdGhpcyBjaGFuZ2UgZm9yIElTX0dFTjlfQkMg YW5kIHZidCB2ZXJzaW9uID4gMjA5Cj4gCj4gQ2M6IFJvZHJpZ28gVml2aSA8cm9kcmlnby52aXZp QGludGVsLmNvbT4KPiBDQzogUHV0aGlrb3JuIFZvcmF2b290aXZhdCA8cHV0aGlrQGNocm9taXVt Lm9yZz4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBNYXVsaWsgViBWYWdoZWxhIDxtYXVsaWsudi52YWdo ZWxhQGludGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBWYXRoc2FsYSBOYWdhcmFqdSA8dmF0aHNh bGEubmFnYXJhanVAaW50ZWwuY29tPgo+IC0tLQo+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaMKgwqDCoHzCoMKgNCArKy0tCj4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Jl Zy5owqDCoMKgfMKgwqA4ICsrKy0tLS0KPiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Jp b3MuYyB8IDQ2Cj4gKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCj4gwqBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuY8KgwqB8IDM5ICsrKysrKysrKysrKysrKysr LS0tLS0tLS0tLQo+IC0tLS0tLQo+IMKgNCBmaWxlcyBjaGFuZ2VkLCA3MCBpbnNlcnRpb25zKCsp LCAyNyBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaAo+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IGluZGV4IDU3 ZmIzYWEuLjI2OGIwNTkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBAQCAtMTA3OCw4 ICsxMDc4LDggQEAgc3RydWN0IGludGVsX3ZidF9kYXRhIHsKPiDCoAkJYm9vbCByZXF1aXJlX2F1 eF93YWtldXA7Cj4gwqAJCWludCBpZGxlX2ZyYW1lczsKPiDCoAkJZW51bSBwc3JfbGluZXNfdG9f d2FpdCBsaW5lc190b193YWl0Owo+IC0JCWludCB0cDFfd2FrZXVwX3RpbWU7Cj4gLQkJaW50IHRw Ml90cDNfd2FrZXVwX3RpbWU7Cj4gKwkJaW50IHRwMV93YWtldXBfdGltZV91czsKPiArCQlpbnQg dHAyX3RwM193YWtldXBfdGltZV91czsKPiDCoAl9IHBzcjsKPiDCoAo+IMKgCXN0cnVjdCB7Cj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiBpbmRleCBmMTFiYjIxLi42ODIwNjU4IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gQEAgLTQwODgsMTAgKzQwODgsMTAgQEAgZW51bSB7Cj4g wqAjZGVmaW5lwqDCoMKgRURQX1lfQ09PUkRJTkFURV9FTkFCTEUJKDE8PDI1KSAvKiBHTEsgYW5k IENOTCsgKi8KPiDCoCNkZWZpbmXCoMKgwqBFRFBfTUFYX1NVX0RJU0FCTEVfVElNRSh0KQkoKHQp PDwyMCkKPiDCoCNkZWZpbmXCoMKgwqBFRFBfTUFYX1NVX0RJU0FCTEVfVElNRV9NQVNLCSgweDFm PDwyMCkKPiAtI2RlZmluZcKgwqDCoEVEUF9QU1IyX1RQMl9USU1FXzUwMAkJKDA8PDgpCj4gLSNk ZWZpbmXCoMKgwqBFRFBfUFNSMl9UUDJfVElNRV8xMDAJCSgxPDw4KQo+IC0jZGVmaW5lwqDCoMKg RURQX1BTUjJfVFAyX1RJTUVfMjUwMAkoMjw8OCkKPiAtI2RlZmluZcKgwqDCoEVEUF9QU1IyX1RQ Ml9USU1FXzUwCQkoMzw8OCkKPiArI2RlZmluZcKgwqDCoEVEUF9QU1IyX1RQMl9USU1FXzUwMHVz CSgwPDw4KQo+ICsjZGVmaW5lwqDCoMKgRURQX1BTUjJfVFAyX1RJTUVfMTAwdXMJKDE8PDgpCj4g KyNkZWZpbmXCoMKgwqBFRFBfUFNSMl9UUDJfVElNRV8yNTAwdXMJKDI8PDgpCj4gKyNkZWZpbmXC oMKgwqBFRFBfUFNSMl9UUDJfVElNRV81MHVzCSgzPDw4KQo+IMKgI2RlZmluZcKgwqDCoEVEUF9Q U1IyX1RQMl9USU1FX01BU0sJKDM8PDgpCj4gwqAjZGVmaW5lwqDCoMKgRURQX1BTUjJfRlJBTUVf QkVGT1JFX1NVX1NISUZUIDQKPiDCoCNkZWZpbmXCoMKgwqBFRFBfUFNSMl9GUkFNRV9CRUZPUkVf U1VfTUFTSwkoMHhmPDw0KQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9iaW9zLmMKPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Jpb3MuYwo+IGluZGV4IDU0 MjcwYmQuLjY5NWNhNzMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf Ymlvcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYmlvcy5jCj4gQEAgLTY4 OCw4ICs2ODgsNTAgQEAgc3RhdGljIGludCBpbnRlbF9iaW9zX3NzY19mcmVxdWVuY3koc3RydWN0 Cj4gZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gwqAJCWJyZWFrOwo+IMKgCX0KPiDCoAo+ IC0JZGV2X3ByaXYtPnZidC5wc3IudHAxX3dha2V1cF90aW1lID0gcHNyX3RhYmxlLQo+ID50cDFf d2FrZXVwX3RpbWU7Cj4gLQlkZXZfcHJpdi0+dmJ0LnBzci50cDJfdHAzX3dha2V1cF90aW1lID0g cHNyX3RhYmxlLQo+ID50cDJfdHAzX3dha2V1cF90aW1lOwo+ICsJLyoKPiArCcKgKiBOZXcgcHNy IG9wdGlvbnMgMD01MDB1cywgMT0xMDB1cywgMj0yNTAwdXMsIDM9MHVzCj4gKwnCoCogT2xkIGRl Y2ltYWwgdmFsdWUgaXMgd2FrZSB1cCB0aW1lIGluIG11bHRpcGxlcyBvZiAxMDAgdXMuCj4gKwnC oCovCj4gKwlpZiAoYmRiLT52ZXJzaW9uID49IDIwOSAmJiBJU19HRU45X0JDKGRldl9wcml2KSkg ewoKU2luY2UgdGhpcyBpcyB0aGUgJ25ldycgbWFwcGluZywgc2hvdWxkbid0IHRoaXMgY2hlY2sg YmUKCmlmICh2ZXJzaW9uID49IDIwOSkgewoKfQppLmUuLCB3aGF0IHZlcnNpb25zIGRvIEJYVCwg R0xLLCBDRkwgYW5kIENOTCBoYXZlPwoKU2luY2UgZ2VuLTkgdGFibGVzIGNhbiBoYXZlIGFtYmln dW91cyBpbnRlcnByZXRhdGlvbnMsIEkgdGhpbmsgd2UgY2FuCmRvIHRoaXMuCgppZiAodmVyc2lv biA+PSAyMDkgfHwgKElTX0dFTjkoKSAmJiB3YWtldXBfdGltZSA8PTMpKSB7CgkvLyBSZWFkIHRo aXMgYXMgezA6NTAwLCAxOjEwMCwgMjoyNTAwLCAzOjB9Cn0gZWxzZSB7CgkvLyBSZWFkIHRoaXMg YXMgd2FrZXVwX3RpbWUgKiAxMDAKfQoKVGhpcyBpcyBhc3N1bWluZyBhbGwgdmVyc2lvbnMgPT4g MjA5IHVzZSB0aGUgbmV3IG1hcHBpbmcgY29uc2lzdGVudGx5LsKgCgoyIGFuZCAzIGFyZSBpbnZh bGlkIHZhbHVlcyBpbiB0aGUgeCoxMDAgdXMgc2NoZW1lLCBzbyB3ZSBjYW4gYXNzdW1lIGl0CnJl YWxseSBtZWFucyAyLjUgbXMgYW5kIDAuCjEgbWVhbnMgdGhlIHNhbWUuCjAgaXMgYSBwcm9ibGVt LCBidXQgd2UgY2FuIGNoZWNrIGRwY2QgMDA3MWggdG8gY29uZmlybSB3aGV0aGVyIHRoZSBzaW5r Cm5lZWRzIHRyYWluaW5nIG9yIG5vdC4gQW5kIGl0IGlzIHNhZmVyIHRvIGFzc3VtZSB0aGUgc2lu ayBuZWVkcwp0cmFpbmluZyBhdCBpbnRlcnByZXQgaXMgYXMgNTAwIHVzLgoKCgo+ICsJCXN3aXRj aCAocHNyX3RhYmxlLT50cDFfd2FrZXVwX3RpbWUpIHsKPiArCQljYXNlIDA6Cj4gKwkJCWRldl9w cml2LT52YnQucHNyLnRwMV93YWtldXBfdGltZV91cyA9IDUwMDsKPiArCQkJYnJlYWs7Cj4gKwkJ Y2FzZSAxOgo+ICsJCQlkZXZfcHJpdi0+dmJ0LnBzci50cDFfd2FrZXVwX3RpbWVfdXMgPSAxMDA7 Cj4gKwkJCWJyZWFrOwo+ICsJCWNhc2UgMzoKPiArCQkJZGV2X3ByaXYtPnZidC5wc3IudHAxX3dh a2V1cF90aW1lX3VzID0gMDsKPiArCQkJYnJlYWs7Cj4gKwkJZGVmYXVsdDoKPiArCQkJRFJNX0RF QlVHX0tNUygiVkJUIHRwMSB3YWtldXAgdGltZSB2YWx1ZSAlZAo+IGlzIG91dHNpZGUgcmFuZ2Vb MC0zXSwgZGVmYXVsdGluZyB0byBtYXggdmFsdWUgMjUwMHVzXG4iLAo+ICsJCQkJCXBzcl90YWJs ZS0+dHAxX3dha2V1cF90aW1lKTsKPiArCQljYXNlIDI6Cj4gKwkJCWRldl9wcml2LT52YnQucHNy LnRwMV93YWtldXBfdGltZV91cyA9IDI1MDA7Cj4gKwkJCWJyZWFrOwo+ICsJCX0KPiArCgpuaXQ6 IFRoYXQncyBhbiBpbnRlcmVzdGluZyBvcmRlciwgaXQgaXMgbmVpdGhlciBzb3J0ZWQgYnkgdGhl IHN3aXRjaAp2YXJpYWJsZSBub3IgYnkgd2FrZSB1cCB0aW1lLiBJdCBpcyBlYXNpZXIgdG8gcmVh ZCBpZiB5b3UgY2hvc2Ugb25lIHdheQpvciB0aGUgb3RoZXIgSU1PLgoKwqAKPiArCQlzd2l0Y2gg KHBzcl90YWJsZS0+dHAyX3RwM193YWtldXBfdGltZSkgewo+ICsJCWNhc2UgMDoKPiArCQkJZGV2 X3ByaXYtPnZidC5wc3IudHAyX3RwM193YWtldXBfdGltZV91cyA9Cj4gNTAwOwo+ICsJCQlicmVh azsKPiArCQljYXNlIDE6Cj4gKwkJCWRldl9wcml2LT52YnQucHNyLnRwMl90cDNfd2FrZXVwX3Rp bWVfdXMgPQo+IDEwMDsKPiArCQkJYnJlYWs7Cj4gKwkJY2FzZSAzOgo+ICsJCQlkZXZfcHJpdi0+ dmJ0LnBzci50cDFfd2FrZXVwX3RpbWVfdXMgPSAwOwo+ICsJCQlicmVhazsKPiArCQlkZWZhdWx0 Ogo+ICsJCQlEUk1fREVCVUdfS01TKCJWQlQgdHAyX3RwMyB3YWtldXAgdGltZSB2YWx1ZQo+ICVk IGlzIG91dHNpZGUgcmFuZ2VbMC0zXSwgZGVmYXVsdGluZyB0byBtYXggdmFsdWUgMjUwMHVzXG4i LAo+ICsJCQkJCXBzcl90YWJsZS0KPiA+dHAyX3RwM193YWtldXBfdGltZSk7Cj4gKwkJY2FzZSAy Ogo+ICsJCQlkZXZfcHJpdi0+dmJ0LnBzci50cDJfdHAzX3dha2V1cF90aW1lX3VzID0KPiAyNTAw Owo+ICsJCWJyZWFrOwo+ICsJCX0KPiArCX0gZWxzZSB7Cj4gKwkJZGV2X3ByaXYtPnZidC5wc3Iu dHAxX3dha2V1cF90aW1lX3VzID0gcHNyX3RhYmxlLQo+ID50cDFfd2FrZXVwX3RpbWUgKiAxMDA7 Cj4gKwkJZGV2X3ByaXYtPnZidC5wc3IudHAyX3RwM193YWtldXBfdGltZV91cyA9Cj4gcHNyX3Rh YmxlLT50cDJfdHAzX3dha2V1cF90aW1lICogMTAwOwoKPiArCX0KPiDCoH0KPiDCoAo+IMKgc3Rh dGljIHZvaWQgcGFyc2VfZHNpX2JhY2tsaWdodF9wb3J0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZQo+ICpkZXZfcHJpdiwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf cHNyLmMKPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jCj4gaW5kZXggZGIyN2Yy Zi4uZDY0ZjAzOSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3Iu Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jCj4gQEAgLTQ2MSwyMyAr NDYxLDIzIEBAIHN0YXRpYyB2b2lkIGhzd19hY3RpdmF0ZV9wc3IxKHN0cnVjdCBpbnRlbF9kcAo+ ICppbnRlbF9kcCkKPiDCoAlpZiAoZGV2X3ByaXYtPnBzci5saW5rX3N0YW5kYnkpCj4gwqAJCXZh bCB8PSBFRFBfUFNSX0xJTktfU1RBTkRCWTsKPiDCoAo+IC0JaWYgKGRldl9wcml2LT52YnQucHNy LnRwMV93YWtldXBfdGltZSA+IDUpCj4gLQkJdmFsIHw9IEVEUF9QU1JfVFAxX1RJTUVfMjUwMHVz Owo+IC0JZWxzZSBpZiAoZGV2X3ByaXYtPnZidC5wc3IudHAxX3dha2V1cF90aW1lID4gMSkKPiAt CQl2YWwgfD0gRURQX1BTUl9UUDFfVElNRV81MDB1czsKPiAtCWVsc2UgaWYgKGRldl9wcml2LT52 YnQucHNyLnRwMV93YWtldXBfdGltZSA+IDApCj4gKwlpZiAoZGV2X3ByaXYtPnZidC5wc3IudHAx X3dha2V1cF90aW1lX3VzID09IDApCj4gKwkJdmFsIHw9wqDCoEVEUF9QU1JfVFAxX1RJTUVfMHVz Owo+ICsJZWxzZSBpZiAoZGV2X3ByaXYtPnZidC5wc3IudHAxX3dha2V1cF90aW1lX3VzIDw9IDEw MCkKPiDCoAkJdmFsIHw9IEVEUF9QU1JfVFAxX1RJTUVfMTAwdXM7Cj4gKwllbHNlIGlmIChkZXZf cHJpdi0+dmJ0LnBzci50cDFfd2FrZXVwX3RpbWVfdXMgPD0gNTAwKQo+ICsJCXZhbCB8PSBFRFBf UFNSX1RQMV9USU1FXzUwMHVzOwo+IMKgCWVsc2UKPiAtCQl2YWwgfD0gRURQX1BTUl9UUDFfVElN RV8wdXM7Cj4gKwkJdmFsIHw9IEVEUF9QU1JfVFAxX1RJTUVfMjUwMHVzOwo+IMKgCj4gLQlpZiAo ZGV2X3ByaXYtPnZidC5wc3IudHAyX3RwM193YWtldXBfdGltZSA+IDUpCj4gLQkJdmFsIHw9IEVE UF9QU1JfVFAyX1RQM19USU1FXzI1MDB1czsKPiAtCWVsc2UgaWYgKGRldl9wcml2LT52YnQucHNy LnRwMl90cDNfd2FrZXVwX3RpbWUgPiAxKQo+IC0JCXZhbCB8PSBFRFBfUFNSX1RQMl9UUDNfVElN RV81MDB1czsKPiAtCWVsc2UgaWYgKGRldl9wcml2LT52YnQucHNyLnRwMl90cDNfd2FrZXVwX3Rp bWUgPiAwKQo+ICsJaWYgKGRldl9wcml2LT52YnQucHNyLnRwMl90cDNfd2FrZXVwX3RpbWVfdXMg PT0gMCkKPiArCQl2YWwgfD3CoMKgRURQX1BTUl9UUDJfVFAzX1RJTUVfMHVzOwo+ICsJZWxzZSBp ZiAoZGV2X3ByaXYtPnZidC5wc3IudHAyX3RwM193YWtldXBfdGltZV91cyA8PSAxMDApCj4gwqAJ CXZhbCB8PSBFRFBfUFNSX1RQMl9UUDNfVElNRV8xMDB1czsKPiArCWVsc2UgaWYgKGRldl9wcml2 LT52YnQucHNyLnRwMl90cDNfd2FrZXVwX3RpbWVfdXMgPD0gNTAwKQo+ICsJCXZhbCB8PSBFRFBf UFNSX1RQMl9UUDNfVElNRV81MDB1czsKPiDCoAllbHNlCj4gLQkJdmFsIHw9IEVEUF9QU1JfVFAy X1RQM19USU1FXzB1czsKPiArCQl2YWwgfD0gRURQX1BTUl9UUDJfVFAzX1RJTUVfMjUwMHVzOwo+ IMKgCj4gwqAJaWYgKGludGVsX2RwX3NvdXJjZV9zdXBwb3J0c19oYnIyKGludGVsX2RwKSAmJgo+ IMKgCcKgwqDCoMKgZHJtX2RwX3RwczNfc3VwcG9ydGVkKGludGVsX2RwLT5kcGNkKSkKPiBAQCAt NTEzLDE0ICs1MTMsMTUgQEAgc3RhdGljIHZvaWQgaHN3X2FjdGl2YXRlX3BzcjIoc3RydWN0IGlu dGVsX2RwCj4gKmludGVsX2RwKQo+IMKgCj4gwqAJdmFsIHw9IEVEUF9QU1IyX0ZSQU1FX0JFRk9S RV9TVShkZXZfcHJpdi0KPiA+cHNyLnNpbmtfc3luY19sYXRlbmN5ICsgMSk7Cj4gwqAKPiAtCWlm IChkZXZfcHJpdi0+dmJ0LnBzci50cDJfdHAzX3dha2V1cF90aW1lID4gNSkKPiAtCQl2YWwgfD0g RURQX1BTUjJfVFAyX1RJTUVfMjUwMDsKPiAtCWVsc2UgaWYgKGRldl9wcml2LT52YnQucHNyLnRw Ml90cDNfd2FrZXVwX3RpbWUgPiAxKQo+IC0JCXZhbCB8PSBFRFBfUFNSMl9UUDJfVElNRV81MDA7 Cj4gLQllbHNlIGlmIChkZXZfcHJpdi0+dmJ0LnBzci50cDJfdHAzX3dha2V1cF90aW1lID4gMCkK PiAtCQl2YWwgfD0gRURQX1BTUjJfVFAyX1RJTUVfMTAwOwo+ICsJaWYgKGRldl9wcml2LT52YnQu cHNyLnRwMl90cDNfd2FrZXVwX3RpbWVfdXMgPj0gMCAmJgo+ICsJwqDCoMKgwqBkZXZfcHJpdi0+ dmJ0LnBzci50cDJfdHAzX3dha2V1cF90aW1lX3VzIDw9IDUwKQo+ICsJCXZhbCB8PSBFRFBfUFNS Ml9UUDJfVElNRV81MHVzOwo+ICsJZWxzZSBpZiAoZGV2X3ByaXYtPnZidC5wc3IudHAyX3RwM193 YWtldXBfdGltZV91cyA8PSAxMDApCj4gKwkJdmFsIHw9IEVEUF9QU1IyX1RQMl9USU1FXzEwMHVz Owo+ICsJZWxzZSBpZiAoZGV2X3ByaXYtPnZidC5wc3IudHAyX3RwM193YWtldXBfdGltZV91cyA8 PSA1MDApCj4gKwkJdmFsIHw9IEVEUF9QU1IyX1RQMl9USU1FXzUwMHVzOwo+IMKgCWVsc2UKPiAt CQl2YWwgfD0gRURQX1BTUjJfVFAyX1RJTUVfNTA7Cj4gKwkJdmFsIHw9IEVEUF9QU1IyX1RQMl9U SU1FXzI1MDB1czsKPiDCoAo+IMKgCUk5MTVfV1JJVEUoRURQX1BTUjJfQ1RMLCB2YWwpOwo+IMKg fQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK