From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH] drm/i915/psr: vbt change for psr Date: Thu, 03 May 2018 10:07:32 +0300 Message-ID: <87r2mt8bez.fsf@intel.com> References: <1525252409-6665-1-git-send-email-vathsala.nagaraju@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 069B18990D for ; Thu, 3 May 2018 07:04:54 +0000 (UTC) In-Reply-To: <1525252409-6665-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, intel-gfx@lists.freedesktop.org Cc: Puthikorn Voravootivat , Maulik V Vaghela List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCAwMiBNYXkgMjAxOCwgdmF0aHNhbGEgbmFnYXJhanUgPHZhdGhzYWxhLm5hZ2FyYWp1 QGludGVsLmNvbT4gd3JvdGU6Cj4gRnJvbTogVmF0aHNhbGEgTmFnYXJhanUgPHZhdGhzYWxhLm5h Z2FyYWp1QGludGVsLmNvbT4KPgo+IEZvciBwc3IgYmxvY2sgIzksIHRoZSB2YnQgZGVzY3JpcHRp b24gaGFzIG1vdmVkIHRvIG9wdGlvbnMgWzAtM10gZm9yCj4gVFAxLFRQMixUUDMgV2FrZXVwIHRp bWUgZnJvbSBkZWNpbWFsIHZhbHVlIHdpdGhvdXQgYW55IGNoYW5nZSB0byB2YnQKPiBzdHJ1Y3R1 cmUuIFNpbmNlIHNwZWMgZG9lcyBub3QgIG1lbnRpb24gZnJvbSB3aGljaCBWQlQgdmVyc2lvbiB0 aGlzCj4gY2hhbmdlIHdhcyBhZGRlZCB0byB2YnQuYnNmIGZpbGUsIHdlIGNhbm5vdCBkZXBlbmQg b24gYmRiLT52ZXJzaW9uIGNoZWNrCj4gdG8gY2hhbmdlIGZvciBhbGwgdGhlIHBsYXRmb3Jtcy4K Pgo+IFRoZXJlIGlzIFJDUiBpbnBsYWNlIGZvciBHT1AgdGVhbSB0byAgcHJvdmlkZSB0aGUgdmVy c2lvbiBudW1iZXIKPiB0byBtYWtlIGdlbmVyaWMgY2hhbmdlLiBTaW5jZSBLYWJ5bGFrZSB3aXRo IGJkYiB2ZXJzaW9uIDIwOSBpcyBoYXZpbmcgdGhpcwo+IGNoYW5nZSwgbGltaXRpbmcgdGhpcyBj aGFuZ2UgdG8ga2JsIGFuZCB2ZXJzaW9uIDIwOSsgdG8gdW5ibG9jayBnb29nbGUuCj4KPiBUZXN0 ZWQgb24gc2tsKGJkYiB2ZXJzaW9uIDIwMyx3aXRob3V0IG9wdGlvbnMpIGFuZAo+IGthYnlsYWtl KGJkYiB2ZXJzaW9uIDIwOSwyMTIpIGhhdmluZyBuZXcgb3B0aW9ucy4KPgo+IGJzcGVjIDIwMTMx Cj4KPiB2MjogKEphbmkgYW5kIFJvZHJpZ28pCj4gICAgIG1vdmUgdGhlIDE2NSB2ZXJzaW9uIGNo ZWNrIHRvIGludGVsX2Jpb3MuYwo+IHYzOiBKYW5pCj4gICAgIE1vdmUgdGhlIGFic3RyYWN0aW9u IHRvIGludGVsX2Jpb3MuCj4gdjQ6IEphbmkKPiAgICAgUmVuYW1lIHRwKl93YWtldXBfdGltZSB0 byBoYXZlICJ1cyIgc3VmZml4Lgo+ICAgICBGb3IgdmFsdWVzIG91dHNpZGUgcmFuZ2VbMC0zXSxk ZWZhdWx0IHRvIG1heCAyNTAwdXMuCj4gICAgIE9sZCBkZWNpbWFsIHZhbHVlIHdhcyB3YWtlIHVw IHRpbWUgaW4gbXVsdGlwbGVzIG9mIDEwMHVzLgo+Cj4gQ2M6IFJvZHJpZ28gVml2aSA8cm9kcmln by52aXZpQGludGVsLmNvbT4KPiBDQzogUHV0aGlrb3JuIFZvcmF2b290aXZhdCA8cHV0aGlrQGNo cm9taXVtLm9yZz4KPgo+IFNpZ25lZC1vZmYtYnk6IE1hdWxpayBWIFZhZ2hlbGEgPG1hdWxpay52 LnZhZ2hlbGFAaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IFZhdGhzYWxhIE5hZ2FyYWp1IDx2 YXRoc2FsYS5uYWdhcmFqdUBpbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmggICB8ICA0ICsrLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcu aCAgIHwgIDggKysrLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9iaW9zLmMgfCA0 NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KPiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcHNyLmMgIHwgMzggKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0t LS0tCj4gIDQgZmlsZXMgY2hhbmdlZCwgNjggaW5zZXJ0aW9ucygrKSwgMjcgZGVsZXRpb25zKC0p Cj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBpbmRleCA2MjY4YTUxLi5hMTg5MzgyIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gQEAgLTEwNzcsOCArMTA3Nyw4IEBAIHN0cnVjdCBp bnRlbF92YnRfZGF0YSB7Cj4gIAkJYm9vbCByZXF1aXJlX2F1eF93YWtldXA7Cj4gIAkJaW50IGlk bGVfZnJhbWVzOwo+ICAJCWVudW0gcHNyX2xpbmVzX3RvX3dhaXQgbGluZXNfdG9fd2FpdDsKPiAt CQlpbnQgdHAxX3dha2V1cF90aW1lOwo+IC0JCWludCB0cDJfdHAzX3dha2V1cF90aW1lOwo+ICsJ CWludCB0cDFfd2FrZXVwX3RpbWVfdXM7Cj4gKwkJaW50IHRwMl90cDNfd2FrZXVwX3RpbWVfdXM7 Cj4gIAl9IHBzcjsKPiAgCj4gIAlzdHJ1Y3Qgewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+IGlu ZGV4IDE5N2M5NjYuLjZiYmQwYjQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9yZWcuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiBAQCAt NDA4NCwxMCArNDA4NCwxMCBAQCBlbnVtIHsKPiAgI2RlZmluZSAgIEVEUF9ZX0NPT1JESU5BVEVf RU5BQkxFCSgxPDwyNSkgLyogR0xLIGFuZCBDTkwrICovCj4gICNkZWZpbmUgICBFRFBfTUFYX1NV X0RJU0FCTEVfVElNRSh0KQkoKHQpPDwyMCkKPiAgI2RlZmluZSAgIEVEUF9NQVhfU1VfRElTQUJM RV9USU1FX01BU0sJKDB4MWY8PDIwKQo+IC0jZGVmaW5lICAgRURQX1BTUjJfVFAyX1RJTUVfNTAw CQkoMDw8OCkKPiAtI2RlZmluZSAgIEVEUF9QU1IyX1RQMl9USU1FXzEwMAkJKDE8PDgpCj4gLSNk ZWZpbmUgICBFRFBfUFNSMl9UUDJfVElNRV8yNTAwCSgyPDw4KQo+IC0jZGVmaW5lICAgRURQX1BT UjJfVFAyX1RJTUVfNTAJCSgzPDw4KQo+ICsjZGVmaW5lICAgRURQX1BTUjJfVFAyX1RJTUVfNTAw dXMJKDA8PDgpCj4gKyNkZWZpbmUgICBFRFBfUFNSMl9UUDJfVElNRV8xMDB1cwkoMTw8OCkKPiAr I2RlZmluZSAgIEVEUF9QU1IyX1RQMl9USU1FXzI1MDB1cwkoMjw8OCkKPiArI2RlZmluZSAgIEVE UF9QU1IyX1RQMl9USU1FXzUwdXMJKDM8PDgpCj4gICNkZWZpbmUgICBFRFBfUFNSMl9UUDJfVElN RV9NQVNLCSgzPDw4KQo+ICAjZGVmaW5lICAgRURQX1BTUjJfRlJBTUVfQkVGT1JFX1NVX1NISUZU IDQKPiAgI2RlZmluZSAgIEVEUF9QU1IyX0ZSQU1FX0JFRk9SRV9TVV9NQVNLCSgweGY8PDQpCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Jpb3MuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Jpb3MuYwo+IGluZGV4IDcwMmQzZmEuLmEyNDZiNmIgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYmlvcy5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfYmlvcy5jCj4gQEAgLTY4Nyw4ICs2ODcsNDkgQEAgc3RhdGlj IGludCBpbnRlbF9iaW9zX3NzY19mcmVxdWVuY3koc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LAo+ICAJCWJyZWFrOwo+ICAJfQo+ICAKPiAtCWRldl9wcml2LT52YnQucHNyLnRwMV93 YWtldXBfdGltZSA9IHBzcl90YWJsZS0+dHAxX3dha2V1cF90aW1lOwo+IC0JZGV2X3ByaXYtPnZi dC5wc3IudHAyX3RwM193YWtldXBfdGltZSA9IHBzcl90YWJsZS0+dHAyX3RwM193YWtldXBfdGlt ZTsKPiArCS8qIG5ldyBwc3Igb3B0aW9ucyAwPTUwMHVzLCAxPTEwMHVzLCAyPTI1MDB1cywgMz0w dXMKPiArCSAqIE9sZCBkZWNpbWFsIHZhbHVlIGlzIHdha2UgdXAgdGltZSBpbiBtdWx0aXBsZXMg b2YgMTAwIHVzLgo+ICsJICovCj4gKwlpZiAoYmRiLT52ZXJzaW9uID49IDIwOSAmJiBJU19LQUJZ TEFLRShkZXZfcHJpdikpIHsKPiArCQlzd2l0Y2ggKHBzcl90YWJsZS0+dHAxX3dha2V1cF90aW1l KSB7Cj4gKwkJY2FzZSAwOgo+ICsJCQlkZXZfcHJpdi0+dmJ0LnBzci50cDFfd2FrZXVwX3RpbWVf dXMgPSA1MDA7Cj4gKwkJCWJyZWFrOwo+ICsJCWNhc2UgMToKPiArCQkJZGV2X3ByaXYtPnZidC5w c3IudHAxX3dha2V1cF90aW1lX3VzID0gMTAwOwo+ICsJCQlicmVhazsKPiArCQljYXNlIDM6Cj4g KwkJCWRldl9wcml2LT52YnQucHNyLnRwMV93YWtldXBfdGltZV91cyA9IDA7Cj4gKwkJCWJyZWFr Owo+ICsJCWNhc2UgMjoKPiArCQlkZWZhdWx0Ogo+ICsJCQlpZiAocHNyX3RhYmxlLT50cDFfd2Fr ZXVwX3RpbWUgIT0gMikKCllvdSBhbHJlYWR5IGhhdmUgdGhlICIhPSAyIiBhbmQgIj09IDIiIGRp ZmZlcmVudGlhdGlvbiBhYm92ZS4gVXNlCml0LiAoSGludDogZmFsbHRocm91Z2guKQoKPiArCQkJ CURSTV9ERUJVR19LTVMoIlZCVCB0cDEgd2FrZXVwIHRpbWUgb3V0c2lkZSByYW5nZSwgZGVmYXVs dGluZyB0byBtYXggdmFsdWUgMjUwMHVzXG4iKTsKCklmIHlvdSBjb21wbGFpbiBhYm91dCBvdXQg b2YgcmFuZ2UgdmFsdWUsIHBsZWFzZSBsb2cgdGhlIHZhbHVlLgoKPiArCQkJZGV2X3ByaXYtPnZi dC5wc3IudHAxX3dha2V1cF90aW1lX3VzID0gMjUwMDsKPiArCQkJYnJlYWs7Cj4gKwkJfQo+ICsK PiArCQlzd2l0Y2ggKHBzcl90YWJsZS0+dHAyX3RwM193YWtldXBfdGltZSkgewo+ICsJCWNhc2Ug MDoKPiArCQkJZGV2X3ByaXYtPnZidC5wc3IudHAyX3RwM193YWtldXBfdGltZV91cyA9IDUwMDsK PiArCQkJYnJlYWs7Cj4gKwkJY2FzZSAxOgo+ICsJCQlkZXZfcHJpdi0+dmJ0LnBzci50cDJfdHAz X3dha2V1cF90aW1lX3VzID0gMTAwOwo+ICsJCQlicmVhazsKPiArCQljYXNlIDM6Cj4gKwkJCWRl dl9wcml2LT52YnQucHNyLnRwMV93YWtldXBfdGltZV91cyA9IDA7Cj4gKwkJCWJyZWFrOwo+ICsJ CWNhc2UgMjoKPiArCQlkZWZhdWx0Ogo+ICsJCQlpZiAocHNyX3RhYmxlLT50cDJfdHAzX3dha2V1 cF90aW1lICE9IDIpCj4gKwkJCQlEUk1fREVCVUdfS01TKCJWQlQgdHAyX3RwMyAgd2FrZXVwIHRp bWUgb3V0c2lkZSByYW5nZSwgZGVmYXVsdGluZyB0byBtYXggdmFsdWUgMjUwMHVzXG4iKTsKPiAr CQkJZGV2X3ByaXYtPnZidC5wc3IudHAyX3RwM193YWtldXBfdGltZV91cyA9IDI1MDA7Cj4gKwkJ YnJlYWs7Cj4gKwkJfQoKVGhhdCdzIHRoZSBzYW1lIHRoaW5nIGNvcHktcGFzdGVkIHR3aWNlLiBJ ZiB5b3UgZG9uJ3QgZml4IGl0IG5vdywgSSdtCnByZXR0eSBzdXJlIHRoZSBuZXh0IHBlcnNvbiB0 byBzdHVtYmxlIG9uIHRoaXMgd2lsbCBzZW5kIGEgcGF0Y2ggdG8gZml4Cml0LgoKPiArCX0gZWxz ZSB7Cj4gKwkJZGV2X3ByaXYtPnZidC5wc3IudHAxX3dha2V1cF90aW1lX3VzID0gcHNyX3RhYmxl LT50cDFfd2FrZXVwX3RpbWUgKiAxMDA7Cj4gKwkJZGV2X3ByaXYtPnZidC5wc3IudHAyX3RwM193 YWtldXBfdGltZV91cyA9IHBzcl90YWJsZS0+dHAyX3RwM193YWtldXBfdGltZSAqIDEwMDsKPiAr CX0KPiAgfQo+ICAKPiAgc3RhdGljIHZvaWQgcGFyc2VfZHNpX2JhY2tsaWdodF9wb3J0cyhzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3Bzci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMK PiBpbmRleCA2MjMzYTMyLi43NDZjNWFjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3Bzci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMK PiBAQCAtNDYxLDIzICs0NjEsMjMgQEAgc3RhdGljIHZvaWQgaHN3X2FjdGl2YXRlX3BzcjEoc3Ry dWN0IGludGVsX2RwICppbnRlbF9kcCkKPiAgCWlmIChkZXZfcHJpdi0+cHNyLmxpbmtfc3RhbmRi eSkKPiAgCQl2YWwgfD0gRURQX1BTUl9MSU5LX1NUQU5EQlk7Cj4gIAo+IC0JaWYgKGRldl9wcml2 LT52YnQucHNyLnRwMV93YWtldXBfdGltZSA+IDUpCj4gLQkJdmFsIHw9IEVEUF9QU1JfVFAxX1RJ TUVfMjUwMHVzOwo+IC0JZWxzZSBpZiAoZGV2X3ByaXYtPnZidC5wc3IudHAxX3dha2V1cF90aW1l ID4gMSkKPiAtCQl2YWwgfD0gRURQX1BTUl9UUDFfVElNRV81MDB1czsKPiAtCWVsc2UgaWYgKGRl dl9wcml2LT52YnQucHNyLnRwMV93YWtldXBfdGltZSA+IDApCj4gKwlpZiAoZGV2X3ByaXYtPnZi dC5wc3IudHAxX3dha2V1cF90aW1lX3VzIDw9IDApCgo9PSAwLiBJdCBzaG91bGQgbmV2ZXIgYmUg PCAwLCBhbmQgaWYgaXQgaXMsIGdvIGZvciB0aGUgbG9uZ2VzdCBkZWxheS4KCj4gKwkJdmFsIHw9 ICBFRFBfUFNSX1RQMV9USU1FXzB1czsKPiArCWVsc2UgaWYgKGRldl9wcml2LT52YnQucHNyLnRw MV93YWtldXBfdGltZV91cyA8PSAxMDApCj4gIAkJdmFsIHw9IEVEUF9QU1JfVFAxX1RJTUVfMTAw dXM7Cj4gKwllbHNlIGlmIChkZXZfcHJpdi0+dmJ0LnBzci50cDFfd2FrZXVwX3RpbWVfdXMgPD0g NTAwKQo+ICsJCXZhbCB8PSBFRFBfUFNSX1RQMV9USU1FXzUwMHVzOwo+ICAJZWxzZQo+IC0JCXZh bCB8PSBFRFBfUFNSX1RQMV9USU1FXzB1czsKPiArCQl2YWwgfD0gRURQX1BTUl9UUDFfVElNRV8y NTAwdXM7Cj4gIAo+IC0JaWYgKGRldl9wcml2LT52YnQucHNyLnRwMl90cDNfd2FrZXVwX3RpbWUg PiA1KQo+IC0JCXZhbCB8PSBFRFBfUFNSX1RQMl9UUDNfVElNRV8yNTAwdXM7Cj4gLQllbHNlIGlm IChkZXZfcHJpdi0+dmJ0LnBzci50cDJfdHAzX3dha2V1cF90aW1lID4gMSkKPiAtCQl2YWwgfD0g RURQX1BTUl9UUDJfVFAzX1RJTUVfNTAwdXM7Cj4gLQllbHNlIGlmIChkZXZfcHJpdi0+dmJ0LnBz ci50cDJfdHAzX3dha2V1cF90aW1lID4gMCkKPiArCWlmIChkZXZfcHJpdi0+dmJ0LnBzci50cDJf dHAzX3dha2V1cF90aW1lX3VzIDw9IDApCgpTYW1lIGhlcmUuCgo+ICsJCXZhbCB8PSAgRURQX1BT Ul9UUDJfVFAzX1RJTUVfMHVzOwo+ICsJZWxzZSBpZiAoZGV2X3ByaXYtPnZidC5wc3IudHAyX3Rw M193YWtldXBfdGltZV91cyA8PSAxMDApCj4gIAkJdmFsIHw9IEVEUF9QU1JfVFAyX1RQM19USU1F XzEwMHVzOwo+ICsJZWxzZSBpZiAoZGV2X3ByaXYtPnZidC5wc3IudHAyX3RwM193YWtldXBfdGlt ZV91cyA8PSA1MDApCj4gKwkJdmFsIHw9IEVEUF9QU1JfVFAyX1RQM19USU1FXzUwMHVzOwo+ICAJ ZWxzZQo+IC0JCXZhbCB8PSBFRFBfUFNSX1RQMl9UUDNfVElNRV8wdXM7Cj4gKwkJdmFsIHw9IEVE UF9QU1JfVFAyX1RQM19USU1FXzI1MDB1czsKPiAgCj4gIAlpZiAoaW50ZWxfZHBfc291cmNlX3N1 cHBvcnRzX2hicjIoaW50ZWxfZHApICYmCj4gIAkgICAgZHJtX2RwX3RwczNfc3VwcG9ydGVkKGlu dGVsX2RwLT5kcGNkKSkKPiBAQCAtNTEzLDE0ICs1MTMsMTQgQEAgc3RhdGljIHZvaWQgaHN3X2Fj dGl2YXRlX3BzcjIoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiAgCj4gIAl2YWwgfD0gRURQ X1BTUjJfRlJBTUVfQkVGT1JFX1NVKGRldl9wcml2LT5wc3Iuc2lua19zeW5jX2xhdGVuY3kgKyAx KTsKPiAgCj4gLQlpZiAoZGV2X3ByaXYtPnZidC5wc3IudHAyX3RwM193YWtldXBfdGltZSA+IDUp Cj4gLQkJdmFsIHw9IEVEUF9QU1IyX1RQMl9USU1FXzI1MDA7Cj4gLQllbHNlIGlmIChkZXZfcHJp di0+dmJ0LnBzci50cDJfdHAzX3dha2V1cF90aW1lID4gMSkKPiAtCQl2YWwgfD0gRURQX1BTUjJf VFAyX1RJTUVfNTAwOwo+IC0JZWxzZSBpZiAoZGV2X3ByaXYtPnZidC5wc3IudHAyX3RwM193YWtl dXBfdGltZSA+IDApCj4gLQkJdmFsIHw9IEVEUF9QU1IyX1RQMl9USU1FXzEwMDsKPiArCWlmIChk ZXZfcHJpdi0+dmJ0LnBzci50cDJfdHAzX3dha2V1cF90aW1lX3VzIDw9IDUwKQo+ICsJCXZhbCB8 PSBFRFBfUFNSMl9UUDJfVElNRV81MHVzOwoKU28gSSBkaWRuJ3QgYWN0dWFsbHkgbG9vayBhdCBi c3BlYyBub3cuIEJ1dCB0aGUgdGhleSd2ZSBnb3QgdG8gYmUKa2lkZGluZyBtZS4gVGhleSBmaXJz dCBtb3ZlIGF3YXkgZnJvbSBzcGVjaWZ5aW5nIHVzZWNzIGluIHRoZSBic3BlYywKYmVjYXVzZSBo YXJkd2FyZSBvbmx5IHN1cHBvcnRzIGNlcnRhaW4gdmFsdWVzLiBBbmQgdGhpcyBsb29rcyBsaWtl IHRoZXkKZGlkbid0IHRha2UgaW50byBhY2NvdW50IHRoZSA1MCB1cyBkZWxheT8gUmVhbGx5PyBV Z2guCgpCUiwKSmFuaS4KCj4gKwllbHNlIGlmIChkZXZfcHJpdi0+dmJ0LnBzci50cDJfdHAzX3dh a2V1cF90aW1lX3VzIDw9IDEwMCkKPiArCQl2YWwgfD0gRURQX1BTUjJfVFAyX1RJTUVfMTAwdXM7 Cj4gKwllbHNlIGlmIChkZXZfcHJpdi0+dmJ0LnBzci50cDJfdHAzX3dha2V1cF90aW1lX3VzIDw9 IDUwMCkKPiArCQl2YWwgfD0gRURQX1BTUjJfVFAyX1RJTUVfNTAwdXM7Cj4gIAllbHNlCj4gLQkJ dmFsIHw9IEVEUF9QU1IyX1RQMl9USU1FXzUwOwo+ICsJCXZhbCB8PSBFRFBfUFNSMl9UUDJfVElN RV8yNTAwdXM7Cj4gIAo+ICAJSTkxNV9XUklURShFRFBfUFNSMl9DVEwsIHZhbCk7Cj4gIH0KCi0t IApKYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBTb3VyY2UgVGVjaG5vbG9neSBDZW50ZXIKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==