From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 1/2] drm/i915: introduce pipe_config->ddi_personality Date: Tue, 28 Oct 2014 16:30:41 +0200 Message-ID: <20141028143041.GX4284@intel.com> References: <1414439272-1885-1-git-send-email-przanoni@gmail.com> <20141028074915.GW26941@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 696CA6E704 for ; Tue, 28 Oct 2014 07:30:45 -0700 (PDT) Content-Disposition: inline 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: Paulo Zanoni Cc: Daniel Vetter , Intel Graphics Development , Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBPY3QgMjgsIDIwMTQgYXQgMTE6MjY6NTFBTSAtMDIwMCwgUGF1bG8gWmFub25pIHdy b3RlOgo+IDIwMTQtMTAtMjggNTo0OSBHTVQtMDI6MDAgRGFuaWVsIFZldHRlciA8ZGFuaWVsQGZm d2xsLmNoPjoKPiA+IE9uIE1vbiwgT2N0IDI3LCAyMDE0IGF0IDA1OjQ3OjUxUE0gLTAyMDAsIFBh dWxvIFphbm9uaSB3cm90ZToKPiA+PiBGcm9tOiBQYXVsbyBaYW5vbmkgPHBhdWxvLnIuemFub25p QGludGVsLmNvbT4KPiA+Pgo+ID4+IE9uIEhTVyssIG9uZSBlbmNvZGVyIChEREkpIGNhbiBoYXZl IG11bHRpcGxlIGNvbm5lY3RvcnMgKEhETUkgYW5kIERQKS4KPiA+PiBJZiBubyBjb25uZWN0b3Ig aXMgY29ubmVjdGVkLCB3ZSBjb25zaWRlciB0aGUgZW5jb2RlciB0eXBlIHRvIGJlCj4gPj4gSU5U RUxfT1VUUFVUX1VOS05PV04uIFRoZSBwcm9ibGVtIGlzIHRoYXQgd2UgYWxsb3cgdXNlciBzcGFj ZSB0byBzZXQKPiA+PiBtb2RlcyBvbiBkaXNjb25uZWN0ZWQgY29ubmVjdG9ycywgc28gd2hlbiB3 ZSB0cnkgdG8gc2V0IGEgbW9kZSBvbiBhbgo+ID4+IElOVEVMX09VVFBVVF9VTktOT1dOIGNvbm5l Y3Rvciwgd2UgZG9uJ3Qga25vdyB3aGF0IHRvIGRvIGFuZCBlbmQgdXAKPiA+PiBwcmludGluZyBh IFdBUk4uIFNvIG9uIHRoaXMgcGF0Y2gsIHdlIGludHJvZHVjZQo+ID4+IHBpcGVfY29uZmlnLT5k ZGlfcGVyc29uYWxpdHkgdG8gaGVscCB3aXRoIHRoYXQuCj4gPj4KPiA+PiBXaGVuIHRoZSB1c2Vy IHNwYWNlIHNldHMgYSBtb2RlIG9uIGEgY29ubmVjdG9yLCB3ZSBjaGVjayB0aGUgY29ubmVjdG9y Cj4gPj4gdHlwZSBhbmQgbWF0Y2ggaXQgYWdhaW5zdCBpbnRlbF9lbmNvZGVyLT50eXBlIGFuZCBz ZXQgdGhlIERESQo+ID4+IHBlcnNvbmFsaXR5IGFjY29yZGluZ2x5LiBUaGVuLCBhZnRlciB0aGUg Y29tcHV0ZSBjb25maWcgc3RhZ2UgaXMgb3ZlciwKPiA+PiB3ZSBwcm9wZXJseSBhc3NpZ24gdGhl IHBlcnNvbmFsaXR5IHRvIGludGVsX2VuY29kZXItPnR5cGUuCj4gPj4KPiA+PiBUaGlzIHBhdGNo IHdhcyBwcmV2aW91c2x5IGNhbGxlZCAiZHJtL2k5MTU6IFNldCB0aGUgZGlnaXRhbCBwb3J0Cj4g Pj4gZW5jb2RlciBwZXJzb25hbGl0eSBkdXJpbmcgbW9kZXNldCIuCj4gPj4KPiA+PiBSZWZlcmVu Y2VzOiBodHRwOi8vcGF0Y2h3b3JrLmZyZWVkZXNrdG9wLm9yZy9wYXRjaC8xNzgzOC8KPiA+PiBU ZXN0Y2FzZTogaWd0L2ttc19zZXRtb2RlL2Nsb25lLWV4Y2x1c2l2ZS1jcnRjCj4gPj4gQnVnemls bGE6IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDYzCj4g Pj4gQ3JlZGl0cy10bzogRGFtaWVuIExlc3BpYXUgPGRhbWllbi5sZXNwaWF1QGludGVsLmNvbT4g KGZvciB0aGUKPiA+PiBwcmV2aW91cyB2ZXJzaW9ucyBvZiB0aGUgcGF0Y2gpLgo+ID4+IENjOiBE YW1pZW4gTGVzcGlhdSA8ZGFtaWVuLmxlc3BpYXVAaW50ZWwuY29tPgo+ID4+IENjOiBEYW5pZWwg VmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgo+ID4+IFNpZ25lZC1vZmYtYnk6IFBhdWxv IFphbm9uaSA8cGF1bG8uci56YW5vbmlAaW50ZWwuY29tPgo+ID4+IC0tLQo+ID4+ICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyAgICAgfCA5NyArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrLS0KPiA+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j IHwgIDIgKwo+ID4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAgNCAr Kwo+ID4+ICAzIGZpbGVzIGNoYW5nZWQsIDEwMCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygt KQo+ID4+Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiA+PiBpbmRleCBjYjUzNjdjLi41 Y2RjMmY0IDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5j Cj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiA+PiBAQCAtMTU1 NywxOCArMTU1NywxMDkgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX2Rlc3Ryb3koc3RydWN0IGRy bV9lbmNvZGVyICplbmNvZGVyKQo+ID4+ICAgICAgIGludGVsX2RwX2VuY29kZXJfZGVzdHJveShl bmNvZGVyKTsKPiA+PiAgfQo+ID4+Cj4gPj4gK3N0YXRpYyBib29sIGludGVsX2RkaV9zZXRfcGVy c29uYWxpdHkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGludGVsX2NydGNfY29uZmlnICpwaXBlX2Nv bmZpZykKPiA+PiArewo+ID4+ICsgICAgIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVy LT5iYXNlLmRldjsKPiA+PiArICAgICBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3I7 Cj4gPj4gKyAgICAgaW50IGNvbm5lY3RvcnMgPSAwOwo+ID4+ICsgICAgIGVudW0gcG9ydCBwb3J0 ID0gaW50ZWxfZGRpX2dldF9lbmNvZGVyX3BvcnQoZW5jb2Rlcik7Cj4gPj4gKwo+ID4+ICsgICAg IGxpc3RfZm9yX2VhY2hfZW50cnkoY29ubmVjdG9yLCAmZGV2LT5tb2RlX2NvbmZpZy5jb25uZWN0 b3JfbGlzdCwKPiA+PiArICAgICAgICAgICAgICAgICAgICAgICAgIGJhc2UuaGVhZCkgewo+ID4+ ICsKPiA+PiArICAgICAgICAgICAgIGlmIChjb25uZWN0b3ItPm5ld19lbmNvZGVyICE9IGVuY29k ZXIpCj4gPj4gKyAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwo+ID4+ICsKPiA+PiArICAg ICAgICAgICAgIGNvbm5lY3RvcnMrKzsKPiA+PiArICAgICAgICAgICAgIGlmIChXQVJOX09OKGNv bm5lY3RvcnMgPiAxKSkKPiA+PiArICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwo+ ID4+ICsKPiA+PiArICAgICAgICAgICAgIHN3aXRjaCAoY29ubmVjdG9yLT5iYXNlLmNvbm5lY3Rv cl90eXBlKSB7Cj4gPj4gKyAgICAgICAgICAgICBjYXNlIERSTV9NT0RFX0NPTk5FQ1RPUl9IRE1J QToKPiA+PiArICAgICAgICAgICAgIGNhc2UgRFJNX01PREVfQ09OTkVDVE9SX0hETUlCOgo+ID4+ ICsgICAgICAgICAgICAgICAgICAgICBwaXBlX2NvbmZpZy0+ZGRpX3BlcnNvbmFsaXR5ID0gSU5U RUxfT1VUUFVUX0hETUk7Cj4gPj4gKyAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwo+ID4+ICsg ICAgICAgICAgICAgY2FzZSBEUk1fTU9ERV9DT05ORUNUT1JfRGlzcGxheVBvcnQ6Cj4gPj4gKyAg ICAgICAgICAgICAgICAgICAgIHBpcGVfY29uZmlnLT5kZGlfcGVyc29uYWxpdHkgPSBJTlRFTF9P VVRQVVRfRElTUExBWVBPUlQ7Cj4gPj4gKyAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwo+ID4+ ICsgICAgICAgICAgICAgY2FzZSBEUk1fTU9ERV9DT05ORUNUT1JfZURQOgo+ID4+ICsgICAgICAg ICAgICAgICAgICAgICBwaXBlX2NvbmZpZy0+ZGRpX3BlcnNvbmFsaXR5ID0gSU5URUxfT1VUUFVU X0VEUDsKPiA+PiArICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cj4gPj4gKyAgICAgICAgICAg ICBkZWZhdWx0Ogo+ID4+ICsgICAgICAgICAgICAgICAgICAgICBXQVJOKDEsICJEUk0gY29ubmVj dG9yIHR5cGUgJWRcbiIsCj4gPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29ubmVjdG9y LT5iYXNlLmNvbm5lY3Rvcl90eXBlKTsKPiA+PiArICAgICAgICAgICAgICAgICAgICAgcmV0dXJu IGZhbHNlOwo+ID4+ICsgICAgICAgICAgICAgfQo+ID4+ICsKPiA+PiArICAgICAgICAgICAgIGlm IChlbmNvZGVyLT50eXBlID09IHBpcGVfY29uZmlnLT5kZGlfcGVyc29uYWxpdHkpCj4gPj4gKyAg ICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwo+ID4+ICsKPiA+PiArICAgICAgICAgICAgIC8q IFdlIGV4cGVjdCBlRFAgdG8gYWx3YXlzIGhhdmUgZW5jb2Rlci0+dHlwZSBjb3JyZWN0bHkgc2V0 LCBzbwo+ID4+ICsgICAgICAgICAgICAgICogaXQgc2hvdWxkbid0IHJlYWNoIHRoaXMgcG9pbnQu ICovCj4gPj4gKyAgICAgICAgICAgICBpZiAocGlwZV9jb25maWctPmRkaV9wZXJzb25hbGl0eSA9 PSBJTlRFTF9PVVRQVVRfRURQKSB7Cj4gPj4gKyAgICAgICAgICAgICAgICAgICAgIERSTV9FUlJP UigiRERJICVjLCB0eXBlICVzIG1hcmtlZCBhcyBlRFBcbiIsCj4gPj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgcG9ydF9uYW1lKHBvcnQpLAo+ID4+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGludGVsX291dHB1dF9uYW1lKGVuY29kZXItPnR5cGUpKTsKPiA+PiAr ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwo+ID4+ICsgICAgICAgICAgICAgfQo+ ID4+ICsKPiA+PiArICAgICAgICAgICAgIC8qCj4gPj4gKyAgICAgICAgICAgICAgKiBXZSBjYW4n dCBjaGFuZ2UgdGhlIERESSB0eXBlIGlmIHdlIGFscmVhZHkgaGF2ZSBhIGNvbm5lY3RlZAo+ID4+ ICsgICAgICAgICAgICAgICogZGV2aWNlIG9uIHRoaXMgcG9ydC4gVGhlIGZpcnN0IHRpbWUgYSBE REkgaXMgdXNlZCB0aG91Z2gKPiA+PiArICAgICAgICAgICAgICAqIChlbmNvZGVyX3R5cGUgaXMg SU5URUxfT1VUUFVUX1VOS05PV04pIGFuZCB3ZSBmb3JjZSBhCj4gPj4gKyAgICAgICAgICAgICAg KiBjb25uZWN0b3IgdG8gYmUgY29ubmVjdGVkIChlaXRoZXIgdHJvdWdodCB0aGUga2VybmVsIGNv bW1hbmQKPiA+PiArICAgICAgICAgICAgICAqIGxpbmUgb3IgS01TKSB3ZSBuZWVkIHRvIGNvbXBs eS4KPiA+PiArICAgICAgICAgICAgICAqLwo+ID4+ICsgICAgICAgICAgICAgIGlmIChlbmNvZGVy LT50eXBlICE9IElOVEVMX09VVFBVVF9VTktOT1dOICYmCj4gPj4gKyAgICAgICAgICAgICAgICAg IGNvbm5lY3Rvci0+YmFzZS5zdGF0dXMgPT0gY29ubmVjdG9yX3N0YXR1c19jb25uZWN0ZWQpIHsK PiA+PiArICAgICAgICAgICAgICAgICAgICAgIERSTV9ERUJVR19LTVMoIkNhbid0IHNldCBEREkg JWMgcGVyc29uYWxpdHkgdG8gJXMsIGl0IGhhcyBhIGNvbm5lY3RlZCAlcyBkZXZpY2VcbiIsCj4g Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3J0X25hbWUocG9ydCks Cj4gPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlbF9vdXRwdXRf bmFtZShlbmNvZGVyLT50eXBlKSwKPiA+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGludGVsX291dHB1dF9uYW1lKHBpcGVfY29uZmlnLT5kZGlfcGVyc29uYWxpdHkpKTsK PiA+PiArICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKPiA+PiArICAgICAgICAg ICAgIH0KPiA+Cj4gPiBJIHRoaW5rIHRoaXMgcGFydCBpcyBiZXR0ZXIgZG9uZSB3aXRoIFZpbGxl J3MgbW9yZSBnZW5lcmFsICJkbyB3ZSBoYXZlCj4gPiBib3RoIGhkbWkgYW5kIGRwIG9uIHRoZSBz YW1lIGRpZ19wb3J0PyIgY2hlY2suIENhcmUgdG8gcmV2aWV3IFZpbGxlJ3MKPiA+IHBhdGNoIGlu c3RlYWQ/IFRob21hcyBXb29kIGlzIHNpZ25lZCB1cCBmb3IgaXQgb24gdGhlIHJldmlldyBib2Fy ZCBidXQgSQo+ID4gZ3Vlc3MgeW91IGNhbiBzdGVhbCB0aGF0IHRhc2suCj4gCj4gVmlsbGUncyBw YXRjaCBzb2x2ZXMgYSBkaWZmZXJlbnQgcHJvYmxlbS4gSSBqdXN0IHJldmlld2VkIGl0LCBidXQg d2UKPiBzdGlsbCBuZWVkIHRoZSBjaGVjayBhYm92ZS4gVGhlIGNvZGUgYWJvdmUgaXMgaW4gY2Fz ZSwgZm9yIGV4YW1wbGUsCj4gdGhlcmUncyBhIERQIGNvbm5lY3RvciBhY3R1YWxseSBjb25uZWN0 ZWQgKGJ1dCB3aXRob3V0IGEgbW9kZSBzZXQpLAo+IGFuZCB0aGVuIHRoZSB1c2VyIHRyaWVzIHRv IHNldCBhIG1vZGUgb24gdGhlIEhETUkgY29ubmVjdG9yIG9mIHRoaXMKPiBlbmNvZGVyLgoKU2hv dWxkIHdlIGV2ZW4gY2FyZSBhYm91dCB0aGF0IGlzc3VlPyBGb3JjaW5nIGEgSERNSSBtb2RlIG9u IGEgcG9ydCBldmVuCndoZW4gdGhlcmUncyBhIERQIG1vbml0b3IgcGx1Z2dlZCBpbiBkb2VzIG1h a2UgaXQgZWFzaWVyIHRvIHRlc3QgdGhpbmdzCndpdGhvdXQgaGF2aW5nIHRvIHlhbmsgb3V0IHRo ZSBjYWJsZXMgYWxsIHRoZSB0aW1lLiBBbHNvIHlvdXIgcGF0Y2gKd291bGRuJ3QgZml4IHRoYXQg cHJvYmxlbSBmb3Igbm9uLWRkaSBwbGF0Zm9ybXMuCgpJIHdvdWxkIHN1Z2dlc3QgdGhhdCB3ZSBz aG91bGQgYWxsb3cgdGhpcyBiZWhhdmlvdXIgdW5sZXNzIHRoZXJlJ3Mgc29tZQpyaXNrIG9mIGNh dXNpbmcgcHJvYmxlbXMgdG8gdGhlIHNpbmsuIEFub3RoZXIgcmVhc29uIGZvciByZWplY3Rpbmcg aXQKd291bGQgYmUgaWYgYXV4IHdvdWxkIHN0b3Agd29ya2luZywgYnV0IEkgZG9uJ3QgdGhpbmsg dGhhdCBzaG91bGQgYmUgdGhlCmNhc2Ugc2luY2Ugd2UgY2FuIGRvIGJvdGggZ21idXMgYW5kIGF1 eCBkdXJpbmcgcHJvYmluZyBhbnl3YXkuCgo+IAo+ID4KPiA+PiArCj4gPj4gKyAgICAgICAgICAg ICBEUk1fREVCVUdfS01TKCJTZXR0aW5nIERESSAlYyBwZXJzb25hbGl0eSB0byAlc1xuIiwKPiA+ PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9ydF9uYW1lKHBvcnQpLAo+ID4+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICBpbnRlbF9vdXRwdXRfbmFtZShwaXBlX2NvbmZpZy0+ZGRp X3BlcnNvbmFsaXR5KSk7Cj4gPj4gKyAgICAgfQo+ID4+ICsKPiA+PiArICAgICByZXR1cm4gdHJ1 ZTsKPiA+PiArCj4gPj4gK30KPiA+PiArCj4gPj4gK3ZvaWQgaW50ZWxfZGRpX2NvbW1pdF9wZXJz b25hbGl0eShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiA+PiArewo+ID4+ICsgICAgIHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyID0gaW50ZWxfZGRpX2dldF9jcnRjX2VuY29kZXIoJmNy dGMtPmJhc2UpOwo+ID4+ICsKPiA+PiArICAgICBzd2l0Y2ggKGVuY29kZXItPnR5cGUpIHsKPiA+ PiArICAgICBjYXNlIElOVEVMX09VVFBVVF9IRE1JOgo+ID4+ICsgICAgIGNhc2UgSU5URUxfT1VU UFVUX0RJU1BMQVlQT1JUOgo+ID4+ICsgICAgIGNhc2UgSU5URUxfT1VUUFVUX0VEUDoKPiA+PiAr ICAgICBjYXNlIElOVEVMX09VVFBVVF9VTktOT1dOOgo+ID4+ICsgICAgICAgICAgICAgZW5jb2Rl ci0+dHlwZSA9IGNydGMtPmNvbmZpZy5kZGlfcGVyc29uYWxpdHk7Cj4gPj4gKyAgICAgICAgICAg ICBicmVhazsKPiA+PiArICAgICBjYXNlIElOVEVMX09VVFBVVF9BTkFMT0c6Cj4gPj4gKyAgICAg ICAgICAgICBicmVhazsKPiA+PiArICAgICBkZWZhdWx0Ogo+ID4+ICsgICAgICAgICAgICAgV0FS TigxLCAiT3V0cHV0IHR5cGUgJXNcbiIsIGludGVsX291dHB1dF9uYW1lKGVuY29kZXItPnR5cGUp KTsKPiA+PiArICAgICAgICAgICAgIGJyZWFrOwo+ID4+ICsgICAgIH0KPiA+PiArfQo+ID4+ICsK PiA+PiAgc3RhdGljIGJvb2wgaW50ZWxfZGRpX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyLAo+ID4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RydWN0IGludGVsX2NydGNfY29uZmlnICpwaXBlX2NvbmZpZykKPiA+PiAgewo+ID4+IC0gICAg IGludCB0eXBlID0gZW5jb2Rlci0+dHlwZTsKPiA+PiAgICAgICBpbnQgcG9ydCA9IGludGVsX2Rk aV9nZXRfZW5jb2Rlcl9wb3J0KGVuY29kZXIpOwo+ID4+Cj4gPj4gLSAgICAgV0FSTih0eXBlID09 IElOVEVMX09VVFBVVF9VTktOT1dOLCAiY29tcHV0ZV9jb25maWcoKSBvbiB1bmtub3duIG91dHB1 dCFcbiIpOwo+ID4+ICsgICAgIGlmICghaW50ZWxfZGRpX3NldF9wZXJzb25hbGl0eShlbmNvZGVy LCBwaXBlX2NvbmZpZykpCj4gPj4gKyAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cj4gPj4KPiA+ PiAgICAgICBpZiAocG9ydCA9PSBQT1JUX0EpCj4gPj4gICAgICAgICAgICAgICBwaXBlX2NvbmZp Zy0+Y3B1X3RyYW5zY29kZXIgPSBUUkFOU0NPREVSX0VEUDsKPiA+Pgo+ID4+IC0gICAgIGlmICh0 eXBlID09IElOVEVMX09VVFBVVF9IRE1JKQo+ID4+ICsgICAgIGlmIChwaXBlX2NvbmZpZy0+ZGRp X3BlcnNvbmFsaXR5ID09IElOVEVMX09VVFBVVF9IRE1JKQo+ID4+ICAgICAgICAgICAgICAgcmV0 dXJuIGludGVsX2hkbWlfY29tcHV0ZV9jb25maWcoZW5jb2RlciwgcGlwZV9jb25maWcpOwo+ID4+ ICAgICAgIGVsc2UKPiA+PiAgICAgICAgICAgICAgIHJldHVybiBpbnRlbF9kcF9jb21wdXRlX2Nv bmZpZyhlbmNvZGVyLCBwaXBlX2NvbmZpZyk7Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rp c3BsYXkuYwo+ID4+IGluZGV4IGI1ZGJjODguLjE2NzUwYzQgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gPj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gPj4gQEAgLTc4MTAsNiArNzgxMCw4IEBAIHN0YXRp YyBpbnQgaGFzd2VsbF9jcnRjX21vZGVfc2V0KHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAo+ID4+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeCwgaW50IHksCj4gPj4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiKQo+ID4+ ICB7Cj4gPj4gKyAgICAgaW50ZWxfZGRpX2NvbW1pdF9wZXJzb25hbGl0eShjcnRjKTsKPiA+Cj4g PiBUaGlzIHdpbGwgY29uZmxpY3Qgd2l0aCBBbmRlcidzIGluLWZsaWdodCBwYXRjaGVzIHRvIGNv bXBsZXRlbHkgcmVtb3ZlIHRoZQo+ID4gbW9kZXNldCBjYWxsYmFjay4gQnV0IEknbSBub3QgcmVh bGx5IHN1cmUKPiA+Cj4gPiBBbHNvIEknbSBub3Qgc3VyZSB3aGV0aGVyIHdlIHNob3VsZCBrZWVw IHVwZGF0aW5nIGVuY29kZXItPnR5cGUgbm93IHRoYXQKPiA+IHdlIGhhdmUgZGRpX3BlcnNvbmFs aXR5IC0gdHJhY2tpbmcgdGhlIHNhbWUgc3RhdGUgaW4gdHdvIHBsYWNlcyB1c3VhbGx5Cj4gPiBs ZWFkcyB0byBidWdzLiBJbW8gaXQncyBiZXR0ZXIgdG8gc3dpdGNoIGFsbCBleGlzdGluZyBlbmNv ZGVyLT50eXBlIGNoZWNrcwo+ID4gaW4gdGhlIGRkaSBjb2RlIG92ZXIgdG8gY2hlY2sgY29uZmln LT5kZGlfcGVyc29uYWxpdHkuIFdlIG1pZ2h0IG5lZWQgYQo+ID4gcHJlcCBwYXRjaCB0byBhbHNv IHNldCB0aGUgZGRpX3BlcnNvbmFsaXR5IHRvIEZESSBmb3IgdGhlIHZnYSBvdXRwdXQgb24KPiA+ IGhzdy4gVGhpbmtpbmcgYWJvdXQgdGhpcywgYSBzZXBhcmF0ZSBlbnVtIG1pZ2h0IGxvb2sgcHJl dHR5IGZvciB0aGlzLiBPcgo+ID4ganVzdCBtYXRjaCB0aGUgYml0ZmllbGQgZW51bSBvZiB0aGUg cmVnaXN0ZXIuCj4gPgo+ID4gQWxzbyBJIHRoaW5rIHdlIHNob3VsZCBoYXZlIHN0YXRlIHJlYWRv dXQgc3VwcG9ydCBmb3IgZGRpX3BlcnNvbmFsaXR5IGp1c3QKPiA+IGZvciBwYXJhbm9pYS4KPiA+ IC1EYW5pZWwKPiA+Cj4gPj4gKwo+ID4+ICAgICAgIGlmICghaW50ZWxfZGRpX3BsbF9zZWxlY3Qo Y3J0YykpCj4gPj4gICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKPiA+Pgo+ID4+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oCj4gPj4gaW5kZXggNWFiODEzYy4uYmYzMjY3YyAxMDA2NDQKPiA+ PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPj4gQEAgLTM4Niw2ICszODYsOSBAQCBzdHJ1 Y3QgaW50ZWxfY3J0Y19jb25maWcgewo+ID4+Cj4gPj4gICAgICAgYm9vbCBkcF9lbmNvZGVyX2lz X21zdDsKPiA+PiAgICAgICBpbnQgcGJuOwo+ID4+ICsKPiA+PiArICAgICAvKiBUaGlzIHNob3Vs ZCBiZSBJTlRFTF9PVVRQVVRfKi4gKi8KPiA+PiArICAgICBpbnQgZGRpX3BlcnNvbmFsaXR5Owo+ ID4+ICB9Owo+ID4+Cj4gPj4gIHN0cnVjdCBpbnRlbF9waXBlX3dtIHsKPiA+PiBAQCAtODE3LDYg KzgyMCw3IEBAIHZvaWQgaW50ZWxfZGRpX2luaXRfZHBfYnVmX3JlZyhzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2Rlcik7Cj4gPj4gIHZvaWQgaW50ZWxfZGRpX2Nsb2NrX2dldChzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+PiAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBp bnRlbF9jcnRjX2NvbmZpZyAqcGlwZV9jb25maWcpOwo+ID4+ICB2b2lkIGludGVsX2RkaV9zZXRf dmNfcGF5bG9hZF9hbGxvYyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIGJvb2wgc3RhdGUpOwo+ID4+ ICt2b2lkIGludGVsX2RkaV9jb21taXRfcGVyc29uYWxpdHkoc3RydWN0IGludGVsX2NydGMgKmNy dGMpOwo+ID4+Cj4gPj4gIC8qIGludGVsX2Zyb250YnVmZmVyLmMgKi8KPiA+PiAgdm9pZCBpbnRl bF9mYl9vYmpfaW52YWxpZGF0ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAo+ID4+ IC0tCj4gPj4gMi4xLjEKPiA+Pgo+ID4KPiA+IC0tCj4gPiBEYW5pZWwgVmV0dGVyCj4gPiBTb2Z0 d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KPiA+ICs0MSAoMCkgNzkgMzY1IDU3IDQ4 IC0gaHR0cDovL2Jsb2cuZmZ3bGwuY2gKPiAKPiAKPiAKPiAtLSAKPiBQYXVsbyBaYW5vbmkKPiBf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IEludGVsLWdm eCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cDov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAoKLS0gClZp bGxlIFN5cmrDpGzDpApJbnRlbCBPVEMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngK