From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: Re: [PATCH 1/3] drm/i915: Convert intel_tv connector properties to atomic, v2. Date: Mon, 13 Mar 2017 17:35:42 +0100 Message-ID: <556cd49e-27de-fb13-9b08-6aa7d23d89b8@linux.intel.com> References: <1489064777-5460-1-git-send-email-maarten.lankhorst@linux.intel.com> <1489064777-5460-2-git-send-email-maarten.lankhorst@linux.intel.com> <20170309173602.GU31595@intel.com> <20170313092905.GZ31595@intel.com> <20170313105531.GH31595@intel.com> <55c80a55-c155-afa8-f244-20d1c4775231@linux.intel.com> <20170313162218.GK31595@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 27EDF6E571 for ; Mon, 13 Mar 2017 16:35:45 +0000 (UTC) In-Reply-To: <20170313162218.GK31595@intel.com> 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 T3AgMTMtMDMtMTcgb20gMTc6MjIgc2NocmVlZiBWaWxsZSBTeXJqw6Rsw6Q6Cj4gT24gTW9uLCBN YXIgMTMsIDIwMTcgYXQgMDU6MTA6MjhQTSArMDEwMCwgTWFhcnRlbiBMYW5raG9yc3Qgd3JvdGU6 Cj4+IEFzIGEgcHJvb2Ygb2YgY29uY2VwdCwgZmlyc3QgdHJ5IHRvIGNvbnZlcnQgaW50ZWxfdHYs IHdoaWNoIGlzIGEgcmFyZWx5Cj4+IHVzZWQgY29ubmVjdG9yLiBJdCBoYXMgNSBwcm9wZXJ0aWVz LCB0diBmb3JtYXQgYW5kIDQgbWFyZ2lucy4KPj4KPj4gSSdtIGxlc3MgY2VydGFpbiBhYm91dCB0 aGUgc3RhdGUgYmVoYXZpb3IgaXRzZWxmLCBzaG91bGQgd2UgcGFzcyBhIHNpemUKPj4gcGFyYW1l dGVyIHRvIGludGVsX2Nvbm5lY3Rvcl9hbGxvYyBpbnN0ZWFkLCBzbyBkdXBsaWNhdGVfc3RhdGUK Pj4gY2FuIGJlIGRvbmUgZ2xvYmFsbHkgaWYgaXQgY2FuIGJlIGJsaW5kbHkgY29waWVkPwo+Pgo+ PiBDYW4gd2UgYWxzbyBoYXZlIGEgYXRvbWljX2NoZWNrIGZ1bmN0aW9uIGZvciBjb25uZWN0b3Jz LCBzbyB0aGUKPj4gY3J0Y19zdGF0ZS0+Y29ubmVjdG9yc19jaGFuZ2VkIGNhbiBiZSBzZXQgdGhl cmU/IEl0IHdvdWxkIGJlIGNsZWFuZXIKPj4gYW5kIG1vcmUgYXRvbWljLWxpa2UuCj4+Cj4+IFRv IG1hdGNoIHRoZSBsZWdhY3kgYmVoYXZpb3IsIGZvcm1hdCBjYW4gYmUgY2hhbmdlZCBieSBwcm9i aW5nIGp1c3QgbGlrZQo+PiBpbiBsZWdhY3kgbW9kZS4KPj4KPj4gQ2hhbmdlcyBzaW5jZSB2MToK Pj4gLSBBZGQgaW50ZWxfZW5jb2Rlci0+c3dhcF9zdGF0ZSB0byBhbGxvdyB1cGRhdGluZyBjb25u ZWN0b3Igc3RhdGUuCj4+IC0gQWRkIGludGVsX3R2LT5mb3JtYXQgZm9yIGRldGVjdF9tb2RlIGFu ZCBtb2RlX3ZhbGlkLCB1cGRhdGVkIG9uIGF0b21pYyBjb21taXQuCj4+Cj4+IFNpZ25lZC1vZmYt Ynk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+ Cj4+IC0tLQo+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgIDE1ICsr Cj4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAgIDQgKwo+PiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdHYuYyAgICAgIHwgMjU5ICsrKysrKysrKysrKysrKysr KysrKy0tLS0tLS0tLS0tLS0tCj4+ICAzIGZpbGVzIGNoYW5nZWQsIDE3NiBpbnNlcnRpb25zKCsp LCAxMDIgZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMK Pj4gaW5kZXggYWMyNWM5YmM4YjgxLi4xOGI3ZTc1NDZlZTEgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMKPj4gQEAgLTEyOTU0LDYgKzEyOTU0LDIwIEBAIHN0YXRpYyB2 b2lkIGludGVsX2F0b21pY190cmFja19mYnMoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRl KQo+PiAgCQkJCSAgdG9faW50ZWxfcGxhbmUocGxhbmUpLT5mcm9udGJ1ZmZlcl9iaXQpOwo+PiAg fQo+PiAgCj4+ICtzdGF0aWMgdm9pZCBzd2FwX2Nvbm5lY3Rvcl9zdGF0ZShzdHJ1Y3QgZHJtX2F0 b21pY19zdGF0ZSAqc3RhdGUpCj4+ICt7Cj4+ICsJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvcjsKPj4gKwlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqbmV3X2Nvbm5fc3RhdGU7Cj4+ ICsJaW50IGk7Cj4+ICsKPj4gKwlmb3JfZWFjaF9uZXdfY29ubmVjdG9yX2luX3N0YXRlKHN0YXRl LCBjb25uZWN0b3IsIG5ld19jb25uX3N0YXRlLCBpKSB7Cj4+ICsJCXN0cnVjdCBpbnRlbF9jb25u ZWN0b3IgKmNvbm4gPSB0b19pbnRlbF9jb25uZWN0b3IoY29ubmVjdG9yKTsKPj4gKwo+PiArCQlp ZiAoY29ubi0+c3dhcF9zdGF0ZSkKPj4gKwkJCWNvbm4tPnN3YXBfc3RhdGUoY29ubiwgbmV3X2Nv bm5fc3RhdGUpOwo+PiArCX0KPj4gK30KPj4gKwo+PiAgLyoqCj4+ICAgKiBpbnRlbF9hdG9taWNf Y29tbWl0IC0gY29tbWl0IHZhbGlkYXRlZCBzdGF0ZSBvYmplY3QKPj4gICAqIEBkZXY6IERSTSBk ZXZpY2UKPj4gQEAgLTEzMDEyLDYgKzEzMDI2LDcgQEAgc3RhdGljIGludCBpbnRlbF9hdG9taWNf Y29tbWl0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4+ICAJCWRldl9wcml2LT5jZGNsay5sb2dp Y2FsID0gaW50ZWxfc3RhdGUtPmNkY2xrLmxvZ2ljYWw7Cj4+ICAJCWRldl9wcml2LT5jZGNsay5h Y3R1YWwgPSBpbnRlbF9zdGF0ZS0+Y2RjbGsuYWN0dWFsOwo+PiAgCX0KPj4gKwlzd2FwX2Nvbm5l Y3Rvcl9zdGF0ZShzdGF0ZSk7Cj4+ICAKPj4gIAlkcm1fYXRvbWljX3N0YXRlX2dldChzdGF0ZSk7 Cj4+ICAJSU5JVF9XT1JLKCZzdGF0ZS0+Y29tbWl0X3dvcmssCj4+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rydi5oCj4+IGluZGV4IDkzNzYyM2ZmNmQ3Yy4uYjdiOTM3OTlkMjg4IDEwMDY0NAo+PiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+PiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaAo+PiBAQCAtMzA3LDYgKzMwNywxMCBAQCBzdHJ1Y3QgaW50ZWxf Y29ubmVjdG9yIHsKPj4gIAkgKiBhbmQgYWN0aXZlIChpLmUuIGRwbXMgT04gc3RhdGUpLiAqLwo+ PiAgCWJvb2wgKCpnZXRfaHdfc3RhdGUpKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKik7Cj4+ICAK Pj4gKwkvKiBVcGRhdGUgZGV2aWNlIHN0YXRlIHdpdGggdGhlIG5ldyBhdG9taWMgc3RhdGUuICov Cj4+ICsJdm9pZCAoKnN3YXBfc3RhdGUpKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKiwKPj4gKwkJ CSAgICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKik7Cj4+ICsKPj4gIAkvKiBQYW5lbCBp bmZvIGZvciBlRFAgYW5kIExWRFMgKi8KPj4gIAlzdHJ1Y3QgaW50ZWxfcGFuZWwgcGFuZWw7Cj4+ ICAKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3R2LmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF90di5jCj4+IGluZGV4IDZlZDFhM2NlNDdiNy4uYjg3ZDUx ZTYxOTc1IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF90di5jCj4+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3R2LmMKPj4gQEAgLTQ4LDggKzQ4LDYg QEAgc3RydWN0IGludGVsX3R2IHsKPj4gIAlzdHJ1Y3QgaW50ZWxfZW5jb2RlciBiYXNlOwo+PiAg Cj4+ICAJaW50IHR5cGU7Cj4+IC0JY29uc3QgY2hhciAqdHZfZm9ybWF0Owo+PiAtCWludCBtYXJn aW5bNF07Cj4+ICAJdTMyIHNhdmVfVFZfSF9DVExfMTsKPj4gIAl1MzIgc2F2ZV9UVl9IX0NUTF8y Owo+PiAgCXUzMiBzYXZlX1RWX0hfQ1RMXzM7Cj4+IEBAIC04Myw4ICs4MSwyMCBAQCBzdHJ1Y3Qg aW50ZWxfdHYgewo+PiAgCj4+ICAJdTMyIHNhdmVfVFZfREFDOwo+PiAgCXUzMiBzYXZlX1RWX0NU TDsKPj4gKwo+PiArCWludCBmb3JtYXQ7Cj4+ICt9Owo+PiArCj4+ICtzdHJ1Y3QgaW50ZWxfdHZf Y29ubmVjdG9yX3N0YXRlIHsKPj4gKwlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSBiYXNlOwo+ PiArCj4+ICsJaW50IGZvcm1hdDsKPj4gKwlpbnQgbWFyZ2luWzRdOwo+PiAgfTsKPj4gIAo+PiAr I2RlZmluZSB0b19pbnRlbF90dl9jb25uZWN0b3Jfc3RhdGUoc3RhdGUpIFwKPj4gKwljb250YWlu ZXJfb2YoKHN0YXRlKSwgc3RydWN0IGludGVsX3R2X2Nvbm5lY3Rvcl9zdGF0ZSwgYmFzZSkKPj4g Kwo+PiAgc3RydWN0IHZpZGVvX2xldmVscyB7Cj4+ICAJdTE2IGJsYW5rLCBibGFjazsKPj4gIAl1 OCBidXJzdDsKPj4gQEAgLTg0OCw2ICs4NTgsMTcgQEAgaW50ZWxfdHZfZ2V0X2h3X3N0YXRlKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLCBlbnVtIHBpcGUgKnBpcGUpCj4+ICB9Cj4+ICAK Pj4gIHN0YXRpYyB2b2lkCj4+ICtpbnRlbF90dl9zd2FwX3N0YXRlKHN0cnVjdCBpbnRlbF9jb25u ZWN0b3IgKmNvbm5lY3RvciwKPj4gKwkJICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpj b25uX3N0YXRlKQo+PiArewo+PiArCXN0cnVjdCBpbnRlbF90diAqaW50ZWxfdHYgPSBpbnRlbF9h dHRhY2hlZF90digmY29ubmVjdG9yLT5iYXNlKTsKPj4gKwlzdHJ1Y3QgaW50ZWxfdHZfY29ubmVj dG9yX3N0YXRlICp0dl9zdGF0ZSA9Cj4+ICsJCXRvX2ludGVsX3R2X2Nvbm5lY3Rvcl9zdGF0ZShj b25uX3N0YXRlKTsKPj4gKwo+PiArCWludGVsX3R2LT5mb3JtYXQgPSB0dl9zdGF0ZS0+Zm9ybWF0 Owo+PiArfQo+PiArCj4+ICtzdGF0aWMgdm9pZAo+PiAgaW50ZWxfZW5hYmxlX3R2KHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyLAo+PiAgCQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlw ZV9jb25maWcsCj4+ICAJCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQo+ PiBAQCAtODczLDMyICs4OTQsMjUgQEAgaW50ZWxfZGlzYWJsZV90dihzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlciwKPj4gIAlJOTE1X1dSSVRFKFRWX0NUTCwgSTkxNV9SRUFEKFRWX0NUTCkg JiB+VFZfRU5DX0VOQUJMRSk7Cj4+ICB9Cj4+ICAKPj4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgdHZf bW9kZSAqCj4+IC1pbnRlbF90dl9tb2RlX2xvb2t1cChjb25zdCBjaGFyICp0dl9mb3JtYXQpCj4+ ICtzdGF0aWMgY29uc3Qgc3RydWN0IHR2X21vZGUgKmludGVsX3R2X21vZGVfZmluZChzdHJ1Y3Qg ZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKPj4gIHsKPj4gLQlpbnQgaTsKPj4gLQo+ PiAtCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHR2X21vZGVzKTsgaSsrKSB7Cj4+IC0JCWNv bnN0IHN0cnVjdCB0dl9tb2RlICp0dl9tb2RlID0gJnR2X21vZGVzW2ldOwo+PiArCWludCBmb3Jt YXQgPSB0b19pbnRlbF90dl9jb25uZWN0b3Jfc3RhdGUoY29ubl9zdGF0ZSktPmZvcm1hdDsKPj4g IAo+PiAtCQlpZiAoIXN0cmNtcCh0dl9mb3JtYXQsIHR2X21vZGUtPm5hbWUpKQo+PiAtCQkJcmV0 dXJuIHR2X21vZGU7Cj4+IC0JfQo+PiAtCXJldHVybiBOVUxMOwo+PiArCXJldHVybiAmdHZfbW9k ZXNbZm9ybWF0XTsKPj4gIH0KPj4gIAo+PiAtc3RhdGljIGNvbnN0IHN0cnVjdCB0dl9tb2RlICoK Pj4gLWludGVsX3R2X21vZGVfZmluZChzdHJ1Y3QgaW50ZWxfdHYgKmludGVsX3R2KQo+PiArc3Rh dGljIGNvbnN0IHN0cnVjdCB0dl9tb2RlICppbnRlbF90dl9tb2RlX2ZpbmRfY29tbWl0dGVkKHN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4+ICB7Cj4+IC0JcmV0dXJuIGludGVsX3R2 X21vZGVfbG9va3VwKGludGVsX3R2LT50dl9mb3JtYXQpOwo+PiArCWludCBmb3JtYXQgPSBpbnRl bF9hdHRhY2hlZF90dihjb25uZWN0b3IpLT5mb3JtYXQ7Cj4+ICsKPj4gKwlyZXR1cm4gJnR2X21v ZGVzW2Zvcm1hdF07Cj4+ICB9Cj4+ICAKPj4gIHN0YXRpYyBlbnVtIGRybV9tb2RlX3N0YXR1cwo+ PiAgaW50ZWxfdHZfbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ PiAgCQkgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4+ICB7Cj4+IC0Jc3RydWN0 IGludGVsX3R2ICppbnRlbF90diA9IGludGVsX2F0dGFjaGVkX3R2KGNvbm5lY3Rvcik7Cj4+IC0J Y29uc3Qgc3RydWN0IHR2X21vZGUgKnR2X21vZGUgPSBpbnRlbF90dl9tb2RlX2ZpbmQoaW50ZWxf dHYpOwo+PiArCWNvbnN0IHN0cnVjdCB0dl9tb2RlICp0dl9tb2RlID0gaW50ZWxfdHZfbW9kZV9m aW5kX2NvbW1pdHRlZChjb25uZWN0b3IpOwo+PiAgCWludCBtYXhfZG90Y2xrID0gdG9faTkxNShj b25uZWN0b3ItPmRldiktPm1heF9kb3RjbGtfZnJlcTsKPj4gIAo+PiAgCWlmIChtb2RlLT5jbG9j ayA+IG1heF9kb3RjbGspCj4+IEBAIC05MjUsOCArOTM5LDcgQEAgaW50ZWxfdHZfY29tcHV0ZV9j b25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4+ICAJCQlzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCj4+ICAJCQlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0 ZSAqY29ubl9zdGF0ZSkKPj4gIHsKPj4gLQlzdHJ1Y3QgaW50ZWxfdHYgKmludGVsX3R2ID0gZW5j X3RvX3R2KGVuY29kZXIpOwo+PiAtCWNvbnN0IHN0cnVjdCB0dl9tb2RlICp0dl9tb2RlID0gaW50 ZWxfdHZfbW9kZV9maW5kKGludGVsX3R2KTsKPj4gKwljb25zdCBzdHJ1Y3QgdHZfbW9kZSAqdHZf bW9kZSA9IGludGVsX3R2X21vZGVfZmluZChjb25uX3N0YXRlKTsKPj4gIAo+PiAgCWlmICghdHZf bW9kZSkKPj4gIAkJcmV0dXJuIGZhbHNlOwo+PiBAQCAtMTAzMiw3ICsxMDQ1LDcgQEAgc3RhdGlj IHZvaWQgaW50ZWxfdHZfcHJlX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwK Pj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXIt PmJhc2UuZGV2KTsKPj4gIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVs X2NydGMoZW5jb2Rlci0+YmFzZS5jcnRjKTsKPj4gIAlzdHJ1Y3QgaW50ZWxfdHYgKmludGVsX3R2 ID0gZW5jX3RvX3R2KGVuY29kZXIpOwo+PiAtCWNvbnN0IHN0cnVjdCB0dl9tb2RlICp0dl9tb2Rl ID0gaW50ZWxfdHZfbW9kZV9maW5kKGludGVsX3R2KTsKPj4gKwljb25zdCBzdHJ1Y3QgdHZfbW9k ZSAqdHZfbW9kZSA9IGludGVsX3R2X21vZGVfZmluZChjb25uX3N0YXRlKTsKPj4gIAl1MzIgdHZf Y3RsOwo+PiAgCXUzMiBzY2N0bDEsIHNjY3RsMiwgc2NjdGwzOwo+PiAgCWludCBpLCBqOwo+PiBA QCAtMTA0MSw2ICsxMDU0LDggQEAgc3RhdGljIHZvaWQgaW50ZWxfdHZfcHJlX2VuYWJsZShzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPj4gIAlib29sIGJ1cnN0X2VuYTsKPj4gIAlpbnQg eHBvcyA9IDB4MCwgeXBvcyA9IDB4MDsKPj4gIAl1bnNpZ25lZCBpbnQgeHNpemUsIHlzaXplOwo+ PiArCXN0cnVjdCBpbnRlbF90dl9jb25uZWN0b3Jfc3RhdGUgKnR2X3N0YXRlID0KPj4gKwkJdG9f aW50ZWxfdHZfY29ubmVjdG9yX3N0YXRlKGNvbm5fc3RhdGUpOwo+PiAgCj4+ICAJaWYgKCF0dl9t b2RlKQo+PiAgCQlyZXR1cm47CS8qIGNhbid0IGhhcHBlbiAobW9kZV9wcmVwYXJlIHByZXZlbnRz IHRoaXMpICovCj4+IEBAIC0xMTM1LDEyICsxMTUwLDEyIEBAIHN0YXRpYyB2b2lkIGludGVsX3R2 X3ByZV9lbmFibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4+ICAJZWxzZQo+PiAg CQl5c2l6ZSA9IDIqdHZfbW9kZS0+bmJyX2VuZCArIDE7Cj4+ICAKPj4gLQl4cG9zICs9IGludGVs X3R2LT5tYXJnaW5bVFZfTUFSR0lOX0xFRlRdOwo+PiAtCXlwb3MgKz0gaW50ZWxfdHYtPm1hcmdp bltUVl9NQVJHSU5fVE9QXTsKPj4gLQl4c2l6ZSAtPSAoaW50ZWxfdHYtPm1hcmdpbltUVl9NQVJH SU5fTEVGVF0gKwo+PiAtCQkgIGludGVsX3R2LT5tYXJnaW5bVFZfTUFSR0lOX1JJR0hUXSk7Cj4+ IC0JeXNpemUgLT0gKGludGVsX3R2LT5tYXJnaW5bVFZfTUFSR0lOX1RPUF0gKwo+PiAtCQkgIGlu dGVsX3R2LT5tYXJnaW5bVFZfTUFSR0lOX0JPVFRPTV0pOwo+PiArCXhwb3MgKz0gdHZfc3RhdGUt Pm1hcmdpbltUVl9NQVJHSU5fTEVGVF07Cj4+ICsJeXBvcyArPSB0dl9zdGF0ZS0+bWFyZ2luW1RW X01BUkdJTl9UT1BdOwo+PiArCXhzaXplIC09ICh0dl9zdGF0ZS0+bWFyZ2luW1RWX01BUkdJTl9M RUZUXSArCj4+ICsJCSAgdHZfc3RhdGUtPm1hcmdpbltUVl9NQVJHSU5fUklHSFRdKTsKPj4gKwl5 c2l6ZSAtPSAodHZfc3RhdGUtPm1hcmdpbltUVl9NQVJHSU5fVE9QXSArCj4+ICsJCSAgdHZfc3Rh dGUtPm1hcmdpbltUVl9NQVJHSU5fQk9UVE9NXSk7Cj4+ICAJSTkxNV9XUklURShUVl9XSU5fUE9T LCAoeHBvczw8MTYpfHlwb3MpOwo+PiAgCUk5MTVfV1JJVEUoVFZfV0lOX1NJWkUsICh4c2l6ZTw8 MTYpfHlzaXplKTsKPj4gIAo+PiBAQCAtMTI4OCw3ICsxMzAzLDcgQEAgaW50ZWxfdHZfZGV0ZWN0 X3R5cGUoc3RydWN0IGludGVsX3R2ICppbnRlbF90diwKPj4gIHN0YXRpYyB2b2lkIGludGVsX3R2 X2ZpbmRfYmV0dGVyX2Zvcm1hdChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+PiAg ewo+PiAgCXN0cnVjdCBpbnRlbF90diAqaW50ZWxfdHYgPSBpbnRlbF9hdHRhY2hlZF90dihjb25u ZWN0b3IpOwo+PiAtCWNvbnN0IHN0cnVjdCB0dl9tb2RlICp0dl9tb2RlID0gaW50ZWxfdHZfbW9k ZV9maW5kKGludGVsX3R2KTsKPj4gKwljb25zdCBzdHJ1Y3QgdHZfbW9kZSAqdHZfbW9kZSA9IGlu dGVsX3R2X21vZGVfZmluZChjb25uZWN0b3ItPnN0YXRlKTsKPiBpbnRlbF90dl9tb2RlX2ZpbmRf Y29tbWl0dGVkKCkgPwpFaXRoZXIgd29ya3MgaGVyZS4gV2UncmUgaG9sZGluZyB0aGUgcmVsZXZh bnQgbG9jay4KPgo+PiAgCWludCBpOwo+PiAgCj4+ICAJaWYgKChpbnRlbF90di0+dHlwZSA9PSBE Uk1fTU9ERV9DT05ORUNUT1JfQ29tcG9uZW50KSA9PQo+PiBAQCAtMTMwNCw5ICsxMzE5LDggQEAg c3RhdGljIHZvaWQgaW50ZWxfdHZfZmluZF9iZXR0ZXJfZm9ybWF0KHN0cnVjdCBkcm1fY29ubmVj dG9yICpjb25uZWN0b3IpCj4+ICAJCQlicmVhazsKPj4gIAl9Cj4+ICAKPj4gLQlpbnRlbF90di0+ dHZfZm9ybWF0ID0gdHZfbW9kZS0+bmFtZTsKPj4gLQlkcm1fb2JqZWN0X3Byb3BlcnR5X3NldF92 YWx1ZSgmY29ubmVjdG9yLT5iYXNlLAo+PiAtCQljb25uZWN0b3ItPmRldi0+bW9kZV9jb25maWcu dHZfbW9kZV9wcm9wZXJ0eSwgaSk7Cj4+ICsJdG9faW50ZWxfdHZfY29ubmVjdG9yX3N0YXRlKGNv bm5lY3Rvci0+c3RhdGUpLT5mb3JtYXQgPSBpOwo+IEkgd2FzIHRoaW5raW5nIHdlJ2QgZG8gdGhp cyBpbiBkdXBsaWNhdGVfc3RhdGUuClRoaXMgd291bGQgY2F1c2UgZ2V0X3Byb3BlcnR5IHRvIHJl dHVybiBzdGFsZSB2YWx1ZXMgc2luY2UgaXQgd291bGQgbm90IGR1cGxpY2F0ZSB0aGUgc3RhdGUu Cj4gV2l0aCB0aGVzZSB0d28gY2hhbmdlcyB3ZSBzaG91bGRuJ3QgaGF2ZSB0byBhY2Nlc3MgLT5z dGF0ZSBpbiBkZXRlY3QoKQo+IEFGQUlDUy4KSSB0aGluayBpdCdzIHRoZSBvbmx5IHRoaW5nIHRo YXQgbWFrZXMgc2Vuc2UuCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK