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=-15.4 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 autolearn=unavailable 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 E7938C433E0 for ; Thu, 11 Feb 2021 06:56:38 +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 A314864DD1 for ; Thu, 11 Feb 2021 06:56:38 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A314864DD1 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 F3A736E944; Thu, 11 Feb 2021 06:56:36 +0000 (UTC) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5EA556E896; Thu, 11 Feb 2021 06:56:36 +0000 (UTC) IronPort-SDR: 8YQwc3V+R9EI2DYEVEEkmRobcniUijHpQG4AWis8dQis2jsrcGm1cd6N4oRjmsXAN8m62K/5J5 3cJmSdmQd5LQ== X-IronPort-AV: E=McAfee;i="6000,8403,9891"; a="179643092" X-IronPort-AV: E=Sophos;i="5.81,169,1610438400"; d="scan'208";a="179643092" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Feb 2021 22:56:35 -0800 IronPort-SDR: 0c3lyHPrn7VXDEkW/vUiX9MNKnTwUVNLzuVYMCOhJBeesXtiytH4QfCozKYGTjc3obQ/TjMHZP gXK/caM4/Z8Q== X-IronPort-AV: E=Sophos;i="5.81,169,1610438400"; d="scan'208";a="578726501" Received: from aknautiy-mobl.gar.corp.intel.com (HELO [10.251.70.152]) ([10.251.70.152]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Feb 2021 22:56:33 -0800 To: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= References: <20210204064842.11595-1-ankit.k.nautiyal@intel.com> <20210204064842.11595-3-ankit.k.nautiyal@intel.com> From: "Nautiyal, Ankit K" Message-ID: Date: Thu, 11 Feb 2021 12:26:25 +0530 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US Subject: Re: [Intel-gfx] [PATCH 2/3] drm/dp_helper: Define options for FRL training for HDMI2.1 PCON 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: , Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Ck9uIDIvNi8yMDIxIDE6MzAgQU0sIFZpbGxlIFN5cmrDpGzDpCB3cm90ZToKPiBPbiBUaHUsIEZl YiAwNCwgMjAyMSBhdCAxMjoxODo0MVBNICswNTMwLCBBbmtpdCBOYXV0aXlhbCB3cm90ZToKPj4g Q3VycmVudGx5IHRoZSBGUkwgdHJhaW5pbmcgbW9kZSAoQ29uY3VycmVudCwgU2VxdWVudGlhbCkg YW5kCj4+IHRyYWluaW5nIHR5cGUgKE5vcm1hbCwgRXh0ZW5kZWQpIGFyZSBub3QgZGVmaW5lZCBw cm9wZXJseSBhbmQKPj4gYXJlIHBhc3NlZCBhcyBib29sIHZhbHVlcyBpbiBkcm1faGVscGVycyBm b3IgcGNvbgo+PiBjb25maWd1cmF0aW9uIGZvciBGUkwgdHJhaW5pbmcuCj4+Cj4+IFRoaXMgcGF0 Y2g6Cj4+IC1EZWZpbmVzIEZSTCB0cmFpbmluZyB0eXBlIGFuZCBsaW5rIGJyaW5nIHVwIHNlcXVl bmNlIG1vZGUgYXMgZW51bS4KPj4gLUZpeGVzIHRoZSBkcm1faGVscGVycyBmb3IgRlJMIFRyYWlu aW5nIGNvbmZpZ3VyYXRpb24gdG8gdXNlIHRoZXNlIGVudW1zLgo+PiAtTW9kaWZpZXMgdGhlIGNh bGxzIHRvIHRoZSBhYm92ZSBkcm1faGVscGVycyBpbiBpOTE1L2ludGVsX2RwIGFzIHBlciB0aGUK Pj4gYWJvdmUgY2hhbmdlLgo+Pgo+PiBTaWduZWQtb2ZmLWJ5OiBBbmtpdCBOYXV0aXlhbCA8YW5r aXQuay5uYXV0aXlhbEBpbnRlbC5jb20+Cj4+IC0tLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9kcm1f ZHBfaGVscGVyLmMgICAgICAgICB8IDE4ICsrKysrLS0tLS0KPj4gICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2RwLmMgfCAxMCArKystLS0KPj4gICBpbmNsdWRlL2RybS9kcm1f ZHBfaGVscGVyLmggICAgICAgICAgICAgfCA0NiArKysrKysrKysrKysrKysrKysrKysrKy0tCj4+ ICAgMyBmaWxlcyBjaGFuZ2VkLCA1NiBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkKPj4K Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfaGVscGVyLmMgYi9kcml2ZXJz L2dwdS9kcm0vZHJtX2RwX2hlbHBlci5jCj4+IGluZGV4IGVlZGJiNDg4MTViNy4uMmNhNGFiNWFm NDcwIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2RwX2hlbHBlci5jCj4+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfaGVscGVyLmMKPj4gQEAgLTI2MzUsMTQgKzI2MzUs MTMgQEAgRVhQT1JUX1NZTUJPTChkcm1fZHBfcGNvbl9pc19mcmxfcmVhZHkpOwo+PiAgICAqIGRy bV9kcF9wY29uX2ZybF9jb25maWd1cmVfMSgpIC0gU2V0IEhETUkgTElOSyBDb25maWd1cmF0aW9u LVN0ZXAxCj4+ICAgICogQGF1eDogRGlzcGxheVBvcnQgQVVYIGNoYW5uZWwKPj4gICAgKiBAbWF4 X2ZybF9nYnBzOiBtYXhpbXVtIGZybCBidyB0byBiZSBjb25maWd1cmVkIGJldHdlZW4gUENPTiBh bmQgSERNSSBzaW5rCj4+IC0gKiBAY29uY3VycmVudF9tb2RlOiB0cnVlIGlmIGNvbmN1cnJlbnQg bW9kZSBvciBvcGVyYXRpb24gaXMgcmVxdWlyZWQsCj4+IC0gKiBmYWxzZSBvdGhlcndpc2UuCj4+ ICsgKiBAZnJsX21vZGU6IEZSTCBUcmFpbmluZyBtb2RlLCBpdCBjYW4gYmUgZWl0aGVyIENvbmN1 cnJlbnQgb3IgU2VxdWVudGlhbC4KPj4gICAgKgo+PiAgICAqIFJldHVybnMgMCBpZiBzdWNjZXNz LCBlbHNlIHJldHVybnMgbmVnYXRpdmUgZXJyb3IgY29kZS4KPj4gICAgKi8KPj4gICAKPj4gICBp bnQgZHJtX2RwX3Bjb25fZnJsX2NvbmZpZ3VyZV8xKHN0cnVjdCBkcm1fZHBfYXV4ICphdXgsIGlu dCBtYXhfZnJsX2dicHMsCj4+IC0JCQkJYm9vbCBjb25jdXJyZW50X21vZGUpCj4+ICsJCQkJZW51 bSBkcF9wY29uX2ZybF90cmFpbl9tb2RlIGZybF9tb2RlKQo+PiAgIHsKPj4gICAJaW50IHJldDsK Pj4gICAJdTggYnVmOwo+PiBAQCAtMjY1MSw3ICsyNjUwLDcgQEAgaW50IGRybV9kcF9wY29uX2Zy bF9jb25maWd1cmVfMShzdHJ1Y3QgZHJtX2RwX2F1eCAqYXV4LCBpbnQgbWF4X2ZybF9nYnBzLAo+ PiAgIAlpZiAocmV0IDwgMCkKPj4gICAJCXJldHVybiByZXQ7Cj4+ICAgCj4+IC0JaWYgKGNvbmN1 cnJlbnRfbW9kZSkKPj4gKwlpZiAoZnJsX21vZGUgPT0gRFBfUENPTl9GUkxfTU9ERV9DT05DVVJS RU5UKQo+PiAgIAkJYnVmIHw9IERQX1BDT05fRU5BQkxFX0NPTkNVUlJFTlRfTElOSzsKPj4gICAJ ZWxzZQo+PiAgIAkJYnVmICY9IH5EUF9QQ09OX0VOQUJMRV9DT05DVVJSRU5UX0xJTks7Cj4+IEBA IC0yNjk0LDIxICsyNjkzLDIwIEBAIEVYUE9SVF9TWU1CT0woZHJtX2RwX3Bjb25fZnJsX2NvbmZp Z3VyZV8xKTsKPj4gICAgKiBkcm1fZHBfcGNvbl9mcmxfY29uZmlndXJlXzIoKSAtIFNldCBIRE1J IExpbmsgY29uZmlndXJhdGlvbiBTdGVwLTIKPj4gICAgKiBAYXV4OiBEaXNwbGF5UG9ydCBBVVgg Y2hhbm5lbAo+PiAgICAqIEBtYXhfZnJsX21hc2sgOiBNYXggRlJMIEJXIHRvIGJlIHRyaWVkIGJ5 IHRoZSBQQ09OIHdpdGggSERNSSBTaW5rCj4+IC0gKiBAZXh0ZW5kZWRfdHJhaW5fbW9kZSA6IHRy dWUgZm9yIEV4dGVuZGVkIE1vZGUsIGZhbHNlIGZvciBOb3JtYWwgTW9kZS4KPj4gLSAqIEluIE5v cm1hbCBtb2RlLCB0aGUgUENPTiB0cmllcyBlYWNoIGZybCBidyBmcm9tIHRoZSBtYXhfZnJsX21h c2sgc3RhcnRpbmcKPj4gLSAqIGZyb20gbWluLCBhbmQgc3RvcHMgd2hlbiBsaW5rIHRyYWluaW5n IGlzIHN1Y2Nlc3NmdWwuIEluIEV4dGVuZGVkIG1vZGUsIGFsbAo+PiAtICogZnJsIGJ3IHNlbGVj dGVkIGluIHRoZSBtYXNrIGFyZSB0cmFpbmVkIGJ5IHRoZSBQQ09OLgo+PiArICogQGZybF90eXBl IDogRlJMIHRyYWluaW5nIHR5cGUsIGNhbiBiZSBFeHRlbmRlZCwgb3IgTm9ybWFsLgo+PiAgICAq Cj4+ICAgICogUmV0dXJucyAwIGlmIHN1Y2Nlc3MsIGVsc2UgcmV0dXJucyBuZWdhdGl2ZSBlcnJv ciBjb2RlLgo+PiAgICAqLwo+PiAgIGludCBkcm1fZHBfcGNvbl9mcmxfY29uZmlndXJlXzIoc3Ry dWN0IGRybV9kcF9hdXggKmF1eCwgaW50IG1heF9mcmxfbWFzaywKPj4gLQkJCQlib29sIGV4dGVu ZGVkX3RyYWluX21vZGUpCj4+ICsJCQkJZW51bSBkcF9wY29uX2ZybF90cmFpbl90eXBlIGZybF90 eXBlKQo+PiAgIHsKPj4gICAJaW50IHJldDsKPj4gICAJdTggYnVmID0gbWF4X2ZybF9tYXNrOwo+ PiAgIAo+PiAtCWlmIChleHRlbmRlZF90cmFpbl9tb2RlKQo+PiArCWlmIChmcmxfdHlwZSA9PSBE UF9QQ09OX0ZSTF9UUkFJTl9FWFRFTkRFRCkKPj4gICAJCWJ1ZiB8PSBEUF9QQ09OX0ZSTF9MSU5L X1RSQUlOX0VYVEVOREVEOwo+PiArCWVsc2UKPj4gKwkJYnVmICY9IH5EUF9QQ09OX0ZSTF9MSU5L X1RSQUlOX0VYVEVOREVEOwo+IFRoZXNlIG5hbWVzIGFyZSBhbm5veWluZ2x5IGNsb3NlIHRvIGVh Y2ggb3RoZXIuIFByZXR0dSBtdWNoCj4gZ3VhcmFudGVlZCB0byBtaXggdGhlbSB1cCBhdCBzb21l IHBvaW50LiBXZSBzaG91bGQgdHJ5IHRvIGNvbWUKPiB1cCBzb21ldGhpbmcgYSBiaXQgbW9yZSBk aXN0aW5jdGl2ZSBmb3IgdGhlIGVudW0sIG9yIGp1c3QgZm9yZ2V0Cj4gdGhlIGVudW0gYW5kIHVz ZSB0aGUgcmVnaXN0ZXIgdmFsdWVzIGRpcmVjdGx5LgoKQWdyZWVkLiBTZW50IG5leHQgdmVyc2lv biBvZiB0aGUgcGF0Y2gsIGRyb3BwaW5nIHRoZSBlbnVtIGFuZCB1c2VkIG9ubHkgCmFwcHJvcHJp YXRlIHJlZ2lzdGVyIHZhbHVlcy4KClRoYW5rcyAmIFJlZ2FyZHMsCgpBbmtpdAoKPj4gICAKPj4g ICAJcmV0ID0gZHJtX2RwX2RwY2Rfd3JpdGViKGF1eCwgRFBfUENPTl9IRE1JX0xJTktfQ09ORklH XzIsIGJ1Zik7Cj4+ICAgCWlmIChyZXQgPCAwKQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9kcC5jCj4+IGluZGV4IDJiODNmMGY0MzNhMi4uMTk2MmQ2ZGQ4NjQxIDEwMDY0NAo+ PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwLmMKPj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5jCj4+IEBAIC0yNTYwLDEwICsy NTYwLDYgQEAgc3RhdGljIGludCBpbnRlbF9kcF9oZG1pX3NpbmtfbWF4X2ZybChzdHJ1Y3QgaW50 ZWxfZHAgKmludGVsX2RwKQo+PiAgIAo+PiAgIHN0YXRpYyBpbnQgaW50ZWxfZHBfcGNvbl9zdGFy dF9mcmxfdHJhaW5pbmcoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPj4gICB7Cj4+IC0jZGVm aW5lIFBDT05fRVhURU5ERURfVFJBSU5fTU9ERSAoMSA+IDApCj4+IC0jZGVmaW5lIFBDT05fQ09O Q1VSUkVOVF9NT0RFICgxID4gMCkKPj4gLSNkZWZpbmUgUENPTl9TRVFVRU5USUFMX01PREUgIVBD T05fQ09OQ1VSUkVOVF9NT0RFCj4+IC0jZGVmaW5lIFBDT05fTk9STUFMX1RSQUlOX01PREUgIVBD T05fRVhURU5ERURfVFJBSU5fTU9ERQo+PiAgICNkZWZpbmUgVElNRU9VVF9GUkxfUkVBRFlfTVMg NTAwCj4+ICAgI2RlZmluZSBUSU1FT1VUX0hETUlfTElOS19BQ1RJVkVfTVMgMTAwMAo+PiAgIAo+ PiBAQCAtMjU5NywxMCArMjU5MywxMiBAQCBzdGF0aWMgaW50IGludGVsX2RwX3Bjb25fc3RhcnRf ZnJsX3RyYWluaW5nKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4+ICAgCQlyZXR1cm4gLUVU SU1FRE9VVDsKPj4gICAKPj4gICAJbWF4X2ZybF9id19tYXNrID0gaW50ZWxfZHBfcGNvbl9zZXRf ZnJsX21hc2sobWF4X2ZybF9idyk7Cj4+IC0JcmV0ID0gZHJtX2RwX3Bjb25fZnJsX2NvbmZpZ3Vy ZV8xKCZpbnRlbF9kcC0+YXV4LCBtYXhfZnJsX2J3LCBQQ09OX1NFUVVFTlRJQUxfTU9ERSk7Cj4+ ICsJcmV0ID0gZHJtX2RwX3Bjb25fZnJsX2NvbmZpZ3VyZV8xKCZpbnRlbF9kcC0+YXV4LCBtYXhf ZnJsX2J3LAo+PiArCQkJCQkgIERQX1BDT05fRlJMX01PREVfU0VRVUVOVElBTCk7Cj4+ICAgCWlm IChyZXQgPCAwKQo+PiAgIAkJcmV0dXJuIHJldDsKPj4gLQlyZXQgPSBkcm1fZHBfcGNvbl9mcmxf Y29uZmlndXJlXzIoJmludGVsX2RwLT5hdXgsIG1heF9mcmxfYndfbWFzaywgUENPTl9OT1JNQUxf VFJBSU5fTU9ERSk7Cj4+ICsJcmV0ID0gZHJtX2RwX3Bjb25fZnJsX2NvbmZpZ3VyZV8yKCZpbnRl bF9kcC0+YXV4LCBtYXhfZnJsX2J3X21hc2ssCj4+ICsJCQkJCSAgRFBfUENPTl9GUkxfVFJBSU5f Tk9STUFMKTsKPj4gICAJaWYgKHJldCA8IDApCj4+ICAgCQlyZXR1cm4gcmV0Owo+PiAgIAlyZXQg PSBkcm1fZHBfcGNvbl9mcmxfZW5hYmxlKCZpbnRlbF9kcC0+YXV4KTsKPj4gZGlmZiAtLWdpdCBh L2luY2x1ZGUvZHJtL2RybV9kcF9oZWxwZXIuaCBiL2luY2x1ZGUvZHJtL2RybV9kcF9oZWxwZXIu aAo+PiBpbmRleCBlZGZmZDFkY2NhM2UuLmMzZjU2ZTg3YTVlYyAxMDA2NDQKPj4gLS0tIGEvaW5j bHVkZS9kcm0vZHJtX2RwX2hlbHBlci5oCj4+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9kcF9oZWxw ZXIuaAo+PiBAQCAtMTY0Niw2ICsxNjQ2LDQ4IEBAIGVudW0gZHBfY29udGVudF90eXBlIHsKPj4g ICAJRFBfQ09OVEVOVF9UWVBFX0dBTUUgPSAweDA0LAo+PiAgIH07Cj4+ICAgCj4+ICsvKioKPj4g KyAqIGVudW0gZHBfcGNvbl9mcmxfdHJhaW5fdHlwZSAtIGRybSBEUCBQQ09OIEZSTCBUcmFpbmlu ZyBUeXBlCj4+ICsgKgo+PiArICogVGhpcyBlbnVtIGlzIHVzZWQgdG8gc2VsZWN0IEZSTCB0cmFp bmluZyB0eXBlIGZvciBGUkwgdHJhaW5pbmcgYmV0d2Vlbgo+PiArICogYW4gSERNSTIuMSBQQ09O IGFuZCBhbiBIRE1JMi4xIHNpbmsuCj4+ICsgKgo+PiArICogSXQgaXMgYmFzZWQgb24gVkVTQSBE UC10by1IRE1JIFByb3RvY29sIENvbnZlcnRlciAoUENPTikgU3BlY2lmaWNhdGlvbgo+PiArICog U2VjIDYuMSBUYWJsZS0zLgo+PiArICogSW4gTm9ybWFsIEZSTCB0cmFpbmluZywgdGhlIFBDT04g dHJpZXMgZWFjaCBmcmwgYncgZnJvbSB0aGUgTUFYIEZSTCBNQVNLCj4+ICsgKiBzdGFydGluZyBm cm9tIG1pbiwgYW5kIHN0b3BzIHdoZW4gbGluayB0cmFpbmluZyBpcyBzdWNjZXNzZnVsLgo+PiAr ICogSW4gRXh0ZW5kZWQgRlJMIHRyYWluaW5nLCBhbGwgZnJsIGJ3IHNlbGVjdGVkIGluIHRoZSBt YXNrIGFyZSB0cmFpbmVkIGJ5IHRoZQo+PiArICogUENPTi4KPj4gKyAqCj4+ICsgKiBARFBfUENP Tl9GUkxfVFJBSU5fTk9STUFMOiBGUkwgdHJhaW5pbmcgdHlwZSBOb3JtYWwKPj4gKyAqIEBEUF9Q Q09OX0ZSTF9UUkFJTl9FWFRFTkRFRDogRlJMIHRyYWluaW5nIHR5cGUgRXh0ZW5kZWQKPj4gKyAq Lwo+PiArZW51bSBkcF9wY29uX2ZybF90cmFpbl90eXBlIHsKPj4gKwlEUF9QQ09OX0ZSTF9UUkFJ Tl9OT1JNQUwgPSAwLAo+PiArCURQX1BDT05fRlJMX1RSQUlOX0VYVEVOREVEID0gMSwKPj4gK307 Cj4+ICsKPj4gKy8qKgo+PiArICogZW51bSBkcF9wY29uX2ZybF90cmFpbl9tb2RlIC0gZHJtIERQ IFBDT04gRlJMIFRyYWluaW5nIE1vZGUKPj4gKyAqCj4+ICsgKiBUaGlzIGVudW0gaXMgdXNlZCB0 byBzZWxlY3QgbW9kZSBmb3IgRlJMIExpbmsgYnJpbmd1cCBiZXR3ZWVuIGFuIEhETUkyLjEKPj4g KyAqIFBDT04gYW5kIGFuIEhETUkyLjEgc2luay4KPj4gKyAqCj4+ICsgKiBJdCBpcyBiYXNlZCBv biBWRVNBIERQLXRvLUhETUkgUHJvdG9jb2wgQ29udmVydGVyIChQQ09OKSBTcGVjaWZpY2F0aW9u Cj4+ICsgKiBTZWMgNi4xIFRhYmxlLTMuCj4+ICsgKiBJbiBDb25jdXJyZW50IE1vZGUsIHRoZSBG UkwgbGluayBicmluZyB1cCBjYW4gYmUgZG9uZSBhbG9uZyB3aXRoIERQIExpbmsKPj4gKyAqIHRy YWluaW5nLiBJbiBTZXF1ZW50aWFsIG1vZGUsIHRoZSBGUkwgbGluayBicmluZyB1cCBpcyBkb25l IHByaW9yIHRvIHRoZQo+PiArICogRFAgTGluayB0cmFpbmluZy4KPj4gKyAqCj4+ICsgKiBARFBf UENPTl9GUkxfTU9ERV9TRVFVRU5USUFMOiBTZXF1ZW50aWFsIFRyYWluaW5nIG1vZGUKPj4gKyAq IEBEUF9QQ09OX0ZSTF9NT0RFX0NPTkNVUlJFTlQ6IENvbmN1cnJlbnQgVHJhaW5pbmcgbW9kZQo+ PiArICovCj4+ICsKPj4gK2VudW0gZHBfcGNvbl9mcmxfdHJhaW5fbW9kZSB7Cj4+ICsJRFBfUENP Tl9GUkxfTU9ERV9TRVFVRU5USUFMID0gMCwKPj4gKwlEUF9QQ09OX0ZSTF9NT0RFX0NPTkNVUlJF TlQgPSAxLAo+PiArfTsKPj4gKwo+PiAgIC8qKgo+PiAgICAqIHN0cnVjdCBkcm1fZHBfdnNjX3Nk cCAtIGRybSBEUCBWU0MgU0RQCj4+ICAgICoKPj4gQEAgLTIxNDksOSArMjE5MSw5IEBAIGludCBk cm1fZHBfZ2V0X3Bjb25fbWF4X2ZybF9idyhjb25zdCB1OCBkcGNkW0RQX1JFQ0VJVkVSX0NBUF9T SVpFXSwKPj4gICBpbnQgZHJtX2RwX3Bjb25fZnJsX3ByZXBhcmUoc3RydWN0IGRybV9kcF9hdXgg KmF1eCwgYm9vbCBlbmFibGVfZnJsX3JlYWR5X2hwZCk7Cj4+ICAgYm9vbCBkcm1fZHBfcGNvbl9p c19mcmxfcmVhZHkoc3RydWN0IGRybV9kcF9hdXggKmF1eCk7Cj4+ICAgaW50IGRybV9kcF9wY29u X2ZybF9jb25maWd1cmVfMShzdHJ1Y3QgZHJtX2RwX2F1eCAqYXV4LCBpbnQgbWF4X2ZybF9nYnBz LAo+PiAtCQkJCWJvb2wgY29uY3VycmVudF9tb2RlKTsKPj4gKwkJCQllbnVtIGRwX3Bjb25fZnJs X3RyYWluX21vZGUgZnJsX21vZGUpOwo+PiAgIGludCBkcm1fZHBfcGNvbl9mcmxfY29uZmlndXJl XzIoc3RydWN0IGRybV9kcF9hdXggKmF1eCwgaW50IG1heF9mcmxfbWFzaywKPj4gLQkJCQlib29s IGV4dGVuZGVkX3RyYWluX21vZGUpOwo+PiArCQkJCWVudW0gZHBfcGNvbl9mcmxfdHJhaW5fdHlw ZSBmcmxfdHlwZSk7Cj4+ICAgaW50IGRybV9kcF9wY29uX3Jlc2V0X2ZybF9jb25maWcoc3RydWN0 IGRybV9kcF9hdXggKmF1eCk7Cj4+ICAgaW50IGRybV9kcF9wY29uX2ZybF9lbmFibGUoc3RydWN0 IGRybV9kcF9hdXggKmF1eCk7Cj4+ICAgCj4+IC0tIAo+PiAyLjI5LjIKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==