From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: Re: [PATCH v2 1/4] drm/i915/icl: Assign Master slave crtc links for Transcoder Port Sync Date: Fri, 21 Jun 2019 11:40:20 -0700 Message-ID: <20190621184019.GA32156@intel.com> References: <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> <20190613171237.GX5942@intel.com> <20190613201328.GA10554@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id E61B46E91A for ; Fri, 21 Jun 2019 18:38:34 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190613201328.GA10554@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Cc: Daniel Vetter , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org QXMgcGVyIHRoZSBmZWVkYmFjaywgSSB0ZXN0ZWQgdGhlIGNvZGUgd2l0aCBzYXZpbmcgbWFzdGVy X3RyYW5zY29kZXIgaW5zdGVhZCBvZiBtYXN0ZXJfY3J0YwphbmQgaW4gdGhlIEhXIHN0YXRlIHJl YWRvdXQgSSBsb29wIHRocm91Z2ggYWxsIHRyYW5zY29kZXJzIHRvIGZpbGwgdGhlIHRyYW5zX3Bv cnRfc3luY19zbGF2ZXMgYml0bWFzay4KVGhpcyBpcyB3b3JraW5nIGdyZWF0IGFuZCBpIGRvbnQg c2VlIGFueSBwaXBlIHN0YXRlIG1pc21hdGNoZXMgbm93LgoKVGhhbmtzIGZvciBhbGwgdGhlIGZl ZWRiYWNrIGFuZCBJIHdpbGwgYmUgc2VuZGluZyB0aGUgbmV3IHBhdGNoIHJldmlzaW9uIG91dCBs YXRlciB0b2RheS4KClJlZ2FyZHMKTWFuYXNpCgpPbiBUaHUsIEp1biAxMywgMjAxOSBhdCAwMTox MzoyOFBNIC0wNzAwLCBNYW5hc2kgTmF2YXJlIHdyb3RlOgo+IE9uIFRodSwgSnVuIDEzLCAyMDE5 IGF0IDA4OjEyOjM3UE0gKzAzMDAsIFZpbGxlIFN5cmrDpGzDpCB3cm90ZToKPiA+IE9uIFRodSwg SnVuIDEzLCAyMDE5IGF0IDA5OjQxOjQyQU0gLTA3MDAsIE1hbmFzaSBOYXZhcmUgd3JvdGU6Cj4g PiA+IE9uIFRodSwgSnVuIDEzLCAyMDE5IGF0IDEyOjEwOjU3UE0gKzAzMDAsIFZpbGxlIFN5cmrD pGzDpCB3cm90ZToKPiA+ID4gPiBPbiBXZWQsIEp1biAxMiwgMjAxOSBhdCAwMTo1OTo1MlBNIC0w NzAwLCBNYW5hc2kgTmF2YXJlIHdyb3RlOgo+ID4gPiA+ID4gT24gV2VkLCBKdW4gMTIsIDIwMTkg YXQgMTA6MzA6NTVQTSArMDMwMCwgVmlsbGUgU3lyasOkbMOkIHdyb3RlOgo+ID4gPiA+ID4gPiBP biBXZWQsIEp1biAxMiwgMjAxOSBhdCAxMjoxMTowMlBNIC0wNzAwLCBNYW5hc2kgTmF2YXJlIHdy b3RlOgo+ID4gPiA+ID4gPiA+IE9uIFdlZCwgSnVuIDEyLCAyMDE5IGF0IDEwOjA0OjI2UE0gKzAz MDAsIFZpbGxlIFN5cmrDpGzDpCB3cm90ZToKPiA+ID4gPiA+ID4gPiA+IE9uIFdlZCwgSnVuIDEy LCAyMDE5IGF0IDExOjM5OjAzQU0gKzAyMDAsIE1hYXJ0ZW4gTGFua2hvcnN0IHdyb3RlOgo+ID4g PiA+ID4gPiA+ID4gPiBPcCAyMy0wNC0yMDE5IG9tIDE3OjQ4IHNjaHJlZWYgTWFuYXNpIE5hdmFy ZToKPiA+ID4gPiA+ID4gPiA+ID4gPiBJbiBjYXNlIG9mIHRpbGVkIGRpc3BsYXlzIHdoZW4gdGhl IHR3byB0aWxlcyBhcmUgc2VudCBhY3Jvc3MgdHdvIENSVENzCj4gPiA+ID4gPiA+ID4gPiA+ID4g b3ZlciB0d28gc2VwYXJhdGUgRFAgU1NUIGNvbm5lY3RvcnMsIHdlIG5lZWQgYSBtZWNoYW5pc20g dG8gc3luY2hyb25pemUKPiA+ID4gPiA+ID4gPiA+ID4gPiB0aGUgdHdvIENSVENzIGFuZCB0aGVp ciBjb3JyZXNwb25kaW5nIHRyYW5zY29kZXJzLgo+ID4gPiA+ID4gPiA+ID4gPiA+IFNvIHVzZSB0 aGUgbWFzdGVyLXNsYXZlIG1vZGUgd2hlcmUgdGhlcmUgaXMgb25lIG1hc3RlciBjb3JyZXNwb25k aW5nCj4gPiA+ID4gPiA+ID4gPiA+ID4gdG8gbGFzdCBob3Jpem9udGFsIGFuZCB2ZXJ0aWNhbCB0 aWxlIHRoYXQgbmVlZHMgdG8gYmUgZ2VubG9ja2VkIHdpdGgKPiA+ID4gPiA+ID4gPiA+ID4gPiBh bGwgb3RoZXIgc2xhdmUgdGlsZXMuCj4gPiA+ID4gPiA+ID4gPiA+ID4gVGhpcyBwYXRjaCBpZGVu dGlmaWVzIHNhdmVzIHRoZSBtYXN0ZXIgQ1JUQyBwb2ludGVyIGluIGFsbCB0aGUgc2xhdmUKPiA+ ID4gPiA+ID4gPiA+ID4gPiBDUlRDIHN0YXRlcy4gVGhpcyBwb2ludGVyIGlzIG5lZWRlZCB0byBz ZWxlY3QgdGhlIG1hc3RlciBDUlRDL3RyYW5zY29kZXIKPiA+ID4gPiA+ID4gPiA+ID4gPiB3aGls ZSBjb25maWd1cmluZyB0cmFuc2NvZGVyIHBvcnQgc3luYyBmb3IgdGhlIGNvcnJlc3BvbmRpbmcg c2xhdmVzLgo+ID4gPiA+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gPiA+ID4gdjI6Cj4gPiA+ ID4gPiA+ID4gPiA+ID4gKiBNb3ZlIHRoaXMgdG8gaW50ZWxfbW9kZV9zZXRfcGlwZV9jb25maWco SmFuaSBOLCBWaWxsZSkKPiA+ID4gPiA+ID4gPiA+ID4gPiAqIFVzZSBzbGF2ZV9iaXRtYXNrIHRv IHNhdmUgYXNzb2NpYXRlZCBzbGF2ZXMgaW4gbWFzdGVyIGNydGMgc3RhdGUgKFZpbGxlKQo+ID4g PiA+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gPiA+ID4gQ2M6IERhbmllbCBWZXR0ZXIgPGRh bmllbC52ZXR0ZXJAZmZ3bGwuY2g+Cj4gPiA+ID4gPiA+ID4gPiA+ID4gQ2M6IFZpbGxlIFN5cmrD pGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gPiA+ID4gPiA+ID4gPiA+ID4g Q2M6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+ Cj4gPiA+ID4gPiA+ID4gPiA+ID4gQ2M6IE1hdHQgUm9wZXIgPG1hdHRoZXcuZC5yb3BlckBpbnRl bC5jb20+Cj4gPiA+ID4gPiA+ID4gPiA+ID4gU2lnbmVkLW9mZi1ieTogTWFuYXNpIE5hdmFyZSA8 bWFuYXNpLmQubmF2YXJlQGludGVsLmNvbT4KPiA+ID4gPiA+ID4gPiA+ID4gPiAtLS0KPiA+ID4g PiA+ID4gPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgODkg KysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4gPiA+ID4gPiA+ID4gPiA+ICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAgNiArKwo+ID4gPiA+ID4gPiA+ID4gPiA+ ICAyIGZpbGVzIGNoYW5nZWQsIDk1IGluc2VydGlvbnMoKykKPiA+ID4gPiA+ID4gPiA+ID4gPgo+ ID4gPiA+ID4gPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+ID4g PiA+ID4gPiA+ID4gPiBpbmRleCBiMjc2MzQ1Nzc5ZTYuLjkyZGVhMjIzMTQ5OSAxMDA2NDQKPiA+ ID4gPiA+ID4gPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMKPiA+ID4gPiA+ID4gPiA+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMKPiA+ID4gPiA+ID4gPiA+ID4gPiBAQCAtMTEzMTYsNiArMTEzMTYsODYgQEAgc3Rh dGljIGludCBpY2xfY2hlY2tfbnYxMl9wbGFuZXMoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUpCj4gPiA+ID4gPiA+ID4gPiA+ID4gIAlyZXR1cm4gMDsKPiA+ID4gPiA+ID4gPiA+ ID4gPiAgfQo+ID4gPiA+ID4gPiA+ID4gPiA+ICAKPiA+ID4gPiA+ID4gPiA+ID4gPiArc3RhdGlj IGludCBpY2xfYWRkX2dlbmxvY2tfY3J0Y3Moc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ID4gPiA+ ID4gPiA+ID4gPiA+ICsJCQkJIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ ID4gPiA+ID4gPiA+ID4gPiA+ICsJCQkJIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkK PiA+ID4gPiA+ID4gPiA+ID4gPiArewo+ID4gPiA+ID4gPiA+ID4gPiA+ICsJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRl dik7Cj4gPiA+ID4gPiA+ID4gPiA+ID4gKwlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqbWFzdGVyX2Nv bm5lY3RvciwgKmNvbm5lY3RvcjsKPiA+ID4gPiA+ID4gPiA+ID4gPiArCXN0cnVjdCBkcm1fY29u bmVjdG9yX3N0YXRlICpjb25uZWN0b3Jfc3RhdGU7Cj4gPiA+ID4gPiA+ID4gPiA+ID4gKwlzdHJ1 Y3QgZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXIgY29ubl9pdGVyOwo+ID4gPiA+ID4gPiA+ID4gPiA+ ICsJc3RydWN0IGRybV9jcnRjICptYXN0ZXJfY3J0YyA9IE5VTEw7Cj4gPiA+ID4gPiA+ID4gPiA+ ID4gKwlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKm1hc3Rlcl9jcnRjX3N0YXRlOwo+ID4gPiA+ID4g PiA+ID4gPiA+ICsJaW50IGksIHRpbGVfZ3JvdXBfaWQ7Cj4gPiA+ID4gPiA+ID4gPiA+ID4gKwo+ ID4gPiA+ID4gPiA+ID4gPiA+ICsJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPCAxMSkKPiA+ID4g PiA+ID4gPiA+ID4gPiArCQlyZXR1cm4gMDsKPiA+ID4gPiA+ID4gPiA+ID4gPiArCj4gPiA+ID4g PiA+ID4gPiA+ID4gKwkvKgo+ID4gPiA+ID4gPiA+ID4gPiA+ICsJICogSW4gY2FzZSBvZiB0aWxl ZCBkaXNwbGF5cyB0aGVyZSBjb3VsZCBiZSBvbmUgb3IgbW9yZSBzbGF2ZXMgYnV0IHRoZXJlIGlz Cj4gPiA+ID4gPiA+ID4gPiA+ID4gKwkgKiBvbmx5IG9uZSBtYXN0ZXIuIExldHMgbWFrZSB0aGUg Q1JUQyB1c2VkIGJ5IHRoZSBjb25uZWN0b3IgY29ycmVzcG9uZGluZwo+ID4gPiA+ID4gPiA+ID4g PiA+ICsJICogdG8gdGhlIGxhc3QgaG9yaXpvbmFsIGFuZCBsYXN0IHZlcnRpY2FsIHRpbGUgYSBt YXN0ZXIvZ2VubG9jayBDUlRDLgo+ID4gPiA+ID4gPiA+ID4gPiA+ICsJICogQWxsIHRoZSBvdGhl ciBDUlRDcyBjb3JyZXNwb25kaW5nIHRvIG90aGVyIHRpbGVzIG9mIHRoZSBzYW1lIFRpbGUgZ3Jv dXAKPiA+ID4gPiA+ID4gPiA+ID4gPiArCSAqIGFyZSB0aGUgc2xhdmUgQ1JUQ3MgYW5kIGhvbGQg YSBwb2ludGVyIHRvIHRoZWlyIGdlbmxvY2sgQ1JUQy4KPiA+ID4gPiA+ID4gPiA+ID4gPiArCSAq Lwo+ID4gPiA+ID4gPiA+ID4gPiA+ICsJZm9yX2VhY2hfbmV3X2Nvbm5lY3Rvcl9pbl9zdGF0ZShz dGF0ZSwgY29ubmVjdG9yLCBjb25uZWN0b3Jfc3RhdGUsIGkpIHsKPiA+ID4gPiA+ID4gPiA+ID4g PiArCQlpZiAoY29ubmVjdG9yX3N0YXRlLT5jcnRjICE9IGNydGMpCj4gPiA+ID4gPiA+ID4gPiA+ ID4gKwkJCWNvbnRpbnVlOwo+ID4gPiA+ID4gPiA+ID4gPiA+ICsJCWlmICghY29ubmVjdG9yLT5o YXNfdGlsZSkKPiA+ID4gPiA+ID4gPiA+ID4gPiArCQkJY29udGludWU7Cj4gPiA+ID4gPiA+ID4g PiA+ID4gKwkJaWYgKGNvbm5lY3Rvci0+dGlsZV9oX2xvYyA9PSBjb25uZWN0b3ItPm51bV9oX3Rp bGUgLSAxICYmCj4gPiA+ID4gPiA+ID4gPiA+ID4gKwkJICAgIGNvbm5lY3Rvci0+dGlsZV92X2xv YyA9PSBjb25uZWN0b3ItPm51bV92X3RpbGUgLSAxKQo+ID4gPiA+ID4gPiA+ID4gPiA+ICsJCQlj b250aW51ZTsKPiA+ID4gPiA+ID4gPiA+ID4gPiArCQljcnRjX3N0YXRlLT5tYXN0ZXJfY3J0YyA9 IE5VTEw7Cj4gPiA+ID4gPiA+ID4gPiA+ID4gKwkJdGlsZV9ncm91cF9pZCA9IGNvbm5lY3Rvci0+ dGlsZV9ncm91cC0+aWQ7Cj4gPiA+ID4gPiA+ID4gPiA+ID4gKwkJZHJtX2Nvbm5lY3Rvcl9saXN0 X2l0ZXJfYmVnaW4oJmRldl9wcml2LT5kcm0sICZjb25uX2l0ZXIpOwo+ID4gPiA+ID4gPiA+ID4g PiA+ICsJCWRybV9mb3JfZWFjaF9jb25uZWN0b3JfaXRlcihtYXN0ZXJfY29ubmVjdG9yLCAmY29u bl9pdGVyKSB7Cj4gPiA+ID4gPiA+ID4gPiA+ID4gKwkJCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0 YXRlICptYXN0ZXJfY29ubl9zdGF0ZSA9IE5VTEw7Cj4gPiA+ID4gPiA+ID4gPiA+ID4gKwo+ID4g PiA+ID4gPiA+ID4gPiA+ICsJCQlpZiAoIW1hc3Rlcl9jb25uZWN0b3ItPmhhc190aWxlKQo+ID4g PiA+ID4gPiA+ID4gPiA+ICsJCQkJY29udGludWU7Cj4gPiA+ID4gPiA+ID4gPiA+ID4gKwkJCWlm IChtYXN0ZXJfY29ubmVjdG9yLT50aWxlX2hfbG9jICE9IG1hc3Rlcl9jb25uZWN0b3ItPm51bV9o X3RpbGUgLSAxIHx8Cj4gPiA+ID4gPiA+ID4gPiA+ID4gKwkJCSAgICBtYXN0ZXJfY29ubmVjdG9y LT50aWxlX3ZfbG9jICE9IG1hc3Rlcl9jb25uZWN0b3ItPm51bV92X3RpbGUgLSAxKQo+ID4gPiA+ ID4gPiA+ID4gPiA+ICsJCQkJY29udGludWU7Cj4gPiA+ID4gPiA+ID4gPiA+ID4gKwkJCWlmICht YXN0ZXJfY29ubmVjdG9yLT50aWxlX2dyb3VwLT5pZCAhPSB0aWxlX2dyb3VwX2lkKQo+ID4gPiA+ ID4gPiA+ID4gPiA+ICsJCQkJY29udGludWU7Cj4gPiA+ID4gPiA+ID4gPiA+ID4gKwo+ID4gPiA+ ID4gPiA+ID4gPiA+ICsJCQltYXN0ZXJfY29ubl9zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X2Nvbm5l Y3Rvcl9zdGF0ZShzdGF0ZSwKPiA+ID4gPiA+ID4gPiA+ID4gPiArCQkJCQkJCQkJICAgbWFzdGVy X2Nvbm5lY3Rvcik7Cj4gPiA+ID4gPiA+ID4gPiA+ID4gKwkJCWlmIChJU19FUlIobWFzdGVyX2Nv bm5fc3RhdGUpKSB7Cj4gPiA+ID4gPiA+ID4gPiA+ID4gKwkJCQlkcm1fY29ubmVjdG9yX2xpc3Rf aXRlcl9lbmQoJmNvbm5faXRlcik7Cj4gPiA+ID4gPiA+ID4gPiA+ID4gKwkJCQlyZXR1cm4gUFRS X0VSUihtYXN0ZXJfY29ubl9zdGF0ZSk7Cj4gPiA+ID4gPiA+ID4gPiA+ID4gKwkJCX0KPiA+ID4g PiA+ID4gPiA+ID4gPiArCQkJaWYgKG1hc3Rlcl9jb25uX3N0YXRlLT5jcnRjKSB7Cj4gPiA+ID4g PiA+ID4gPiA+ID4gKwkJCQltYXN0ZXJfY3J0YyA9IG1hc3Rlcl9jb25uX3N0YXRlLT5jcnRjOwo+ ID4gPiA+ID4gPiA+ID4gPiA+ICsJCQkJYnJlYWs7Cj4gPiA+ID4gPiA+ID4gPiA+ID4gKwkJCX0K PiA+ID4gPiA+ID4gPiA+ID4gPiArCQl9Cj4gPiA+ID4gPiA+ID4gPiA+ID4gKwkJZHJtX2Nvbm5l Y3Rvcl9saXN0X2l0ZXJfZW5kKCZjb25uX2l0ZXIpOwo+ID4gPiA+ID4gPiA+ID4gPiA+ICsKPiA+ ID4gPiA+ID4gPiA+ID4gPiArCQlpZiAoIW1hc3Rlcl9jcnRjKSB7Cj4gPiA+ID4gPiA+ID4gPiA+ ID4gKwkJCURSTV9ERUJVR19LTVMoIkNvdWxkIG5vdCBhZGQgTWFzdGVyIENSVEMgZm9yIFNsYXZl IENSVEMgJWRcbiIsCj4gPiA+ID4gPiA+ID4gPiA+ID4gKwkJCQkgICAgICBjb25uZWN0b3Jfc3Rh dGUtPmNydGMtPmJhc2UuaWQpOwo+ID4gPiA+ID4gPiA+ID4gPiA+ICsJCQlyZXR1cm4gLUVJTlZB TDsKPiA+ID4gPiA+ID4gPiA+ID4gPiArCQl9Cj4gPiA+ID4gPiA+ID4gPiA+ID4gKwo+ID4gPiA+ ID4gPiA+ID4gPiA+ICsJCW1hc3Rlcl9jcnRjX3N0YXRlID0gZHJtX2F0b21pY19nZXRfY3J0Y19z dGF0ZShzdGF0ZSwKPiA+ID4gPiA+ID4gPiA+ID4gPiArCQkJCQkJCSAgICAgIG1hc3Rlcl9jcnRj KTsKPiA+ID4gPiA+ID4gPiA+ID4gPiArCQlpZiAoSVNfRVJSKG1hc3Rlcl9jcnRjX3N0YXRlKSkK PiA+ID4gPiA+ID4gPiA+ID4gPiArCQkJcmV0dXJuIFBUUl9FUlIobWFzdGVyX2NydGNfc3RhdGUp Owo+ID4gPiA+ID4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gPiA+ID4gPiArCQljcnRjX3N0YXRl LT5tYXN0ZXJfY3J0YyA9IHRvX2ludGVsX2NydGMobWFzdGVyX2NydGMpOwo+ID4gPiA+ID4gPiA+ ID4gPiA+ICsJCXRvX2ludGVsX2NydGNfc3RhdGUobWFzdGVyX2NydGNfc3RhdGUpLT50cmFuc19w b3J0X3N5bmNfc2xhdmVzIHw9Cj4gPiA+ID4gPiA+ID4gPiA+ID4gKwkJCUJJVCh0b19pbnRlbF9j cnRjKGNydGMpLT5waXBlKTsKPiA+ID4gPiA+ID4gPiA+ID4gPiArCQlEUk1fREVCVUdfS01TKCJN YXN0ZXIgQ1JUQyA9ICVkIGFkZGVkIGZvciBTbGF2ZSBDUlRDID0gJWRcbiwgc2xhdmUgYml0bWFz dCA9ICVkIiwKPiA+ID4gPiA+ID4gPiA+ID4gPiArCQkJICAgICAgbWFzdGVyX2NydGMtPmJhc2Uu aWQsCj4gPiA+ID4gPiA+ID4gPiA+ID4gKwkJCSAgICAgIGNydGNfc3RhdGUtPmJhc2UuY3J0Yy0+ YmFzZS5pZCwKPiA+ID4gPiA+ID4gPiA+ID4gPiArCQkJICAgICAgdG9faW50ZWxfY3J0Y19zdGF0 ZShtYXN0ZXJfY3J0Y19zdGF0ZSktPnRyYW5zX3BvcnRfc3luY19zbGF2ZXMpOwo+ID4gPiA+ID4g PiA+ID4gPiA+ICsJfQo+ID4gPiA+ID4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gPiA+ID4gPiAr CXJldHVybiAwOwo+ID4gPiA+ID4gPiA+ID4gPiA+ICt9Cj4gPiA+ID4gPiA+ID4gPiA+ID4gKwo+ ID4gPiA+ID4gPiA+ID4gPiA+ICBzdGF0aWMgaW50IGludGVsX2NydGNfYXRvbWljX2NoZWNrKHN0 cnVjdCBkcm1fY3J0YyAqY3J0YywKPiA+ID4gPiA+ID4gPiA+ID4gPiAgCQkJCSAgIHN0cnVjdCBk cm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiA+ID4gPiA+ID4gPiA+ID4gPiAgewo+ID4gPiA+ ID4gPiA+ID4gPiA+IEBAIC0xMTc5NSw2ICsxMTg3NSw5IEBAIGNsZWFyX2ludGVsX2NydGNfc3Rh dGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gPiA+ID4gPiA+ID4gPiA+ ID4gIAlpZiAoSVNfRzRYKGRldl9wcml2KSB8fAo+ID4gPiA+ID4gPiA+ID4gPiA+ICAJICAgIElT X1ZBTExFWVZJRVcoZGV2X3ByaXYpIHx8IElTX0NIRVJSWVZJRVcoZGV2X3ByaXYpKQo+ID4gPiA+ ID4gPiA+ID4gPiA+ICAJCXNhdmVkX3N0YXRlLT53bSA9IGNydGNfc3RhdGUtPndtOwo+ID4gPiA+ ID4gPiA+ID4gPiA+ICsJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTEpCj4gPiA+ID4gPiA+ ID4gPiA+ID4gKwkJc2F2ZWRfc3RhdGUtPnRyYW5zX3BvcnRfc3luY19zbGF2ZXMgPQo+ID4gPiA+ ID4gPiA+ID4gPiA+ICsJCQljcnRjX3N0YXRlLT50cmFuc19wb3J0X3N5bmNfc2xhdmVzOwo+ID4g PiA+ID4gPiA+ID4gPiA+ICAKPiA+ID4gPiA+ID4gPiA+ID4gPiAgCS8qIEtlZXAgYmFzZSBkcm1f Y3J0Y19zdGF0ZSBpbnRhY3QsIG9ubHkgY2xlYXIgb3VyIGV4dGVuZGVkIHN0cnVjdCAqLwo+ID4g PiA+ID4gPiA+ID4gPiA+ICAJQlVJTERfQlVHX09OKG9mZnNldG9mKHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlLCBiYXNlKSk7Cj4gPiA+ID4gPiA+ID4gPiA+ID4gQEAgLTExODg4LDYgKzExOTcxLDEy IEBAIGludGVsX21vZGVzZXRfcGlwZV9jb25maWcoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ID4g PiA+ID4gPiA+ID4gPiA+ICAJZHJtX21vZGVfc2V0X2NydGNpbmZvKCZwaXBlX2NvbmZpZy0+YmFz ZS5hZGp1c3RlZF9tb2RlLAo+ID4gPiA+ID4gPiA+ID4gPiA+ICAJCQkgICAgICBDUlRDX1NURVJF T19ET1VCTEUpOwo+ID4gPiA+ID4gPiA+ID4gPiA+ICAKPiA+ID4gPiA+ID4gPiA+ID4gPiArCXJl dCA9IGljbF9hZGRfZ2VubG9ja19jcnRjcyhjcnRjLCBwaXBlX2NvbmZpZywgc3RhdGUpOwo+ID4g PiA+ID4gPiA+ID4gPiA+ICsJaWYgKHJldCkgewo+ID4gPiA+ID4gPiA+ID4gPiA+ICsJCURSTV9E RUJVR19LTVMoIlxuOEsgRGVidWc6IENhbm5vdCBhc3NpZ24gZ2VubG9jayBjcnRjcyIpOwo+ID4g PiA+ID4gPiA+ID4gPiA+ICsJCXJldHVybiByZXQ7Cj4gPiA+ID4gPiA+ID4gPiA+ID4gKwl9Cj4g PiA+ID4gPiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiA+ID4gPiA+ICAJLyogUGFzcyBvdXIgbW9k ZSB0byB0aGUgY29ubmVjdG9ycyBhbmQgdGhlIENSVEMgdG8gZ2l2ZSB0aGVtIGEgY2hhbmNlIHRv Cj4gPiA+ID4gPiA+ID4gPiA+ID4gIAkgKiBhZGp1c3QgaXQgYWNjb3JkaW5nIHRvIGxpbWl0YXRp b25zIG9yIGNvbm5lY3RvciBwcm9wZXJ0aWVzLCBhbmQgYWxzbwo+ID4gPiA+ID4gPiA+ID4gPiA+ ICAJICogYSBjaGFuY2UgdG8gcmVqZWN0IHRoZSBtb2RlIGVudGlyZWx5Lgo+ID4gPiA+ID4gPiA+ ID4gPiAKPiA+ID4gPiA+ID4gPiA+ID4gSSB0aGdpbmsgd2Ugc2hvdWxkIGV4dGVuZCBvbiB0aGlz IHRvIG1ha2UgbWFzdGVyL3NsYXZlIG1vZGUgd29yayBieSBkb2luZyB3aGF0IG1hdHQgcm9wZXIg d2FzIHdvcmtpbmcgb24sIGluIGNvbGxhYm9yYXRpb24gd2l0aCBWaWxsZT8KPiA+ID4gPiA+ID4g PiA+ID4gCj4gPiA+ID4gPiA+ID4gPiA+IGNydGMtPnN0YXRlIHBvaW50cyB0byBkcm1fY3J0Y19z dGF0ZSwgd2hpY2ggaXMgdGhlIHVhcGkgc3RhdGUsIGJ1dCBhbHNvIGNvbnRhaW5zIGEgc2hhZG93 IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlLCB3aGljaCBpcyB0aGUgYWN0dWFsIGh3IHN0YXRlLiBJ dCBoYXMgaXRzIG93biBkcm1fY3J0Y19zdGF0ZSBvYmplY3QgZm9yIHRoZSByZWFsIHN0YXRlLCB3 aGljaCBnZXRzIGNvcGllZCBhZnRlciBjaGVjay4KPiA+ID4gPiA+ID4gPiA+ID4gCj4gPiA+ID4g PiA+ID4gPiA+IFRoaXMgc2hvdWxkIHRoZW4gYWxzbyBiZSBkb25lIGZvciBpbnRlbF9wbGFuZV9z dGF0ZSwgd2hpY2ggd2lsbCBhbGxvdyB1cyB0byBjb3JyZWN0bHkgaGFuZGxlIHRoaXMgbW9kZS4K PiA+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+ID4gSSBkb24ndCB0aGluayB0aGVyZSdzIGFu eSBsaW5rYWdlIGJldHdlZW4gdGhpcyBhbmQgdGhlIDItcGlwZS0xLXBvcnQKPiA+ID4gPiA+ID4g PiA+IGNhc2VzIG90aGVyIHRoYW4gd2UgbWlnaHQgd2FudCB0byBoYW5kbGUgdGlsZWQgZGlzcGxh eXMgdGhhdCB3YXkgb25lCj4gPiA+ID4gPiA+ID4gPiBkYXkgdG8gbWFrZSBsaWZlIGVhc2llciBm b3IgdXNlcnNwYWNlLiBCdXQgdGhhdCBoYXMgb3RoZXIgaXNzdWVzIHN1Y2gKPiA+ID4gPiA+ID4g PiA+IGFzIHdlJ2QgaGF2ZSB0byBnZW5lcmF0ZSBhIG5ldyBFRElEIGZvciB0aGUgd2hvbGUgZGlz cGxheSBmcm9tIHRoZSBFRElEcwo+ID4gPiA+ID4gPiA+ID4gb2YgdGhlIHRpbGVzLgo+ID4gPiA+ ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4gPiBBbHNvIHdlIG1heWJlIHdhbnQgcG9ydCBzeW5jIGZv ciAxMDAlIGluZGVwZW5kZW50IGRpc3BsYXlzIHRvby4gU28gSU1PCj4gPiA+ID4gPiA+ID4gPiBu byBwb2ludCBpbiB0cnlpbmcgdG8gc2hvZWhvcm4gYm90aCB0aGluZ3MgaW50byB0aGUgc2FtZSBi dWNrZXQuCj4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4gSSBhZ3JlZSwgYWxzbyB0aGUgdGls ZWQgZGlzcGxheSBjYXNlIGlzIHNpbXBsZSBpbiB0ZXJtcyBvZiB0aGUgc3RhdGVzIHNpbmNlIGl0 cyAyIGNvbm5lY3RvcnMgYW5kIDIgY3J0Y3MgZXhwb3NlZCB0byB0aGUgdXNlcnNwYWNlCj4gPiA+ ID4gPiA+ID4gc28gdGhlIHVzZXJzcGFjZSB3aWxsIGNyZWF0ZSB0d28gc3RhdGVzIGFuZCB0aGV5 IGFyZSB1c2VkIGFzIGlzIGZvciB0aGUgdHdvIGNydGNzLCB0aGUgb25seSBkaWZmZXJlbmNlIGlz IHRoYXQgd2UgbmVlZCB0byBwcm9ncmFtCj4gPiA+ID4gPiA+ID4gb25lIGFzIGEgc2xhdmUgYW5k IHRoZSBvdGhlciBhcyBtYXN0ZXIgYW5kIGZpbmQgYSB3YXkgdG8gc3RvcmUgYSBwb2ludGVyIHRv IG1hc3RlciBmcm9tIHRoZSBzbGF2ZSBzaW5jZSB3ZSBuZWVkIHRvIHVzZSB0aGF0Cj4gPiA+ID4g PiA+ID4gdG8gY29uZmlndXJlIGFuZCBlbmFibGUgdHJhbnNjb2RlciBwb3J0IHN5bmMgd2hpbGUg ZW5hYmxpbmcgc2xhdmUgQ1JUQy4KPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiBTbyBvbiB0 aG9zZSBsaW5lcywgaWYgaSBzdG9yZSB0aGUgbWFzdGVyIHRyYW5zY29kZXIgZGlyZWN0bHkgaW4g dGhlIHNsYXZlIGNydGMgc3RhdGUgdGhlbiB0cmFucyA9IDAgaXMgdmFsaWQgZm9yIHRyYW5zIEEg dGhlbiBob3cKPiA+ID4gPiA+ID4gPiBkbyBJIGlkZW50aWZ5IHdoaWNoIGNydGMgaXMgc2xhdmU/ Cj4gPiA+ID4gPiA+ID4gQ3VycmVudGx5IEkgY2hlY2sgZm9yICFtYXN0ZXJfY3J0YyBhbmQgdGhh dCB0ZWxscyBtZSB0aGF0IGl0IGlzIG5vdCBzbGF2ZS4KPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ IElOVkFMSURfVFJBTlNDT0RERVIgb3Igc29tZXRoaW5nPwo+ID4gPiA+ID4gCj4gPiA+ID4gPiBB Y3R1YWxseSBJIGp1c3QgcmVhbGl6ZWQgdGhhdCBpbiB0aGUgaHdfc3RhdGVfcmVhZG91dCBhZnRl ciBpIGdldCB0aGUgdHJhbnNjb2RlciB3aGljaCB3b3VsZCBiZSBzYW1lIGFzIHBpcGUsCj4gPiA+ ID4gPiBjYW4gSSBqdXN0IHVzZSB0aGUgaW50ZWxfZ2V0X2NydGNfZm9yX3BpcGUoKSBmdW5jdGlv biB0byBnZXQgdGhlIGludGVsX2NydGMqIHdoaWNoIHNob3VsZCBtYXRjaCB0aGUgbWFzdGVyX2Ny dGMgc2F2ZWQKPiA+ID4gPiA+IGluIHNsYXZlIGNydGNfc3RhdGUsIHdoYSBkbyB5b3UgdGhpbms/ Cj4gPiA+ID4gCj4gPiA+ID4gT25seSBpZiB5b3UgaWdub3JlIHRoZSBmYWN0IHRoYXQgdHJhbnNj b2RlciBFRFAgY2FuIGJlIHRoZSBtYXN0ZXIuCj4gPiA+IAo+ID4gPiBBY3R1YWxseSBUcmFuc2Nv ZGVyIEVEUCBjYW4gbmV2ZXIgYmUgdGhlIG1hc3RlciBzbyB0aGVyZSBzaG91bGQgYmUgYSB3YXJu aW5nIGlmIFRSQU5TQ09ERVIgRURQIGdldHMgc2V0IGFzIGEgbWFzdGVyIGluIHRlaCBjb25maWd1 cmF0aW9uIHRpbWUgaXRzZWxmLgo+ID4gCj4gPiBJSVJDIHRoZSBkb2NzIHNheSBpdCBjYW4gYmUg bWFzdGVyLCBidXQgbm90IHNsYXZlLgo+IAo+IFNvIGl0cyBwcm9iYWJseSBiZXR0ZXIgdG8ganVz dCBzdG9yZSB0aGUgbWFzdGVyIGNwdSB0cmFuc2NvZGVyIGRpcmVjdGx5IGluIHRoZSBzbGF2ZSBj cnRjIHN0YXRlLiBJbiB0aGF0IGNhc2UsIEkgd2lsbCBoYXZlIHRvIGFkZCBUUkFOU0NPREVSX0lO VkFMSUQgPSAtMQo+IHRvIHRoZSBlbnVtIHRyYW5zY29kZXIganVzdCBsaWtlIHdlIGRvIGZvciB0 aGUgUElQRV9JTlZBTElEIGFuZCB0aGVuIEkgY2FuIHVzZSBUUkFOU0NPREVSX0lOVkFMSUQgdG8g IGRlY2lkZSB3aGV0aGVyIGl0cyBhIHNsYXZlIG9yIG1hc3Rlci4KPiAKPiBBbHNvIGZvciB0cmFu c19wb3J0X3N5bmNfc2xhdmVzIGJpdG1hc2ssIGluIHRoZSBIVyBzdGF0ZSByZWFkb3V0IGZvciBt YXN0ZXIgQ1JUQywgSSB3aWxsIGxvb3AgdGhyb3VnaCBhbGwgdGhlIGFjdGl2ZSB0cmFuc2NvZGVy cyBhbmQgZmluZCB0aGUgcGlwZSBmb3IgdGhlCj4gdHJhbnNjb2RlcnMgdGhhdCBoYXZlIHBvcnQg c3luYyBlbmFibGUgc2V0IGluIHRoZWlyIFRSQU5TX1BPUlRfU1lOQyByZWcKPiAKPiBEb2VzIHRo aXMgc291bmQgbGlrZSBhIGNvcnJlY3QgYXBwcm9hY2g/Cj4gCj4gTWFuYXNpCj4gCj4gPiAKPiA+ IC0tIAo+ID4gVmlsbGUgU3lyasOkbMOkCj4gPiBJbnRlbAo+IF9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IElu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeApfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZng=