From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan de Oliveira Subject: Re: [PATCH 2/5] drm/i915: Move vblank evasion to commit (v4) Date: Fri, 09 Jan 2015 14:20:05 +0200 Message-ID: <54AFC775.5050809@gmail.com> References: <1419360113-10972-1-git-send-email-matthew.d.roper@intel.com> <1419360113-10972-3-git-send-email-matthew.d.roper@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f173.google.com (mail-wi0-f173.google.com [209.85.212.173]) by gabe.freedesktop.org (Postfix) with ESMTP id C8EA76E8B4 for ; Fri, 9 Jan 2015 04:20:08 -0800 (PST) Received: by mail-wi0-f173.google.com with SMTP id r20so1902037wiv.0 for ; Fri, 09 Jan 2015 04:20:08 -0800 (PST) In-Reply-To: <1419360113-10972-3-git-send-email-matthew.d.roper@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Matt Roper , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org UmV2aWV3ZWQtYnk6IEFuZGVyIENvbnNlbHZhbiBkZSBPbGl2ZWlyYSA8Y29uc2VsdmFuMkBnbWFp bC5jb20+CgpPbiAxMi8yMy8yMDE0IDA4OjQxIFBNLCBNYXR0IFJvcGVyIHdyb3RlOgo+IE1vdmUg dGhlIHZibGFuayBldmFzaW9uIHVwIGZyb20gdGhlIGxvdy1sZXZlbCwgaHctc3BlY2lmaWMKPiB1 cGRhdGVfcGxhbmUoKSBoYW5kbGVycyB0byB0aGUgZ2VuZXJhbCBwbGFuZSBjb21taXQgb3BlcmF0 aW9uLgo+IEV2ZXJ5dGhpbmcgaW5zaWRlIGNvbW1pdCBzaG91bGQgbm93IGJlIG5vbi1zbGVlcGlu Zywgc28gdGhpcyBicmluZ3MgdXMKPiBjbG9zZXIgdG8gaG93IHZibGFuayBldmFzaW9uIHdpbGwg YmVoYXZlIG9uY2Ugd2UgbW92ZSBvdmVyIHRvIGF0b21pYy4KPgo+IHYyOgo+ICAgLSBSZXN0b3Jl IGxvc3QgaW50ZWxfY3J0Yy0+YWN0aXZlIGNoZWNrIG9uIHZibGFuayBldmFzaW9uCj4KPiB2MzoK PiAgIC0gUmVwbGFjZSBhc3NlcnRfcGlwZV9lbmFibGVkKCkgaW4gaW50ZWxfZGlzYWJsZV9wcmlt YXJ5X2h3X3BsYW5lKCkKPiAgICAgd2l0aCBhbiBpbnRlbF9jcnRjLT5hY3RpdmUgdGVzdDsgaXQg dHVybnMgb3V0IGFzc2VydF9waXBlX2VuYWJsZWQoKQo+ICAgICBncmFicyBzb21lIG11dGV4ZXMg YW5kIGNhbiBzbGVlcCwgd2hpY2ggd2UgY2FuJ3QgZG8gd2l0aCBpbnRlcnJ1cHRzCj4gICAgIGRp c2FibGVkLgo+Cj4gdjQ6Cj4gICAtIEVxdWl2YWxlbnQgdG8gdjI7IHYzIGNoYW5nZSBpcyBub3cg c3F1YXNoZWQgaW50byBhbiBlYXJsaWVyIHBhdGNoCj4gICAgIG9mIHRoZSBzZXJpZXMuICAoQW5k ZXIpLgo+Cj4gU2lnbmVkLW9mZi1ieTogTWF0dCBSb3BlciA8bWF0dGhldy5kLnJvcGVyQGludGVs LmNvbT4KPiAtLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDEw ICsrKysrKysrKwo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgIHwgIDQg KysrKwo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgIHwgNDIgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gICAzIGZpbGVzIGNoYW5nZWQsIDE0IGlu c2VydGlvbnMoKyksIDQyIGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rp c3BsYXkuYwo+IGluZGV4IDZiZDQ0ZjMuLjhkNmU3MTAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGlzcGxheS5jCj4gQEAgLTExODY0LDYgKzExODY0LDEyIEBAIHN0YXRpYyB2b2lkIGlu dGVsX2JlZ2luX2NydGNfY29tbWl0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgIAkJaW50ZWxf dXBkYXRlX3dhdGVybWFya3MoY3J0Yyk7Cj4KPiAgIAlpbnRlbF9ydW50aW1lX3BtX2dldChkZXZf cHJpdik7Cj4gKwo+ICsJLyogUGVyZm9ybSB2YmxhbmsgZXZhc2lvbiBhcm91bmQgY29tbWl0IG9w ZXJhdGlvbiAqLwo+ICsJaWYgKGludGVsX2NydGMtPmFjdGl2ZSkKPiArCQlpbnRlbF9jcnRjLT5h dG9taWMuZXZhZGUgPQo+ICsJCQlpbnRlbF9waXBlX3VwZGF0ZV9zdGFydChpbnRlbF9jcnRjLAo+ ICsJCQkJCQkmaW50ZWxfY3J0Yy0+YXRvbWljLnN0YXJ0X3ZibF9jb3VudCk7Cj4gICB9Cj4KPiAg IHN0YXRpYyB2b2lkIGludGVsX2ZpbmlzaF9jcnRjX2NvbW1pdChzdHJ1Y3QgZHJtX2NydGMgKmNy dGMpCj4gQEAgLTExODczLDYgKzExODc5LDEwIEBAIHN0YXRpYyB2b2lkIGludGVsX2ZpbmlzaF9j cnRjX2NvbW1pdChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gICAJc3RydWN0IGludGVsX2NydGMg KmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwo+ICAgCXN0cnVjdCBkcm1fcGxhbmUg KnA7Cj4KPiArCWlmIChpbnRlbF9jcnRjLT5hdG9taWMuZXZhZGUpCj4gKwkJaW50ZWxfcGlwZV91 cGRhdGVfZW5kKGludGVsX2NydGMsCj4gKwkJCQkgICAgICBpbnRlbF9jcnRjLT5hdG9taWMuc3Rh cnRfdmJsX2NvdW50KTsKPiArCj4gICAJaW50ZWxfcnVudGltZV9wbV9wdXQoZGV2X3ByaXYpOwo+ Cj4gICAJaWYgKGludGVsX2NydGMtPmF0b21pYy53YWl0X3ZibGFuaykKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaAo+IGluZGV4IGEwM2JkNzIuLjE5MzQxNTYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaAo+IEBAIC00MjgsNiArNDI4LDEwIEBAIHN0cnVjdCBza2xfcGlwZV93bSB7Cj4g ICAgKiBhbmQgdGh1cyBjYW4ndCBiZSBydW4gd2l0aCBpbnRlcnJ1cHRzIGRpc2FibGVkLgo+ICAg ICovCj4gICBzdHJ1Y3QgaW50ZWxfY3J0Y19hdG9taWNfY29tbWl0IHsKPiArCS8qIHZibGFuayBl dmFzaW9uICovCj4gKwlib29sIGV2YWRlOwo+ICsJdW5zaWduZWQgc3RhcnRfdmJsX2NvdW50Owo+ ICsKPiAgIAkvKiBTbGVlcGFibGUgb3BlcmF0aW9ucyB0byBwZXJmb3JtIGJlZm9yZSBjb21taXQg Ki8KPiAgIAlib29sIHdhaXRfZm9yX2ZsaXBzOwo+ICAgCWJvb2wgZGlzYWJsZV9mYmM7Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKPiBpbmRleCA2ZTY0OWRlLi4xOGJlODI3IDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKPiBAQCAtNDEyLDggKzQxMiw2IEBAIHZs dl91cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqZHBsYW5lLCBzdHJ1Y3QgZHJtX2NydGMg KmNydGMsCj4gICAJdTMyIHNwcmN0bDsKPiAgIAl1bnNpZ25lZCBsb25nIHNwcnN1cmZfb2Zmc2V0 LCBsaW5lYXJfb2Zmc2V0Owo+ICAgCWludCBwaXhlbF9zaXplID0gZHJtX2Zvcm1hdF9wbGFuZV9j cHAoZmItPnBpeGVsX2Zvcm1hdCwgMCk7Cj4gLQl1MzIgc3RhcnRfdmJsX2NvdW50Owo+IC0JYm9v bCBhdG9taWNfdXBkYXRlOwo+Cj4gICAJc3ByY3RsID0gSTkxNV9SRUFEKFNQQ05UUihwaXBlLCBw bGFuZSkpOwo+Cj4gQEAgLTUwMiw4ICs1MDAsNiBAQCB2bHZfdXBkYXRlX3BsYW5lKHN0cnVjdCBk cm1fcGxhbmUgKmRwbGFuZSwgc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAgCQlsaW5lYXJfb2Zm c2V0ICs9IHNyY19oICogZmItPnBpdGNoZXNbMF0gKyBzcmNfdyAqIHBpeGVsX3NpemU7Cj4gICAJ fQo+Cj4gLQlhdG9taWNfdXBkYXRlID0gaW50ZWxfcGlwZV91cGRhdGVfc3RhcnQoaW50ZWxfY3J0 YywgJnN0YXJ0X3ZibF9jb3VudCk7Cj4gLQo+ICAgCWludGVsX3VwZGF0ZV9wcmltYXJ5X3BsYW5l KGludGVsX2NydGMpOwo+Cj4gICAJaWYgKElTX0NIRVJSWVZJRVcoZGV2KSAmJiBwaXBlID09IFBJ UEVfQikKPiBAQCAtNTI1LDkgKzUyMSw2IEBAIHZsdl91cGRhdGVfcGxhbmUoc3RydWN0IGRybV9w bGFuZSAqZHBsYW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gICAJCSAgIHNwcnN1cmZfb2Zm c2V0KTsKPgo+ICAgCWludGVsX2ZsdXNoX3ByaW1hcnlfcGxhbmUoZGV2X3ByaXYsIGludGVsX2Ny dGMtPnBsYW5lKTsKPiAtCj4gLQlpZiAoYXRvbWljX3VwZGF0ZSkKPiAtCQlpbnRlbF9waXBlX3Vw ZGF0ZV9lbmQoaW50ZWxfY3J0Yywgc3RhcnRfdmJsX2NvdW50KTsKPiAgIH0KPgo+ICAgc3RhdGlj IHZvaWQKPiBAQCAtNTM5LDEwICs1MzIsNiBAQCB2bHZfZGlzYWJsZV9wbGFuZShzdHJ1Y3QgZHJt X3BsYW5lICpkcGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgIAlzdHJ1Y3QgaW50ZWxf Y3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Cj4gICAJaW50IHBpcGUgPSBp bnRlbF9wbGFuZS0+cGlwZTsKPiAgIAlpbnQgcGxhbmUgPSBpbnRlbF9wbGFuZS0+cGxhbmU7Cj4g LQl1MzIgc3RhcnRfdmJsX2NvdW50Owo+IC0JYm9vbCBhdG9taWNfdXBkYXRlOwo+IC0KPiAtCWF0 b21pY191cGRhdGUgPSBpbnRlbF9waXBlX3VwZGF0ZV9zdGFydChpbnRlbF9jcnRjLCAmc3RhcnRf dmJsX2NvdW50KTsKPgo+ICAgCWludGVsX3VwZGF0ZV9wcmltYXJ5X3BsYW5lKGludGVsX2NydGMp Owo+Cj4gQEAgLTU1Myw5ICs1NDIsNiBAQCB2bHZfZGlzYWJsZV9wbGFuZShzdHJ1Y3QgZHJtX3Bs YW5lICpkcGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPgo+ICAgCWludGVsX2ZsdXNoX3By aW1hcnlfcGxhbmUoZGV2X3ByaXYsIGludGVsX2NydGMtPnBsYW5lKTsKPgo+IC0JaWYgKGF0b21p Y191cGRhdGUpCj4gLQkJaW50ZWxfcGlwZV91cGRhdGVfZW5kKGludGVsX2NydGMsIHN0YXJ0X3Zi bF9jb3VudCk7Cj4gLQo+ICAgCWludGVsX3VwZGF0ZV9zcHJpdGVfd2F0ZXJtYXJrcyhkcGxhbmUs IGNydGMsIDAsIDAsIDAsIGZhbHNlLCBmYWxzZSk7Cj4gICB9Cj4KPiBAQCAtNjI2LDggKzYxMiw2 IEBAIGl2Yl91cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIHN0cnVjdCBkcm1f Y3J0YyAqY3J0YywKPiAgIAl1MzIgc3ByY3RsLCBzcHJzY2FsZSA9IDA7Cj4gICAJdW5zaWduZWQg bG9uZyBzcHJzdXJmX29mZnNldCwgbGluZWFyX29mZnNldDsKPiAgIAlpbnQgcGl4ZWxfc2l6ZSA9 IGRybV9mb3JtYXRfcGxhbmVfY3BwKGZiLT5waXhlbF9mb3JtYXQsIDApOwo+IC0JdTMyIHN0YXJ0 X3ZibF9jb3VudDsKPiAtCWJvb2wgYXRvbWljX3VwZGF0ZTsKPgo+ICAgCXNwcmN0bCA9IEk5MTVf UkVBRChTUFJDVEwocGlwZSkpOwo+Cj4gQEAgLTcxMSw4ICs2OTUsNiBAQCBpdmJfdXBkYXRlX3Bs YW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gICAJ CX0KPiAgIAl9Cj4KPiAtCWF0b21pY191cGRhdGUgPSBpbnRlbF9waXBlX3VwZGF0ZV9zdGFydChp bnRlbF9jcnRjLCAmc3RhcnRfdmJsX2NvdW50KTsKPiAtCj4gICAJaW50ZWxfdXBkYXRlX3ByaW1h cnlfcGxhbmUoaW50ZWxfY3J0Yyk7Cj4KPiAgIAlJOTE1X1dSSVRFKFNQUlNUUklERShwaXBlKSwg ZmItPnBpdGNoZXNbMF0pOwo+IEBAIC03MzUsOSArNzE3LDYgQEAgaXZiX3VwZGF0ZV9wbGFuZShz dHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwgc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAgCQkgICBp OTE1X2dlbV9vYmpfZ2d0dF9vZmZzZXQob2JqKSArIHNwcnN1cmZfb2Zmc2V0KTsKPgo+ICAgCWlu dGVsX2ZsdXNoX3ByaW1hcnlfcGxhbmUoZGV2X3ByaXYsIGludGVsX2NydGMtPnBsYW5lKTsKPiAt Cj4gLQlpZiAoYXRvbWljX3VwZGF0ZSkKPiAtCQlpbnRlbF9waXBlX3VwZGF0ZV9lbmQoaW50ZWxf Y3J0Yywgc3RhcnRfdmJsX2NvdW50KTsKPiAgIH0KPgo+ICAgc3RhdGljIHZvaWQKPiBAQCAtNzQ4 LDEwICs3MjcsNiBAQCBpdmJfZGlzYWJsZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwg c3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICAgCXN0cnVjdCBpbnRlbF9wbGFuZSAqaW50ZWxfcGxh bmUgPSB0b19pbnRlbF9wbGFuZShwbGFuZSk7Cj4gICAJc3RydWN0IGludGVsX2NydGMgKmludGVs X2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwo+ICAgCWludCBwaXBlID0gaW50ZWxfcGxhbmUt PnBpcGU7Cj4gLQl1MzIgc3RhcnRfdmJsX2NvdW50Owo+IC0JYm9vbCBhdG9taWNfdXBkYXRlOwo+ IC0KPiAtCWF0b21pY191cGRhdGUgPSBpbnRlbF9waXBlX3VwZGF0ZV9zdGFydChpbnRlbF9jcnRj LCAmc3RhcnRfdmJsX2NvdW50KTsKPgo+ICAgCWludGVsX3VwZGF0ZV9wcmltYXJ5X3BsYW5lKGlu dGVsX2NydGMpOwo+Cj4gQEAgLTc2NCw5ICs3MzksNiBAQCBpdmJfZGlzYWJsZV9wbGFuZShzdHJ1 Y3QgZHJtX3BsYW5lICpwbGFuZSwgc3RydWN0IGRybV9jcnRjICpjcnRjKQo+Cj4gICAJaW50ZWxf Zmx1c2hfcHJpbWFyeV9wbGFuZShkZXZfcHJpdiwgaW50ZWxfY3J0Yy0+cGxhbmUpOwo+Cj4gLQlp ZiAoYXRvbWljX3VwZGF0ZSkKPiAtCQlpbnRlbF9waXBlX3VwZGF0ZV9lbmQoaW50ZWxfY3J0Yywg c3RhcnRfdmJsX2NvdW50KTsKPiAtCj4gICAJLyoKPiAgIAkgKiBBdm9pZCB1bmRlcnJ1bnMgd2hl biBkaXNhYmxpbmcgdGhlIHNwcml0ZS4KPiAgIAkgKiBGSVhNRSByZW1vdmUgb25jZSB3YXRlcm1h cmsgdXBkYXRlcyBhcmUgZG9uZSBwcm9wZXJseS4KPiBAQCAtODQ1LDggKzgxNyw2IEBAIGlsa191 cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0 YywKPiAgIAl1bnNpZ25lZCBsb25nIGR2c3N1cmZfb2Zmc2V0LCBsaW5lYXJfb2Zmc2V0Owo+ICAg CXUzMiBkdnNjbnRyLCBkdnNzY2FsZTsKPiAgIAlpbnQgcGl4ZWxfc2l6ZSA9IGRybV9mb3JtYXRf cGxhbmVfY3BwKGZiLT5waXhlbF9mb3JtYXQsIDApOwo+IC0JdTMyIHN0YXJ0X3ZibF9jb3VudDsK PiAtCWJvb2wgYXRvbWljX3VwZGF0ZTsKPgo+ICAgCWR2c2NudHIgPSBJOTE1X1JFQUQoRFZTQ05U UihwaXBlKSk7Cj4KPiBAQCAtOTIxLDggKzg5MSw2IEBAIGlsa191cGRhdGVfcGxhbmUoc3RydWN0 IGRybV9wbGFuZSAqcGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgIAkJbGluZWFyX29m ZnNldCArPSBzcmNfaCAqIGZiLT5waXRjaGVzWzBdICsgc3JjX3cgKiBwaXhlbF9zaXplOwo+ICAg CX0KPgo+IC0JYXRvbWljX3VwZGF0ZSA9IGludGVsX3BpcGVfdXBkYXRlX3N0YXJ0KGludGVsX2Ny dGMsICZzdGFydF92YmxfY291bnQpOwo+IC0KPiAgIAlpbnRlbF91cGRhdGVfcHJpbWFyeV9wbGFu ZShpbnRlbF9jcnRjKTsKPgo+ICAgCUk5MTVfV1JJVEUoRFZTU1RSSURFKHBpcGUpLCBmYi0+cGl0 Y2hlc1swXSk7Cj4gQEAgLTk0MCw5ICs5MDgsNiBAQCBpbGtfdXBkYXRlX3BsYW5lKHN0cnVjdCBk cm1fcGxhbmUgKnBsYW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gICAJCSAgIGk5MTVfZ2Vt X29ial9nZ3R0X29mZnNldChvYmopICsgZHZzc3VyZl9vZmZzZXQpOwo+Cj4gICAJaW50ZWxfZmx1 c2hfcHJpbWFyeV9wbGFuZShkZXZfcHJpdiwgaW50ZWxfY3J0Yy0+cGxhbmUpOwo+IC0KPiAtCWlm IChhdG9taWNfdXBkYXRlKQo+IC0JCWludGVsX3BpcGVfdXBkYXRlX2VuZChpbnRlbF9jcnRjLCBz dGFydF92YmxfY291bnQpOwo+ICAgfQo+Cj4gICBzdGF0aWMgdm9pZAo+IEBAIC05NTMsMTAgKzkx OCw2IEBAIGlsa19kaXNhYmxlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLCBzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMpCj4gICAJc3RydWN0IGludGVsX3BsYW5lICppbnRlbF9wbGFuZSA9IHRv X2ludGVsX3BsYW5lKHBsYW5lKTsKPiAgIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9 IHRvX2ludGVsX2NydGMoY3J0Yyk7Cj4gICAJaW50IHBpcGUgPSBpbnRlbF9wbGFuZS0+cGlwZTsK PiAtCXUzMiBzdGFydF92YmxfY291bnQ7Cj4gLQlib29sIGF0b21pY191cGRhdGU7Cj4gLQo+IC0J YXRvbWljX3VwZGF0ZSA9IGludGVsX3BpcGVfdXBkYXRlX3N0YXJ0KGludGVsX2NydGMsICZzdGFy dF92YmxfY291bnQpOwo+Cj4gICAJaW50ZWxfdXBkYXRlX3ByaW1hcnlfcGxhbmUoaW50ZWxfY3J0 Yyk7Cj4KPiBAQCAtOTY4LDkgKzkyOSw2IEBAIGlsa19kaXNhYmxlX3BsYW5lKHN0cnVjdCBkcm1f cGxhbmUgKnBsYW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4KPiAgIAlpbnRlbF9mbHVzaF9w cmltYXJ5X3BsYW5lKGRldl9wcml2LCBpbnRlbF9jcnRjLT5wbGFuZSk7Cj4KPiAtCWlmIChhdG9t aWNfdXBkYXRlKQo+IC0JCWludGVsX3BpcGVfdXBkYXRlX2VuZChpbnRlbF9jcnRjLCBzdGFydF92 YmxfY291bnQpOwo+IC0KPiAgIAkvKgo+ICAgCSAqIEF2b2lkIHVuZGVycnVucyB3aGVuIGRpc2Fi bGluZyB0aGUgc3ByaXRlLgo+ICAgCSAqIEZJWE1FIHJlbW92ZSBvbmNlIHdhdGVybWFyayB1cGRh dGVzIGFyZSBkb25lIHByb3Blcmx5Lgo+CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeAo=