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 15:43:34 +0300 Message-ID: <87d1ixx1xl.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 mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 29C946E6EB for ; Tue, 18 Oct 2016 12:43:40 +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+IH0KPgo+IFRo aXMgcGF0Y2ggYWRkcyBsc3Bjb24gc3VwcG9ydCBpbiBkcF9kdWFsX21vZGUgaGVscGVyLgo+IGxz cGNvbiBpcyBlc3NlbnRpYWxseSBhIGRwLT5oZG1pIGRvbmdsZSB3aXRoIGR1YWwgcGVyc29uYWxp dHkuCj4KPiBMUyBtb2RlOiBJdCB3b3JrcyBhcyBhIHBhc3NpdmUgZG9uZ2xlLCBieSBsZXZlbCBz aGlmdGluZyBEUCsrCj4gc2lnbmFscyB0byBIRE1JIHNpZ25hbHMsIGluIExTIG1vZGUuCj4gUENP TiBtb2RlOiBJdCB3b3JrcyBhcyBhIHByb3RvY29sIGNvbnZlcnRlciBhY3RpdmUgZG9uZ2xlCj4g aW4gcGNvbiBtb2RlLCBieSBjb252ZXJ0aW5nIERQKysgb3V0cHV0cyB0byBIRE1JIDIuMCBvdXRw dXRzLgo+Cj4gVGhpcyBwYXRjaCBhZGRzIHN1cHBvcnQgZm9yIGxzcGNvbiBkZXRlY3Rpb24gYW5k IG1vZGUgc2V0Cj4gc3dpdGNoIG9wZXJhdGlvbnMsIGFzIGEgZHAgZHVhbCBtb2RlIGRvbmdsZS4K Pgo+IHYyOiBBZGRyZXNzZWQgcmV2aWV3IGNvbW1lbnRzIGZyb20gVmlsbGUKPiAtIGFkZCBhZGFw dG9yIGlkIGZvciBsc3Bjb24gZGV2aWNlcyAoMHgwOCksIHVzZSBpdCB0byBpZGVudGlmeSBsc3Bj b24KPiAtIGNoYW5nZSBmdW5jdGlvbiBuYW1lcwo+ICAgb2xkOiBkcm1fbHNwY29uX2dldF9jdXJy ZW50X21vZGUvZHJtX2xzcGNvbl9jaGFuZ2VfbW9kZQo+ICAgbmV3OiBkcm1fbHNwY29uX2dldF9t b2RlL2RybV9sc3Bjb25fc2V0X21vZGUKPiAtIGNoYW5nZSBkcm1fbHNwY29uX2dldF9tb2RlIHR5 cGUgdG8gaW50LCB0byBtYXRjaAo+ICAgZHJtX2RwX2R1YWxfbW9kZV9nZXRfdG1kc19vdXRwdXQK PiAtIGNoYW5nZSAnZXJyJyB0byAncmV0JyB0byBtYXRjaCB0aGUgcmVzdCBvZiB0aGUgZnVuY3Rp b25zCj4gLSByZW1vdmUgcG9pbnRsZXNzIHR5cGVjYXN0aW5nIGR1cmluZyBjYWxsIHRvIGR1YWxf bW9kZV9yZWFkCj4gLSBmaXggdGhlIGJ1dCB3aGlsZSBzZXR0aW5nIHZhbHVlIG9mIGRhdGEsIHdo aWxlIHdyaXRpbmcgbHNwY29uIG1vZGUKPiAtIGZpeCBpbmRlbnRhdGlvbgo+IC0gY2hhbmdlIG1k ZWxheSgxMCkgLT4gbXNsZWVwKDEwKQo+IC0gcmV0dXJuIEVUSU1FRE9VVCBpbnN0ZWFkIG9mIEVG QVVMVCwgd2hlbiBsc3Bjb24gbW9kZSBjaGFuZ2UgdGltZXMgb3V0Cj4gLSBBZGQgYW4gZW1wdHkg bGluZSB0byBzZXBhcmF0ZSBzdGQgcmVncyBtYWNyb3MgYW5kIGxzcGNvbiByZWdzIG1hY3Jvcwo+ ICAgSW5kZW50IGJpdCBkZWZpbml0aW9uCj4KPiB2MzogQWRkcmVzc2VkIHJldmlldyBjb21tZW50 cyBmcm9tIFJvZHJpZ28KPiAtIGNoYW5nZSBtYWNybyBuYW1lIGZyb20gRFBfRFVBTF9NT0RFX1RZ UEVfTFNQQ09OIHRvCj4gICBEUF9EVUFMX01PREVfVFlQRV9IQVNfRFBDRCBmb3IgYmV0dGVyIHJl YWRhYmlsaXR5Cj4gLSBjaGFuZ2UgbWFjcm8gbmFtZSBmcm9tIERQX0RVQUxfTU9ERV9MU1BDT05f TU9ERV9QQ09OIHRvCj4gICBEUF9EVUFMX01PREVfTFNQQ09OX01PREVfUENPTiBmb3IgYmV0dGVy IHJlYWRhYmlsaXR5Cj4gLSBhZGQgY29tbWVudCBmb3IgTUNBIHNwZWNpZmljIG9mZnNldHMgbGlr ZSAweDQwIGFuZCAweDQxCj4gLSByZW1vdmUgRFBfRFVBTF9NT0RFX1JFVl9UWVBFMiBjaGVjayB3 aGlsZSBjaGVja2luZyBsc3Bjb24gYWRhcHRlciBpZAo+Cj4gdjQ6IEFkZHJlc3NlZCByZXZpZXcg Y29tbWVudHMgZnJvbSBWaWxsZQo+IC0gRml4ZWQgaW5kZW50YXRpb24gYXQgZmV3IHBsYWNlcwo+ IC0gcy9jdXJyZW50X21vZGUvbW9kZQo+IC0gcy9yZXFkX21vZGUvbW9kZQo+IC0gcmVtb3ZlIHVu bmVjZXNzYXJ5IHZvaWQqIGNhc3QKPiAtIHJlbW92ZSBkcm1fZWRpZC5oIGZyb20gaW5jbHVkZXMK PiAtIEFkZCBhIGNvbW1lbnQgZm9yIF9IQVNfRFBDRAo+IC0gRml4IGVudW0gZGVzY3JpcHRpb24s IGZvciBsc3Bjb25fbW9kZS4KPgo+IHY1OiBSZWJhc2UKPiB2NjogUmViYXNlCj4KPiBTaWduZWQt b2ZmLWJ5OiBTaGFzaGFuayBTaGFybWEgPHNoYXNoYW5rLnNoYXJtYUBpbnRlbC5jb20+Cj4gUmV2 aWV3ZWQtYnk6IFJvZHJpZ28gVml2aSA8cm9kcmlnby52aXZpQGludGVsLmNvbT4KClB1c2hlZCB0 byBkcm0taW50ZWwtbmV4dC1xdWV1ZWQgd2l0aCBEYXZlJ3MgSVJDIGFjayB0byBtZXJnZSB2aWEg SW50ZWwKdHJlZXMuCgpCUiwKSmFuaS4KCgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2Rw X2R1YWxfbW9kZV9oZWxwZXIuYyB8IDEwMyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK PiAgaW5jbHVkZS9kcm0vZHJtX2RwX2R1YWxfbW9kZV9oZWxwZXIuaCAgICAgfCAgMjYgKysrKysr KysKPiAgMiBmaWxlcyBjaGFuZ2VkLCAxMjkgaW5zZXJ0aW9ucygrKQo+Cj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfZHVhbF9tb2RlX2hlbHBlci5jIGIvZHJpdmVycy9ncHUv ZHJtL2RybV9kcF9kdWFsX21vZGVfaGVscGVyLmMKPiBpbmRleCBhN2IyYTc1Li5hN2FlYjFlIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfZHVhbF9tb2RlX2hlbHBlci5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kcF9kdWFsX21vZGVfaGVscGVyLmMKPiBAQCAtMTQ4 LDYgKzE0OCwxNCBAQCBzdGF0aWMgYm9vbCBpc190eXBlMl9hZGFwdG9yKHVpbnQ4X3QgYWRhcHRv cl9pZCkKPiAgCQkJICAgICAgRFBfRFVBTF9NT0RFX1JFVl9UWVBFMik7Cj4gIH0KPiAgCj4gK2Jv b2wgaXNfbHNwY29uX2FkYXB0b3IoY29uc3QgY2hhciBoZG1pX2lkW0RQX0RVQUxfTU9ERV9IRE1J X0lEX0xFTl0sCj4gKwljb25zdCB1aW50OF90IGFkYXB0b3JfaWQpCj4gK3sKPiArCXJldHVybiBp c19oZG1pX2FkYXB0b3IoaGRtaV9pZCkgJiYKPiArCQkoYWRhcHRvcl9pZCA9PSAoRFBfRFVBTF9N T0RFX1RZUEVfVFlQRTIgfAo+ICsJCSBEUF9EVUFMX01PREVfVFlQRV9IQVNfRFBDRCkpOwo+ICt9 Cj4gKwo+ICAvKioKPiAgICogZHJtX2RwX2R1YWxfbW9kZV9kZXRlY3QgLSBJZGVudGlmeSB0aGUg RFAgZHVhbCBtb2RlIGFkYXB0b3IKPiAgICogQGFkYXB0ZXI6IEkyQyBhZGFwdGVyIGZvciB0aGUg RERDIGJ1cwo+IEBAIC0yMDMsNiArMjExLDggQEAgZW51bSBkcm1fZHBfZHVhbF9tb2RlX3R5cGUg ZHJtX2RwX2R1YWxfbW9kZV9kZXRlY3Qoc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyKQo+ICAJ cmV0ID0gZHJtX2RwX2R1YWxfbW9kZV9yZWFkKGFkYXB0ZXIsIERQX0RVQUxfTU9ERV9BREFQVE9S X0lELAo+ICAJCQkJICAgICZhZGFwdG9yX2lkLCBzaXplb2YoYWRhcHRvcl9pZCkpOwo+ICAJaWYg KHJldCA9PSAwKSB7Cj4gKwkJaWYgKGlzX2xzcGNvbl9hZGFwdG9yKGhkbWlfaWQsIGFkYXB0b3Jf aWQpKQo+ICsJCQlyZXR1cm4gRFJNX0RQX0RVQUxfTU9ERV9MU1BDT047Cj4gIAkJaWYgKGlzX3R5 cGUyX2FkYXB0b3IoYWRhcHRvcl9pZCkpIHsKPiAgCQkJaWYgKGlzX2hkbWlfYWRhcHRvcihoZG1p X2lkKSkKPiAgCQkJCXJldHVybiBEUk1fRFBfRFVBTF9NT0RFX1RZUEUyX0hETUk7Cj4gQEAgLTM2 NCwzICszNzQsOTYgQEAgY29uc3QgY2hhciAqZHJtX2RwX2dldF9kdWFsX21vZGVfdHlwZV9uYW1l KGVudW0gZHJtX2RwX2R1YWxfbW9kZV90eXBlIHR5cGUpCj4gIAl9Cj4gIH0KPiAgRVhQT1JUX1NZ TUJPTChkcm1fZHBfZ2V0X2R1YWxfbW9kZV90eXBlX25hbWUpOwo+ICsKPiArLyoqCj4gKyAqIGRy bV9sc3Bjb25fZ2V0X21vZGU6IEdldCBMU1BDT04ncyBjdXJyZW50IG1vZGUgb2Ygb3BlcmF0aW9u IGJ5Cj4gKyAqIGJ5IHJlYWRpbmcgb2Zmc2V0ICgweDgwLCAweDQxKQo+ICsgKiBAaTJjX2FkYXB0 ZXI6IEkyQy1vdmVyLWF1eCBhZGFwdGVyCj4gKyAqIEBjdXJyZW50X21vZGU6IG91dCB2YWlhYmxl LCBjdXJyZW50IGxzcGNvbiBtb2RlIG9mIG9wZXJhdGlvbgo+ICsgKgo+ICsgKiBSZXR1cm5zOgo+ ICsgKiAwIG9uIHN1Y2Nlc3MsIHNldHMgdGhlIGN1cnJlbnRfbW9kZSB2YWx1ZSB0byBhcHByb3By aWF0ZSBtb2RlCj4gKyAqIC1lcnJvciBvbiBmYWlsdXJlCj4gKyAqLwo+ICtpbnQgZHJtX2xzcGNv bl9nZXRfbW9kZShzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIsCj4gKwkJCWVudW0gZHJtX2xz cGNvbl9tb2RlICptb2RlKQo+ICt7Cj4gKwl1OCBkYXRhOwo+ICsJaW50IHJldCA9IDA7Cj4gKwo+ ICsJaWYgKCFtb2RlKSB7Cj4gKwkJRFJNX0VSUk9SKCJOVUxMIGlucHV0XG4iKTsKPiArCQlyZXR1 cm4gLUVJTlZBTDsKPiArCX0KPiArCj4gKwkvKiBSZWFkIFN0YXR1czogaTJjIG92ZXIgYXV4ICov Cj4gKwlyZXQgPSBkcm1fZHBfZHVhbF9tb2RlX3JlYWQoYWRhcHRlciwgRFBfRFVBTF9NT0RFX0xT UENPTl9DVVJSRU5UX01PREUsCj4gKwkJCQkgICAgJmRhdGEsIHNpemVvZihkYXRhKSk7Cj4gKwlp ZiAocmV0IDwgMCkgewo+ICsJCURSTV9FUlJPUigiTFNQQ09OIHJlYWQoMHg4MCwgMHg0MSkgZmFp bGVkXG4iKTsKPiArCQlyZXR1cm4gLUVGQVVMVDsKPiArCX0KPiArCj4gKwlpZiAoZGF0YSAmIERQ X0RVQUxfTU9ERV9MU1BDT05fTU9ERV9QQ09OKQo+ICsJCSptb2RlID0gRFJNX0xTUENPTl9NT0RF X1BDT047Cj4gKwllbHNlCj4gKwkJKm1vZGUgPSBEUk1fTFNQQ09OX01PREVfTFM7Cj4gKwlyZXR1 cm4gMDsKPiArfQo+ICtFWFBPUlRfU1lNQk9MKGRybV9sc3Bjb25fZ2V0X21vZGUpOwo+ICsKPiAr LyoqCj4gKyAqIGRybV9sc3Bjb25fY2hhbmdlX21vZGU6IENoYW5nZSBMU1BDT04ncyBtb2RlIG9m IG9wZXJhdGlvbiBieQo+ICsgKiBieSB3cml0aW5nIG9mZnNldCAoMHg4MCwgMHg0MCkKPiArICog QGkyY19hZGFwdGVyOiBJMkMtb3Zlci1hdXggYWRhcHRlcgo+ICsgKiBAcmVxZF9tb2RlOiByZXF1 aXJlZCBtb2RlIG9mIG9wZXJhdGlvbgo+ICsgKgo+ICsgKiBSZXR1cm5zOgo+ICsgKiAwIG9uIHN1 Y2Nlc3MsIC1lcnJvciBvbiBmYWlsdXJlL3RpbWVvdXQKPiArICovCj4gK2ludCBkcm1fbHNwY29u X3NldF9tb2RlKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciwKPiArCQkJZW51bSBkcm1fbHNw Y29uX21vZGUgbW9kZSkKPiArewo+ICsJdTggZGF0YSA9IDA7Cj4gKwlpbnQgcmV0Owo+ICsJaW50 IHRpbWVfb3V0ID0gMjAwOwo+ICsJZW51bSBkcm1fbHNwY29uX21vZGUgY3VycmVudF9tb2RlOwo+ ICsKPiArCWlmIChtb2RlID09IERSTV9MU1BDT05fTU9ERV9QQ09OKQo+ICsJCWRhdGEgPSBEUF9E VUFMX01PREVfTFNQQ09OX01PREVfUENPTjsKPiArCj4gKwkvKiBDaGFuZ2UgbW9kZSAqLwo+ICsJ cmV0ID0gZHJtX2RwX2R1YWxfbW9kZV93cml0ZShhZGFwdGVyLCBEUF9EVUFMX01PREVfTFNQQ09O X01PREVfQ0hBTkdFLAo+ICsJCQkJICAgICAmZGF0YSwgc2l6ZW9mKGRhdGEpKTsKPiArCWlmIChy ZXQgPCAwKSB7Cj4gKwkJRFJNX0VSUk9SKCJMU1BDT04gbW9kZSBjaGFuZ2UgZmFpbGVkXG4iKTsK PiArCQlyZXR1cm4gcmV0Owo+ICsJfQo+ICsKPiArCS8qCj4gKwkgKiBDb25maXJtIG1vZGUgY2hh bmdlIGJ5IHJlYWRpbmcgdGhlIHN0YXR1cyBiaXQuCj4gKwkgKiBTb21ldGltZXMsIGl0IHRha2Vz IGEgd2hpbGUgdG8gY2hhbmdlIHRoZSBtb2RlLAo+ICsJICogc28gd2FpdCBhbmQgcmV0cnkgdW50 aWwgdGltZSBvdXQgb3IgZG9uZS4KPiArCSAqLwo+ICsJZG8gewo+ICsJCXJldCA9IGRybV9sc3Bj b25fZ2V0X21vZGUoYWRhcHRlciwgJmN1cnJlbnRfbW9kZSk7Cj4gKwkJaWYgKHJldCkgewo+ICsJ CQlEUk1fRVJST1IoImNhbid0IGNvbmZpcm0gTFNQQ09OIG1vZGUgY2hhbmdlXG4iKTsKPiArCQkJ cmV0dXJuIHJldDsKPiArCQl9IGVsc2Ugewo+ICsJCQlpZiAoY3VycmVudF9tb2RlICE9IG1vZGUp IHsKPiArCQkJCW1zbGVlcCgxMCk7Cj4gKwkJCQl0aW1lX291dCAtPSAxMDsKPiArCQkJfSBlbHNl IHsKPiArCQkJCURSTV9ERUJVR19LTVMoIkxTUENPTiBtb2RlIGNoYW5nZWQgdG8gJXNcbiIsCj4g KwkJCQkJCW1vZGUgPT0gRFJNX0xTUENPTl9NT0RFX0xTID8KPiArCQkJCQkJIkxTIiA6ICJQQ09O Iik7Cj4gKwkJCQlyZXR1cm4gMDsKPiArCQkJfQo+ICsJCX0KPiArCX0gd2hpbGUgKHRpbWVfb3V0 KTsKPiArCj4gKwlEUk1fRVJST1IoIkxTUENPTiBtb2RlIGNoYW5nZSB0aW1lZCBvdXRcbiIpOwo+ ICsJcmV0dXJuIC1FVElNRURPVVQ7Cj4gK30KPiArRVhQT1JUX1NZTUJPTChkcm1fbHNwY29uX3Nl dF9tb2RlKTsKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2RwX2R1YWxfbW9kZV9oZWxw ZXIuaCBiL2luY2x1ZGUvZHJtL2RybV9kcF9kdWFsX21vZGVfaGVscGVyLmgKPiBpbmRleCBlOGE5 ZGZkLi41NTY3NzcwIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9kcF9kdWFsX21vZGVf aGVscGVyLmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1fZHBfZHVhbF9tb2RlX2hlbHBlci5oCj4g QEAgLTQwLDYgKzQwLDggQEAKPiAgI2RlZmluZSAgRFBfRFVBTF9NT0RFX1JFVl9UWVBFMiAweDAw Cj4gICNkZWZpbmUgIERQX0RVQUxfTU9ERV9UWVBFX01BU0sgMHhmMAo+ICAjZGVmaW5lICBEUF9E VUFMX01PREVfVFlQRV9UWVBFMiAweGEwCj4gKy8qIFRoaXMgZmllbGQgaXMgbWFya2VkIHJlc2Vy dmVkIGluIGR1YWwgbW9kZSBzcGVjLCB1c2VkIGluIExTUENPTiAqLwo+ICsjZGVmaW5lICBEUF9E VUFMX01PREVfVFlQRV9IQVNfRFBDRCAweDA4Cj4gICNkZWZpbmUgRFBfRFVBTF9NT0RFX0lFRUVf T1VJIDB4MTEgLyogMTEtMTMqLwo+ICAjZGVmaW5lICBEUF9EVUFMX0lFRUVfT1VJX0xFTiAzCj4g ICNkZWZpbmUgRFBfRFVBTF9ERVZJQ0VfSUQgMHgxNCAvKiAxNC0xOSAqLwo+IEBAIC01NSw2ICs1 NywxMSBAQAo+ICAjZGVmaW5lICBEUF9EVUFMX01PREVfQ0VDX0VOQUJMRSAweDAxCj4gICNkZWZp bmUgRFBfRFVBTF9NT0RFX0kyQ19TUEVFRF9DVFJMIDB4MjIKPiAgCj4gKy8qIExTUENPTiBzcGVj aWZpYyByZWdpc3RlcnMsIGRlZmluZWQgYnkgTUNBICovCj4gKyNkZWZpbmUgRFBfRFVBTF9NT0RF X0xTUENPTl9NT0RFX0NIQU5HRQkJMHg0MAo+ICsjZGVmaW5lIERQX0RVQUxfTU9ERV9MU1BDT05f Q1VSUkVOVF9NT0RFCQkweDQxCj4gKyNkZWZpbmUgIERQX0RVQUxfTU9ERV9MU1BDT05fTU9ERV9Q Q09OCQkJMHgxCj4gKwo+ICBzdHJ1Y3QgaTJjX2FkYXB0ZXI7Cj4gIAo+ICBzc2l6ZV90IGRybV9k cF9kdWFsX21vZGVfcmVhZChzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIsCj4gQEAgLTYzLDYg KzcwLDE5IEBAIHNzaXplX3QgZHJtX2RwX2R1YWxfbW9kZV93cml0ZShzdHJ1Y3QgaTJjX2FkYXB0 ZXIgKmFkYXB0ZXIsCj4gIAkJCSAgICAgICB1OCBvZmZzZXQsIGNvbnN0IHZvaWQgKmJ1ZmZlciwg c2l6ZV90IHNpemUpOwo+ICAKPiAgLyoqCj4gKyogZW51bSBkcm1fbHNwY29uX21vZGUKPiArKiBA bHNwY29uX21vZGVfbHM6IExldmVsIHNoaWZ0ZXIgbW9kZSBvZiBMU1BDT04KPiArKgl3aGljaCBk cml2ZXMgRFArKyB0byBIRE1JIDEuNCBjb252ZXJzaW9uLgo+ICsqIEBsc3Bjb25fbW9kZV9wY29u OiBQcm90b2NvbCBjb252ZXJ0ZXIgbW9kZSBvZiBMU1BDT04KPiArKgl3aGljaCBkcml2ZXMgRFAr KyB0byBIRE1JIDIuMCBhY3RpdmUgY29udmVyc2lvbi4KPiArKi8KPiArZW51bSBkcm1fbHNwY29u X21vZGUgewo+ICsJRFJNX0xTUENPTl9NT0RFX0lOVkFMSUQsCj4gKwlEUk1fTFNQQ09OX01PREVf TFMsCj4gKwlEUk1fTFNQQ09OX01PREVfUENPTiwKPiArfTsKPiArCj4gKy8qKgo+ICAgKiBlbnVt IGRybV9kcF9kdWFsX21vZGVfdHlwZSAtIFR5cGUgb2YgdGhlIERQIGR1YWwgbW9kZSBhZGFwdG9y Cj4gICAqIEBEUk1fRFBfRFVBTF9NT0RFX05PTkU6IE5vIERQIGR1YWwgbW9kZSBhZGFwdG9yCj4g ICAqIEBEUk1fRFBfRFVBTF9NT0RFX1VOS05PV046IENvdWxkIGJlIGVpdGhlciBub25lIG9yIHR5 cGUgMSBEVkkgYWRhcHRvcgo+IEBAIC03MCw2ICs5MCw3IEBAIHNzaXplX3QgZHJtX2RwX2R1YWxf bW9kZV93cml0ZShzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIsCj4gICAqIEBEUk1fRFBfRFVB TF9NT0RFX1RZUEUxX0hETUk6IFR5cGUgMSBIRE1JIGFkYXB0b3IKPiAgICogQERSTV9EUF9EVUFM X01PREVfVFlQRTJfRFZJOiBUeXBlIDIgRFZJIGFkYXB0b3IKPiAgICogQERSTV9EUF9EVUFMX01P REVfVFlQRTJfSERNSTogVHlwZSAyIEhETUkgYWRhcHRvcgo+ICsgKiBARFJNX0RQX0RVQUxfTU9E RV9UWVBFMl9MU1BDT046IExldmVsIHNoaWZ0ZXIgL3Byb3RvY29sIGNvbnZlcnRlcgo+ICAgKi8K PiAgZW51bSBkcm1fZHBfZHVhbF9tb2RlX3R5cGUgewo+ICAJRFJNX0RQX0RVQUxfTU9ERV9OT05F LAo+IEBAIC03OCw2ICs5OSw3IEBAIGVudW0gZHJtX2RwX2R1YWxfbW9kZV90eXBlIHsKPiAgCURS TV9EUF9EVUFMX01PREVfVFlQRTFfSERNSSwKPiAgCURSTV9EUF9EVUFMX01PREVfVFlQRTJfRFZJ LAo+ICAJRFJNX0RQX0RVQUxfTU9ERV9UWVBFMl9IRE1JLAo+ICsJRFJNX0RQX0RVQUxfTU9ERV9M U1BDT04sCj4gIH07Cj4gIAo+ICBlbnVtIGRybV9kcF9kdWFsX21vZGVfdHlwZSBkcm1fZHBfZHVh bF9tb2RlX2RldGVjdChzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIpOwo+IEBAIC04OSw0ICsx MTEsOCBAQCBpbnQgZHJtX2RwX2R1YWxfbW9kZV9zZXRfdG1kc19vdXRwdXQoZW51bSBkcm1fZHBf ZHVhbF9tb2RlX3R5cGUgdHlwZSwKPiAgCQkJCSAgICAgc3RydWN0IGkyY19hZGFwdGVyICphZGFw dGVyLCBib29sIGVuYWJsZSk7Cj4gIGNvbnN0IGNoYXIgKmRybV9kcF9nZXRfZHVhbF9tb2RlX3R5 cGVfbmFtZShlbnVtIGRybV9kcF9kdWFsX21vZGVfdHlwZSB0eXBlKTsKPiAgCj4gK2ludCBkcm1f bHNwY29uX2dldF9tb2RlKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciwKPiArCQkJZW51bSBk cm1fbHNwY29uX21vZGUgKmN1cnJlbnRfbW9kZSk7Cj4gK2ludCBkcm1fbHNwY29uX3NldF9tb2Rl KHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciwKPiArCQkJZW51bSBkcm1fbHNwY29uX21vZGUg cmVxZF9tb2RlKTsKPiAgI2VuZGlmCgotLSAKSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNl IFRlY2hub2xvZ3kgQ2VudGVyCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Ry aS1kZXZlbAo=