From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [RFC 4/7] drm/i915/dsi: Helper to find dsi encoder in cmd mode Date: Thu, 24 Oct 2019 12:07:26 +0300 Message-ID: <87pnimcy0h.fsf@intel.com> References: <20191014110122.31923-1-vandita.kulkarni@intel.com> <20191014110122.31923-5-vandita.kulkarni@intel.com> <87pnixak8d.fsf@intel.com> <57510F3E2013164E925CD03ED7512A3B80980EC7@BGSMSX108.gar.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id EE7666E196 for ; Thu, 24 Oct 2019 09:07:31 +0000 (UTC) In-Reply-To: <57510F3E2013164E925CD03ED7512A3B80980EC7@BGSMSX108.gar.corp.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Kulkarni, Vandita" , "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCAxNiBPY3QgMjAxOSwgIkt1bGthcm5pLCBWYW5kaXRhIiA8dmFuZGl0YS5rdWxrYXJu aUBpbnRlbC5jb20+IHdyb3RlOgo+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+PiBGcm9t OiBOaWt1bGEsIEphbmkgPGphbmkubmlrdWxhQGludGVsLmNvbT4KPj4gU2VudDogV2VkbmVzZGF5 LCBPY3RvYmVyIDE2LCAyMDE5IDEyOjUxIEFNCj4+IFRvOiBLdWxrYXJuaSwgVmFuZGl0YSA8dmFu ZGl0YS5rdWxrYXJuaUBpbnRlbC5jb20+OyBpbnRlbC0KPj4gZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwo+PiBDYzogdmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb207IFNoYW5rYXIsIFVtYSA8 dW1hLnNoYW5rYXJAaW50ZWwuY29tPjsKPj4gQ2hhdWhhbiwgTWFkaGF2IDxtYWRoYXYuY2hhdWhh bkBpbnRlbC5jb20+OyBLdWxrYXJuaSwgVmFuZGl0YQo+PiA8dmFuZGl0YS5rdWxrYXJuaUBpbnRl bC5jb20+Cj4+IFN1YmplY3Q6IFJlOiBbUkZDIDQvN10gZHJtL2k5MTUvZHNpOiBIZWxwZXIgdG8g ZmluZCBkc2kgZW5jb2RlciBpbiBjbWQgbW9kZQo+PiAKPj4gT24gTW9uLCAxNCBPY3QgMjAxOSwg VmFuZGl0YSBLdWxrYXJuaSA8dmFuZGl0YS5rdWxrYXJuaUBpbnRlbC5jb20+IHdyb3RlOgo+PiA+ IEZyb206IE1hZGhhdiBDaGF1aGFuIDxtYWRoYXYuY2hhdWhhbkBpbnRlbC5jb20+Cj4+ID4KPj4g PiBUaGlzIHBhdGNoIGFkZHMgYSBoZWxwZXIgZnVuY3Rpb24gdG8gZmluZCBlbmNvZGVyIGlmIERT SSBpcyBvcGVyYXRpbmcKPj4gPiBpbiBjb21tYW5kIG1vZGUuIFRoaXMgZnVuY3Rpb24gd2lsbCBi ZSB1c2VkIHdoaWxlIGVuYWJsaW5nL2Rpc2FibGluZwo+PiA+IFRFIGludGVycnVwdHMgZm9yIERT SS4KPj4gPgo+PiA+IFNpZ25lZC1vZmYtYnk6IE1hZGhhdiBDaGF1aGFuIDxtYWRoYXYuY2hhdWhh bkBpbnRlbC5jb20+Cj4+ID4gU2lnbmVkLW9mZi1ieTogVmFuZGl0YSBLdWxrYXJuaSA8dmFuZGl0 YS5rdWxrYXJuaUBpbnRlbC5jb20+Cj4+ID4gLS0tCj4+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaWNsX2RzaS5jICAgfCAxNyArKysrKysrKysrKysrKysrKwo+PiA+ICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RzaS5oIHwgIDMgKysrCj4+ID4gIDIgZmlsZXMg Y2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKQo+PiA+Cj4+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaWNsX2RzaS5jCj4+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ljbF9kc2kuYwo+PiA+IGluZGV4IDVkZDllZWJhYjZiMS4uODc3NzQ2NDE2ZTUy IDEwMDY0NAo+PiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaWNsX2RzaS5j Cj4+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pY2xfZHNpLmMKPj4gPiBA QCAtNzMsNiArNzMsMjMgQEAgc3RhdGljIGVudW0gdHJhbnNjb2Rlcgo+PiBkc2lfcG9ydF90b190 cmFuc2NvZGVyKGVudW0gcG9ydCBwb3J0KQo+PiA+ICAJCXJldHVybiBUUkFOU0NPREVSX0RTSV8x Owo+PiA+ICB9Cj4+ID4KPj4gPiArc3RydWN0IGludGVsX2VuY29kZXIgKmdlbjExX2RzaV9maW5k X2NtZF9tb2RlX2VuY29kZXIoc3RydWN0Cj4+ID4gK2ludGVsX2NydGMgKmNydGMpIHsKPj4gPiAr CXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5iYXNlLmRldjsKPj4gPiArCXN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyOwo+PiA+ICsJc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNp Owo+PiA+ICsKPj4gPiArCWZvcl9lYWNoX2VuY29kZXJfb25fY3J0YyhkZXYsICZjcnRjLT5iYXNl LCBlbmNvZGVyKSB7Cj4+ID4gKwkJaWYgKGVuY29kZXItPnR5cGUgIT0gSU5URUxfT1VUUFVUX0RT SSkKPj4gPiArCQkJY29udGludWU7Cj4+ID4gKwkJaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2Rz aSgmZW5jb2Rlci0+YmFzZSk7Cj4+ID4gKwkJaWYgKGludGVsX2RzaS0+b3BlcmF0aW9uX21vZGUg PT0KPj4gSU5URUxfRFNJX0NPTU1BTkRfTU9ERSkKPj4gPiArCQkJcmV0dXJuIGVuY29kZXI7Cj4+ ID4gKwl9Cj4+ID4gKwo+PiA+ICsJcmV0dXJuIE5VTEw7Cj4+ID4gK30KPj4gCj4+IFRoaXMgbWF5 IGJlIGEgYml0IGhhcnNoLCBidXQgZXZlcnl0aGluZyB0aGF0IGZlZWxzIHdyb25nIGFib3V0IHRo ZSBmb2xsb3dpbmcKPj4gcGF0Y2hlcyBwcmV0dHkgbXVjaCBib2lscyBkb3duIHRvIHRoaXMgZnVu Y3Rpb24uIEl0IG1heSBnZXQgdGhlIGpvYiBkb25lLAo+PiBhbmQgSSBkb24ndCBoYXZlIGEgYmV0 dGVyIHN1Z2dlc3Rpb24gb24gaG93IHRvIGFjY29tcGxpc2ggdGhpcyByaWdodCBub3cuCj4+IEJ1 dCBpdCBzZWVtcyBsaWtlIHdlIHNob3VsZG4ndCBoYXZlIHRvIGRvIGFueXRoaW5nIGxpa2UgdGhp cywgYW5kIG1ha2VzIHlvdQo+PiBmZWVsIGxpa2UgdGhlcmUncyBzb21ldGhpbmcgd3Jvbmcgd2l0 aCB0aGUgZGVzaWduLgo+PiAKPj4gSXQgd291bGQgYmUgZ3JlYXQgdG8gYmUgYWJsZSB0byBoYW5k bGUgdGhpcyB1c2luZyBjcnRjIHN0YXRlLCBidXQgYWxhcyB0aGUKPj4gdmJsYW5rIGVuYWJsZSBo b29rIG9ubHkgZ2V0cyBwYXNzZWQgYSBzdHJ1Y3QgZHJtX2NydGMgKi4gKFBhdGNoIDcgY291bGQK Pj4gZWFzaWx5IHN3aXRjaCB0byB1c2luZyBjcnRjIHN0YXRlLCBidXQgbmVlZCB0byBhbHNvIHNv bHZlIHBhdGNoCj4+IDUuKQo+IC4KPj4gCj4+IEknbGwgZ2V0IGJhY2sgdG8geW91IG9uIHRoaXMg bGF0ZXIsIGJ1dCBpbiB0aGUgbWVhbiB0aW1lIC0gVmlsbGUsIGRvIHlvdSBoYXZlCj4+IGFueSBp ZGVhcz8KPgo+IE90aGVyIG9wdGlvbiBvZiBhZGRpbmcgaW4gY3J0Y19zdGF0ZSwgZGlkIHlvdSBt ZWFuIHNvbWV0aGluZyBsaWtlIHRoaXMKPiBodHRwczovL3BhdGNod29yay5mcmVlZGVza3RvcC5v cmcvcGF0Y2gvMzM2MTc4LyAKPiBASmFuaSBhbmQgQFZpbGxlICBQbGVhc2UgbGV0IG1lIGtub3cg eW91ciBjb21tZW50cy4KClRoZSBwcm9ibGVtIGlzIHRoYXQgd2UgZG9uJ3QgaGF2ZSBhY2Nlc3Mg dG8gdGhlIGNydGMgc3RhdGUgaW4gcGF0Y2ggNQpnZW4xMV9kc2lfY29uZmlndXJlX3RlKCkgYmVj YXVzZSB0aGUgY2FsbCBwYXRoIGlzIHZpYSBkcm1fY3J0Y19mdW5jcyBhbmQKYmR3X2VuYWJsZV92 YmxhbmsuCgpCUiwKSmFuaS4KCgo+Cj4gVGhhbmtzLAo+IFZhbmRpdGEKPj4gCj4+IAo+PiBCUiwK Pj4gSmFuaS4KPj4gCj4+IAo+PiA+ICsKPj4gPiAgc3RhdGljIHZvaWQgd2FpdF9mb3JfY21kc19k aXNwYXRjaGVkX3RvX3BhbmVsKHN0cnVjdCBpbnRlbF9lbmNvZGVyCj4+ID4gKmVuY29kZXIpICB7 Cj4+ID4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29k ZXItPmJhc2UuZGV2KTsgZGlmZgo+PiA+IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9kc2kuaAo+PiA+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9kc2kuaAo+PiA+IGluZGV4IGIxNWJlNTgxNDU5OS4uMDcxZGFkN2VlMDRhIDEwMDY0NAo+PiA+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHNpLmgKPj4gPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RzaS5oCj4+ID4gQEAgLTIwMSw2 ICsyMDEsOSBAQCB1MzIgYnh0X2RzaV9nZXRfcGNsayhzdHJ1Y3QgaW50ZWxfZW5jb2Rlcgo+PiAq ZW5jb2RlciwKPj4gPiAgCQkgICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjb25maWcpOyAg dm9pZAo+PiA+IGJ4dF9kc2lfcmVzZXRfY2xvY2tzKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyLCBlbnVtIHBvcnQgcG9ydCk7Cj4+ID4KPj4gPiArLyogaWNsX2RzaS5jICovCj4+ID4gK3N0 cnVjdCBpbnRlbF9lbmNvZGVyICpnZW4xMV9kc2lfZmluZF9jbWRfbW9kZV9lbmNvZGVyKHN0cnVj dAo+PiA+ICtpbnRlbF9jcnRjICpjcnRjKTsKPj4gPiArCj4+ID4gIC8qIGludGVsX2RzaV92YnQu YyAqLwo+PiA+ICBib29sIGludGVsX2RzaV92YnRfaW5pdChzdHJ1Y3QgaW50ZWxfZHNpICppbnRl bF9kc2ksIHUxNiBwYW5lbF9pZCk7Cj4+ID4gdm9pZCBpbnRlbF9kc2lfdmJ0X2V4ZWNfc2VxdWVu Y2Uoc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpLAo+PiAKPj4gLS0KPj4gSmFuaSBOaWt1bGEs IEludGVsIE9wZW4gU291cmNlIEdyYXBoaWNzIENlbnRlcgoKLS0gCkphbmkgTmlrdWxhLCBJbnRl bCBPcGVuIFNvdXJjZSBHcmFwaGljcyBDZW50ZXIKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6E877CA9EAF for ; Thu, 24 Oct 2019 09:07:33 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 4A8A120856 for ; Thu, 24 Oct 2019 09:07:33 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4A8A120856 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id DBD5A6E196; Thu, 24 Oct 2019 09:07:32 +0000 (UTC) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id EE7666E196 for ; Thu, 24 Oct 2019 09:07:31 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 24 Oct 2019 02:07:31 -0700 X-IronPort-AV: E=Sophos;i="5.68,224,1569308400"; d="scan'208";a="192124836" Received: from jnikula-mobl3.fi.intel.com (HELO localhost) ([10.237.66.161]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 24 Oct 2019 02:07:28 -0700 From: Jani Nikula To: "Kulkarni\, Vandita" , "intel-gfx\@lists.freedesktop.org" In-Reply-To: <57510F3E2013164E925CD03ED7512A3B80980EC7@BGSMSX108.gar.corp.intel.com> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: <20191014110122.31923-1-vandita.kulkarni@intel.com> <20191014110122.31923-5-vandita.kulkarni@intel.com> <87pnixak8d.fsf@intel.com> <57510F3E2013164E925CD03ED7512A3B80980EC7@BGSMSX108.gar.corp.intel.com> Date: Thu, 24 Oct 2019 12:07:26 +0300 Message-ID: <87pnimcy0h.fsf@intel.com> MIME-Version: 1.0 Subject: Re: [Intel-gfx] [RFC 4/7] drm/i915/dsi: Helper to find dsi encoder in cmd mode X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191024090726.sJCAb54CY_zSCs0xL4-YROHmiM5ccsYZRN7oOGz0luI@z> T24gV2VkLCAxNiBPY3QgMjAxOSwgIkt1bGthcm5pLCBWYW5kaXRhIiA8dmFuZGl0YS5rdWxrYXJu aUBpbnRlbC5jb20+IHdyb3RlOgo+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+PiBGcm9t OiBOaWt1bGEsIEphbmkgPGphbmkubmlrdWxhQGludGVsLmNvbT4KPj4gU2VudDogV2VkbmVzZGF5 LCBPY3RvYmVyIDE2LCAyMDE5IDEyOjUxIEFNCj4+IFRvOiBLdWxrYXJuaSwgVmFuZGl0YSA8dmFu ZGl0YS5rdWxrYXJuaUBpbnRlbC5jb20+OyBpbnRlbC0KPj4gZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwo+PiBDYzogdmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb207IFNoYW5rYXIsIFVtYSA8 dW1hLnNoYW5rYXJAaW50ZWwuY29tPjsKPj4gQ2hhdWhhbiwgTWFkaGF2IDxtYWRoYXYuY2hhdWhh bkBpbnRlbC5jb20+OyBLdWxrYXJuaSwgVmFuZGl0YQo+PiA8dmFuZGl0YS5rdWxrYXJuaUBpbnRl bC5jb20+Cj4+IFN1YmplY3Q6IFJlOiBbUkZDIDQvN10gZHJtL2k5MTUvZHNpOiBIZWxwZXIgdG8g ZmluZCBkc2kgZW5jb2RlciBpbiBjbWQgbW9kZQo+PiAKPj4gT24gTW9uLCAxNCBPY3QgMjAxOSwg VmFuZGl0YSBLdWxrYXJuaSA8dmFuZGl0YS5rdWxrYXJuaUBpbnRlbC5jb20+IHdyb3RlOgo+PiA+ IEZyb206IE1hZGhhdiBDaGF1aGFuIDxtYWRoYXYuY2hhdWhhbkBpbnRlbC5jb20+Cj4+ID4KPj4g PiBUaGlzIHBhdGNoIGFkZHMgYSBoZWxwZXIgZnVuY3Rpb24gdG8gZmluZCBlbmNvZGVyIGlmIERT SSBpcyBvcGVyYXRpbmcKPj4gPiBpbiBjb21tYW5kIG1vZGUuIFRoaXMgZnVuY3Rpb24gd2lsbCBi ZSB1c2VkIHdoaWxlIGVuYWJsaW5nL2Rpc2FibGluZwo+PiA+IFRFIGludGVycnVwdHMgZm9yIERT SS4KPj4gPgo+PiA+IFNpZ25lZC1vZmYtYnk6IE1hZGhhdiBDaGF1aGFuIDxtYWRoYXYuY2hhdWhh bkBpbnRlbC5jb20+Cj4+ID4gU2lnbmVkLW9mZi1ieTogVmFuZGl0YSBLdWxrYXJuaSA8dmFuZGl0 YS5rdWxrYXJuaUBpbnRlbC5jb20+Cj4+ID4gLS0tCj4+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaWNsX2RzaS5jICAgfCAxNyArKysrKysrKysrKysrKysrKwo+PiA+ICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RzaS5oIHwgIDMgKysrCj4+ID4gIDIgZmlsZXMg Y2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKQo+PiA+Cj4+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaWNsX2RzaS5jCj4+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ljbF9kc2kuYwo+PiA+IGluZGV4IDVkZDllZWJhYjZiMS4uODc3NzQ2NDE2ZTUy IDEwMDY0NAo+PiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaWNsX2RzaS5j Cj4+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pY2xfZHNpLmMKPj4gPiBA QCAtNzMsNiArNzMsMjMgQEAgc3RhdGljIGVudW0gdHJhbnNjb2Rlcgo+PiBkc2lfcG9ydF90b190 cmFuc2NvZGVyKGVudW0gcG9ydCBwb3J0KQo+PiA+ICAJCXJldHVybiBUUkFOU0NPREVSX0RTSV8x Owo+PiA+ICB9Cj4+ID4KPj4gPiArc3RydWN0IGludGVsX2VuY29kZXIgKmdlbjExX2RzaV9maW5k X2NtZF9tb2RlX2VuY29kZXIoc3RydWN0Cj4+ID4gK2ludGVsX2NydGMgKmNydGMpIHsKPj4gPiAr CXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5iYXNlLmRldjsKPj4gPiArCXN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyOwo+PiA+ICsJc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNp Owo+PiA+ICsKPj4gPiArCWZvcl9lYWNoX2VuY29kZXJfb25fY3J0YyhkZXYsICZjcnRjLT5iYXNl LCBlbmNvZGVyKSB7Cj4+ID4gKwkJaWYgKGVuY29kZXItPnR5cGUgIT0gSU5URUxfT1VUUFVUX0RT SSkKPj4gPiArCQkJY29udGludWU7Cj4+ID4gKwkJaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2Rz aSgmZW5jb2Rlci0+YmFzZSk7Cj4+ID4gKwkJaWYgKGludGVsX2RzaS0+b3BlcmF0aW9uX21vZGUg PT0KPj4gSU5URUxfRFNJX0NPTU1BTkRfTU9ERSkKPj4gPiArCQkJcmV0dXJuIGVuY29kZXI7Cj4+ ID4gKwl9Cj4+ID4gKwo+PiA+ICsJcmV0dXJuIE5VTEw7Cj4+ID4gK30KPj4gCj4+IFRoaXMgbWF5 IGJlIGEgYml0IGhhcnNoLCBidXQgZXZlcnl0aGluZyB0aGF0IGZlZWxzIHdyb25nIGFib3V0IHRo ZSBmb2xsb3dpbmcKPj4gcGF0Y2hlcyBwcmV0dHkgbXVjaCBib2lscyBkb3duIHRvIHRoaXMgZnVu Y3Rpb24uIEl0IG1heSBnZXQgdGhlIGpvYiBkb25lLAo+PiBhbmQgSSBkb24ndCBoYXZlIGEgYmV0 dGVyIHN1Z2dlc3Rpb24gb24gaG93IHRvIGFjY29tcGxpc2ggdGhpcyByaWdodCBub3cuCj4+IEJ1 dCBpdCBzZWVtcyBsaWtlIHdlIHNob3VsZG4ndCBoYXZlIHRvIGRvIGFueXRoaW5nIGxpa2UgdGhp cywgYW5kIG1ha2VzIHlvdQo+PiBmZWVsIGxpa2UgdGhlcmUncyBzb21ldGhpbmcgd3Jvbmcgd2l0 aCB0aGUgZGVzaWduLgo+PiAKPj4gSXQgd291bGQgYmUgZ3JlYXQgdG8gYmUgYWJsZSB0byBoYW5k bGUgdGhpcyB1c2luZyBjcnRjIHN0YXRlLCBidXQgYWxhcyB0aGUKPj4gdmJsYW5rIGVuYWJsZSBo b29rIG9ubHkgZ2V0cyBwYXNzZWQgYSBzdHJ1Y3QgZHJtX2NydGMgKi4gKFBhdGNoIDcgY291bGQK Pj4gZWFzaWx5IHN3aXRjaCB0byB1c2luZyBjcnRjIHN0YXRlLCBidXQgbmVlZCB0byBhbHNvIHNv bHZlIHBhdGNoCj4+IDUuKQo+IC4KPj4gCj4+IEknbGwgZ2V0IGJhY2sgdG8geW91IG9uIHRoaXMg bGF0ZXIsIGJ1dCBpbiB0aGUgbWVhbiB0aW1lIC0gVmlsbGUsIGRvIHlvdSBoYXZlCj4+IGFueSBp ZGVhcz8KPgo+IE90aGVyIG9wdGlvbiBvZiBhZGRpbmcgaW4gY3J0Y19zdGF0ZSwgZGlkIHlvdSBt ZWFuIHNvbWV0aGluZyBsaWtlIHRoaXMKPiBodHRwczovL3BhdGNod29yay5mcmVlZGVza3RvcC5v cmcvcGF0Y2gvMzM2MTc4LyAKPiBASmFuaSBhbmQgQFZpbGxlICBQbGVhc2UgbGV0IG1lIGtub3cg eW91ciBjb21tZW50cy4KClRoZSBwcm9ibGVtIGlzIHRoYXQgd2UgZG9uJ3QgaGF2ZSBhY2Nlc3Mg dG8gdGhlIGNydGMgc3RhdGUgaW4gcGF0Y2ggNQpnZW4xMV9kc2lfY29uZmlndXJlX3RlKCkgYmVj YXVzZSB0aGUgY2FsbCBwYXRoIGlzIHZpYSBkcm1fY3J0Y19mdW5jcyBhbmQKYmR3X2VuYWJsZV92 YmxhbmsuCgpCUiwKSmFuaS4KCgo+Cj4gVGhhbmtzLAo+IFZhbmRpdGEKPj4gCj4+IAo+PiBCUiwK Pj4gSmFuaS4KPj4gCj4+IAo+PiA+ICsKPj4gPiAgc3RhdGljIHZvaWQgd2FpdF9mb3JfY21kc19k aXNwYXRjaGVkX3RvX3BhbmVsKHN0cnVjdCBpbnRlbF9lbmNvZGVyCj4+ID4gKmVuY29kZXIpICB7 Cj4+ID4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29k ZXItPmJhc2UuZGV2KTsgZGlmZgo+PiA+IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9kc2kuaAo+PiA+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9kc2kuaAo+PiA+IGluZGV4IGIxNWJlNTgxNDU5OS4uMDcxZGFkN2VlMDRhIDEwMDY0NAo+PiA+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHNpLmgKPj4gPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RzaS5oCj4+ID4gQEAgLTIwMSw2 ICsyMDEsOSBAQCB1MzIgYnh0X2RzaV9nZXRfcGNsayhzdHJ1Y3QgaW50ZWxfZW5jb2Rlcgo+PiAq ZW5jb2RlciwKPj4gPiAgCQkgICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjb25maWcpOyAg dm9pZAo+PiA+IGJ4dF9kc2lfcmVzZXRfY2xvY2tzKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyLCBlbnVtIHBvcnQgcG9ydCk7Cj4+ID4KPj4gPiArLyogaWNsX2RzaS5jICovCj4+ID4gK3N0 cnVjdCBpbnRlbF9lbmNvZGVyICpnZW4xMV9kc2lfZmluZF9jbWRfbW9kZV9lbmNvZGVyKHN0cnVj dAo+PiA+ICtpbnRlbF9jcnRjICpjcnRjKTsKPj4gPiArCj4+ID4gIC8qIGludGVsX2RzaV92YnQu YyAqLwo+PiA+ICBib29sIGludGVsX2RzaV92YnRfaW5pdChzdHJ1Y3QgaW50ZWxfZHNpICppbnRl bF9kc2ksIHUxNiBwYW5lbF9pZCk7Cj4+ID4gdm9pZCBpbnRlbF9kc2lfdmJ0X2V4ZWNfc2VxdWVu Y2Uoc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpLAo+PiAKPj4gLS0KPj4gSmFuaSBOaWt1bGEs IEludGVsIE9wZW4gU291cmNlIEdyYXBoaWNzIENlbnRlcgoKLS0gCkphbmkgTmlrdWxhLCBJbnRl bCBPcGVuIFNvdXJjZSBHcmFwaGljcyBDZW50ZXIKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4