From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 1/3] drm/i915: Convert intel_tv connector properties to atomic, v2. Date: Mon, 13 Mar 2017 18:44:28 +0200 Message-ID: <20170313164428.GL31595@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> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8CD806E575 for ; Mon, 13 Mar 2017 16:44:31 +0000 (UTC) Content-Disposition: inline In-Reply-To: <556cd49e-27de-fb13-9b08-6aa7d23d89b8@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 T24gTW9uLCBNYXIgMTMsIDIwMTcgYXQgMDU6MzU6NDJQTSArMDEwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gT3AgMTMtMDMtMTcgb20gMTc6MjIgc2NocmVlZiBWaWxsZSBTeXJqw6Rsw6Q6 Cj4gPiBPbiBNb24sIE1hciAxMywgMjAxNyBhdCAwNToxMDoyOFBNICswMTAwLCBNYWFydGVuIExh bmtob3JzdCB3cm90ZToKPiA+PiBBcyBhIHByb29mIG9mIGNvbmNlcHQsIGZpcnN0IHRyeSB0byBj b252ZXJ0IGludGVsX3R2LCB3aGljaCBpcyBhIHJhcmVseQo+ID4+IHVzZWQgY29ubmVjdG9yLiBJ dCBoYXMgNSBwcm9wZXJ0aWVzLCB0diBmb3JtYXQgYW5kIDQgbWFyZ2lucy4KPiA+Pgo+ID4+IEkn bSBsZXNzIGNlcnRhaW4gYWJvdXQgdGhlIHN0YXRlIGJlaGF2aW9yIGl0c2VsZiwgc2hvdWxkIHdl IHBhc3MgYSBzaXplCj4gPj4gcGFyYW1ldGVyIHRvIGludGVsX2Nvbm5lY3Rvcl9hbGxvYyBpbnN0 ZWFkLCBzbyBkdXBsaWNhdGVfc3RhdGUKPiA+PiBjYW4gYmUgZG9uZSBnbG9iYWxseSBpZiBpdCBj YW4gYmUgYmxpbmRseSBjb3BpZWQ/Cj4gPj4KPiA+PiBDYW4gd2UgYWxzbyBoYXZlIGEgYXRvbWlj X2NoZWNrIGZ1bmN0aW9uIGZvciBjb25uZWN0b3JzLCBzbyB0aGUKPiA+PiBjcnRjX3N0YXRlLT5j b25uZWN0b3JzX2NoYW5nZWQgY2FuIGJlIHNldCB0aGVyZT8gSXQgd291bGQgYmUgY2xlYW5lcgo+ ID4+IGFuZCBtb3JlIGF0b21pYy1saWtlLgo+ID4+Cj4gPj4gVG8gbWF0Y2ggdGhlIGxlZ2FjeSBi ZWhhdmlvciwgZm9ybWF0IGNhbiBiZSBjaGFuZ2VkIGJ5IHByb2JpbmcganVzdCBsaWtlCj4gPj4g aW4gbGVnYWN5IG1vZGUuCj4gPj4KPiA+PiBDaGFuZ2VzIHNpbmNlIHYxOgo+ID4+IC0gQWRkIGlu dGVsX2VuY29kZXItPnN3YXBfc3RhdGUgdG8gYWxsb3cgdXBkYXRpbmcgY29ubmVjdG9yIHN0YXRl Lgo+ID4+IC0gQWRkIGludGVsX3R2LT5mb3JtYXQgZm9yIGRldGVjdF9tb2RlIGFuZCBtb2RlX3Zh bGlkLCB1cGRhdGVkIG9uIGF0b21pYyBjb21taXQuCj4gPj4KPiA+PiBTaWduZWQtb2ZmLWJ5OiBN YWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgo+ID4+ IC0tLQo+ID4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAgMTUgKysK PiA+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgIHwgICA0ICsKPiA+PiAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdHYuYyAgICAgIHwgMjU5ICsrKysrKysrKysrKysr KysrKysrKy0tLS0tLS0tLS0tLS0tCj4gPj4gIDMgZmlsZXMgY2hhbmdlZCwgMTc2IGluc2VydGlv bnMoKyksIDEwMiBkZWxldGlvbnMoLSkKPiA+Pgo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMKPiA+PiBpbmRleCBhYzI1YzliYzhiODEuLjE4YjdlNzU0NmVlMSAxMDA2NDQKPiA+ PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+PiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+PiBAQCAtMTI5NTQsNiArMTI5 NTQsMjAgQEAgc3RhdGljIHZvaWQgaW50ZWxfYXRvbWljX3RyYWNrX2ZicyhzdHJ1Y3QgZHJtX2F0 b21pY19zdGF0ZSAqc3RhdGUpCj4gPj4gIAkJCQkgIHRvX2ludGVsX3BsYW5lKHBsYW5lKS0+ZnJv bnRidWZmZXJfYml0KTsKPiA+PiAgfQo+ID4+ICAKPiA+PiArc3RhdGljIHZvaWQgc3dhcF9jb25u ZWN0b3Jfc3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ID4+ICt7Cj4gPj4g KwlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yOwo+ID4+ICsJc3RydWN0IGRybV9jb25u ZWN0b3Jfc3RhdGUgKm5ld19jb25uX3N0YXRlOwo+ID4+ICsJaW50IGk7Cj4gPj4gKwo+ID4+ICsJ Zm9yX2VhY2hfbmV3X2Nvbm5lY3Rvcl9pbl9zdGF0ZShzdGF0ZSwgY29ubmVjdG9yLCBuZXdfY29u bl9zdGF0ZSwgaSkgewo+ID4+ICsJCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm4gPSB0b19p bnRlbF9jb25uZWN0b3IoY29ubmVjdG9yKTsKPiA+PiArCj4gPj4gKwkJaWYgKGNvbm4tPnN3YXBf c3RhdGUpCj4gPj4gKwkJCWNvbm4tPnN3YXBfc3RhdGUoY29ubiwgbmV3X2Nvbm5fc3RhdGUpOwo+ ID4+ICsJfQo+ID4+ICt9Cj4gPj4gKwo+ID4+ICAvKioKPiA+PiAgICogaW50ZWxfYXRvbWljX2Nv bW1pdCAtIGNvbW1pdCB2YWxpZGF0ZWQgc3RhdGUgb2JqZWN0Cj4gPj4gICAqIEBkZXY6IERSTSBk ZXZpY2UKPiA+PiBAQCAtMTMwMTIsNiArMTMwMjYsNyBAQCBzdGF0aWMgaW50IGludGVsX2F0b21p Y19jb21taXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+PiAgCQlkZXZfcHJpdi0+Y2RjbGsu bG9naWNhbCA9IGludGVsX3N0YXRlLT5jZGNsay5sb2dpY2FsOwo+ID4+ICAJCWRldl9wcml2LT5j ZGNsay5hY3R1YWwgPSBpbnRlbF9zdGF0ZS0+Y2RjbGsuYWN0dWFsOwo+ID4+ICAJfQo+ID4+ICsJ c3dhcF9jb25uZWN0b3Jfc3RhdGUoc3RhdGUpOwo+ID4+ICAKPiA+PiAgCWRybV9hdG9taWNfc3Rh dGVfZ2V0KHN0YXRlKTsKPiA+PiAgCUlOSVRfV09SSygmc3RhdGUtPmNvbW1pdF93b3JrLAo+ID4+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPj4gaW5kZXggOTM3NjIzZmY2ZDdjLi5iN2I5Mzc5 OWQyODggMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgK PiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4+IEBAIC0zMDcs NiArMzA3LDEwIEBAIHN0cnVjdCBpbnRlbF9jb25uZWN0b3Igewo+ID4+ICAJICogYW5kIGFjdGl2 ZSAoaS5lLiBkcG1zIE9OIHN0YXRlKS4gKi8KPiA+PiAgCWJvb2wgKCpnZXRfaHdfc3RhdGUpKHN0 cnVjdCBpbnRlbF9jb25uZWN0b3IgKik7Cj4gPj4gIAo+ID4+ICsJLyogVXBkYXRlIGRldmljZSBz dGF0ZSB3aXRoIHRoZSBuZXcgYXRvbWljIHN0YXRlLiAqLwo+ID4+ICsJdm9pZCAoKnN3YXBfc3Rh dGUpKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKiwKPiA+PiArCQkJICAgICBzdHJ1Y3QgZHJtX2Nv bm5lY3Rvcl9zdGF0ZSAqKTsKPiA+PiArCj4gPj4gIAkvKiBQYW5lbCBpbmZvIGZvciBlRFAgYW5k IExWRFMgKi8KPiA+PiAgCXN0cnVjdCBpbnRlbF9wYW5lbCBwYW5lbDsKPiA+PiAgCj4gPj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3R2LmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF90di5jCj4gPj4gaW5kZXggNmVkMWEzY2U0N2I3Li5iODdkNTFlNjE5NzUg MTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdHYuYwo+ID4+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3R2LmMKPiA+PiBAQCAtNDgsOCArNDgsNiBA QCBzdHJ1Y3QgaW50ZWxfdHYgewo+ID4+ICAJc3RydWN0IGludGVsX2VuY29kZXIgYmFzZTsKPiA+ PiAgCj4gPj4gIAlpbnQgdHlwZTsKPiA+PiAtCWNvbnN0IGNoYXIgKnR2X2Zvcm1hdDsKPiA+PiAt CWludCBtYXJnaW5bNF07Cj4gPj4gIAl1MzIgc2F2ZV9UVl9IX0NUTF8xOwo+ID4+ICAJdTMyIHNh dmVfVFZfSF9DVExfMjsKPiA+PiAgCXUzMiBzYXZlX1RWX0hfQ1RMXzM7Cj4gPj4gQEAgLTgzLDgg KzgxLDIwIEBAIHN0cnVjdCBpbnRlbF90diB7Cj4gPj4gIAo+ID4+ICAJdTMyIHNhdmVfVFZfREFD Owo+ID4+ICAJdTMyIHNhdmVfVFZfQ1RMOwo+ID4+ICsKPiA+PiArCWludCBmb3JtYXQ7Cj4gPj4g K307Cj4gPj4gKwo+ID4+ICtzdHJ1Y3QgaW50ZWxfdHZfY29ubmVjdG9yX3N0YXRlIHsKPiA+PiAr CXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlIGJhc2U7Cj4gPj4gKwo+ID4+ICsJaW50IGZvcm1h dDsKPiA+PiArCWludCBtYXJnaW5bNF07Cj4gPj4gIH07Cj4gPj4gIAo+ID4+ICsjZGVmaW5lIHRv X2ludGVsX3R2X2Nvbm5lY3Rvcl9zdGF0ZShzdGF0ZSkgXAo+ID4+ICsJY29udGFpbmVyX29mKChz dGF0ZSksIHN0cnVjdCBpbnRlbF90dl9jb25uZWN0b3Jfc3RhdGUsIGJhc2UpCj4gPj4gKwo+ID4+ ICBzdHJ1Y3QgdmlkZW9fbGV2ZWxzIHsKPiA+PiAgCXUxNiBibGFuaywgYmxhY2s7Cj4gPj4gIAl1 OCBidXJzdDsKPiA+PiBAQCAtODQ4LDYgKzg1OCwxNyBAQCBpbnRlbF90dl9nZXRfaHdfc3RhdGUo c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsIGVudW0gcGlwZSAqcGlwZSkKPiA+PiAgfQo+ ID4+ICAKPiA+PiAgc3RhdGljIHZvaWQKPiA+PiAraW50ZWxfdHZfc3dhcF9zdGF0ZShzdHJ1Y3Qg aW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsCj4gPj4gKwkJICAgIHN0cnVjdCBkcm1fY29ubmVj dG9yX3N0YXRlICpjb25uX3N0YXRlKQo+ID4+ICt7Cj4gPj4gKwlzdHJ1Y3QgaW50ZWxfdHYgKmlu dGVsX3R2ID0gaW50ZWxfYXR0YWNoZWRfdHYoJmNvbm5lY3Rvci0+YmFzZSk7Cj4gPj4gKwlzdHJ1 Y3QgaW50ZWxfdHZfY29ubmVjdG9yX3N0YXRlICp0dl9zdGF0ZSA9Cj4gPj4gKwkJdG9faW50ZWxf dHZfY29ubmVjdG9yX3N0YXRlKGNvbm5fc3RhdGUpOwo+ID4+ICsKPiA+PiArCWludGVsX3R2LT5m b3JtYXQgPSB0dl9zdGF0ZS0+Zm9ybWF0Owo+ID4+ICt9Cj4gPj4gKwo+ID4+ICtzdGF0aWMgdm9p ZAo+ID4+ICBpbnRlbF9lbmFibGVfdHYoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4g Pj4gIAkJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAo+ID4+ICAJCXN0cnVj dCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQo+ID4+IEBAIC04NzMsMzIgKzg5NCwy NSBAQCBpbnRlbF9kaXNhYmxlX3R2KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ID4+ ICAJSTkxNV9XUklURShUVl9DVEwsIEk5MTVfUkVBRChUVl9DVEwpICYgflRWX0VOQ19FTkFCTEUp Owo+ID4+ICB9Cj4gPj4gIAo+ID4+IC1zdGF0aWMgY29uc3Qgc3RydWN0IHR2X21vZGUgKgo+ID4+ IC1pbnRlbF90dl9tb2RlX2xvb2t1cChjb25zdCBjaGFyICp0dl9mb3JtYXQpCj4gPj4gK3N0YXRp YyBjb25zdCBzdHJ1Y3QgdHZfbW9kZSAqaW50ZWxfdHZfbW9kZV9maW5kKHN0cnVjdCBkcm1fY29u bmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQo+ID4+ICB7Cj4gPj4gLQlpbnQgaTsKPiA+PiAtCj4g Pj4gLQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh0dl9tb2Rlcyk7IGkrKykgewo+ID4+IC0J CWNvbnN0IHN0cnVjdCB0dl9tb2RlICp0dl9tb2RlID0gJnR2X21vZGVzW2ldOwo+ID4+ICsJaW50 IGZvcm1hdCA9IHRvX2ludGVsX3R2X2Nvbm5lY3Rvcl9zdGF0ZShjb25uX3N0YXRlKS0+Zm9ybWF0 Owo+ID4+ICAKPiA+PiAtCQlpZiAoIXN0cmNtcCh0dl9mb3JtYXQsIHR2X21vZGUtPm5hbWUpKQo+ ID4+IC0JCQlyZXR1cm4gdHZfbW9kZTsKPiA+PiAtCX0KPiA+PiAtCXJldHVybiBOVUxMOwo+ID4+ ICsJcmV0dXJuICZ0dl9tb2Rlc1tmb3JtYXRdOwo+ID4+ICB9Cj4gPj4gIAo+ID4+IC1zdGF0aWMg Y29uc3Qgc3RydWN0IHR2X21vZGUgKgo+ID4+IC1pbnRlbF90dl9tb2RlX2ZpbmQoc3RydWN0IGlu dGVsX3R2ICppbnRlbF90dikKPiA+PiArc3RhdGljIGNvbnN0IHN0cnVjdCB0dl9tb2RlICppbnRl bF90dl9tb2RlX2ZpbmRfY29tbWl0dGVkKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3Ip Cj4gPj4gIHsKPiA+PiAtCXJldHVybiBpbnRlbF90dl9tb2RlX2xvb2t1cChpbnRlbF90di0+dHZf Zm9ybWF0KTsKPiA+PiArCWludCBmb3JtYXQgPSBpbnRlbF9hdHRhY2hlZF90dihjb25uZWN0b3Ip LT5mb3JtYXQ7Cj4gPj4gKwo+ID4+ICsJcmV0dXJuICZ0dl9tb2Rlc1tmb3JtYXRdOwo+ID4+ICB9 Cj4gPj4gIAo+ID4+ICBzdGF0aWMgZW51bSBkcm1fbW9kZV9zdGF0dXMKPiA+PiAgaW50ZWxfdHZf bW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ID4+ICAJCSAgICBz dHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiA+PiAgewo+ID4+IC0Jc3RydWN0IGludGVs X3R2ICppbnRlbF90diA9IGludGVsX2F0dGFjaGVkX3R2KGNvbm5lY3Rvcik7Cj4gPj4gLQljb25z dCBzdHJ1Y3QgdHZfbW9kZSAqdHZfbW9kZSA9IGludGVsX3R2X21vZGVfZmluZChpbnRlbF90dik7 Cj4gPj4gKwljb25zdCBzdHJ1Y3QgdHZfbW9kZSAqdHZfbW9kZSA9IGludGVsX3R2X21vZGVfZmlu ZF9jb21taXR0ZWQoY29ubmVjdG9yKTsKPiA+PiAgCWludCBtYXhfZG90Y2xrID0gdG9faTkxNShj b25uZWN0b3ItPmRldiktPm1heF9kb3RjbGtfZnJlcTsKPiA+PiAgCj4gPj4gIAlpZiAobW9kZS0+ Y2xvY2sgPiBtYXhfZG90Y2xrKQo+ID4+IEBAIC05MjUsOCArOTM5LDcgQEAgaW50ZWxfdHZfY29t cHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPj4gIAkJCXN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKPiA+PiAgCQkJc3RydWN0IGRybV9jb25u ZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCj4gPj4gIHsKPiA+PiAtCXN0cnVjdCBpbnRlbF90diAq aW50ZWxfdHYgPSBlbmNfdG9fdHYoZW5jb2Rlcik7Cj4gPj4gLQljb25zdCBzdHJ1Y3QgdHZfbW9k ZSAqdHZfbW9kZSA9IGludGVsX3R2X21vZGVfZmluZChpbnRlbF90dik7Cj4gPj4gKwljb25zdCBz dHJ1Y3QgdHZfbW9kZSAqdHZfbW9kZSA9IGludGVsX3R2X21vZGVfZmluZChjb25uX3N0YXRlKTsK PiA+PiAgCj4gPj4gIAlpZiAoIXR2X21vZGUpCj4gPj4gIAkJcmV0dXJuIGZhbHNlOwo+ID4+IEBA IC0xMDMyLDcgKzEwNDUsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF90dl9wcmVfZW5hYmxlKHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ID4+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Cj4gPj4gIAlzdHJ1Y3QgaW50 ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoZW5jb2Rlci0+YmFzZS5jcnRjKTsK PiA+PiAgCXN0cnVjdCBpbnRlbF90diAqaW50ZWxfdHYgPSBlbmNfdG9fdHYoZW5jb2Rlcik7Cj4g Pj4gLQljb25zdCBzdHJ1Y3QgdHZfbW9kZSAqdHZfbW9kZSA9IGludGVsX3R2X21vZGVfZmluZChp bnRlbF90dik7Cj4gPj4gKwljb25zdCBzdHJ1Y3QgdHZfbW9kZSAqdHZfbW9kZSA9IGludGVsX3R2 X21vZGVfZmluZChjb25uX3N0YXRlKTsKPiA+PiAgCXUzMiB0dl9jdGw7Cj4gPj4gIAl1MzIgc2Nj dGwxLCBzY2N0bDIsIHNjY3RsMzsKPiA+PiAgCWludCBpLCBqOwo+ID4+IEBAIC0xMDQxLDYgKzEw NTQsOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF90dl9wcmVfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyLAo+ID4+ICAJYm9vbCBidXJzdF9lbmE7Cj4gPj4gIAlpbnQgeHBvcyA9IDB4 MCwgeXBvcyA9IDB4MDsKPiA+PiAgCXVuc2lnbmVkIGludCB4c2l6ZSwgeXNpemU7Cj4gPj4gKwlz dHJ1Y3QgaW50ZWxfdHZfY29ubmVjdG9yX3N0YXRlICp0dl9zdGF0ZSA9Cj4gPj4gKwkJdG9faW50 ZWxfdHZfY29ubmVjdG9yX3N0YXRlKGNvbm5fc3RhdGUpOwo+ID4+ICAKPiA+PiAgCWlmICghdHZf bW9kZSkKPiA+PiAgCQlyZXR1cm47CS8qIGNhbid0IGhhcHBlbiAobW9kZV9wcmVwYXJlIHByZXZl bnRzIHRoaXMpICovCj4gPj4gQEAgLTExMzUsMTIgKzExNTAsMTIgQEAgc3RhdGljIHZvaWQgaW50 ZWxfdHZfcHJlX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+PiAgCWVs c2UKPiA+PiAgCQl5c2l6ZSA9IDIqdHZfbW9kZS0+bmJyX2VuZCArIDE7Cj4gPj4gIAo+ID4+IC0J eHBvcyArPSBpbnRlbF90di0+bWFyZ2luW1RWX01BUkdJTl9MRUZUXTsKPiA+PiAtCXlwb3MgKz0g aW50ZWxfdHYtPm1hcmdpbltUVl9NQVJHSU5fVE9QXTsKPiA+PiAtCXhzaXplIC09IChpbnRlbF90 di0+bWFyZ2luW1RWX01BUkdJTl9MRUZUXSArCj4gPj4gLQkJICBpbnRlbF90di0+bWFyZ2luW1RW X01BUkdJTl9SSUdIVF0pOwo+ID4+IC0JeXNpemUgLT0gKGludGVsX3R2LT5tYXJnaW5bVFZfTUFS R0lOX1RPUF0gKwo+ID4+IC0JCSAgaW50ZWxfdHYtPm1hcmdpbltUVl9NQVJHSU5fQk9UVE9NXSk7 Cj4gPj4gKwl4cG9zICs9IHR2X3N0YXRlLT5tYXJnaW5bVFZfTUFSR0lOX0xFRlRdOwo+ID4+ICsJ eXBvcyArPSB0dl9zdGF0ZS0+bWFyZ2luW1RWX01BUkdJTl9UT1BdOwo+ID4+ICsJeHNpemUgLT0g KHR2X3N0YXRlLT5tYXJnaW5bVFZfTUFSR0lOX0xFRlRdICsKPiA+PiArCQkgIHR2X3N0YXRlLT5t YXJnaW5bVFZfTUFSR0lOX1JJR0hUXSk7Cj4gPj4gKwl5c2l6ZSAtPSAodHZfc3RhdGUtPm1hcmdp bltUVl9NQVJHSU5fVE9QXSArCj4gPj4gKwkJICB0dl9zdGF0ZS0+bWFyZ2luW1RWX01BUkdJTl9C T1RUT01dKTsKPiA+PiAgCUk5MTVfV1JJVEUoVFZfV0lOX1BPUywgKHhwb3M8PDE2KXx5cG9zKTsK PiA+PiAgCUk5MTVfV1JJVEUoVFZfV0lOX1NJWkUsICh4c2l6ZTw8MTYpfHlzaXplKTsKPiA+PiAg Cj4gPj4gQEAgLTEyODgsNyArMTMwMyw3IEBAIGludGVsX3R2X2RldGVjdF90eXBlKHN0cnVjdCBp bnRlbF90diAqaW50ZWxfdHYsCj4gPj4gIHN0YXRpYyB2b2lkIGludGVsX3R2X2ZpbmRfYmV0dGVy X2Zvcm1hdChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ID4+ICB7Cj4gPj4gIAlz dHJ1Y3QgaW50ZWxfdHYgKmludGVsX3R2ID0gaW50ZWxfYXR0YWNoZWRfdHYoY29ubmVjdG9yKTsK PiA+PiAtCWNvbnN0IHN0cnVjdCB0dl9tb2RlICp0dl9tb2RlID0gaW50ZWxfdHZfbW9kZV9maW5k KGludGVsX3R2KTsKPiA+PiArCWNvbnN0IHN0cnVjdCB0dl9tb2RlICp0dl9tb2RlID0gaW50ZWxf dHZfbW9kZV9maW5kKGNvbm5lY3Rvci0+c3RhdGUpOwo+ID4gaW50ZWxfdHZfbW9kZV9maW5kX2Nv bW1pdHRlZCgpID8KPiBFaXRoZXIgd29ya3MgaGVyZS4gV2UncmUgaG9sZGluZyB0aGUgcmVsZXZh bnQgbG9jay4KCk9oIHlvdSBtb3ZlZCB0aGUgY2FsbC4gSG1tLiBEbyB3ZSBldmVuIG5lZWQgdG8g ZG8gdGhhdD8gSSB0aG91Z2h0IHdlCmNvdWxkIGp1c3QgbGVhdmUgdGhlIGluIGRldGVjdCBhcyBp cy4KCj4gPgo+ID4+ICAJaW50IGk7Cj4gPj4gIAo+ID4+ICAJaWYgKChpbnRlbF90di0+dHlwZSA9 PSBEUk1fTU9ERV9DT05ORUNUT1JfQ29tcG9uZW50KSA9PQo+ID4+IEBAIC0xMzA0LDkgKzEzMTks OCBAQCBzdGF0aWMgdm9pZCBpbnRlbF90dl9maW5kX2JldHRlcl9mb3JtYXQoc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvcikKPiA+PiAgCQkJYnJlYWs7Cj4gPj4gIAl9Cj4gPj4gIAo+ID4+ IC0JaW50ZWxfdHYtPnR2X2Zvcm1hdCA9IHR2X21vZGUtPm5hbWU7Cj4gPj4gLQlkcm1fb2JqZWN0 X3Byb3BlcnR5X3NldF92YWx1ZSgmY29ubmVjdG9yLT5iYXNlLAo+ID4+IC0JCWNvbm5lY3Rvci0+ ZGV2LT5tb2RlX2NvbmZpZy50dl9tb2RlX3Byb3BlcnR5LCBpKTsKPiA+PiArCXRvX2ludGVsX3R2 X2Nvbm5lY3Rvcl9zdGF0ZShjb25uZWN0b3ItPnN0YXRlKS0+Zm9ybWF0ID0gaTsKPiA+IEkgd2Fz IHRoaW5raW5nIHdlJ2QgZG8gdGhpcyBpbiBkdXBsaWNhdGVfc3RhdGUuCj4gVGhpcyB3b3VsZCBj YXVzZSBnZXRfcHJvcGVydHkgdG8gcmV0dXJuIHN0YWxlIHZhbHVlcyBzaW5jZSBpdCB3b3VsZCBu b3QgZHVwbGljYXRlIHRoZSBzdGF0ZS4KCkhtbS4gU28gaXQgd291bGQgcmV0dXJuIHRoZSAib2xk IiB2YWx1ZSBiZXR3ZWVuIGRldGVjdCBhbmQgY29tbWl0LCBvbmNlCmNvbW1pdCBoYXBwZW5zIGl0 IHdvdWxkIGFnYWluIHJldHVybiB0aGUgdmFsdWUgZGV0ZWN0KCkgZ2F2ZSB1cwooYXNzdW1pbmcg dGhlIHVzZXIgZGlkbid0IG92ZXJyaWRlIGl0KS4gSXMgdGhhdCBiYWQgYmVoYXZpb3VyIG9yIG5v dD8KTm90IHN1cmUuCgpJIGd1ZXNzIEknbGwgbmVlZCB0byBnbyByZWFkIHRoZSBkZHggY29kZSB0 byBzZWUgd2hhdCwgaWYgYW55dGhpbmcsIGl0Cm1pZ2h0IGRvIHdpdGggdGhpcyBzdHVmZi4uLgoK PiA+IFdpdGggdGhlc2UgdHdvIGNoYW5nZXMgd2Ugc2hvdWxkbid0IGhhdmUgdG8gYWNjZXNzIC0+ c3RhdGUgaW4gZGV0ZWN0KCkKPiA+IEFGQUlDUy4KPiBJIHRoaW5rIGl0J3MgdGhlIG9ubHkgdGhp bmcgdGhhdCBtYWtlcyBzZW5zZS4KCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwgT1RDCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=