From mboxrd@z Thu Jan 1 00:00:00 1970 From: vathsala nagaraju Subject: Re: [PATCH 03/10] drm/i915/psr: fix blank screen issue for psr2 Date: Tue, 10 Jan 2017 16:01:02 +0530 Message-ID: <5874B7E6.8060308@intel.com> References: <1483644359-17866-1-git-send-email-vathsala.nagaraju@intel.com> <1483966593-15120-1-git-send-email-vathsala.nagaraju@intel.com> <1483982198.17586.59.camel@rdvivi-vienna> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1483982198.17586.59.camel@rdvivi-vienna> 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" , "Patil, Deepti" , "dri-devel@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org T24gTW9uZGF5IDA5IEphbnVhcnkgMjAxNyAxMDo0NyBQTSwgVml2aSwgUm9kcmlnbyB3cm90ZToK PiBPbiBNb24sIDIwMTctMDEtMDkgYXQgMTg6MjYgKzA1MzAsIHZhdGhzYWxhIG5hZ2FyYWp1IHdy b3RlOgo+PiBQc3IxIGFuZCBwc3IyIGFyZSBtdXR1YWxseSBleGNsdXNpdmUsaWUgd2hlbiBwc3Iy IGlzIGVuYWJsZWQsCj4+IHBzcjEgc2hvdWxkIGJlIGRpc2FibGVkLldoZW4gcHNyMiBpcyBleGl0 ZWQgLCBiaXQgMzEgb2YgcmVnCj4+IFBTUjJfQ1RMIG11c3QgYmUgc2V0IHRvIDAgYnV0IGN1cnJl bnRseSBiaXQgMzEgb2YgU1JEX0NUTAo+PiAocHNyMSBjb250cm9sIHJlZ2lzdGVyKWlzIHNldCB0 byAwLgo+PiBBbHNvICxQU1IyX0lETEUgc3RhdGUgaXMgbG9va2VkIHVwIGZyb20gU1JEX1NUQVRV Uyhwc3IxIHJlZ2lzdGVyKQo+PiBpbnN0ZWFkIG9mIFBTUjJfU1RBVFVTIHJlZ2lzdGVyLCB3aGlj aCBoYXMgd3JvbmcgZGF0YSwgcmVzdWx0aW5nCj4+IGluIGJsYW5rc2NyZWVuLgo+PiBoc3dfZW5h YmxlX3NvdXJjZSBpcyBzcGxpdCBpbnRvIGhzd19lbmFibGVfc291cmNlX3BzcjEgYW5kCj4+IGhz d19lbmFibGVfc291cmNlX3BzcjIgZm9yIGVhc2llciBjb2RlIHJldmlldyBhbmQgbWFpbnRlbmFu Y2UsCj4+IGFzIHN1Z2dlc3RlZCBieSByb2RyaWdvIGFuZCBqaW0uCj4+Cj4+IHYyOiAoUm9kcmln bykKPj4gLSBSZW5hbWUgaHN3X2VuYWJsZV9zb3VyY2VfcHNyKiB0byBpbnRlbF9lbmFibGVfc291 cmNlX3BzcioKPj4KPj4gdjM6IChSb2RyaWdvKQo+PiAtIEluIGhzd19wc3JfZGlzYWJsZSAsCj4+ ICAgIDEpIGZvciBwc3IgYWN0aXZlIGNhc2UsIGhhbmRsZSBwc3IyIGZvbGxvd2VkIGJ5IHBzcjEu Cj4+ICAgIDIpIHBzciBpbmFjdGl2ZSBjYXNlLCBoYW5kbGUgcHNyMiBmb2xsb3dlZCBieSBwc3Ix Cj4gbXVjaCBiZXR0ZXIsIHRoYW5rcywgYnV0IHN0aWxsIGhhcyBvbmUgYmxvY2tpbmcgaXNzdWUg aW1obzoKPgo+PiBDYzogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgo+PiBD YzogSmltIEJyaWRlIDxqaW0uYnJpZGVAbGludXguaW50ZWwuY29tPgo+PiBTaWduZWQtb2ZmLWJ5 OiBWYXRoc2FsYSBOYWdhcmFqdSA8dmF0aHNhbGEubmFnYXJhanVAaW50ZWwuY29tPgo+PiBTaWdu ZWQtb2ZmLWJ5OiBQYXRpbCBEZWVwdGkgPGRlZXB0aS5wYXRpbEBpbnRlbC5jb20+Cj4+IC0tLQo+ PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggIHwgICAzICsKPj4gICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYyB8IDEyNiArKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0tLS0tLS0tLS0KPj4gICAyIGZpbGVzIGNoYW5nZWQsIDk3IGluc2VydGlvbnMoKyksIDMy IGRlbGV0aW9ucygtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPj4gaW5kZXggMDA5NzBh YS4uNzgzMGU2ZSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcu aAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4+IEBAIC0zNjE1LDYg KzM2MTUsOSBAQCBlbnVtIHsKPj4gICAjZGVmaW5lICAgRURQX1BTUjJfRlJBTUVfQkVGT1JFX1NV X01BU0sJKDB4Zjw8NCkKPj4gICAjZGVmaW5lICAgRURQX1BTUjJfSURMRV9NQVNLCQkweGYKPj4g ICAKPj4gKyNkZWZpbmUgRURQX1BTUjJfU1RBVFVTX0NUTCAgICAgICAgICAgIF9NTUlPKDB4NmY5 NDApCj4+ICsjZGVmaW5lIEVEUF9QU1IyX1NUQVRVU19TVEFURV9NQVNLICAgICAoMHhmPDwyOCkK Pj4gKwo+PiAgIC8qIFZHQSBwb3J0IGNvbnRyb2wgKi8KPj4gICAjZGVmaW5lIEFEUEEJCQlfTU1J TygweDYxMTAwKQo+PiAgICNkZWZpbmUgUENIX0FEUEEgICAgICAgICAgICAgICAgX01NSU8oMHhl MTEwMCkKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMKPj4gaW5kZXggYzNhYTY0OS4uNmMxNjFh YSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMKPj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMKPj4gQEAgLTI2MSwxMiArMjYxLDEx IEBAIHN0YXRpYyB2b2lkIHZsdl9wc3JfYWN0aXZhdGUoc3RydWN0IGludGVsX2RwICppbnRlbF9k cCkKPj4gICAJCSAgIFZMVl9FRFBfUFNSX0FDVElWRV9FTlRSWSk7Cj4+ICAgfQo+PiAgIAo+PiAt c3RhdGljIHZvaWQgaHN3X3Bzcl9lbmFibGVfc291cmNlKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHApCj4+ICtzdGF0aWMgdm9pZCBpbnRlbF9lbmFibGVfc291cmNlX3BzcjEoc3RydWN0IGludGVs X2RwICppbnRlbF9kcCkKPj4gICB7Cj4+ICAgCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRp Z19wb3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApOwo+PiAgIAlzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2ID0gZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXY7Cj4+ICAgCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKPj4gLQo+PiAgIAl1aW50MzJfdCBtYXhf c2xlZXBfdGltZSA9IDB4MWY7Cj4+ICAgCS8qCj4+ICAgCSAqIExldCdzIHJlc3BlY3QgVkJUIGlu IGNhc2UgVkJUIGFza3MgYSBoaWdoZXIgaWRsZV9mcmFtZSB2YWx1ZS4KPj4gQEAgLTMxMiwxNCAr MzExLDMwIEBAIHN0YXRpYyB2b2lkIGhzd19wc3JfZW5hYmxlX3NvdXJjZShzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwKQo+PiAgIAkJdmFsIHw9IEVEUF9QU1JfVFAxX1RQMl9TRUw7Cj4+ICAgCj4+ ICAgCUk5MTVfV1JJVEUoRURQX1BTUl9DVEwsIHZhbCk7Cj4+ICt9Cj4+ICAgCj4+IC0JaWYgKCFk ZXZfcHJpdi0+cHNyLnBzcjJfc3VwcG9ydCkKPj4gLQkJcmV0dXJuOwo+PiArc3RhdGljIHZvaWQg aW50ZWxfZW5hYmxlX3NvdXJjZV9wc3IyKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4+ICt7 Cj4+ICsJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQgPSBkcF90b19kaWdfcG9y dChpbnRlbF9kcCk7Cj4+ICsJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGRpZ19wb3J0LT5iYXNl LmJhc2UuZGV2Owo+PiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoZGV2KTsKPj4gKwo+PiArCS8qCj4+ICsJICogTGV0J3MgcmVzcGVjdCBWQlQgaW4gY2FzZSBW QlQgYXNrcyBhIGhpZ2hlciBpZGxlX2ZyYW1lIHZhbHVlLgo+PiArCSAqIExldCdzIHVzZSA2IGFz IHRoZSBtaW5pbXVtIHRvIGNvdmVyIGFsbCBrbm93biBjYXNlcyBpbmNsdWRpbmcKPj4gKwkgKiB0 aGUgb2ZmLWJ5LW9uZSBpc3N1ZSB0aGF0IEhXIGhhcyBpbiBzb21lIGNhc2VzLiBBbHNvIHRoZXJl IGFyZQo+PiArCSAqIGNhc2VzIHdoZXJlIHNpbmsgc2hvdWxkIGJlIGFibGUgdG8gdHJhaW4KPj4g KwkgKiB3aXRoIHRoZSA1IG9yIDYgaWRsZSBwYXR0ZXJucy4KPj4gKwkgKi8KPj4gKwl1aW50MzJf dCBpZGxlX2ZyYW1lcyA9IG1heCg2LCBkZXZfcHJpdi0+dmJ0LnBzci5pZGxlX2ZyYW1lcyk7Cj4+ ICsJdWludDMyX3QgdmFsID0gRURQX1BTUl9FTkFCTEU7Cj4+ICsKPj4gKwl2YWwgfD0gaWRsZV9m cmFtZXMgPDwgRURQX1BTUl9JRExFX0ZSQU1FX1NISUZUOwo+PiAgIAo+PiAgIAkvKiBGSVhNRTog c2VsZWN0aXZlIHVwZGF0ZSBpcyBwcm9iYWJseSB0b3RhbGx5IGJyb2tlbiBiZWNhdXNlIGl0IGRv ZXNuJ3QKPj4gICAJICogbWVzaCBhdCBhbGwgd2l0aCBvdXIgZnJvbnRidWZmZXIgdHJhY2tpbmcu IEFuZCB0aGUgaHcgYWxvbmUgaXNuJ3QKPj4gICAJICogZ29vZCBlbm91Z2guICovCj4+IC0JdmFs ID0gRURQX1BTUjJfRU5BQkxFIHwgRURQX1NVX1RSQUNLX0VOQUJMRTsKPj4gKwl2YWwgfD0gRURQ X1BTUjJfRU5BQkxFIHwgRURQX1NVX1RSQUNLX0VOQUJMRTsKPj4gICAKPj4gICAJaWYgKGRldl9w cml2LT52YnQucHNyLnRwMl90cDNfd2FrZXVwX3RpbWUgPiA1KQo+PiAgIAkJdmFsIHw9IEVEUF9Q U1IyX1RQMl9USU1FXzI1MDA7Cj4+IEBAIC0zMzMsNiArMzQ4LDIwIEBAIHN0YXRpYyB2b2lkIGhz d19wc3JfZW5hYmxlX3NvdXJjZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+PiAgIAlJOTE1 X1dSSVRFKEVEUF9QU1IyX0NUTCwgdmFsKTsKPj4gICB9Cj4+ICAgCj4+ICsKPj4gK3N0YXRpYyB2 b2lkIGhzd19wc3JfZW5hYmxlX3NvdXJjZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+PiAr ewo+PiArCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0ID0gZHBfdG9fZGlnX3Bv cnQoaW50ZWxfZHApOwo+PiArCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBkaWdfcG9ydC0+YmFz ZS5iYXNlLmRldjsKPj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGRldik7Cj4+ICsKPj4gKwkvKiBwc3IxIGFuZCBwc3IyIGFyZSBtdXR1YWxseSBleGNsdXNp dmUuKi8KPj4gKwlpZiAoZGV2X3ByaXYtPnBzci5wc3IyX3N1cHBvcnQpCj4+ICsJCWludGVsX2Vu YWJsZV9zb3VyY2VfcHNyMihpbnRlbF9kcCk7Cj4+ICsJZWxzZQo+PiArCQlpbnRlbF9lbmFibGVf c291cmNlX3BzcjEoaW50ZWxfZHApOwo+PiArfQo+PiArCj4+ICAgc3RhdGljIGJvb2wgaW50ZWxf cHNyX21hdGNoX2NvbmRpdGlvbnMoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPj4gICB7Cj4+ ICAgCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0ID0gZHBfdG9fZGlnX3BvcnQo aW50ZWxfZHApOwo+PiBAQCAtNDEwLDcgKzQzOSwxMCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9wc3Jf YWN0aXZhdGUoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPj4gICAJc3RydWN0IGRybV9kZXZp Y2UgKmRldiA9IGludGVsX2RpZ19wb3J0LT5iYXNlLmJhc2UuZGV2Owo+PiAgIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Cj4+ICAgCj4+IC0JV0FSTl9P TihJOTE1X1JFQUQoRURQX1BTUl9DVEwpICYgRURQX1BTUl9FTkFCTEUpOwo+PiArCWlmIChkZXZf cHJpdi0+cHNyLnBzcjJfc3VwcG9ydCkKPj4gKwkJV0FSTl9PTihJOTE1X1JFQUQoRURQX1BTUjJf Q1RMKSAmIEVEUF9QU1IyX0VOQUJMRSk7Cj4+ICsJZWxzZQo+PiArCQlXQVJOX09OKEk5MTVfUkVB RChFRFBfUFNSX0NUTCkgJiBFRFBfUFNSX0VOQUJMRSk7Cj4+ICAgCVdBUk5fT04oZGV2X3ByaXYt PnBzci5hY3RpdmUpOwo+PiAgIAlsb2NrZGVwX2Fzc2VydF9oZWxkKCZkZXZfcHJpdi0+cHNyLmxv Y2spOwo+PiAgIAo+PiBAQCAtNDYyLDggKzQ5NCw2IEBAIHZvaWQgaW50ZWxfcHNyX2VuYWJsZShz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+PiAgIAlkZXZfcHJpdi0+cHNyLmJ1c3lfZnJvbnRi dWZmZXJfYml0cyA9IDA7Cj4+ICAgCj4+ICAgCWlmIChIQVNfRERJKGRldl9wcml2KSkgewo+PiAt CQloc3dfcHNyX3NldHVwX3ZzYyhpbnRlbF9kcCk7Cj4+IC0KPj4gICAJCWlmIChkZXZfcHJpdi0+ cHNyLnBzcjJfc3VwcG9ydCkgewo+PiAgIAkJCS8qIFBTUjIgaXMgcmVzdHJpY3RlZCB0byB3b3Jr IHdpdGggcGFuZWwgcmVzb2x1dGlvbnMgdXB0byAzMjAweDIwMDAgKi8KPj4gICAJCQlpZiAoY3J0 Yy0+Y29uZmlnLT5waXBlX3NyY193ID4gMzIwMCB8fAo+PiBAQCAtNDcxLDggKzUwMSwxMCBAQCB2 b2lkIGludGVsX3Bzcl9lbmFibGUoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPj4gICAJCQkJ ZGV2X3ByaXYtPnBzci5wc3IyX3N1cHBvcnQgPSBmYWxzZTsKPiArCQkJaHN3X3Bzcl9zZXR1cF92 c2MoaW50ZWxfZHApOwo+Cj4gd2l0aG91dCB0aGlzIHlvdSB3aWxsIGVuZCB1cCBlbmFibGluZyBw c3IxIGJ1dCBub3Qgc2V0dGluZyB1cCB0aGUgdnNjLgo+Cj4KPiBCdXQgYWxzbyBpZiBJIHVuZGVy c3Rvb2QgY29ycmVjdGx5IHRoaXMgd2lsbCBmYWlsIGFueXdheXMgcmlnaHQ/Cj4gU28gYmVmb3Jl IHRoaXMgcGF0Y2ggd2UgbmVlZCBvbmUgdGhhdCBtb3ZlIHRoaXMgcmVzdHJpY3Rpb24gdG8KPiBt YXRjaF9jb25kaXRpb25zIGZ1bmN0aW9uIHJldHVybmluZyBmYWxzZSBhbmQgZnVsbHkgYmxvY2tp bmcgUFNSLgp0aGFua3MuIEkgaGF2ZSBwb3N0ZWQgYSBuZXcgcGF0Y2guIHBsZWFzZSByZXZpZXcK Pgo+PiAgIAkJCWVsc2UKPj4gICAJCQkJc2tsX3Bzcl9zZXR1cF9zdV92c2MoaW50ZWxfZHApOwo+ PiArCQl9IGVsc2Ugewo+PiArCQkJLyogc2V0IHVwIHZzYyBoZWFkZXIgZm9yIHBzcjEgKi8KPj4g KwkJCWhzd19wc3Jfc2V0dXBfdnNjKGludGVsX2RwKTsKPj4gICAJCX0KPj4gLQo+PiAgIAkJLyoK Pj4gICAJCSAqIFBlciBTcGVjOiBBdm9pZCBjb250aW51b3VzIFBTUiBleGl0IGJ5IG1hc2tpbmcg TUVNVVAgYW5kIEhQRC4KPj4gICAJCSAqIEFsc28gbWFzayBMUFNQIHRvIGF2b2lkIGRlcGVuZGVu Y3kgb24gb3RoZXIgZHJpdmVycyB0aGF0Cj4+IEBAIC01NTcsMjAgKzU4OSwzNSBAQCBzdGF0aWMg dm9pZCBoc3dfcHNyX2Rpc2FibGUoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPj4gICAJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+PiAgIAo+PiAg IAlpZiAoZGV2X3ByaXYtPnBzci5hY3RpdmUpIHsKPj4gLQkJSTkxNV9XUklURShFRFBfUFNSX0NU TCwKPj4gLQkJCSAgIEk5MTVfUkVBRChFRFBfUFNSX0NUTCkgJiB+RURQX1BTUl9FTkFCTEUpOwo+ PiAtCj4+IC0JCS8qIFdhaXQgdGlsbCBQU1IgaXMgaWRsZSAqLwo+PiAtCQlpZiAoaW50ZWxfd2Fp dF9mb3JfcmVnaXN0ZXIoZGV2X3ByaXYsCj4+IC0JCQkJCSAgICBFRFBfUFNSX1NUQVRVU19DVEws Cj4+IC0JCQkJCSAgICBFRFBfUFNSX1NUQVRVU19TVEFURV9NQVNLLAo+PiAtCQkJCQkgICAgMCwK Pj4gLQkJCQkJICAgIDIwMDApKQo+PiArCQlpZiAoZGV2X3ByaXYtPnBzci5wc3IyX3N1cHBvcnQp IHsKPj4gKwkJCUk5MTVfV1JJVEUoRURQX1BTUjJfQ1RMLAo+PiArCQkJCUk5MTVfUkVBRChFRFBf UFNSMl9DVEwpICYKPj4gKwkJCQkJfihFRFBfUFNSMl9FTkFCTEUgfAo+PiArCQkJCQlFRFBfU1Vf VFJBQ0tfRU5BQkxFKSk7Cj4+ICsJCQkvKiBXYWl0IHRpbGwgUFNSMiBpcyBpZGxlICovCj4+ICsJ CQlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoZGV2X3ByaXYsCj4+ICsJCQkJCQkgICAgRURQ X1BTUjJfU1RBVFVTX0NUTCwKPj4gKwkJCQkJCSAgICBFRFBfUFNSMl9TVEFUVVNfU1RBVEVfTUFT SywKPj4gKwkJCQkJCSAgICAwLAo+PiArCQkJCQkJICAgIDIwMDApKQo+PiArCQkJRFJNX0VSUk9S KCJUaW1lZCBvdXQgd2FpdGluZyBmb3IgUFNSMiBJZGxlIFN0YXRlXG4iKTsKPj4gKwkJfSBlbHNl IHsKPj4gKwkJCUk5MTVfV1JJVEUoRURQX1BTUl9DVEwsCj4+ICsJCQkJICAgSTkxNV9SRUFEKEVE UF9QU1JfQ1RMKSAmIH5FRFBfUFNSX0VOQUJMRSk7Cj4+ICsJCQkvKiBXYWl0IHRpbGwgUFNSMSBp cyBpZGxlICovCj4+ICsJCQlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoZGV2X3ByaXYsCj4+ ICsJCQkJCQkgICAgRURQX1BTUl9TVEFUVVNfQ1RMLAo+PiArCQkJCQkJICAgIEVEUF9QU1JfU1RB VFVTX1NUQVRFX01BU0ssCj4+ICsJCQkJCQkgICAgMCwKPj4gKwkJCQkJCSAgICAyMDAwKSkKPj4g ICAJCQlEUk1fRVJST1IoIlRpbWVkIG91dCB3YWl0aW5nIGZvciBQU1IgSWRsZSBTdGF0ZVxuIik7 Cj4+IC0KPj4gKwkJfQo+PiAgIAkJZGV2X3ByaXYtPnBzci5hY3RpdmUgPSBmYWxzZTsKPj4gICAJ fSBlbHNlIHsKPj4gLQkJV0FSTl9PTihJOTE1X1JFQUQoRURQX1BTUl9DVEwpICYgRURQX1BTUl9F TkFCTEUpOwo+PiArCQlpZiAoZGV2X3ByaXYtPnBzci5wc3IyX3N1cHBvcnQpCj4+ICsJCQlXQVJO X09OKEk5MTVfUkVBRChFRFBfUFNSMl9DVEwpICYgRURQX1BTUjJfRU5BQkxFKTsKPj4gKwkJZWxz ZQo+PiArCQkJV0FSTl9PTihJOTE1X1JFQUQoRURQX1BTUl9DVEwpICYgRURQX1BTUl9FTkFCTEUp Owo+PiAgIAl9Cj4+ICAgfQo+PiAgIAo+PiBAQCAtNjIxLDEzICs2NjgsMjQgQEAgc3RhdGljIHZv aWQgaW50ZWxfcHNyX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQo+PiAgIAkgKiBhbmQg YmUgcmVhZHkgZm9yIHJlLWVuYWJsZS4KPj4gICAJICovCj4+ICAgCWlmIChIQVNfRERJKGRldl9w cml2KSkgewo+PiAtCQlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoZGV2X3ByaXYsCj4+IC0J CQkJCSAgICBFRFBfUFNSX1NUQVRVU19DVEwsCj4+IC0JCQkJCSAgICBFRFBfUFNSX1NUQVRVU19T VEFURV9NQVNLLAo+PiAtCQkJCQkgICAgMCwKPj4gLQkJCQkJICAgIDUwKSkgewo+PiAtCQkJRFJN X0VSUk9SKCJUaW1lZCBvdXQgd2FpdGluZyBmb3IgUFNSIElkbGUgZm9yIHJlLWVuYWJsZVxuIik7 Cj4+IC0JCQlyZXR1cm47Cj4+ICsJCWlmIChkZXZfcHJpdi0+cHNyLnBzcjJfc3VwcG9ydCkgewo+ PiArCQkJaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKGRldl9wcml2LAo+PiArCQkJCQkJRURQ X1BTUjJfU1RBVFVTX0NUTCwKPj4gKwkJCQkJCUVEUF9QU1IyX1NUQVRVU19TVEFURV9NQVNLLAo+ PiArCQkJCQkJMCwKPj4gKwkJCQkJCTUwKSkgewo+PiArCQkJCURSTV9FUlJPUigiVGltZWQgb3V0 IHdhaXRpbmcgZm9yIFBTUjIgSWRsZSBmb3IgcmUtZW5hYmxlXG4iKTsKPj4gKwkJCQlyZXR1cm47 Cj4+ICsJCQl9Cj4+ICsJCX0gZWxzZSB7Cj4+ICsJCQlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0 ZXIoZGV2X3ByaXYsCj4+ICsJCQkJCQlFRFBfUFNSX1NUQVRVU19DVEwsCj4+ICsJCQkJCQlFRFBf UFNSX1NUQVRVU19TVEFURV9NQVNLLAo+PiArCQkJCQkJMCwKPj4gKwkJCQkJCTUwKSkgewo+PiAr CQkJCURSTV9FUlJPUigiVGltZWQgb3V0IHdhaXRpbmcgZm9yIFBTUiBJZGxlIGZvciByZS1lbmFi bGVcbiIpOwo+PiArCQkJCXJldHVybjsKPj4gKwkJCX0KPj4gICAJCX0KPj4gICAJfSBlbHNlIHsK Pj4gICAJCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcihkZXZfcHJpdiwKPj4gQEAgLTY2OSwx MSArNzI3LDE1IEBAIHN0YXRpYyB2b2lkIGludGVsX3Bzcl9leGl0KHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdikKPj4gICAJCXJldHVybjsKPj4gICAKPj4gICAJaWYgKEhBU19EREko ZGV2X3ByaXYpKSB7Cj4+IC0JCXZhbCA9IEk5MTVfUkVBRChFRFBfUFNSX0NUTCk7Cj4+IC0KPj4g LQkJV0FSTl9PTighKHZhbCAmIEVEUF9QU1JfRU5BQkxFKSk7Cj4+IC0KPj4gLQkJSTkxNV9XUklU RShFRFBfUFNSX0NUTCwgdmFsICYgfkVEUF9QU1JfRU5BQkxFKTsKPj4gKwkJaWYgKGRldl9wcml2 LT5wc3IucHNyMl9zdXBwb3J0KSB7Cj4+ICsJCQl2YWwgPSBJOTE1X1JFQUQoRURQX1BTUjJfQ1RM KTsKPj4gKwkJCVdBUk5fT04oISh2YWwgJiBFRFBfUFNSMl9FTkFCTEUpKTsKPj4gKwkJCUk5MTVf V1JJVEUoRURQX1BTUjJfQ1RMLCB2YWwgJiB+RURQX1BTUjJfRU5BQkxFKTsKPj4gKwkJfSBlbHNl IHsKPj4gKwkJCXZhbCA9IEk5MTVfUkVBRChFRFBfUFNSX0NUTCk7Cj4+ICsJCQlXQVJOX09OKCEo dmFsICYgRURQX1BTUl9FTkFCTEUpKTsKPj4gKwkJCUk5MTVfV1JJVEUoRURQX1BTUl9DVEwsIHZh bCAmIH5FRFBfUFNSX0VOQUJMRSk7Cj4+ICsJCX0KPj4gICAJfSBlbHNlIHsKPj4gICAJCXZhbCA9 IEk5MTVfUkVBRChWTFZfUFNSQ1RMKHBpcGUpKTsKPj4gICAKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=