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: Tue, 8 Oct 2019 20:03:18 +0300 Message-ID: <20191008170318.GS1208@intel.com> References: <20191004113514.17064-1-maarten.lankhorst@linux.intel.com> <20191004113514.17064-8-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id C6CF56E142 for ; Tue, 8 Oct 2019 17:03:21 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20191004113514.17064-8-maarten.lankhorst@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 T24gRnJpLCBPY3QgMDQsIDIwMTkgYXQgMDE6MzQ6NTdQTSArMDIwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gVXNlIHRoaXMgaW4gYWxsIHRoZSBwbGFjZXMgd2hlcmUgd2UgdHJ5IHRvIGFj cXVpcmUgcGxhbmVzIGFmdGVyIHRoZSBwbGFuZXMKPiBhdG9taWNfY2hlY2soKS4KPiAKPiBJbiBj YXNlIG9mIGludGVsX21vZGVzZXRfYWxsX3BpcGVzKCkgdGhpcyBpcyBub3QgeWV0IGRvbmUgYWZ0 ZXIgYXRvbWljX2NoZWNrLAo+IGJ1dCBzZWVtcyBsaWtlIGl0IHdpbGwgYmUgaW4gdGhlIGZ1dHVy ZS4gVG8gYWRkIHNvbWUgcGFyYW5vaWEsIGFkZCBhbGwgcGxhbmVzCj4gcmF0aGVyIHRoYW4gYWN0 aXZlIHBsYW5lcywgYmVjYXVzZSBvZiBiaWdqb2luZXIgYW5kIHBsYW5hciBZVVYgc3VwcG9ydCBo YXZpbmcKPiBleHRyYSBwbGFuZXMgb3V0c2lkZSBvZiB0aGUgY29yZSdzIHZpZXcgdGhhdCB3b3Vs ZG4ndCBiZSBhZGRlZCBvdGhlcndpc2UuCgpJZiB0aGUgcGxhbmUgaXNuJ3QgYWN0aXZlIHdoYXQg Z29vZCBkb2VzIGFkZGluZyBpdCBkbz8KCk1heWJlIHRoZSBvbmx5IHJlYWwgZXhjZXB0aW9uIEkg Y2FuIHRoaW5rIG9mIGlzIHRoZSB3YXRlcm1hcmtzCmFuZCB0aGUgcHJpbWFyeSB2cy4gZ2FtbWEv Y3NjX2VuYWJsZSBvbiBwcmUtc2tsLCBidXQgdGhvc2UgYXJlCmFscmVhZHkgaGFuZGxlZCBjb3Jy ZWN0bHkuCgo+IAo+IFNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxh bmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfYXRvbWljLmMgICB8IDQxICsrKysrKysrKy0tLS0tLS0tLS0KPiAgLi4uL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pY19wbGFuZS5jIHwgMTkgKysrKysrKysrCj4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY2RjbGsuYyAgICB8IDE1ICsrKyst LS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jb2xvci5jICAgIHwgIDcg KystLQo+ICAuLi4vZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmggICAgfCAg NiArKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyAgICAgICAgICAgICAgIHwg MTQgKysrKy0tLQo+ICA2IGZpbGVzIGNoYW5nZWQsIDY2IGluc2VydGlvbnMoKyksIDM2IGRlbGV0 aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX2F0b21pYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdG9taWMu Ywo+IGluZGV4IGM1YTU1MmE2OTc1Mi4uZTZjYjg1ZDQxYzhkIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmMKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5jCj4gQEAgLTMxMywxMyArMzEzLDEwIEBA IGludCBpbnRlbF9hdG9taWNfc2V0dXBfc2NhbGVycyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsCj4gIAkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YywKPiAg CQkJICAgICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICB7Cj4gLQlz dHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSA9IE5VTEw7Cj4gLQlzdHJ1Y3QgaW50ZWxfcGxhbmUgKmlu dGVsX3BsYW5lOwo+IC0Jc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSA9IE5V TEw7Cj4gIAlzdHJ1Y3QgaW50ZWxfY3J0Y19zY2FsZXJfc3RhdGUgKnNjYWxlcl9zdGF0ZSA9Cj4g IAkJJmNydGNfc3RhdGUtPnNjYWxlcl9zdGF0ZTsKPiAgCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRl ICpkcm1fc3RhdGUgPSBjcnRjX3N0YXRlLT5iYXNlLnN0YXRlOwo+IC0Jc3RydWN0IGludGVsX2F0 b21pY19zdGF0ZSAqaW50ZWxfc3RhdGUgPSB0b19pbnRlbF9hdG9taWNfc3RhdGUoZHJtX3N0YXRl KTsKPiArCXN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlID0gdG9faW50ZWxfYXRvbWlj X3N0YXRlKGRybV9zdGF0ZSk7Cj4gIAlpbnQgbnVtX3NjYWxlcnNfbmVlZDsKPiAgCWludCBpOwo+ ICAKPiBAQCAtMzQ2LDYgKzM0Myw3IEBAIGludCBpbnRlbF9hdG9taWNfc2V0dXBfc2NhbGVycyhz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAo+ICAJLyogd2Fsa3Rocm91Z2gg c2NhbGVyX3VzZXJzIGJpdHMgYW5kIHN0YXJ0IGFzc2lnbmluZyBzY2FsZXJzICovCj4gIAlmb3Ig KGkgPSAwOyBpIDwgc2l6ZW9mKHNjYWxlcl9zdGF0ZS0+c2NhbGVyX3VzZXJzKSAqIDg7IGkrKykg ewo+ICsJCXN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUgPSBOVUxMOwo+ICAJ CWludCAqc2NhbGVyX2lkOwo+ICAJCWNvbnN0IGNoYXIgKm5hbWU7Cj4gIAkJaW50IGlkeDsKPiBA QCAtMzYxLDE5ICszNTksMTYgQEAgaW50IGludGVsX2F0b21pY19zZXR1cF9zY2FsZXJzKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCQkJLyogcGFuZWwgZml0dGVyIGNhc2U6 IGFzc2lnbiBhcyBhIGNydGMgc2NhbGVyICovCj4gIAkJCXNjYWxlcl9pZCA9ICZzY2FsZXJfc3Rh dGUtPnNjYWxlcl9pZDsKPiAgCQl9IGVsc2Ugewo+IC0JCQluYW1lID0gIlBMQU5FIjsKPiArCQkJ c3RydWN0IGludGVsX3BsYW5lICpwbGFuZTsKPiAgCj4gIAkJCS8qIHBsYW5lIHNjYWxlciBjYXNl OiBhc3NpZ24gYXMgYSBwbGFuZSBzY2FsZXIgKi8KPiAgCQkJLyogZmluZCB0aGUgcGxhbmUgdGhh dCBzZXQgdGhlIGJpdCBhcyBzY2FsZXJfdXNlciAqLwo+IC0JCQlwbGFuZSA9IGRybV9zdGF0ZS0+ cGxhbmVzW2ldLnB0cjsKPiAgCj4gIAkJCS8qCj4gIAkJCSAqIHRvIGVuYWJsZS9kaXNhYmxlIGhx IG1vZGUsIGFkZCBwbGFuZXMgdGhhdCBhcmUgdXNpbmcgc2NhbGVyCj4gIAkJCSAqIGludG8gdGhp cyB0cmFuc2FjdGlvbgo+ICAJCQkgKi8KPiAtCQkJaWYgKCFwbGFuZSkgewo+IC0JCQkJc3RydWN0 IGRybV9wbGFuZV9zdGF0ZSAqc3RhdGU7Cj4gLQo+ICsJCQlpZiAoIWRybV9zdGF0ZS0+cGxhbmVz W2ldLnB0cikgewo+ICAJCQkJLyoKPiAgCQkJCSAqIEdMSysgc2NhbGVycyBkb24ndCBoYXZlIGEg SFEgbW9kZSBzbyBpdAo+ICAJCQkJICogaXNuJ3QgbmVjZXNzYXJ5IHRvIGNoYW5nZSBiZXR3ZWVu IEhRIGFuZCBkeW4gbW9kZQo+IEBAIC0zODIsMjQgKzM3NywyOCBAQCBpbnQgaW50ZWxfYXRvbWlj X3NldHVwX3NjYWxlcnMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJCQkJ aWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTAgfHwgSVNfR0VNSU5JTEFLRShkZXZfcHJpdikp Cj4gIAkJCQkJY29udGludWU7Cj4gIAo+IC0JCQkJcGxhbmUgPSBkcm1fcGxhbmVfZnJvbV9pbmRl eCgmZGV2X3ByaXYtPmRybSwgaSk7Cj4gLQkJCQlzdGF0ZSA9IGRybV9hdG9taWNfZ2V0X3BsYW5l X3N0YXRlKGRybV9zdGF0ZSwgcGxhbmUpOwo+IC0JCQkJaWYgKElTX0VSUihzdGF0ZSkpIHsKPiAt CQkJCQlEUk1fREVCVUdfS01TKCJGYWlsZWQgdG8gYWRkIFtQTEFORTolZF0gdG8gZHJtX3N0YXRl XG4iLAo+IC0JCQkJCQlwbGFuZS0+YmFzZS5pZCk7Cj4gLQkJCQkJcmV0dXJuIFBUUl9FUlIoc3Rh dGUpOwo+ICsJCQkJcGxhbmUgPSB0b19pbnRlbF9wbGFuZShkcm1fcGxhbmVfZnJvbV9pbmRleCgm ZGV2X3ByaXYtPmRybSwgaSkpOwo+ICsJCQkJcGxhbmVfc3RhdGUgPQo+ICsJCQkJCWludGVsX2F0 b21pY19nZXRfcGxhbmVfc3RhdGVfYWZ0ZXJfY2hlY2soc3RhdGUsCj4gKwkJCQkJCQkJCQkgY3J0 Y19zdGF0ZSwKPiArCQkJCQkJCQkJCSBwbGFuZSk7Cj4gKwkJCQlpZiAoSVNfRVJSKHBsYW5lX3N0 YXRlKSkgewo+ICsJCQkJCURSTV9ERUJVR19LTVMoIkZhaWxlZCB0byBhZGQgW1BMQU5FOiVkXSB0 byBkcm1fc3RhdGU6ICVsaVxuIiwKPiArCQkJCQkJcGxhbmUtPmJhc2UuYmFzZS5pZCwgUFRSX0VS UihwbGFuZV9zdGF0ZSkpOwo+ICsJCQkJCXJldHVybiBQVFJfRVJSKHBsYW5lX3N0YXRlKTsKPiAg CQkJCX0KPiArCQkJfSBlbHNlIHsKPiArCQkJCXBsYW5lID0gdG9faW50ZWxfcGxhbmUoZHJtX3N0 YXRlLT5wbGFuZXNbaV0ucHRyKTsKPiArCQkJCXBsYW5lX3N0YXRlID0gaW50ZWxfYXRvbWljX2dl dF9uZXdfcGxhbmVfc3RhdGUoc3RhdGUsCj4gKwkJCQkJCQkJCSAgICAgICBwbGFuZSk7Cj4gIAkJ CX0KPiAgCj4gLQkJCWludGVsX3BsYW5lID0gdG9faW50ZWxfcGxhbmUocGxhbmUpOwo+IC0JCQlp ZHggPSBwbGFuZS0+YmFzZS5pZDsKPiAtCj4gIAkJCS8qIHBsYW5lIG9uIGRpZmZlcmVudCBjcnRj IGNhbm5vdCBiZSBhIHNjYWxlciB1c2VyIG9mIHRoaXMgY3J0YyAqLwo+IC0JCQlpZiAoV0FSTl9P TihpbnRlbF9wbGFuZS0+cGlwZSAhPSBpbnRlbF9jcnRjLT5waXBlKSkKPiArCQkJaWYgKFdBUk5f T04ocGxhbmUtPnBpcGUgIT0gaW50ZWxfY3J0Yy0+cGlwZSkpCj4gIAkJCQljb250aW51ZTsKPiAg Cj4gLQkJCXBsYW5lX3N0YXRlID0gaW50ZWxfYXRvbWljX2dldF9uZXdfcGxhbmVfc3RhdGUoaW50 ZWxfc3RhdGUsCj4gLQkJCQkJCQkJICAgICAgIGludGVsX3BsYW5lKTsKPiArCQkJbmFtZSA9ICJQ TEFORSI7Cj4gKwkJCWlkeCA9IHBsYW5lLT5iYXNlLmJhc2UuaWQ7Cj4gIAkJCXNjYWxlcl9pZCA9 ICZwbGFuZV9zdGF0ZS0+c2NhbGVyX2lkOwo+ICAJCX0KPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljX3BsYW5lLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pY19wbGFuZS5jCj4gaW5kZXggOThiNzc2NmVh YTdhLi40ZWFhYjBkZTk4YmYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9hdG9taWNfcGxhbmUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfYXRvbWljX3BsYW5lLmMKPiBAQCAtMzY2LDYgKzM2NiwyNSBAQCB2b2lkIGk5 eHhfdXBkYXRlX3BsYW5lc19vbl9jcnRjKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRl LAo+ICAJfQo+ICB9Cj4gIAo+ICtzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKgo+ICtpbnRlbF9h dG9taWNfZ2V0X3BsYW5lX3N0YXRlX2FmdGVyX2NoZWNrKHN0cnVjdCBpbnRlbF9hdG9taWNfc3Rh dGUgKnN0YXRlLAo+ICsJCQkJCSBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqbmV3X2NydGNfc3Rh dGUsCj4gKwkJCQkJIHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUpCj4gK3sKPiArCXN0cnVjdCBp bnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUgPQo+ICsJCWludGVsX2F0b21pY19nZXRfbmV3 X3BsYW5lX3N0YXRlKHN0YXRlLCBwbGFuZSk7Cj4gKwo+ICsJaWYgKHBsYW5lX3N0YXRlKQo+ICsJ CXJldHVybiBwbGFuZV9zdGF0ZTsKPiArCj4gKwlwbGFuZV9zdGF0ZSA9IGludGVsX2F0b21pY19n ZXRfcGxhbmVfc3RhdGUoc3RhdGUsIHBsYW5lKTsKPiArCWlmIChJU19FUlIocGxhbmVfc3RhdGUp KQo+ICsJCXJldHVybiBwbGFuZV9zdGF0ZTsKPiArCj4gKwluZXdfY3J0Y19zdGF0ZS0+dXBkYXRl X3BsYW5lcyB8PSBCSVQocGxhbmUtPmlkKTsKCkkgYWxzbyBkb24ndCByZWFsbHkgbGlrZSBidXJ5 aW5nIHRoaXMgYWxsIHRoZSB3YXkgZG93bi4gU2VlbXMKcmF0aGVyIG5vbi1vYnZpb3VzIGZyb20g dGhlIGNhbGxlci4gQWxzbyBzZWVtcyB3cm9uZyB0byBub3Qgc2V0CnRoZSBmbGFnIGlmIHRoZSBw bGFuZSB3YXMgYWxyZWFkeSBwYXJ0IG9mIHRoZSBzdGF0ZS4KCkknZCBzYXkgd2UganVzdCBuZWVk IHRvIGhhbmQgcm9sbCBhZGRfYWZmZWN0ZWRfcGxhbmVzKCkgZm9yIHRoZQpjZGNsayBjb2RlLiBB bmQgdGhlcmUgaXMgc2hvdWxkIGRlZmluaXRlbHkgYmUgc3VmZmljaWVudCB0bwphZGQganVzdCB0 aGUgYWN0aXZlIHBsYW5lcy4KCj4gKwlyZXR1cm4gcGxhbmVfc3RhdGU7Cj4gK30KPiArCj4gIGNv bnN0IHN0cnVjdCBkcm1fcGxhbmVfaGVscGVyX2Z1bmNzIGludGVsX3BsYW5lX2hlbHBlcl9mdW5j cyA9IHsKPiAgCS5wcmVwYXJlX2ZiID0gaW50ZWxfcHJlcGFyZV9wbGFuZV9mYiwKPiAgCS5jbGVh bnVwX2ZiID0gaW50ZWxfY2xlYW51cF9wbGFuZV9mYiwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jZGNsay5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9jZGNsay5jCj4gaW5kZXggNDM1NjQyOTViODY0Li40MmJkMDI2MzhkMzIg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jZGNsay5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jZGNsay5jCj4gQEAg LTIyNDksNiArMjI0OSw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfbW9kZXNldF9hbGxfcGlwZXMoc3Ry dWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gIAkgKi8KPiAgCWZvcl9lYWNoX2ludGVs X2NydGMoJmRldl9wcml2LT5kcm0sIGNydGMpIHsKPiAgCQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZTsKPiArCQlzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lOwo+ICAJCWludCBy ZXQ7Cj4gIAo+ICAJCWNydGNfc3RhdGUgPSBpbnRlbF9hdG9taWNfZ2V0X2NydGNfc3RhdGUoJnN0 YXRlLT5iYXNlLCBjcnRjKTsKPiBAQCAtMjI2NiwxMiArMjI2NywxNCBAQCBzdGF0aWMgaW50IGlu dGVsX21vZGVzZXRfYWxsX3BpcGVzKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ ICAJCWlmIChyZXQpCj4gIAkJCXJldHVybiByZXQ7Cj4gIAo+IC0JCXJldCA9IGRybV9hdG9taWNf YWRkX2FmZmVjdGVkX3BsYW5lcygmc3RhdGUtPmJhc2UsCj4gLQkJCQkJCSAgICAgJmNydGMtPmJh c2UpOwo+IC0JCWlmIChyZXQpCj4gLQkJCXJldHVybiByZXQ7Cj4gLQo+IC0JCWNydGNfc3RhdGUt PnVwZGF0ZV9wbGFuZXMgfD0gY3J0Y19zdGF0ZS0+YWN0aXZlX3BsYW5lczsKPiArCQlmb3JfZWFj aF9pbnRlbF9wbGFuZV9vbl9jcnRjKCZkZXZfcHJpdi0+ZHJtLCBjcnRjLCBwbGFuZSkgewo+ICsJ CQlzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlID0KPiArCQkJCWludGVsX2F0 b21pY19nZXRfcGxhbmVfc3RhdGVfYWZ0ZXJfY2hlY2soc3RhdGUsCj4gKwkJCQkJCQkJCSBjcnRj X3N0YXRlLAo+ICsJCQkJCQkJCQkgcGxhbmUpOwo+ICsJCQlpZiAoSVNfRVJSKHBsYW5lX3N0YXRl KSkKPiArCQkJCXJldHVybiBQVFJfRVJSKHBsYW5lX3N0YXRlKTsKPiArCQl9Cj4gIAl9Cj4gIAo+ ICAJcmV0dXJuIDA7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfY29sb3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY29sb3Iu Ywo+IGluZGV4IDlhYjM0OTAyNjYzZS4uMWUzYTYyM2VhZjgyIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY29sb3IuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY29sb3IuYwo+IEBAIC0xMDc3LDExICsxMDc3LDEyIEBA IGludGVsX2NvbG9yX2FkZF9hZmZlY3RlZF9wbGFuZXMoc3RydWN0IGludGVsX2NydGNfc3RhdGUg Km5ld19jcnRjX3N0YXRlKQo+ICAJCWlmICghbmVlZF9wbGFuZV91cGRhdGUocGxhbmUsIG5ld19j cnRjX3N0YXRlKSkKPiAgCQkJY29udGludWU7Cj4gIAo+IC0JCXBsYW5lX3N0YXRlID0gaW50ZWxf YXRvbWljX2dldF9wbGFuZV9zdGF0ZShzdGF0ZSwgcGxhbmUpOwo+ICsJCXBsYW5lX3N0YXRlID0K PiArCQkJaW50ZWxfYXRvbWljX2dldF9wbGFuZV9zdGF0ZV9hZnRlcl9jaGVjayhzdGF0ZSwKPiAr CQkJCQkJCQkgbmV3X2NydGNfc3RhdGUsCj4gKwkJCQkJCQkJIHBsYW5lKTsKPiAgCQlpZiAoSVNf RVJSKHBsYW5lX3N0YXRlKSkKPiAgCQkJcmV0dXJuIFBUUl9FUlIocGxhbmVfc3RhdGUpOwo+IC0K PiAtCQluZXdfY3J0Y19zdGF0ZS0+dXBkYXRlX3BsYW5lcyB8PSBCSVQocGxhbmUtPmlkKTsKPiAg CX0KPiAgCj4gIAlyZXR1cm4gMDsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaAo+IGluZGV4IDk3NjY2OWYwMWE4Yy4uNTI2NDIzNDM3 ZjYzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlz cGxheV90eXBlcy5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9k aXNwbGF5X3R5cGVzLmgKPiBAQCAtMTU0MSw0ICsxNTQxLDEwIEBAIHN0YXRpYyBpbmxpbmUgdTMy IGludGVsX3BsYW5lX2dndHRfb2Zmc2V0KGNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAq c3RhdGUpCj4gIAlyZXR1cm4gaTkxNV9nZ3R0X29mZnNldChzdGF0ZS0+dm1hKTsKPiAgfQo+ICAK PiArLyogaW50ZWxfYXRvbWljX3BsYW5lLmMgKi8KPiArc3RydWN0IGludGVsX3BsYW5lX3N0YXRl ICoKPiAraW50ZWxfYXRvbWljX2dldF9wbGFuZV9zdGF0ZV9hZnRlcl9jaGVjayhzdHJ1Y3QgaW50 ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKPiArCQkJCQkgc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNydGNfc3RhdGUsCj4gKwkJCQkJIHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUpOwo+ICsKPiAg I2VuZGlmIC8qICBfX0lOVEVMX0RJU1BMQVlfVFlQRVNfSF9fICovCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9wbS5jCj4gaW5kZXggNTMzNThlMzNkZjFiLi41ZTZlNTRjYjIyZmUgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3BtLmMKPiBAQCAtNTI0MiwxMSArNTI0MiwxMiBAQCBza2xfZGRiX2FkZF9hZmZl Y3RlZF9wbGFuZXMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRl LAo+ICAJCQkJCSZuZXdfY3J0Y19zdGF0ZS0+d20uc2tsLnBsYW5lX2RkYl91dltwbGFuZV9pZF0p KQo+ICAJCQljb250aW51ZTsKPiAgCj4gLQkJcGxhbmVfc3RhdGUgPSBpbnRlbF9hdG9taWNfZ2V0 X3BsYW5lX3N0YXRlKHN0YXRlLCBwbGFuZSk7Cj4gKwkJcGxhbmVfc3RhdGUgPQo+ICsJCQlpbnRl bF9hdG9taWNfZ2V0X3BsYW5lX3N0YXRlX2FmdGVyX2NoZWNrKHN0YXRlLAo+ICsJCQkJCQkJCSBu ZXdfY3J0Y19zdGF0ZSwKPiArCQkJCQkJCQkgcGxhbmUpOwo+ICAJCWlmIChJU19FUlIocGxhbmVf c3RhdGUpKQo+ICAJCQlyZXR1cm4gUFRSX0VSUihwbGFuZV9zdGF0ZSk7Cj4gLQo+IC0JCW5ld19j cnRjX3N0YXRlLT51cGRhdGVfcGxhbmVzIHw9IEJJVChwbGFuZV9pZCk7Cj4gIAl9Cj4gIAo+ICAJ cmV0dXJuIDA7Cj4gQEAgLTU1MzQsMTEgKzU1MzUsMTIgQEAgc3RhdGljIGludCBza2xfd21fYWRk X2FmZmVjdGVkX3BsYW5lcyhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKPiAgCQkJ CQkmbmV3X2NydGNfc3RhdGUtPndtLnNrbC5vcHRpbWFsLnBsYW5lc1twbGFuZV9pZF0pKQo+ICAJ CQljb250aW51ZTsKPiAgCj4gLQkJcGxhbmVfc3RhdGUgPSBpbnRlbF9hdG9taWNfZ2V0X3BsYW5l X3N0YXRlKHN0YXRlLCBwbGFuZSk7Cj4gKwkJcGxhbmVfc3RhdGUgPQo+ICsJCQlpbnRlbF9hdG9t aWNfZ2V0X3BsYW5lX3N0YXRlX2FmdGVyX2NoZWNrKHN0YXRlLAo+ICsJCQkJCQkJCSBuZXdfY3J0 Y19zdGF0ZSwKPiArCQkJCQkJCQkgcGxhbmUpOwo+ICAJCWlmIChJU19FUlIocGxhbmVfc3RhdGUp KQo+ICAJCQlyZXR1cm4gUFRSX0VSUihwbGFuZV9zdGF0ZSk7Cj4gLQo+IC0JCW5ld19jcnRjX3N0 YXRlLT51cGRhdGVfcGxhbmVzIHw9IEJJVChwbGFuZV9pZCk7Cj4gIAl9Cj4gIAo+ICAJcmV0dXJu IDA7Cj4gLS0gCj4gMi4yMy4wCj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4CgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVsCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==