From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [Intel-gfx] [PATCH 14/15] drm/i915/tv: Fix >1024 modes on gen3 Date: Fri, 25 Jan 2019 20:11:50 +0200 Message-ID: <20190125181150.GM20097@intel.com> References: <20181112170000.27531-1-ville.syrjala@linux.intel.com> <20181112170000.27531-16-ville.syrjala@linux.intel.com> <20190123134902.GE17259@ideak-desk.fi.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: <20190123134902.GE17259@ideak-desk.fi.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Imre Deak Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBKYW4gMjMsIDIwMTkgYXQgMDM6NDk6MDJQTSArMDIwMCwgSW1yZSBEZWFrIHdyb3Rl Ogo+IE9uIE1vbiwgTm92IDEyLCAyMDE4IGF0IDA2OjU5OjU5UE0gKzAyMDAsIFZpbGxlIFN5cmph bGEgd3JvdGU6Cj4gPiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXgu aW50ZWwuY29tPgo+ID4gCj4gPiBPbiBnZW4zIHdlIG11c3QgZGlzYWJsZSB0aGUgVFYgZW5jb2Rl ciB2ZXJ0aWNhbCBmaWx0ZXIgZm9yID4xMDI0Cj4gPiBwaXhlbCB3aWRlIHNvdXJjZXMuIE9uY2Ug dGhhdCdzIGRvbmUgYWxsIHdlIGNhbiBpcyB0cnkgdG8gY2VudGVyCj4gPiB0aGUgaW1hZ2Ugb24g dGhlIHNjcmVlbi4gTmF0dXJhbGx5IHRoZSBUViBtb2RlIHZlcnRpY2FsIHJlc29sdXRpb24KPiA+ IG11c3QgYmUgZXF1YWwgb3IgbGFyZ2VyIHRoYW4gdGhlIHVzZXIgbW9kZSB2ZXJ0aWNhbCByZXNv bHV0aW9uCj4gPiBvciBlbHNlIHdlJ2QgaGF2ZSB0byBjdXQgb2ZmIHBhcnQgb2YgdGhlIHVzZXIg bW9kZS4KPiA+IAo+ID4gQW5kIHdoaWxlIHdlIG1heSBub3QgYmUgYWJsZSB0byByZXNwZWN0IHRo ZSB1c2VyJ3MgY2hvaWNlIG9mCj4gPiB0b3AgYW5kIGJvdHRvbSBib3JkZXJzIGV4YWN0bHkgKG9y IHdlJ2QgaGF2ZSB0byByZWplY3QgaGUgbW9kZQo+ID4gbW9zdCBsaWtlbHkpLCB3ZSBjYW4gdHJ5 IHRvIG1haW50YWluIHRoZSByZWxhdGl2ZSBzaXplcyBvZiB0aGUKPiA+IHRvcCBhbmQgYm90dG9t IGJvcmRlciB3aXRoIHJlc3BlY3QgdG8gZWFjaCBvcmhlci4KPiA+IAo+ID4gQWRkaXRpb25hbGx5 IHdlIG11c3QgY29uZmlndXJlIHRoZSBwaXBlIGFzIGludGVybGFjZWQgaWYgdGhlCj4gPiBUViBt b2RlIGlzIGludGVybGFjZWQuCj4gPiAKPiA+IFNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzD pCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gPiAtLS0KPiA+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF90di5jIHwgMTAwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr LS0tCj4gPiAgMSBmaWxlIGNoYW5nZWQsIDkyIGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0p Cj4gPiAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF90di5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdHYuYwo+ID4gaW5kZXggNzUxMjZmY2U2NTVkLi43 MDk5ZDgzN2UzMWEgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF90 di5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF90di5jCj4gPiBAQCAtODYx LDYgKzg2MSw0NCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHR2X21vZGUgdHZfbW9kZXNbXSA9IHsK PiA+ICAJfSwKPiA+ICB9Owo+ID4gIAo+ID4gK3N0cnVjdCBpbnRlbF90dl9jb25uZWN0b3Jfc3Rh dGUgewo+ID4gKwlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSBiYXNlOwo+ID4gKwo+ID4gKwkv Kgo+ID4gKwkgKiBNYXkgbmVlZCB0byBvdmVycmlkZSB0aGUgdXNlciBtYXJnaW5zIGZvcgo+ID4g KwkgKiBnZW4zID4xMDI0IHdpZGUgc291cmNlIHZlcnRpY2FsIGNlbnRlcmluZy4KPiA+ICsJICov Cj4gPiArCXN0cnVjdCB7Cj4gPiArCQl1MTYgdG9wLCBib3R0b207Cj4gPiArCX0gbWFyZ2luczsK PiA+ICsKPiA+ICsJYm9vbCBieXBhc3NfdmZpbHRlcjsKPiA+ICt9Owo+ID4gKwo+ID4gKyNkZWZp bmUgdG9faW50ZWxfdHZfY29ubmVjdG9yX3N0YXRlKHgpIGNvbnRhaW5lcl9vZih4LCBzdHJ1Y3Qg aW50ZWxfdHZfY29ubmVjdG9yX3N0YXRlLCBiYXNlKQo+ID4gKwo+ID4gKy8qKgo+ID4gKyAqIGlu dGVsX2RpZ2l0YWxfY29ubmVjdG9yX2R1cGxpY2F0ZV9zdGF0ZSAtIGR1cGxpY2F0ZSBjb25uZWN0 b3Igc3RhdGUKPiAgICAgICBeaW50ZWxfdHZfY29ubmVjdG9yX2R1cGxpY2F0ZV9zdGF0ZQo+ID4g KyAqIEBjb25uZWN0b3I6IGRpZ2l0YWwgY29ubmVjdG9yCj4gICAgICAgICAgICAgICAgICAgXnR2 IGNvbm5lY3Rvcj8KCkNvcHkgcGFzdGUgZmFpbC4gSSBqdXN0IGRyb3BwZWQgdGhlIGtlcm5lbGRv YyBoZXJlIGFuZCBtYWRlIHRoZQpmdW5jdGlvbiBzdGF0aWMuIEFsc28gZml4ZWQgdXAgdGhlIHMv SVNfR0VOMyh4KS9JU19HRU4oeCwzKS8gdHlwZQpvZiB0aGluZ3MgYW5kIHB1c2hlZCB0aGUgbG90 IHRvIGRpbnEuCgpUaGFua3MgZm9yIHRoZSByZXZpZXcuCgo+ID4gKyAqCj4gPiArICogQWxsb2Nh dGVzIGFuZCByZXR1cm5zIGEgY29weSBvZiB0aGUgY29ubmVjdG9yIHN0YXRlIChib3RoIGNvbW1v biBhbmQKPiA+ICsgKiBkaWdpdGFsIGNvbm5lY3RvciBzcGVjaWZpYykgZm9yIHRoZSBzcGVjaWZp ZWQgY29ubmVjdG9yLgo+ID4gKyAqCj4gPiArICogUmV0dXJuczogVGhlIG5ld2x5IGFsbG9jYXRl ZCBjb25uZWN0b3Igc3RhdGUsIG9yIE5VTEwgb24gZmFpbHVyZS4KPiA+ICsgKi8KPiA+ICtzdHJ1 Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqCj4gPiAraW50ZWxfdHZfY29ubmVjdG9yX2R1cGxpY2F0 ZV9zdGF0ZShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ID4gK3sKPiA+ICsJc3Ry dWN0IGludGVsX3R2X2Nvbm5lY3Rvcl9zdGF0ZSAqc3RhdGU7Cj4gPiArCj4gPiArCXN0YXRlID0g a21lbWR1cChjb25uZWN0b3ItPnN0YXRlLCBzaXplb2YoKnN0YXRlKSwgR0ZQX0tFUk5FTCk7Cj4g PiArCWlmICghc3RhdGUpCj4gPiArCQlyZXR1cm4gTlVMTDsKPiA+ICsKPiA+ICsJX19kcm1fYXRv bWljX2hlbHBlcl9jb25uZWN0b3JfZHVwbGljYXRlX3N0YXRlKGNvbm5lY3RvciwgJnN0YXRlLT5i YXNlKTsKPiA+ICsJcmV0dXJuICZzdGF0ZS0+YmFzZTsKPiA+ICt9Cj4gCj4gWW91IGRpZG4ndCBh ZGQgdGhlIGNvcnJlc3BvbmRpbmcgY2hlY2tzIGZvciB0aGUgbmV3Cj4gaW50ZWxfdHZfY29ubmVj dG9yX3N0YXRlIGZpZWxkcyB0byBpbnRlbF90dl9hdG9taWNfY2hlY2soKS4gSSBzdXBwb3NlCj4g dGhhdCdzIG9rIHNpbmNlIHNvbWV0aGluZyByZXN1bHRpbmcgaW4gYSBjaGFuZ2UgaW4gdGhvc2Ug d2lsbCBmb3JjZSBhCj4gbW9kZXNldCBhbnl3YXk6Cj4gCj4gUmV2aWV3ZWQtYnk6IEltcmUgRGVh ayA8aW1yZS5kZWFrQGludGVsLmNvbT4KPiAKPiA+ICsKPiA+ICBzdGF0aWMgc3RydWN0IGludGVs X3R2ICplbmNfdG9fdHYoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCj4gPiAgewo+ID4g IAlyZXR1cm4gY29udGFpbmVyX29mKGVuY29kZXIsIHN0cnVjdCBpbnRlbF90diwgYmFzZSk7Cj4g PiBAQCAtMTEyOSw2ICsxMTY3LDkgQEAgaW50ZWxfdHZfY29tcHV0ZV9jb25maWcoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPiAgCQkJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBp cGVfY29uZmlnLAo+ID4gIAkJCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRl KQo+ID4gIHsKPiA+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShlbmNvZGVyLT5iYXNlLmRldik7Cj4gPiArCXN0cnVjdCBpbnRlbF90dl9jb25uZWN0b3Jfc3Rh dGUgKnR2X2Nvbm5fc3RhdGUgPQo+ID4gKwkJdG9faW50ZWxfdHZfY29ubmVjdG9yX3N0YXRlKGNv bm5fc3RhdGUpOwo+ID4gIAljb25zdCBzdHJ1Y3QgdHZfbW9kZSAqdHZfbW9kZSA9IGludGVsX3R2 X21vZGVfZmluZChjb25uX3N0YXRlKTsKPiA+ICAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFk anVzdGVkX21vZGUgPQo+ID4gIAkJJnBpcGVfY29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGU7Cj4g PiBAQCAtMTE0OSw2ICsxMTkwLDQzIEBAIGludGVsX3R2X2NvbXB1dGVfY29uZmlnKHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ID4gIAlwaXBlX2NvbmZpZy0+cG9ydF9jbG9jayA9IHR2 X21vZGUtPmNsb2NrOwo+ID4gIAo+ID4gIAlpbnRlbF90dl9tb2RlX3RvX21vZGUoYWRqdXN0ZWRf bW9kZSwgdHZfbW9kZSk7Cj4gPiArCWRybV9tb2RlX3NldF9jcnRjaW5mbyhhZGp1c3RlZF9tb2Rl LCAwKTsKPiA+ICsKPiA+ICsJaWYgKElTX0dFTjMoZGV2X3ByaXYpICYmIGhkaXNwbGF5ID4gMTAy NCkgewo+ID4gKwkJaW50IGV4dHJhLCB0b3AsIGJvdHRvbTsKPiA+ICsKPiA+ICsJCWV4dHJhID0g YWRqdXN0ZWRfbW9kZS0+Y3J0Y192ZGlzcGxheSAtIHZkaXNwbGF5Owo+ID4gKwo+ID4gKwkJaWYg KGV4dHJhIDwgMCkgewo+ID4gKwkJCURSTV9ERUJVR19LTVMoIk5vIHZlcnRpY2FsIHNjYWxpbmcg Zm9yID4xMDI0IHBpeGVsIHdpZGUgbW9kZXNcbiIpOwo+ID4gKwkJCXJldHVybiBmYWxzZTsKPiA+ ICsJCX0KPiA+ICsKPiA+ICsJCS8qIE5lZWQgdG8gdHVybiBvZmYgdGhlIHZlcnRpY2FsIGZpbHRl ciBhbmQgY2VudGVyIHRoZSBpbWFnZSAqLwo+ID4gKwo+ID4gKwkJLyogQXR0ZW1wdCB0byBtYWlu dGFpbiB0aGUgcmVsYXRpdmUgc2l6ZXMgb2YgdGhlIG1hcmdpbnMgKi8KPiA+ICsJCXRvcCA9IGNv bm5fc3RhdGUtPnR2Lm1hcmdpbnMudG9wOwo+ID4gKwkJYm90dG9tID0gY29ubl9zdGF0ZS0+dHYu bWFyZ2lucy5ib3R0b207Cj4gPiArCj4gPiArCQlpZiAodG9wICsgYm90dG9tKQo+ID4gKwkJCXRv cCA9IGV4dHJhICogdG9wIC8gKHRvcCArIGJvdHRvbSk7Cj4gPiArCQllbHNlCj4gPiArCQkJdG9w ID0gZXh0cmEgLyAyOwo+ID4gKwkJYm90dG9tID0gZXh0cmEgLSB0b3A7Cj4gPiArCj4gPiArCQl0 dl9jb25uX3N0YXRlLT5tYXJnaW5zLnRvcCA9IHRvcDsKPiA+ICsJCXR2X2Nvbm5fc3RhdGUtPm1h cmdpbnMuYm90dG9tID0gYm90dG9tOwo+ID4gKwo+ID4gKwkJdHZfY29ubl9zdGF0ZS0+YnlwYXNz X3ZmaWx0ZXIgPSB0cnVlOwo+ID4gKwo+ID4gKwkJaWYgKCF0dl9tb2RlLT5wcm9ncmVzc2l2ZSkK PiA+ICsJCQlhZGp1c3RlZF9tb2RlLT5mbGFncyB8PSBEUk1fTU9ERV9GTEFHX0lOVEVSTEFDRTsK PiA+ICsJfSBlbHNlIHsKPiA+ICsJCXR2X2Nvbm5fc3RhdGUtPm1hcmdpbnMudG9wID0gY29ubl9z dGF0ZS0+dHYubWFyZ2lucy50b3A7Cj4gPiArCQl0dl9jb25uX3N0YXRlLT5tYXJnaW5zLmJvdHRv bSA9IGNvbm5fc3RhdGUtPnR2Lm1hcmdpbnMuYm90dG9tOwo+ID4gKwo+ID4gKwkJdHZfY29ubl9z dGF0ZS0+YnlwYXNzX3ZmaWx0ZXIgPSBmYWxzZTsKPiA+ICsJfQo+ID4gIAo+ID4gIAlEUk1fREVC VUdfS01TKCJUViBtb2RlOlxuIik7Cj4gPiAgCWRybV9tb2RlX2RlYnVnX3ByaW50bW9kZWxpbmUo YWRqdXN0ZWRfbW9kZSk7Cj4gPiBAQCAtMTIyMiw4ICsxMzAwLDggQEAgaW50ZWxfdHZfY29tcHV0 ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPiAgCQkJCSAgY29ubl9z dGF0ZS0+dHYubWFyZ2lucy5sZWZ0LAo+ID4gIAkJCQkgIGNvbm5fc3RhdGUtPnR2Lm1hcmdpbnMu cmlnaHQpOwo+ID4gIAlpbnRlbF90dl9zY2FsZV9tb2RlX3ZlcnQoYWRqdXN0ZWRfbW9kZSwgdmRp c3BsYXksCj4gPiAtCQkJCSBjb25uX3N0YXRlLT50di5tYXJnaW5zLnRvcCwKPiA+IC0JCQkJIGNv bm5fc3RhdGUtPnR2Lm1hcmdpbnMuYm90dG9tKTsKPiA+ICsJCQkJIHR2X2Nvbm5fc3RhdGUtPm1h cmdpbnMudG9wLAo+ID4gKwkJCQkgdHZfY29ubl9zdGF0ZS0+bWFyZ2lucy5ib3R0b20pOwo+ID4g IAlkcm1fbW9kZV9zZXRfY3J0Y2luZm8oYWRqdXN0ZWRfbW9kZSwgMCk7Cj4gPiAgCWFkanVzdGVk X21vZGUtPm5hbWVbMF0gPSAnXDAnOwo+ID4gIAo+ID4gQEAgLTEzMTYsOCArMTM5NCwxMCBAQCBz dGF0aWMgdm9pZCBpbnRlbF90dl9wcmVfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyLAo+ID4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVu Y29kZXItPmJhc2UuZGV2KTsKPiA+ICAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0 b19pbnRlbF9jcnRjKHBpcGVfY29uZmlnLT5iYXNlLmNydGMpOwo+ID4gIAlzdHJ1Y3QgaW50ZWxf dHYgKmludGVsX3R2ID0gZW5jX3RvX3R2KGVuY29kZXIpOwo+ID4gKwljb25zdCBzdHJ1Y3QgaW50 ZWxfdHZfY29ubmVjdG9yX3N0YXRlICp0dl9jb25uX3N0YXRlID0KPiA+ICsJCXRvX2ludGVsX3R2 X2Nvbm5lY3Rvcl9zdGF0ZShjb25uX3N0YXRlKTsKPiA+ICAJY29uc3Qgc3RydWN0IHR2X21vZGUg KnR2X21vZGUgPSBpbnRlbF90dl9tb2RlX2ZpbmQoY29ubl9zdGF0ZSk7Cj4gPiAtCXUzMiB0dl9j dGw7Cj4gPiArCXUzMiB0dl9jdGwsIHR2X2ZpbHRlcl9jdGw7Cj4gPiAgCXUzMiBzY2N0bDEsIHNj Y3RsMiwgc2NjdGwzOwo+ID4gIAlpbnQgaSwgajsKPiA+ICAJY29uc3Qgc3RydWN0IHZpZGVvX2xl dmVscyAqdmlkZW9fbGV2ZWxzOwo+ID4gQEAgLTE0MjUsMTYgKzE1MDUsMjAgQEAgc3RhdGljIHZv aWQgaW50ZWxfdHZfcHJlX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+ ICAJYXNzZXJ0X3BpcGVfZGlzYWJsZWQoZGV2X3ByaXYsIGludGVsX2NydGMtPnBpcGUpOwo+ID4g IAo+ID4gIAkvKiBGaWx0ZXIgY3RsIG11c3QgYmUgc2V0IGJlZm9yZSBUVl9XSU5fU0laRSAqLwo+ ID4gLQlJOTE1X1dSSVRFKFRWX0ZJTFRFUl9DVExfMSwgVFZfQVVUT19TQ0FMRSk7Cj4gPiArCXR2 X2ZpbHRlcl9jdGwgPSBUVl9BVVRPX1NDQUxFOwo+ID4gKwlpZiAodHZfY29ubl9zdGF0ZS0+Ynlw YXNzX3ZmaWx0ZXIpCj4gPiArCQl0dl9maWx0ZXJfY3RsIHw9IFRWX1ZfRklMVEVSX0JZUEFTUzsK PiA+ICsJSTkxNV9XUklURShUVl9GSUxURVJfQ1RMXzEsIHR2X2ZpbHRlcl9jdGwpOwo+ID4gKwo+ ID4gIAl4c2l6ZSA9IHR2X21vZGUtPmhibGFua19zdGFydCAtIHR2X21vZGUtPmhibGFua19lbmQ7 Cj4gPiAgCXlzaXplID0gaW50ZWxfdHZfbW9kZV92ZGlzcGxheSh0dl9tb2RlKTsKPiA+ICAKPiA+ ICAJeHBvcyA9IGNvbm5fc3RhdGUtPnR2Lm1hcmdpbnMubGVmdDsKPiA+IC0JeXBvcyA9IGNvbm5f c3RhdGUtPnR2Lm1hcmdpbnMudG9wOwo+ID4gKwl5cG9zID0gdHZfY29ubl9zdGF0ZS0+bWFyZ2lu cy50b3A7Cj4gPiAgCXhzaXplIC09IChjb25uX3N0YXRlLT50di5tYXJnaW5zLmxlZnQgKwo+ID4g IAkJICBjb25uX3N0YXRlLT50di5tYXJnaW5zLnJpZ2h0KTsKPiA+IC0JeXNpemUgLT0gKGNvbm5f c3RhdGUtPnR2Lm1hcmdpbnMudG9wICsKPiA+IC0JCSAgY29ubl9zdGF0ZS0+dHYubWFyZ2lucy5i b3R0b20pOwo+ID4gKwl5c2l6ZSAtPSAodHZfY29ubl9zdGF0ZS0+bWFyZ2lucy50b3AgKwo+ID4g KwkJICB0dl9jb25uX3N0YXRlLT5tYXJnaW5zLmJvdHRvbSk7Cj4gPiAgCUk5MTVfV1JJVEUoVFZf V0lOX1BPUywgKHhwb3M8PDE2KXx5cG9zKTsKPiA+ICAJSTkxNV9XUklURShUVl9XSU5fU0laRSwg KHhzaXplPDwxNil8eXNpemUpOwo+ID4gIAo+ID4gQEAgLTE3MDEsNyArMTc4NSw3IEBAIHN0YXRp YyBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9mdW5jcyBpbnRlbF90dl9jb25uZWN0b3JfZnVu Y3MgPSB7Cj4gPiAgCS5kZXN0cm95ID0gaW50ZWxfY29ubmVjdG9yX2Rlc3Ryb3ksCj4gPiAgCS5m aWxsX21vZGVzID0gZHJtX2hlbHBlcl9wcm9iZV9zaW5nbGVfY29ubmVjdG9yX21vZGVzLAo+ID4g IAkuYXRvbWljX2Rlc3Ryb3lfc3RhdGUgPSBkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZGVz dHJveV9zdGF0ZSwKPiA+IC0JLmF0b21pY19kdXBsaWNhdGVfc3RhdGUgPSBkcm1fYXRvbWljX2hl bHBlcl9jb25uZWN0b3JfZHVwbGljYXRlX3N0YXRlLAo+ID4gKwkuYXRvbWljX2R1cGxpY2F0ZV9z dGF0ZSA9IGludGVsX3R2X2Nvbm5lY3Rvcl9kdXBsaWNhdGVfc3RhdGUsCj4gPiAgfTsKPiA+ICAK PiA+ICBzdGF0aWMgaW50IGludGVsX3R2X2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2Nvbm5lY3Rv ciAqY29ubmVjdG9yLAo+ID4gLS0gCj4gPiAyLjE4LjEKPiA+IAo+ID4gX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiA+IEludGVsLWdmeCBtYWlsaW5nIGxp c3QKPiA+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiA+IGh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4CgotLSAKVmlsbGUgU3ly asOkbMOkCkludGVsCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZl bAo=