From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Sharma, Shashank" Subject: Re: [PATCH v2 1/4] drm: Helper for lspcon in drm_dp_dual_mode Date: Fri, 01 Jul 2016 11:28:24 +0530 Message-ID: <57760680.6050206@intel.com> References: <1466521259-9309-1-git-send-email-shashank.sharma@intel.com> <1466521259-9309-2-git-send-email-shashank.sharma@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 6F7C16E145 for ; Fri, 1 Jul 2016 05:58:27 +0000 (UTC) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Rodrigo Vivi , "Pandiyan, Dhinakaran" Cc: intel-gfx , Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org VGhhbmtzIGZvciB0aGUgcmV2aWV3IFJvZHJpZ28uIE15IGNvbW1lbnRzIGlubGluZS4KClJlZ2Fy ZHMKU2hhc2hhbmsKCk9uIDcvMS8yMDE2IDM6NDYgQU0sIFJvZHJpZ28gVml2aSB3cm90ZToKPiBP biBUdWUsIEp1biAyMSwgMjAxNiBhdCA4OjAwIEFNLCBTaGFzaGFuayBTaGFybWEKPiA8c2hhc2hh bmsuc2hhcm1hQGludGVsLmNvbT4gd3JvdGU6Cj4+IFRoaXMgcGF0Y2ggYWRkcyBsc3Bjb24gc3Vw cG9ydCBpbiBkcF9kdWFsX21vZGUgaGVscGVyLgo+PiBsc3Bjb24gaXMgZXNzZW50aWFsbHkgYSBk cC0+aGRtaSBkb25nbGUgd2l0aCBkdWFsIHBlcnNvbmFsaXR5Lgo+Pgo+PiBMUyBtb2RlOiBJdCB3 b3JrcyBhcyBhIHBhc3NpdmUgZG9uZ2xlLCBieSBsZXZlbCBzaGlmdGluZyBEUCsrCj4+IHNpZ25h bHMgdG8gSERNSSBzaWduYWxzLCBpbiBMUyBtb2RlLgo+PiBQQ09OIG1vZGU6IEl0IHdvcmtzIGFz IGEgcHJvdG9jb2wgY29udmVydGVyIGFjdGl2ZSBkb25nbGUKPj4gaW4gcGNvbiBtb2RlLCBieSBj b252ZXJ0aW5nIERQKysgb3V0cHV0cyB0byBIRE1JIDIuMCBvdXRwdXRzLgo+Pgo+PiBUaGlzIHBh dGNoIGFkZHMgc3VwcG9ydCBmb3IgbHNwY29uIGRldGVjdGlvbiBhbmQgbW9kZSBzZXQKPj4gc3dp dGNoIG9wZXJhdGlvbnMsIGFzIGEgZHAgZHVhbCBtb2RlIGRvbmdsZS4KPj4KPj4gdjI6IEFkZHJl c3NlZCByZXZpZXcgY29tbWVudHMgZnJvbSBWaWxsZQo+PiAtIGFkZCBhZGFwdG9yIGlkIGZvciBs c3Bjb24gZGV2aWNlcyAoMHgwOCksIHVzZSBpdCB0byBpZGVudGlmeSBsc3Bjb24KPj4gLSBjaGFu Z2UgZnVuY3Rpb24gbmFtZXMKPj4gICAgb2xkOiBkcm1fbHNwY29uX2dldF9jdXJyZW50X21vZGUv ZHJtX2xzcGNvbl9jaGFuZ2VfbW9kZQo+PiAgICBuZXc6IGRybV9sc3Bjb25fZ2V0X21vZGUvZHJt X2xzcGNvbl9zZXRfbW9kZQo+PiAtIGNoYW5nZSBkcm1fbHNwY29uX2dldF9tb2RlIHR5cGUgdG8g aW50LCB0byBtYXRjaAo+PiAgICBkcm1fZHBfZHVhbF9tb2RlX2dldF90bWRzX291dHB1dAo+PiAt IGNoYW5nZSAnZXJyJyB0byAncmV0JyB0byBtYXRjaCB0aGUgcmVzdCBvZiB0aGUgZnVuY3Rpb25z Cj4+IC0gcmVtb3ZlIHBvaW50bGVzcyB0eXBlY2FzdGluZyBkdXJpbmcgY2FsbCB0byBkdWFsX21v ZGVfcmVhZAo+PiAtIGZpeCB0aGUgYnV0IHdoaWxlIHNldHRpbmcgdmFsdWUgb2YgZGF0YSwgd2hp bGUgd3JpdGluZyBsc3Bjb24gbW9kZQo+PiAtIGZpeCBpbmRlbnRhdGlvbgo+PiAtIGNoYW5nZSBt ZGVsYXkoMTApIC0+IG1zbGVlcCgxMCkKPj4gLSByZXR1cm4gRVRJTUVET1VUIGluc3RlYWQgb2Yg RUZBVUxULCB3aGVuIGxzcGNvbiBtb2RlIGNoYW5nZSB0aW1lcyBvdXQKPj4gLSBBZGQgYW4gZW1w dHkgbGluZSB0byBzZXBhcmF0ZSBzdGQgcmVncyBtYWNyb3MgYW5kIGxzcGNvbiByZWdzIG1hY3Jv cwo+PiAgICBJbmRlbnQgYml0IGRlZmluaXRpb24KPj4KPj4gU2lnbmVkLW9mZi1ieTogU2hhc2hh bmsgU2hhcm1hIDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29tPgo+PiAtLS0KPj4gICBkcml2ZXJz L2dwdS9kcm0vZHJtX2RwX2R1YWxfbW9kZV9oZWxwZXIuYyB8IDEwMyArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysKPj4gICBpbmNsdWRlL2RybS9kcm1fZHBfZHVhbF9tb2RlX2hlbHBlci5o ICAgICB8ICAyNSArKysrKysrKwo+PiAgIDIgZmlsZXMgY2hhbmdlZCwgMTI4IGluc2VydGlvbnMo KykKPj4KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfZHVhbF9tb2RlX2hl bHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kcF9kdWFsX21vZGVfaGVscGVyLmMKPj4gaW5k ZXggYTdiMmE3NS4uNDA0ZTcxNSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9k cF9kdWFsX21vZGVfaGVscGVyLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kcF9kdWFs X21vZGVfaGVscGVyLmMKPj4gQEAgLTE0OCw2ICsxNDgsMTQgQEAgc3RhdGljIGJvb2wgaXNfdHlw ZTJfYWRhcHRvcih1aW50OF90IGFkYXB0b3JfaWQpCj4+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBEUF9EVUFMX01PREVfUkVWX1RZUEUyKTsKPj4gICB9Cj4+Cj4+ICtib29sIGlzX2xz cGNvbl9hZGFwdG9yKGNvbnN0IGNoYXIgaGRtaV9pZFtEUF9EVUFMX01PREVfSERNSV9JRF9MRU5d LAo+PiArICAgICAgIGNvbnN0IHVpbnQ4X3QgYWRhcHRvcl9pZCkKPj4gK3sKPj4gKyAgICAgICBy ZXR1cm4gaXNfaGRtaV9hZGFwdG9yKGhkbWlfaWQpICYmCj4+ICsgICAgICAgICAgICAgICAoYWRh cHRvcl9pZCA9PSAoRFBfRFVBTF9NT0RFX1JFVl9UWVBFMiB8Cj4KPiBEUF9EVUFMX01PREVfUkVW X1RZUEUyID0gMCBzbyB1c2VsZXNzIGhlcmUgYW5kIGNvbmZ1c2luZy4KVGhpcyB3YXMgYSByZXZp ZXcgY29tbWVudCBmcm9tIFZpbGxlLCBvbiB0aGUgbGFzdCBwYXRjaC4gSSB0aGluayBoZSAKc3Vn Z2VzdGVkIGZvciB0aGUgYmV0dGVyIHJlYWRhYmlsaXR5IG9mIHRoZSBjb2RlLgo+Cj4+ICsgICAg ICAgICAgICAgICAgICAgICAgIERQX0RVQUxfTU9ERV9UWVBFX1RZUEUyIHwgRFBfRFVBTF9NT0RF X1RZUEVfTFNQQ09OKSk7Cj4KPiBBbHNvIHRoaXMgaXMgY29uZnVzaW5nIGFuZCB0b29rIG1lIGEg d2hpbGUgdG8gdWRlcnN0YW5kIHRoYXQgTFNQQ09OIGlzCj4gdGhlIHR5cGUyIHdpdGggRFBDRApJ IGtub3csIGR1ZSB0byBMU1BDT04ncyBkdWFsIHBlcnNvbmFsaXR5LCBpdHMgY29tcGxpY2F0ZWQg dG8gdW5kZXJzdGFuZC4gCkkgdHJpZWQgdG8gY292ZXIgc29tZSB0aGVvcnksIGluIHRoZSBjb3Zl ciBsZXR0ZXIsIGNhbiBhZGQgc29tZSBoZXJlIHRvbzoKTFNQQ09OIGlzIGEgZHAtPmhkbWkgYWRh cHRlciB3aGljaCBjYW4gb3BlcmF0ZSBpbiB0d28gbW9kZXMKUGFzc2l2ZSBkb25nbGUgbW9kZSAv IExTIG1vZGU6IGluIHRoaXMgbW9kZSwgaXQgYWN0cyBhcyB0eXBlMiBkcCBkdWFsIAptb2RlIGFk YXB0ZXIgKG5vIERQQ0QgcmVhZGFibGUgaGVyZSkKQWN0aXZlIG1vZGUgLyBQQ09OIG1vZGU6IGlu IHRoaXMgbW9kZSwgaXQgYWN0cyBhcyBhY3RpdmUgRFArKy0+SERNSTIuMCAKcHJvdG9jb2wgY29u dmVydG9yIGRvbmdsZSwgYW5kIGFsbG93cyBEUENEIHJlYWQvd3JpdGUgbGlrZSBhIERQKysgZGlz cGxheS4KPgo+IHNvIG15IHN1Z2dlc3Rpb24gaXMgdG8gZGVmaW5lIERQX0RVQUxfTU9ERV9UWVBF X0hBU19EUENEICgxPDwzKSB3aXRoIGEKPiBjb21tZW50IHRoaXMgaXMgZGVmaW5lZCBieSBMU1BD T04gZG9jcyBzaW5jZSB0aGlzIGlzIG5vdCBwYXJ0IG9mIFZFU0EKPiBEUCBEdWFsIE1vZGUgdGhh dCBvbmx5IGRlZmluZXMgdGhlIFR5cGUyID0gMHhBMC4KPgo+IHNvIHlvdSBjb3VsZCB1c2UKPiBU WVBFMiB8IEhBU19EUENEID0gTFNQQ09OLgo+ClN1cmUsIGdvdCBpdC4gV2lsbCBjaGFuZ2UgaXQg bGlrZSB0aGlzLgo+PiArfQo+PiArCj4+ICAgLyoqCj4+ICAgICogZHJtX2RwX2R1YWxfbW9kZV9k ZXRlY3QgLSBJZGVudGlmeSB0aGUgRFAgZHVhbCBtb2RlIGFkYXB0b3IKPj4gICAgKiBAYWRhcHRl cjogSTJDIGFkYXB0ZXIgZm9yIHRoZSBEREMgYnVzCj4+IEBAIC0yMDMsNiArMjExLDggQEAgZW51 bSBkcm1fZHBfZHVhbF9tb2RlX3R5cGUgZHJtX2RwX2R1YWxfbW9kZV9kZXRlY3Qoc3RydWN0IGky Y19hZGFwdGVyICphZGFwdGVyKQo+PiAgICAgICAgICByZXQgPSBkcm1fZHBfZHVhbF9tb2RlX3Jl YWQoYWRhcHRlciwgRFBfRFVBTF9NT0RFX0FEQVBUT1JfSUQsCj4+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAmYWRhcHRvcl9pZCwgc2l6ZW9mKGFkYXB0b3JfaWQpKTsKPj4g ICAgICAgICAgaWYgKHJldCA9PSAwKSB7Cj4+ICsgICAgICAgICAgICAgICBpZiAoaXNfbHNwY29u X2FkYXB0b3IoaGRtaV9pZCwgYWRhcHRvcl9pZCkpCj4+ICsgICAgICAgICAgICAgICAgICAgICAg IHJldHVybiBEUk1fRFBfRFVBTF9NT0RFX0xTUENPTjsKPj4gICAgICAgICAgICAgICAgICBpZiAo aXNfdHlwZTJfYWRhcHRvcihhZGFwdG9yX2lkKSkgewo+PiAgICAgICAgICAgICAgICAgICAgICAg ICAgaWYgKGlzX2hkbWlfYWRhcHRvcihoZG1pX2lkKSkKPj4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcmV0dXJuIERSTV9EUF9EVUFMX01PREVfVFlQRTJfSERNSTsKPj4gQEAgLTM2 NCwzICszNzQsOTYgQEAgY29uc3QgY2hhciAqZHJtX2RwX2dldF9kdWFsX21vZGVfdHlwZV9uYW1l KGVudW0gZHJtX2RwX2R1YWxfbW9kZV90eXBlIHR5cGUpCj4+ICAgICAgICAgIH0KPj4gICB9Cj4+ ICAgRVhQT1JUX1NZTUJPTChkcm1fZHBfZ2V0X2R1YWxfbW9kZV90eXBlX25hbWUpOwo+PiArCj4+ ICsvKioKPj4gKyAqIGRybV9sc3Bjb25fZ2V0X2N1cnJlbnRfbW9kZTogR2V0IExTUENPTidzIGN1 cnJlbnQgbW9kZSBvZiBvcGVyYXRpb24gYnkKPj4gKyAqIGJ5IHJlYWRpbmcgb2Zmc2V0ICgweDgw LCAweDQxKQo+PiArICogQGkyY19hZGFwdGVyOiBJMkMtb3Zlci1hdXggYWRhcHRlcgo+PiArICog QGN1cnJlbnRfbW9kZTogb3V0IHZhaWFibGUsIGN1cnJlbnQgbHNwY29uIG1vZGUgb2Ygb3BlcmF0 aW9uCj4+ICsgKgo+PiArICogUmV0dXJuczoKPj4gKyAqIDAgb24gc3VjY2Vzcywgc2V0cyB0aGUg Y3VycmVudF9tb2RlIHZhbHVlIHRvIGFwcHJvcHJpYXRlIG1vZGUKPj4gKyAqIC1lcnJvciBvbiBm YWlsdXJlCj4+ICsgKi8KPj4gK2ludCBkcm1fbHNwY29uX2dldF9tb2RlKHN0cnVjdCBpMmNfYWRh cHRlciAqYWRhcHRlciwKPj4gKyAgICAgICBlbnVtIGRybV9sc3Bjb25fbW9kZSAqY3VycmVudF9t b2RlKQo+PiArewo+PiArICAgICAgIHU4IGRhdGE7Cj4+ICsgICAgICAgaW50IHJldCA9IDA7Cj4+ ICsKPj4gKyAgICAgICBpZiAoIWN1cnJlbnRfbW9kZSkgewo+PiArICAgICAgICAgICAgICAgRFJN X0VSUk9SKCJOVUxMIGlucHV0XG4iKTsKPj4gKyAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFM Owo+PiArICAgICAgIH0KPj4gKwo+PiArICAgICAgIC8qIFJlYWQgU3RhdHVzOiBpMmMgb3ZlciBh dXggKi8KPj4gKyAgICAgICByZXQgPSBkcm1fZHBfZHVhbF9tb2RlX3JlYWQoYWRhcHRlciwgRFBf RFVBTF9NT0RFX0xTUENPTl9DVVJSRU5UX01PREUsCj4+ICsgICAgICAgICAgICAgICAgICAgICAg ICh2b2lkICopJmRhdGEsIHNpemVvZihkYXRhKSk7Cj4+ICsgICAgICAgaWYgKHJldCA8IDApIHsK Pj4gKyAgICAgICAgICAgICAgIERSTV9FUlJPUigiTFNQQ09OIHJlYWQoMHg4MCwgMHg0MSkgZmFp bGVkXG4iKTsKPj4gKyAgICAgICAgICAgICAgIHJldHVybiAtRUZBVUxUOwo+PiArICAgICAgIH0K Pgo+PiArCj4+ICsgICAgICAgaWYgKGRhdGEgJiBEUF9EVUFMX01PREVfTFNQQ09OX01PREVfTUFT SykKPj4gKyAgICAgICAgICAgICAgICpjdXJyZW50X21vZGUgPSBEUk1fTFNQQ09OX01PREVfUENP TjsKPj4gKyAgICAgICBlbHNlCj4+ICsgICAgICAgICAgICAgICAqY3VycmVudF9tb2RlID0gRFJN X0xTUENPTl9NT0RFX0xTOwo+PiArICAgICAgIHJldHVybiAwOwo+PiArfQo+PiArRVhQT1JUX1NZ TUJPTChkcm1fbHNwY29uX2dldF9tb2RlKTsKPj4gKwo+PiArLyoqCj4+ICsgKiBkcm1fbHNwY29u X2NoYW5nZV9tb2RlOiBDaGFuZ2UgTFNQQ09OJ3MgbW9kZSBvZiBvcGVyYXRpb24gYnkKPj4gKyAq IGJ5IHdyaXRpbmcgb2Zmc2V0ICgweDgwLCAweDQwKQo+PiArICogQGkyY19hZGFwdGVyOiBJMkMt b3Zlci1hdXggYWRhcHRlcgo+PiArICogQHJlcWRfbW9kZTogcmVxdWlyZWQgbW9kZSBvZiBvcGVy YXRpb24KPj4gKyAqCj4+ICsgKiBSZXR1cm5zOgo+PiArICogMCBvbiBzdWNjZXNzLCAtZXJyb3Ig b24gZmFpbHVyZS90aW1lb3V0Cj4+ICsgKi8KPj4gK2ludCBkcm1fbHNwY29uX3NldF9tb2RlKHN0 cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciwKPj4gKyAgICAgICBlbnVtIGRybV9sc3Bjb25fbW9k ZSByZXFkX21vZGUpCj4+ICt7Cj4+ICsgICAgICAgdTggZGF0YSA9IDA7Cj4+ICsgICAgICAgaW50 IHJldDsKPj4gKyAgICAgICBpbnQgdGltZV9vdXQgPSAyMDA7Cj4+ICsgICAgICAgZW51bSBkcm1f bHNwY29uX21vZGUgY2hhbmdlZF9tb2RlOwo+PiArCj4+ICsgICAgICAgaWYgKHJlcWRfbW9kZSA9 PSBEUk1fTFNQQ09OX01PREVfUENPTikKPj4gKyAgICAgICAgICAgICAgIGRhdGEgPSBEUF9EVUFM X01PREVfTFNQQ09OX01PREVfTUFTSzsKPj4gKwo+PiArICAgICAgIC8qIENoYW5nZSBtb2RlICov Cj4+ICsgICAgICAgcmV0ID0gZHJtX2RwX2R1YWxfbW9kZV93cml0ZShhZGFwdGVyLCBEUF9EVUFM X01PREVfTFNQQ09OX01PREVfQ0hBTkdFLAo+PiArICAgICAgICAgICAgICAgICAgICAgICAmZGF0 YSwgc2l6ZW9mKGRhdGEpKTsKPj4gKyAgICAgICBpZiAocmV0IDwgMCkgewo+PiArICAgICAgICAg ICAgICAgRFJNX0VSUk9SKCJMU1BDT04gbW9kZSBjaGFuZ2UgZmFpbGVkXG4iKTsKPj4gKyAgICAg ICAgICAgICAgIHJldHVybiByZXQ7Cj4+ICsgICAgICAgfQo+PiArCj4+ICsgICAgICAgLyoKPj4g KyAgICAgICAgICogQ29uZmlybSBtb2RlIGNoYW5nZSBieSByZWFkaW5nIHRoZSBzdGF0dXMgYml0 Lgo+PiArICAgICAgICAgKiBTb21ldGltZXMsIGl0IHRha2VzIGEgd2hpbGUgdG8gY2hhbmdlIHRo ZSBtb2RlLAo+PiArICAgICAgICAgKiBzbyB3YWl0IGFuZCByZXRyeSB1bnRpbCB0aW1lIG91dCBv ciBkb25lLgo+PiArICAgICAgICAgKi8KPj4gKyAgICAgICBkbyB7Cj4+ICsgICAgICAgICAgICAg ICByZXQgPSBkcm1fbHNwY29uX2dldF9tb2RlKGFkYXB0ZXIsICZjaGFuZ2VkX21vZGUpOwo+PiAr ICAgICAgICAgICAgICAgaWYgKHJldCkgewo+PiArICAgICAgICAgICAgICAgICAgICAgICBEUk1f RVJST1IoImNhbnQgY29uZmlybSBMU1BDT04gbW9kZSBjaGFuZ2VcbiIpOwo+PiArICAgICAgICAg ICAgICAgICAgICAgICByZXR1cm4gcmV0Owo+PiArICAgICAgICAgICAgICAgfSBlbHNlIHsKPj4g KyAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNoYW5nZWRfbW9kZSAhPSByZXFkX21vZGUpIHsK Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2xlZXAoMTApOwo+PiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVfb3V0IC09IDEwOwo+PiArICAgICAgICAgICAg ICAgICAgICAgICB9IGVsc2Ugewo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERS TV9ERUJVR19LTVMoIkxTUENPTiBtb2RlIGNoYW5nZWQgdG8gJXNcbiIsCj4+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXFkX21vZGUgPT0gRFJNX0xTUENPTl9NT0RF X0xTID8KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IkxTIiA6ICJQQ09OIik7Cj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJu IDA7Cj4+ICsgICAgICAgICAgICAgICAgICAgICAgIH0KPj4gKyAgICAgICAgICAgICAgIH0KPj4g KyAgICAgICB9IHdoaWxlICh0aW1lX291dCk7Cj4+ICsKPj4gKyAgICAgICBEUk1fRVJST1IoIkxT UENPTiBtb2RlIGNoYW5nZSB0aW1lZCBvdXRcbiIpOwo+PiArICAgICAgIHJldHVybiAtRVRJTUVE T1VUOwo+PiArfQo+PiArRVhQT1JUX1NZTUJPTChkcm1fbHNwY29uX3NldF9tb2RlKTsKPj4gZGlm ZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9kcF9kdWFsX21vZGVfaGVscGVyLmggYi9pbmNsdWRl L2RybS9kcm1fZHBfZHVhbF9tb2RlX2hlbHBlci5oCj4+IGluZGV4IGU4YTlkZmQuLjQ0MWM2Y2Ig MTAwNjQ0Cj4+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9kcF9kdWFsX21vZGVfaGVscGVyLmgKPj4g KysrIGIvaW5jbHVkZS9kcm0vZHJtX2RwX2R1YWxfbW9kZV9oZWxwZXIuaAo+PiBAQCAtMjQsNiAr MjQsNyBAQAo+PiAgICNkZWZpbmUgRFJNX0RQX0RVQUxfTU9ERV9IRUxQRVJfSAo+Pgo+PiAgICNp bmNsdWRlIDxsaW51eC90eXBlcy5oPgo+PiArI2luY2x1ZGUgPGRybS9kcm1fZWRpZC5oPgo+Pgo+ PiAgIC8qCj4+ICAgICogT3B0aW9uYWwgZm9yIHR5cGUgMSBEVkkgYWRhcHRvcnMKPj4gQEAgLTQw LDYgKzQxLDcgQEAKPj4gICAjZGVmaW5lICBEUF9EVUFMX01PREVfUkVWX1RZUEUyIDB4MDAKPj4g ICAjZGVmaW5lICBEUF9EVUFMX01PREVfVFlQRV9NQVNLIDB4ZjAKPj4gICAjZGVmaW5lICBEUF9E VUFMX01PREVfVFlQRV9UWVBFMiAweGEwCj4+ICsjZGVmaW5lICBEUF9EVUFMX01PREVfVFlQRV9M U1BDT04gMHgwOAo+PiAgICNkZWZpbmUgRFBfRFVBTF9NT0RFX0lFRUVfT1VJIDB4MTEgLyogMTEt MTMqLwo+PiAgICNkZWZpbmUgIERQX0RVQUxfSUVFRV9PVUlfTEVOIDMKPj4gICAjZGVmaW5lIERQ X0RVQUxfREVWSUNFX0lEIDB4MTQgLyogMTQtMTkgKi8KPj4gQEAgLTU1LDYgKzU3LDEwIEBACj4+ ICAgI2RlZmluZSAgRFBfRFVBTF9NT0RFX0NFQ19FTkFCTEUgMHgwMQo+PiAgICNkZWZpbmUgRFBf RFVBTF9NT0RFX0kyQ19TUEVFRF9DVFJMIDB4MjIKPj4KPj4gKyNkZWZpbmUgRFBfRFVBTF9NT0RF X0xTUENPTl9NT0RFX0NIQU5HRSAgICAgICAgICAgICAgICAweDQwCj4+ICsjZGVmaW5lIERQX0RV QUxfTU9ERV9MU1BDT05fQ1VSUkVOVF9NT0RFICAgICAgICAgICAgICAgMHg0MQo+Cj4gV2hlcmUg ZGlkIHlvdSBnZXQgdGhpcyBmcm9tPyBJIGhhdmVuJ3Qgc2VlbiBhbnkgb2Zmc2V0IDgwLCBhZHJl c3MgNDEKPiBkZWZpbmVkIGFueXdoZXJlIGluIGFueSBvZiB0aGUgZG9jcyBJIGhhdmUgaGVyZS4g V2hhdCBhbSBJIG1pc3Npbmc/Cj4KVGhpcyBvZmZzZXQgd2FzIGFkZGVkIGJ5IE1DQSBhZnRlciBJ bnRlbCByZXF1ZXN0ZWQgdGhlbSB0byBjb25maXJtIHRoZSAKTFNQQ09OIG1vZGVzZXQgc3VjY2Vz cy4gSW5pdGlhbGx5IHRoZXkgZ2F2ZSB1cyBqdXN0IDB4NDAsIHdoaWNoIGlzIHRvIApyZXF1ZXN0 IGEgY2hhbmdlIGluIG1vZGUgZnJvbSBMUy0+UENPTiBvciBvdGhlciB3YXkuIEJ1dCB3ZSBzYXcg bWFueSAKdGltZXMgdGhpcyBjaGFuZ2Ugd2FzIG5vdCBoYXBwZW5pbmcsIHNvIEludGVsIHJlcXVl c3RlZCBNQ0EgdG8gaGF2ZSAKYW5vdGhlciByZWdpc3RlciBvZmZzZXQgKDB4NDEpIHRvIGNvbmZp cm0gdGhlIGN1cnJlbnQgTFNQQ09OIG1vZGUuCkkgZG9udCBoYXZlIGFuIHVwZGF0ZWQgTUNBIGRv YyBvbiB0aGlzLCBidXQgSSBjYW4gYXJyYW5nZSBpZiB5b3UgaW5zaXN0IApvbiB0aGlzLgo+PiAr I2RlZmluZSAgRFBfRFVBTF9NT0RFX0xTUENPTl9NT0RFX01BU0sgICAgICAgICAgICAgICAgIDB4 MQo+Cj4gSSBkb24ndCBiZWxpZXZlICJtYXNrIiBpcyBhIGdvb2QgdGVybSBoZXJlLi4uLgo+Cj4g cHJvYmFibHkKPiBEUF9EVUFMX01PREVfTFNQQ09OX01PREVfUENPTiAoMTw8MCkKQWdyZWUsIHdp bGwgY2hhbmdlIGl0IHRvIHNvbWV0aGluZyBhcyB5b3Ugc3VnZ2VzdGVkCgpTaGFzaGFuawo+Cj4+ ICsKPj4gICBzdHJ1Y3QgaTJjX2FkYXB0ZXI7Cj4+Cj4+ICAgc3NpemVfdCBkcm1fZHBfZHVhbF9t b2RlX3JlYWQoc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyLAo+PiBAQCAtNjMsNiArNjksMTkg QEAgc3NpemVfdCBkcm1fZHBfZHVhbF9tb2RlX3dyaXRlKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRh cHRlciwKPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1OCBvZmZzZXQsIGNvbnN0 IHZvaWQgKmJ1ZmZlciwgc2l6ZV90IHNpemUpOwo+Pgo+PiAgIC8qKgo+PiArKiBlbnVtIGRybV9s c3Bjb25fbW9kZQo+PiArKiBAbHNwY29uX21vZGVfbHM6IExldmVsIHNoaWZ0ZXIgbW9kZSBvZiBM U1BDT04KPj4gKyogICAgICB3aGljaCBkcml2ZXMgRFArKyB0byBIRE1JIDEuNCBjb252ZXJzaW9u Lgo+PiArKiBAbHNwY29uX21vZGVfcGNvbjogUHJvdG9jb2wgY29udmVydGVyIG1vZGUgb2YgTFNQ Q09OCj4+ICsqICAgICAgd2hpY2ggZHJpdmVzIERQKysgdG8gSERNSSAyLjAgYWN0aXZlIGNvbnZl cnNpb24uCj4+ICsqLwo+PiArZW51bSBkcm1fbHNwY29uX21vZGUgewo+PiArICAgICAgIERSTV9M U1BDT05fTU9ERV9JTlZBTElELAo+PiArICAgICAgIERSTV9MU1BDT05fTU9ERV9MUywKPj4gKyAg ICAgICBEUk1fTFNQQ09OX01PREVfUENPTiwKPj4gK307Cj4+ICsKPj4gKy8qKgo+PiAgICAqIGVu dW0gZHJtX2RwX2R1YWxfbW9kZV90eXBlIC0gVHlwZSBvZiB0aGUgRFAgZHVhbCBtb2RlIGFkYXB0 b3IKPj4gICAgKiBARFJNX0RQX0RVQUxfTU9ERV9OT05FOiBObyBEUCBkdWFsIG1vZGUgYWRhcHRv cgo+PiAgICAqIEBEUk1fRFBfRFVBTF9NT0RFX1VOS05PV046IENvdWxkIGJlIGVpdGhlciBub25l IG9yIHR5cGUgMSBEVkkgYWRhcHRvcgo+PiBAQCAtNzAsNiArODksNyBAQCBzc2l6ZV90IGRybV9k cF9kdWFsX21vZGVfd3JpdGUoc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyLAo+PiAgICAqIEBE Uk1fRFBfRFVBTF9NT0RFX1RZUEUxX0hETUk6IFR5cGUgMSBIRE1JIGFkYXB0b3IKPj4gICAgKiBA RFJNX0RQX0RVQUxfTU9ERV9UWVBFMl9EVkk6IFR5cGUgMiBEVkkgYWRhcHRvcgo+PiAgICAqIEBE Uk1fRFBfRFVBTF9NT0RFX1RZUEUyX0hETUk6IFR5cGUgMiBIRE1JIGFkYXB0b3IKPj4gKyAqIEBE Uk1fRFBfRFVBTF9NT0RFX1RZUEUyX0xTUENPTjogTGV2ZWwgc2hpZnRlciAvcHJvdG9jb2wgY29u dmVydGVyCj4+ICAgICovCj4+ICAgZW51bSBkcm1fZHBfZHVhbF9tb2RlX3R5cGUgewo+PiAgICAg ICAgICBEUk1fRFBfRFVBTF9NT0RFX05PTkUsCj4+IEBAIC03OCw2ICs5OCw3IEBAIGVudW0gZHJt X2RwX2R1YWxfbW9kZV90eXBlIHsKPj4gICAgICAgICAgRFJNX0RQX0RVQUxfTU9ERV9UWVBFMV9I RE1JLAo+PiAgICAgICAgICBEUk1fRFBfRFVBTF9NT0RFX1RZUEUyX0RWSSwKPj4gICAgICAgICAg RFJNX0RQX0RVQUxfTU9ERV9UWVBFMl9IRE1JLAo+PiArICAgICAgIERSTV9EUF9EVUFMX01PREVf TFNQQ09OLAo+PiAgIH07Cj4+Cj4+ICAgZW51bSBkcm1fZHBfZHVhbF9tb2RlX3R5cGUgZHJtX2Rw X2R1YWxfbW9kZV9kZXRlY3Qoc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyKTsKPj4gQEAgLTg5 LDQgKzExMCw4IEBAIGludCBkcm1fZHBfZHVhbF9tb2RlX3NldF90bWRzX291dHB1dChlbnVtIGRy bV9kcF9kdWFsX21vZGVfdHlwZSB0eXBlLAo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciwgYm9vbCBlbmFibGUpOwo+PiAg IGNvbnN0IGNoYXIgKmRybV9kcF9nZXRfZHVhbF9tb2RlX3R5cGVfbmFtZShlbnVtIGRybV9kcF9k dWFsX21vZGVfdHlwZSB0eXBlKTsKPj4KPj4gK2ludCBkcm1fbHNwY29uX2dldF9tb2RlKHN0cnVj dCBpMmNfYWRhcHRlciAqYWRhcHRlciwKPj4gKyAgICAgICBlbnVtIGRybV9sc3Bjb25fbW9kZSAq Y3VycmVudF9tb2RlKTsKPj4gK2ludCBkcm1fbHNwY29uX3NldF9tb2RlKHN0cnVjdCBpMmNfYWRh cHRlciAqYWRhcHRlciwKPj4gKyAgICAgICAgICAgICAgIGVudW0gZHJtX2xzcGNvbl9tb2RlIHJl cWRfbW9kZSk7Cj4+ICAgI2VuZGlmCj4+IC0tCj4+IDEuOS4xCj4+Cj4+IF9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+IEludGVsLWdmeCBtYWlsaW5nIGxp c3QKPj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+PiBodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo+Cj4KPgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBs aXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK