From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [RFC 1/3] drm: Add DAMAGE_CLIPS property to plane Date: Mon, 9 Apr 2018 10:33:17 +0200 Message-ID: <20180409083317.GM31310@phenom.ffwll.local> References: <1522885748-67122-1-git-send-email-drawat@vmware.com> <1522885748-67122-2-git-send-email-drawat@vmware.com> <20180405073525.GP3881@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id 54B716E277 for ; Mon, 9 Apr 2018 08:33:22 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id 66so10787248wmd.3 for ; Mon, 09 Apr 2018 01:33:22 -0700 (PDT) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Deepak Singh Rawat Cc: Thomas Hellstrom , "airlied@linux.ie" , "linux-kernel@vger.kernel.org" , "dri-devel@lists.freedesktop.org" , linux-graphics-maintainer , "lukasz.spintzyk@displaylink.com" List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBBcHIgMDUsIDIwMTggYXQgMTE6MDc6MTlQTSArMDAwMCwgRGVlcGFrIFNpbmdoIFJh d2F0IHdyb3RlOgo+ID4gCj4gPiBPbiBXZWQsIEFwciAwNCwgMjAxOCBhdCAwNDo0OTowNlBNIC0w NzAwLCBEZWVwYWsgUmF3YXQgd3JvdGU6Cj4gPiA+IEZyb206IEx1a2FzeiBTcGludHp5ayA8bHVr YXN6LnNwaW50enlrQGRpc3BsYXlsaW5rLmNvbT4KPiA+ID4KPiA+ID4gT3B0aW9uYWwgcGxhbmUg cHJvcGVydHkgdG8gbWFyayBkYW1hZ2VkIHJlZ2lvbnMgb24gdGhlIHBsYW5lIGluCj4gPiA+IGZy YW1lYnVmZmVyIGNvb3JkaW5hdGVzIG9mIHRoZSBmcmFtZWJ1ZmZlciBhdHRhY2hlZCB0byB0aGUg cGxhbmUuCj4gPiA+Cj4gPiA+IFRoZSBsYXlvdXQgb2YgYmxvYiBkYXRhIGlzIHNpbXBseSBhbiBh cnJheSBvZiBkcm1fbW9kZV9yZWN0IHdpdGgKPiA+IG1heGltdW0KPiA+ID4gYXJyYXkgc2l6ZSBs aW1pdGVkIGJ5IERSTV9NT0RFX0ZCX0RJUlRZX01BWF9DTElQUy4gVW5saWtlIHBsYW5lIHNyYwo+ ID4gPiBjb29yZGluYXRlcywgZGFtYWdlIGNsaXBzIGFyZSBub3QgaW4gMTYuMTYgZml4ZWQgcG9p bnQuCj4gPiA+Cj4gPiA+IERhbWFnZSBjbGlwcyBhcmUgYSBoaW50IHRvIGtlcm5lbCBhcyB3aGlj aCBhcmVhIG9mIGZyYW1lYnVmZmVyIGhhcwo+ID4gPiBjaGFuZ2VkIHNpbmNlIGxhc3QgcGFnZS1m bGlwLiBUaGlzIHNob3VsZCBiZSBoZWxwZnVsIGZvciBzb21lIGRyaXZlcnMKPiA+ID4gZXNwZWNp YWxseSBmb3IgdmlydHVhbCBkZXZpY2VzIHdoZXJlIGVhY2ggZnJhbWVidWZmZXIgY2hhbmdlIG5l ZWRzIHRvCj4gPiA+IGJlIHRyYW5zbWl0dGVkIG92ZXIgbmV0d29yaywgdXNiLCBldGMuCj4gPiA+ Cj4gPiA+IERyaXZlciB3aGljaCBhcmUgaW50ZXJlc3RlZCBpbiBlbmFibGluZyBEQU1BR0VfQ0xJ UFMgcHJvcGVydHkgZm9yIGEKPiA+ID4gcGxhbmUgc2hvdWxkIGVuYWJsZSB0aGlzIHByb3BlcnR5 IHVzaW5nIGRybV9wbGFuZV9lbmFibGVfZGFtYWdlX2NsaXBzLgo+ID4gPgo+ID4gPiBTaWduZWQt b2ZmLWJ5OiBMdWthc3ogU3BpbnR6eWsgPGx1a2Fzei5zcGludHp5a0BkaXNwbGF5bGluay5jb20+ Cj4gPiA+IFNpZ25lZC1vZmYtYnk6IERlZXBhayBSYXdhdCA8ZHJhd2F0QHZtd2FyZS5jb20+Cj4g PiAKPiA+IFRoZSBwcm9wZXJ0eSB1YXBpIHNlY3Rpb24gaXMgbWlzc2luZywgc2VlOgo+ID4gCj4g PiBodHRwczovL3VybGRlZmVuc2UucHJvb2Zwb2ludC5jb20vdjIvdXJsP3U9aHR0cHMtCj4gPiAz QV9fZHJpLmZyZWVkZXNrdG9wLm9yZ19kb2NzX2RybV9ncHVfZHJtLTJEa21zLmh0bWwtMjNwbGFu ZS0KPiA+IDJEY29tcG9zaXRpb24tCj4gPiAyRHByb3BlcnRpZXMmZD1Ed0lCQWcmYz11aWxhSzkw RDRUT1ZvSDU4Sk5YUmdRJnI9ek9PRzI4aW5KSzA3NjIKPiA+IFN4QWYtCj4gPiBjeVpkU3RuZDJO UXBSdTk4bEpQMmlZR3cmbT1FTEFVc05UakQwSUN3VUVERmpQVzRqc215MkE1QWtoUzVRCj4gPiB6 XzN2bEVDOVEmcz1uSC1ITlhQY3pvSlFNajFpd0hpR2ZyaFh6NC0wMGIwTTgtM2tpcmptLUVZJmU9 Cj4gPiAKPiA+IFBsYW5lIGNvbXBvc2l0aW9uIGZlZWxzIGxpa2UgdGhlIGJlc3QgcGxhY2UgdG8g cHV0IHRoaXMuIFBsZWFzZSB1c2UgdGhhdAo+ID4gc2VjdGlvbiB0byB0aWUgYWxsIHRoZSB2YXJp b3VzIGJpdHMgdG9nZXRoZXIsIGluY2x1ZGluZyB0aGUgaGVscGVycyB5b3UncmUKPiA+IGFkZGlu ZyBpbiB0aGUgZm9sbG93aW5nIHBhdGNoZXMgZm9yIGRyaXZlcnMgdG8gdXNlLgo+ID4gCj4gPiBC dW5jaCBvZiBuaXRwaWNrcyBiZWxvdywgYnV0IG92ZXJhbGwgSSdtIGFncmVlaW5nIG5vdyB3aXRo IGp1c3QgZ29pbmcgd2l0aAo+ID4gZmIgY29vcmRpbmF0ZSBkYW1hZ2UgcmVjdHMuCj4gPiAKPiA+ IExpa2UgeW91IHNheSwgdGhlIHRoaW5nIG5lZWRlZCBoZXJlIG5vdyBpcyB1c2Vyc3BhY2UgKyBk cml2ZXIgYWN0dWFsbHkKPiA+IGltcGxlbWVudGluZyB0aGlzLiBJJ2QgYWxzbyBzYXkgdGhlIGNv bXBhdCBoZWxwZXIgdG8gbWFwIHRoZSBsZWdhY3kKPiA+IGZiLT5kaXJ0eSB0byB0aGlzIG5ldyBh dG9taWMgd2F5IG9mIGRvaW5nIHRoaW5ncyBzaG91bGQgYmUgaW5jbHVkZWQgaGVyZQo+ID4gKGdp dmVzIHVzIGEgbG90IG1vcmUgdGVzdGluZyBmb3IgdGhlc2UgbmV3IHBhdGhzKS4KPiA+IAo+ID4g SWNpbmcgb24gdGhlIGNha2Ugd291bGQgYmUgYW4gaWd0IHRvIG1ha2Ugc3VyZSBrZXJuZWwgcmVq ZWN0cyBpbnZhbGlkIGNsaXAKPiA+IHJlY3RzIGNvcnJlY3RseS4KPiA+IAo+ID4gPiAtLS0KPiA+ ID4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMgICAgICAgIHwgNDIKPiA+ICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9kcm1f YXRvbWljX2hlbHBlci5jIHwgIDQgKysrKwo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rl X2NvbmZpZy5jICAgfCAgNSArKysrKwo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2RybV9wbGFuZS5j ICAgICAgICAgfCAxMiArKysrKysrKysrKwo+ID4gPiAgaW5jbHVkZS9kcm0vZHJtX21vZGVfY29u ZmlnLmggICAgICAgfCAxNSArKysrKysrKysrKysrCj4gPiA+ICBpbmNsdWRlL2RybS9kcm1fcGxh bmUuaCAgICAgICAgICAgICB8IDE2ICsrKysrKysrKysrKysrCj4gPiA+ICBpbmNsdWRlL3VhcGkv ZHJtL2RybV9tb2RlLmggICAgICAgICB8IDE1ICsrKysrKysrKysrKysKPiA+ID4gIDcgZmlsZXMg Y2hhbmdlZCwgMTA5IGluc2VydGlvbnMoKykKPiA+ID4KPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPiA+IGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMu Ywo+ID4gPiBpbmRleCA3ZDI1YzQyLi45MjI2ZDI0IDEwMDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vZHJtX2F0b21pYy5jCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRv bWljLmMKPiA+ID4gQEAgLTY2OSw2ICs2NjksNDAgQEAgc3RhdGljIHZvaWQgZHJtX2F0b21pY19j cnRjX3ByaW50X3N0YXRlKHN0cnVjdAo+ID4gZHJtX3ByaW50ZXIgKnAsCj4gPiA+ICB9Cj4gPiA+ Cj4gPiA+ICAvKioKPiA+ID4gKyAqIGRybV9hdG9taWNfc2V0X2RhbWFnZV9mb3JfcGxhbmUgLSBz ZXRzIHRoZSBkYW1hZ2UgY2xpcHMgcHJvcGVydHkKPiA+IHRvIHBsYW5lCj4gPiA+ICsgKiBAc3Rh dGU6IHBsYW5lIHN0YXRlCj4gPiA+ICsgKiBAYmxvYjogZGFtYWdlIGNsaXBzIGluIGZyYW1lYnVm ZmVyIGNvb3JkaW5hdGVzCj4gPiA+ICsgKgo+ID4gPiArICogUmV0dXJuczoKPiA+ID4gKyAqCj4g PiA+ICsgKiBaZXJvIG9uIHN1Y2Nlc3MsIGVycm9yIGNvZGUgb24gZmFpbHVyZS4KPiA+ID4gKyAq Lwo+ID4gPiArc3RhdGljIGludCBkcm1fYXRvbWljX3NldF9kYW1hZ2VfZm9yX3BsYW5lKHN0cnVj dCBkcm1fcGxhbmVfc3RhdGUKPiA+ICpzdGF0ZSwKPiA+ID4gKwkJCQkJICAgc3RydWN0IGRybV9w cm9wZXJ0eV9ibG9iICpibG9iKQo+ID4gPiArewo+ID4gPiArCWlmIChibG9iID09IHN0YXRlLT5k YW1hZ2VfY2xpcHMpCj4gPiA+ICsJCXJldHVybiAwOwo+ID4gPiArCj4gPiA+ICsJZHJtX3Byb3Bl cnR5X2Jsb2JfcHV0KHN0YXRlLT5kYW1hZ2VfY2xpcHMpOwo+ID4gPiArCXN0YXRlLT5kYW1hZ2Vf Y2xpcHMgPSBOVUxMOwo+ID4gPiArCj4gPiA+ICsJaWYgKGJsb2IpIHsKPiA+ID4gKwkJdWludDMy X3QgY291bnQgPSBibG9iLT5sZW5ndGgvc2l6ZW9mKHN0cnVjdCBkcm1fcmVjdCk7Cj4gPiA+ICsK PiA+ID4gKwkJaWYgKGNvdW50ID4gRFJNX01PREVfRkJfRElSVFlfTUFYX0NMSVBTKQo+ID4gPiAr CQkJcmV0dXJuIC1FSU5WQUw7Cj4gPiA+ICsKPiA+ID4gKwkJc3RhdGUtPmRhbWFnZV9jbGlwcyA9 IGRybV9wcm9wZXJ0eV9ibG9iX2dldChibG9iKTsKPiA+ID4gKwkJc3RhdGUtPm51bV9jbGlwcyA9 IGNvdW50Owo+ID4gPiArCX0gZWxzZSB7Cj4gPiA+ICsJCXN0YXRlLT5kYW1hZ2VfY2xpcHMgPSBO VUxMOwo+ID4gPiArCQlzdGF0ZS0+bnVtX2NsaXBzID0gMDsKPiA+ID4gKwl9Cj4gPiA+ICsKPiA+ ID4gKwlyZXR1cm4gMDsKPiA+ID4gK30KPiA+ID4gKwo+ID4gPiArLyoqCj4gPiA+ICAgKiBkcm1f YXRvbWljX2dldF9wbGFuZV9zdGF0ZSAtIGdldCBwbGFuZSBzdGF0ZQo+ID4gPiAgICogQHN0YXRl OiBnbG9iYWwgYXRvbWljIHN0YXRlIG9iamVjdAo+ID4gPiAgICogQHBsYW5lOiBwbGFuZSB0byBn ZXQgc3RhdGUgb2JqZWN0IGZvcgo+ID4gPiBAQCAtNzkzLDYgKzgyNywxMiBAQCBzdGF0aWMgaW50 IGRybV9hdG9taWNfcGxhbmVfc2V0X3Byb3BlcnR5KHN0cnVjdAo+ID4gZHJtX3BsYW5lICpwbGFu ZSwKPiA+ID4gIAkJc3RhdGUtPmNvbG9yX2VuY29kaW5nID0gdmFsOwo+ID4gPiAgCX0gZWxzZSBp ZiAocHJvcGVydHkgPT0gcGxhbmUtPmNvbG9yX3JhbmdlX3Byb3BlcnR5KSB7Cj4gPiA+ICAJCXN0 YXRlLT5jb2xvcl9yYW5nZSA9IHZhbDsKPiA+ID4gKwl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNv bmZpZy0+cHJvcF9kYW1hZ2VfY2xpcHMpIHsKPiA+ID4gKwkJc3RydWN0IGRybV9wcm9wZXJ0eV9i bG9iICpibG9iID0KPiA+ID4gKwkJCWRybV9wcm9wZXJ0eV9sb29rdXBfYmxvYihkZXYsIHZhbCk7 Cj4gPiA+ICsJCWludCByZXQgPSBkcm1fYXRvbWljX3NldF9kYW1hZ2VfZm9yX3BsYW5lKHN0YXRl LCBibG9iKTsKPiA+IAo+ID4gVGhlcmUncyBhbHJlYWR5IGEgaGVscGVyIHdpdGggc2l6ZS1jaGVj a2luZyBidWlsdC1pbiwgc2VlCj4gPiBkcm1fYXRvbWljX3JlcGxhY2VfcHJvcGVydHlfYmxvYl9m cm9tX2lkKCkuIFdydCBjb21wdXRpbmcgbnVtX2NsaXBzCj4gPiBJJ2QKPiA+IGp1c3QgcHJvdmlk ZSBhIGxpdHRsZSBpbmxpbmUgaGVscGVyIHRoYXQgZG9lcyB0aGUKPiA+IGJsb2ItPmxlbmd0aC9z aXplb2YoZHJtX3JlY3QpIGNvbnZlcnNpb24gKGl0J3MganVzdCBhIHNoaWZ0LCBzbyBmYXN0KS4K PiA+IAo+ID4gPiArCQlkcm1fcHJvcGVydHlfYmxvYl9wdXQoYmxvYik7Cj4gPiA+ICsJCXJldHVy biByZXQ7Cj4gPiA+ICAJfSBlbHNlIGlmIChwbGFuZS0+ZnVuY3MtPmF0b21pY19zZXRfcHJvcGVy dHkpIHsKPiA+ID4gIAkJcmV0dXJuIHBsYW5lLT5mdW5jcy0+YXRvbWljX3NldF9wcm9wZXJ0eShw bGFuZSwgc3RhdGUsCj4gPiA+ICAJCQkJcHJvcGVydHksIHZhbCk7Cj4gPiA+IEBAIC04NTYsNiAr ODk2LDggQEAgZHJtX2F0b21pY19wbGFuZV9nZXRfcHJvcGVydHkoc3RydWN0IGRybV9wbGFuZQo+ ID4gKnBsYW5lLAo+ID4gPiAgCQkqdmFsID0gc3RhdGUtPmNvbG9yX2VuY29kaW5nOwo+ID4gPiAg CX0gZWxzZSBpZiAocHJvcGVydHkgPT0gcGxhbmUtPmNvbG9yX3JhbmdlX3Byb3BlcnR5KSB7Cj4g PiA+ICAJCSp2YWwgPSBzdGF0ZS0+Y29sb3JfcmFuZ2U7Cj4gPiA+ICsJfSBlbHNlIGlmIChwcm9w ZXJ0eSA9PSBjb25maWctPnByb3BfZGFtYWdlX2NsaXBzKSB7Cj4gPiA+ICsJCSp2YWwgPSAoc3Rh dGUtPmRhbWFnZV9jbGlwcykgPyBzdGF0ZS0+ZGFtYWdlX2NsaXBzLT5iYXNlLmlkCj4gPiA6IDA7 Cj4gPiA+ICAJfSBlbHNlIGlmIChwbGFuZS0+ZnVuY3MtPmF0b21pY19nZXRfcHJvcGVydHkpIHsK PiA+ID4gIAkJcmV0dXJuIHBsYW5lLT5mdW5jcy0+YXRvbWljX2dldF9wcm9wZXJ0eShwbGFuZSwg c3RhdGUsCj4gPiBwcm9wZXJ0eSwgdmFsKTsKPiA+ID4gIAl9IGVsc2Ugewo+ID4gPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPiA+IGIvZHJpdmVycy9n cHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPiA+ID4gaW5kZXggYzM1NjU0NS4uNTViNDRlMyAx MDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPiA+ ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPiA+ID4gQEAgLTM1 MDYsNiArMzUwNiw4IEBAIHZvaWQKPiA+IF9fZHJtX2F0b21pY19oZWxwZXJfcGxhbmVfZHVwbGlj YXRlX3N0YXRlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ID4gPgo+ID4gPiAgCXN0YXRlLT5m ZW5jZSA9IE5VTEw7Cj4gPiA+ICAJc3RhdGUtPmNvbW1pdCA9IE5VTEw7Cj4gPiA+ICsJc3RhdGUt PmRhbWFnZV9jbGlwcyA9IE5VTEw7Cj4gPiA+ICsJc3RhdGUtPm51bV9jbGlwcyA9IDA7Cj4gPiA+ ICB9Cj4gPiA+ICBFWFBPUlRfU1lNQk9MKF9fZHJtX2F0b21pY19oZWxwZXJfcGxhbmVfZHVwbGlj YXRlX3N0YXRlKTsKPiA+ID4KPiA+ID4gQEAgLTM1NTAsNiArMzU1Miw4IEBAIHZvaWQKPiA+IF9f ZHJtX2F0b21pY19oZWxwZXJfcGxhbmVfZGVzdHJveV9zdGF0ZShzdHJ1Y3QgZHJtX3BsYW5lX3N0 YXRlICpzdGF0ZSkKPiA+ID4KPiA+ID4gIAlpZiAoc3RhdGUtPmNvbW1pdCkKPiA+ID4gIAkJZHJt X2NydGNfY29tbWl0X3B1dChzdGF0ZS0+Y29tbWl0KTsKPiA+ID4gKwo+ID4gPiArCWRybV9wcm9w ZXJ0eV9ibG9iX3B1dChzdGF0ZS0+ZGFtYWdlX2NsaXBzKTsKPiA+ID4gIH0KPiA+ID4gIEVYUE9S VF9TWU1CT0woX19kcm1fYXRvbWljX2hlbHBlcl9wbGFuZV9kZXN0cm95X3N0YXRlKTsKPiA+ID4K PiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZV9jb25maWcuYwo+ID4g Yi9kcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVfY29uZmlnLmMKPiA+ID4gaW5kZXggZTVjNjUzMy4u ZTkzYjEyNyAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9tb2RlX2NvbmZp Zy5jCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZV9jb25maWcuYwo+ID4gPiBA QCAtMjkzLDYgKzI5MywxMSBAQCBzdGF0aWMgaW50Cj4gPiBkcm1fbW9kZV9jcmVhdGVfc3RhbmRh cmRfcHJvcGVydGllcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4gPiAgCQlyZXR1cm4gLUVO T01FTTsKPiA+ID4gIAlkZXYtPm1vZGVfY29uZmlnLnByb3BfY3J0Y19pZCA9IHByb3A7Cj4gPiA+ Cj4gPiA+ICsJcHJvcCA9IGRybV9wcm9wZXJ0eV9jcmVhdGUoZGV2LCBEUk1fTU9ERV9QUk9QX0JM T0IsCj4gPiAiREFNQUdFX0NMSVBTIiwgMCk7Cj4gPiAKPiA+IEJpdCBhIGJpa2VzaGVkLCBidXQg c2luY2UgdGhlIGNvb3JkaW5hdGVzIGFyZSBpbiBmYiBwaXhlbHMsIG5vdCBwbGFuZQo+ID4gcGl4 ZWxzLCBJJ2QgY2FsbCB0aGlzICJGQl9EQU1BR0VfQ0xJUFMiLgo+ID4gCj4gPiA+ICsJaWYgKCFw cm9wKQo+ID4gPiArCQlyZXR1cm4gLUVOT01FTTsKPiA+ID4gKwlkZXYtPm1vZGVfY29uZmlnLnBy b3BfZGFtYWdlX2NsaXBzID0gcHJvcDsKPiA+ID4gKwo+ID4gPiAgCXByb3AgPSBkcm1fcHJvcGVy dHlfY3JlYXRlX2Jvb2woZGV2LAo+ID4gRFJNX01PREVfUFJPUF9BVE9NSUMsCj4gPiA+ICAJCQki QUNUSVZFIik7Cj4gPiA+ICAJaWYgKCFwcm9wKQo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2RybV9wbGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9wbGFuZS5jCj4gPiA+IGlu ZGV4IDZkMmE2ZTQuLjA3MTIyMWIgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9k cm1fcGxhbmUuYwo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3BsYW5lLmMKPiA+ID4g QEAgLTExMDEsMyArMTEwMSwxNSBAQCBpbnQgZHJtX21vZGVfcGFnZV9mbGlwX2lvY3RsKHN0cnVj dAo+ID4gZHJtX2RldmljZSAqZGV2LAo+ID4gPgo+ID4gPiAgCXJldHVybiByZXQ7Cj4gPiA+ICB9 Cj4gPiA+ICsKPiA+ID4gKy8qKgo+ID4gPiArICogZHJtX3BsYW5lX2VuYWJsZV9kYW1hZ2VfY2xp cHMgLSBlbmFibGUgZGFtYWdlIGNsaXBzIHByb3BlcnR5Cj4gPiA+ICsgKiBAcGxhbmU6IHBsYW5l IG9uIHdoaWNoIHRoaXMgcHJvcGVydHkgdG8gZW5hYmxlLgo+ID4gPiArICovCj4gPiA+ICt2b2lk IGRybV9wbGFuZV9lbmFibGVfZGFtYWdlX2NsaXBzKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKQo+ ID4gPiArewo+ID4gPiArCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBwbGFuZS0+ZGV2Owo+ID4g PiArCXN0cnVjdCBkcm1fbW9kZV9jb25maWcgKmNvbmZpZyA9ICZkZXYtPm1vZGVfY29uZmlnOwo+ ID4gPiArCj4gPiA+ICsJZHJtX29iamVjdF9hdHRhY2hfcHJvcGVydHkoJnBsYW5lLT5iYXNlLCBj b25maWctCj4gPiA+cHJvcF9kYW1hZ2VfY2xpcHMsIDApOwo+ID4gPiArfQo+ID4gPiBkaWZmIC0t Z2l0IGEvaW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmlnLmgKPiA+IGIvaW5jbHVkZS9kcm0vZHJt X21vZGVfY29uZmlnLmgKPiA+ID4gaW5kZXggNzU2OWYyMi4uZDg3NjdkYSAxMDA2NDQKPiA+ID4g LS0tIGEvaW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmlnLmgKPiA+ID4gKysrIGIvaW5jbHVkZS9k cm0vZHJtX21vZGVfY29uZmlnLmgKPiA+ID4gQEAgLTYyOCw2ICs2MjgsMjEgQEAgc3RydWN0IGRy bV9tb2RlX2NvbmZpZyB7Cj4gPiA+ICAJICovCj4gPiA+ICAJc3RydWN0IGRybV9wcm9wZXJ0eSAq cHJvcF9jcnRjX2lkOwo+ID4gPiAgCS8qKgo+ID4gPiArCSAqIEBwcm9wX2RhbWFnZV9jbGlwczog T3B0aW9uYWwgcGxhbmUgcHJvcGVydHkgdG8gbWFyayBkYW1hZ2VkCj4gPiByZWdpb25zCj4gPiA+ ICsJICogb24gdGhlIHBsYW5lIGluIGZyYW1lYnVmZmVyIGNvb3JkaW5hdGVzIG9mIHRoZSBmcmFt ZWJ1ZmZlcgo+ID4gYXR0YWNoZWQKPiA+ID4gKwkgKiB0byB0aGUgcGxhbmUuCj4gPiAKPiA+IFdo eSBzaG91bGQgd2UgbWFrZSB0aGlzIG9wdGlvbmFsPyBMb29rcyBsaWtlIGp1c3QgYW5vdGhlciB0 aGluZyBkcml2ZXJzCj4gPiBtaWdodCBzY3JldyB1cCwgc2luY2Ugd2UgaGF2ZSBtdWx0aXBsZSBj YWxsYmFja3MgYW5kIHRoaW5ncyB0byBzZXQgdXAgZm9yCj4gPiBwcm9wZXIgZGlydHkgdHJhY2tp bmcuCj4gCj4gVGhhbmtzIERhbmllbCBmb3IgdGhlIHJldmlldy4KPiAKPiBJIHRoaW5rIG5vdCBh bGwgY29tcG9zaXRvciB3aWxsIGJlIGludGVyZXN0ZWQgaW4gc2VuZGluZyBkYW1hZ2UsIHRoYXQg d2FzIHRoZQo+IHJlYXNvbiB0byBtYWtlIHRoaXMgb3B0aW9uYWwuIEFsc28gd2hlbiBkYW1hZ2Ug aXMgbm90IHNldCB0aGF0IG1lYW5zCj4gdXNlci1zcGFjZSBuZWVkIGZ1bGwgdXBkYXRlIGp1c3Qg bGlrZSBlZ2xTd2FwQnVmZmVyc1dpdGhEYW1hZ2VLSFIuCj4gCj4gSSB3aWxsIGFkZCBiZXR0ZXIg ZG9jdW1lbnRhdGlvbi4KCkkgdGhpbmsgaWYgd2UgYWxzbyBoYW5kbGUgdGhpcyBjYXNlIGluIHRo ZSBoZWxwZXIgdGhhdCdkIGJlIGV2ZW4gYmV0dGVyOgpJbiB0aGUgY2FzZSBvZiBubyBkYW1hZ2Us IHRoZSBoZWxwZXIvY29yZSBjb2RlIGNvdWxkIGF1dG9tYXRpY2FsbHkgc3VwcGx5CmEgZGFtYWdl IHJlY3QgZm9yIHRoZSBlbnRpcmUgYnVmZmVyLiBUaGF0IHdheSBkcml2ZXJzIGRvbid0IGhhdmUg dG8gaGFuZGxlCnRoaXMgY2FzZSBzcGVjaWFsbHkuCi1EYW5pZWwKLS0gCkRhbmllbCBWZXR0ZXIK U29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNo Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZl bCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=