From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [BXT MIPI PATCH v4 05/14] drm/i915/bxt: DSI encoder support in CRTC modeset Date: Mon, 28 Sep 2015 16:28:13 +0300 Message-ID: <87bncmk70y.fsf@intel.com> References: <1443030820-11817-1-git-send-email-uma.shankar@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 88EC56E150 for ; Mon, 28 Sep 2015 06:24:56 -0700 (PDT) In-Reply-To: <1443030820-11817-1-git-send-email-uma.shankar@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Uma Shankar , intel-gfx@lists.freedesktop.org Cc: shobhit.kumar@intel.com List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCAyMyBTZXAgMjAxNSwgVW1hIFNoYW5rYXIgPHVtYS5zaGFua2FyQGludGVsLmNvbT4g d3JvdGU6Cj4gRnJvbTogU2hhc2hhbmsgU2hhcm1hIDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29t Pgo+Cj4gU0tMIGFuZCBCWFQgcXVhbGlmaWVzIHRoZSBIQVNfRERJKCkgY2hlY2ssIGFuZCBoZW5j ZSBoYXN3ZWxsCj4gbW9kZXNldCBmdW5jdGlvbnMgYXJlIHJlLXVzZWQgZm9yIG1vZGVzZXQgc2Vx dWVuY2UuIEJ1dCBEREkKPiBpbnRlcmZhY2UgZG9lc24ndCBpbmNsdWRlIHN1cHBvcnQgZm9yIERT SS4KPiBUaGlzIHBhdGNoIGFkZHM6Cj4gMS4gY2FzZXMgZm9yIERTSSBlbmNvZGVyLCBpbiB0aG9z ZSBtb2Rlc2V0IGZ1bmN0aW9ucyBhbmQgYWxsb3dzCj4gICAgYSBDUlRDIG1vZGVzZXQKPiAyLiBB ZGRzIGNhbGwgdG8gcHJlX3BsbCBlbmFibGVkIGZyb20gQ1JUQyBtb2Rlc2V0IGZ1bmN0aW9uLiBO b3RoaW5nCj4gICAgbmVlZHMgdG8gYmUgZG9uZSBhcyBzdWNoIGluIENSVEMgZm9yIERTSSBlbmNv ZGVyLCBhcyBQTEwsIGNsb2NrCj4gICAgYW5kIGFuZCB0cmFuc2NvZGVyIHByb2dyYW1taW5nIHdp bGwgYmUgdGFrZW4gY2FyZSBpbiBlbmNvZGVyJ3MKPiAgICBwcmVfZW5hYmxlIGFuZCBwcmVfcGxs X2VuYWJsZSBmdW5jdGlvbi4KPgo+IHYyOiBGaXhlZCBKYW5pJ3MgcmV2aWV3IGNvbW1lbnRzLiBB ZGRlZCBJTlZBTElEX1BPUlQgZm9yIG5vbiBEREkKPiAgICAgZW5jb2RlciBsaWtlIERTSSBmb3Ig cGxhdGZvcm1zIGhhdmluZyBIQVNfRERJIGFzIHRydWUuCj4KPiB2MzogUmViYXNlZCBvbiBsYXRl c3QgZHJtLW5pZ2h0bHkgYnJhbmNoLiBBZGRlZCBhIFdBUk5fT04gZm9yIGludmFsaWQKPiAgICAg ZW5jb2Rlci4KPgo+IHY0OiBXQVJOX09OIGZvciBpbnZhbGlkIGVuY29kZXIgaXMgcmVmYWN0b3Jl ZCBhcyBwZXIgSmFuaSdzIHN1Z2dlc3Rpb24uCj4gICAgIEZpeGVkIHRoZSBzZXF1ZW5jZSBmb3Ig cHJlX3BsbF9lbmFibGUuCj4KPiBTaWduZWQtb2ZmLWJ5OiBTaGFzaGFuayBTaGFybWEgPHNoYXNo YW5rLnNoYXJtYUBpbnRlbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogVW1hIFNoYW5rYXIgPHVtYS5z aGFua2FyQGludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aCAgICAgICB8ICAgIDEgKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyAgICAg IHwgICAyMSArKysrKysrKysrKysrKysrKysrKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jICB8ICAgMjEgKysrKysrKysrKysrKysrLS0tLS0tCj4gIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX29wcmVnaW9uLmMgfCAgICAzICsrLQo+ICA0IGZpbGVzIGNoYW5nZWQs IDM4IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmgKPiBpbmRleCBmZDFkZTQ1Li43OGQzMWM1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o Cj4gQEAgLTE0Miw2ICsxNDIsNyBAQCBlbnVtIHBsYW5lIHsKPiAgI2RlZmluZSBzcHJpdGVfbmFt ZShwLCBzKSAoKHApICogSU5URUxfSU5GTyhkZXYpLT5udW1fc3ByaXRlc1socCldICsgKHMpICsg J0EnKQo+ICAKPiAgZW51bSBwb3J0IHsKPiArCVBPUlRfSU5WQUxJRCA9IC0xLAoKTXkgaWRlYSB3 YXMgdGhhdCB5b3Ugd291bGRuJ3QgYWRkIHRoaXMuIE1heWJlIEkgd2Fzbid0IGNsZWFyIGVub3Vn aC4KCj4gIAlQT1JUX0EgPSAwLAo+ICAJUE9SVF9CLAo+ICAJUE9SVF9DLAo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RkaS5jCj4gaW5kZXggY2FjYjA3Yi4uOGVkYjYzMiAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RkaS5jCj4gQEAgLTIyNyw2ICsyMjcsMTAgQEAgc3RhdGljIHZvaWQgZGRpX2dldF9l bmNvZGVyX3BvcnQoc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIsCj4gIAl9IGVs c2UgaWYgKHR5cGUgPT0gSU5URUxfT1VUUFVUX0FOQUxPRykgewo+ICAJCSpkaWdfcG9ydCA9IE5V TEw7Cj4gIAkJKnBvcnQgPSBQT1JUX0U7Cj4gKwl9IGVsc2UgaWYgKHR5cGUgPT0gSU5URUxfT1VU UFVUX0RTSSkgewo+ICsJCSpkaWdfcG9ydCA9IE5VTEw7Cj4gKwkJKnBvcnQgPSBQT1JUX0lOVkFM SUQ7Cj4gKwkJRFJNX0RFQlVHX0tNUygiRW5jb2RlciB0eXBlOiBEU0kuIFJldHVybmluZy4uLlxu Iik7CgpNeSBpZGVhIHdhcyB0aGF0IHlvdSdkIG9ubHkgY2FsbCB0aGlzIGZ1bmN0aW9uIG9uIERE SSAoaS5lLiBub24tRFNJKQplbmNvZGVycy4gU28geW91IGNvdWxkIGRvIGEgd2FybiBoZXJlLiBE b2Vzbid0IG1hdHRlciB3aGF0IHlvdSBzZXQgKnBvcnQKdG8sIGl0J3MgZ29pbmcgdG8gYmUgd3Jv bmcgYW55d2F5LCBhbmQgdGhpcyBpcyBvbmx5IHNsaWdodGx5IGJldHRlciB0aGFuCm5vdCBvb3Bz aW5nIG9uIHRoZSBCVUcgYmVsb3cuCgo+ICAJfSBlbHNlIHsKPiAgCQlEUk1fRVJST1IoIkludmFs aWQgRERJIGVuY29kZXIgdHlwZSAlZFxuIiwgdHlwZSk7Cj4gIAkJQlVHKCk7Cj4gQEAgLTIzNyw2 ICsyNDEsMTUgQEAgZW51bSBwb3J0IGludGVsX2RkaV9nZXRfZW5jb2Rlcl9wb3J0KHN0cnVjdCBp bnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyKQo+ICB7Cj4gIAlzdHJ1Y3QgaW50ZWxfZGlnaXRh bF9wb3J0ICpkaWdfcG9ydDsKPiAgCWVudW0gcG9ydCBwb3J0Owo+ICsJaW50IHR5cGUgPSBpbnRl bF9lbmNvZGVyLT50eXBlOwo+ICsKPiArCWlmICh0eXBlID09IElOVEVMX09VVFBVVF9EU0kpIHsK PiArCQlwb3J0ID0gUE9SVF9JTlZBTElEOwo+ICsJCURSTV9ERUJVR19LTVMoIkVuY29kZXIgdHlw ZTogRFNJLiBSZXR1cm5pbmcuLi5cbiIpOwo+ICsJCVdBUk5fT04oMSk7Cj4gKwo+ICsJCXJldHVy biBwb3J0Owo+ICsJfQoKUmVtb3ZlIHRoZXNlLgoKPiAgCj4gIAlkZGlfZ2V0X2VuY29kZXJfcG9y dChpbnRlbF9lbmNvZGVyLCAmZGlnX3BvcnQsICZwb3J0KTsKPiAgCj4gQEAgLTM5Miw2ICs0MDUs MTEgQEAgdm9pZCBpbnRlbF9wcmVwYXJlX2RkaShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAK PiAgCQlkZGlfZ2V0X2VuY29kZXJfcG9ydChpbnRlbF9lbmNvZGVyLCAmaW50ZWxfZGlnX3BvcnQs ICZwb3J0KTsKPiAgCgpNeSBpZGVhIHdhcyB0aGF0IHlvdSdkIG9ubHkgY2FsbCB0aGlzIGZ1bmN0 aW9uIG9uIERESSAoaS5lLiBub24tRFNJKQplbmNvZGVycy4gU28geW91J2QgaGF2ZSB0byBhZGQg YSBjaGVjayBmb3IgRFNJIGhlcmUuCgo+ICsJCWlmIChwb3J0ID09IFBPUlRfSU5WQUxJRCkgewo+ ICsJCQlXQVJOX09OKDEpOwoKQnV0IHRoaXMgd2FybiBub3cgbWFrZXMgbWUgdGhpbmsgd2UgZG9u J3QgZXZlciBnZXQgaGVyZSBvbiB3aXRoCkRTSS4gRG9uJ3Qgd2FybiBmb3Igbm9ybWFsIGNhc2Vz LgoKPiArCQkJY29udGludWU7Cj4gKwkJfQo+ICsKPiAgCQlpZiAodmlzaXRlZFtwb3J0XSkKPiAg CQkJY29udGludWU7Cj4gIAo+IEBAIC0xNzc5LDcgKzE3OTcsOCBAQCBib29sIGludGVsX2RkaV9n ZXRfaHdfc3RhdGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIHZvaWQgaW50ZWxf ZGRpX2VuYWJsZV9waXBlX2Nsb2NrKHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjKQo+ICB7 Cj4gIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSAmaW50ZWxfY3J0Yy0+YmFzZTsKPiAtCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGNydGMtPmRldi0+ZGV2X3ByaXZhdGU7Cj4g KwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2Owo+ICsJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAgCXN0cnVjdCBpbnRlbF9l bmNvZGVyICppbnRlbF9lbmNvZGVyID0gaW50ZWxfZGRpX2dldF9jcnRjX2VuY29kZXIoY3J0Yyk7 Cj4gIAllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RkaV9nZXRfZW5jb2Rlcl9wb3J0KGludGVsX2Vu Y29kZXIpOwo+ICAJZW51bSB0cmFuc2NvZGVyIGNwdV90cmFuc2NvZGVyID0gaW50ZWxfY3J0Yy0+ Y29uZmlnLT5jcHVfdHJhbnNjb2RlcjsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j Cj4gaW5kZXggYjhlMDMxMC4uZWEwZjUzMyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMKPiBAQCAtNDk5MSw2ICs0OTkxLDcgQEAgc3RhdGljIHZvaWQgaGFzd2VsbF9jcnRj X2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICAJc3RydWN0IGludGVsX2NydGMgKmlu dGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwo+ICAJc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXI7Cj4gKwlib29sIGlzX2RzaSA9IGludGVsX3BpcGVfaGFzX3R5cGUoaW50ZWxfY3J0 YywgSU5URUxfT1VUUFVUX0RTSSk7Cj4gIAlpbnQgcGlwZSA9IGludGVsX2NydGMtPnBpcGU7Cj4g IAo+ICAJV0FSTl9PTighY3J0Yy0+c3RhdGUtPmVuYWJsZSk7Cj4gQEAgLTUwMjMsOSArNTAyNCwx MiBAQCBzdGF0aWMgdm9pZCBoYXN3ZWxsX2NydGNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0 YykKPiAgCWludGVsX2NydGMtPmFjdGl2ZSA9IHRydWU7Cj4gIAo+ICAJaW50ZWxfc2V0X2NwdV9m aWZvX3VuZGVycnVuX3JlcG9ydGluZyhkZXZfcHJpdiwgcGlwZSwgdHJ1ZSk7Cj4gLQlmb3JfZWFj aF9lbmNvZGVyX29uX2NydGMoZGV2LCBjcnRjLCBlbmNvZGVyKQo+ICsJZm9yX2VhY2hfZW5jb2Rl cl9vbl9jcnRjKGRldiwgY3J0YywgZW5jb2Rlcikgewo+ICsJCWlmIChlbmNvZGVyLT5wcmVfcGxs X2VuYWJsZSkKPiArCQkJZW5jb2Rlci0+cHJlX3BsbF9lbmFibGUoZW5jb2Rlcik7Cj4gIAkJaWYg KGVuY29kZXItPnByZV9lbmFibGUpCj4gIAkJCWVuY29kZXItPnByZV9lbmFibGUoZW5jb2Rlcik7 Cj4gKwl9Cj4gIAo+ICAJaWYgKGludGVsX2NydGMtPmNvbmZpZy0+aGFzX3BjaF9lbmNvZGVyKSB7 Cj4gIAkJaW50ZWxfc2V0X3BjaF9maWZvX3VuZGVycnVuX3JlcG9ydGluZyhkZXZfcHJpdiwgVFJB TlNDT0RFUl9BLAo+IEBAIC01MDMzLDcgKzUwMzcsOCBAQCBzdGF0aWMgdm9pZCBoYXN3ZWxsX2Ny dGNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCQlkZXZfcHJpdi0+ZGlzcGxheS5m ZGlfbGlua190cmFpbihjcnRjKTsKPiAgCX0KPiAgCj4gLQlpbnRlbF9kZGlfZW5hYmxlX3BpcGVf Y2xvY2soaW50ZWxfY3J0Yyk7Cj4gKwlpZiAoIWlzX2RzaSkKPiArCQlpbnRlbF9kZGlfZW5hYmxl X3BpcGVfY2xvY2soaW50ZWxfY3J0Yyk7Cj4gIAo+ICAJaWYgKElOVEVMX0lORk8oZGV2KS0+Z2Vu ID09IDkpCj4gIAkJc2t5bGFrZV9wZml0X3VwZGF0ZShpbnRlbF9jcnRjLCAxKTsKPiBAQCAtNTA0 OSw3ICs1MDU0LDggQEAgc3RhdGljIHZvaWQgaGFzd2VsbF9jcnRjX2VuYWJsZShzdHJ1Y3QgZHJt X2NydGMgKmNydGMpCj4gIAlpbnRlbF9jcnRjX2xvYWRfbHV0KGNydGMpOwo+ICAKPiAgCWludGVs X2RkaV9zZXRfcGlwZV9zZXR0aW5ncyhjcnRjKTsKPiAtCWludGVsX2RkaV9lbmFibGVfdHJhbnNj b2Rlcl9mdW5jKGNydGMpOwo+ICsJaWYgKCFpc19kc2kpCj4gKwkJaW50ZWxfZGRpX2VuYWJsZV90 cmFuc2NvZGVyX2Z1bmMoY3J0Yyk7Cj4gIAo+ICAJaW50ZWxfdXBkYXRlX3dhdGVybWFya3MoY3J0 Yyk7Cj4gIAlpbnRlbF9lbmFibGVfcGlwZShpbnRlbF9jcnRjKTsKPiBAQCAtNTA1Nyw3ICs1MDYz LDcgQEAgc3RhdGljIHZvaWQgaGFzd2VsbF9jcnRjX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNy dGMpCj4gIAlpZiAoaW50ZWxfY3J0Yy0+Y29uZmlnLT5oYXNfcGNoX2VuY29kZXIpCj4gIAkJbHB0 X3BjaF9lbmFibGUoY3J0Yyk7Cj4gIAo+IC0JaWYgKGludGVsX2NydGMtPmNvbmZpZy0+ZHBfZW5j b2Rlcl9pc19tc3QpCj4gKwlpZiAoaW50ZWxfY3J0Yy0+Y29uZmlnLT5kcF9lbmNvZGVyX2lzX21z dCAmJiAhaXNfZHNpKQo+ICAJCWludGVsX2RkaV9zZXRfdmNfcGF5bG9hZF9hbGxvYyhjcnRjLCB0 cnVlKTsKPiAgCj4gIAlhc3NlcnRfdmJsYW5rX2Rpc2FibGVkKGNydGMpOwo+IEBAIC01MTU5LDYg KzUxNjUsNyBAQCBzdGF0aWMgdm9pZCBoYXN3ZWxsX2NydGNfZGlzYWJsZShzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMpCj4gIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2Ny dGMoY3J0Yyk7Cj4gIAlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcjsKPiAgCWVudW0gdHJh bnNjb2RlciBjcHVfdHJhbnNjb2RlciA9IGludGVsX2NydGMtPmNvbmZpZy0+Y3B1X3RyYW5zY29k ZXI7Cj4gKwlib29sIGlzX2RzaSA9IGludGVsX3BpcGVfaGFzX3R5cGUoaW50ZWxfY3J0YywgSU5U RUxfT1VUUFVUX0RTSSk7Cj4gIAo+ICAJaWYgKCFpbnRlbF9jcnRjLT5hY3RpdmUpCj4gIAkJcmV0 dXJuOwo+IEBAIC01MTc5LDcgKzUxODYsOCBAQCBzdGF0aWMgdm9pZCBoYXN3ZWxsX2NydGNfZGlz YWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIAlpZiAoaW50ZWxfY3J0Yy0+Y29uZmlnLT5k cF9lbmNvZGVyX2lzX21zdCkKPiAgCQlpbnRlbF9kZGlfc2V0X3ZjX3BheWxvYWRfYWxsb2MoY3J0 YywgZmFsc2UpOwo+ICAKPiAtCWludGVsX2RkaV9kaXNhYmxlX3RyYW5zY29kZXJfZnVuYyhkZXZf cHJpdiwgY3B1X3RyYW5zY29kZXIpOwo+ICsJaWYgKCFpc19kc2kpCj4gKwkJaW50ZWxfZGRpX2Rp c2FibGVfdHJhbnNjb2Rlcl9mdW5jKGRldl9wcml2LCBjcHVfdHJhbnNjb2Rlcik7Cj4gIAo+ICAJ aWYgKElOVEVMX0lORk8oZGV2KS0+Z2VuID09IDkpCj4gIAkJc2t5bGFrZV9wZml0X3VwZGF0ZShp bnRlbF9jcnRjLCAwKTsKPiBAQCAtNTE4OCw3ICs1MTk2LDggQEAgc3RhdGljIHZvaWQgaGFzd2Vs bF9jcnRjX2Rpc2FibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICAJZWxzZQo+ICAJCU1JU1NJ TkdfQ0FTRShJTlRFTF9JTkZPKGRldiktPmdlbik7Cj4gIAo+IC0JaW50ZWxfZGRpX2Rpc2FibGVf cGlwZV9jbG9jayhpbnRlbF9jcnRjKTsKPiArCWlmICghaXNfZHNpKQo+ICsJCWludGVsX2RkaV9k aXNhYmxlX3BpcGVfY2xvY2soaW50ZWxfY3J0Yyk7Cj4gIAo+ICAJaWYgKGludGVsX2NydGMtPmNv bmZpZy0+aGFzX3BjaF9lbmNvZGVyKSB7Cj4gIAkJbHB0X2Rpc2FibGVfcGNoX3RyYW5zY29kZXIo ZGV2X3ByaXYpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9vcHJl Z2lvbi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfb3ByZWdpb24uYwo+IGluZGV4IDQ4 MTMzNzQuLjMyNmFhNmIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf b3ByZWdpb24uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX29wcmVnaW9uLmMK PiBAQCAtMzM1LDcgKzMzNSw3IEBAIGludCBpbnRlbF9vcHJlZ2lvbl9ub3RpZnlfZW5jb2Rlcihz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciwKPiAgCQlyZXR1cm4gMDsKPiAgCj4g IAlwb3J0ID0gaW50ZWxfZGRpX2dldF9lbmNvZGVyX3BvcnQoaW50ZWxfZW5jb2Rlcik7CgpNeSBp ZGVhIHdhcyB0aGF0IHlvdSdkIG9ubHkgY2FsbCB0aGlzIGZ1bmN0aW9uIG9uIERESSAoaS5lLiBu b24tRFNJKQplbmNvZGVycy4gU28geW91J2QgaGF2ZSB0byBhZGQgYSBjaGVjayBmb3IgRFNJIGhl cmUuCgoKQlIsCkphbmkuCgo+IC0JaWYgKHBvcnQgPT0gUE9SVF9FKSB7Cj4gKwlpZiAoKHBvcnQg PT0gUE9SVF9FKSB8fCAocG9ydCA9PSBQT1JUX0lOVkFMSUQpKSB7Cj4gIAkJcG9ydCA9IDA7Cj4g IAl9IGVsc2Ugewo+ICAJCXBhcm0gfD0gMSA8PCBwb3J0Owo+IEBAIC0zNTYsNiArMzU2LDcgQEAg aW50IGludGVsX29wcmVnaW9uX25vdGlmeV9lbmNvZGVyKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpp bnRlbF9lbmNvZGVyLAo+ICAJCXR5cGUgPSBESVNQTEFZX1RZUEVfRVhURVJOQUxfRkxBVF9QQU5F TDsKPiAgCQlicmVhazsKPiAgCWNhc2UgSU5URUxfT1VUUFVUX0VEUDoKPiArCWNhc2UgSU5URUxf T1VUUFVUX0RTSToKPiAgCQl0eXBlID0gRElTUExBWV9UWVBFX0lOVEVSTkFMX0ZMQVRfUEFORUw7 Cj4gIAkJYnJlYWs7Cj4gIAlkZWZhdWx0Ogo+IC0tIAo+IDEuNy45LjUKPgoKLS0gCkphbmkgTmlr dWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNobm9sb2d5IENlbnRlcgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=