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=-9.7 required=3.0 tests=BAYES_00, 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 2DF36C433DF for ; Mon, 19 Oct 2020 17:09:57 +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 CA950207FF for ; Mon, 19 Oct 2020 17:09:56 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CA950207FF 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 4B0B96E32A; Mon, 19 Oct 2020 17:09:56 +0000 (UTC) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0D3E56E32A for ; Mon, 19 Oct 2020 17:09:55 +0000 (UTC) IronPort-SDR: yUv+6ORnXeWmf+6eeCVck8KA4TJVbc17EjFuAmpsiDladVm/eUUcyznYXMusQQmdCp35ReBLRq 3cqyNM8mzhuA== X-IronPort-AV: E=McAfee;i="6000,8403,9779"; a="163580594" X-IronPort-AV: E=Sophos;i="5.77,395,1596524400"; d="scan'208";a="163580594" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Oct 2020 10:09:54 -0700 IronPort-SDR: LHuBOdFLJv36IRoxo6ik2S/Z1YOsWNmC+vDF7q2ta8Jsx683N0lwZv8HLv/DI7xXAr/3Z4GNcs vOwKxgssyC+A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,395,1596524400"; d="scan'208";a="532709667" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga005.jf.intel.com with ESMTP; 19 Oct 2020 10:09:54 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 19 Oct 2020 10:09:53 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 19 Oct 2020 10:09:53 -0700 Received: from orsmsx610.amr.corp.intel.com ([10.22.229.23]) by ORSMSX610.amr.corp.intel.com ([10.22.229.23]) with mapi id 15.01.1713.004; Mon, 19 Oct 2020 10:09:53 -0700 From: "Souza, Jose" To: "Surendrakumar Upadhyay, TejaskumarX" , "intel-gfx@lists.freedesktop.org" Thread-Topic: [PATCH] drm/i915/edp/jsl: Update vswing table for HBR and HBR2 Thread-Index: AQHWojvf0/5nA9ZlikaXU25cwj3r8qmbKh+AgAQXCQCAAGTpgA== Date: Mon, 19 Oct 2020 17:09:53 +0000 Message-ID: References: <20201014145914.67547-1-tejaskumarx.surendrakumar.upadhyay@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.1.200.100] Content-ID: <3A4750BCD0A1724E8737859FB56E1DAF@intel.com> MIME-Version: 1.0 Subject: Re: [Intel-gfx] [PATCH] drm/i915/edp/jsl: Update vswing table for HBR and HBR2 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 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" SSBkb24ndCB0aGluayB0aGF0IGNoZWNrcGF0Y2gucGwgaGFzIGFsbCB0aGUgc3R5bGUgcnVsZXMg dGhhdCB3ZSBmb2xsb3cgaW4gZHJtLg0KQ2hlY2sgdGhlIG91dHB1dCBvZiAi4pyXIEZpLkNJLkNI RUNLUEFUQ0g6IHdhcm5pbmcgZm9yIGRybS9pOTE1L2VkcC9qc2w6IFVwZGF0ZSB2c3dpbmcgdGFi bGUgZm9yIEhCUiBhbmQgSEJSMiAocmV2MikiIHRoZXJlIG1vcmUgc3R5bGUgZXJyb3JzIHRoYW4g dGhhdC4NCg0KT24gTW9uLCAyMDIwLTEwLTE5IGF0IDExOjA4ICswMDAwLCBTdXJlbmRyYWt1bWFy IFVwYWRoeWF5LCBUZWphc2t1bWFyWCB3cm90ZToNCj4gSGkgSm9zZSwNCj4gDQo+IEkgdXNlIHNj cmlwdHMvY2hlY2twYXRjaC5wbC4gQW5kIGl0IGhhcyByZXBvcnRlZCBtZSBmb2xsb3dpbmcgOg0K PiANCj4gZHJtLXRpcCMgLi9zY3JpcHRzL2NoZWNrcGF0Y2gucGwgMDAwMS1kcm0taTkxNS1lZHAt anNsLVVwZGF0ZS12c3dpbmctdGFibGUtZm9yLUhCUi1hbmQtSEJSLnBhdGNoDQo+IFdBUk5JTkc6 IGVsc2UgaXMgbm90IGdlbmVyYWxseSB1c2VmdWwgYWZ0ZXIgYSBicmVhayBvciByZXR1cm4NCj4g Izg4OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jOjEyMjI6 DQo+ICsgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBqc2xfY29tYm9fcGh5X2RkaV90cmFu c2xhdGlvbnNfZWRwX2hicjI7DQo+ICsgICAgICAgICAgICAgICB9IGVsc2Ugew0KPiANCj4gdG90 YWw6IDAgZXJyb3JzLCAxIHdhcm5pbmdzLCAxMTEgbGluZXMgY2hlY2tlZA0KPiANCj4gSSBoYXZl IGdvdCAxIHdhcm5pbmcsIHdoaWNoIGlzIGJlY2F1c2UgSSBoYXZlIHRyaWVkIHRvIG1haW50YWlu IHNhbWUgZm9ybWF0IHdoaWNoIGlzIHRoZXJlIGluIG90aGVyIHNpbWlsYXIgZnVuY3Rpb25zIGlu IGludGVsX2RkaS5jLiBJZiBJIHdpbGwgY2hhbmdlIHRvIHJlc29sdmUgdGhpcyB3YXJuaW5nLCBl dmVyeXRoaW5nIGVsc2UgYWxzbyBuZWVkcyBzaW1pbGFyIGNoYW5nZSBhcyBhcHBsaWNhYmxlLg0K PiANCj4gUGxlYXNlIGxldCBtZSBrbm93IGhvdyB5b3Ugd2FudCBtZSB0byBwcm9jZWVkLg0KPiAN Cj4gVGhhbmtzLA0KPiBUZWphcw0KPiANCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K PiA+IEZyb206IFNvdXphLCBKb3NlIDxqb3NlLnNvdXphQGludGVsLmNvbT4NCj4gPiBTZW50OiAx NyBPY3RvYmVyIDIwMjAgMDI6MTENCj4gPiBUbzogU3VyZW5kcmFrdW1hciBVcGFkaHlheSwgVGVq YXNrdW1hclgNCj4gPiA8dGVqYXNrdW1hcnguc3VyZW5kcmFrdW1hci51cGFkaHlheUBpbnRlbC5j b20+OyBkcmktDQo+ID4gZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnOyBpbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnDQo+ID4gU3ViamVjdDogUmU6IFtQQVRDSF0gZHJtL2k5MTUvZWRw L2pzbDogVXBkYXRlIHZzd2luZyB0YWJsZSBmb3IgSEJSIGFuZA0KPiA+IEhCUjINCj4gPiANCj4g PiBQbGVhc2UgZml4IHRoZSBjaGVja3BhdGNoIGVycm9ycywgeW91IGNhbiBydW4gaXQgbG9jYWxs eSBieSBydW5uaW5nICJkaW0NCj4gPiBjaGVja3BhdGNoIGRybS10aXAvZHJtLXRpcC4uSEVBRCIs IHNlYXJjaCBmb3IgaW5zdHJ1Y3Rpb25zIG9mIGhvdyB0byBmZXRjaA0KPiA+IGFuZCBzZXR1cCBk aW0uDQo+ID4gDQo+ID4gQWxzbyBubyBuZWVkIHRvIENDIGRybS1kZXZlbCBmb3IgcGF0Y2hlcyB0 aGF0IG9ubHkgdG91Y2hlcyBpOTE1LCBkcm0tZGV2ZWwNCj4gPiBpcyBmb3IgZHJpdmVycyB0aGF0 IGRvbid0IGhhdmUgaXQncyBvd24gbGlzdCBhbmQgZm9yIGNoYW5nZXMgaW4gZHJtIHN1YnN5c3Rl bQ0KPiA+IHRoYXQgYWZmZWN0cyBhbGwgb3RoZXIgZHJtIGJhc2VkIGRyaXZlcnMuDQo+ID4gDQo+ ID4gT24gV2VkLCAyMDIwLTEwLTE0IGF0IDIwOjI5ICswNTMwLCBUZWphcyBVcGFkaHlheSB3cm90 ZToNCj4gPiA+IEpTTCBoYXMgdXBkYXRlIGluIHZzd2luZyB0YWJsZSBmb3IgZURQLg0KPiA+ID4g DQo+ID4gPiBCU3BlYzogMjEyNTcNCj4gPiA+IA0KPiA+ID4gQ2M6IFNvdXphIEpvc2UgPGpvc2Uu c291emFAaW50ZWwuY29tPg0KPiA+ID4gU2lnbmVkLW9mZi1ieTogVGVqYXMgVXBhZGh5YXkNCj4g PiA+IDx0ZWphc2t1bWFyeC5zdXJlbmRyYWt1bWFyLnVwYWRoeWF5QGludGVsLmNvbT4NCj4gPiA+ IC0tLQ0KPiA+ID4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jIHwg ODcNCj4gPiA+ICsrKysrKysrKysrKysrKysrKysrKysrLQ0KPiA+ID4gwqAxIGZpbGUgY2hhbmdl ZCwgODUgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkNCj4gPiA+IA0KPiA+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMNCj4gPiA+IGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGkuYw0KPiA+ID4gaW5kZXggYmIw Yjk5MzA5NThmLi43YWI2OTRjNmQ4ZGYgMTAwNjQ0DQo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jDQo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jDQo+ID4gPiBAQCAtNTgyLDYgKzU4MiwzNCBAQCBzdGF0 aWMgY29uc3Qgc3RydWN0IGNubF9kZGlfYnVmX3RyYW5zDQo+ID4gZWhsX2NvbWJvX3BoeV9kZGlf dHJhbnNsYXRpb25zX2RwW10gPSB7DQo+ID4gPiDCoHsgMHg2LCAweDdGLCAweDNGLCAweDAwLCAw eDAwIH0sLyogOTAwICAgOTAwICAgICAgMC4wICAgKi8NCj4gPiA+IMKgfTsNCj4gPiA+IA0KPiA+ ID4gDQo+ID4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucw0KPiA+IGpz bF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19lZHBfaGJyW10gPSB7DQo+ID4gPiArLyogTlQg bVYgVHJhbnMgbVYgZGIgICAgKi8NCj4gPiA+ICt7IDB4OCwgMHg3RiwgMHgzRiwgMHgwMCwgMHgw MCB9LCAgICAgICAgLyogMjAwICAgMjAwICAgICAgMC4wICAgKi8NCj4gPiA+ICt7IDB4OCwgMHg3 RiwgMHgzOCwgMHgwMCwgMHgwNyB9LCAgICAgICAgLyogMjAwICAgMjUwICAgICAgMS45ICAgKi8N Cj4gPiA+ICt7IDB4MSwgMHg3RiwgMHgzMywgMHgwMCwgMHgwQyB9LCAgICAgICAgLyogMjAwICAg MzAwICAgICAgMy41ICAgKi8NCj4gPiA+ICt7IDB4QSwgMHgzNSwgMHgzNiwgMHgwMCwgMHgwOSB9 LCAgICAgICAgLyogMjAwICAgMzUwICAgICAgNC45ICAgKi8NCj4gPiA+ICt7IDB4OCwgMHg3Riwg MHgzRiwgMHgwMCwgMHgwMCB9LCAgICAgICAgLyogMjUwICAgMjUwICAgICAgMC4wICAgKi8NCj4g PiA+ICt7IDB4MSwgMHg3RiwgMHgzOCwgMHgwMCwgMHgwNyB9LCAgICAgICAgLyogMjUwICAgMzAw ICAgICAgMS42ICAgKi8NCj4gPiA+ICt7IDB4QSwgMHgzNSwgMHgzNSwgMHgwMCwgMHgwQSB9LCAg ICAgICAgLyogMjUwICAgMzUwICAgICAgMi45ICAgKi8NCj4gPiA+ICt7IDB4MSwgMHg3RiwgMHgz RiwgMHgwMCwgMHgwMCB9LCAgICAgICAgLyogMzAwICAgMzAwICAgICAgMC4wICAgKi8NCj4gPiA+ ICt7IDB4QSwgMHgzNSwgMHgzOCwgMHgwMCwgMHgwNyB9LCAgICAgICAgLyogMzAwICAgMzUwICAg ICAgMS4zICAgKi8NCj4gPiA+ICt7IDB4QSwgMHgzNSwgMHgzRiwgMHgwMCwgMHgwMCB9LCAgICAg ICAgLyogMzUwICAgMzUwICAgICAgMC4wICAgKi8NCj4gPiA+ICt9Ow0KPiA+ID4gKw0KPiA+ID4g K3N0YXRpYyBjb25zdCBzdHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMNCj4gPiBqc2xfY29tYm9fcGh5 X2RkaV90cmFuc2xhdGlvbnNfZWRwX2hicjJbXSA9IHsNCj4gPiA+ICsvKiBOVCBtViBUcmFucyBt ViBkYiAgICAqLw0KPiA+ID4gK3sgMHg4LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0sICAgICAg ICAvKiAyMDAgICAyMDAgICAgICAwLjAgICAqLw0KPiA+ID4gK3sgMHg4LCAweDdGLCAweDNGLCAw eDAwLCAweDAwIH0sICAgICAgICAvKiAyMDAgICAyNTAgICAgICAxLjkgICAqLw0KPiA+ID4gK3sg MHgxLCAweDdGLCAweDNELCAweDAwLCAweDAyIH0sICAgICAgICAvKiAyMDAgICAzMDAgICAgICAz LjUgICAqLw0KPiA+ID4gK3sgMHhBLCAweDM1LCAweDM4LCAweDAwLCAweDA3IH0sICAgICAgICAv KiAyMDAgICAzNTAgICAgICA0LjkgICAqLw0KPiA+ID4gK3sgMHg4LCAweDdGLCAweDNGLCAweDAw LCAweDAwIH0sICAgICAgICAvKiAyNTAgICAyNTAgICAgICAwLjAgICAqLw0KPiA+ID4gK3sgMHgx LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0sICAgICAgICAvKiAyNTAgICAzMDAgICAgICAxLjYg ICAqLw0KPiA+ID4gK3sgMHhBLCAweDM1LCAweDNBLCAweDAwLCAweDA1IH0sICAgICAgICAvKiAy NTAgICAzNTAgICAgICAyLjkgICAqLw0KPiA+ID4gK3sgMHgxLCAweDdGLCAweDNGLCAweDAwLCAw eDAwIH0sICAgICAgICAvKiAzMDAgICAzMDAgICAgICAwLjAgICAqLw0KPiA+ID4gK3sgMHhBLCAw eDM1LCAweDM4LCAweDAwLCAweDA3IH0sICAgICAgICAvKiAzMDAgICAzNTAgICAgICAxLjMgICAq Lw0KPiA+ID4gK3sgMHhBLCAweDM1LCAweDNGLCAweDAwLCAweDAwIH0sICAgICAgICAvKiAzNTAg ICAzNTAgICAgICAwLjAgICAqLw0KPiA+ID4gK307DQo+ID4gPiArDQo+ID4gPiDCoHN0cnVjdCBp Y2xfbWdfcGh5X2RkaV9idWZfdHJhbnMgew0KPiA+ID4gwqB1MzIgY3JpX3R4ZGVlbXBoX292ZXJy aWRlXzExXzY7DQo+ID4gPiDCoHUzMiBjcmlfdHhkZWVtcGhfb3ZlcnJpZGVfNV8wOw0KPiA+ID4g QEAgLTExNjIsNiArMTE5MCw1NyBAQCBlaGxfZ2V0X2NvbWJvX2J1Zl90cmFucyhzdHJ1Y3QgaW50 ZWxfZW5jb2Rlcg0KPiA+ID4gKmVuY29kZXIsICByZXR1cm4gZWhsX2dldF9jb21ib19idWZfdHJh bnNfZHAoZW5jb2RlciwgY3J0Y19zdGF0ZSwNCj4gPiA+IG5fZW50cmllcyk7ICB9DQo+ID4gPiAN Cj4gPiA+IA0KPiA+ID4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMgKg0K PiA+ID4gK2pzbF9nZXRfY29tYm9fYnVmX3RyYW5zX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXIsDQo+ID4gPiArICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRj X3N0YXRlLA0KPiA+ID4gKyAgICBpbnQgKm5fZW50cmllcykNCj4gPiA+ICt7DQo+ID4gPiArKm5f ZW50cmllcyA9IEFSUkFZX1NJWkUoaWNsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2hkbWkp Ow0KPiA+ID4gK3JldHVybiBpY2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfaGRtaTsNCj4g PiA+ICt9DQo+ID4gPiArDQo+ID4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90 cmFucyAqDQo+ID4gPiAranNsX2dldF9jb21ib19idWZfdHJhbnNfZHAoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIsDQo+ID4gPiArICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSwNCj4gPiA+ICsgIGludCAqbl9lbnRyaWVzKQ0KPiA+ID4gK3sNCj4gPiA+ICsq bl9lbnRyaWVzID0gQVJSQVlfU0laRShpY2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBf aGJyMik7DQo+ID4gPiArcmV0dXJuIGljbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9o YnIyOw0KPiA+ID4gK30NCj4gPiA+ICsNCj4gPiA+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGNubF9k ZGlfYnVmX3RyYW5zICoNCj4gPiA+ICtqc2xfZ2V0X2NvbWJvX2J1Zl90cmFuc19lZHAoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIsDQo+ID4gPiArICAgY29uc3Qgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKmNydGNfc3RhdGUsDQo+ID4gPiArICAgaW50ICpuX2VudHJpZXMpDQo+ID4gPiAr ew0KPiA+ID4gK3N0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5j b2Rlci0+YmFzZS5kZXYpOw0KPiA+ID4gKw0KPiA+ID4gK2lmIChkZXZfcHJpdi0+dmJ0LmVkcC5s b3dfdnN3aW5nKSB7DQo+ID4gPiAraWYgKGNydGNfc3RhdGUtPnBvcnRfY2xvY2sgPiAyNzAwMDAp IHsgKm5fZW50cmllcyA9DQo+ID4gPiArQVJSQVlfU0laRShqc2xfY29tYm9fcGh5X2RkaV90cmFu c2xhdGlvbnNfZWRwX2hicjIpOw0KPiA+ID4gK3JldHVybiBqc2xfY29tYm9fcGh5X2RkaV90cmFu c2xhdGlvbnNfZWRwX2hicjI7DQo+ID4gPiArfSBlbHNlIHsNCj4gPiA+ICsqbl9lbnRyaWVzID0g QVJSQVlfU0laRShqc2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZWRwX2hicik7DQo+ID4g PiArcmV0dXJuIGpzbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19lZHBfaGJyOw0KPiA+ID4g K30NCj4gPiA+ICt9DQo+ID4gPiArDQo+ID4gPiArcmV0dXJuIGpzbF9nZXRfY29tYm9fYnVmX3Ry YW5zX2RwKGVuY29kZXIsIGNydGNfc3RhdGUsIG5fZW50cmllcyk7IH0NCj4gPiA+ICsNCj4gPiA+ ICtzdGF0aWMgY29uc3Qgc3RydWN0IGNubF9kZGlfYnVmX3RyYW5zICoNCj4gPiA+ICtqc2xfZ2V0 X2NvbWJvX2J1Zl90cmFucyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwNCj4gPiA+ICsg ICAgICAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsDQo+ID4gPiAr ICAgICAgIGludCAqbl9lbnRyaWVzKQ0KPiA+ID4gK3sNCj4gPiA+ICtpZiAoaW50ZWxfY3J0Y19o YXNfdHlwZShjcnRjX3N0YXRlLCBJTlRFTF9PVVRQVVRfSERNSSkpIHJldHVybg0KPiA+ID4gK2pz bF9nZXRfY29tYm9fYnVmX3RyYW5zX2hkbWkoZW5jb2RlciwgY3J0Y19zdGF0ZSwgbl9lbnRyaWVz KTsgZWxzZSBpZg0KPiA+ID4gKyhpbnRlbF9jcnRjX2hhc190eXBlKGNydGNfc3RhdGUsIElOVEVM X09VVFBVVF9FRFApKSByZXR1cm4NCj4gPiA+ICtqc2xfZ2V0X2NvbWJvX2J1Zl90cmFuc19lZHAo ZW5jb2RlciwgY3J0Y19zdGF0ZSwgbl9lbnRyaWVzKTsgZWxzZQ0KPiA+ID4gK3JldHVybiBqc2xf Z2V0X2NvbWJvX2J1Zl90cmFuc19kcChlbmNvZGVyLCBjcnRjX3N0YXRlLCBuX2VudHJpZXMpOyB9 DQo+ID4gPiArDQo+ID4gPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMg Kg0KPiA+ID4gdGdsX2dldF9jb21ib19idWZfdHJhbnNfaGRtaShzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlciwNCj4gPiA+IMKgwqDCoMKgwqDCoGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpjcnRjX3N0YXRlLCBAQCAtMjM2Myw3ICsyNDQyLDkgQEANCj4gPiA+IHN0YXRpYyB1OCBp bnRlbF9kZGlfZHBfdm9sdGFnZV9tYXgoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwgIGVsc2UN Cj4gPiA+IHRnbF9nZXRfZGtsX2J1Zl90cmFucyhlbmNvZGVyLCBjcnRjX3N0YXRlLCAmbl9lbnRy aWVzKTsgIH0gZWxzZSBpZg0KPiA+ID4gKElOVEVMX0dFTihkZXZfcHJpdikgPT0gMTEpIHsgLWlm IChJU19KU0xfRUhMKGRldl9wcml2KSkNCj4gPiA+ICtpZiAoSVNfUExBVEZPUk0oZGV2X3ByaXYs IElOVEVMX0pBU1BFUkxBS0UpKQ0KPiA+ID4gK2pzbF9nZXRfY29tYm9fYnVmX3RyYW5zKGVuY29k ZXIsIGNydGNfc3RhdGUsICZuX2VudHJpZXMpOyBlbHNlIGlmDQo+ID4gPiArKElTX1BMQVRGT1JN KGRldl9wcml2LCBJTlRFTF9FTEtIQVJUTEFLRSkpDQo+ID4gPiDCoGVobF9nZXRfY29tYm9fYnVm X3RyYW5zKGVuY29kZXIsIGNydGNfc3RhdGUsICZuX2VudHJpZXMpOyAgZWxzZSBpZg0KPiA+ID4g KGludGVsX3BoeV9pc19jb21ibyhkZXZfcHJpdiwgcGh5KSkgIGljbF9nZXRfY29tYm9fYnVmX3Ry YW5zKGVuY29kZXIsDQo+ID4gPiBjcnRjX3N0YXRlLCAmbl9lbnRyaWVzKTsgQEAgLTI1NDQsNyAr MjYyNSw5IEBAIHN0YXRpYyB2b2lkDQo+ID4gPiBpY2xfZGRpX2NvbWJvX3Zzd2luZ19wcm9ncmFt KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IMKg aWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTIpDQo+ID4gPiDCoGRkaV90cmFuc2xhdGlvbnMg PSB0Z2xfZ2V0X2NvbWJvX2J1Zl90cmFucyhlbmNvZGVyLCBjcnRjX3N0YXRlLA0KPiA+ID4gJm5f ZW50cmllcyk7IC1lbHNlIGlmIChJU19KU0xfRUhMKGRldl9wcml2KSkNCj4gPiA+ICtlbHNlIGlm IChJU19QTEFURk9STShkZXZfcHJpdiwgSU5URUxfSkFTUEVSTEFLRSkpIGRkaV90cmFuc2xhdGlv bnMgPQ0KPiA+ID4gK2pzbF9nZXRfY29tYm9fYnVmX3RyYW5zKGVuY29kZXIsIGNydGNfc3RhdGUs ICZuX2VudHJpZXMpOyBlbHNlIGlmDQo+ID4gPiArKElTX1BMQVRGT1JNKGRldl9wcml2LCBJTlRF TF9FTEtIQVJUTEFLRSkpDQo+ID4gPiDCoGRkaV90cmFuc2xhdGlvbnMgPSBlaGxfZ2V0X2NvbWJv X2J1Zl90cmFucyhlbmNvZGVyLCBjcnRjX3N0YXRlLA0KPiA+ID4gJm5fZW50cmllcyk7ICBlbHNl ICBkZGlfdHJhbnNsYXRpb25zID0NCj4gPiA+IGljbF9nZXRfY29tYm9fYnVmX3RyYW5zKGVuY29k ZXIsIGNydGNfc3RhdGUsICZuX2VudHJpZXMpOw0KPiA+IA0KPiANCg0KX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==