From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 1/9] drm: Add variable refresh rate properties to DRM connector Date: Tue, 11 Sep 2018 20:56:37 +0300 Message-ID: <20180911175637.GP5565@intel.com> References: <20180911161333.5334-1-nicholas.kazlauskas@amd.com> <20180911161333.5334-2-nicholas.kazlauskas@amd.com> <20180911162243.GN5565@intel.com> <20180911163119.GO5565@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: "Kazlauskas, Nicholas" Cc: Aric.Cyr-5C7GfCeVMHo@public.gmane.org, nicolai.haehnle-5C7GfCeVMHo@public.gmane.org, michel-otUistvHUpPR7s880joybQ@public.gmane.org, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Christian.Koenig-5C7GfCeVMHo@public.gmane.org, manasi.d.navare-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, daniel-/w4YWyX8dFk@public.gmane.org, Alexander.Deucher-5C7GfCeVMHo@public.gmane.org, harry.wentland-5C7GfCeVMHo@public.gmane.org, Marek.Olsak-5C7GfCeVMHo@public.gmane.org T24gVHVlLCBTZXAgMTEsIDIwMTggYXQgMDE6MzY6MDFQTSAtMDQwMCwgS2F6bGF1c2thcywgTmlj aG9sYXMgd3JvdGU6Cj4gT24gMDkvMTEvMjAxOCAxMjozMSBQTSwgVmlsbGUgU3lyasOkbMOkIHdy b3RlOgo+ID4gT24gVHVlLCBTZXAgMTEsIDIwMTggYXQgMDc6MjI6NDNQTSArMDMwMCwgVmlsbGUg U3lyasOkbMOkIHdyb3RlOgo+ID4+IE9uIFR1ZSwgU2VwIDExLCAyMDE4IGF0IDEyOjEzOjI1UE0g LTA0MDAsIE5pY2hvbGFzIEthemxhdXNrYXMgd3JvdGU6Cj4gPj4+IE1vZGVybiBtb25pdG9yIGhh cmR3YXJlIGlzIGNhcGFibGUgb2Ygc3VwcG9ydGluZyB2YXJpYWJsZSByZWZyZXNoIHJhdGVzCj4g Pj4+IGFuZCBhZGFwdGl2ZSBzeW5jIHRlY2hub2xvZ2llcy4gVGhlIHByb3BlcnRpZXMgZm9yIHF1 ZXJ5aW5nIGFuZAo+ID4+PiBjb250cm9sbGluZyB0aGVzZSBmZWF0dXJlcyBzaG91bGQgYmUgZXhw b3NlZCBvbiB0aGUgRFJNIGNvbm5lY3Rvci4KPiA+Pj4KPiA+Pj4gVGhpcyBwYXRjaCBpbnRyb2R1 Y2VzIHR3byBuZXcgcHJvcGVydGllcyBmb3IgdmFyaWFibGUgcmVmcmVzaCByYXRlCj4gPj4+IHN1 cHBvcnQ6Cj4gPj4+Cj4gPj4+IC0gdmFyaWFibGVfcmVmcmVzaF9jYXBhYmxlCj4gPj4+IC0gdmFy aWFibGVfcmVmcmVzaF9lbmFibGVkCj4gPj4+Cj4gPj4+IFRoZXNlIGFyZSBvcHRpb25hbCBwcm9w ZXJ0aWVzIHRoYXQgY2FuIGJlIGFkZGVkIHRvIGEgRFJNIGNvbm5lY3Rvcgo+ID4+PiBkeW5hbWlj YWxseSBieSB1c2luZyBkcm1fY29ubmVjdG9yX2F0dGFjaF92YXJpYWJsZV9yZWZyZXNoX3Byb3Bl cnRpZXMuCj4gPj4+Cj4gPj4+IERSTSBkcml2ZXJzIHNob3VsZCBzZXQgdmFyaWFibGVfcmVmcmVz aF9jYXBhYmxlIGFzIGFwcGxpY2FibGUgZm9yCj4gPj4+IHRoZWlyIGhhcmR3YXJlLiBUaGUgcHJv cGVydHkgdmFyaWFibGVfcmVmcmVzaF9lbmFibGVkIGFzIGEgdXNlcnNwYWNlCj4gPj4+IGNvbnRy b2xsZWQgb3B0aW9uLgo+ID4+Pgo+ID4+PiBDaGFuZ2UtSWQ6IEk1ZjYwZjhiNTc1MzRlMWQzZGFj ZGE0YzY0YzZjOTEwNmI0MmY0NDM5Cj4gPj4+IFNpZ25lZC1vZmYtYnk6IE5pY2hvbGFzIEthemxh dXNrYXMgPG5pY2hvbGFzLmthemxhdXNrYXNAYW1kLmNvbT4KPiA+Pj4gLS0tCj4gPj4+ICAgZHJp dmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyAgICB8ICA5ICsrKysrKysrKwo+ID4+PiAgIGRyaXZl cnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMgfCAzNSArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKPiA+Pj4gICBpbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmggICAgIHwgMjcgKysr KysrKysrKysrKysrKysrKysrKysrKwo+ID4+PiAgIDMgZmlsZXMgY2hhbmdlZCwgNzEgaW5zZXJ0 aW9ucygrKQo+ID4+Pgo+ID4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9t aWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPiA+Pj4gaW5kZXggZDA0NzhhYmMw MWJkLi4yZjg5YWIwZmFjODcgMTAwNjQ0Cj4gPj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1f YXRvbWljLmMKPiA+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+ID4+PiBA QCAtMTQwMyw2ICsxNDAzLDExIEBAIHN0YXRpYyBpbnQgZHJtX2F0b21pY19jb25uZWN0b3Jfc2V0 X3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gPj4+ICAgCQlzdGF0 ZS0+Y29udGVudF90eXBlID0gdmFsOwo+ID4+PiAgIAl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNv bm5lY3Rvci0+c2NhbGluZ19tb2RlX3Byb3BlcnR5KSB7Cj4gPj4+ICAgCQlzdGF0ZS0+c2NhbGlu Z19tb2RlID0gdmFsOwo+ID4+PiArCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29ubmVjdG9yLT52 YXJpYWJsZV9yZWZyZXNoX2NhcGFibGVfcHJvcGVydHkpIHsKPiA+Pj4gKwkJRFJNX0RFQlVHX0tN Uygib25seSBkcml2ZXJzIGNhbiBzZXQgdmFyaWFibGVfcmVmcmVzaF9jYXBhYmxlXG4iKTsKPiA+ Pj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gPj4KPiA+PiBXaHkgaXMgdGhhdCBuZWVkZWQ/IFdoeSBu b3QganVzdCBhdm9pZCBleHBvc2luZyB0aGUgdnJyX2VuYWJsZWQgcHJvcAo+ID4+IHdoZW4gaXQn cyBub3Qgc3VwcG9ydGVkPwo+ID4gCj4gPiBBaCwgSSBndWVzcyB5b3Ugd2FudCB0byBjaGFuZ2Ug dGhlIHZhbHVlIGFmdGVyIHBsdWdnaW5nIGluIGEgbmV3Cj4gPiBkaXNwbGF5LiBZZWFoLCBpZiB3 ZSBkb24ndCB3YW50IHVzZXJzcGFjZSB0byBoYXZlIHRvIHBhcnNlIHRoZSBFRElEIEkKPiA+IGd1 ZXNzIHdlIG5lZWQgdGhpcy4gQnV0IGluIHRoYXQgY2FzZSBpdCBzaG91bGQgYmUgbWFya2VkIGlt bXV0YWJsZSwKPiA+IGFuZCB0aGVuIHlvdSBkb24ndCBuZWVkIGFueSBvZiB0aGlzIGF0b21pYyBz dGF0ZSByZWxhdGVkIGNvZGUgZm9yIGl0Lgo+IAo+IFllYWgsIGl0J3MgZm9yIGhvdHBsdWdnaW5n IHRoYXQgaXQgd29ya3MgdGhpcyB3YXkuIFRoZSByZWFzb24gaXQncyBub3QgCj4gbWFya2VkIGFz IGltbXV0YWJsZSBpcyBtb3N0bHkgY29udmVudGlvbiAtIHRoZSBleGlzdGluZyBkcml2ZXIgCj4g d3JpdGUtb25seSBwcm9wZXJ0aWVzICh3aXRoIHVzZXJzcGFjZSBxdWVyaWVzKSBkbyB0aGUgc2Ft ZSB0aGluZy4KPiAKPiBUaGUgaW1tdXRhYmxlIHByb3BlcnR5IGZsYWcgaXMgb25seSB1c2VkIGZv ciBub24tY29ubmVjdG9yIHByb3BlcnRpZXMuIAoKVGhlcmUgYXJlIHBsZW50eSBvZiBpbW11dGFi bGUgY29ubmVjdG9yIHByb3BlcnRpZXM6IEVESUQsIFRJTEUsCm5vbi1kZXNrdG9wLCBldGMuIEkn bSBwcmV0dHkgc3VyZSB0aGVyZSBhcmUgbW9yZSBpbW11dGFibGUgY29ubmVjdG9yCnByb3BlcnRp ZXMgdGhhbiB0aGVyZSBhcmUgaW1tdXRhYmxlIHByb3BlcnRpZXMgb24gb3RoZXIgdHlwZXMgb2YK b2JqZWN0cy4gQW5kIGNvbnNpZGVyaW5nIGltbXV0YWJsZSBjb25uZWN0b3IgcHJvcGVydGllcyBl eGlzdGVkCmJlZm9yZSBvdGhlciB0eXBlcyBvZiBvYmplY3RzIGV2ZW4gaGFkIGFueSBwcm9wZXJ0 aWVzIEknZCBzYXkKaXQncyB3ZWxsIGVzdGFibGlzaGVkIGJ5IG5vdyA6KQoKPiBEdXJpbmcgdGVz dGluZyBJIGFsc28gbm90aWNlZCB0aGF0IHNvbWV0aGluZyBsaWtlcyB0byBjYWNoZSB0aGUgaW5p dGlhbCAKPiBkZWZhdWx0IHZhbHVlIGZvciB0aGVzZSBpbW11dGFibGUgZmxhZ2dlZCBwcm9wZXJ0 aWVzIGZvciB1c2Vyc3BhY2UgCj4gcXVlcmllcyAtIHNvIHdoZW4geW91IGNhbGwgeHJhbmRyIHlv dSBvbmx5IGVuZCB1cCBzZWVpbmcgdGhlIGRlZmF1bHQgCj4gdmFsdWUgYW5kIG5vdCB0aGUgY3Vy cmVudC4KCid4cmFuZHIgLS1jdXJyZW50JyBpcyBzdXBwb3NlZCB0byBub3QgcHJvYmUgaGFyZCBm b3IgbmV3IHN0dWZmLiBXaXRob3V0CnRoZSAtLWN1cnJlbnQgaXQgbWF5IG9yIG1heSBub3QgcmVz dWx0IGluIGEgZnVsbCBwcm9iZSBkZXBlbmRpbmcgb24gdGhlCmltcGxlbWVudGF0aW9uIGluIHRo ZSBkZHggYW5kIG9yIHRoZSBrbXMgZHJpdmVyLiBBIGZ1bGwgcHJvYmUgc2hvdWxkCmRlZmluaXRl bHkgaGFwcGVuIGFmdGVyIGEgaG90cGx1Zy4gSWYgaXQncyBub3QgaGFwcGVuaW5nIHRoZW4gdGhl cmUgaXMKYSBidWcgc29tZXdoZXJlLgoKPiAKPiA+IAo+ID4+Cj4gPj4+ICsJfSBlbHNlIGlmIChw cm9wZXJ0eSA9PSBjb25uZWN0b3ItPnZhcmlhYmxlX3JlZnJlc2hfZW5hYmxlZF9wcm9wZXJ0eSkg ewo+ID4+PiArCQlzdGF0ZS0+dmFyaWFibGVfcmVmcmVzaF9lbmFibGVkID0gdmFsOwo+ID4+Cj4g Pj4gU28gb25lIHRoaW5nIEkgYWxyZWFkeSBhc2tlZCBsb25nIGFnbyBpcyB3aGV0aGVyIHRoZXJl IHdvdWxkIGEgcG9pbnQgaW4KPiA+PiBleHBvc2luZyBzb21lIGtpbmQgb2YgbWluL21heCByZWZy ZXNoIHJhdGUgcmFuZ2UgY29udHJvbC4gTmV2ZXIgcmVhbGx5Cj4gPj4gZ290IGFuIGFuc3dlci4g V2FzIHNvbWVodGluZyBsaWtlIHRoYXQgY29uc2lkZXJlZCBhbmQgcmVqZWN0ZWQ/Cj4gCj4gRm9y IHRoZSBpbml0aWFsIHBhdGNoc2V0IGl0IHNlZW1lZCBiZXN0IHRvIGtlZXAgdGhpbmdzIHNpbXBs ZSBhbmQgdGFyZ2V0IAo+IHRoZSBkeW5hbWljIGFkYXB0YXRpb24gdXNlY2FzZSB3aXRoIG9uL29m ZiB0b2dnbGUuCj4gCj4gVGhlIGRyaXZlciBoYXZpbmcgYWNjZXNzIHRvIHRoZSBmdWxsIHJhbmdl IGNhbiBlbmFibGUgYWRkaXRpb25hbCAKPiBmdW5jdGlvbmFsaXR5IHRoYXQgY2FuIGltcHJvdmUg dGhlIHVzZXIgZXhwZXJpZW5jZSAtIGEgZ29vZCBleGFtcGxlIGlzIAo+IGxvdyBmcmFtZXJhdGUg Y29tcGVuc2F0aW9uLgo+IAo+IEFkZGluZyB0aGUgcHJvcGVydGllcyB0byBzdXBwb3J0IHNldHRp bmcgdGhlIG1pbi9tYXggY291bGQgYmUgZG9uZSBvbiAKPiB0b3Agb2YgdGhpcywgaG93ZXZlci4g RHJpdmVyIGJlaGF2aW9yIHdvdWxkIGxpa2VseSBuZWVkIHRvIGJlIGRlZmluZWQgCj4gZm9yIGF0 b21pYyBjaGVjay4gVGhlIGRyaXZlciBuZWVkcyB0byB2ZXJpZnkgd2l0aCB0aGUgbW9uaXRvciB0 aGF0IHRoZSAKPiByYW5nZXMgYXJlIHZhbGlkIGF0IHNvbWUgcG9pbnQgLSB3aGV0aGVyIGl0IHNp bGVudGx5IGZhaWxzIG9yIHJldHVybnMgYW4gCj4gZXJyb3IgaXMgYW4gZXhhbXBsZSBvZiBzb21l dGhpbmcgdG8gY29uc2lkZXIgaGVyZS4KPiAKPiBEbyB5b3UgaGF2ZSBhIHNwZWNpZmljIHVzZWNh c2UgaW4gbWluZCB0aGF0IG5lZWRzIG1pbi9tYXggZXhwb3NlZCB0byAKPiB1c2Vyc3BhY2U/CgpO b3QgcmVhbGx5LiBTb21lIHZhZ3VlIGlkZWFzIGFib3V0IHZpZGVvIHBsYXliYWNrIGFuZCBzdWNo LCBhbmQgbWF5YmUKanVzdCBmb3IgcG93ZXIgc2F2aW5nLiBJdCB3YXMganVzdCBhbiBpZGVhIHRo YXQgb2NjdXJyZWQgdG8gbWUgd2hlbgp0aGlua2luZyBhYm91dCB0aGlzIHN0dWZmLiBBbHRob3Vn aCBJIHN1cHBvc2UgdGhlIGNvbXBvc2l0b3IgY291bGQKYWx3YXlzIHRocm90dGxlIHRoZSBmbGlw IHJhdGUgdXNpbmcgb3RoZXIgbWVhbnMuIEFuZCBpbiB0bmUgZW5kIGl0CmNvbWVzIGRvd24gdG8g YSBwb2xpY3kgcXVlc3Rpb24gb2YgaG93IHRoZSBjb21wb3NpdG9yIHdvdWxkIGRlY2lkZQp3aGF0 IHRoZSBhbGxvd2VkIHJhbmdlIGlzLgoKPiAKPiA+Pgo+ID4+PiAgIAl9IGVsc2UgaWYgKHByb3Bl cnR5ID09IGNvbm5lY3Rvci0+Y29udGVudF9wcm90ZWN0aW9uX3Byb3BlcnR5KSB7Cj4gPj4+ICAg CQlpZiAodmFsID09IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9FTkFCTEVEKSB7Cj4gPj4+ ICAgCQkJRFJNX0RFQlVHX0tNUygib25seSBkcml2ZXJzIGNhbiBzZXQgQ1AgRW5hYmxlZFxuIik7 Cj4gPj4+IEBAIC0xNTA4LDYgKzE1MTMsMTAgQEAgZHJtX2F0b21pY19jb25uZWN0b3JfZ2V0X3By b3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gPj4+ICAgCQkqdmFsID0g c3RhdGUtPmNvbnRlbnRfdHlwZTsKPiA+Pj4gICAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25u ZWN0b3ItPnNjYWxpbmdfbW9kZV9wcm9wZXJ0eSkgewo+ID4+PiAgIAkJKnZhbCA9IHN0YXRlLT5z Y2FsaW5nX21vZGU7Cj4gPj4+ICsJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25uZWN0b3ItPnZh cmlhYmxlX3JlZnJlc2hfY2FwYWJsZV9wcm9wZXJ0eSkgewo+ID4+PiArCQkqdmFsID0gc3RhdGUt PnZhcmlhYmxlX3JlZnJlc2hfY2FwYWJsZTsKPiA+Pj4gKwl9IGVsc2UgaWYgKHByb3BlcnR5ID09 IGNvbm5lY3Rvci0+dmFyaWFibGVfcmVmcmVzaF9lbmFibGVkX3Byb3BlcnR5KSB7Cj4gPj4+ICsJ CSp2YWwgPSBzdGF0ZS0+dmFyaWFibGVfcmVmcmVzaF9lbmFibGVkOwo+ID4+PiAgIAl9IGVsc2Ug aWYgKHByb3BlcnR5ID09IGNvbm5lY3Rvci0+Y29udGVudF9wcm90ZWN0aW9uX3Byb3BlcnR5KSB7 Cj4gPj4+ICAgCQkqdmFsID0gc3RhdGUtPmNvbnRlbnRfcHJvdGVjdGlvbjsKPiA+Pj4gICAJfSBl bHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPndyaXRlYmFja19mYl9pZF9wcm9wZXJ0eSkgewo+ ID4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKPiA+Pj4gaW5kZXggNjAxMWQ3NjlkNTBiLi4zN2Zi MzNmYTc3YjkgMTAwNjQ0Cj4gPj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9y LmMKPiA+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYwo+ID4+PiBAQCAt MTI1MCw2ICsxMjUwLDQxIEBAIGludCBkcm1fbW9kZV9jcmVhdGVfc2NhbGluZ19tb2RlX3Byb3Bl cnR5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gPj4+ICAgfQo+ID4+PiAgIEVYUE9SVF9TWU1C T0woZHJtX21vZGVfY3JlYXRlX3NjYWxpbmdfbW9kZV9wcm9wZXJ0eSk7Cj4gPj4+ICAgCj4gPj4+ ICsvKioKPiA+Pj4gKyAqIGRybV9jb25uZWN0b3JfYXR0YWNoX3ZhcmlhYmxlX3JlZnJlc2hfcHJv cGVydGllcyAtIGNyZWF0ZXMgYW5kIGF0dGFjaGVzCj4gPj4+ICsgKiBwcm9wZXJ0aWVzIGZvciBj b25uZWN0b3JzIHRoYXQgc3VwcG9ydCBhZGFwdGl2ZSByZWZyZXNoCj4gPj4+ICsgKiBAY29ubmVj dG9yOiBjb25uZWN0b3IgdG8gY3JlYXRlIGFkYXB0aXZlIHJlZnJlc2ggcHJvcGVydGllcyBvbgo+ ID4+PiArICovCj4gPj4+ICtpbnQgZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfdmFyaWFibGVfcmVmcmVz aF9wcm9wZXJ0aWVzKAo+ID4+PiArCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4g Pj4+ICt7Cj4gPj4+ICsJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+ZGV2Owo+ ID4+PiArCXN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3A7Cj4gPj4+ICsKPiA+Pj4gKwlpZiAoIWNv bm5lY3Rvci0+dmFyaWFibGVfcmVmcmVzaF9jYXBhYmxlX3Byb3BlcnR5KSB7Cj4gPj4+ICsJCXBy b3AgPSBkcm1fcHJvcGVydHlfY3JlYXRlX2Jvb2woZGV2LCAwLAo+ID4+PiArCQkJInZhcmlhYmxl X3JlZnJlc2hfY2FwYWJsZSIpOwo+ID4+PiArCQlpZiAoIXByb3ApCj4gPj4+ICsJCQlyZXR1cm4g LUVOT01FTTsKPiA+Pj4gKwo+ID4+PiArCQljb25uZWN0b3ItPnZhcmlhYmxlX3JlZnJlc2hfY2Fw YWJsZV9wcm9wZXJ0eSA9IHByb3A7Cj4gPj4+ICsJCWRybV9vYmplY3RfYXR0YWNoX3Byb3BlcnR5 KCZjb25uZWN0b3ItPmJhc2UsIHByb3AsIDApOwo+ID4+PiArCX0KPiA+Pj4gKwo+ID4+PiArCWlm ICghY29ubmVjdG9yLT52YXJpYWJsZV9yZWZyZXNoX2VuYWJsZWRfcHJvcGVydHkpIHsKPiA+Pj4g KwkJcHJvcCA9IGRybV9wcm9wZXJ0eV9jcmVhdGVfYm9vbChkZXYsIDAsCj4gPj4+ICsJCQkidmFy aWFibGVfcmVmcmVzaF9lbmFibGVkIik7Cj4gPj4+ICsJCWlmICghcHJvcCkKPiA+Pj4gKwkJCXJl dHVybiAtRU5PTUVNOwo+ID4+PiArCj4gPj4+ICsJCWNvbm5lY3Rvci0+dmFyaWFibGVfcmVmcmVz aF9lbmFibGVkX3Byb3BlcnR5ID0gcHJvcDsKPiA+Pj4gKwkJZHJtX29iamVjdF9hdHRhY2hfcHJv cGVydHkoJmNvbm5lY3Rvci0+YmFzZSwgcHJvcCwgMCk7Cj4gPj4+ICsJfQo+ID4+PiArCj4gPj4+ ICsJcmV0dXJuIDA7Cj4gPj4+ICt9Cj4gPj4+ICtFWFBPUlRfU1lNQk9MKGRybV9jb25uZWN0b3Jf YXR0YWNoX3ZhcmlhYmxlX3JlZnJlc2hfcHJvcGVydGllcyk7Cj4gPj4+ICsKPiA+Pj4gICAvKioK PiA+Pj4gICAgKiBkcm1fY29ubmVjdG9yX2F0dGFjaF9zY2FsaW5nX21vZGVfcHJvcGVydHkgLSBh dHRhY2ggYXRvbWljIHNjYWxpbmcgbW9kZSBwcm9wZXJ0eQo+ID4+PiAgICAqIEBjb25uZWN0b3I6 IGNvbm5lY3RvciB0byBhdHRhY2ggc2NhbGluZyBtb2RlIHByb3BlcnR5IG9uLgo+ID4+PiBkaWZm IC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oIGIvaW5jbHVkZS9kcm0vZHJtX2Nv bm5lY3Rvci5oCj4gPj4+IGluZGV4IDk3ZWE0MWRjNjc4Zi4uMTA1YTEyN2U5MTkxIDEwMDY0NAo+ ID4+PiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKPiA+Pj4gKysrIGIvaW5jbHVk ZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCj4gPj4+IEBAIC00NDgsNiArNDQ4LDE4IEBAIHN0cnVjdCBk cm1fY29ubmVjdG9yX3N0YXRlIHsKPiA+Pj4gICAJICovCj4gPj4+ICAgCXVuc2lnbmVkIGludCBj b250ZW50X3Byb3RlY3Rpb247Cj4gPj4+ICAgCj4gPj4+ICsJLyoqCj4gPj4+ICsJICogQHZhcmlh YmxlX3JlZnJlc2hfZW5hYmxlZDogQ29ubmVjdG9yIHByb3BlcnR5IHVzZWQgdG8gY2hlY2sKPiA+ Pj4gKwkgKiBpZiB2YXJpYWJsZSByZWZyZXNoIGlzIHN1cHBvcnRlZCBvbiB0aGUgZGV2aWNlLgo+ ID4+PiArCSAqLwo+ID4+PiArCWJvb2wgdmFyaWFibGVfcmVmcmVzaF9jYXBhYmxlOwo+ID4+PiAr Cj4gPj4+ICsJLyoqCj4gPj4+ICsJICogQHZhcmlhYmxlX3JlZnJlc2hfZW5hYmxlZDogQ29ubmVj dG9yIHByb3BlcnR5IHVzZWQgdG8gY2hlY2sKPiA+Pj4gKwkgKiBpZiB2YXJpYWJsZSByZWZyZXNo IGlzIGVuYWJsZWQuCj4gPj4+ICsJICovCj4gPj4+ICsJYm9vbCB2YXJpYWJsZV9yZWZyZXNoX2Vu YWJsZWQ7Cj4gPj4+ICsKPiA+Pj4gICAJLyoqCj4gPj4+ICAgCSAqIEB3cml0ZWJhY2tfam9iOiBX cml0ZWJhY2sgam9iIGZvciB3cml0ZWJhY2sgY29ubmVjdG9ycwo+ID4+PiAgIAkgKgo+ID4+PiBA QCAtOTA5LDYgKzkyMSwxOSBAQCBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciB7Cj4gPj4+ICAgCSAqLwo+ ID4+PiAgIAlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpzY2FsaW5nX21vZGVfcHJvcGVydHk7Cj4gPj4+ ICAgCj4gPj4+ICsJLyoqCj4gPj4+ICsJICogQHZhcmlhYmxlX3JlZnJlc2hfY2FwYWJsZV9wcm9w ZXJ0eTogT3B0aW9uYWwgcHJvcGVydHkgZm9yCj4gPj4+ICsJICogcXVlcnlpbmcgaGFyZHdhcmUg c3VwcG9ydCBmb3IgdmFyaWFibGUgcmVmcmVzaC4KPiA+Pj4gKwkgKi8KPiA+Pj4gKwlzdHJ1Y3Qg ZHJtX3Byb3BlcnR5ICp2YXJpYWJsZV9yZWZyZXNoX2NhcGFibGVfcHJvcGVydHk7Cj4gPj4+ICsK PiA+Pj4gKwkvKioKPiA+Pj4gKwkgKiBAdmFyaWFibGVfcmVmcmVzaF9lbmFibGVkX3Byb3BlcnR5 OiBPcHRpb25hbCBwcm9wZXJ0eSBmb3IKPiA+Pj4gKwkgKiBlbmFibGluZyBvciBkaXNhYmxpbmcg c3VwcG9ydCBmb3IgdmFyaWFibGUgcmVmcmVzaAo+ID4+PiArCSAqIG9uIHRoZSBjb25uZWN0b3Iu Cj4gPj4+ICsJICovCj4gPj4+ICsJc3RydWN0IGRybV9wcm9wZXJ0eSAqdmFyaWFibGVfcmVmcmVz aF9lbmFibGVkX3Byb3BlcnR5Owo+ID4+PiArCj4gPj4+ICAgCS8qKgo+ID4+PiAgIAkgKiBAY29u dGVudF9wcm90ZWN0aW9uX3Byb3BlcnR5OiBEUk0gRU5VTSBwcm9wZXJ0eSBmb3IgY29udGVudAo+ ID4+PiAgIAkgKiBwcm90ZWN0aW9uLiBTZWUgZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfY29udGVudF9w cm90ZWN0aW9uX3Byb3BlcnR5KCkuCj4gPj4+IEBAIC0xMTgyLDYgKzEyMDcsOCBAQCBpbnQgZHJt X21vZGVfY3JlYXRlX3NjYWxpbmdfbW9kZV9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KTsKPiA+Pj4gICBpbnQgZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfY29udGVudF90eXBlX3Byb3BlcnR5 KHN0cnVjdCBkcm1fY29ubmVjdG9yICpkZXYpOwo+ID4+PiAgIGludCBkcm1fY29ubmVjdG9yX2F0 dGFjaF9zY2FsaW5nX21vZGVfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rv ciwKPiA+Pj4gICAJCQkJCSAgICAgICB1MzIgc2NhbGluZ19tb2RlX21hc2spOwo+ID4+PiAraW50 IGRybV9jb25uZWN0b3JfYXR0YWNoX3ZhcmlhYmxlX3JlZnJlc2hfcHJvcGVydGllcygKPiA+Pj4g KwlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKPiA+Pj4gICBpbnQgZHJtX2Nvbm5l Y3Rvcl9hdHRhY2hfY29udGVudF9wcm90ZWN0aW9uX3Byb3BlcnR5KAo+ID4+PiAgIAkJc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rvcik7Cj4gPj4+ICAgaW50IGRybV9tb2RlX2NyZWF0ZV9h c3BlY3RfcmF0aW9fcHJvcGVydHkoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gPj4+IC0tIAo+ ID4+PiAyLjE3LjEKPiA+Pgo+ID4+IC0tIAo+ID4+IFZpbGxlIFN5cmrDpGzDpAo+ID4+IEludGVs Cj4gPiAKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9hbWQtZ2Z4Cg==