From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: Re: [PATCH 07/24] drm/i915: Introduce intel_atomic_get_plane_state_after_check() Date: Thu, 10 Oct 2019 13:56:42 +0200 Message-ID: <2afc2a18-8955-1a5d-058e-ee6b00857823@linux.intel.com> References: <20191004113514.17064-1-maarten.lankhorst@linux.intel.com> <20191004113514.17064-8-maarten.lankhorst@linux.intel.com> <20191008170318.GS1208@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 1B46A6EB0A for ; Thu, 10 Oct 2019 11:56:45 +0000 (UTC) In-Reply-To: <20191008170318.GS1208@intel.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T3AgMDgtMTAtMjAxOSBvbSAxOTowMyBzY2hyZWVmIFZpbGxlIFN5cmrDpGzDpDoKPiBPbiBGcmks IE9jdCAwNCwgMjAxOSBhdCAwMTozNDo1N1BNICswMjAwLCBNYWFydGVuIExhbmtob3JzdCB3cm90 ZToKPj4gVXNlIHRoaXMgaW4gYWxsIHRoZSBwbGFjZXMgd2hlcmUgd2UgdHJ5IHRvIGFjcXVpcmUg cGxhbmVzIGFmdGVyIHRoZSBwbGFuZXMKPj4gYXRvbWljX2NoZWNrKCkuCj4+Cj4+IEluIGNhc2Ug b2YgaW50ZWxfbW9kZXNldF9hbGxfcGlwZXMoKSB0aGlzIGlzIG5vdCB5ZXQgZG9uZSBhZnRlciBh dG9taWNfY2hlY2ssCj4+IGJ1dCBzZWVtcyBsaWtlIGl0IHdpbGwgYmUgaW4gdGhlIGZ1dHVyZS4g VG8gYWRkIHNvbWUgcGFyYW5vaWEsIGFkZCBhbGwgcGxhbmVzCj4+IHJhdGhlciB0aGFuIGFjdGl2 ZSBwbGFuZXMsIGJlY2F1c2Ugb2YgYmlnam9pbmVyIGFuZCBwbGFuYXIgWVVWIHN1cHBvcnQgaGF2 aW5nCj4+IGV4dHJhIHBsYW5lcyBvdXRzaWRlIG9mIHRoZSBjb3JlJ3MgdmlldyB0aGF0IHdvdWxk bid0IGJlIGFkZGVkIG90aGVyd2lzZS4KPiBJZiB0aGUgcGxhbmUgaXNuJ3QgYWN0aXZlIHdoYXQg Z29vZCBkb2VzIGFkZGluZyBpdCBkbz8KPgo+IE1heWJlIHRoZSBvbmx5IHJlYWwgZXhjZXB0aW9u IEkgY2FuIHRoaW5rIG9mIGlzIHRoZSB3YXRlcm1hcmtzCj4gYW5kIHRoZSBwcmltYXJ5IHZzLiBn YW1tYS9jc2NfZW5hYmxlIG9uIHByZS1za2wsIGJ1dCB0aG9zZSBhcmUKPiBhbHJlYWR5IGhhbmRs ZWQgY29ycmVjdGx5LgoKUGxhbmFyIFlVViBZIHBsYW5lcyBhcmUgbm90IGVudW1lcmF0ZWQsIHNv IGl0J3MgdXNlZnVsIHRvIGFkZC4gSW5zdGVhZCBvZgp0eXBpbmcgdXAgc3BlY2lhbCBjYXNlIHN1 cHBvcnQgSSB0aG91Z2h0IGl0IHdhcyBlYXNpZXIgdG8ganVzdCBhZGQgYWxsCnBsYW5lcy4gT24g Ymlnam9pbmVyIHNsYXZlIG5vIHBsYW5lcyBhcmUgZW5hYmxlZCBlaXRoZXIsIGV2ZW4gaWYgdGhl eSdyZQphY3RpdmUuCgo+Cj4+IFNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFy dGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cj4+IC0tLQo+PiAgZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9hdG9taWMuYyAgIHwgNDEgKysrKysrKysrLS0tLS0tLS0tLQo+ PiAgLi4uL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pY19wbGFuZS5jIHwgMTkgKysr KysrKysrCj4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2NkY2xrLmMgICAg fCAxNSArKysrLS0tCj4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2NvbG9y LmMgICAgfCAgNyArKy0tCj4+ICAuLi4vZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5 cGVzLmggICAgfCAgNiArKysKPj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgICAg ICAgICAgICAgICB8IDE0ICsrKystLS0KPj4gIDYgZmlsZXMgY2hhbmdlZCwgNjYgaW5zZXJ0aW9u cygrKSwgMzYgZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9hdG9taWMuYwo+PiBpbmRleCBjNWE1NTJhNjk3NTIuLmU2Y2I4NWQ0MWM4ZCAxMDA2 NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdG9taWMuYwo+ PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5jCj4+IEBA IC0zMTMsMTMgKzMxMywxMCBAQCBpbnQgaW50ZWxfYXRvbWljX3NldHVwX3NjYWxlcnMoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+PiAgCQkJICAgICAgIHN0cnVjdCBpbnRlbF9j cnRjICppbnRlbF9jcnRjLAo+PiAgCQkJICAgICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlKQo+PiAgewo+PiAtCXN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lID0gTlVMTDsKPj4g LQlzdHJ1Y3QgaW50ZWxfcGxhbmUgKmludGVsX3BsYW5lOwo+PiAtCXN0cnVjdCBpbnRlbF9wbGFu ZV9zdGF0ZSAqcGxhbmVfc3RhdGUgPSBOVUxMOwo+PiAgCXN0cnVjdCBpbnRlbF9jcnRjX3NjYWxl cl9zdGF0ZSAqc2NhbGVyX3N0YXRlID0KPj4gIAkJJmNydGNfc3RhdGUtPnNjYWxlcl9zdGF0ZTsK Pj4gIAlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqZHJtX3N0YXRlID0gY3J0Y19zdGF0ZS0+YmFz ZS5zdGF0ZTsKPj4gLQlzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICppbnRlbF9zdGF0ZSA9IHRv X2ludGVsX2F0b21pY19zdGF0ZShkcm1fc3RhdGUpOwo+PiArCXN0cnVjdCBpbnRlbF9hdG9taWNf c3RhdGUgKnN0YXRlID0gdG9faW50ZWxfYXRvbWljX3N0YXRlKGRybV9zdGF0ZSk7Cj4+ICAJaW50 IG51bV9zY2FsZXJzX25lZWQ7Cj4+ICAJaW50IGk7Cj4+ICAKPj4gQEAgLTM0Niw2ICszNDMsNyBA QCBpbnQgaW50ZWxfYXRvbWljX3NldHVwX3NjYWxlcnMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAo+PiAgCj4+ICAJLyogd2Fsa3Rocm91Z2ggc2NhbGVyX3VzZXJzIGJpdHMgYW5k IHN0YXJ0IGFzc2lnbmluZyBzY2FsZXJzICovCj4+ICAJZm9yIChpID0gMDsgaSA8IHNpemVvZihz Y2FsZXJfc3RhdGUtPnNjYWxlcl91c2VycykgKiA4OyBpKyspIHsKPj4gKwkJc3RydWN0IGludGVs X3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSA9IE5VTEw7Cj4+ICAJCWludCAqc2NhbGVyX2lkOwo+ PiAgCQljb25zdCBjaGFyICpuYW1lOwo+PiAgCQlpbnQgaWR4Owo+PiBAQCAtMzYxLDE5ICszNTks MTYgQEAgaW50IGludGVsX2F0b21pY19zZXR1cF9zY2FsZXJzKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwKPj4gIAkJCS8qIHBhbmVsIGZpdHRlciBjYXNlOiBhc3NpZ24gYXMgYSBj cnRjIHNjYWxlciAqLwo+PiAgCQkJc2NhbGVyX2lkID0gJnNjYWxlcl9zdGF0ZS0+c2NhbGVyX2lk Owo+PiAgCQl9IGVsc2Ugewo+PiAtCQkJbmFtZSA9ICJQTEFORSI7Cj4+ICsJCQlzdHJ1Y3QgaW50 ZWxfcGxhbmUgKnBsYW5lOwo+PiAgCj4+ICAJCQkvKiBwbGFuZSBzY2FsZXIgY2FzZTogYXNzaWdu IGFzIGEgcGxhbmUgc2NhbGVyICovCj4+ICAJCQkvKiBmaW5kIHRoZSBwbGFuZSB0aGF0IHNldCB0 aGUgYml0IGFzIHNjYWxlcl91c2VyICovCj4+IC0JCQlwbGFuZSA9IGRybV9zdGF0ZS0+cGxhbmVz W2ldLnB0cjsKPj4gIAo+PiAgCQkJLyoKPj4gIAkJCSAqIHRvIGVuYWJsZS9kaXNhYmxlIGhxIG1v ZGUsIGFkZCBwbGFuZXMgdGhhdCBhcmUgdXNpbmcgc2NhbGVyCj4+ICAJCQkgKiBpbnRvIHRoaXMg dHJhbnNhY3Rpb24KPj4gIAkJCSAqLwo+PiAtCQkJaWYgKCFwbGFuZSkgewo+PiAtCQkJCXN0cnVj dCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlOwo+PiAtCj4+ICsJCQlpZiAoIWRybV9zdGF0ZS0+cGxh bmVzW2ldLnB0cikgewo+PiAgCQkJCS8qCj4+ICAJCQkJICogR0xLKyBzY2FsZXJzIGRvbid0IGhh dmUgYSBIUSBtb2RlIHNvIGl0Cj4+ICAJCQkJICogaXNuJ3QgbmVjZXNzYXJ5IHRvIGNoYW5nZSBi ZXR3ZWVuIEhRIGFuZCBkeW4gbW9kZQo+PiBAQCAtMzgyLDI0ICszNzcsMjggQEAgaW50IGludGVs X2F0b21pY19zZXR1cF9zY2FsZXJzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwK Pj4gIAkJCQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMCB8fCBJU19HRU1JTklMQUtFKGRl dl9wcml2KSkKPj4gIAkJCQkJY29udGludWU7Cj4+ICAKPj4gLQkJCQlwbGFuZSA9IGRybV9wbGFu ZV9mcm9tX2luZGV4KCZkZXZfcHJpdi0+ZHJtLCBpKTsKPj4gLQkJCQlzdGF0ZSA9IGRybV9hdG9t aWNfZ2V0X3BsYW5lX3N0YXRlKGRybV9zdGF0ZSwgcGxhbmUpOwo+PiAtCQkJCWlmIChJU19FUlIo c3RhdGUpKSB7Cj4+IC0JCQkJCURSTV9ERUJVR19LTVMoIkZhaWxlZCB0byBhZGQgW1BMQU5FOiVk XSB0byBkcm1fc3RhdGVcbiIsCj4+IC0JCQkJCQlwbGFuZS0+YmFzZS5pZCk7Cj4+IC0JCQkJCXJl dHVybiBQVFJfRVJSKHN0YXRlKTsKPj4gKwkJCQlwbGFuZSA9IHRvX2ludGVsX3BsYW5lKGRybV9w bGFuZV9mcm9tX2luZGV4KCZkZXZfcHJpdi0+ZHJtLCBpKSk7Cj4+ICsJCQkJcGxhbmVfc3RhdGUg PQo+PiArCQkJCQlpbnRlbF9hdG9taWNfZ2V0X3BsYW5lX3N0YXRlX2FmdGVyX2NoZWNrKHN0YXRl LAo+PiArCQkJCQkJCQkJCSBjcnRjX3N0YXRlLAo+PiArCQkJCQkJCQkJCSBwbGFuZSk7Cj4+ICsJ CQkJaWYgKElTX0VSUihwbGFuZV9zdGF0ZSkpIHsKPj4gKwkJCQkJRFJNX0RFQlVHX0tNUygiRmFp bGVkIHRvIGFkZCBbUExBTkU6JWRdIHRvIGRybV9zdGF0ZTogJWxpXG4iLAo+PiArCQkJCQkJcGxh bmUtPmJhc2UuYmFzZS5pZCwgUFRSX0VSUihwbGFuZV9zdGF0ZSkpOwo+PiArCQkJCQlyZXR1cm4g UFRSX0VSUihwbGFuZV9zdGF0ZSk7Cj4+ICAJCQkJfQo+PiArCQkJfSBlbHNlIHsKPj4gKwkJCQlw bGFuZSA9IHRvX2ludGVsX3BsYW5lKGRybV9zdGF0ZS0+cGxhbmVzW2ldLnB0cik7Cj4+ICsJCQkJ cGxhbmVfc3RhdGUgPSBpbnRlbF9hdG9taWNfZ2V0X25ld19wbGFuZV9zdGF0ZShzdGF0ZSwKPj4g KwkJCQkJCQkJCSAgICAgICBwbGFuZSk7Cj4+ICAJCQl9Cj4+ICAKPj4gLQkJCWludGVsX3BsYW5l ID0gdG9faW50ZWxfcGxhbmUocGxhbmUpOwo+PiAtCQkJaWR4ID0gcGxhbmUtPmJhc2UuaWQ7Cj4+ IC0KPj4gIAkJCS8qIHBsYW5lIG9uIGRpZmZlcmVudCBjcnRjIGNhbm5vdCBiZSBhIHNjYWxlciB1 c2VyIG9mIHRoaXMgY3J0YyAqLwo+PiAtCQkJaWYgKFdBUk5fT04oaW50ZWxfcGxhbmUtPnBpcGUg IT0gaW50ZWxfY3J0Yy0+cGlwZSkpCj4+ICsJCQlpZiAoV0FSTl9PTihwbGFuZS0+cGlwZSAhPSBp bnRlbF9jcnRjLT5waXBlKSkKPj4gIAkJCQljb250aW51ZTsKPj4gIAo+PiAtCQkJcGxhbmVfc3Rh dGUgPSBpbnRlbF9hdG9taWNfZ2V0X25ld19wbGFuZV9zdGF0ZShpbnRlbF9zdGF0ZSwKPj4gLQkJ CQkJCQkJICAgICAgIGludGVsX3BsYW5lKTsKPj4gKwkJCW5hbWUgPSAiUExBTkUiOwo+PiArCQkJ aWR4ID0gcGxhbmUtPmJhc2UuYmFzZS5pZDsKPj4gIAkJCXNjYWxlcl9pZCA9ICZwbGFuZV9zdGF0 ZS0+c2NhbGVyX2lkOwo+PiAgCQl9Cj4+ICAKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljX3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2F0b21pY19wbGFuZS5jCj4+IGluZGV4IDk4Yjc3NjZlYWE3YS4uNGVh YWIwZGU5OGJmIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX2F0b21pY19wbGFuZS5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfYXRvbWljX3BsYW5lLmMKPj4gQEAgLTM2Niw2ICszNjYsMjUgQEAgdm9pZCBpOXh4X3Vw ZGF0ZV9wbGFuZXNfb25fY3J0YyhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKPj4g IAl9Cj4+ICB9Cj4+ICAKPj4gK3N0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqCj4+ICtpbnRlbF9h dG9taWNfZ2V0X3BsYW5lX3N0YXRlX2FmdGVyX2NoZWNrKHN0cnVjdCBpbnRlbF9hdG9taWNfc3Rh dGUgKnN0YXRlLAo+PiArCQkJCQkgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm5ld19jcnRjX3N0 YXRlLAo+PiArCQkJCQkgc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSkKPj4gK3sKPj4gKwlzdHJ1 Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlID0KPj4gKwkJaW50ZWxfYXRvbWljX2dl dF9uZXdfcGxhbmVfc3RhdGUoc3RhdGUsIHBsYW5lKTsKPj4gKwo+PiArCWlmIChwbGFuZV9zdGF0 ZSkKPj4gKwkJcmV0dXJuIHBsYW5lX3N0YXRlOwo+PiArCj4+ICsJcGxhbmVfc3RhdGUgPSBpbnRl bF9hdG9taWNfZ2V0X3BsYW5lX3N0YXRlKHN0YXRlLCBwbGFuZSk7Cj4+ICsJaWYgKElTX0VSUihw bGFuZV9zdGF0ZSkpCj4+ICsJCXJldHVybiBwbGFuZV9zdGF0ZTsKPj4gKwo+PiArCW5ld19jcnRj X3N0YXRlLT51cGRhdGVfcGxhbmVzIHw9IEJJVChwbGFuZS0+aWQpOwo+IEkgYWxzbyBkb24ndCBy ZWFsbHkgbGlrZSBidXJ5aW5nIHRoaXMgYWxsIHRoZSB3YXkgZG93bi4gU2VlbXMKPiByYXRoZXIg bm9uLW9idmlvdXMgZnJvbSB0aGUgY2FsbGVyLiBBbHNvIHNlZW1zIHdyb25nIHRvIG5vdCBzZXQK PiB0aGUgZmxhZyBpZiB0aGUgcGxhbmUgd2FzIGFscmVhZHkgcGFydCBvZiB0aGUgc3RhdGUuCj4K PiBJJ2Qgc2F5IHdlIGp1c3QgbmVlZCB0byBoYW5kIHJvbGwgYWRkX2FmZmVjdGVkX3BsYW5lcygp IGZvciB0aGUKPiBjZGNsayBjb2RlLiBBbmQgdGhlcmUgaXMgc2hvdWxkIGRlZmluaXRlbHkgYmUg c3VmZmljaWVudCB0bwo+IGFkZCBqdXN0IHRoZSBhY3RpdmUgcGxhbmVzLgo+Cj4+ICsJcmV0dXJu IHBsYW5lX3N0YXRlOwo+PiArfQo+PiArCj4+ICBjb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX2hlbHBl cl9mdW5jcyBpbnRlbF9wbGFuZV9oZWxwZXJfZnVuY3MgPSB7Cj4+ICAJLnByZXBhcmVfZmIgPSBp bnRlbF9wcmVwYXJlX3BsYW5lX2ZiLAo+PiAgCS5jbGVhbnVwX2ZiID0gaW50ZWxfY2xlYW51cF9w bGFuZV9mYiwKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfY2RjbGsuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY2RjbGsuYwo+ PiBpbmRleCA0MzU2NDI5NWI4NjQuLjQyYmQwMjYzOGQzMiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jZGNsay5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY2RjbGsuYwo+PiBAQCAtMjI0OSw2ICsyMjQ5LDcgQEAg c3RhdGljIGludCBpbnRlbF9tb2Rlc2V0X2FsbF9waXBlcyhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0 YXRlICpzdGF0ZSkKPj4gIAkgKi8KPj4gIAlmb3JfZWFjaF9pbnRlbF9jcnRjKCZkZXZfcHJpdi0+ ZHJtLCBjcnRjKSB7Cj4+ICAJCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlOwo+ PiArCQlzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lOwo+PiAgCQlpbnQgcmV0Owo+PiAgCj4+ICAJ CWNydGNfc3RhdGUgPSBpbnRlbF9hdG9taWNfZ2V0X2NydGNfc3RhdGUoJnN0YXRlLT5iYXNlLCBj cnRjKTsKPj4gQEAgLTIyNjYsMTIgKzIyNjcsMTQgQEAgc3RhdGljIGludCBpbnRlbF9tb2Rlc2V0 X2FsbF9waXBlcyhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSkKPj4gIAkJaWYgKHJl dCkKPj4gIAkJCXJldHVybiByZXQ7Cj4+ICAKPj4gLQkJcmV0ID0gZHJtX2F0b21pY19hZGRfYWZm ZWN0ZWRfcGxhbmVzKCZzdGF0ZS0+YmFzZSwKPj4gLQkJCQkJCSAgICAgJmNydGMtPmJhc2UpOwo+ PiAtCQlpZiAocmV0KQo+PiAtCQkJcmV0dXJuIHJldDsKPj4gLQo+PiAtCQljcnRjX3N0YXRlLT51 cGRhdGVfcGxhbmVzIHw9IGNydGNfc3RhdGUtPmFjdGl2ZV9wbGFuZXM7Cj4+ICsJCWZvcl9lYWNo X2ludGVsX3BsYW5lX29uX2NydGMoJmRldl9wcml2LT5kcm0sIGNydGMsIHBsYW5lKSB7Cj4+ICsJ CQlzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlID0KPj4gKwkJCQlpbnRlbF9h dG9taWNfZ2V0X3BsYW5lX3N0YXRlX2FmdGVyX2NoZWNrKHN0YXRlLAo+PiArCQkJCQkJCQkJIGNy dGNfc3RhdGUsCj4+ICsJCQkJCQkJCQkgcGxhbmUpOwo+PiArCQkJaWYgKElTX0VSUihwbGFuZV9z dGF0ZSkpCj4+ICsJCQkJcmV0dXJuIFBUUl9FUlIocGxhbmVfc3RhdGUpOwo+PiArCQl9Cj4+ICAJ fQo+PiAgCj4+ICAJcmV0dXJuIDA7Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2NvbG9yLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX2NvbG9yLmMKPj4gaW5kZXggOWFiMzQ5MDI2NjNlLi4xZTNhNjIzZWFmODIgMTAwNjQ0Cj4+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY29sb3IuYwo+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2NvbG9yLmMKPj4gQEAgLTEwNzcs MTEgKzEwNzcsMTIgQEAgaW50ZWxfY29sb3JfYWRkX2FmZmVjdGVkX3BsYW5lcyhzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqbmV3X2NydGNfc3RhdGUpCj4+ICAJCWlmICghbmVlZF9wbGFuZV91cGRh dGUocGxhbmUsIG5ld19jcnRjX3N0YXRlKSkKPj4gIAkJCWNvbnRpbnVlOwo+PiAgCj4+IC0JCXBs YW5lX3N0YXRlID0gaW50ZWxfYXRvbWljX2dldF9wbGFuZV9zdGF0ZShzdGF0ZSwgcGxhbmUpOwo+ PiArCQlwbGFuZV9zdGF0ZSA9Cj4+ICsJCQlpbnRlbF9hdG9taWNfZ2V0X3BsYW5lX3N0YXRlX2Fm dGVyX2NoZWNrKHN0YXRlLAo+PiArCQkJCQkJCQkgbmV3X2NydGNfc3RhdGUsCj4+ICsJCQkJCQkJ CSBwbGFuZSk7Cj4+ICAJCWlmIChJU19FUlIocGxhbmVfc3RhdGUpKQo+PiAgCQkJcmV0dXJuIFBU Ul9FUlIocGxhbmVfc3RhdGUpOwo+PiAtCj4+IC0JCW5ld19jcnRjX3N0YXRlLT51cGRhdGVfcGxh bmVzIHw9IEJJVChwbGFuZS0+aWQpOwo+PiAgCX0KPj4gIAo+PiAgCXJldHVybiAwOwo+PiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVz LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaAo+ PiBpbmRleCA5NzY2NjlmMDFhOGMuLjUyNjQyMzQzN2Y2MyAxMDA2NDQKPj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmgKPj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmgKPj4gQEAgLTE1 NDEsNCArMTU0MSwxMCBAQCBzdGF0aWMgaW5saW5lIHUzMiBpbnRlbF9wbGFuZV9nZ3R0X29mZnNl dChjb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnN0YXRlKQo+PiAgCXJldHVybiBpOTE1 X2dndHRfb2Zmc2V0KHN0YXRlLT52bWEpOwo+PiAgfQo+PiAgCj4+ICsvKiBpbnRlbF9hdG9taWNf cGxhbmUuYyAqLwo+PiArc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICoKPj4gK2ludGVsX2F0b21p Y19nZXRfcGxhbmVfc3RhdGVfYWZ0ZXJfY2hlY2soc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAq c3RhdGUsCj4+ICsJCQkJCSBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPj4g KwkJCQkJIHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUpOwo+PiArCj4+ICAjZW5kaWYgLyogIF9f SU5URUxfRElTUExBWV9UWVBFU19IX18gKi8KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3BtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4+IGlu ZGV4IDUzMzU4ZTMzZGYxYi4uNWU2ZTU0Y2IyMmZlIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3BtLmMKPj4gQEAgLTUyNDIsMTEgKzUyNDIsMTIgQEAgc2tsX2RkYl9hZGRfYWZmZWN0ZWRfcGxh bmVzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwKPj4gIAkJ CQkJJm5ld19jcnRjX3N0YXRlLT53bS5za2wucGxhbmVfZGRiX3V2W3BsYW5lX2lkXSkpCj4+ICAJ CQljb250aW51ZTsKPj4gIAo+PiAtCQlwbGFuZV9zdGF0ZSA9IGludGVsX2F0b21pY19nZXRfcGxh bmVfc3RhdGUoc3RhdGUsIHBsYW5lKTsKPj4gKwkJcGxhbmVfc3RhdGUgPQo+PiArCQkJaW50ZWxf YXRvbWljX2dldF9wbGFuZV9zdGF0ZV9hZnRlcl9jaGVjayhzdGF0ZSwKPj4gKwkJCQkJCQkJIG5l d19jcnRjX3N0YXRlLAo+PiArCQkJCQkJCQkgcGxhbmUpOwo+PiAgCQlpZiAoSVNfRVJSKHBsYW5l X3N0YXRlKSkKPj4gIAkJCXJldHVybiBQVFJfRVJSKHBsYW5lX3N0YXRlKTsKPj4gLQo+PiAtCQlu ZXdfY3J0Y19zdGF0ZS0+dXBkYXRlX3BsYW5lcyB8PSBCSVQocGxhbmVfaWQpOwo+PiAgCX0KPj4g IAo+PiAgCXJldHVybiAwOwo+PiBAQCAtNTUzNCwxMSArNTUzNSwxMiBAQCBzdGF0aWMgaW50IHNr bF93bV9hZGRfYWZmZWN0ZWRfcGxhbmVzKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRl LAo+PiAgCQkJCQkmbmV3X2NydGNfc3RhdGUtPndtLnNrbC5vcHRpbWFsLnBsYW5lc1twbGFuZV9p ZF0pKQo+PiAgCQkJY29udGludWU7Cj4+ICAKPj4gLQkJcGxhbmVfc3RhdGUgPSBpbnRlbF9hdG9t aWNfZ2V0X3BsYW5lX3N0YXRlKHN0YXRlLCBwbGFuZSk7Cj4+ICsJCXBsYW5lX3N0YXRlID0KPj4g KwkJCWludGVsX2F0b21pY19nZXRfcGxhbmVfc3RhdGVfYWZ0ZXJfY2hlY2soc3RhdGUsCj4+ICsJ CQkJCQkJCSBuZXdfY3J0Y19zdGF0ZSwKPj4gKwkJCQkJCQkJIHBsYW5lKTsKPj4gIAkJaWYgKElT X0VSUihwbGFuZV9zdGF0ZSkpCj4+ICAJCQlyZXR1cm4gUFRSX0VSUihwbGFuZV9zdGF0ZSk7Cj4+ IC0KPj4gLQkJbmV3X2NydGNfc3RhdGUtPnVwZGF0ZV9wbGFuZXMgfD0gQklUKHBsYW5lX2lkKTsK Pj4gIAl9Cj4+ICAKPj4gIAlyZXR1cm4gMDsKPj4gLS0gCj4+IDIuMjMuMAo+Pgo+PiBfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+PiBJbnRlbC1nZnggbWFp bGluZyBsaXN0Cj4+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPj4gaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=