From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH v7 03/23] drm/i915/dsi: abstract dphy parameter init Date: Thu, 18 Oct 2018 15:20:07 +0300 Message-ID: <87in1zigzs.fsf@intel.com> References: <96d15760db027a137f298ec330520ef8ec6474b0.1539613303.git.jani.nikula@intel.com> <071511e6-ba6a-761d-3bdc-e92417d8bb3c@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 1BB2889518 for ; Thu, 18 Oct 2018 12:20:28 +0000 (UTC) In-Reply-To: <071511e6-ba6a-761d-3bdc-e92417d8bb3c@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Madhav Chauhan , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCAxNiBPY3QgMjAxOCwgTWFkaGF2IENoYXVoYW4gPG1hZGhhdi5jaGF1aGFuQGludGVs LmNvbT4gd3JvdGU6Cj4gT24gMTAvMTUvMjAxOCA3OjU3IFBNLCBKYW5pIE5pa3VsYSB3cm90ZToK Pj4gaW50ZWxfZHNpX3ZidF9pbml0KCkgaGFzIGdyb3duIHRvbyB1bndpZWxkeSwgYW5kIGl0J3Mg YWJvdXQgdG8gYmUKPj4gbW9kaWZpZWQgZHVlIHRvIElDTCBEU0kuIEFic3RyYWN0IG91dCB0aGUg VkxWIHNwZWNpZmljIGRwaHkgcGFyYW0KPj4gaW5pdC4gTm8gZnVuY3Rpb25hbCBjaGFuZ2VzLiBJ bnRlbnRpb25hbGx5IG5vIHN0eWxpc3RpYyBjaGFuZ2VzIGR1cmluZwo+PiBjb2RlIG1vdmVtZW50 Lgo+Pgo+PiBDYzogTWFkaGF2IENoYXVoYW4gPG1hZGhhdi5jaGF1aGFuQGludGVsLmNvbT4KPj4g Q2M6IFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+PiBTaWdu ZWQtb2ZmLWJ5OiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPgo+Cj4gTG9va3Mg b2sgdG8gbWUsCj4gUmV2aWV3ZWQtYnk6IE1hZGhhdiBDaGF1aGFuIDxtYWRoYXYuY2hhdWhhbkBp bnRlbC5jb20+CgpUaGFua3MgZm9yIHRoZSByZXZpZXcsIHB1c2hlZCBwYXRjaGVzIDEtMyB3aXRo IFZpbGxlJ3MgSVJDIGFjayBvbiBwYXRjaAoxLgoKQlIsCkphbmkuCgoKPgo+IFJlZ2FyZHMsCj4g TWFkaGF2Cj4KPj4gLS0tCj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpX3ZidC5j IHwgMTQ3ICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tCj4+ICAgMSBmaWxlIGNo YW5nZWQsIDc4IGluc2VydGlvbnMoKyksIDY5IGRlbGV0aW9ucygtKQo+Pgo+PiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpX3ZidC5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHNpX3ZidC5jCj4+IGluZGV4IDZjNGNjOTJmNTk0Ny4uZmRlYmE4Mzg2ZDUz IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2lfdmJ0LmMKPj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpX3ZidC5jCj4+IEBAIC00OTksMTMg KzQ5OSwxMSBAQCBpbnQgaW50ZWxfZHNpX3ZidF9nZXRfbW9kZXMoc3RydWN0IGludGVsX2RzaSAq aW50ZWxfZHNpKQo+PiAgIAlyZXR1cm4gMTsKPj4gICB9Cj4+ICAgCj4+IC1ib29sIGludGVsX2Rz aV92YnRfaW5pdChzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2ksIHUxNiBwYW5lbF9pZCkKPj4g K3N0YXRpYyB2b2lkIHZsdl9kcGh5X3BhcmFtX2luaXQoc3RydWN0IGludGVsX2RzaSAqaW50ZWxf ZHNpKQo+PiAgIHsKPj4gICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGludGVsX2RzaS0+YmFz ZS5iYXNlLmRldjsKPj4gICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShkZXYpOwo+PiAgIAlzdHJ1Y3QgbWlwaV9jb25maWcgKm1pcGlfY29uZmlnID0gZGV2X3By aXYtPnZidC5kc2kuY29uZmlnOwo+PiAtCXN0cnVjdCBtaXBpX3Bwc19kYXRhICpwcHMgPSBkZXZf cHJpdi0+dmJ0LmRzaS5wcHM7Cj4+IC0Jc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUgPSBk ZXZfcHJpdi0+dmJ0LmxmcF9sdmRzX3ZidF9tb2RlOwo+PiAgIAl1MzIgdGxweF9ucywgZXh0cmFf Ynl0ZV9jb3VudCwgdGxweF91aTsKPj4gICAJdTMyIHVpX251bSwgdWlfZGVuOwo+PiAgIAl1MzIg cHJlcGFyZV9jbnQsIGV4aXRfemVyb19jbnQsIGNsa196ZXJvX2NudCwgdHJhaWxfY250Owo+PiBA QCAtNTEzLDcyICs1MTEsNiBAQCBib29sIGludGVsX2RzaV92YnRfaW5pdChzdHJ1Y3QgaW50ZWxf ZHNpICppbnRlbF9kc2ksIHUxNiBwYW5lbF9pZCkKPj4gICAJdTMyIHRjbGtfcHJlcGFyZV9jbGt6 ZXJvLCB0aHNfcHJlcGFyZV9oc3plcm87Cj4+ICAgCXUzMiBscF90b19oc19zd2l0Y2gsIGhzX3Rv X2xwX3N3aXRjaDsKPj4gICAJdTMyIG11bDsKPj4gLQl1MTYgYnVyc3RfbW9kZV9yYXRpbzsKPj4g LQllbnVtIHBvcnQgcG9ydDsKPj4gLQo+PiAtCURSTV9ERUJVR19LTVMoIlxuIik7Cj4+IC0KPj4g LQlpbnRlbF9kc2ktPmVvdHBfcGt0ID0gbWlwaV9jb25maWctPmVvdF9wa3RfZGlzYWJsZWQgPyAw IDogMTsKPj4gLQlpbnRlbF9kc2ktPmNsb2NrX3N0b3AgPSBtaXBpX2NvbmZpZy0+ZW5hYmxlX2Ns a19zdG9wID8gMSA6IDA7Cj4+IC0JaW50ZWxfZHNpLT5sYW5lX2NvdW50ID0gbWlwaV9jb25maWct PmxhbmVfY250ICsgMTsKPj4gLQlpbnRlbF9kc2ktPnBpeGVsX2Zvcm1hdCA9Cj4+IC0JCQlwaXhl bF9mb3JtYXRfZnJvbV9yZWdpc3Rlcl9iaXRzKAo+PiAtCQkJCW1pcGlfY29uZmlnLT52aWRlb21v ZGVfY29sb3JfZm9ybWF0IDw8IDcpOwo+PiAtCj4+IC0JaW50ZWxfZHNpLT5kdWFsX2xpbmsgPSBt aXBpX2NvbmZpZy0+ZHVhbF9saW5rOwo+PiAtCWludGVsX2RzaS0+cGl4ZWxfb3ZlcmxhcCA9IG1p cGlfY29uZmlnLT5waXhlbF9vdmVybGFwOwo+PiAtCWludGVsX2RzaS0+b3BlcmF0aW9uX21vZGUg PSBtaXBpX2NvbmZpZy0+aXNfY21kX21vZGU7Cj4+IC0JaW50ZWxfZHNpLT52aWRlb19tb2RlX2Zv cm1hdCA9IG1pcGlfY29uZmlnLT52aWRlb190cmFuc2Zlcl9tb2RlOwo+PiAtCWludGVsX2RzaS0+ ZXNjYXBlX2Nsa19kaXYgPSBtaXBpX2NvbmZpZy0+Ynl0ZV9jbGtfc2VsOwo+PiAtCWludGVsX2Rz aS0+bHBfcnhfdGltZW91dCA9IG1pcGlfY29uZmlnLT5scF9yeF90aW1lb3V0Owo+PiAtCWludGVs X2RzaS0+dHVybl9hcm5kX3ZhbCA9IG1pcGlfY29uZmlnLT50dXJuX2Fyb3VuZF90aW1lb3V0Owo+ PiAtCWludGVsX2RzaS0+cnN0X3RpbWVyX3ZhbCA9IG1pcGlfY29uZmlnLT5kZXZpY2VfcmVzZXRf dGltZXI7Cj4+IC0JaW50ZWxfZHNpLT5pbml0X2NvdW50ID0gbWlwaV9jb25maWctPm1hc3Rlcl9p bml0X3RpbWVyOwo+PiAtCWludGVsX2RzaS0+YndfdGltZXIgPSBtaXBpX2NvbmZpZy0+ZGJpX2J3 X3RpbWVyOwo+PiAtCWludGVsX2RzaS0+dmlkZW9fZnJtdF9jZmdfYml0cyA9Cj4+IC0JCW1pcGlf Y29uZmlnLT5idGFfZW5hYmxlZCA/IERJU0FCTEVfVklERU9fQlRBIDogMDsKPj4gLQo+PiAtCS8q IFN0YXJ0aW5nIHBvaW50LCBhZGp1c3RlZCBkZXBlbmRpbmcgb24gZHVhbCBsaW5rIGFuZCBidXJz dCBtb2RlICovCj4+IC0JaW50ZWxfZHNpLT5wY2xrID0gbW9kZS0+Y2xvY2s7Cj4+IC0KPj4gLQkv KiBJbiBkdWFsIGxpbmsgbW9kZSBlYWNoIHBvcnQgbmVlZHMgaGFsZiBvZiBwaXhlbCBjbG9jayAq Lwo+PiAtCWlmIChpbnRlbF9kc2ktPmR1YWxfbGluaykgewo+PiAtCQlpbnRlbF9kc2ktPnBjbGsg Lz0gMjsKPj4gLQo+PiAtCQkvKiB3ZSBjYW4gZW5hYmxlIHBpeGVsX292ZXJsYXAgaWYgbmVlZGVk IGJ5IHBhbmVsLiBJbiB0aGlzCj4+IC0JCSAqIGNhc2Ugd2UgbmVlZCB0byBpbmNyZWFzZSB0aGUg cGl4ZWxjbG9jayBmb3IgZXh0cmEgcGl4ZWxzCj4+IC0JCSAqLwo+PiAtCQlpZiAoaW50ZWxfZHNp LT5kdWFsX2xpbmsgPT0gRFNJX0RVQUxfTElOS19GUk9OVF9CQUNLKSB7Cj4+IC0JCQlpbnRlbF9k c2ktPnBjbGsgKz0gRElWX1JPVU5EX1VQKG1vZGUtPnZ0b3RhbCAqIGludGVsX2RzaS0+cGl4ZWxf b3ZlcmxhcCAqIDYwLCAxMDAwKTsKPj4gLQkJfQo+PiAtCX0KPj4gLQo+PiAtCS8qIEJ1cnN0IE1v ZGUgUmF0aW8KPj4gLQkgKiBUYXJnZXQgZGRyIGZyZXF1ZW5jeSBmcm9tIFZCVCAvIG5vbiBidXJz dCBkZHIgZnJlcQo+PiAtCSAqIG11bHRpcGx5IGJ5IDEwMCB0byBwcmVzZXJ2ZSByZW1haW5kZXIK Pj4gLQkgKi8KPj4gLQlpZiAoaW50ZWxfZHNpLT52aWRlb19tb2RlX2Zvcm1hdCA9PSBWSURFT19N T0RFX0JVUlNUKSB7Cj4+IC0JCWlmIChtaXBpX2NvbmZpZy0+dGFyZ2V0X2J1cnN0X21vZGVfZnJl cSkgewo+PiAtCQkJdTMyIGJpdHJhdGUgPSBpbnRlbF9kc2lfYml0cmF0ZShpbnRlbF9kc2kpOwo+ PiAtCj4+IC0JCQlpZiAobWlwaV9jb25maWctPnRhcmdldF9idXJzdF9tb2RlX2ZyZXEgPCBiaXRy YXRlKSB7Cj4+IC0JCQkJRFJNX0VSUk9SKCJCdXJzdCBtb2RlIGZyZXEgaXMgbGVzcyB0aGFuIGNv bXB1dGVkXG4iKTsKPj4gLQkJCQlyZXR1cm4gZmFsc2U7Cj4+IC0JCQl9Cj4+IC0KPj4gLQkJCWJ1 cnN0X21vZGVfcmF0aW8gPSBESVZfUk9VTkRfVVAoCj4+IC0JCQkJbWlwaV9jb25maWctPnRhcmdl dF9idXJzdF9tb2RlX2ZyZXEgKiAxMDAsCj4+IC0JCQkJYml0cmF0ZSk7Cj4+IC0KPj4gLQkJCWlu dGVsX2RzaS0+cGNsayA9IERJVl9ST1VORF9VUChpbnRlbF9kc2ktPnBjbGsgKiBidXJzdF9tb2Rl X3JhdGlvLCAxMDApOwo+PiAtCQl9IGVsc2Ugewo+PiAtCQkJRFJNX0VSUk9SKCJCdXJzdCBtb2Rl IHRhcmdldCBpcyBub3Qgc2V0XG4iKTsKPj4gLQkJCXJldHVybiBmYWxzZTsKPj4gLQkJfQo+PiAt CX0gZWxzZQo+PiAtCQlidXJzdF9tb2RlX3JhdGlvID0gMTAwOwo+PiAtCj4+IC0JaW50ZWxfZHNp LT5idXJzdF9tb2RlX3JhdGlvID0gYnVyc3RfbW9kZV9yYXRpbzsKPj4gICAKPj4gICAJc3dpdGNo IChpbnRlbF9kc2ktPmVzY2FwZV9jbGtfZGl2KSB7Cj4+ICAgCWNhc2UgMDoKPj4gQEAgLTczOCw2 ICs2NzAsODMgQEAgYm9vbCBpbnRlbF9kc2lfdmJ0X2luaXQoc3RydWN0IGludGVsX2RzaSAqaW50 ZWxfZHNpLCB1MTYgcGFuZWxfaWQpCj4+ICAgCQlESVZfUk9VTkRfVVAoMiAqIHRscHhfdWkgKyB0 cmFpbF9jbnQgKiAyICsgOCwKPj4gICAJCQk4KTsKPj4gICAJaW50ZWxfZHNpLT5jbGtfaHNfdG9f bHBfY291bnQgKz0gZXh0cmFfYnl0ZV9jb3VudDsKPj4gK30KPj4gKwo+PiArYm9vbCBpbnRlbF9k c2lfdmJ0X2luaXQoc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpLCB1MTYgcGFuZWxfaWQpCj4+ ICt7Cj4+ICsJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGludGVsX2RzaS0+YmFzZS5iYXNlLmRl djsKPj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7 Cj4+ICsJc3RydWN0IG1pcGlfY29uZmlnICptaXBpX2NvbmZpZyA9IGRldl9wcml2LT52YnQuZHNp LmNvbmZpZzsKPj4gKwlzdHJ1Y3QgbWlwaV9wcHNfZGF0YSAqcHBzID0gZGV2X3ByaXYtPnZidC5k c2kucHBzOwo+PiArCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlID0gZGV2X3ByaXYtPnZi dC5sZnBfbHZkc192YnRfbW9kZTsKPj4gKwl1MTYgYnVyc3RfbW9kZV9yYXRpbzsKPj4gKwllbnVt IHBvcnQgcG9ydDsKPj4gKwo+PiArCURSTV9ERUJVR19LTVMoIlxuIik7Cj4+ICsKPj4gKwlpbnRl bF9kc2ktPmVvdHBfcGt0ID0gbWlwaV9jb25maWctPmVvdF9wa3RfZGlzYWJsZWQgPyAwIDogMTsK Pj4gKwlpbnRlbF9kc2ktPmNsb2NrX3N0b3AgPSBtaXBpX2NvbmZpZy0+ZW5hYmxlX2Nsa19zdG9w ID8gMSA6IDA7Cj4+ICsJaW50ZWxfZHNpLT5sYW5lX2NvdW50ID0gbWlwaV9jb25maWctPmxhbmVf Y250ICsgMTsKPj4gKwlpbnRlbF9kc2ktPnBpeGVsX2Zvcm1hdCA9Cj4+ICsJCQlwaXhlbF9mb3Jt YXRfZnJvbV9yZWdpc3Rlcl9iaXRzKAo+PiArCQkJCW1pcGlfY29uZmlnLT52aWRlb21vZGVfY29s b3JfZm9ybWF0IDw8IDcpOwo+PiArCj4+ICsJaW50ZWxfZHNpLT5kdWFsX2xpbmsgPSBtaXBpX2Nv bmZpZy0+ZHVhbF9saW5rOwo+PiArCWludGVsX2RzaS0+cGl4ZWxfb3ZlcmxhcCA9IG1pcGlfY29u ZmlnLT5waXhlbF9vdmVybGFwOwo+PiArCWludGVsX2RzaS0+b3BlcmF0aW9uX21vZGUgPSBtaXBp X2NvbmZpZy0+aXNfY21kX21vZGU7Cj4+ICsJaW50ZWxfZHNpLT52aWRlb19tb2RlX2Zvcm1hdCA9 IG1pcGlfY29uZmlnLT52aWRlb190cmFuc2Zlcl9tb2RlOwo+PiArCWludGVsX2RzaS0+ZXNjYXBl X2Nsa19kaXYgPSBtaXBpX2NvbmZpZy0+Ynl0ZV9jbGtfc2VsOwo+PiArCWludGVsX2RzaS0+bHBf cnhfdGltZW91dCA9IG1pcGlfY29uZmlnLT5scF9yeF90aW1lb3V0Owo+PiArCWludGVsX2RzaS0+ dHVybl9hcm5kX3ZhbCA9IG1pcGlfY29uZmlnLT50dXJuX2Fyb3VuZF90aW1lb3V0Owo+PiArCWlu dGVsX2RzaS0+cnN0X3RpbWVyX3ZhbCA9IG1pcGlfY29uZmlnLT5kZXZpY2VfcmVzZXRfdGltZXI7 Cj4+ICsJaW50ZWxfZHNpLT5pbml0X2NvdW50ID0gbWlwaV9jb25maWctPm1hc3Rlcl9pbml0X3Rp bWVyOwo+PiArCWludGVsX2RzaS0+YndfdGltZXIgPSBtaXBpX2NvbmZpZy0+ZGJpX2J3X3RpbWVy Owo+PiArCWludGVsX2RzaS0+dmlkZW9fZnJtdF9jZmdfYml0cyA9Cj4+ICsJCW1pcGlfY29uZmln LT5idGFfZW5hYmxlZCA/IERJU0FCTEVfVklERU9fQlRBIDogMDsKPj4gKwo+PiArCS8qIFN0YXJ0 aW5nIHBvaW50LCBhZGp1c3RlZCBkZXBlbmRpbmcgb24gZHVhbCBsaW5rIGFuZCBidXJzdCBtb2Rl ICovCj4+ICsJaW50ZWxfZHNpLT5wY2xrID0gbW9kZS0+Y2xvY2s7Cj4+ICsKPj4gKwkvKiBJbiBk dWFsIGxpbmsgbW9kZSBlYWNoIHBvcnQgbmVlZHMgaGFsZiBvZiBwaXhlbCBjbG9jayAqLwo+PiAr CWlmIChpbnRlbF9kc2ktPmR1YWxfbGluaykgewo+PiArCQlpbnRlbF9kc2ktPnBjbGsgLz0gMjsK Pj4gKwo+PiArCQkvKiB3ZSBjYW4gZW5hYmxlIHBpeGVsX292ZXJsYXAgaWYgbmVlZGVkIGJ5IHBh bmVsLiBJbiB0aGlzCj4+ICsJCSAqIGNhc2Ugd2UgbmVlZCB0byBpbmNyZWFzZSB0aGUgcGl4ZWxj bG9jayBmb3IgZXh0cmEgcGl4ZWxzCj4+ICsJCSAqLwo+PiArCQlpZiAoaW50ZWxfZHNpLT5kdWFs X2xpbmsgPT0gRFNJX0RVQUxfTElOS19GUk9OVF9CQUNLKSB7Cj4+ICsJCQlpbnRlbF9kc2ktPnBj bGsgKz0gRElWX1JPVU5EX1VQKG1vZGUtPnZ0b3RhbCAqIGludGVsX2RzaS0+cGl4ZWxfb3Zlcmxh cCAqIDYwLCAxMDAwKTsKPj4gKwkJfQo+PiArCX0KPj4gKwo+PiArCS8qIEJ1cnN0IE1vZGUgUmF0 aW8KPj4gKwkgKiBUYXJnZXQgZGRyIGZyZXF1ZW5jeSBmcm9tIFZCVCAvIG5vbiBidXJzdCBkZHIg ZnJlcQo+PiArCSAqIG11bHRpcGx5IGJ5IDEwMCB0byBwcmVzZXJ2ZSByZW1haW5kZXIKPj4gKwkg Ki8KPj4gKwlpZiAoaW50ZWxfZHNpLT52aWRlb19tb2RlX2Zvcm1hdCA9PSBWSURFT19NT0RFX0JV UlNUKSB7Cj4+ICsJCWlmIChtaXBpX2NvbmZpZy0+dGFyZ2V0X2J1cnN0X21vZGVfZnJlcSkgewo+ PiArCQkJdTMyIGJpdHJhdGUgPSBpbnRlbF9kc2lfYml0cmF0ZShpbnRlbF9kc2kpOwo+PiArCj4+ ICsJCQlpZiAobWlwaV9jb25maWctPnRhcmdldF9idXJzdF9tb2RlX2ZyZXEgPCBiaXRyYXRlKSB7 Cj4+ICsJCQkJRFJNX0VSUk9SKCJCdXJzdCBtb2RlIGZyZXEgaXMgbGVzcyB0aGFuIGNvbXB1dGVk XG4iKTsKPj4gKwkJCQlyZXR1cm4gZmFsc2U7Cj4+ICsJCQl9Cj4+ICsKPj4gKwkJCWJ1cnN0X21v ZGVfcmF0aW8gPSBESVZfUk9VTkRfVVAoCj4+ICsJCQkJbWlwaV9jb25maWctPnRhcmdldF9idXJz dF9tb2RlX2ZyZXEgKiAxMDAsCj4+ICsJCQkJYml0cmF0ZSk7Cj4+ICsKPj4gKwkJCWludGVsX2Rz aS0+cGNsayA9IERJVl9ST1VORF9VUChpbnRlbF9kc2ktPnBjbGsgKiBidXJzdF9tb2RlX3JhdGlv LCAxMDApOwo+PiArCQl9IGVsc2Ugewo+PiArCQkJRFJNX0VSUk9SKCJCdXJzdCBtb2RlIHRhcmdl dCBpcyBub3Qgc2V0XG4iKTsKPj4gKwkJCXJldHVybiBmYWxzZTsKPj4gKwkJfQo+PiArCX0gZWxz ZQo+PiArCQlidXJzdF9tb2RlX3JhdGlvID0gMTAwOwo+PiArCj4+ICsJaW50ZWxfZHNpLT5idXJz dF9tb2RlX3JhdGlvID0gYnVyc3RfbW9kZV9yYXRpbzsKPj4gKwo+PiArCXZsdl9kcGh5X3BhcmFt X2luaXQoaW50ZWxfZHNpKTsKPj4gICAKPj4gICAJRFJNX0RFQlVHX0tNUygiUGNsayAlZFxuIiwg aW50ZWxfZHNpLT5wY2xrKTsKPj4gICAJRFJNX0RFQlVHX0tNUygiUGl4ZWwgb3ZlcmxhcCAlZFxu IiwgaW50ZWxfZHNpLT5waXhlbF9vdmVybGFwKTsKPgoKLS0gCkphbmkgTmlrdWxhLCBJbnRlbCBP cGVuIFNvdXJjZSBHcmFwaGljcyBDZW50ZXIKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4Cg==