From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH v6] drm: Helper for lspcon in drm_dp_dual_mode Date: Tue, 18 Oct 2016 09:57:55 +0300 Message-ID: <87bmyixhxo.fsf@intel.com> References: <1476720277-16298-1-git-send-email-shashank.sharma@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 ESMTPS id C55BF6E649 for ; Tue, 18 Oct 2016 06:58:00 +0000 (UTC) In-Reply-To: <1476720277-16298-1-git-send-email-shashank.sharma@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Shashank Sharma , dri-devel@lists.freedesktop.org, airlied@redhat.com Cc: daniel.vetter@intel.com List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCAxNyBPY3QgMjAxNiwgU2hhc2hhbmsgU2hhcm1hIDxzaGFzaGFuay5zaGFybWFAaW50 ZWwuY29tPiB3cm90ZToKPiBSZWFkbWU6IHsKPiAgCVRoaXMgcGF0Y2gtc2VyaWVzIGdvdCBhcHBy b3ZlZCBpbiBkcm0taW50ZWwgbWFpbGluZyBsaXN0IGFscmVhZHkuCj4gIAlTZW5kaW5nIHRoaXMg b25lIHBhdGNoIHRvIGRyaS1kZXZlbCB0b28sIGFzIHRoaXMgcGF0Y2ggdG91Y2hlcyB0aGUKPiAg CWRybSBsYXllciBkcF9kdWFsX21vZGVfaGVscGVyIGltcGxlbWVudGF0aW9uLiBQbGVzZSBwcm92 aWRlIGFuIGFjawo+ICAJc28gdGhhdCB3ZSBjYW4gbWVyZ2UgdGhpcyBpbiBpbnRlbC1nZnggdHJl ZS4KPiAgCVRoZSBmdWxsIHBhdGNoIHNlcmllcyBhbmQgcmV2aWV3IGhpc3RvcnkgYXQ6Cj4gIAlo dHRwczovL3BhdGNod29yay5mcmVlZGVza3RvcC5vcmcvcGF0Y2gvMTE1NzY5Lwo+IH0KCkZvciBm dXR1cmUgcmVmZXJlbmNlLCB5b3UgY2FuIGFkZCBzdWNoIG5vdGVzIGFmdGVyIHRoZSBTaWduZWQt b2ZmLWJ5CmV0Yy4gdGFncyB1bmRlciBhICItLS0iIGxpbmUsIGJlZm9yZSB0aGUgIi0tLSIgbGlu ZSBmb3IgdGhlCmRpZmZzdGF0LiBJdCdsbCBiZSBhdXRvbWFnaWNhbGx5IHJlbW92ZWQgYXQgZ2l0 IGFtLgoKQlIsCkphbmkuCgo+Cj4gVGhpcyBwYXRjaCBhZGRzIGxzcGNvbiBzdXBwb3J0IGluIGRw X2R1YWxfbW9kZSBoZWxwZXIuCj4gbHNwY29uIGlzIGVzc2VudGlhbGx5IGEgZHAtPmhkbWkgZG9u Z2xlIHdpdGggZHVhbCBwZXJzb25hbGl0eS4KPgo+IExTIG1vZGU6IEl0IHdvcmtzIGFzIGEgcGFz c2l2ZSBkb25nbGUsIGJ5IGxldmVsIHNoaWZ0aW5nIERQKysKPiBzaWduYWxzIHRvIEhETUkgc2ln bmFscywgaW4gTFMgbW9kZS4KPiBQQ09OIG1vZGU6IEl0IHdvcmtzIGFzIGEgcHJvdG9jb2wgY29u dmVydGVyIGFjdGl2ZSBkb25nbGUKPiBpbiBwY29uIG1vZGUsIGJ5IGNvbnZlcnRpbmcgRFArKyBv dXRwdXRzIHRvIEhETUkgMi4wIG91dHB1dHMuCj4KPiBUaGlzIHBhdGNoIGFkZHMgc3VwcG9ydCBm b3IgbHNwY29uIGRldGVjdGlvbiBhbmQgbW9kZSBzZXQKPiBzd2l0Y2ggb3BlcmF0aW9ucywgYXMg YSBkcCBkdWFsIG1vZGUgZG9uZ2xlLgo+Cj4gdjI6IEFkZHJlc3NlZCByZXZpZXcgY29tbWVudHMg ZnJvbSBWaWxsZQo+IC0gYWRkIGFkYXB0b3IgaWQgZm9yIGxzcGNvbiBkZXZpY2VzICgweDA4KSwg dXNlIGl0IHRvIGlkZW50aWZ5IGxzcGNvbgo+IC0gY2hhbmdlIGZ1bmN0aW9uIG5hbWVzCj4gICBv bGQ6IGRybV9sc3Bjb25fZ2V0X2N1cnJlbnRfbW9kZS9kcm1fbHNwY29uX2NoYW5nZV9tb2RlCj4g ICBuZXc6IGRybV9sc3Bjb25fZ2V0X21vZGUvZHJtX2xzcGNvbl9zZXRfbW9kZQo+IC0gY2hhbmdl IGRybV9sc3Bjb25fZ2V0X21vZGUgdHlwZSB0byBpbnQsIHRvIG1hdGNoCj4gICBkcm1fZHBfZHVh bF9tb2RlX2dldF90bWRzX291dHB1dAo+IC0gY2hhbmdlICdlcnInIHRvICdyZXQnIHRvIG1hdGNo IHRoZSByZXN0IG9mIHRoZSBmdW5jdGlvbnMKPiAtIHJlbW92ZSBwb2ludGxlc3MgdHlwZWNhc3Rp bmcgZHVyaW5nIGNhbGwgdG8gZHVhbF9tb2RlX3JlYWQKPiAtIGZpeCB0aGUgYnV0IHdoaWxlIHNl dHRpbmcgdmFsdWUgb2YgZGF0YSwgd2hpbGUgd3JpdGluZyBsc3Bjb24gbW9kZQo+IC0gZml4IGlu ZGVudGF0aW9uCj4gLSBjaGFuZ2UgbWRlbGF5KDEwKSAtPiBtc2xlZXAoMTApCj4gLSByZXR1cm4g RVRJTUVET1VUIGluc3RlYWQgb2YgRUZBVUxULCB3aGVuIGxzcGNvbiBtb2RlIGNoYW5nZSB0aW1l cyBvdXQKPiAtIEFkZCBhbiBlbXB0eSBsaW5lIHRvIHNlcGFyYXRlIHN0ZCByZWdzIG1hY3JvcyBh bmQgbHNwY29uIHJlZ3MgbWFjcm9zCj4gICBJbmRlbnQgYml0IGRlZmluaXRpb24KPgo+IHYzOiBB ZGRyZXNzZWQgcmV2aWV3IGNvbW1lbnRzIGZyb20gUm9kcmlnbwo+IC0gY2hhbmdlIG1hY3JvIG5h bWUgZnJvbSBEUF9EVUFMX01PREVfVFlQRV9MU1BDT04gdG8KPiAgIERQX0RVQUxfTU9ERV9UWVBF X0hBU19EUENEIGZvciBiZXR0ZXIgcmVhZGFiaWxpdHkKPiAtIGNoYW5nZSBtYWNybyBuYW1lIGZy b20gRFBfRFVBTF9NT0RFX0xTUENPTl9NT0RFX1BDT04gdG8KPiAgIERQX0RVQUxfTU9ERV9MU1BD T05fTU9ERV9QQ09OIGZvciBiZXR0ZXIgcmVhZGFiaWxpdHkKPiAtIGFkZCBjb21tZW50IGZvciBN Q0Egc3BlY2lmaWMgb2Zmc2V0cyBsaWtlIDB4NDAgYW5kIDB4NDEKPiAtIHJlbW92ZSBEUF9EVUFM X01PREVfUkVWX1RZUEUyIGNoZWNrIHdoaWxlIGNoZWNraW5nIGxzcGNvbiBhZGFwdGVyIGlkCj4K PiB2NDogQWRkcmVzc2VkIHJldmlldyBjb21tZW50cyBmcm9tIFZpbGxlCj4gLSBGaXhlZCBpbmRl bnRhdGlvbiBhdCBmZXcgcGxhY2VzCj4gLSBzL2N1cnJlbnRfbW9kZS9tb2RlCj4gLSBzL3JlcWRf bW9kZS9tb2RlCj4gLSByZW1vdmUgdW5uZWNlc3Nhcnkgdm9pZCogY2FzdAo+IC0gcmVtb3ZlIGRy bV9lZGlkLmggZnJvbSBpbmNsdWRlcwo+IC0gQWRkIGEgY29tbWVudCBmb3IgX0hBU19EUENECj4g LSBGaXggZW51bSBkZXNjcmlwdGlvbiwgZm9yIGxzcGNvbl9tb2RlLgo+Cj4gdjU6IFJlYmFzZQo+ IHY2OiBSZWJhc2UKPgo+IFNpZ25lZC1vZmYtYnk6IFNoYXNoYW5rIFNoYXJtYSA8c2hhc2hhbmsu c2hhcm1hQGludGVsLmNvbT4KPiBSZXZpZXdlZC1ieTogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZp dmlAaW50ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2RwX2R1YWxfbW9kZV9o ZWxwZXIuYyB8IDEwMyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgaW5jbHVkZS9k cm0vZHJtX2RwX2R1YWxfbW9kZV9oZWxwZXIuaCAgICAgfCAgMjYgKysrKysrKysKPiAgMiBmaWxl cyBjaGFuZ2VkLCAxMjkgaW5zZXJ0aW9ucygrKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9kcm1fZHBfZHVhbF9tb2RlX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kcF9k dWFsX21vZGVfaGVscGVyLmMKPiBpbmRleCBhN2IyYTc1Li5hN2FlYjFlIDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfZHVhbF9tb2RlX2hlbHBlci5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2RybV9kcF9kdWFsX21vZGVfaGVscGVyLmMKPiBAQCAtMTQ4LDYgKzE0OCwxNCBA QCBzdGF0aWMgYm9vbCBpc190eXBlMl9hZGFwdG9yKHVpbnQ4X3QgYWRhcHRvcl9pZCkKPiAgCQkJ ICAgICAgRFBfRFVBTF9NT0RFX1JFVl9UWVBFMik7Cj4gIH0KPiAgCj4gK2Jvb2wgaXNfbHNwY29u X2FkYXB0b3IoY29uc3QgY2hhciBoZG1pX2lkW0RQX0RVQUxfTU9ERV9IRE1JX0lEX0xFTl0sCj4g Kwljb25zdCB1aW50OF90IGFkYXB0b3JfaWQpCj4gK3sKPiArCXJldHVybiBpc19oZG1pX2FkYXB0 b3IoaGRtaV9pZCkgJiYKPiArCQkoYWRhcHRvcl9pZCA9PSAoRFBfRFVBTF9NT0RFX1RZUEVfVFlQ RTIgfAo+ICsJCSBEUF9EVUFMX01PREVfVFlQRV9IQVNfRFBDRCkpOwo+ICt9Cj4gKwo+ICAvKioK PiAgICogZHJtX2RwX2R1YWxfbW9kZV9kZXRlY3QgLSBJZGVudGlmeSB0aGUgRFAgZHVhbCBtb2Rl IGFkYXB0b3IKPiAgICogQGFkYXB0ZXI6IEkyQyBhZGFwdGVyIGZvciB0aGUgRERDIGJ1cwo+IEBA IC0yMDMsNiArMjExLDggQEAgZW51bSBkcm1fZHBfZHVhbF9tb2RlX3R5cGUgZHJtX2RwX2R1YWxf bW9kZV9kZXRlY3Qoc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyKQo+ICAJcmV0ID0gZHJtX2Rw X2R1YWxfbW9kZV9yZWFkKGFkYXB0ZXIsIERQX0RVQUxfTU9ERV9BREFQVE9SX0lELAo+ICAJCQkJ ICAgICZhZGFwdG9yX2lkLCBzaXplb2YoYWRhcHRvcl9pZCkpOwo+ICAJaWYgKHJldCA9PSAwKSB7 Cj4gKwkJaWYgKGlzX2xzcGNvbl9hZGFwdG9yKGhkbWlfaWQsIGFkYXB0b3JfaWQpKQo+ICsJCQly ZXR1cm4gRFJNX0RQX0RVQUxfTU9ERV9MU1BDT047Cj4gIAkJaWYgKGlzX3R5cGUyX2FkYXB0b3Io YWRhcHRvcl9pZCkpIHsKPiAgCQkJaWYgKGlzX2hkbWlfYWRhcHRvcihoZG1pX2lkKSkKPiAgCQkJ CXJldHVybiBEUk1fRFBfRFVBTF9NT0RFX1RZUEUyX0hETUk7Cj4gQEAgLTM2NCwzICszNzQsOTYg QEAgY29uc3QgY2hhciAqZHJtX2RwX2dldF9kdWFsX21vZGVfdHlwZV9uYW1lKGVudW0gZHJtX2Rw X2R1YWxfbW9kZV90eXBlIHR5cGUpCj4gIAl9Cj4gIH0KPiAgRVhQT1JUX1NZTUJPTChkcm1fZHBf Z2V0X2R1YWxfbW9kZV90eXBlX25hbWUpOwo+ICsKPiArLyoqCj4gKyAqIGRybV9sc3Bjb25fZ2V0 X21vZGU6IEdldCBMU1BDT04ncyBjdXJyZW50IG1vZGUgb2Ygb3BlcmF0aW9uIGJ5Cj4gKyAqIGJ5 IHJlYWRpbmcgb2Zmc2V0ICgweDgwLCAweDQxKQo+ICsgKiBAaTJjX2FkYXB0ZXI6IEkyQy1vdmVy LWF1eCBhZGFwdGVyCj4gKyAqIEBjdXJyZW50X21vZGU6IG91dCB2YWlhYmxlLCBjdXJyZW50IGxz cGNvbiBtb2RlIG9mIG9wZXJhdGlvbgo+ICsgKgo+ICsgKiBSZXR1cm5zOgo+ICsgKiAwIG9uIHN1 Y2Nlc3MsIHNldHMgdGhlIGN1cnJlbnRfbW9kZSB2YWx1ZSB0byBhcHByb3ByaWF0ZSBtb2RlCj4g KyAqIC1lcnJvciBvbiBmYWlsdXJlCj4gKyAqLwo+ICtpbnQgZHJtX2xzcGNvbl9nZXRfbW9kZShz dHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIsCj4gKwkJCWVudW0gZHJtX2xzcGNvbl9tb2RlICpt b2RlKQo+ICt7Cj4gKwl1OCBkYXRhOwo+ICsJaW50IHJldCA9IDA7Cj4gKwo+ICsJaWYgKCFtb2Rl KSB7Cj4gKwkJRFJNX0VSUk9SKCJOVUxMIGlucHV0XG4iKTsKPiArCQlyZXR1cm4gLUVJTlZBTDsK PiArCX0KPiArCj4gKwkvKiBSZWFkIFN0YXR1czogaTJjIG92ZXIgYXV4ICovCj4gKwlyZXQgPSBk cm1fZHBfZHVhbF9tb2RlX3JlYWQoYWRhcHRlciwgRFBfRFVBTF9NT0RFX0xTUENPTl9DVVJSRU5U X01PREUsCj4gKwkJCQkgICAgJmRhdGEsIHNpemVvZihkYXRhKSk7Cj4gKwlpZiAocmV0IDwgMCkg ewo+ICsJCURSTV9FUlJPUigiTFNQQ09OIHJlYWQoMHg4MCwgMHg0MSkgZmFpbGVkXG4iKTsKPiAr CQlyZXR1cm4gLUVGQVVMVDsKPiArCX0KPiArCj4gKwlpZiAoZGF0YSAmIERQX0RVQUxfTU9ERV9M U1BDT05fTU9ERV9QQ09OKQo+ICsJCSptb2RlID0gRFJNX0xTUENPTl9NT0RFX1BDT047Cj4gKwll bHNlCj4gKwkJKm1vZGUgPSBEUk1fTFNQQ09OX01PREVfTFM7Cj4gKwlyZXR1cm4gMDsKPiArfQo+ ICtFWFBPUlRfU1lNQk9MKGRybV9sc3Bjb25fZ2V0X21vZGUpOwo+ICsKPiArLyoqCj4gKyAqIGRy bV9sc3Bjb25fY2hhbmdlX21vZGU6IENoYW5nZSBMU1BDT04ncyBtb2RlIG9mIG9wZXJhdGlvbiBi eQo+ICsgKiBieSB3cml0aW5nIG9mZnNldCAoMHg4MCwgMHg0MCkKPiArICogQGkyY19hZGFwdGVy OiBJMkMtb3Zlci1hdXggYWRhcHRlcgo+ICsgKiBAcmVxZF9tb2RlOiByZXF1aXJlZCBtb2RlIG9m IG9wZXJhdGlvbgo+ICsgKgo+ICsgKiBSZXR1cm5zOgo+ICsgKiAwIG9uIHN1Y2Nlc3MsIC1lcnJv ciBvbiBmYWlsdXJlL3RpbWVvdXQKPiArICovCj4gK2ludCBkcm1fbHNwY29uX3NldF9tb2RlKHN0 cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciwKPiArCQkJZW51bSBkcm1fbHNwY29uX21vZGUgbW9k ZSkKPiArewo+ICsJdTggZGF0YSA9IDA7Cj4gKwlpbnQgcmV0Owo+ICsJaW50IHRpbWVfb3V0ID0g MjAwOwo+ICsJZW51bSBkcm1fbHNwY29uX21vZGUgY3VycmVudF9tb2RlOwo+ICsKPiArCWlmICht b2RlID09IERSTV9MU1BDT05fTU9ERV9QQ09OKQo+ICsJCWRhdGEgPSBEUF9EVUFMX01PREVfTFNQ Q09OX01PREVfUENPTjsKPiArCj4gKwkvKiBDaGFuZ2UgbW9kZSAqLwo+ICsJcmV0ID0gZHJtX2Rw X2R1YWxfbW9kZV93cml0ZShhZGFwdGVyLCBEUF9EVUFMX01PREVfTFNQQ09OX01PREVfQ0hBTkdF LAo+ICsJCQkJICAgICAmZGF0YSwgc2l6ZW9mKGRhdGEpKTsKPiArCWlmIChyZXQgPCAwKSB7Cj4g KwkJRFJNX0VSUk9SKCJMU1BDT04gbW9kZSBjaGFuZ2UgZmFpbGVkXG4iKTsKPiArCQlyZXR1cm4g cmV0Owo+ICsJfQo+ICsKPiArCS8qCj4gKwkgKiBDb25maXJtIG1vZGUgY2hhbmdlIGJ5IHJlYWRp bmcgdGhlIHN0YXR1cyBiaXQuCj4gKwkgKiBTb21ldGltZXMsIGl0IHRha2VzIGEgd2hpbGUgdG8g Y2hhbmdlIHRoZSBtb2RlLAo+ICsJICogc28gd2FpdCBhbmQgcmV0cnkgdW50aWwgdGltZSBvdXQg b3IgZG9uZS4KPiArCSAqLwo+ICsJZG8gewo+ICsJCXJldCA9IGRybV9sc3Bjb25fZ2V0X21vZGUo YWRhcHRlciwgJmN1cnJlbnRfbW9kZSk7Cj4gKwkJaWYgKHJldCkgewo+ICsJCQlEUk1fRVJST1Io ImNhbid0IGNvbmZpcm0gTFNQQ09OIG1vZGUgY2hhbmdlXG4iKTsKPiArCQkJcmV0dXJuIHJldDsK PiArCQl9IGVsc2Ugewo+ICsJCQlpZiAoY3VycmVudF9tb2RlICE9IG1vZGUpIHsKPiArCQkJCW1z bGVlcCgxMCk7Cj4gKwkJCQl0aW1lX291dCAtPSAxMDsKPiArCQkJfSBlbHNlIHsKPiArCQkJCURS TV9ERUJVR19LTVMoIkxTUENPTiBtb2RlIGNoYW5nZWQgdG8gJXNcbiIsCj4gKwkJCQkJCW1vZGUg PT0gRFJNX0xTUENPTl9NT0RFX0xTID8KPiArCQkJCQkJIkxTIiA6ICJQQ09OIik7Cj4gKwkJCQly ZXR1cm4gMDsKPiArCQkJfQo+ICsJCX0KPiArCX0gd2hpbGUgKHRpbWVfb3V0KTsKPiArCj4gKwlE Uk1fRVJST1IoIkxTUENPTiBtb2RlIGNoYW5nZSB0aW1lZCBvdXRcbiIpOwo+ICsJcmV0dXJuIC1F VElNRURPVVQ7Cj4gK30KPiArRVhQT1JUX1NZTUJPTChkcm1fbHNwY29uX3NldF9tb2RlKTsKPiBk aWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2RwX2R1YWxfbW9kZV9oZWxwZXIuaCBiL2luY2x1 ZGUvZHJtL2RybV9kcF9kdWFsX21vZGVfaGVscGVyLmgKPiBpbmRleCBlOGE5ZGZkLi41NTY3Nzcw IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9kcF9kdWFsX21vZGVfaGVscGVyLmgKPiAr KysgYi9pbmNsdWRlL2RybS9kcm1fZHBfZHVhbF9tb2RlX2hlbHBlci5oCj4gQEAgLTQwLDYgKzQw LDggQEAKPiAgI2RlZmluZSAgRFBfRFVBTF9NT0RFX1JFVl9UWVBFMiAweDAwCj4gICNkZWZpbmUg IERQX0RVQUxfTU9ERV9UWVBFX01BU0sgMHhmMAo+ICAjZGVmaW5lICBEUF9EVUFMX01PREVfVFlQ RV9UWVBFMiAweGEwCj4gKy8qIFRoaXMgZmllbGQgaXMgbWFya2VkIHJlc2VydmVkIGluIGR1YWwg bW9kZSBzcGVjLCB1c2VkIGluIExTUENPTiAqLwo+ICsjZGVmaW5lICBEUF9EVUFMX01PREVfVFlQ RV9IQVNfRFBDRCAweDA4Cj4gICNkZWZpbmUgRFBfRFVBTF9NT0RFX0lFRUVfT1VJIDB4MTEgLyog MTEtMTMqLwo+ICAjZGVmaW5lICBEUF9EVUFMX0lFRUVfT1VJX0xFTiAzCj4gICNkZWZpbmUgRFBf RFVBTF9ERVZJQ0VfSUQgMHgxNCAvKiAxNC0xOSAqLwo+IEBAIC01NSw2ICs1NywxMSBAQAo+ICAj ZGVmaW5lICBEUF9EVUFMX01PREVfQ0VDX0VOQUJMRSAweDAxCj4gICNkZWZpbmUgRFBfRFVBTF9N T0RFX0kyQ19TUEVFRF9DVFJMIDB4MjIKPiAgCj4gKy8qIExTUENPTiBzcGVjaWZpYyByZWdpc3Rl cnMsIGRlZmluZWQgYnkgTUNBICovCj4gKyNkZWZpbmUgRFBfRFVBTF9NT0RFX0xTUENPTl9NT0RF X0NIQU5HRQkJMHg0MAo+ICsjZGVmaW5lIERQX0RVQUxfTU9ERV9MU1BDT05fQ1VSUkVOVF9NT0RF CQkweDQxCj4gKyNkZWZpbmUgIERQX0RVQUxfTU9ERV9MU1BDT05fTU9ERV9QQ09OCQkJMHgxCj4g Kwo+ICBzdHJ1Y3QgaTJjX2FkYXB0ZXI7Cj4gIAo+ICBzc2l6ZV90IGRybV9kcF9kdWFsX21vZGVf cmVhZChzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIsCj4gQEAgLTYzLDYgKzcwLDE5IEBAIHNz aXplX3QgZHJtX2RwX2R1YWxfbW9kZV93cml0ZShzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIs Cj4gIAkJCSAgICAgICB1OCBvZmZzZXQsIGNvbnN0IHZvaWQgKmJ1ZmZlciwgc2l6ZV90IHNpemUp Owo+ICAKPiAgLyoqCj4gKyogZW51bSBkcm1fbHNwY29uX21vZGUKPiArKiBAbHNwY29uX21vZGVf bHM6IExldmVsIHNoaWZ0ZXIgbW9kZSBvZiBMU1BDT04KPiArKgl3aGljaCBkcml2ZXMgRFArKyB0 byBIRE1JIDEuNCBjb252ZXJzaW9uLgo+ICsqIEBsc3Bjb25fbW9kZV9wY29uOiBQcm90b2NvbCBj b252ZXJ0ZXIgbW9kZSBvZiBMU1BDT04KPiArKgl3aGljaCBkcml2ZXMgRFArKyB0byBIRE1JIDIu MCBhY3RpdmUgY29udmVyc2lvbi4KPiArKi8KPiArZW51bSBkcm1fbHNwY29uX21vZGUgewo+ICsJ RFJNX0xTUENPTl9NT0RFX0lOVkFMSUQsCj4gKwlEUk1fTFNQQ09OX01PREVfTFMsCj4gKwlEUk1f TFNQQ09OX01PREVfUENPTiwKPiArfTsKPiArCj4gKy8qKgo+ICAgKiBlbnVtIGRybV9kcF9kdWFs X21vZGVfdHlwZSAtIFR5cGUgb2YgdGhlIERQIGR1YWwgbW9kZSBhZGFwdG9yCj4gICAqIEBEUk1f RFBfRFVBTF9NT0RFX05PTkU6IE5vIERQIGR1YWwgbW9kZSBhZGFwdG9yCj4gICAqIEBEUk1fRFBf RFVBTF9NT0RFX1VOS05PV046IENvdWxkIGJlIGVpdGhlciBub25lIG9yIHR5cGUgMSBEVkkgYWRh cHRvcgo+IEBAIC03MCw2ICs5MCw3IEBAIHNzaXplX3QgZHJtX2RwX2R1YWxfbW9kZV93cml0ZShz dHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIsCj4gICAqIEBEUk1fRFBfRFVBTF9NT0RFX1RZUEUx X0hETUk6IFR5cGUgMSBIRE1JIGFkYXB0b3IKPiAgICogQERSTV9EUF9EVUFMX01PREVfVFlQRTJf RFZJOiBUeXBlIDIgRFZJIGFkYXB0b3IKPiAgICogQERSTV9EUF9EVUFMX01PREVfVFlQRTJfSERN STogVHlwZSAyIEhETUkgYWRhcHRvcgo+ICsgKiBARFJNX0RQX0RVQUxfTU9ERV9UWVBFMl9MU1BD T046IExldmVsIHNoaWZ0ZXIgL3Byb3RvY29sIGNvbnZlcnRlcgo+ICAgKi8KPiAgZW51bSBkcm1f ZHBfZHVhbF9tb2RlX3R5cGUgewo+ICAJRFJNX0RQX0RVQUxfTU9ERV9OT05FLAo+IEBAIC03OCw2 ICs5OSw3IEBAIGVudW0gZHJtX2RwX2R1YWxfbW9kZV90eXBlIHsKPiAgCURSTV9EUF9EVUFMX01P REVfVFlQRTFfSERNSSwKPiAgCURSTV9EUF9EVUFMX01PREVfVFlQRTJfRFZJLAo+ICAJRFJNX0RQ X0RVQUxfTU9ERV9UWVBFMl9IRE1JLAo+ICsJRFJNX0RQX0RVQUxfTU9ERV9MU1BDT04sCj4gIH07 Cj4gIAo+ICBlbnVtIGRybV9kcF9kdWFsX21vZGVfdHlwZSBkcm1fZHBfZHVhbF9tb2RlX2RldGVj dChzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIpOwo+IEBAIC04OSw0ICsxMTEsOCBAQCBpbnQg ZHJtX2RwX2R1YWxfbW9kZV9zZXRfdG1kc19vdXRwdXQoZW51bSBkcm1fZHBfZHVhbF9tb2RlX3R5 cGUgdHlwZSwKPiAgCQkJCSAgICAgc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyLCBib29sIGVu YWJsZSk7Cj4gIGNvbnN0IGNoYXIgKmRybV9kcF9nZXRfZHVhbF9tb2RlX3R5cGVfbmFtZShlbnVt IGRybV9kcF9kdWFsX21vZGVfdHlwZSB0eXBlKTsKPiAgCj4gK2ludCBkcm1fbHNwY29uX2dldF9t b2RlKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciwKPiArCQkJZW51bSBkcm1fbHNwY29uX21v ZGUgKmN1cnJlbnRfbW9kZSk7Cj4gK2ludCBkcm1fbHNwY29uX3NldF9tb2RlKHN0cnVjdCBpMmNf YWRhcHRlciAqYWRhcHRlciwKPiArCQkJZW51bSBkcm1fbHNwY29uX21vZGUgcmVxZF9tb2RlKTsK PiAgI2VuZGlmCgotLSAKSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIFRlY2hub2xvZ3kg Q2VudGVyCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRy aS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=