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=-8.3 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, 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 E7A4FC2D0C2 for ; Mon, 30 Dec 2019 16:30:12 +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 C950120718 for ; Mon, 30 Dec 2019 16:30:12 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C950120718 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id A186789F4F; Mon, 30 Dec 2019 16:30:09 +0000 (UTC) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 38E7D89EA9; Mon, 30 Dec 2019 16:30:08 +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; 30 Dec 2019 08:30:07 -0800 X-IronPort-AV: E=Sophos;i="5.69,375,1571727600"; d="scan'208";a="213368025" Received: from unknown (HELO [10.66.114.55]) ([10.66.114.55]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 30 Dec 2019 08:30:05 -0800 Subject: Re: [PATCH v3 2/9] drm/dp: get/set phy compliance pattern To: Harry Wentland , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org References: <20191218235324.GI12192@intel.com> <20191223170350.15531-1-animesh.manna@intel.com> <20191223170350.15531-2-animesh.manna@intel.com> <2bf4630b-52f3-138d-9061-766275cbfbe8@amd.com> <93fd1b3e-2c97-2cfb-0e1a-9de86b327451@intel.com> From: "Manna, Animesh" Message-ID: Date: Mon, 30 Dec 2019 22:00:01 +0530 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.3.0 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: jani.nikula@intel.com, nidhi1.gupta@intel.com, manasi.d.navare@intel.com, uma.shankar@intel.com, anshuman.gupta@intel.com Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" T24gMzAtMTItMjAxOSAyMTo0MSwgSGFycnkgV2VudGxhbmQgd3JvdGU6Cgo+Cj4gT24gMjAxOS0x Mi0zMCAxMTowNSBhLm0uLCBNYW5uYSwgQW5pbWVzaCB3cm90ZToKPj4gT24gMjQtMTItMjAxOSAw MToyMywgSGFycnkgV2VudGxhbmQgd3JvdGU6Cj4+PiBPbiAyMDE5LTEyLTIzIDEyOjAzIHAubS4s IEFuaW1lc2ggTWFubmEgd3JvdGU6Cj4+Pj4gRHVyaW5nIHBoeSBjb21wbGlhbmNlIGF1dG8gdGVz dCBtb2RlIHNvdXJjZSBuZWVkIHRvIHJlYWQKPj4+PiByZXF1ZXN0ZWQgdGVzdCBwYXR0ZXJuIGZy b20gc2luayB0aHJvdWdoIERQQ0QuIEFmdGVyIHByb2Nlc3NpbmcKPj4+PiB0aGUgcmVxdWVzdCBz b3VyY2UgbmVlZCB0byBzZXQgdGhlIHBhdHRlcm4uIFNvIHNldC9nZXQgbWV0aG9kCj4+Pj4gYWRk ZWQgaW4gZHJtIGxheWVyIGFzIGl0IGlzIERQIHByb3RvY29sLgo+Pj4+Cj4+Pj4gdjI6IEFzIHBl ciByZXZpZXcgZmVlZGJhY2sgZnJvbSBNYW5hc2kgb24gUkZDIHZlcnNpb24sCj4+Pj4gLSBhZGRl ZCBkcCByZXZpc2lvbiBhcyBmdW5jdGlvbiBhcmd1bWVudCBpbiBzZXRfcGh5X3BhdHRlcm4gYXBp Lgo+Pj4+IC0gdXNlZCBpbnQgZm9yIGxpbmtfcmF0ZSBhbmQgdTggZm9yIGxhbmVfY291bnQgdG8g YWxpZ24gd2l0aAo+Pj4+IGV4aXN0aW5nIGNvZGUuCj4+Pj4KPj4+PiBTaWduZWQtb2ZmLWJ5OiBB bmltZXNoIE1hbm5hIDxhbmltZXNoLm1hbm5hQGludGVsLmNvbT4KPj4+PiAtLS0KPj4+PiAgwqAg ZHJpdmVycy9ncHUvZHJtL2RybV9kcF9oZWxwZXIuYyB8IDkzCj4+Pj4gKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrCj4+Pj4gIMKgIGluY2x1ZGUvZHJtL2RybV9kcF9oZWxwZXIuaMKg wqDCoMKgIHwgMzEgKysrKysrKysrKysKPj4+PiAgwqAgMiBmaWxlcyBjaGFuZ2VkLCAxMjQgaW5z ZXJ0aW9ucygrKQo+Pj4+Cj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBf aGVscGVyLmMKPj4+PiBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfaGVscGVyLmMKPj4+PiBpbmRl eCAyYzc4NzBhZWY0NjkuLjkxYzgwOTczYWE4MyAxMDA2NDQKPj4+PiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2RwX2hlbHBlci5jCj4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kcF9o ZWxwZXIuYwo+Pj4+IEBAIC0xMzcxLDMgKzEzNzEsOTYgQEAgaW50Cj4+Pj4gZHJtX2RwX2RzY19z aW5rX3N1cHBvcnRlZF9pbnB1dF9icGNzKGNvbnN0IHU4Cj4+Pj4gZHNjX2RwY2RbRFBfRFNDX1JF Q0VJVkVSX0NBUF9TCj4+Pj4gIMKgwqDCoMKgwqAgcmV0dXJuIG51bV9icGM7Cj4+Pj4gIMKgIH0K Pj4+PiAgwqAgRVhQT1JUX1NZTUJPTChkcm1fZHBfZHNjX3Npbmtfc3VwcG9ydGVkX2lucHV0X2Jw Y3MpOwo+Pj4+ICsKPj4+PiArLyoqCj4+Pj4gKyAqIGRybV9kcF9nZXRfcGh5X3Rlc3RfcGF0dGVy bigpIC0gZ2V0IHRoZSByZXF1ZXN0ZWQgcGF0dGVybiBmcm9tCj4+Pj4gdGhlIHNpbmsuCj4+Pj4g KyAqIEBhdXg6IERpc3BsYXlQb3J0IEFVWCBjaGFubmVsCj4+Pj4gKyAqIEBkYXRhOiBEUCBwaHkg Y29tcGxpYW5jZSB0ZXN0IHBhcmFtZXRlcnMuCj4+Pj4gKyAqCj4+Pj4gKyAqIFJldHVybnMgMCBv biBzdWNjZXNzIG9yIGEgbmVnYXRpdmUgZXJyb3IgY29kZSBvbiBmYWlsdXJlLgo+Pj4+ICsgKi8K Pj4+PiAraW50IGRybV9kcF9nZXRfcGh5X3Rlc3RfcGF0dGVybihzdHJ1Y3QgZHJtX2RwX2F1eCAq YXV4LAo+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IGRybV9kcF9w aHlfdGVzdF9wYXJhbXMgKmRhdGEpCj4+Pj4gK3sKPj4+PiArwqDCoMKgIGludCBlcnI7Cj4+Pj4g K8KgwqDCoCB1OCByYXRlLCBsYW5lczsKPj4+PiArCj4+Pj4gK8KgwqDCoCBlcnIgPSBkcm1fZHBf ZHBjZF9yZWFkYihhdXgsIERQX1RFU1RfTElOS19SQVRFLCAmcmF0ZSk7Cj4+Pj4gK8KgwqDCoCBp ZiAoZXJyIDwgMCkKPj4+PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIGVycjsKPj4+PiArwqDCoMKg IGRhdGEtPmxpbmtfcmF0ZSA9IGRybV9kcF9id19jb2RlX3RvX2xpbmtfcmF0ZShyYXRlKTsKPj4+ PiArCj4+Pj4gK8KgwqDCoCBlcnIgPSBkcm1fZHBfZHBjZF9yZWFkYihhdXgsIERQX1RFU1RfTEFO RV9DT1VOVCwgJmxhbmVzKTsKPj4+PiArwqDCoMKgIGlmIChlcnIgPCAwKQo+Pj4+ICvCoMKgwqDC oMKgwqDCoCByZXR1cm4gZXJyOwo+Pj4+ICvCoMKgwqAgZGF0YS0+bnVtX2xhbmVzID0gbGFuZXMg JiBEUF9NQVhfTEFORV9DT1VOVF9NQVNLOwo+Pj4+ICsKPj4+PiArwqDCoMKgIGlmIChsYW5lcyAm IERQX0VOSEFOQ0VEX0ZSQU1FX0NBUCkKPj4+PiArwqDCoMKgwqDCoMKgwqAgZGF0YS0+ZW5haGFu Y2VkX2ZyYW1lX2NhcCA9IHRydWU7Cj4+Pj4gKwo+Pj4+ICvCoMKgwqAgZXJyID0gZHJtX2RwX2Rw Y2RfcmVhZGIoYXV4LCBEUF9QSFlfVEVTVF9QQVRURVJOLAo+Pj4+ICZkYXRhLT5waHlfcGF0dGVy bik7Cj4+Pj4gK8KgwqDCoCBpZiAoZXJyIDwgMCkKPj4+PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJu IGVycjsKPj4+PiArCj4+Pj4gK8KgwqDCoCBzd2l0Y2ggKGRhdGEtPnBoeV9wYXR0ZXJuKSB7Cj4+ Pj4gK8KgwqDCoCBjYXNlIERQX1BIWV9URVNUX1BBVFRFUk5fODBCSVRfQ1VTVE9NOgo+Pj4+ICvC oMKgwqDCoMKgwqDCoCBlcnIgPSBkcm1fZHBfZHBjZF9yZWFkKGF1eCwgRFBfVEVTVF84MEJJVF9D VVNUT01fUEFUVEVSTl83XzAsCj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgICZkYXRhLT5jdXN0b204MCwgMTApOwo+Pj4gVXNpbmcgc2l6ZW9mKGRhdGEt PmN1c3RvbTgwKSBtaWdodCBiZSBzYWZlci4KPj4+Cj4+Pj4gK8KgwqDCoMKgwqDCoMKgIGlmIChl cnIgPCAwKQo+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiBlcnI7Cj4+Pj4gKwo+ Pj4+ICvCoMKgwqDCoMKgwqDCoCBicmVhazsKPj4+PiArwqDCoMKgIGNhc2UgRFBfUEhZX1RFU1Rf UEFUVEVSTl9DUDI1MjA6Cj4+Pj4gK8KgwqDCoMKgwqDCoMKgIGVyciA9IGRybV9kcF9kcGNkX3Jl YWQoYXV4LCBEUF9URVNUX0hCUjJfU0NSQU1CTEVSX1JFU0VULAo+Pj4+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmZGF0YS0+aGJyMl9yZXNldCwgMik7Cj4+ PiBTYW1lIGhlcmUsIHVzaW5nIHNpemVvZihkYXRhLT5oYnIyX3Jlc2V0KS4KPj4+Cj4+Pj4gK8Kg wqDCoMKgwqDCoMKgIGlmIChlcnIgPCAwKQo+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJl dHVybiBlcnI7Cj4+Pj4gK8KgwqDCoCB9Cj4+Pj4gKwo+Pj4+ICvCoMKgwqAgcmV0dXJuIDA7Cj4+ Pj4gK30KPj4+PiArRVhQT1JUX1NZTUJPTChkcm1fZHBfZ2V0X3BoeV90ZXN0X3BhdHRlcm4pOwo+ Pj4+ICsKPj4+PiArLyoqCj4+Pj4gKyAqIGRybV9kcF9zZXRfcGh5X3Rlc3RfcGF0dGVybigpIC0g c2V0IHRoZSBwYXR0ZXJuIHRvIHRoZSBzaW5rLgo+Pj4+ICsgKiBAYXV4OiBEaXNwbGF5UG9ydCBB VVggY2hhbm5lbAo+Pj4+ICsgKiBAZGF0YTogRFAgcGh5IGNvbXBsaWFuY2UgdGVzdCBwYXJhbWV0 ZXJzLgo+Pj4+ICsgKgo+Pj4+ICsgKiBSZXR1cm5zIDAgb24gc3VjY2VzcyBvciBhIG5lZ2F0aXZl IGVycm9yIGNvZGUgb24gZmFpbHVyZS4KPj4+PiArICovCj4+Pj4gK2ludCBkcm1fZHBfc2V0X3Bo eV90ZXN0X3BhdHRlcm4oc3RydWN0IGRybV9kcF9hdXggKmF1eCwKPj4+PiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBkcm1fZHBfcGh5X3Rlc3RfcGFyYW1zICpkYXRhLCB1 OCBkcF9yZXYpCj4+Pj4gK3sKPj4+PiArwqDCoMKgIGludCBlcnIsIGk7Cj4+Pj4gK8KgwqDCoCB1 OCBsaW5rX2NvbmZpZ1syXTsKPj4+PiArwqDCoMKgIHU4IHRlc3RfcGF0dGVybjsKPj4+PiArCj4+ Pj4gK8KgwqDCoCBsaW5rX2NvbmZpZ1swXSA9IGRybV9kcF9saW5rX3JhdGVfdG9fYndfY29kZShk YXRhLT5saW5rX3JhdGUpOwo+Pj4+ICvCoMKgwqAgbGlua19jb25maWdbMV0gPSBkYXRhLT5udW1f bGFuZXM7Cj4+Pj4gK8KgwqDCoCBpZiAoZGF0YS0+ZW5haGFuY2VkX2ZyYW1lX2NhcCkKPj4+PiAr wqDCoMKgwqDCoMKgwqAgbGlua19jb25maWdbMV0gfD0gRFBfTEFORV9DT1VOVF9FTkhBTkNFRF9G UkFNRV9FTjsKPj4+PiArwqDCoMKgIGVyciA9IGRybV9kcF9kcGNkX3dyaXRlKGF1eCwgRFBfTElO S19CV19TRVQsIGxpbmtfY29uZmlnLCAyKTsKPj4+PiArwqDCoMKgIGlmIChlcnIgPCAwKQo+Pj4+ ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gZXJyOwo+Pj4+ICsKPj4+PiArwqDCoMKgIHRlc3RfcGF0 dGVybiA9IGRhdGEtPnBoeV9wYXR0ZXJuOwo+Pj4+ICvCoMKgwqAgaWYgKGRwX3JldiA8IDB4MTIp IHsKPj4+PiArwqDCoMKgwqDCoMKgwqAgdGVzdF9wYXR0ZXJuID0gKHRlc3RfcGF0dGVybiA8PCAy KSAmCj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBEUF9MSU5LX1FV QUxfUEFUVEVSTl8xMV9NQVNLOwo+Pj4+ICvCoMKgwqDCoMKgwqDCoCBlcnIgPSBkcm1fZHBfZHBj ZF93cml0ZWIoYXV4LCBEUF9UUkFJTklOR19QQVRURVJOX1NFVCwKPj4+PiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB0ZXN0X3BhdHRlcm4pOwo+Pj4+ICvCoMKgwqDC oMKgwqDCoCBpZiAoZXJyIDwgMCkKPj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4g ZXJyOwo+Pj4+ICvCoMKgwqAgfSBlbHNlIHsKPj4+PiArwqDCoMKgwqDCoMKgwqAgZm9yIChpID0g MDsgaSA8IGRhdGEtPm51bV9sYW5lczsgaSsrKSB7Cj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqAgZXJyID0gZHJtX2RwX2RwY2Rfd3JpdGViKGF1eCwKPj4+PiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERQX0xJTktfUVVBTF9MQU5FMF9TRVQgKyBp LAo+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg dGVzdF9wYXR0ZXJuKTsKPj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAoZXJyIDwgMCkK Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiBlcnI7Cj4+Pj4gK8Kg wqDCoMKgwqDCoMKgIH0KPj4+PiArwqDCoMKgIH0KPj4+PiArCj4+Pj4gK8KgwqDCoCByZXR1cm4g MDsKPj4+PiArfQo+Pj4+ICtFWFBPUlRfU1lNQk9MKGRybV9kcF9zZXRfcGh5X3Rlc3RfcGF0dGVy bik7Cj4+Pj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9kcF9oZWxwZXIuaCBiL2luY2x1 ZGUvZHJtL2RybV9kcF9oZWxwZXIuaAo+Pj4+IGluZGV4IGQ2ZTU2MDg3MGZiMS4uNDJhMzY0NzQ4 MzA4IDEwMDY0NAo+Pj4+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9kcF9oZWxwZXIuaAo+Pj4+ICsr KyBiL2luY2x1ZGUvZHJtL2RybV9kcF9oZWxwZXIuaAo+Pj4+IEBAIC03MDAsNiArNzAwLDE1IEBA Cj4+Pj4gIMKgICMgZGVmaW5lIERQX1RFU1RfQ09VTlRfTUFTS8KgwqDCoMKgwqDCoMKgwqDCoMKg wqAgMHhmCj4+Pj4gIMKgIMKgICNkZWZpbmUgRFBfUEhZX1RFU1RfUEFUVEVSTsKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIDB4MjQ4Cj4+Pj4gKyMgZGVmaW5lIERQX1BIWV9URVNUX1BB VFRFUk5fU0VMX01BU0vCoMKgwqDCoMKgwqAgMHg3Cj4+Pj4gKyMgZGVmaW5lIERQX1BIWV9URVNU X1BBVFRFUk5fTk9ORcKgwqDCoMKgwqDCoMKgwqDCoMKgIDB4MAo+Pj4+ICsjIGRlZmluZSBEUF9Q SFlfVEVTVF9QQVRURVJOX0QxMF8ywqDCoMKgwqDCoMKgwqDCoMKgIDB4MQo+Pj4+ICsjIGRlZmlu ZSBEUF9QSFlfVEVTVF9QQVRURVJOX0VSUk9SX0NPVU5UwqDCoMKgIDB4Mgo+Pj4+ICsjIGRlZmlu ZSBEUF9QSFlfVEVTVF9QQVRURVJOX1BSQlM3wqDCoMKgwqDCoMKgwqDCoMKgIDB4Mwo+Pj4+ICsj IGRlZmluZSBEUF9QSFlfVEVTVF9QQVRURVJOXzgwQklUX0NVU1RPTcKgwqAgMHg0Cj4+Pj4gKyMg ZGVmaW5lIERQX1BIWV9URVNUX1BBVFRFUk5fQ1AyNTIwwqDCoMKgwqDCoMKgwqDCoCAweDUKPj4+ PiArCj4+Pj4gKyNkZWZpbmUgRFBfVEVTVF9IQlIyX1NDUkFNQkxFUl9SRVNFVMKgwqDCoMKgwqDC oMKgIDB4MjRBCj4+Pj4gIMKgICNkZWZpbmUgRFBfVEVTVF84MEJJVF9DVVNUT01fUEFUVEVSTl83 XzDCoMKgwqAgMHgyNTAKPj4+PiAgwqAgI2RlZmluZcKgwqDCoCBEUF9URVNUXzgwQklUX0NVU1RP TV9QQVRURVJOXzE1XzjCoMKgIDB4MjUxCj4+Pj4gIMKgICNkZWZpbmXCoMKgwqAgRFBfVEVTVF84 MEJJVF9DVVNUT01fUEFUVEVSTl8yM18xNsKgIDB4MjUyCj4+Pj4gQEAgLTE1NzAsNCArMTU3OSwy NiBAQCBzdGF0aWMgaW5saW5lIHZvaWQKPj4+PiBkcm1fZHBfY2VjX3Vuc2V0X2VkaWQoc3RydWN0 IGRybV9kcF9hdXggKmF1eCkKPj4+PiAgwqAgwqAgI2VuZGlmCj4+Pj4gIMKgICsvKioKPj4+PiAr ICogc3RydWN0IGRybV9kcF9waHlfdGVzdF9wYXJhbXMgLSBEUCBQaHkgQ29tcGxpYW5jZSBwYXJh bWV0ZXJzCj4+Pj4gKyAqIEBsaW5rOiBMaW5rIGluZm9ybWF0aW9uLgo+Pj4gQGxpbmsgc2VlbXMg dG8gYmUgZnJvbSBhIHByZXZpb3VzIHBhdGNoIHZlcnNpb24uIFBsZWFzZSBkZXNjcmliZQo+Pj4g bGlua19yYXRlIGFuZCBudW1fbGFuZXMgaW5zdGVhZC4KPj4+Cj4+Pj4gKyAqIEBwaHlfcGF0dGVy bjogRFAgUGh5IHRlc3QgcGF0dGVybiBmcm9tIERQQ0QgMHgyNDggKHNpbmspCj4+Pj4gKyAqIEBo YjJfcmVzZXQ6IERQIEhCUjJfQ09NUExJQU5DRV9TQ1JBTUJMRVJfUkVTRVQgZnJvbSBEQ1BECj4+ Pj4gKyAqwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAweDI0QSBhbmQgMHgyNEIgKHNpbmspCj4+Pj4g KyAqIEBjdXN0b204MDogRFAgVGVzdF84MEJJVF9DVVNUT01fUEFUVEVSTiBmcm9tIERQQ0RzIDB4 MjUwCj4+Pj4gKyAqwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB0aHJvdWdoIDB4MjU5Lgo+ Pj4gTWlzc2luZyBkb2MgZm9yIGVuaGFuY2VkX2ZyYW1lX2NhcC4KPj4+Cj4+Pj4gKyAqLwo+Pj4+ ICtzdHJ1Y3QgZHJtX2RwX3BoeV90ZXN0X3BhcmFtcyB7Cj4+Pj4gK8KgwqDCoCBpbnQgbGlua19y YXRlOwo+Pj4gSXMgdGhlcmUgYSByZWFzb24geW91J3JlIG5vdCB1c2luZyB1OCBoZXJlPyBXb3Vs ZCBiZSBuaWNlIHRvIGtlZXAgaXQKPj4+IGNvbnNpc3RlbnQgd2l0aCBudW1fbGFuZXMuCj4+IGxp bmtfcmF0ZSB2YXJpYWJsZSBpcyB1c2VkIGhlcmUgdG8gc3RvcmUgYWN0dWFsIGNsb2NrIHZhbHVl IGFmdGVyCj4+IG11bHRpcGx5aW5nIHdpdGggMjcwMDAgKDAuMjcgZ2Jwcykgd2l0aCBsaW5rLWNv ZGUgdXNpbmcKPj4gZHJtX2RwX2J3X2NvZGVfdG9fbGlua19yYXRlKCkuCj4+IEZvbGxvd2VkIHRo ZSBzYW1lIGFuZCB1OCBtYXliZSBub3QgYmUgc3VmZmljaWVudC4gQWRkZWQgb3RoZXIKPj4gc3Vn Z2VzdGVkIGNoYW5nZXMuIFRoYW5rcyBmb3IgcmV2aWV3Lgo+Pgo+IFRoYXQgbWFrZXMgc2Vuc2Uu IEkgbWlzc2VkIHRoYXQuIEluIHRoYXQgY2FzZSBmZWVsIGZyZWUgdG8gYWRkIG15Cj4gUmV2aWV3 ZWQtYnk6IEhhcnJ5IFdlbnRsYW5kIDxoYXJyeS53ZW50bGFuZEBhbWQuY29tPgoKU3VyZSB3aWxs IGFkZCB5b3VyIHItYiBpbiBuZXh0IHZlcnNpb24uIFRoYW5rcy4KClJlZ2FyZHMsCkFuaW1lc2gK Cj4KPiBIYXJyeQo+Cj4+IFJlZ3JhZHMsCj4+IEFuaW1lc2gKPj4KPj4+PiArwqDCoMKgIHU4IG51 bV9sYW5lczsKPj4+PiArwqDCoMKgIHU4IHBoeV9wYXR0ZXJuOwo+Pj4+ICvCoMKgwqAgdTggaGJy Ml9yZXNldFsyXTsKPj4+PiArwqDCoMKgIHU4IGN1c3RvbTgwWzEwXTsKPj4+PiArwqDCoMKgIGJv b2wgZW5haGFuY2VkX2ZyYW1lX2NhcDsKPj4+IFR5cG8uIFNob3VsZCBiZSBlbmhhbnZlZF9mcmFt ZV9jYXAuCj4+Pgo+Pj4gSGFycnkKPj4+Cj4+Pj4gK307Cj4+Pj4gKwo+Pj4+ICtpbnQgZHJtX2Rw X2dldF9waHlfdGVzdF9wYXR0ZXJuKHN0cnVjdCBkcm1fZHBfYXV4ICphdXgsCj4+Pj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgZHJtX2RwX3BoeV90ZXN0X3BhcmFtcyAq ZGF0YSk7Cj4+Pj4gK2ludCBkcm1fZHBfc2V0X3BoeV90ZXN0X3BhdHRlcm4oc3RydWN0IGRybV9k cF9hdXggKmF1eCwKPj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBk cm1fZHBfcGh5X3Rlc3RfcGFyYW1zICpkYXRhLCB1OCBkcF9yZXYpOwo+Pj4+ICDCoCAjZW5kaWYg LyogX0RSTV9EUF9IRUxQRVJfSF8gKi8KPj4+PgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9kcmktZGV2ZWwK 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=-8.3 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 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 8709FC2D0C2 for ; Mon, 30 Dec 2019 16:30:10 +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 5BA3D20718 for ; Mon, 30 Dec 2019 16:30:10 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5BA3D20718 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 6F0E989EA9; Mon, 30 Dec 2019 16:30:09 +0000 (UTC) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 38E7D89EA9; Mon, 30 Dec 2019 16:30:08 +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; 30 Dec 2019 08:30:07 -0800 X-IronPort-AV: E=Sophos;i="5.69,375,1571727600"; d="scan'208";a="213368025" Received: from unknown (HELO [10.66.114.55]) ([10.66.114.55]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 30 Dec 2019 08:30:05 -0800 To: Harry Wentland , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org References: <20191218235324.GI12192@intel.com> <20191223170350.15531-1-animesh.manna@intel.com> <20191223170350.15531-2-animesh.manna@intel.com> <2bf4630b-52f3-138d-9061-766275cbfbe8@amd.com> <93fd1b3e-2c97-2cfb-0e1a-9de86b327451@intel.com> From: "Manna, Animesh" Message-ID: Date: Mon, 30 Dec 2019 22:00:01 +0530 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.3.0 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US Subject: Re: [Intel-gfx] [PATCH v3 2/9] drm/dp: get/set phy compliance pattern 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: jani.nikula@intel.com, nidhi1.gupta@intel.com Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" T24gMzAtMTItMjAxOSAyMTo0MSwgSGFycnkgV2VudGxhbmQgd3JvdGU6Cgo+Cj4gT24gMjAxOS0x Mi0zMCAxMTowNSBhLm0uLCBNYW5uYSwgQW5pbWVzaCB3cm90ZToKPj4gT24gMjQtMTItMjAxOSAw MToyMywgSGFycnkgV2VudGxhbmQgd3JvdGU6Cj4+PiBPbiAyMDE5LTEyLTIzIDEyOjAzIHAubS4s IEFuaW1lc2ggTWFubmEgd3JvdGU6Cj4+Pj4gRHVyaW5nIHBoeSBjb21wbGlhbmNlIGF1dG8gdGVz dCBtb2RlIHNvdXJjZSBuZWVkIHRvIHJlYWQKPj4+PiByZXF1ZXN0ZWQgdGVzdCBwYXR0ZXJuIGZy b20gc2luayB0aHJvdWdoIERQQ0QuIEFmdGVyIHByb2Nlc3NpbmcKPj4+PiB0aGUgcmVxdWVzdCBz b3VyY2UgbmVlZCB0byBzZXQgdGhlIHBhdHRlcm4uIFNvIHNldC9nZXQgbWV0aG9kCj4+Pj4gYWRk ZWQgaW4gZHJtIGxheWVyIGFzIGl0IGlzIERQIHByb3RvY29sLgo+Pj4+Cj4+Pj4gdjI6IEFzIHBl ciByZXZpZXcgZmVlZGJhY2sgZnJvbSBNYW5hc2kgb24gUkZDIHZlcnNpb24sCj4+Pj4gLSBhZGRl ZCBkcCByZXZpc2lvbiBhcyBmdW5jdGlvbiBhcmd1bWVudCBpbiBzZXRfcGh5X3BhdHRlcm4gYXBp Lgo+Pj4+IC0gdXNlZCBpbnQgZm9yIGxpbmtfcmF0ZSBhbmQgdTggZm9yIGxhbmVfY291bnQgdG8g YWxpZ24gd2l0aAo+Pj4+IGV4aXN0aW5nIGNvZGUuCj4+Pj4KPj4+PiBTaWduZWQtb2ZmLWJ5OiBB bmltZXNoIE1hbm5hIDxhbmltZXNoLm1hbm5hQGludGVsLmNvbT4KPj4+PiAtLS0KPj4+PiAgwqAg ZHJpdmVycy9ncHUvZHJtL2RybV9kcF9oZWxwZXIuYyB8IDkzCj4+Pj4gKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrCj4+Pj4gIMKgIGluY2x1ZGUvZHJtL2RybV9kcF9oZWxwZXIuaMKg wqDCoMKgIHwgMzEgKysrKysrKysrKysKPj4+PiAgwqAgMiBmaWxlcyBjaGFuZ2VkLCAxMjQgaW5z ZXJ0aW9ucygrKQo+Pj4+Cj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBf aGVscGVyLmMKPj4+PiBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfaGVscGVyLmMKPj4+PiBpbmRl eCAyYzc4NzBhZWY0NjkuLjkxYzgwOTczYWE4MyAxMDA2NDQKPj4+PiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2RwX2hlbHBlci5jCj4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kcF9o ZWxwZXIuYwo+Pj4+IEBAIC0xMzcxLDMgKzEzNzEsOTYgQEAgaW50Cj4+Pj4gZHJtX2RwX2RzY19z aW5rX3N1cHBvcnRlZF9pbnB1dF9icGNzKGNvbnN0IHU4Cj4+Pj4gZHNjX2RwY2RbRFBfRFNDX1JF Q0VJVkVSX0NBUF9TCj4+Pj4gIMKgwqDCoMKgwqAgcmV0dXJuIG51bV9icGM7Cj4+Pj4gIMKgIH0K Pj4+PiAgwqAgRVhQT1JUX1NZTUJPTChkcm1fZHBfZHNjX3Npbmtfc3VwcG9ydGVkX2lucHV0X2Jw Y3MpOwo+Pj4+ICsKPj4+PiArLyoqCj4+Pj4gKyAqIGRybV9kcF9nZXRfcGh5X3Rlc3RfcGF0dGVy bigpIC0gZ2V0IHRoZSByZXF1ZXN0ZWQgcGF0dGVybiBmcm9tCj4+Pj4gdGhlIHNpbmsuCj4+Pj4g KyAqIEBhdXg6IERpc3BsYXlQb3J0IEFVWCBjaGFubmVsCj4+Pj4gKyAqIEBkYXRhOiBEUCBwaHkg Y29tcGxpYW5jZSB0ZXN0IHBhcmFtZXRlcnMuCj4+Pj4gKyAqCj4+Pj4gKyAqIFJldHVybnMgMCBv biBzdWNjZXNzIG9yIGEgbmVnYXRpdmUgZXJyb3IgY29kZSBvbiBmYWlsdXJlLgo+Pj4+ICsgKi8K Pj4+PiAraW50IGRybV9kcF9nZXRfcGh5X3Rlc3RfcGF0dGVybihzdHJ1Y3QgZHJtX2RwX2F1eCAq YXV4LAo+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IGRybV9kcF9w aHlfdGVzdF9wYXJhbXMgKmRhdGEpCj4+Pj4gK3sKPj4+PiArwqDCoMKgIGludCBlcnI7Cj4+Pj4g K8KgwqDCoCB1OCByYXRlLCBsYW5lczsKPj4+PiArCj4+Pj4gK8KgwqDCoCBlcnIgPSBkcm1fZHBf ZHBjZF9yZWFkYihhdXgsIERQX1RFU1RfTElOS19SQVRFLCAmcmF0ZSk7Cj4+Pj4gK8KgwqDCoCBp ZiAoZXJyIDwgMCkKPj4+PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIGVycjsKPj4+PiArwqDCoMKg IGRhdGEtPmxpbmtfcmF0ZSA9IGRybV9kcF9id19jb2RlX3RvX2xpbmtfcmF0ZShyYXRlKTsKPj4+ PiArCj4+Pj4gK8KgwqDCoCBlcnIgPSBkcm1fZHBfZHBjZF9yZWFkYihhdXgsIERQX1RFU1RfTEFO RV9DT1VOVCwgJmxhbmVzKTsKPj4+PiArwqDCoMKgIGlmIChlcnIgPCAwKQo+Pj4+ICvCoMKgwqDC oMKgwqDCoCByZXR1cm4gZXJyOwo+Pj4+ICvCoMKgwqAgZGF0YS0+bnVtX2xhbmVzID0gbGFuZXMg JiBEUF9NQVhfTEFORV9DT1VOVF9NQVNLOwo+Pj4+ICsKPj4+PiArwqDCoMKgIGlmIChsYW5lcyAm IERQX0VOSEFOQ0VEX0ZSQU1FX0NBUCkKPj4+PiArwqDCoMKgwqDCoMKgwqAgZGF0YS0+ZW5haGFu Y2VkX2ZyYW1lX2NhcCA9IHRydWU7Cj4+Pj4gKwo+Pj4+ICvCoMKgwqAgZXJyID0gZHJtX2RwX2Rw Y2RfcmVhZGIoYXV4LCBEUF9QSFlfVEVTVF9QQVRURVJOLAo+Pj4+ICZkYXRhLT5waHlfcGF0dGVy bik7Cj4+Pj4gK8KgwqDCoCBpZiAoZXJyIDwgMCkKPj4+PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJu IGVycjsKPj4+PiArCj4+Pj4gK8KgwqDCoCBzd2l0Y2ggKGRhdGEtPnBoeV9wYXR0ZXJuKSB7Cj4+ Pj4gK8KgwqDCoCBjYXNlIERQX1BIWV9URVNUX1BBVFRFUk5fODBCSVRfQ1VTVE9NOgo+Pj4+ICvC oMKgwqDCoMKgwqDCoCBlcnIgPSBkcm1fZHBfZHBjZF9yZWFkKGF1eCwgRFBfVEVTVF84MEJJVF9D VVNUT01fUEFUVEVSTl83XzAsCj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgICZkYXRhLT5jdXN0b204MCwgMTApOwo+Pj4gVXNpbmcgc2l6ZW9mKGRhdGEt PmN1c3RvbTgwKSBtaWdodCBiZSBzYWZlci4KPj4+Cj4+Pj4gK8KgwqDCoMKgwqDCoMKgIGlmIChl cnIgPCAwKQo+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiBlcnI7Cj4+Pj4gKwo+ Pj4+ICvCoMKgwqDCoMKgwqDCoCBicmVhazsKPj4+PiArwqDCoMKgIGNhc2UgRFBfUEhZX1RFU1Rf UEFUVEVSTl9DUDI1MjA6Cj4+Pj4gK8KgwqDCoMKgwqDCoMKgIGVyciA9IGRybV9kcF9kcGNkX3Jl YWQoYXV4LCBEUF9URVNUX0hCUjJfU0NSQU1CTEVSX1JFU0VULAo+Pj4+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmZGF0YS0+aGJyMl9yZXNldCwgMik7Cj4+ PiBTYW1lIGhlcmUsIHVzaW5nIHNpemVvZihkYXRhLT5oYnIyX3Jlc2V0KS4KPj4+Cj4+Pj4gK8Kg wqDCoMKgwqDCoMKgIGlmIChlcnIgPCAwKQo+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJl dHVybiBlcnI7Cj4+Pj4gK8KgwqDCoCB9Cj4+Pj4gKwo+Pj4+ICvCoMKgwqAgcmV0dXJuIDA7Cj4+ Pj4gK30KPj4+PiArRVhQT1JUX1NZTUJPTChkcm1fZHBfZ2V0X3BoeV90ZXN0X3BhdHRlcm4pOwo+ Pj4+ICsKPj4+PiArLyoqCj4+Pj4gKyAqIGRybV9kcF9zZXRfcGh5X3Rlc3RfcGF0dGVybigpIC0g c2V0IHRoZSBwYXR0ZXJuIHRvIHRoZSBzaW5rLgo+Pj4+ICsgKiBAYXV4OiBEaXNwbGF5UG9ydCBB VVggY2hhbm5lbAo+Pj4+ICsgKiBAZGF0YTogRFAgcGh5IGNvbXBsaWFuY2UgdGVzdCBwYXJhbWV0 ZXJzLgo+Pj4+ICsgKgo+Pj4+ICsgKiBSZXR1cm5zIDAgb24gc3VjY2VzcyBvciBhIG5lZ2F0aXZl IGVycm9yIGNvZGUgb24gZmFpbHVyZS4KPj4+PiArICovCj4+Pj4gK2ludCBkcm1fZHBfc2V0X3Bo eV90ZXN0X3BhdHRlcm4oc3RydWN0IGRybV9kcF9hdXggKmF1eCwKPj4+PiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBkcm1fZHBfcGh5X3Rlc3RfcGFyYW1zICpkYXRhLCB1 OCBkcF9yZXYpCj4+Pj4gK3sKPj4+PiArwqDCoMKgIGludCBlcnIsIGk7Cj4+Pj4gK8KgwqDCoCB1 OCBsaW5rX2NvbmZpZ1syXTsKPj4+PiArwqDCoMKgIHU4IHRlc3RfcGF0dGVybjsKPj4+PiArCj4+ Pj4gK8KgwqDCoCBsaW5rX2NvbmZpZ1swXSA9IGRybV9kcF9saW5rX3JhdGVfdG9fYndfY29kZShk YXRhLT5saW5rX3JhdGUpOwo+Pj4+ICvCoMKgwqAgbGlua19jb25maWdbMV0gPSBkYXRhLT5udW1f bGFuZXM7Cj4+Pj4gK8KgwqDCoCBpZiAoZGF0YS0+ZW5haGFuY2VkX2ZyYW1lX2NhcCkKPj4+PiAr wqDCoMKgwqDCoMKgwqAgbGlua19jb25maWdbMV0gfD0gRFBfTEFORV9DT1VOVF9FTkhBTkNFRF9G UkFNRV9FTjsKPj4+PiArwqDCoMKgIGVyciA9IGRybV9kcF9kcGNkX3dyaXRlKGF1eCwgRFBfTElO S19CV19TRVQsIGxpbmtfY29uZmlnLCAyKTsKPj4+PiArwqDCoMKgIGlmIChlcnIgPCAwKQo+Pj4+ ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gZXJyOwo+Pj4+ICsKPj4+PiArwqDCoMKgIHRlc3RfcGF0 dGVybiA9IGRhdGEtPnBoeV9wYXR0ZXJuOwo+Pj4+ICvCoMKgwqAgaWYgKGRwX3JldiA8IDB4MTIp IHsKPj4+PiArwqDCoMKgwqDCoMKgwqAgdGVzdF9wYXR0ZXJuID0gKHRlc3RfcGF0dGVybiA8PCAy KSAmCj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBEUF9MSU5LX1FV QUxfUEFUVEVSTl8xMV9NQVNLOwo+Pj4+ICvCoMKgwqDCoMKgwqDCoCBlcnIgPSBkcm1fZHBfZHBj ZF93cml0ZWIoYXV4LCBEUF9UUkFJTklOR19QQVRURVJOX1NFVCwKPj4+PiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB0ZXN0X3BhdHRlcm4pOwo+Pj4+ICvCoMKgwqDC oMKgwqDCoCBpZiAoZXJyIDwgMCkKPj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4g ZXJyOwo+Pj4+ICvCoMKgwqAgfSBlbHNlIHsKPj4+PiArwqDCoMKgwqDCoMKgwqAgZm9yIChpID0g MDsgaSA8IGRhdGEtPm51bV9sYW5lczsgaSsrKSB7Cj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqAgZXJyID0gZHJtX2RwX2RwY2Rfd3JpdGViKGF1eCwKPj4+PiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERQX0xJTktfUVVBTF9MQU5FMF9TRVQgKyBp LAo+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg dGVzdF9wYXR0ZXJuKTsKPj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAoZXJyIDwgMCkK Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiBlcnI7Cj4+Pj4gK8Kg wqDCoMKgwqDCoMKgIH0KPj4+PiArwqDCoMKgIH0KPj4+PiArCj4+Pj4gK8KgwqDCoCByZXR1cm4g MDsKPj4+PiArfQo+Pj4+ICtFWFBPUlRfU1lNQk9MKGRybV9kcF9zZXRfcGh5X3Rlc3RfcGF0dGVy bik7Cj4+Pj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9kcF9oZWxwZXIuaCBiL2luY2x1 ZGUvZHJtL2RybV9kcF9oZWxwZXIuaAo+Pj4+IGluZGV4IGQ2ZTU2MDg3MGZiMS4uNDJhMzY0NzQ4 MzA4IDEwMDY0NAo+Pj4+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9kcF9oZWxwZXIuaAo+Pj4+ICsr KyBiL2luY2x1ZGUvZHJtL2RybV9kcF9oZWxwZXIuaAo+Pj4+IEBAIC03MDAsNiArNzAwLDE1IEBA Cj4+Pj4gIMKgICMgZGVmaW5lIERQX1RFU1RfQ09VTlRfTUFTS8KgwqDCoMKgwqDCoMKgwqDCoMKg wqAgMHhmCj4+Pj4gIMKgIMKgICNkZWZpbmUgRFBfUEhZX1RFU1RfUEFUVEVSTsKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIDB4MjQ4Cj4+Pj4gKyMgZGVmaW5lIERQX1BIWV9URVNUX1BB VFRFUk5fU0VMX01BU0vCoMKgwqDCoMKgwqAgMHg3Cj4+Pj4gKyMgZGVmaW5lIERQX1BIWV9URVNU X1BBVFRFUk5fTk9ORcKgwqDCoMKgwqDCoMKgwqDCoMKgIDB4MAo+Pj4+ICsjIGRlZmluZSBEUF9Q SFlfVEVTVF9QQVRURVJOX0QxMF8ywqDCoMKgwqDCoMKgwqDCoMKgIDB4MQo+Pj4+ICsjIGRlZmlu ZSBEUF9QSFlfVEVTVF9QQVRURVJOX0VSUk9SX0NPVU5UwqDCoMKgIDB4Mgo+Pj4+ICsjIGRlZmlu ZSBEUF9QSFlfVEVTVF9QQVRURVJOX1BSQlM3wqDCoMKgwqDCoMKgwqDCoMKgIDB4Mwo+Pj4+ICsj IGRlZmluZSBEUF9QSFlfVEVTVF9QQVRURVJOXzgwQklUX0NVU1RPTcKgwqAgMHg0Cj4+Pj4gKyMg ZGVmaW5lIERQX1BIWV9URVNUX1BBVFRFUk5fQ1AyNTIwwqDCoMKgwqDCoMKgwqDCoCAweDUKPj4+ PiArCj4+Pj4gKyNkZWZpbmUgRFBfVEVTVF9IQlIyX1NDUkFNQkxFUl9SRVNFVMKgwqDCoMKgwqDC oMKgIDB4MjRBCj4+Pj4gIMKgICNkZWZpbmUgRFBfVEVTVF84MEJJVF9DVVNUT01fUEFUVEVSTl83 XzDCoMKgwqAgMHgyNTAKPj4+PiAgwqAgI2RlZmluZcKgwqDCoCBEUF9URVNUXzgwQklUX0NVU1RP TV9QQVRURVJOXzE1XzjCoMKgIDB4MjUxCj4+Pj4gIMKgICNkZWZpbmXCoMKgwqAgRFBfVEVTVF84 MEJJVF9DVVNUT01fUEFUVEVSTl8yM18xNsKgIDB4MjUyCj4+Pj4gQEAgLTE1NzAsNCArMTU3OSwy NiBAQCBzdGF0aWMgaW5saW5lIHZvaWQKPj4+PiBkcm1fZHBfY2VjX3Vuc2V0X2VkaWQoc3RydWN0 IGRybV9kcF9hdXggKmF1eCkKPj4+PiAgwqAgwqAgI2VuZGlmCj4+Pj4gIMKgICsvKioKPj4+PiAr ICogc3RydWN0IGRybV9kcF9waHlfdGVzdF9wYXJhbXMgLSBEUCBQaHkgQ29tcGxpYW5jZSBwYXJh bWV0ZXJzCj4+Pj4gKyAqIEBsaW5rOiBMaW5rIGluZm9ybWF0aW9uLgo+Pj4gQGxpbmsgc2VlbXMg dG8gYmUgZnJvbSBhIHByZXZpb3VzIHBhdGNoIHZlcnNpb24uIFBsZWFzZSBkZXNjcmliZQo+Pj4g bGlua19yYXRlIGFuZCBudW1fbGFuZXMgaW5zdGVhZC4KPj4+Cj4+Pj4gKyAqIEBwaHlfcGF0dGVy bjogRFAgUGh5IHRlc3QgcGF0dGVybiBmcm9tIERQQ0QgMHgyNDggKHNpbmspCj4+Pj4gKyAqIEBo YjJfcmVzZXQ6IERQIEhCUjJfQ09NUExJQU5DRV9TQ1JBTUJMRVJfUkVTRVQgZnJvbSBEQ1BECj4+ Pj4gKyAqwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAweDI0QSBhbmQgMHgyNEIgKHNpbmspCj4+Pj4g KyAqIEBjdXN0b204MDogRFAgVGVzdF84MEJJVF9DVVNUT01fUEFUVEVSTiBmcm9tIERQQ0RzIDB4 MjUwCj4+Pj4gKyAqwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB0aHJvdWdoIDB4MjU5Lgo+ Pj4gTWlzc2luZyBkb2MgZm9yIGVuaGFuY2VkX2ZyYW1lX2NhcC4KPj4+Cj4+Pj4gKyAqLwo+Pj4+ ICtzdHJ1Y3QgZHJtX2RwX3BoeV90ZXN0X3BhcmFtcyB7Cj4+Pj4gK8KgwqDCoCBpbnQgbGlua19y YXRlOwo+Pj4gSXMgdGhlcmUgYSByZWFzb24geW91J3JlIG5vdCB1c2luZyB1OCBoZXJlPyBXb3Vs ZCBiZSBuaWNlIHRvIGtlZXAgaXQKPj4+IGNvbnNpc3RlbnQgd2l0aCBudW1fbGFuZXMuCj4+IGxp bmtfcmF0ZSB2YXJpYWJsZSBpcyB1c2VkIGhlcmUgdG8gc3RvcmUgYWN0dWFsIGNsb2NrIHZhbHVl IGFmdGVyCj4+IG11bHRpcGx5aW5nIHdpdGggMjcwMDAgKDAuMjcgZ2Jwcykgd2l0aCBsaW5rLWNv ZGUgdXNpbmcKPj4gZHJtX2RwX2J3X2NvZGVfdG9fbGlua19yYXRlKCkuCj4+IEZvbGxvd2VkIHRo ZSBzYW1lIGFuZCB1OCBtYXliZSBub3QgYmUgc3VmZmljaWVudC4gQWRkZWQgb3RoZXIKPj4gc3Vn Z2VzdGVkIGNoYW5nZXMuIFRoYW5rcyBmb3IgcmV2aWV3Lgo+Pgo+IFRoYXQgbWFrZXMgc2Vuc2Uu IEkgbWlzc2VkIHRoYXQuIEluIHRoYXQgY2FzZSBmZWVsIGZyZWUgdG8gYWRkIG15Cj4gUmV2aWV3 ZWQtYnk6IEhhcnJ5IFdlbnRsYW5kIDxoYXJyeS53ZW50bGFuZEBhbWQuY29tPgoKU3VyZSB3aWxs IGFkZCB5b3VyIHItYiBpbiBuZXh0IHZlcnNpb24uIFRoYW5rcy4KClJlZ2FyZHMsCkFuaW1lc2gK Cj4KPiBIYXJyeQo+Cj4+IFJlZ3JhZHMsCj4+IEFuaW1lc2gKPj4KPj4+PiArwqDCoMKgIHU4IG51 bV9sYW5lczsKPj4+PiArwqDCoMKgIHU4IHBoeV9wYXR0ZXJuOwo+Pj4+ICvCoMKgwqAgdTggaGJy Ml9yZXNldFsyXTsKPj4+PiArwqDCoMKgIHU4IGN1c3RvbTgwWzEwXTsKPj4+PiArwqDCoMKgIGJv b2wgZW5haGFuY2VkX2ZyYW1lX2NhcDsKPj4+IFR5cG8uIFNob3VsZCBiZSBlbmhhbnZlZF9mcmFt ZV9jYXAuCj4+Pgo+Pj4gSGFycnkKPj4+Cj4+Pj4gK307Cj4+Pj4gKwo+Pj4+ICtpbnQgZHJtX2Rw X2dldF9waHlfdGVzdF9wYXR0ZXJuKHN0cnVjdCBkcm1fZHBfYXV4ICphdXgsCj4+Pj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgZHJtX2RwX3BoeV90ZXN0X3BhcmFtcyAq ZGF0YSk7Cj4+Pj4gK2ludCBkcm1fZHBfc2V0X3BoeV90ZXN0X3BhdHRlcm4oc3RydWN0IGRybV9k cF9hdXggKmF1eCwKPj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBk cm1fZHBfcGh5X3Rlc3RfcGFyYW1zICpkYXRhLCB1OCBkcF9yZXYpOwo+Pj4+ICDCoCAjZW5kaWYg LyogX0RSTV9EUF9IRUxQRVJfSF8gKi8KPj4+PgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngK