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 18:14:33 +0100 Message-ID: <288e1028-eea1-9db3-9e59-9ba540d796e8@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> <556cd49e-27de-fb13-9b08-6aa7d23d89b8@linux.intel.com> <20170313164428.GL31595@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 AA58F6E59C for ; Mon, 13 Mar 2017 17:14:41 +0000 (UTC) In-Reply-To: <20170313164428.GL31595@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 T3AgMTMtMDMtMTcgb20gMTc6NDQgc2NocmVlZiBWaWxsZSBTeXJqw6Rsw6Q6Cj4gT24gTW9uLCBN YXIgMTMsIDIwMTcgYXQgMDU6MzU6NDJQTSArMDEwMCwgTWFhcnRlbiBMYW5raG9yc3Qgd3JvdGU6 Cj4+IE9wIDEzLTAzLTE3IG9tIDE3OjIyIHNjaHJlZWYgVmlsbGUgU3lyasOkbMOkOgo+Pj4gT24g TW9uLCBNYXIgMTMsIDIwMTcgYXQgMDU6MTA6MjhQTSArMDEwMCwgTWFhcnRlbiBMYW5raG9yc3Qg d3JvdGU6Cj4+Pj4gQXMgYSBwcm9vZiBvZiBjb25jZXB0LCBmaXJzdCB0cnkgdG8gY29udmVydCBp bnRlbF90diwgd2hpY2ggaXMgYSByYXJlbHkKPj4+PiB1c2VkIGNvbm5lY3Rvci4gSXQgaGFzIDUg cHJvcGVydGllcywgdHYgZm9ybWF0IGFuZCA0IG1hcmdpbnMuCj4+Pj4KPj4+PiBJJ20gbGVzcyBj ZXJ0YWluIGFib3V0IHRoZSBzdGF0ZSBiZWhhdmlvciBpdHNlbGYsIHNob3VsZCB3ZSBwYXNzIGEg c2l6ZQo+Pj4+IHBhcmFtZXRlciB0byBpbnRlbF9jb25uZWN0b3JfYWxsb2MgaW5zdGVhZCwgc28g ZHVwbGljYXRlX3N0YXRlCj4+Pj4gY2FuIGJlIGRvbmUgZ2xvYmFsbHkgaWYgaXQgY2FuIGJlIGJs aW5kbHkgY29waWVkPwo+Pj4+Cj4+Pj4gQ2FuIHdlIGFsc28gaGF2ZSBhIGF0b21pY19jaGVjayBm dW5jdGlvbiBmb3IgY29ubmVjdG9ycywgc28gdGhlCj4+Pj4gY3J0Y19zdGF0ZS0+Y29ubmVjdG9y c19jaGFuZ2VkIGNhbiBiZSBzZXQgdGhlcmU/IEl0IHdvdWxkIGJlIGNsZWFuZXIKPj4+PiBhbmQg bW9yZSBhdG9taWMtbGlrZS4KPj4+Pgo+Pj4+IFRvIG1hdGNoIHRoZSBsZWdhY3kgYmVoYXZpb3Is IGZvcm1hdCBjYW4gYmUgY2hhbmdlZCBieSBwcm9iaW5nIGp1c3QgbGlrZQo+Pj4+IGluIGxlZ2Fj eSBtb2RlLgo+Pj4+Cj4+Pj4gQ2hhbmdlcyBzaW5jZSB2MToKPj4+PiAtIEFkZCBpbnRlbF9lbmNv ZGVyLT5zd2FwX3N0YXRlIHRvIGFsbG93IHVwZGF0aW5nIGNvbm5lY3RvciBzdGF0ZS4KPj4+PiAt IEFkZCBpbnRlbF90di0+Zm9ybWF0IGZvciBkZXRlY3RfbW9kZSBhbmQgbW9kZV92YWxpZCwgdXBk YXRlZCBvbiBhdG9taWMgY29tbWl0Lgo+Pj4+Cj4+Pj4gU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBM YW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPj4+PiAtLS0KPj4+ PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgIDE1ICsrCj4+Pj4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICAgNCArCj4+Pj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3R2LmMgICAgICB8IDI1OSArKysrKysrKysrKysrKysrKysrKyst LS0tLS0tLS0tLS0tLQo+Pj4+ICAzIGZpbGVzIGNoYW5nZWQsIDE3NiBpbnNlcnRpb25zKCspLCAx MDIgZGVsZXRpb25zKC0pCj4+Pj4KPj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j Cj4+Pj4gaW5kZXggYWMyNWM5YmM4YjgxLi4xOGI3ZTc1NDZlZTEgMTAwNjQ0Cj4+Pj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4+Pj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4+Pj4gQEAgLTEyOTU0LDYgKzEyOTU0LDIwIEBA IHN0YXRpYyB2b2lkIGludGVsX2F0b21pY190cmFja19mYnMoc3RydWN0IGRybV9hdG9taWNfc3Rh dGUgKnN0YXRlKQo+Pj4+ICAJCQkJICB0b19pbnRlbF9wbGFuZShwbGFuZSktPmZyb250YnVmZmVy X2JpdCk7Cj4+Pj4gIH0KPj4+PiAgCj4+Pj4gK3N0YXRpYyB2b2lkIHN3YXBfY29ubmVjdG9yX3N0 YXRlKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKPj4+PiArewo+Pj4+ICsJc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcjsKPj4+PiArCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0 YXRlICpuZXdfY29ubl9zdGF0ZTsKPj4+PiArCWludCBpOwo+Pj4+ICsKPj4+PiArCWZvcl9lYWNo X25ld19jb25uZWN0b3JfaW5fc3RhdGUoc3RhdGUsIGNvbm5lY3RvciwgbmV3X2Nvbm5fc3RhdGUs IGkpIHsKPj4+PiArCQlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uID0gdG9faW50ZWxfY29u bmVjdG9yKGNvbm5lY3Rvcik7Cj4+Pj4gKwo+Pj4+ICsJCWlmIChjb25uLT5zd2FwX3N0YXRlKQo+ Pj4+ICsJCQljb25uLT5zd2FwX3N0YXRlKGNvbm4sIG5ld19jb25uX3N0YXRlKTsKPj4+PiArCX0K Pj4+PiArfQo+Pj4+ICsKPj4+PiAgLyoqCj4+Pj4gICAqIGludGVsX2F0b21pY19jb21taXQgLSBj b21taXQgdmFsaWRhdGVkIHN0YXRlIG9iamVjdAo+Pj4+ICAgKiBAZGV2OiBEUk0gZGV2aWNlCj4+ Pj4gQEAgLTEzMDEyLDYgKzEzMDI2LDcgQEAgc3RhdGljIGludCBpbnRlbF9hdG9taWNfY29tbWl0 KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4+Pj4gIAkJZGV2X3ByaXYtPmNkY2xrLmxvZ2ljYWwg PSBpbnRlbF9zdGF0ZS0+Y2RjbGsubG9naWNhbDsKPj4+PiAgCQlkZXZfcHJpdi0+Y2RjbGsuYWN0 dWFsID0gaW50ZWxfc3RhdGUtPmNkY2xrLmFjdHVhbDsKPj4+PiAgCX0KPj4+PiArCXN3YXBfY29u bmVjdG9yX3N0YXRlKHN0YXRlKTsKPj4+PiAgCj4+Pj4gIAlkcm1fYXRvbWljX3N0YXRlX2dldChz dGF0ZSk7Cj4+Pj4gIAlJTklUX1dPUksoJnN0YXRlLT5jb21taXRfd29yaywKPj4+PiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcnYuaAo+Pj4+IGluZGV4IDkzNzYyM2ZmNmQ3Yy4uYjdiOTM3OTlkMjg4IDEw MDY0NAo+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4+Pj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPj4+PiBAQCAtMzA3LDYgKzMwNywx MCBAQCBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yIHsKPj4+PiAgCSAqIGFuZCBhY3RpdmUgKGkuZS4g ZHBtcyBPTiBzdGF0ZSkuICovCj4+Pj4gIAlib29sICgqZ2V0X2h3X3N0YXRlKShzdHJ1Y3QgaW50 ZWxfY29ubmVjdG9yICopOwo+Pj4+ICAKPj4+PiArCS8qIFVwZGF0ZSBkZXZpY2Ugc3RhdGUgd2l0 aCB0aGUgbmV3IGF0b21pYyBzdGF0ZS4gKi8KPj4+PiArCXZvaWQgKCpzd2FwX3N0YXRlKShzdHJ1 Y3QgaW50ZWxfY29ubmVjdG9yICosCj4+Pj4gKwkJCSAgICAgc3RydWN0IGRybV9jb25uZWN0b3Jf c3RhdGUgKik7Cj4+Pj4gKwo+Pj4+ICAJLyogUGFuZWwgaW5mbyBmb3IgZURQIGFuZCBMVkRTICov Cj4+Pj4gIAlzdHJ1Y3QgaW50ZWxfcGFuZWwgcGFuZWw7Cj4+Pj4gIAo+Pj4+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF90di5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfdHYuYwo+Pj4+IGluZGV4IDZlZDFhM2NlNDdiNy4uYjg3ZDUxZTYxOTc1IDEwMDY0NAo+ Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3R2LmMKPj4+PiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF90di5jCj4+Pj4gQEAgLTQ4LDggKzQ4LDYgQEAgc3RydWN0 IGludGVsX3R2IHsKPj4+PiAgCXN0cnVjdCBpbnRlbF9lbmNvZGVyIGJhc2U7Cj4+Pj4gIAo+Pj4+ ICAJaW50IHR5cGU7Cj4+Pj4gLQljb25zdCBjaGFyICp0dl9mb3JtYXQ7Cj4+Pj4gLQlpbnQgbWFy Z2luWzRdOwo+Pj4+ICAJdTMyIHNhdmVfVFZfSF9DVExfMTsKPj4+PiAgCXUzMiBzYXZlX1RWX0hf Q1RMXzI7Cj4+Pj4gIAl1MzIgc2F2ZV9UVl9IX0NUTF8zOwo+Pj4+IEBAIC04Myw4ICs4MSwyMCBA QCBzdHJ1Y3QgaW50ZWxfdHYgewo+Pj4+ICAKPj4+PiAgCXUzMiBzYXZlX1RWX0RBQzsKPj4+PiAg CXUzMiBzYXZlX1RWX0NUTDsKPj4+PiArCj4+Pj4gKwlpbnQgZm9ybWF0Owo+Pj4+ICt9Owo+Pj4+ ICsKPj4+PiArc3RydWN0IGludGVsX3R2X2Nvbm5lY3Rvcl9zdGF0ZSB7Cj4+Pj4gKwlzdHJ1Y3Qg ZHJtX2Nvbm5lY3Rvcl9zdGF0ZSBiYXNlOwo+Pj4+ICsKPj4+PiArCWludCBmb3JtYXQ7Cj4+Pj4g KwlpbnQgbWFyZ2luWzRdOwo+Pj4+ICB9Owo+Pj4+ICAKPj4+PiArI2RlZmluZSB0b19pbnRlbF90 dl9jb25uZWN0b3Jfc3RhdGUoc3RhdGUpIFwKPj4+PiArCWNvbnRhaW5lcl9vZigoc3RhdGUpLCBz dHJ1Y3QgaW50ZWxfdHZfY29ubmVjdG9yX3N0YXRlLCBiYXNlKQo+Pj4+ICsKPj4+PiAgc3RydWN0 IHZpZGVvX2xldmVscyB7Cj4+Pj4gIAl1MTYgYmxhbmssIGJsYWNrOwo+Pj4+ICAJdTggYnVyc3Q7 Cj4+Pj4gQEAgLTg0OCw2ICs4NTgsMTcgQEAgaW50ZWxfdHZfZ2V0X2h3X3N0YXRlKHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyLCBlbnVtIHBpcGUgKnBpcGUpCj4+Pj4gIH0KPj4+PiAgCj4+ Pj4gIHN0YXRpYyB2b2lkCj4+Pj4gK2ludGVsX3R2X3N3YXBfc3RhdGUoc3RydWN0IGludGVsX2Nv bm5lY3RvciAqY29ubmVjdG9yLAo+Pj4+ICsJCSAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0 ZSAqY29ubl9zdGF0ZSkKPj4+PiArewo+Pj4+ICsJc3RydWN0IGludGVsX3R2ICppbnRlbF90diA9 IGludGVsX2F0dGFjaGVkX3R2KCZjb25uZWN0b3ItPmJhc2UpOwo+Pj4+ICsJc3RydWN0IGludGVs X3R2X2Nvbm5lY3Rvcl9zdGF0ZSAqdHZfc3RhdGUgPQo+Pj4+ICsJCXRvX2ludGVsX3R2X2Nvbm5l Y3Rvcl9zdGF0ZShjb25uX3N0YXRlKTsKPj4+PiArCj4+Pj4gKwlpbnRlbF90di0+Zm9ybWF0ID0g dHZfc3RhdGUtPmZvcm1hdDsKPj4+PiArfQo+Pj4+ICsKPj4+PiArc3RhdGljIHZvaWQKPj4+PiAg aW50ZWxfZW5hYmxlX3R2KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+Pj4+ICAJCXN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKPj4+PiAgCQlzdHJ1Y3QgZHJtX2Nv bm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKPj4+PiBAQCAtODczLDMyICs4OTQsMjUgQEAgaW50 ZWxfZGlzYWJsZV90dihzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPj4+PiAgCUk5MTVf V1JJVEUoVFZfQ1RMLCBJOTE1X1JFQUQoVFZfQ1RMKSAmIH5UVl9FTkNfRU5BQkxFKTsKPj4+PiAg fQo+Pj4+ICAKPj4+PiAtc3RhdGljIGNvbnN0IHN0cnVjdCB0dl9tb2RlICoKPj4+PiAtaW50ZWxf dHZfbW9kZV9sb29rdXAoY29uc3QgY2hhciAqdHZfZm9ybWF0KQo+Pj4+ICtzdGF0aWMgY29uc3Qg c3RydWN0IHR2X21vZGUgKmludGVsX3R2X21vZGVfZmluZChzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9z dGF0ZSAqY29ubl9zdGF0ZSkKPj4+PiAgewo+Pj4+IC0JaW50IGk7Cj4+Pj4gLQo+Pj4+IC0JZm9y IChpID0gMDsgaSA8IEFSUkFZX1NJWkUodHZfbW9kZXMpOyBpKyspIHsKPj4+PiAtCQljb25zdCBz dHJ1Y3QgdHZfbW9kZSAqdHZfbW9kZSA9ICZ0dl9tb2Rlc1tpXTsKPj4+PiArCWludCBmb3JtYXQg PSB0b19pbnRlbF90dl9jb25uZWN0b3Jfc3RhdGUoY29ubl9zdGF0ZSktPmZvcm1hdDsKPj4+PiAg Cj4+Pj4gLQkJaWYgKCFzdHJjbXAodHZfZm9ybWF0LCB0dl9tb2RlLT5uYW1lKSkKPj4+PiAtCQkJ cmV0dXJuIHR2X21vZGU7Cj4+Pj4gLQl9Cj4+Pj4gLQlyZXR1cm4gTlVMTDsKPj4+PiArCXJldHVy biAmdHZfbW9kZXNbZm9ybWF0XTsKPj4+PiAgfQo+Pj4+ICAKPj4+PiAtc3RhdGljIGNvbnN0IHN0 cnVjdCB0dl9tb2RlICoKPj4+PiAtaW50ZWxfdHZfbW9kZV9maW5kKHN0cnVjdCBpbnRlbF90diAq aW50ZWxfdHYpCj4+Pj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgdHZfbW9kZSAqaW50ZWxfdHZfbW9k ZV9maW5kX2NvbW1pdHRlZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+Pj4+ICB7 Cj4+Pj4gLQlyZXR1cm4gaW50ZWxfdHZfbW9kZV9sb29rdXAoaW50ZWxfdHYtPnR2X2Zvcm1hdCk7 Cj4+Pj4gKwlpbnQgZm9ybWF0ID0gaW50ZWxfYXR0YWNoZWRfdHYoY29ubmVjdG9yKS0+Zm9ybWF0 Owo+Pj4+ICsKPj4+PiArCXJldHVybiAmdHZfbW9kZXNbZm9ybWF0XTsKPj4+PiAgfQo+Pj4+ICAK Pj4+PiAgc3RhdGljIGVudW0gZHJtX21vZGVfc3RhdHVzCj4+Pj4gIGludGVsX3R2X21vZGVfdmFs aWQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPj4+PiAgCQkgICAgc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKm1vZGUpCj4+Pj4gIHsKPj4+PiAtCXN0cnVjdCBpbnRlbF90diAqaW50 ZWxfdHYgPSBpbnRlbF9hdHRhY2hlZF90dihjb25uZWN0b3IpOwo+Pj4+IC0JY29uc3Qgc3RydWN0 IHR2X21vZGUgKnR2X21vZGUgPSBpbnRlbF90dl9tb2RlX2ZpbmQoaW50ZWxfdHYpOwo+Pj4+ICsJ Y29uc3Qgc3RydWN0IHR2X21vZGUgKnR2X21vZGUgPSBpbnRlbF90dl9tb2RlX2ZpbmRfY29tbWl0 dGVkKGNvbm5lY3Rvcik7Cj4+Pj4gIAlpbnQgbWF4X2RvdGNsayA9IHRvX2k5MTUoY29ubmVjdG9y LT5kZXYpLT5tYXhfZG90Y2xrX2ZyZXE7Cj4+Pj4gIAo+Pj4+ICAJaWYgKG1vZGUtPmNsb2NrID4g bWF4X2RvdGNsaykKPj4+PiBAQCAtOTI1LDggKzkzOSw3IEBAIGludGVsX3R2X2NvbXB1dGVfY29u ZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+Pj4+ICAJCQlzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCj4+Pj4gIAkJCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0 YXRlICpjb25uX3N0YXRlKQo+Pj4+ICB7Cj4+Pj4gLQlzdHJ1Y3QgaW50ZWxfdHYgKmludGVsX3R2 ID0gZW5jX3RvX3R2KGVuY29kZXIpOwo+Pj4+IC0JY29uc3Qgc3RydWN0IHR2X21vZGUgKnR2X21v ZGUgPSBpbnRlbF90dl9tb2RlX2ZpbmQoaW50ZWxfdHYpOwo+Pj4+ICsJY29uc3Qgc3RydWN0IHR2 X21vZGUgKnR2X21vZGUgPSBpbnRlbF90dl9tb2RlX2ZpbmQoY29ubl9zdGF0ZSk7Cj4+Pj4gIAo+ Pj4+ICAJaWYgKCF0dl9tb2RlKQo+Pj4+ICAJCXJldHVybiBmYWxzZTsKPj4+PiBAQCAtMTAzMiw3 ICsxMDQ1LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfdHZfcHJlX2VuYWJsZShzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlciwKPj4+PiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwo+Pj4+ICAJc3RydWN0IGludGVsX2NydGMg KmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGVuY29kZXItPmJhc2UuY3J0Yyk7Cj4+Pj4gIAlz dHJ1Y3QgaW50ZWxfdHYgKmludGVsX3R2ID0gZW5jX3RvX3R2KGVuY29kZXIpOwo+Pj4+IC0JY29u c3Qgc3RydWN0IHR2X21vZGUgKnR2X21vZGUgPSBpbnRlbF90dl9tb2RlX2ZpbmQoaW50ZWxfdHYp Owo+Pj4+ICsJY29uc3Qgc3RydWN0IHR2X21vZGUgKnR2X21vZGUgPSBpbnRlbF90dl9tb2RlX2Zp bmQoY29ubl9zdGF0ZSk7Cj4+Pj4gIAl1MzIgdHZfY3RsOwo+Pj4+ICAJdTMyIHNjY3RsMSwgc2Nj dGwyLCBzY2N0bDM7Cj4+Pj4gIAlpbnQgaSwgajsKPj4+PiBAQCAtMTA0MSw2ICsxMDU0LDggQEAg c3RhdGljIHZvaWQgaW50ZWxfdHZfcHJlX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlciwKPj4+PiAgCWJvb2wgYnVyc3RfZW5hOwo+Pj4+ICAJaW50IHhwb3MgPSAweDAsIHlwb3Mg PSAweDA7Cj4+Pj4gIAl1bnNpZ25lZCBpbnQgeHNpemUsIHlzaXplOwo+Pj4+ICsJc3RydWN0IGlu dGVsX3R2X2Nvbm5lY3Rvcl9zdGF0ZSAqdHZfc3RhdGUgPQo+Pj4+ICsJCXRvX2ludGVsX3R2X2Nv bm5lY3Rvcl9zdGF0ZShjb25uX3N0YXRlKTsKPj4+PiAgCj4+Pj4gIAlpZiAoIXR2X21vZGUpCj4+ Pj4gIAkJcmV0dXJuOwkvKiBjYW4ndCBoYXBwZW4gKG1vZGVfcHJlcGFyZSBwcmV2ZW50cyB0aGlz KSAqLwo+Pj4+IEBAIC0xMTM1LDEyICsxMTUwLDEyIEBAIHN0YXRpYyB2b2lkIGludGVsX3R2X3By ZV9lbmFibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4+Pj4gIAllbHNlCj4+Pj4g IAkJeXNpemUgPSAyKnR2X21vZGUtPm5icl9lbmQgKyAxOwo+Pj4+ICAKPj4+PiAtCXhwb3MgKz0g aW50ZWxfdHYtPm1hcmdpbltUVl9NQVJHSU5fTEVGVF07Cj4+Pj4gLQl5cG9zICs9IGludGVsX3R2 LT5tYXJnaW5bVFZfTUFSR0lOX1RPUF07Cj4+Pj4gLQl4c2l6ZSAtPSAoaW50ZWxfdHYtPm1hcmdp bltUVl9NQVJHSU5fTEVGVF0gKwo+Pj4+IC0JCSAgaW50ZWxfdHYtPm1hcmdpbltUVl9NQVJHSU5f UklHSFRdKTsKPj4+PiAtCXlzaXplIC09IChpbnRlbF90di0+bWFyZ2luW1RWX01BUkdJTl9UT1Bd ICsKPj4+PiAtCQkgIGludGVsX3R2LT5tYXJnaW5bVFZfTUFSR0lOX0JPVFRPTV0pOwo+Pj4+ICsJ eHBvcyArPSB0dl9zdGF0ZS0+bWFyZ2luW1RWX01BUkdJTl9MRUZUXTsKPj4+PiArCXlwb3MgKz0g dHZfc3RhdGUtPm1hcmdpbltUVl9NQVJHSU5fVE9QXTsKPj4+PiArCXhzaXplIC09ICh0dl9zdGF0 ZS0+bWFyZ2luW1RWX01BUkdJTl9MRUZUXSArCj4+Pj4gKwkJICB0dl9zdGF0ZS0+bWFyZ2luW1RW X01BUkdJTl9SSUdIVF0pOwo+Pj4+ICsJeXNpemUgLT0gKHR2X3N0YXRlLT5tYXJnaW5bVFZfTUFS R0lOX1RPUF0gKwo+Pj4+ICsJCSAgdHZfc3RhdGUtPm1hcmdpbltUVl9NQVJHSU5fQk9UVE9NXSk7 Cj4+Pj4gIAlJOTE1X1dSSVRFKFRWX1dJTl9QT1MsICh4cG9zPDwxNil8eXBvcyk7Cj4+Pj4gIAlJ OTE1X1dSSVRFKFRWX1dJTl9TSVpFLCAoeHNpemU8PDE2KXx5c2l6ZSk7Cj4+Pj4gIAo+Pj4+IEBA IC0xMjg4LDcgKzEzMDMsNyBAQCBpbnRlbF90dl9kZXRlY3RfdHlwZShzdHJ1Y3QgaW50ZWxfdHYg KmludGVsX3R2LAo+Pj4+ICBzdGF0aWMgdm9pZCBpbnRlbF90dl9maW5kX2JldHRlcl9mb3JtYXQo c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPj4+PiAgewo+Pj4+ICAJc3RydWN0IGlu dGVsX3R2ICppbnRlbF90diA9IGludGVsX2F0dGFjaGVkX3R2KGNvbm5lY3Rvcik7Cj4+Pj4gLQlj b25zdCBzdHJ1Y3QgdHZfbW9kZSAqdHZfbW9kZSA9IGludGVsX3R2X21vZGVfZmluZChpbnRlbF90 dik7Cj4+Pj4gKwljb25zdCBzdHJ1Y3QgdHZfbW9kZSAqdHZfbW9kZSA9IGludGVsX3R2X21vZGVf ZmluZChjb25uZWN0b3ItPnN0YXRlKTsKPj4+IGludGVsX3R2X21vZGVfZmluZF9jb21taXR0ZWQo KSA/Cj4+IEVpdGhlciB3b3JrcyBoZXJlLiBXZSdyZSBob2xkaW5nIHRoZSByZWxldmFudCBsb2Nr Lgo+IE9oIHlvdSBtb3ZlZCB0aGUgY2FsbC4gSG1tLiBEbyB3ZSBldmVuIG5lZWQgdG8gZG8gdGhh dD8gSSB0aG91Z2h0IHdlCj4gY291bGQganVzdCBsZWF2ZSB0aGUgaW4gZGV0ZWN0IGFzIGlzLgo+ Cj4+Pj4gIAlpbnQgaTsKPj4+PiAgCj4+Pj4gIAlpZiAoKGludGVsX3R2LT50eXBlID09IERSTV9N T0RFX0NPTk5FQ1RPUl9Db21wb25lbnQpID09Cj4+Pj4gQEAgLTEzMDQsOSArMTMxOSw4IEBAIHN0 YXRpYyB2b2lkIGludGVsX3R2X2ZpbmRfYmV0dGVyX2Zvcm1hdChzdHJ1Y3QgZHJtX2Nvbm5lY3Rv ciAqY29ubmVjdG9yKQo+Pj4+ICAJCQlicmVhazsKPj4+PiAgCX0KPj4+PiAgCj4+Pj4gLQlpbnRl bF90di0+dHZfZm9ybWF0ID0gdHZfbW9kZS0+bmFtZTsKPj4+PiAtCWRybV9vYmplY3RfcHJvcGVy dHlfc2V0X3ZhbHVlKCZjb25uZWN0b3ItPmJhc2UsCj4+Pj4gLQkJY29ubmVjdG9yLT5kZXYtPm1v ZGVfY29uZmlnLnR2X21vZGVfcHJvcGVydHksIGkpOwo+Pj4+ICsJdG9faW50ZWxfdHZfY29ubmVj dG9yX3N0YXRlKGNvbm5lY3Rvci0+c3RhdGUpLT5mb3JtYXQgPSBpOwo+Pj4gSSB3YXMgdGhpbmtp bmcgd2UnZCBkbyB0aGlzIGluIGR1cGxpY2F0ZV9zdGF0ZS4KPj4gVGhpcyB3b3VsZCBjYXVzZSBn ZXRfcHJvcGVydHkgdG8gcmV0dXJuIHN0YWxlIHZhbHVlcyBzaW5jZSBpdCB3b3VsZCBub3QgZHVw bGljYXRlIHRoZSBzdGF0ZS4KPiBIbW0uIFNvIGl0IHdvdWxkIHJldHVybiB0aGUgIm9sZCIgdmFs dWUgYmV0d2VlbiBkZXRlY3QgYW5kIGNvbW1pdCwgb25jZQo+IGNvbW1pdCBoYXBwZW5zIGl0IHdv dWxkIGFnYWluIHJldHVybiB0aGUgdmFsdWUgZGV0ZWN0KCkgZ2F2ZSB1cwo+IChhc3N1bWluZyB0 aGUgdXNlciBkaWRuJ3Qgb3ZlcnJpZGUgaXQpLiBJcyB0aGF0IGJhZCBiZWhhdmlvdXIgb3Igbm90 Pwo+IE5vdCBzdXJlLgpJdCdzIGRlZmluaXRlbHkgYSBkaWZmZXJlbmNlIHdpdGggdGhlIG9sZCBj b2RlLiBTbyBwcm9uZSB0byByZWdyZXNzaW9uIGlmIHdlIGludHJvZHVjZSBhIGJlaGF2aW9yYWwg Y2hhbmdlLCBiZXN0IGtlZXAgaXQgdGhlIHdheSBpdCBpcy4KPiBJIGd1ZXNzIEknbGwgbmVlZCB0 byBnbyByZWFkIHRoZSBkZHggY29kZSB0byBzZWUgd2hhdCwgaWYgYW55dGhpbmcsIGl0Cj4gbWln aHQgZG8gd2l0aCB0aGlzIHN0dWZmLi4uCj4KPj4+IFdpdGggdGhlc2UgdHdvIGNoYW5nZXMgd2Ug c2hvdWxkbid0IGhhdmUgdG8gYWNjZXNzIC0+c3RhdGUgaW4gZGV0ZWN0KCkKPj4+IEFGQUlDUy4K Pj4gSSB0aGluayBpdCdzIHRoZSBvbmx5IHRoaW5nIHRoYXQgbWFrZXMgc2Vuc2UuCgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==