From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 07/24] drm/i915: Introduce intel_atomic_get_plane_state_after_check() Date: Thu, 10 Oct 2019 15:39:41 +0300 Message-ID: <20191010123941.GE1208@intel.com> References: <20191004113514.17064-1-maarten.lankhorst@linux.intel.com> <20191004113514.17064-8-maarten.lankhorst@linux.intel.com> <20191008170318.GS1208@intel.com> <2afc2a18-8955-1a5d-058e-ee6b00857823@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 858536EB1C for ; Thu, 10 Oct 2019 12:39:45 +0000 (UTC) Content-Disposition: inline In-Reply-To: <2afc2a18-8955-1a5d-058e-ee6b00857823@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Maarten Lankhorst Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBPY3QgMTAsIDIwMTkgYXQgMDE6NTY6NDJQTSArMDIwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gT3AgMDgtMTAtMjAxOSBvbSAxOTowMyBzY2hyZWVmIFZpbGxlIFN5cmrDpGzD pDoKPiA+IE9uIEZyaSwgT2N0IDA0LCAyMDE5IGF0IDAxOjM0OjU3UE0gKzAyMDAsIE1hYXJ0ZW4g TGFua2hvcnN0IHdyb3RlOgo+ID4+IFVzZSB0aGlzIGluIGFsbCB0aGUgcGxhY2VzIHdoZXJlIHdl IHRyeSB0byBhY3F1aXJlIHBsYW5lcyBhZnRlciB0aGUgcGxhbmVzCj4gPj4gYXRvbWljX2NoZWNr KCkuCj4gPj4KPiA+PiBJbiBjYXNlIG9mIGludGVsX21vZGVzZXRfYWxsX3BpcGVzKCkgdGhpcyBp cyBub3QgeWV0IGRvbmUgYWZ0ZXIgYXRvbWljX2NoZWNrLAo+ID4+IGJ1dCBzZWVtcyBsaWtlIGl0 IHdpbGwgYmUgaW4gdGhlIGZ1dHVyZS4gVG8gYWRkIHNvbWUgcGFyYW5vaWEsIGFkZCBhbGwgcGxh bmVzCj4gPj4gcmF0aGVyIHRoYW4gYWN0aXZlIHBsYW5lcywgYmVjYXVzZSBvZiBiaWdqb2luZXIg YW5kIHBsYW5hciBZVVYgc3VwcG9ydCBoYXZpbmcKPiA+PiBleHRyYSBwbGFuZXMgb3V0c2lkZSBv ZiB0aGUgY29yZSdzIHZpZXcgdGhhdCB3b3VsZG4ndCBiZSBhZGRlZCBvdGhlcndpc2UuCj4gPiBJ ZiB0aGUgcGxhbmUgaXNuJ3QgYWN0aXZlIHdoYXQgZ29vZCBkb2VzIGFkZGluZyBpdCBkbz8KPiA+ Cj4gPiBNYXliZSB0aGUgb25seSByZWFsIGV4Y2VwdGlvbiBJIGNhbiB0aGluayBvZiBpcyB0aGUg d2F0ZXJtYXJrcwo+ID4gYW5kIHRoZSBwcmltYXJ5IHZzLiBnYW1tYS9jc2NfZW5hYmxlIG9uIHBy ZS1za2wsIGJ1dCB0aG9zZSBhcmUKPiA+IGFscmVhZHkgaGFuZGxlZCBjb3JyZWN0bHkuCj4gCj4g UGxhbmFyIFlVViBZIHBsYW5lcyBhcmUgbm90IGVudW1lcmF0ZWQsIHNvIGl0J3MgdXNlZnVsIHRv IGFkZC4gSW5zdGVhZCBvZgo+IHR5cGluZyB1cCBzcGVjaWFsIGNhc2Ugc3VwcG9ydCBJIHRob3Vn aHQgaXQgd2FzIGVhc2llciB0byBqdXN0IGFkZCBhbGwKPiBwbGFuZXMuIE9uIGJpZ2pvaW5lciBz bGF2ZSBubyBwbGFuZXMgYXJlIGVuYWJsZWQgZWl0aGVyLCBldmVuIGlmIHRoZXkncmUKPiBhY3Rp dmUuCgpJIHRoaW5rIG9uY2Ugd2UgaGF2ZSB0aGUgc3RhdGUgc3BsaXQgd2Ugc2hvdWxkIGdldCBy aWQgb2YgYWxsIHRoZQpzcGVjaWFsIGNhc2luZyBvZiB0aGUgWSBwbGFuZXMuIFRoZW4gdGhleSAo YW5kIHRoZSBiaWdqb2luZXIgc2xhdmUKcGxhbmVzKSBzaG91bGQganVzdCBsb29rIGxpa2UgYW4g YWN0aXZlIHBsYW5lcyB3aGljaCBpcyBub3QKbG9naWNhbGx5IGVuYWJsZWQgYnkgdWFwaS4KCj4g Cj4gPgo+ID4+IFNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmto b3JzdEBsaW51eC5pbnRlbC5jb20+Cj4gPj4gLS0tCj4gPj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmMgICB8IDQxICsrKysrKysrKy0tLS0tLS0tLS0KPiA+PiAg Li4uL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pY19wbGFuZS5jIHwgMTkgKysrKysr KysrCj4gPj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY2RjbGsuYyAgICB8 IDE1ICsrKystLS0KPiA+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jb2xv ci5jICAgIHwgIDcgKystLQo+ID4+ICAuLi4vZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5 X3R5cGVzLmggICAgfCAgNiArKysKPiA+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0u YyAgICAgICAgICAgICAgIHwgMTQgKysrKy0tLQo+ID4+ICA2IGZpbGVzIGNoYW5nZWQsIDY2IGlu c2VydGlvbnMoKyksIDM2IGRlbGV0aW9ucygtKQo+ID4+Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5jCj4gPj4gaW5kZXggYzVhNTUyYTY5NzUyLi5lNmNi ODVkNDFjOGQgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9hdG9taWMuYwo+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfYXRvbWljLmMKPiA+PiBAQCAtMzEzLDEzICszMTMsMTAgQEAgaW50IGludGVsX2F0b21pY19z ZXR1cF9zY2FsZXJzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+PiAgCQkJ ICAgICAgIHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjLAo+ID4+ICAJCQkgICAgICAgc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gPj4gIHsKPiA+PiAtCXN0cnVjdCBk cm1fcGxhbmUgKnBsYW5lID0gTlVMTDsKPiA+PiAtCXN0cnVjdCBpbnRlbF9wbGFuZSAqaW50ZWxf cGxhbmU7Cj4gPj4gLQlzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlID0gTlVM TDsKPiA+PiAgCXN0cnVjdCBpbnRlbF9jcnRjX3NjYWxlcl9zdGF0ZSAqc2NhbGVyX3N0YXRlID0K PiA+PiAgCQkmY3J0Y19zdGF0ZS0+c2NhbGVyX3N0YXRlOwo+ID4+ICAJc3RydWN0IGRybV9hdG9t aWNfc3RhdGUgKmRybV9zdGF0ZSA9IGNydGNfc3RhdGUtPmJhc2Uuc3RhdGU7Cj4gPj4gLQlzdHJ1 Y3QgaW50ZWxfYXRvbWljX3N0YXRlICppbnRlbF9zdGF0ZSA9IHRvX2ludGVsX2F0b21pY19zdGF0 ZShkcm1fc3RhdGUpOwo+ID4+ICsJc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUgPSB0 b19pbnRlbF9hdG9taWNfc3RhdGUoZHJtX3N0YXRlKTsKPiA+PiAgCWludCBudW1fc2NhbGVyc19u ZWVkOwo+ID4+ICAJaW50IGk7Cj4gPj4gIAo+ID4+IEBAIC0zNDYsNiArMzQzLDcgQEAgaW50IGlu dGVsX2F0b21pY19zZXR1cF9zY2FsZXJzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKPiA+PiAgCj4gPj4gIAkvKiB3YWxrdGhyb3VnaCBzY2FsZXJfdXNlcnMgYml0cyBhbmQgc3Rh cnQgYXNzaWduaW5nIHNjYWxlcnMgKi8KPiA+PiAgCWZvciAoaSA9IDA7IGkgPCBzaXplb2Yoc2Nh bGVyX3N0YXRlLT5zY2FsZXJfdXNlcnMpICogODsgaSsrKSB7Cj4gPj4gKwkJc3RydWN0IGludGVs X3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSA9IE5VTEw7Cj4gPj4gIAkJaW50ICpzY2FsZXJfaWQ7 Cj4gPj4gIAkJY29uc3QgY2hhciAqbmFtZTsKPiA+PiAgCQlpbnQgaWR4Owo+ID4+IEBAIC0zNjEs MTkgKzM1OSwxNiBAQCBpbnQgaW50ZWxfYXRvbWljX3NldHVwX3NjYWxlcnMoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4+ICAJCQkvKiBwYW5lbCBmaXR0ZXIgY2FzZTogYXNz aWduIGFzIGEgY3J0YyBzY2FsZXIgKi8KPiA+PiAgCQkJc2NhbGVyX2lkID0gJnNjYWxlcl9zdGF0 ZS0+c2NhbGVyX2lkOwo+ID4+ICAJCX0gZWxzZSB7Cj4gPj4gLQkJCW5hbWUgPSAiUExBTkUiOwo+ ID4+ICsJCQlzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lOwo+ID4+ICAKPiA+PiAgCQkJLyogcGxh bmUgc2NhbGVyIGNhc2U6IGFzc2lnbiBhcyBhIHBsYW5lIHNjYWxlciAqLwo+ID4+ICAJCQkvKiBm aW5kIHRoZSBwbGFuZSB0aGF0IHNldCB0aGUgYml0IGFzIHNjYWxlcl91c2VyICovCj4gPj4gLQkJ CXBsYW5lID0gZHJtX3N0YXRlLT5wbGFuZXNbaV0ucHRyOwo+ID4+ICAKPiA+PiAgCQkJLyoKPiA+ PiAgCQkJICogdG8gZW5hYmxlL2Rpc2FibGUgaHEgbW9kZSwgYWRkIHBsYW5lcyB0aGF0IGFyZSB1 c2luZyBzY2FsZXIKPiA+PiAgCQkJICogaW50byB0aGlzIHRyYW5zYWN0aW9uCj4gPj4gIAkJCSAq Lwo+ID4+IC0JCQlpZiAoIXBsYW5lKSB7Cj4gPj4gLQkJCQlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRl ICpzdGF0ZTsKPiA+PiAtCj4gPj4gKwkJCWlmICghZHJtX3N0YXRlLT5wbGFuZXNbaV0ucHRyKSB7 Cj4gPj4gIAkJCQkvKgo+ID4+ICAJCQkJICogR0xLKyBzY2FsZXJzIGRvbid0IGhhdmUgYSBIUSBt b2RlIHNvIGl0Cj4gPj4gIAkJCQkgKiBpc24ndCBuZWNlc3NhcnkgdG8gY2hhbmdlIGJldHdlZW4g SFEgYW5kIGR5biBtb2RlCj4gPj4gQEAgLTM4MiwyNCArMzc3LDI4IEBAIGludCBpbnRlbF9hdG9t aWNfc2V0dXBfc2NhbGVycyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPj4g IAkJCQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMCB8fCBJU19HRU1JTklMQUtFKGRldl9w cml2KSkKPiA+PiAgCQkJCQljb250aW51ZTsKPiA+PiAgCj4gPj4gLQkJCQlwbGFuZSA9IGRybV9w bGFuZV9mcm9tX2luZGV4KCZkZXZfcHJpdi0+ZHJtLCBpKTsKPiA+PiAtCQkJCXN0YXRlID0gZHJt X2F0b21pY19nZXRfcGxhbmVfc3RhdGUoZHJtX3N0YXRlLCBwbGFuZSk7Cj4gPj4gLQkJCQlpZiAo SVNfRVJSKHN0YXRlKSkgewo+ID4+IC0JCQkJCURSTV9ERUJVR19LTVMoIkZhaWxlZCB0byBhZGQg W1BMQU5FOiVkXSB0byBkcm1fc3RhdGVcbiIsCj4gPj4gLQkJCQkJCXBsYW5lLT5iYXNlLmlkKTsK PiA+PiAtCQkJCQlyZXR1cm4gUFRSX0VSUihzdGF0ZSk7Cj4gPj4gKwkJCQlwbGFuZSA9IHRvX2lu dGVsX3BsYW5lKGRybV9wbGFuZV9mcm9tX2luZGV4KCZkZXZfcHJpdi0+ZHJtLCBpKSk7Cj4gPj4g KwkJCQlwbGFuZV9zdGF0ZSA9Cj4gPj4gKwkJCQkJaW50ZWxfYXRvbWljX2dldF9wbGFuZV9zdGF0 ZV9hZnRlcl9jaGVjayhzdGF0ZSwKPiA+PiArCQkJCQkJCQkJCSBjcnRjX3N0YXRlLAo+ID4+ICsJ CQkJCQkJCQkJIHBsYW5lKTsKPiA+PiArCQkJCWlmIChJU19FUlIocGxhbmVfc3RhdGUpKSB7Cj4g Pj4gKwkJCQkJRFJNX0RFQlVHX0tNUygiRmFpbGVkIHRvIGFkZCBbUExBTkU6JWRdIHRvIGRybV9z dGF0ZTogJWxpXG4iLAo+ID4+ICsJCQkJCQlwbGFuZS0+YmFzZS5iYXNlLmlkLCBQVFJfRVJSKHBs YW5lX3N0YXRlKSk7Cj4gPj4gKwkJCQkJcmV0dXJuIFBUUl9FUlIocGxhbmVfc3RhdGUpOwo+ID4+ ICAJCQkJfQo+ID4+ICsJCQl9IGVsc2Ugewo+ID4+ICsJCQkJcGxhbmUgPSB0b19pbnRlbF9wbGFu ZShkcm1fc3RhdGUtPnBsYW5lc1tpXS5wdHIpOwo+ID4+ICsJCQkJcGxhbmVfc3RhdGUgPSBpbnRl bF9hdG9taWNfZ2V0X25ld19wbGFuZV9zdGF0ZShzdGF0ZSwKPiA+PiArCQkJCQkJCQkJICAgICAg IHBsYW5lKTsKPiA+PiAgCQkJfQo+ID4+ICAKPiA+PiAtCQkJaW50ZWxfcGxhbmUgPSB0b19pbnRl bF9wbGFuZShwbGFuZSk7Cj4gPj4gLQkJCWlkeCA9IHBsYW5lLT5iYXNlLmlkOwo+ID4+IC0KPiA+ PiAgCQkJLyogcGxhbmUgb24gZGlmZmVyZW50IGNydGMgY2Fubm90IGJlIGEgc2NhbGVyIHVzZXIg b2YgdGhpcyBjcnRjICovCj4gPj4gLQkJCWlmIChXQVJOX09OKGludGVsX3BsYW5lLT5waXBlICE9 IGludGVsX2NydGMtPnBpcGUpKQo+ID4+ICsJCQlpZiAoV0FSTl9PTihwbGFuZS0+cGlwZSAhPSBp bnRlbF9jcnRjLT5waXBlKSkKPiA+PiAgCQkJCWNvbnRpbnVlOwo+ID4+ICAKPiA+PiAtCQkJcGxh bmVfc3RhdGUgPSBpbnRlbF9hdG9taWNfZ2V0X25ld19wbGFuZV9zdGF0ZShpbnRlbF9zdGF0ZSwK PiA+PiAtCQkJCQkJCQkgICAgICAgaW50ZWxfcGxhbmUpOwo+ID4+ICsJCQluYW1lID0gIlBMQU5F IjsKPiA+PiArCQkJaWR4ID0gcGxhbmUtPmJhc2UuYmFzZS5pZDsKPiA+PiAgCQkJc2NhbGVyX2lk ID0gJnBsYW5lX3N0YXRlLT5zY2FsZXJfaWQ7Cj4gPj4gIAkJfQo+ID4+ICAKPiA+PiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdG9taWNfcGxhbmUuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljX3BsYW5lLmMKPiA+PiBp bmRleCA5OGI3NzY2ZWFhN2EuLjRlYWFiMGRlOThiZiAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pY19wbGFuZS5jCj4gPj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdG9taWNfcGxhbmUuYwo+ID4+IEBAIC0z NjYsNiArMzY2LDI1IEBAIHZvaWQgaTl4eF91cGRhdGVfcGxhbmVzX29uX2NydGMoc3RydWN0IGlu dGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gPj4gIAl9Cj4gPj4gIH0KPiA+PiAgCj4gPj4gK3N0 cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqCj4gPj4gK2ludGVsX2F0b21pY19nZXRfcGxhbmVfc3Rh dGVfYWZ0ZXJfY2hlY2soc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gPj4gKwkJ CQkJIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpuZXdfY3J0Y19zdGF0ZSwKPiA+PiArCQkJCQkg c3RydWN0IGludGVsX3BsYW5lICpwbGFuZSkKPiA+PiArewo+ID4+ICsJc3RydWN0IGludGVsX3Bs YW5lX3N0YXRlICpwbGFuZV9zdGF0ZSA9Cj4gPj4gKwkJaW50ZWxfYXRvbWljX2dldF9uZXdfcGxh bmVfc3RhdGUoc3RhdGUsIHBsYW5lKTsKPiA+PiArCj4gPj4gKwlpZiAocGxhbmVfc3RhdGUpCj4g Pj4gKwkJcmV0dXJuIHBsYW5lX3N0YXRlOwo+ID4+ICsKPiA+PiArCXBsYW5lX3N0YXRlID0gaW50 ZWxfYXRvbWljX2dldF9wbGFuZV9zdGF0ZShzdGF0ZSwgcGxhbmUpOwo+ID4+ICsJaWYgKElTX0VS UihwbGFuZV9zdGF0ZSkpCj4gPj4gKwkJcmV0dXJuIHBsYW5lX3N0YXRlOwo+ID4+ICsKPiA+PiAr CW5ld19jcnRjX3N0YXRlLT51cGRhdGVfcGxhbmVzIHw9IEJJVChwbGFuZS0+aWQpOwo+ID4gSSBh bHNvIGRvbid0IHJlYWxseSBsaWtlIGJ1cnlpbmcgdGhpcyBhbGwgdGhlIHdheSBkb3duLiBTZWVt cwo+ID4gcmF0aGVyIG5vbi1vYnZpb3VzIGZyb20gdGhlIGNhbGxlci4gQWxzbyBzZWVtcyB3cm9u ZyB0byBub3Qgc2V0Cj4gPiB0aGUgZmxhZyBpZiB0aGUgcGxhbmUgd2FzIGFscmVhZHkgcGFydCBv ZiB0aGUgc3RhdGUuCj4gPgo+ID4gSSdkIHNheSB3ZSBqdXN0IG5lZWQgdG8gaGFuZCByb2xsIGFk ZF9hZmZlY3RlZF9wbGFuZXMoKSBmb3IgdGhlCj4gPiBjZGNsayBjb2RlLiBBbmQgdGhlcmUgaXMg c2hvdWxkIGRlZmluaXRlbHkgYmUgc3VmZmljaWVudCB0bwo+ID4gYWRkIGp1c3QgdGhlIGFjdGl2 ZSBwbGFuZXMuCj4gPgo+ID4+ICsJcmV0dXJuIHBsYW5lX3N0YXRlOwo+ID4+ICt9Cj4gPj4gKwo+ ID4+ICBjb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX2hlbHBlcl9mdW5jcyBpbnRlbF9wbGFuZV9oZWxw ZXJfZnVuY3MgPSB7Cj4gPj4gIAkucHJlcGFyZV9mYiA9IGludGVsX3ByZXBhcmVfcGxhbmVfZmIs Cj4gPj4gIAkuY2xlYW51cF9mYiA9IGludGVsX2NsZWFudXBfcGxhbmVfZmIsCj4gPj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY2RjbGsuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY2RjbGsuYwo+ID4+IGluZGV4IDQzNTY0Mjk1 Yjg2NC4uNDJiZDAyNjM4ZDMyIDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfY2RjbGsuYwo+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfY2RjbGsuYwo+ID4+IEBAIC0yMjQ5LDYgKzIyNDksNyBAQCBzdGF0aWMgaW50 IGludGVsX21vZGVzZXRfYWxsX3BpcGVzKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRl KQo+ID4+ICAJICovCj4gPj4gIAlmb3JfZWFjaF9pbnRlbF9jcnRjKCZkZXZfcHJpdi0+ZHJtLCBj cnRjKSB7Cj4gPj4gIAkJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGU7Cj4gPj4g KwkJc3RydWN0IGludGVsX3BsYW5lICpwbGFuZTsKPiA+PiAgCQlpbnQgcmV0Owo+ID4+ICAKPiA+ PiAgCQljcnRjX3N0YXRlID0gaW50ZWxfYXRvbWljX2dldF9jcnRjX3N0YXRlKCZzdGF0ZS0+YmFz ZSwgY3J0Yyk7Cj4gPj4gQEAgLTIyNjYsMTIgKzIyNjcsMTQgQEAgc3RhdGljIGludCBpbnRlbF9t b2Rlc2V0X2FsbF9waXBlcyhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSkKPiA+PiAg CQlpZiAocmV0KQo+ID4+ICAJCQlyZXR1cm4gcmV0Owo+ID4+ICAKPiA+PiAtCQlyZXQgPSBkcm1f YXRvbWljX2FkZF9hZmZlY3RlZF9wbGFuZXMoJnN0YXRlLT5iYXNlLAo+ID4+IC0JCQkJCQkgICAg ICZjcnRjLT5iYXNlKTsKPiA+PiAtCQlpZiAocmV0KQo+ID4+IC0JCQlyZXR1cm4gcmV0Owo+ID4+ IC0KPiA+PiAtCQljcnRjX3N0YXRlLT51cGRhdGVfcGxhbmVzIHw9IGNydGNfc3RhdGUtPmFjdGl2 ZV9wbGFuZXM7Cj4gPj4gKwkJZm9yX2VhY2hfaW50ZWxfcGxhbmVfb25fY3J0YygmZGV2X3ByaXYt PmRybSwgY3J0YywgcGxhbmUpIHsKPiA+PiArCQkJc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpw bGFuZV9zdGF0ZSA9Cj4gPj4gKwkJCQlpbnRlbF9hdG9taWNfZ2V0X3BsYW5lX3N0YXRlX2FmdGVy X2NoZWNrKHN0YXRlLAo+ID4+ICsJCQkJCQkJCQkgY3J0Y19zdGF0ZSwKPiA+PiArCQkJCQkJCQkJ IHBsYW5lKTsKPiA+PiArCQkJaWYgKElTX0VSUihwbGFuZV9zdGF0ZSkpCj4gPj4gKwkJCQlyZXR1 cm4gUFRSX0VSUihwbGFuZV9zdGF0ZSk7Cj4gPj4gKwkJfQo+ID4+ICAJfQo+ID4+ICAKPiA+PiAg CXJldHVybiAwOwo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX2NvbG9yLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2NvbG9y LmMKPiA+PiBpbmRleCA5YWIzNDkwMjY2M2UuLjFlM2E2MjNlYWY4MiAxMDA2NDQKPiA+PiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2NvbG9yLmMKPiA+PiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2NvbG9yLmMKPiA+PiBAQCAtMTA3Nywx MSArMTA3NywxMiBAQCBpbnRlbF9jb2xvcl9hZGRfYWZmZWN0ZWRfcGxhbmVzKHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpuZXdfY3J0Y19zdGF0ZSkKPiA+PiAgCQlpZiAoIW5lZWRfcGxhbmVfdXBk YXRlKHBsYW5lLCBuZXdfY3J0Y19zdGF0ZSkpCj4gPj4gIAkJCWNvbnRpbnVlOwo+ID4+ICAKPiA+ PiAtCQlwbGFuZV9zdGF0ZSA9IGludGVsX2F0b21pY19nZXRfcGxhbmVfc3RhdGUoc3RhdGUsIHBs YW5lKTsKPiA+PiArCQlwbGFuZV9zdGF0ZSA9Cj4gPj4gKwkJCWludGVsX2F0b21pY19nZXRfcGxh bmVfc3RhdGVfYWZ0ZXJfY2hlY2soc3RhdGUsCj4gPj4gKwkJCQkJCQkJIG5ld19jcnRjX3N0YXRl LAo+ID4+ICsJCQkJCQkJCSBwbGFuZSk7Cj4gPj4gIAkJaWYgKElTX0VSUihwbGFuZV9zdGF0ZSkp Cj4gPj4gIAkJCXJldHVybiBQVFJfRVJSKHBsYW5lX3N0YXRlKTsKPiA+PiAtCj4gPj4gLQkJbmV3 X2NydGNfc3RhdGUtPnVwZGF0ZV9wbGFuZXMgfD0gQklUKHBsYW5lLT5pZCk7Cj4gPj4gIAl9Cj4g Pj4gIAo+ID4+ICAJcmV0dXJuIDA7Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV90eXBlcy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmgKPiA+PiBpbmRleCA5NzY2NjlmMDFhOGMuLjUy NjQyMzQzN2Y2MyAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX2Rpc3BsYXlfdHlwZXMuaAo+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfZGlzcGxheV90eXBlcy5oCj4gPj4gQEAgLTE1NDEsNCArMTU0MSwxMCBAQCBz dGF0aWMgaW5saW5lIHUzMiBpbnRlbF9wbGFuZV9nZ3R0X29mZnNldChjb25zdCBzdHJ1Y3QgaW50 ZWxfcGxhbmVfc3RhdGUgKnN0YXRlKQo+ID4+ICAJcmV0dXJuIGk5MTVfZ2d0dF9vZmZzZXQoc3Rh dGUtPnZtYSk7Cj4gPj4gIH0KPiA+PiAgCj4gPj4gKy8qIGludGVsX2F0b21pY19wbGFuZS5jICov Cj4gPj4gK3N0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqCj4gPj4gK2ludGVsX2F0b21pY19nZXRf cGxhbmVfc3RhdGVfYWZ0ZXJfY2hlY2soc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUs Cj4gPj4gKwkJCQkJIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ID4+ICsJ CQkJCSBzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lKTsKPiA+PiArCj4gPj4gICNlbmRpZiAvKiAg X19JTlRFTF9ESVNQTEFZX1RZUEVTX0hfXyAqLwo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+ ID4+IGluZGV4IDUzMzU4ZTMzZGYxYi4uNWU2ZTU0Y2IyMmZlIDEwMDY0NAo+ID4+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9wbS5jCj4gPj4gQEAgLTUyNDIsMTEgKzUyNDIsMTIgQEAgc2tsX2RkYl9hZGRf YWZmZWN0ZWRfcGxhbmVzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19z dGF0ZSwKPiA+PiAgCQkJCQkmbmV3X2NydGNfc3RhdGUtPndtLnNrbC5wbGFuZV9kZGJfdXZbcGxh bmVfaWRdKSkKPiA+PiAgCQkJY29udGludWU7Cj4gPj4gIAo+ID4+IC0JCXBsYW5lX3N0YXRlID0g aW50ZWxfYXRvbWljX2dldF9wbGFuZV9zdGF0ZShzdGF0ZSwgcGxhbmUpOwo+ID4+ICsJCXBsYW5l X3N0YXRlID0KPiA+PiArCQkJaW50ZWxfYXRvbWljX2dldF9wbGFuZV9zdGF0ZV9hZnRlcl9jaGVj ayhzdGF0ZSwKPiA+PiArCQkJCQkJCQkgbmV3X2NydGNfc3RhdGUsCj4gPj4gKwkJCQkJCQkJIHBs YW5lKTsKPiA+PiAgCQlpZiAoSVNfRVJSKHBsYW5lX3N0YXRlKSkKPiA+PiAgCQkJcmV0dXJuIFBU Ul9FUlIocGxhbmVfc3RhdGUpOwo+ID4+IC0KPiA+PiAtCQluZXdfY3J0Y19zdGF0ZS0+dXBkYXRl X3BsYW5lcyB8PSBCSVQocGxhbmVfaWQpOwo+ID4+ICAJfQo+ID4+ICAKPiA+PiAgCXJldHVybiAw Owo+ID4+IEBAIC01NTM0LDExICs1NTM1LDEyIEBAIHN0YXRpYyBpbnQgc2tsX3dtX2FkZF9hZmZl Y3RlZF9wbGFuZXMoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gPj4gIAkJCQkJ Jm5ld19jcnRjX3N0YXRlLT53bS5za2wub3B0aW1hbC5wbGFuZXNbcGxhbmVfaWRdKSkKPiA+PiAg CQkJY29udGludWU7Cj4gPj4gIAo+ID4+IC0JCXBsYW5lX3N0YXRlID0gaW50ZWxfYXRvbWljX2dl dF9wbGFuZV9zdGF0ZShzdGF0ZSwgcGxhbmUpOwo+ID4+ICsJCXBsYW5lX3N0YXRlID0KPiA+PiAr CQkJaW50ZWxfYXRvbWljX2dldF9wbGFuZV9zdGF0ZV9hZnRlcl9jaGVjayhzdGF0ZSwKPiA+PiAr CQkJCQkJCQkgbmV3X2NydGNfc3RhdGUsCj4gPj4gKwkJCQkJCQkJIHBsYW5lKTsKPiA+PiAgCQlp ZiAoSVNfRVJSKHBsYW5lX3N0YXRlKSkKPiA+PiAgCQkJcmV0dXJuIFBUUl9FUlIocGxhbmVfc3Rh dGUpOwo+ID4+IC0KPiA+PiAtCQluZXdfY3J0Y19zdGF0ZS0+dXBkYXRlX3BsYW5lcyB8PSBCSVQo cGxhbmVfaWQpOwo+ID4+ICAJfQo+ID4+ICAKPiA+PiAgCXJldHVybiAwOwo+ID4+IC0tIAo+ID4+ IDIuMjMuMAo+ID4+Cj4gPj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KPiA+PiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gPj4gSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwo+ID4+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cj4gCgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVsCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==