From mboxrd@z Thu Jan 1 00:00:00 1970 From: sonika Subject: Re: [PATCH] drm/i915/skl: Enabling PSR2 SU with frame sync Date: Mon, 23 Mar 2015 10:08:31 +0530 Message-ID: <550F98C7.1030207@intel.com> References: <1426831076-9775-1-git-send-email-sonika.jindal@intel.com> <1426886379.4663.72.camel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id DFDA36E1F1 for ; Sun, 22 Mar 2015 21:46:36 -0700 (PDT) In-Reply-To: <1426886379.4663.72.camel@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Vivi, Rodrigo" Cc: "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org Ck9uIFNhdHVyZGF5IDIxIE1hcmNoIDIwMTUgMDI6NTAgQU0sIFZpdmksIFJvZHJpZ28gd3JvdGU6 Cj4gT24gRnJpLCAyMDE1LTAzLTIwIGF0IDExOjI3ICswNTMwLCBTb25pa2EgSmluZGFsIHdyb3Rl Ogo+PiBXZSBtYWtlIHVzZSBvZiBIVyB0cmFja2luZyBmb3IgU2VsZWN0aXZlIHVwZGF0ZSByZWdp b24gYW5kIGVuYWJsZSBmcmFtZSBzeW5jIG9uCj4+IHNpbmsuIFdlIHVzZSBoYXJkd2FyZSdzIGhh cmRjb2RlZCBkYXRhIHZhbHVlcyBmb3IgZnJhbWUgc3luYyBhbmQgR1RDLgo+IEJlZm9yZSBlbmFi bGluZyBIVyB0cmFja2luZyBmb3IgUFNSMiBJJ2QgbGlrZSB0byBrbm93IGlmIGFsbCBrbm93biBi YWQKPiBjYXNlcyBvZiBiYWQgSFcgdHJhY2tpbmcgdmVyaWZpY2F0aW9uIG5vdyB3b3JrcyB3ZWxs Lgo+IFNob3VsZG4ndCB3ZSBhbHNvIHJlbW92ZSBhbGwgbWFza3MgdG8gYmUgc3VyZT8KPgo+IEJ1 dCB5ZWFoLCBvciB0aGF0IG9yIHdlIG5lZWQgdG8gY3JlYXRlIGFuIGludGVyZmFjZSBwcm9iYWJs eSB1c2luZyBpb2N0bAo+IHRvIHVzZXJzcGFjZSBzZWxlY3QgdGhlIHBhcnRpYWwgYXJlYSB0byBi ZSB1cGRhdGVkLgo+Cj4gSSBwcmVmZXIgSFcgdHJhY2tpbmcgYnV0IEkganVzdCB3YW50IHRvIGJl IHN1cmUgd2UgYXJlbid0IGJyZWFraW5nIHRoZQo+IHdvcmxkLiBTbyBJIHdvdWxkIHN0YXJ0IGNo ZWNraW5nIEtERSBiZWhhdmlvdXIsIGxvZ2luIHNjcmVlbnMsIGZiY29uLAo+IHh0ZXJtLCBldGMu Cj4KPiBCdXQgYWxzbyB0aGlzIHBhdGNoIGRvZXNudCcgY2hhbmdlIHRvIHVzZSBIVyB0cmFja2lu ZywgYnV0IGFueXdheSB3ZQo+IHN0YXJ0IHRvIGFkZCB0aGUgc3VwcG9ydCB3aGF0IGlzIGNvb2wg YWxyZWFkeS4KWWVzLCBzaW5jZSB3aXRoIHRoaXMgcGF0Y2ggd2UgYXJlIG5vdCBpbnRlcnJ1cHRp bmcgdGhlIFBTUiBmdW5jdGlvbmFsaXR5IAphbmQgd2l0aCBQU1IncyBTVyB0cmFja2luZyBiZWlu ZyB0aGVyZSwgdGhpcyB3aWxsIG5vdCByZWFsbHkgYWZmZWN0LgoKRm9yIFNXIHRyYWNraW5nIHdp dGggUFNSMiwgd2UgZG9uJ3QgaGF2ZSBhbnkgY2xlYXIgd2F5IGFzIHBlciBic3BlYyB0byAKc3Vw cGx5IHJlY3RhbmdsZXMuCkJlc2lkZXMsIGl0cyBhIGJldHRlciBpZGVhIHRvIGp1c3QgbGV0IGl0 IGhhdmUgaXQgdGhpcyB3YXkgdW50aWwgd2UgY2FuIApyZWFsbHkgdHJ5IGl0IG91dCBvbiBQU1Iy IHBhbmVscy4KClNvLCBIVyB0cmFja2luZyBmb3IgUFNSMiBhcyBvZiBub3cgd2hpY2ggc2hvdWxk IGJlIGZpbmUgYmVjYXVzZSBmb3IgYW55IApzY3JlZW4gdXBkYXRlIHdlIGFueXdheXMgd2lsbCBi ZSBkb2luZyBQU1IgZXhpdHMuCkZvciBzb21lIHNtYWxsIHVwZGF0ZXMsIGlmIHdlIG1pc3MgSSBh bSBob3BpbmcgdGhhdCBQU1IyJ3MgSFcgdHJhY2tpbmcgCndpbGwgdGFrZSBjYXJlIDopCgpTaW5j ZSwgd2UgZG9uJ3Qgc3RpbGwgaGF2ZSBhbnkgcGFuZWwgd2hpY2ggc3VwcG9ydCBQU1IyLCBJIGhh dmUgbm90IApnaXZlbiBpdCBhIHRyeSB5ZXQuCgo+PiBTaWduZWQtb2ZmLWJ5OiBTb25pa2EgSmlu ZGFsIDxzb25pa2EuamluZGFsQGludGVsLmNvbT4KPj4gLS0tCj4+ICAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9yZWcuaCAgfCAgIDE0ICsrKysrKysrKysrKysrCj4+ICAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHAuYyAgfCAgIDE2ICsrKysrKysrKysrKysrKysKPj4gICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCB8ICAgIDIgKysKPj4gICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9wc3IuYyB8ICAgMzAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCj4+ ICAgNCBmaWxlcyBjaGFuZ2VkLCA2MSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCj4+Cj4+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+PiBpbmRleCA1Yjg0ZWU2Li43ZTRmNmYwIDEwMDY0NAo+ PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPj4gQEAgLTI3NDUsNiArMjc0NSwyMCBAQCBlbnVtIHNr bF9kaXNwX3Bvd2VyX3dlbGxzIHsKPj4gICAjZGVmaW5lICAgRURQX1BTUl9ERUJVR19NQVNLX01F TVVQCSgxPDwyNikKPj4gICAjZGVmaW5lICAgRURQX1BTUl9ERUJVR19NQVNLX0hQRAkoMTw8MjUp Cj4+ICAgCj4+ICsjZGVmaW5lIEVEUF9QU1IyX0NUTAkJCTB4NmY5MDAKPj4gKyNkZWZpbmUgICBF RFBfUFNSMl9FTkFCTEUJCSgxPDwzMSkKPj4gKyNkZWZpbmUgICBFRFBfU1VfVFJBQ0tfRU5BQkxF CQkoMTw8MzApCj4+ICsjZGVmaW5lICAgRURQX01BWF9TVV9ESVNBQkxFX1RJTUUodCkJKCh0KTw8 MjApCj4+ICsjZGVmaW5lICAgRURQX01BWF9TVV9ESVNBQkxFX1RJTUVfTUFTSwkoMHgxZjw8MjAp Cj4+ICsjZGVmaW5lICAgRURQX1BTUjJfVFAyX1RJTUVfNTAwCQkoMDw8OCkKPj4gKyNkZWZpbmUg ICBFRFBfUFNSMl9UUDJfVElNRV8xMDAJCSgxPDw4KQo+PiArI2RlZmluZSAgIEVEUF9QU1IyX1RQ Ml9USU1FXzI1MAkJKDI8PDgpCj4+ICsjZGVmaW5lICAgRURQX1BTUjJfVFAyX1RJTUVfNTAJCSgz PDw4KQo+PiArI2RlZmluZSAgIEVEUF9QU1IyX1RQMl9USU1FX01BU0sJKDM8PDgpCj4+ICsjZGVm aW5lICAgRURQX1BTUjJfRlJBTUVfQkVGT1JFX1NVX1NISUZUIDQKPj4gKyNkZWZpbmUgICBFRFBf UFNSMl9GUkFNRV9CRUZPUkVfU1VfTUFTSwkoMHhmPDw0KQo+PiArI2RlZmluZSAgIEVEUF9QU1Iy X0lETEVfTUFTSwkJMHhmCj4+ICsKPj4gICAvKiBWR0EgcG9ydCBjb250cm9sICovCj4+ICAgI2Rl ZmluZSBBRFBBCQkJMHg2MTEwMAo+PiAgICNkZWZpbmUgUENIX0FEUEEgICAgICAgICAgICAgICAg MHhlMTEwMAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPj4gaW5kZXggMzk2N2FmMS4uZGVkZDhh ZCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4+IEBAIC0zNzg2LDYgKzM3ODYsMjIg QEAgaW50ZWxfZHBfZ2V0X2RwY2Qoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPj4gICAJCQlk ZXZfcHJpdi0+cHNyLnNpbmtfc3VwcG9ydCA9IHRydWU7Cj4+ICAgCQkJRFJNX0RFQlVHX0tNUygi RGV0ZWN0ZWQgRURQIFBTUiBQYW5lbC5cbiIpOwo+PiAgIAkJfQo+PiArCj4+ICsJCWlmIChJTlRF TF9JTkZPKGRldiktPmdlbiA+PSA5ICYmCj4+ICsJCQkoaW50ZWxfZHAtPnBzcl9kcGNkWzBdICYg RFBfUFNSMl9JU19TVVBQT1JURUQpKSB7Cj4+ICsJCQl1aW50OF90IGZyYW1lX3N5bmNfY2FwOwo+ PiArCj4+ICsJCQlkZXZfcHJpdi0+cHNyLnNpbmtfc3VwcG9ydCA9IHRydWU7Cj4+ICsJCQlpbnRl bF9kcF9kcGNkX3JlYWRfd2FrZSgmaW50ZWxfZHAtPmF1eCwKPj4gKwkJCQkJRFBfU0lOS19ERVZJ Q0VfQVVYX0ZSQU1FX1NZTkNfQ0FQLAo+IFNob3VsZG4ndCB3ZSB2ZXJpZnkgaWYgaXQgZURQIDEu NCBiZWZvcmUgcmVhZGluZyB0aGlzIHJlZ2lzdGVyIHRoYXQKPiBkaWRuJ3QgZXhpc3RlZCBwcmV2 aW91c2x5PwpOb3QgcmVxdWlyZWQuIFRoaXMgcmVnaXN0ZXIgKDAwNzBoIFBTUiBjYXBzKSBhbHdh eXMgZXhpc3RlZCB3aXRoIDAgYW5kIDEgCnZhbHVlcy4gVmFsdWUgMiAoRFBfUFNSMl9JU19TVVBQ T1JURUQpIHdhcyBpbnRyb2R1Y2VkIGluIGVkcDEuNC4KPj4gKwkJCQkJJmZyYW1lX3N5bmNfY2Fw LCAxKTsKPj4gKwkJCS8qIFBTUjIgbmVlZHMgZnJhbWUgc3luYyBhcyB3ZWxsICovCj4gQnV0IGFu eXdheSwgdGhpcyBmcmFtZSBzeW5jIGNhcCB3YXMgY3JlYXRlZCBhbmQgYWRkZWQgZm9yIFBTUjIg c28gaXNuJ3QKPiBEUF9QU1IyX0lTX1NVUFBPUlRFRCBhbHJlYWR5IGEgc3VwcGVyIHNlZWQgYW5k IGVub3VnaD8KTm8sIGZyYW1lIHN5bmMgaXMgbm90IGp1c3QgZm9yIFBTUjIuIEl0IGlzIHRoZXJl IGZvciBnZW5lcmFsIEFWIHN5bmMgCiJkdXJpbmcgcGVyaW9kcyBvZiB0ZW1wb3JhcnkgdmlkZW8g c3RyZWFtIGluYWN0aXZpdHkgb24gbWFpbi1saW5rIi4KT3RoZXIgdXNhZ2VzIG1pZ2h0IGJlIGFk ZGVkIGluIGZ1dHVyZSB2ZXJzaW9ucy4KPiBJbiB0aGUgY2FzZSB0aGV5IGFyZSByZWFsbHkgaW5k ZXBlbmRlbnQgd2UgY291bGQgdHJhY2sgd2l0aCBkaWZmZXJlbnQKPiB2YXJpYWJsZSBhbmQgdXNl IHRoYXQgd2hlbiB3cml0aW5nIERQX0FVWF9GUkFNRV9TWU5DX0VOQUJMRS4KPgpIbW0sIHdlIGNv dWxkIGRvIHRoYXQgdG9vLgo+PiArCQkJaWYgKGZyYW1lX3N5bmNfY2FwKSB7Cj4+ICsJCQkJRFJN X0RFQlVHX0tNUygiUFNSMiBzdXBwb3J0ZWQgb24gc2luayIpOwo+PiArCQkJCWludGVsX2RwLT5w c3IyX3N1cHBvcnQgPSB0cnVlOwo+PiArCQkJfSBlbHNlCj4+ICsJCQkJaW50ZWxfZHAtPnBzcjJf c3VwcG9ydCA9IGZhbHNlOwo+PiArCQl9Cj4+ICAgCX0KPj4gICAKPj4gICAJLyogVHJhaW5pbmcg UGF0dGVybiAzIHN1cHBvcnQsIGJvdGggc291cmNlIGFuZCBzaW5rICovCj4+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rydi5oCj4+IGluZGV4IDhiYjE4ZTUuLmVkMWIwYTUgMTAwNjQ0Cj4+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oCj4+IEBAIC02NjMsNiArNjYzLDggQEAgc3RydWN0IGludGVsX2RwIHsK Pj4gICAJc3RydWN0IGludGVsX2RwX21zdF9lbmNvZGVyICptc3RfZW5jb2RlcnNbSTkxNV9NQVhf UElQRVNdOwo+PiAgIAlzdHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgbXN0X21ncjsKPj4g ICAKPj4gKwlib29sIHBzcjJfc3VwcG9ydDsKPiBQbGVhc2UgbW92ZSB0aGlzIHRvIHBzciBzdHJ1 Y3R1cmUuCj4KTWFrZXMgc2Vuc2UuCj4+ICsKPj4gICAJdWludDMyX3QgKCpnZXRfYXV4X2Nsb2Nr X2RpdmlkZXIpKHN0cnVjdCBpbnRlbF9kcCAqZHAsIGludCBpbmRleCk7Cj4+ICAgCS8qCj4+ICAg CSAqIFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgdmFsdWUgd2UgaGF2ZSB0byBwcm9ncmFtIHRo ZSBBVVhfQ1RMCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3Iu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jCj4+IGluZGV4IGI5ZjQwYzIuLjk5 ZGJjNzMgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jCj4+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jCj4+IEBAIC0xMTcsNiArMTE3 LDE5IEBAIHN0YXRpYyB2b2lkIHZsdl9wc3Jfc2V0dXBfdnNjKHN0cnVjdCBpbnRlbF9kcCAqaW50 ZWxfZHApCj4+ICAgCUk5MTVfV1JJVEUoVkxWX1ZTQ1NEUChwaXBlKSwgdmFsKTsKPj4gICB9Cj4+ ICAgCj4+ICtzdGF0aWMgdm9pZCBza2xfcHNyX3NldHVwX3N1X3ZzYyhzdHJ1Y3QgaW50ZWxfZHAg KmludGVsX2RwKQo+PiArewo+PiArCXN0cnVjdCBlZHBfdnNjX3BzciBwc3JfdnNjOwo+PiArCj4+ ICsJLyogUHJlcGFyZSBWU0MgSGVhZGVyIGZvciBTVSBhcyBwZXIgRURQIDEuNCBzcGVjLCBUYWJs ZSA2LjExICovCj4+ICsJbWVtc2V0KCZwc3JfdnNjLCAwLCBzaXplb2YocHNyX3ZzYykpOwo+PiAr CXBzcl92c2Muc2RwX2hlYWRlci5IQjAgPSAwOwo+PiArCXBzcl92c2Muc2RwX2hlYWRlci5IQjEg PSAweDc7Cj4+ICsJcHNyX3ZzYy5zZHBfaGVhZGVyLkhCMiA9IDB4MzsKPj4gKwlwc3JfdnNjLnNk cF9oZWFkZXIuSEIzID0gMHhiOwo+PiArCWludGVsX3Bzcl93cml0ZV92c2MoaW50ZWxfZHAsICZw c3JfdnNjKTsKPj4gK30KPj4gKwo+PiAgIHN0YXRpYyB2b2lkIGhzd19wc3Jfc2V0dXBfdnNjKHN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4+ICAgewo+PiAgIAlzdHJ1Y3QgZWRwX3ZzY19wc3Ig cHNyX3ZzYzsKPj4gQEAgLTE2NSw2ICsxNzgsMTIgQEAgc3RhdGljIHZvaWQgaHN3X3Bzcl9lbmFi bGVfc2luayhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+PiAgIAkJZHJtX2RwX2RwY2Rfd3Jp dGViKCZpbnRlbF9kcC0+YXV4LCBEUF9QU1JfRU5fQ0ZHLAo+PiAgIAkJCQkgICBEUF9QU1JfRU5B QkxFICYgfkRQX1BTUl9NQUlOX0xJTktfQUNUSVZFKTsKPj4gICAKPj4gKwkvKiBFbmFibGUgQVVY IGZyYW1lIHN5bmMgYXQgc2luayAqLwo+PiArCWlmIChpbnRlbF9kcC0+cHNyMl9zdXBwb3J0KQo+ PiArCQlkcm1fZHBfZHBjZF93cml0ZWIoJmludGVsX2RwLT5hdXgsCj4+ICsJCQkJRFBfU0lOS19E RVZJQ0VfQVVYX0ZSQU1FX1NZTkNfQ09ORiwKPj4gKwkJCQlEUF9BVVhfRlJBTUVfU1lOQ19FTkFC TEUpOwo+PiArCj4+ICAgCWF1eF9kYXRhX3JlZyA9IChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA5 KSA/Cj4+ICAgCQkJCURQQV9BVVhfQ0hfREFUQTEgOiBFRFBfUFNSX0FVWF9EQVRBMShkZXYpOwo+ PiAgIAlhdXhfY3RsX3JlZyA9IChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA5KSA/Cj4+IEBAIC0x ODMsOCArMjAyLDEwIEBAIHN0YXRpYyB2b2lkIGhzd19wc3JfZW5hYmxlX3Npbmsoc3RydWN0IGlu dGVsX2RwICppbnRlbF9kcCkKPj4gICAJCXZhbCB8PSBEUF9BVVhfQ0hfQ1RMX1RJTUVfT1VUXzE2 MDB1czsKPj4gICAJCXZhbCAmPSB+RFBfQVVYX0NIX0NUTF9NRVNTQUdFX1NJWkVfTUFTSzsKPj4g ICAJCXZhbCB8PSAoc2l6ZW9mKGF1eF9tc2cpIDw8IERQX0FVWF9DSF9DVExfTUVTU0FHRV9TSVpF X1NISUZUKTsKPj4gLQkJLyogVXNlIGhhcmRjb2RlZCBkYXRhIHZhbHVlcyBmb3IgUFNSICovCj4+ ICsJCS8qIFVzZSBoYXJkY29kZWQgZGF0YSB2YWx1ZXMgZm9yIFBTUiwgZnJhbWUgc3luYyBhbmQg R1RDICovCj4+ICAgCQl2YWwgJj0gfkRQX0FVWF9DSF9DVExfUFNSX0RBVEFfQVVYX1JFR19TS0w7 Cj4+ICsJCXZhbCAmPSB+RFBfQVVYX0NIX0NUTF9GU19EQVRBX0FVWF9SRUdfU0tMOwo+PiArCQl2 YWwgJj0gfkRQX0FVWF9DSF9DVExfR1RDX0RBVEFfQVVYX1JFR19TS0w7Cj4+ICAgCQlJOTE1X1dS SVRFKGF1eF9jdGxfcmVnLCB2YWwpOwo+PiAgIAl9IGVsc2Ugewo+PiAgIAkJSTkxNV9XUklURShh dXhfY3RsX3JlZywKPj4gQEAgLTI1NSw2ICsyNzYsMTAgQEAgc3RhdGljIHZvaWQgaHN3X3Bzcl9l bmFibGVfc291cmNlKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4+ICAgCQkgICBtYXhfc2xl ZXBfdGltZSA8PCBFRFBfUFNSX01BWF9TTEVFUF9USU1FX1NISUZUIHwKPj4gICAJCSAgIGlkbGVf ZnJhbWVzIDw8IEVEUF9QU1JfSURMRV9GUkFNRV9TSElGVCB8Cj4+ICAgCQkgICBFRFBfUFNSX0VO QUJMRSk7Cj4+ICsKPj4gKwlpZiAoaW50ZWxfZHAtPnBzcjJfc3VwcG9ydCkKPj4gKwkJSTkxNV9X UklURShFRFBfUFNSMl9DVEwsIEVEUF9QU1IyX0VOQUJMRSB8Cj4+ICsJCQkJRURQX1NVX1RSQUNL X0VOQUJMRSB8IEVEUF9QU1IyX1RQMl9USU1FXzEwMCk7Cj4+ICAgfQo+PiAgIAo+PiAgIHN0YXRp YyBib29sIGludGVsX3Bzcl9tYXRjaF9jb25kaXRpb25zKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHApCj4+IEBAIC0zNjQsNiArMzg5LDkgQEAgdm9pZCBpbnRlbF9wc3JfZW5hYmxlKHN0cnVjdCBp bnRlbF9kcCAqaW50ZWxfZHApCj4+ICAgCWlmIChIQVNfRERJKGRldikpIHsKPj4gICAJCWhzd19w c3Jfc2V0dXBfdnNjKGludGVsX2RwKTsKPj4gICAKPj4gKwkJaWYgKGludGVsX2RwLT5wc3IyX3N1 cHBvcnQpCj4+ICsJCQlza2xfcHNyX3NldHVwX3N1X3ZzYyhpbnRlbF9kcCk7Cj4+ICsKPj4gICAJ CS8qIEF2b2lkIGNvbnRpbnVvdXMgUFNSIGV4aXQgYnkgbWFza2luZyBtZW11cCBhbmQgaHBkICov Cj4+ICAgCQlJOTE1X1dSSVRFKEVEUF9QU1JfREVCVUdfQ1RMKGRldiksIEVEUF9QU1JfREVCVUdf TUFTS19NRU1VUCB8Cj4+ICAgCQkJICAgRURQX1BTUl9ERUJVR19NQVNLX0hQRCB8IEVEUF9QU1Jf REVCVUdfTUFTS19MUFNQKTsKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4Cg==