From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v2 1/4] drm/i915/icl: Assign Master slave crtc links for Transcoder Port Sync Date: Thu, 13 Jun 2019 20:12:37 +0300 Message-ID: <20190613171237.GX5942@intel.com> References: <20190423154901.15222-1-manasi.d.navare@intel.com> <20190423154901.15222-2-manasi.d.navare@intel.com> <22e58e8c-53be-3fa6-46b8-8ed6c5a446da@linux.intel.com> <20190612190426.GQ5942@intel.com> <20190612191101.GB5765@intel.com> <20190612193055.GR5942@intel.com> <20190612205951.GC5765@intel.com> <20190613091057.GS5942@intel.com> <20190613164142.GA10097@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1AFFE89565 for ; Thu, 13 Jun 2019 17:12:42 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190613164142.GA10097@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Manasi Navare Cc: Daniel Vetter , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBKdW4gMTMsIDIwMTkgYXQgMDk6NDE6NDJBTSAtMDcwMCwgTWFuYXNpIE5hdmFyZSB3 cm90ZToKPiBPbiBUaHUsIEp1biAxMywgMjAxOSBhdCAxMjoxMDo1N1BNICswMzAwLCBWaWxsZSBT eXJqw6Rsw6Qgd3JvdGU6Cj4gPiBPbiBXZWQsIEp1biAxMiwgMjAxOSBhdCAwMTo1OTo1MlBNIC0w NzAwLCBNYW5hc2kgTmF2YXJlIHdyb3RlOgo+ID4gPiBPbiBXZWQsIEp1biAxMiwgMjAxOSBhdCAx MDozMDo1NVBNICswMzAwLCBWaWxsZSBTeXJqw6Rsw6Qgd3JvdGU6Cj4gPiA+ID4gT24gV2VkLCBK dW4gMTIsIDIwMTkgYXQgMTI6MTE6MDJQTSAtMDcwMCwgTWFuYXNpIE5hdmFyZSB3cm90ZToKPiA+ ID4gPiA+IE9uIFdlZCwgSnVuIDEyLCAyMDE5IGF0IDEwOjA0OjI2UE0gKzAzMDAsIFZpbGxlIFN5 cmrDpGzDpCB3cm90ZToKPiA+ID4gPiA+ID4gT24gV2VkLCBKdW4gMTIsIDIwMTkgYXQgMTE6Mzk6 MDNBTSArMDIwMCwgTWFhcnRlbiBMYW5raG9yc3Qgd3JvdGU6Cj4gPiA+ID4gPiA+ID4gT3AgMjMt MDQtMjAxOSBvbSAxNzo0OCBzY2hyZWVmIE1hbmFzaSBOYXZhcmU6Cj4gPiA+ID4gPiA+ID4gPiBJ biBjYXNlIG9mIHRpbGVkIGRpc3BsYXlzIHdoZW4gdGhlIHR3byB0aWxlcyBhcmUgc2VudCBhY3Jv c3MgdHdvIENSVENzCj4gPiA+ID4gPiA+ID4gPiBvdmVyIHR3byBzZXBhcmF0ZSBEUCBTU1QgY29u bmVjdG9ycywgd2UgbmVlZCBhIG1lY2hhbmlzbSB0byBzeW5jaHJvbml6ZQo+ID4gPiA+ID4gPiA+ ID4gdGhlIHR3byBDUlRDcyBhbmQgdGhlaXIgY29ycmVzcG9uZGluZyB0cmFuc2NvZGVycy4KPiA+ ID4gPiA+ID4gPiA+IFNvIHVzZSB0aGUgbWFzdGVyLXNsYXZlIG1vZGUgd2hlcmUgdGhlcmUgaXMg b25lIG1hc3RlciBjb3JyZXNwb25kaW5nCj4gPiA+ID4gPiA+ID4gPiB0byBsYXN0IGhvcml6b250 YWwgYW5kIHZlcnRpY2FsIHRpbGUgdGhhdCBuZWVkcyB0byBiZSBnZW5sb2NrZWQgd2l0aAo+ID4g PiA+ID4gPiA+ID4gYWxsIG90aGVyIHNsYXZlIHRpbGVzLgo+ID4gPiA+ID4gPiA+ID4gVGhpcyBw YXRjaCBpZGVudGlmaWVzIHNhdmVzIHRoZSBtYXN0ZXIgQ1JUQyBwb2ludGVyIGluIGFsbCB0aGUg c2xhdmUKPiA+ID4gPiA+ID4gPiA+IENSVEMgc3RhdGVzLiBUaGlzIHBvaW50ZXIgaXMgbmVlZGVk IHRvIHNlbGVjdCB0aGUgbWFzdGVyIENSVEMvdHJhbnNjb2Rlcgo+ID4gPiA+ID4gPiA+ID4gd2hp bGUgY29uZmlndXJpbmcgdHJhbnNjb2RlciBwb3J0IHN5bmMgZm9yIHRoZSBjb3JyZXNwb25kaW5n IHNsYXZlcy4KPiA+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gPiB2MjoKPiA+ID4gPiA+ID4g PiA+ICogTW92ZSB0aGlzIHRvIGludGVsX21vZGVfc2V0X3BpcGVfY29uZmlnKEphbmkgTiwgVmls bGUpCj4gPiA+ID4gPiA+ID4gPiAqIFVzZSBzbGF2ZV9iaXRtYXNrIHRvIHNhdmUgYXNzb2NpYXRl ZCBzbGF2ZXMgaW4gbWFzdGVyIGNydGMgc3RhdGUgKFZpbGxlKQo+ID4gPiA+ID4gPiA+ID4KPiA+ ID4gPiA+ID4gPiA+IENjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgo+ ID4gPiA+ID4gPiA+ID4gQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5p bnRlbC5jb20+Cj4gPiA+ID4gPiA+ID4gPiBDYzogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4u bGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPiA+ID4gPiA+ID4gPiA+IENjOiBNYXR0IFJvcGVy IDxtYXR0aGV3LmQucm9wZXJAaW50ZWwuY29tPgo+ID4gPiA+ID4gPiA+ID4gU2lnbmVkLW9mZi1i eTogTWFuYXNpIE5hdmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVsLmNvbT4KPiA+ID4gPiA+ID4g PiA+IC0tLQo+ID4gPiA+ID4gPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYyB8IDg5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiA+ID4gPiA+ID4gPiA+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAgNiArKwo+ID4gPiA+ID4gPiA+ ID4gIDIgZmlsZXMgY2hhbmdlZCwgOTUgaW5zZXJ0aW9ucygrKQo+ID4gPiA+ID4gPiA+ID4KPiA+ ID4gPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNw bGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+ID4gPiA+ID4g PiA+IGluZGV4IGIyNzYzNDU3NzllNi4uOTJkZWEyMjMxNDk5IDEwMDY0NAo+ID4gPiA+ID4gPiA+ ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gPiA+ID4gPiA+ ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+ID4gPiA+ ID4gPiA+IEBAIC0xMTMxNiw2ICsxMTMxNiw4NiBAQCBzdGF0aWMgaW50IGljbF9jaGVja19udjEy X3BsYW5lcyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiA+ID4gPiA+ID4g PiA+ICAJcmV0dXJuIDA7Cj4gPiA+ID4gPiA+ID4gPiAgfQo+ID4gPiA+ID4gPiA+ID4gIAo+ID4g PiA+ID4gPiA+ID4gK3N0YXRpYyBpbnQgaWNsX2FkZF9nZW5sb2NrX2NydGNzKHN0cnVjdCBkcm1f Y3J0YyAqY3J0YywKPiA+ID4gPiA+ID4gPiA+ICsJCQkJIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlLAo+ID4gPiA+ID4gPiA+ID4gKwkJCQkgc3RydWN0IGRybV9hdG9taWNfc3Rh dGUgKnN0YXRlKQo+ID4gPiA+ID4gPiA+ID4gK3sKPiA+ID4gPiA+ID4gPiA+ICsJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT5iYXNlLmNydGMt PmRldik7Cj4gPiA+ID4gPiA+ID4gPiArCXN0cnVjdCBkcm1fY29ubmVjdG9yICptYXN0ZXJfY29u bmVjdG9yLCAqY29ubmVjdG9yOwo+ID4gPiA+ID4gPiA+ID4gKwlzdHJ1Y3QgZHJtX2Nvbm5lY3Rv cl9zdGF0ZSAqY29ubmVjdG9yX3N0YXRlOwo+ID4gPiA+ID4gPiA+ID4gKwlzdHJ1Y3QgZHJtX2Nv bm5lY3Rvcl9saXN0X2l0ZXIgY29ubl9pdGVyOwo+ID4gPiA+ID4gPiA+ID4gKwlzdHJ1Y3QgZHJt X2NydGMgKm1hc3Rlcl9jcnRjID0gTlVMTDsKPiA+ID4gPiA+ID4gPiA+ICsJc3RydWN0IGRybV9j cnRjX3N0YXRlICptYXN0ZXJfY3J0Y19zdGF0ZTsKPiA+ID4gPiA+ID4gPiA+ICsJaW50IGksIHRp bGVfZ3JvdXBfaWQ7Cj4gPiA+ID4gPiA+ID4gPiArCj4gPiA+ID4gPiA+ID4gPiArCWlmIChJTlRF TF9HRU4oZGV2X3ByaXYpIDwgMTEpCj4gPiA+ID4gPiA+ID4gPiArCQlyZXR1cm4gMDsKPiA+ID4g PiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gPiA+ICsJLyoKPiA+ID4gPiA+ID4gPiA+ICsJICogSW4g Y2FzZSBvZiB0aWxlZCBkaXNwbGF5cyB0aGVyZSBjb3VsZCBiZSBvbmUgb3IgbW9yZSBzbGF2ZXMg YnV0IHRoZXJlIGlzCj4gPiA+ID4gPiA+ID4gPiArCSAqIG9ubHkgb25lIG1hc3Rlci4gTGV0cyBt YWtlIHRoZSBDUlRDIHVzZWQgYnkgdGhlIGNvbm5lY3RvciBjb3JyZXNwb25kaW5nCj4gPiA+ID4g PiA+ID4gPiArCSAqIHRvIHRoZSBsYXN0IGhvcml6b25hbCBhbmQgbGFzdCB2ZXJ0aWNhbCB0aWxl IGEgbWFzdGVyL2dlbmxvY2sgQ1JUQy4KPiA+ID4gPiA+ID4gPiA+ICsJICogQWxsIHRoZSBvdGhl ciBDUlRDcyBjb3JyZXNwb25kaW5nIHRvIG90aGVyIHRpbGVzIG9mIHRoZSBzYW1lIFRpbGUgZ3Jv dXAKPiA+ID4gPiA+ID4gPiA+ICsJICogYXJlIHRoZSBzbGF2ZSBDUlRDcyBhbmQgaG9sZCBhIHBv aW50ZXIgdG8gdGhlaXIgZ2VubG9jayBDUlRDLgo+ID4gPiA+ID4gPiA+ID4gKwkgKi8KPiA+ID4g PiA+ID4gPiA+ICsJZm9yX2VhY2hfbmV3X2Nvbm5lY3Rvcl9pbl9zdGF0ZShzdGF0ZSwgY29ubmVj dG9yLCBjb25uZWN0b3Jfc3RhdGUsIGkpIHsKPiA+ID4gPiA+ID4gPiA+ICsJCWlmIChjb25uZWN0 b3Jfc3RhdGUtPmNydGMgIT0gY3J0YykKPiA+ID4gPiA+ID4gPiA+ICsJCQljb250aW51ZTsKPiA+ ID4gPiA+ID4gPiA+ICsJCWlmICghY29ubmVjdG9yLT5oYXNfdGlsZSkKPiA+ID4gPiA+ID4gPiA+ ICsJCQljb250aW51ZTsKPiA+ID4gPiA+ID4gPiA+ICsJCWlmIChjb25uZWN0b3ItPnRpbGVfaF9s b2MgPT0gY29ubmVjdG9yLT5udW1faF90aWxlIC0gMSAmJgo+ID4gPiA+ID4gPiA+ID4gKwkJICAg IGNvbm5lY3Rvci0+dGlsZV92X2xvYyA9PSBjb25uZWN0b3ItPm51bV92X3RpbGUgLSAxKQo+ID4g PiA+ID4gPiA+ID4gKwkJCWNvbnRpbnVlOwo+ID4gPiA+ID4gPiA+ID4gKwkJY3J0Y19zdGF0ZS0+ bWFzdGVyX2NydGMgPSBOVUxMOwo+ID4gPiA+ID4gPiA+ID4gKwkJdGlsZV9ncm91cF9pZCA9IGNv bm5lY3Rvci0+dGlsZV9ncm91cC0+aWQ7Cj4gPiA+ID4gPiA+ID4gPiArCQlkcm1fY29ubmVjdG9y X2xpc3RfaXRlcl9iZWdpbigmZGV2X3ByaXYtPmRybSwgJmNvbm5faXRlcik7Cj4gPiA+ID4gPiA+ ID4gPiArCQlkcm1fZm9yX2VhY2hfY29ubmVjdG9yX2l0ZXIobWFzdGVyX2Nvbm5lY3RvciwgJmNv bm5faXRlcikgewo+ID4gPiA+ID4gPiA+ID4gKwkJCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRl ICptYXN0ZXJfY29ubl9zdGF0ZSA9IE5VTEw7Cj4gPiA+ID4gPiA+ID4gPiArCj4gPiA+ID4gPiA+ ID4gPiArCQkJaWYgKCFtYXN0ZXJfY29ubmVjdG9yLT5oYXNfdGlsZSkKPiA+ID4gPiA+ID4gPiA+ ICsJCQkJY29udGludWU7Cj4gPiA+ID4gPiA+ID4gPiArCQkJaWYgKG1hc3Rlcl9jb25uZWN0b3It PnRpbGVfaF9sb2MgIT0gbWFzdGVyX2Nvbm5lY3Rvci0+bnVtX2hfdGlsZSAtIDEgfHwKPiA+ID4g PiA+ID4gPiA+ICsJCQkgICAgbWFzdGVyX2Nvbm5lY3Rvci0+dGlsZV92X2xvYyAhPSBtYXN0ZXJf Y29ubmVjdG9yLT5udW1fdl90aWxlIC0gMSkKPiA+ID4gPiA+ID4gPiA+ICsJCQkJY29udGludWU7 Cj4gPiA+ID4gPiA+ID4gPiArCQkJaWYgKG1hc3Rlcl9jb25uZWN0b3ItPnRpbGVfZ3JvdXAtPmlk ICE9IHRpbGVfZ3JvdXBfaWQpCj4gPiA+ID4gPiA+ID4gPiArCQkJCWNvbnRpbnVlOwo+ID4gPiA+ ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiA+ID4gKwkJCW1hc3Rlcl9jb25uX3N0YXRlID0gZHJtX2F0 b21pY19nZXRfY29ubmVjdG9yX3N0YXRlKHN0YXRlLAo+ID4gPiA+ID4gPiA+ID4gKwkJCQkJCQkJ CSAgIG1hc3Rlcl9jb25uZWN0b3IpOwo+ID4gPiA+ID4gPiA+ID4gKwkJCWlmIChJU19FUlIobWFz dGVyX2Nvbm5fc3RhdGUpKSB7Cj4gPiA+ID4gPiA+ID4gPiArCQkJCWRybV9jb25uZWN0b3JfbGlz dF9pdGVyX2VuZCgmY29ubl9pdGVyKTsKPiA+ID4gPiA+ID4gPiA+ICsJCQkJcmV0dXJuIFBUUl9F UlIobWFzdGVyX2Nvbm5fc3RhdGUpOwo+ID4gPiA+ID4gPiA+ID4gKwkJCX0KPiA+ID4gPiA+ID4g PiA+ICsJCQlpZiAobWFzdGVyX2Nvbm5fc3RhdGUtPmNydGMpIHsKPiA+ID4gPiA+ID4gPiA+ICsJ CQkJbWFzdGVyX2NydGMgPSBtYXN0ZXJfY29ubl9zdGF0ZS0+Y3J0YzsKPiA+ID4gPiA+ID4gPiA+ ICsJCQkJYnJlYWs7Cj4gPiA+ID4gPiA+ID4gPiArCQkJfQo+ID4gPiA+ID4gPiA+ID4gKwkJfQo+ ID4gPiA+ID4gPiA+ID4gKwkJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfZW5kKCZjb25uX2l0ZXIp Owo+ID4gPiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiA+ID4gKwkJaWYgKCFtYXN0ZXJfY3J0Yykg ewo+ID4gPiA+ID4gPiA+ID4gKwkJCURSTV9ERUJVR19LTVMoIkNvdWxkIG5vdCBhZGQgTWFzdGVy IENSVEMgZm9yIFNsYXZlIENSVEMgJWRcbiIsCj4gPiA+ID4gPiA+ID4gPiArCQkJCSAgICAgIGNv bm5lY3Rvcl9zdGF0ZS0+Y3J0Yy0+YmFzZS5pZCk7Cj4gPiA+ID4gPiA+ID4gPiArCQkJcmV0dXJu IC1FSU5WQUw7Cj4gPiA+ID4gPiA+ID4gPiArCQl9Cj4gPiA+ID4gPiA+ID4gPiArCj4gPiA+ID4g PiA+ID4gPiArCQltYXN0ZXJfY3J0Y19zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X2NydGNfc3RhdGUo c3RhdGUsCj4gPiA+ID4gPiA+ID4gPiArCQkJCQkJCSAgICAgIG1hc3Rlcl9jcnRjKTsKPiA+ID4g PiA+ID4gPiA+ICsJCWlmIChJU19FUlIobWFzdGVyX2NydGNfc3RhdGUpKQo+ID4gPiA+ID4gPiA+ ID4gKwkJCXJldHVybiBQVFJfRVJSKG1hc3Rlcl9jcnRjX3N0YXRlKTsKPiA+ID4gPiA+ID4gPiA+ ICsKPiA+ID4gPiA+ID4gPiA+ICsJCWNydGNfc3RhdGUtPm1hc3Rlcl9jcnRjID0gdG9faW50ZWxf Y3J0YyhtYXN0ZXJfY3J0Yyk7Cj4gPiA+ID4gPiA+ID4gPiArCQl0b19pbnRlbF9jcnRjX3N0YXRl KG1hc3Rlcl9jcnRjX3N0YXRlKS0+dHJhbnNfcG9ydF9zeW5jX3NsYXZlcyB8PQo+ID4gPiA+ID4g PiA+ID4gKwkJCUJJVCh0b19pbnRlbF9jcnRjKGNydGMpLT5waXBlKTsKPiA+ID4gPiA+ID4gPiA+ ICsJCURSTV9ERUJVR19LTVMoIk1hc3RlciBDUlRDID0gJWQgYWRkZWQgZm9yIFNsYXZlIENSVEMg PSAlZFxuLCBzbGF2ZSBiaXRtYXN0ID0gJWQiLAo+ID4gPiA+ID4gPiA+ID4gKwkJCSAgICAgIG1h c3Rlcl9jcnRjLT5iYXNlLmlkLAo+ID4gPiA+ID4gPiA+ID4gKwkJCSAgICAgIGNydGNfc3RhdGUt PmJhc2UuY3J0Yy0+YmFzZS5pZCwKPiA+ID4gPiA+ID4gPiA+ICsJCQkgICAgICB0b19pbnRlbF9j cnRjX3N0YXRlKG1hc3Rlcl9jcnRjX3N0YXRlKS0+dHJhbnNfcG9ydF9zeW5jX3NsYXZlcyk7Cj4g PiA+ID4gPiA+ID4gPiArCX0KPiA+ID4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gPiA+ICsJcmV0 dXJuIDA7Cj4gPiA+ID4gPiA+ID4gPiArfQo+ID4gPiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiA+ ID4gIHN0YXRpYyBpbnQgaW50ZWxfY3J0Y19hdG9taWNfY2hlY2soc3RydWN0IGRybV9jcnRjICpj cnRjLAo+ID4gPiA+ID4gPiA+ID4gIAkJCQkgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNf c3RhdGUpCj4gPiA+ID4gPiA+ID4gPiAgewo+ID4gPiA+ID4gPiA+ID4gQEAgLTExNzk1LDYgKzEx ODc1LDkgQEAgY2xlYXJfaW50ZWxfY3J0Y19zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSkKPiA+ID4gPiA+ID4gPiA+ICAJaWYgKElTX0c0WChkZXZfcHJpdikgfHwKPiA+ ID4gPiA+ID4gPiA+ICAJICAgIElTX1ZBTExFWVZJRVcoZGV2X3ByaXYpIHx8IElTX0NIRVJSWVZJ RVcoZGV2X3ByaXYpKQo+ID4gPiA+ID4gPiA+ID4gIAkJc2F2ZWRfc3RhdGUtPndtID0gY3J0Y19z dGF0ZS0+d207Cj4gPiA+ID4gPiA+ID4gPiArCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDEx KQo+ID4gPiA+ID4gPiA+ID4gKwkJc2F2ZWRfc3RhdGUtPnRyYW5zX3BvcnRfc3luY19zbGF2ZXMg PQo+ID4gPiA+ID4gPiA+ID4gKwkJCWNydGNfc3RhdGUtPnRyYW5zX3BvcnRfc3luY19zbGF2ZXM7 Cj4gPiA+ID4gPiA+ID4gPiAgCj4gPiA+ID4gPiA+ID4gPiAgCS8qIEtlZXAgYmFzZSBkcm1fY3J0 Y19zdGF0ZSBpbnRhY3QsIG9ubHkgY2xlYXIgb3VyIGV4dGVuZGVkIHN0cnVjdCAqLwo+ID4gPiA+ ID4gPiA+ID4gIAlCVUlMRF9CVUdfT04ob2Zmc2V0b2Yoc3RydWN0IGludGVsX2NydGNfc3RhdGUs IGJhc2UpKTsKPiA+ID4gPiA+ID4gPiA+IEBAIC0xMTg4OCw2ICsxMTk3MSwxMiBAQCBpbnRlbF9t b2Rlc2V0X3BpcGVfY29uZmlnKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiA+ID4gPiA+ID4gPiA+ ICAJZHJtX21vZGVfc2V0X2NydGNpbmZvKCZwaXBlX2NvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2Rl LAo+ID4gPiA+ID4gPiA+ID4gIAkJCSAgICAgIENSVENfU1RFUkVPX0RPVUJMRSk7Cj4gPiA+ID4g PiA+ID4gPiAgCj4gPiA+ID4gPiA+ID4gPiArCXJldCA9IGljbF9hZGRfZ2VubG9ja19jcnRjcyhj cnRjLCBwaXBlX2NvbmZpZywgc3RhdGUpOwo+ID4gPiA+ID4gPiA+ID4gKwlpZiAocmV0KSB7Cj4g PiA+ID4gPiA+ID4gPiArCQlEUk1fREVCVUdfS01TKCJcbjhLIERlYnVnOiBDYW5ub3QgYXNzaWdu IGdlbmxvY2sgY3J0Y3MiKTsKPiA+ID4gPiA+ID4gPiA+ICsJCXJldHVybiByZXQ7Cj4gPiA+ID4g PiA+ID4gPiArCX0KPiA+ID4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gPiA+ICAJLyogUGFzcyBv dXIgbW9kZSB0byB0aGUgY29ubmVjdG9ycyBhbmQgdGhlIENSVEMgdG8gZ2l2ZSB0aGVtIGEgY2hh bmNlIHRvCj4gPiA+ID4gPiA+ID4gPiAgCSAqIGFkanVzdCBpdCBhY2NvcmRpbmcgdG8gbGltaXRh dGlvbnMgb3IgY29ubmVjdG9yIHByb3BlcnRpZXMsIGFuZCBhbHNvCj4gPiA+ID4gPiA+ID4gPiAg CSAqIGEgY2hhbmNlIHRvIHJlamVjdCB0aGUgbW9kZSBlbnRpcmVseS4KPiA+ID4gPiA+ID4gPiAK PiA+ID4gPiA+ID4gPiBJIHRoZ2luayB3ZSBzaG91bGQgZXh0ZW5kIG9uIHRoaXMgdG8gbWFrZSBt YXN0ZXIvc2xhdmUgbW9kZSB3b3JrIGJ5IGRvaW5nIHdoYXQgbWF0dCByb3BlciB3YXMgd29ya2lu ZyBvbiwgaW4gY29sbGFib3JhdGlvbiB3aXRoIFZpbGxlPwo+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ ID4gPiA+IGNydGMtPnN0YXRlIHBvaW50cyB0byBkcm1fY3J0Y19zdGF0ZSwgd2hpY2ggaXMgdGhl IHVhcGkgc3RhdGUsIGJ1dCBhbHNvIGNvbnRhaW5zIGEgc2hhZG93IHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlLCB3aGljaCBpcyB0aGUgYWN0dWFsIGh3IHN0YXRlLiBJdCBoYXMgaXRzIG93biBkcm1f Y3J0Y19zdGF0ZSBvYmplY3QgZm9yIHRoZSByZWFsIHN0YXRlLCB3aGljaCBnZXRzIGNvcGllZCBh ZnRlciBjaGVjay4KPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiBUaGlzIHNob3VsZCB0aGVu IGFsc28gYmUgZG9uZSBmb3IgaW50ZWxfcGxhbmVfc3RhdGUsIHdoaWNoIHdpbGwgYWxsb3cgdXMg dG8gY29ycmVjdGx5IGhhbmRsZSB0aGlzIG1vZGUuCj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiBJ IGRvbid0IHRoaW5rIHRoZXJlJ3MgYW55IGxpbmthZ2UgYmV0d2VlbiB0aGlzIGFuZCB0aGUgMi1w aXBlLTEtcG9ydAo+ID4gPiA+ID4gPiBjYXNlcyBvdGhlciB0aGFuIHdlIG1pZ2h0IHdhbnQgdG8g aGFuZGxlIHRpbGVkIGRpc3BsYXlzIHRoYXQgd2F5IG9uZQo+ID4gPiA+ID4gPiBkYXkgdG8gbWFr ZSBsaWZlIGVhc2llciBmb3IgdXNlcnNwYWNlLiBCdXQgdGhhdCBoYXMgb3RoZXIgaXNzdWVzIHN1 Y2gKPiA+ID4gPiA+ID4gYXMgd2UnZCBoYXZlIHRvIGdlbmVyYXRlIGEgbmV3IEVESUQgZm9yIHRo ZSB3aG9sZSBkaXNwbGF5IGZyb20gdGhlIEVESURzCj4gPiA+ID4gPiA+IG9mIHRoZSB0aWxlcy4K PiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+IEFsc28gd2UgbWF5YmUgd2FudCBwb3J0IHN5bmMgZm9y IDEwMCUgaW5kZXBlbmRlbnQgZGlzcGxheXMgdG9vLiBTbyBJTU8KPiA+ID4gPiA+ID4gbm8gcG9p bnQgaW4gdHJ5aW5nIHRvIHNob2Vob3JuIGJvdGggdGhpbmdzIGludG8gdGhlIHNhbWUgYnVja2V0 Lgo+ID4gPiA+ID4gCj4gPiA+ID4gPiBJIGFncmVlLCBhbHNvIHRoZSB0aWxlZCBkaXNwbGF5IGNh c2UgaXMgc2ltcGxlIGluIHRlcm1zIG9mIHRoZSBzdGF0ZXMgc2luY2UgaXRzIDIgY29ubmVjdG9y cyBhbmQgMiBjcnRjcyBleHBvc2VkIHRvIHRoZSB1c2Vyc3BhY2UKPiA+ID4gPiA+IHNvIHRoZSB1 c2Vyc3BhY2Ugd2lsbCBjcmVhdGUgdHdvIHN0YXRlcyBhbmQgdGhleSBhcmUgdXNlZCBhcyBpcyBm b3IgdGhlIHR3byBjcnRjcywgdGhlIG9ubHkgZGlmZmVyZW5jZSBpcyB0aGF0IHdlIG5lZWQgdG8g cHJvZ3JhbQo+ID4gPiA+ID4gb25lIGFzIGEgc2xhdmUgYW5kIHRoZSBvdGhlciBhcyBtYXN0ZXIg YW5kIGZpbmQgYSB3YXkgdG8gc3RvcmUgYSBwb2ludGVyIHRvIG1hc3RlciBmcm9tIHRoZSBzbGF2 ZSBzaW5jZSB3ZSBuZWVkIHRvIHVzZSB0aGF0Cj4gPiA+ID4gPiB0byBjb25maWd1cmUgYW5kIGVu YWJsZSB0cmFuc2NvZGVyIHBvcnQgc3luYyB3aGlsZSBlbmFibGluZyBzbGF2ZSBDUlRDLgo+ID4g PiA+ID4gCj4gPiA+ID4gPiBTbyBvbiB0aG9zZSBsaW5lcywgaWYgaSBzdG9yZSB0aGUgbWFzdGVy IHRyYW5zY29kZXIgZGlyZWN0bHkgaW4gdGhlIHNsYXZlIGNydGMgc3RhdGUgdGhlbiB0cmFucyA9 IDAgaXMgdmFsaWQgZm9yIHRyYW5zIEEgdGhlbiBob3cKPiA+ID4gPiA+IGRvIEkgaWRlbnRpZnkg d2hpY2ggY3J0YyBpcyBzbGF2ZT8KPiA+ID4gPiA+IEN1cnJlbnRseSBJIGNoZWNrIGZvciAhbWFz dGVyX2NydGMgYW5kIHRoYXQgdGVsbHMgbWUgdGhhdCBpdCBpcyBub3Qgc2xhdmUuCj4gPiA+ID4g Cj4gPiA+ID4gSU5WQUxJRF9UUkFOU0NPRERFUiBvciBzb21ldGhpbmc/Cj4gPiA+IAo+ID4gPiBB Y3R1YWxseSBJIGp1c3QgcmVhbGl6ZWQgdGhhdCBpbiB0aGUgaHdfc3RhdGVfcmVhZG91dCBhZnRl ciBpIGdldCB0aGUgdHJhbnNjb2RlciB3aGljaCB3b3VsZCBiZSBzYW1lIGFzIHBpcGUsCj4gPiA+ IGNhbiBJIGp1c3QgdXNlIHRoZSBpbnRlbF9nZXRfY3J0Y19mb3JfcGlwZSgpIGZ1bmN0aW9uIHRv IGdldCB0aGUgaW50ZWxfY3J0Yyogd2hpY2ggc2hvdWxkIG1hdGNoIHRoZSBtYXN0ZXJfY3J0YyBz YXZlZAo+ID4gPiBpbiBzbGF2ZSBjcnRjX3N0YXRlLCB3aGEgZG8geW91IHRoaW5rPwo+ID4gCj4g PiBPbmx5IGlmIHlvdSBpZ25vcmUgdGhlIGZhY3QgdGhhdCB0cmFuc2NvZGVyIEVEUCBjYW4gYmUg dGhlIG1hc3Rlci4KPiAKPiBBY3R1YWxseSBUcmFuc2NvZGVyIEVEUCBjYW4gbmV2ZXIgYmUgdGhl IG1hc3RlciBzbyB0aGVyZSBzaG91bGQgYmUgYSB3YXJuaW5nIGlmIFRSQU5TQ09ERVIgRURQIGdl dHMgc2V0IGFzIGEgbWFzdGVyIGluIHRlaCBjb25maWd1cmF0aW9uIHRpbWUgaXRzZWxmLgoKSUlS QyB0aGUgZG9jcyBzYXkgaXQgY2FuIGJlIG1hc3RlciwgYnV0IG5vdCBzbGF2ZS4KCi0tIApWaWxs ZSBTeXJqw6Rsw6QKSW50ZWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4