From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Sharma, Shashank" Subject: Re: [PATCH v8 5/6] drm/i915: enable scrambling Date: Wed, 8 Mar 2017 20:00:25 +0200 Message-ID: <9e73e416-3696-52a7-a501-14448b2d4bad@intel.com> References: <1488980269-13046-1-git-send-email-shashank.sharma@intel.com> <1488980269-13046-6-git-send-email-shashank.sharma@intel.com> <20170308171733.GL31595@intel.com> <20170308174445.GN31595@intel.com> <8d7ebecc-1d4e-5d86-bdde-5419b127d284@intel.com> <20170308175658.GO31595@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170308175658.GO31595@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= Cc: jose.abreu@synopsys.com, ander.conselvan.de.oliveira@intel.com, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, daniel.vetter@intel.com, treding@nvidia.com List-Id: dri-devel@lists.freedesktop.org UmVnYXJkcwoKU2hhc2hhbmsKCgpPbiAzLzgvMjAxNyA3OjU2IFBNLCBWaWxsZSBTeXJqw6Rsw6Qg d3JvdGU6Cj4gT24gV2VkLCBNYXIgMDgsIDIwMTcgYXQgMDc6NTA6NDVQTSArMDIwMCwgU2hhcm1h LCBTaGFzaGFuayB3cm90ZToKPj4gUmVnYXJkcwo+Pgo+PiBTaGFzaGFuawo+Pgo+Pgo+PiBPbiAz LzgvMjAxNyA3OjQ0IFBNLCBWaWxsZSBTeXJqw6Rsw6Qgd3JvdGU6Cj4+PiBPbiBXZWQsIE1hciAw OCwgMjAxNyBhdCAwNzoyNjo0NVBNICswMjAwLCBTaGFybWEsIFNoYXNoYW5rIHdyb3RlOgo+Pj4+ IFJlZ2FyZHMKPj4+Pgo+Pj4+IFNoYXNoYW5rCj4+Pj4KPj4+Pgo+Pj4+IE9uIDMvOC8yMDE3IDc6 MTcgUE0sIFZpbGxlIFN5cmrDpGzDpCB3cm90ZToKPj4+Pj4gT24gV2VkLCBNYXIgMDgsIDIwMTcg YXQgMDc6MDc6NDhQTSArMDUzMCwgU2hhc2hhbmsgU2hhcm1hIHdyb3RlOgo+Pj4+Pj4gICAgIEdl bWluaWxha2UgcGxhdGZvcm0gc3BvcnRzIGEgbmF0aXZlIEhETUkgMi4wIGNvbnRyb2xsZXIsIGFu ZCBpcwo+Pj4+Pj4gICAgIGNhcGFibGUgb2YgZHJpdmluZyBwaXhlbC1jbG9ja3MgdXB0byA1OTRN aHouIEhETUkgMi4wIHNwZWMKPj4+Pj4+ICAgICBtZW5kYXRlcyBzY3JhbWJsaW5nIGZvciB0aGVz ZSBoaWdoZXIgY2xvY2tzLCBmb3IgcmVkdWNlZCBSRiBmb290cHJpbnQuCj4+Pj4+Pgo+Pj4+Pj4g ICAgIFRoaXMgcGF0Y2ggY2hlY2tzIGlmIHRoZSBtb25pdG9yIHN1cHBvcnRzIHNjcmFtYmxpbmcs IGFuZCBpZiByZXF1aXJlZCwKPj4+Pj4+ICAgICBlbmFibGVzIGl0IGR1cmluZyB0aGUgbW9kZXNl dC4KPj4+Pj4+Cj4+Pj4+PiAgICAgVjI6IEFkZHJlc3NlZCByZXZpZXcgY29tbWVudHMgZnJvbSBW aWxsZToKPj4+Pj4+ICAgICAtIERvIG5vdCB0cmFjayBzY3JhbWJsaW5nIHN0YXR1cyBpbiBEUk0g bGF5ZXIsIHRyYWNrIHNvbWV3aGVyZSBpbgo+Pj4+Pj4gICAgICAgZHJpdmVyIGxpa2UgaW4gaW50 ZWxfY3J0Y19zdGF0ZS4KPj4+Pj4+ICAgICAtIERvbid0IHRhbGsgdG8gbW9uaXRvciBhdCBzdWNo IGEgbG93IGxheWVyLCBzZXQgbW9uaXRvciBzY3JhbWJsaW5nCj4+Pj4+PiAgICAgICBpbiBpbnRl bF9lbmFibGVfZGRpKCkgYmVmb3JlIGVuYWJsaW5nIHRoZSBwb3J0Lgo+Pj4+Pj4KPj4+Pj4+ICAg ICBWMzogQWRkcmVzc2VkIHJldmlldyBjb21tZW50cyBmcm9tIEphbmkKPj4+Pj4+ICAgICAtIElu IGNvbW1lbnRzLCBmdW5jdGlvbiBuYW1lcywgdXNlICJzaW5rIiBpbnN0ZWFkIG9mICJtb25pdG9y IiwKPj4+Pj4+ICAgICAgIHNvIHRoYXQgdGhlIGltcGxlbWVudGF0aW9uIGNvdWxkIGJlIGNsb3Nl IHRvIHRoZSBsYW5ndWFnZSBvZgo+Pj4+Pj4gICAgICAgSERNSSBzcGVjLgo+Pj4+Pj4KPj4+Pj4+ IFY0OiBBZGRyZXNzZWQgcmV2aWV3IGNvbW1lbnQgZnJvbSBNYWFydGVuCj4+Pj4+PiAgICAgLSBz Y3JhbWJsaW5nIC0+IGhkbWlfc2NyYW1ibGluZwo+Pj4+Pj4gICAgIC0gaGlnaF90bWRzX2Nsb2Nr X3JhdGlvIC0+IGhkbWlfaGlnaF90bWRzX2Nsb2NrX3JhdGlvCj4+Pj4+Pgo+Pj4+Pj4gVjU6IEFk ZHJlc3NlZCByZXZpZXcgY29tbWVudHMgZnJvbSBWaWxsZSBhbmQgQW5kZXIKPj4+Pj4+ICAgICAt IERvIG5vdCBtb2RpZml5IHRoZSBjcnRjX3N0YXRlIGFmdGVyIGNvbXB1dGVfY29uZmlnLiBNb3Zl IGFsbAo+Pj4+Pj4gICAgICAgc2NyYW1ibGluZyBhbmQgdG1kc19jbG9ja19yYXRpbyBjYWxjdXRh dGlvbnMgdG8gY29tcHV0ZV9jb25maWcuCj4+Pj4+PiAgICAgLSBXaGlsZSBzZXR0aW5nIHNjcmFt YmxpbmcgZm9yIHNvdXJjZS9zaW5rLCBkbyBub3QgY2hlY2sgdGhlCj4+Pj4+PiAgICAgICBjb25k aXRpb25zIGFnYWluLCBqdXN0IGdvIGJ5IHRoZSBjcnRjX3N0YXRlIGZsYWdzLiBUaGlzIHdpbGwK Pj4+Pj4+ICAgICAgIHNpbXBseWZ5IHRoZSBjb25kaXRpb24gY2hlY2tzLgo+Pj4+Pj4KPj4+Pj4+ IFY2OiBBZGRyZXNzZWQgcmV2aWV3IGNvbW1lbnRzIGZyb20gVmlsbGUKPj4+Pj4+ICAgICAtIERv IG5vdCBhZGQgSVNfR0xLIGNoZWNrIGluIGRpc2FibGUvZW5hYmxlIGZ1bmN0aW9uLCBpbnN0ZWFk IGFkZCBpdAo+Pj4+Pj4gICAgICAgaW4gY29tcHV0ZV9jb25maWcsIHdoaWxlIHNldHRpbmcgc3Rh dGUgZmxhZ3MuCj4+Pj4+PiAgICAgLSBSZW1vdmUgdW5uZWNlc3NhcnkgcGFyYW50aGVzaXMuCj4+ Pj4+PiAgICAgLSBTaW1wbHlmeSBoYW5kbGVfc2lua19zY3JhbWJsaW5nIGZ1bmN0aW9uIGFzIHN1 Z2dlc3RlZC4KPj4+Pj4+ICAgICAtIEFkZCByZWFkb3V0IGNvZGUgZm9yIHNjcmFtYmxpbmcgc3Rh dHVzIGluIGdldF9kZGlfY29uZmlnIGFuZCBhZGQgYQo+Pj4+Pj4gICAgICAgY2hlY2sgZm9yIHRo ZSBzYW1lIGluIHBpcGVfY29uZmlnX2NvbXBhcmUuCj4+Pj4+Pgo+Pj4+Pj4gVjc6IEFkZHJlc3Nl ZCByZXZpZXcgY29tbWVudHMgZnJvbSBBbmRlci9WaWxsZQo+Pj4+Pj4gICAgIC0gTm8gc2VwYXJh dGUgZnVuY3Rpb24gZm9yIHNvdXJjZSBzY3JhbWJsaW5nLCBtYWtlIGl0IGlubGluZQo+Pj4+Pj4g ICAgIC0gQWxpZ24gdGhlIGxhc3QgbGluZSBvZiB0aGUgbWFjcm8gVFJBTlNfRERJX0hETUlfU0NS QU1CTElOR19NQVNLCj4+Pj4+PiAgICAgLSBEbyBub3QgYWRkIHBsYXRmb3JtIGNoZWNrIHdoaWxl IHNldHRpbmcgc291cmNlIHNjcmFtYmxpbmcKPj4+Pj4+ICAgICAtIFVzZSBwaXBlX2NvbmZpZyBp bnN0ZWFkIG9mIGNydGMtPmNvbmZpZyB0byBzZXQgc2luayBzY3JhbWJsaW5nCj4+Pj4+PiAgICAg LSBUbyByZWFkb3V0IHNjcmFtYmxpbmcgc3RhdHVzLCBDb21wYXJlIHdpdGggU0NSQU1CTElOR19N QVNLCj4+Pj4+PiAgICAgICBub3QgYW55IG9mIGl0cyBiaXRzCj4+Pj4+PiAgICAgLSBSZW1vdmUg cGxhdGZvcm0gY2hlY2sgaW4gaW50ZWxfcGlwZV9jb25maWdfY29tcGFyZSB3aGlsZSBjaGVja2lu Zwo+Pj4+Pj4gICAgICAgc2NyYW1ibGluZyBzdGF0dXMKPj4+Pj4+Cj4+Pj4+PiBWODogRml4ZWQg bWVnZSBjb25mbGljdCwgQWRkcmVzc2VkIHJldmlldyBjb21tZW50cyBmcm9tIEFuZGVyCj4+Pj4+ PiAgICAgLSBSZW1vdmUgdGhlIGRlc2NpcHRpb24vY29tbWVudCBhYm91dCBzY3JhbWJsaW5nIGZv bSB0aGUgY2FsbGVyLCBtb3ZlCj4+Pj4+PiAgICAgICBpdCB0byB0aGUgZnVuY3Rpb24KPj4+Pj4+ ICAgICAtIE1vdmUgdGhlIElTX0dMSyBjaGVjayBpbnRvIHNjcmFtYmxpbmcgZnVuY3Rpb24KPj4+ Pj4+ICAgICAtIEZpeCBhbGlnbm1lbnQKPj4+Pj4+Cj4+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBTaGFz aGFuayBTaGFybWEgPHNoYXNoYW5rLnNoYXJtYUBpbnRlbC5jb20+Cj4+Pj4+PiAtLS0KPj4+Pj4+ ICAgICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICAgICAgfCAgNyArKysrCj4+Pj4+ PiAgICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgICAgIHwgMTkgKysrKysrKysr KysKPj4+Pj4+ICAgICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAgMyAr Kwo+Pj4+Pj4gICAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8IDEwICsr KysrKwo+Pj4+Pj4gICAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYyAgICB8IDYy ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+Pj4+Pj4gICAgIDUgZmlsZXMg Y2hhbmdlZCwgMTAxIGluc2VydGlvbnMoKykKPj4+Pj4+Cj4+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf cmVnLmgKPj4+Pj4+IGluZGV4IGNjODQzZjkuLjJkNTBmZGMgMTAwNjQ0Cj4+Pj4+PiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4+Pj4+PiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3JlZy5oCj4+Pj4+PiBAQCAtNzgzMCw3ICs3ODMwLDE0IEBAIGVudW0gewo+ Pj4+Pj4gICAgICNkZWZpbmUgIFRSQU5TX0RESV9FRFBfSU5QVVRfQl9PTk9GRgkoNTw8MTIpCj4+ Pj4+PiAgICAgI2RlZmluZSAgVFJBTlNfRERJX0VEUF9JTlBVVF9DX09OT0ZGCSg2PDwxMikKPj4+ Pj4+ICAgICAjZGVmaW5lICBUUkFOU19ERElfRFBfVkNfUEFZTE9BRF9BTExPQwkoMTw8OCkKPj4+ Pj4+ICsjZGVmaW5lICBUUkFOU19ERElfSERNSV9TQ1JBTUJMRVJfQ1RTX0VOQUJMRSAoMTw8NykK Pj4+Pj4+ICsjZGVmaW5lICBUUkFOU19ERElfSERNSV9TQ1JBTUJMRVJfUkVTRVRfRlJFUSAoMTw8 NikKPj4+Pj4+ICAgICAjZGVmaW5lICBUUkFOU19ERElfQkZJX0VOQUJMRQkJKDE8PDQpCj4+Pj4+ PiArI2RlZmluZSAgVFJBTlNfRERJX0hJR0hfVE1EU19DSEFSX1JBVEUJKDE8PDQpCj4+Pj4+PiAr I2RlZmluZSAgVFJBTlNfRERJX0hETUlfU0NSQU1CTElORwkoMTw8MCkKPj4+Pj4+ICsjZGVmaW5l ICBUUkFOU19ERElfSERNSV9TQ1JBTUJMSU5HX01BU0sgKFRSQU5TX0RESV9IRE1JX1NDUkFNQkxF Ul9DVFNfRU5BQkxFIFwKPj4+Pj4+ICsJCQkJCXwgVFJBTlNfRERJX0hETUlfU0NSQU1CTEVSX1JF U0VUX0ZSRVEgXAo+Pj4+Pj4gKwkJCQkJfCBUUkFOU19ERElfSERNSV9TQ1JBTUJMSU5HKQo+Pj4+ Pj4gICAgIAo+Pj4+Pj4gICAgIC8qIERpc3BsYXlQb3J0IFRyYW5zcG9ydCBDb250cm9sICovCj4+ Pj4+PiAgICAgI2RlZmluZSBfRFBfVFBfQ1RMX0EJCQkweDY0MDQwCj4+Pj4+PiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kZGkuYwo+Pj4+Pj4gaW5kZXggMDQ2NzY3Ni4uYjNlNGM0YSAxMDA2NDQKPj4+Pj4+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4+Pj4+PiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+Pj4+Pj4gQEAgLTEzMDksNiArMTMwOSwxMSBA QCB2b2lkIGludGVsX2RkaV9lbmFibGVfdHJhbnNjb2Rlcl9mdW5jKGNvbnN0IHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+Pj4+Pj4gICAgIAkJCXRlbXAgfD0gVFJBTlNfRERJ X01PREVfU0VMRUNUX0hETUk7Cj4+Pj4+PiAgICAgCQllbHNlCj4+Pj4+PiAgICAgCQkJdGVtcCB8 PSBUUkFOU19ERElfTU9ERV9TRUxFQ1RfRFZJOwo+Pj4+Pj4gKwo+Pj4+Pj4gKwkJaWYgKGNydGNf c3RhdGUtPmhkbWlfc2NyYW1ibGluZykKPj4+Pj4+ICsJCQl0ZW1wIHw9IFRSQU5TX0RESV9IRE1J X1NDUkFNQkxJTkdfTUFTSzsKPj4+Pj4+ICsJCWlmIChjcnRjX3N0YXRlLT5oZG1pX2hpZ2hfdG1k c19jbG9ja19yYXRpbykKPj4+Pj4+ICsJCQl0ZW1wIHw9IFRSQU5TX0RESV9ISUdIX1RNRFNfQ0hB Ul9SQVRFOwo+Pj4+Pj4gICAgIAl9IGVsc2UgaWYgKHR5cGUgPT0gSU5URUxfT1VUUFVUX0FOQUxP Rykgewo+Pj4+Pj4gICAgIAkJdGVtcCB8PSBUUkFOU19ERElfTU9ERV9TRUxFQ1RfRkRJOwo+Pj4+ Pj4gICAgIAkJdGVtcCB8PSAoY3J0Y19zdGF0ZS0+ZmRpX2xhbmVzIC0gMSkgPDwgMTsKPj4+Pj4+ IEBAIC0xODgyLDYgKzE4ODcsOSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9lbmFibGVfZGRpKHN0cnVj dCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyLAo+Pj4+Pj4gICAgIAkJc3RydWN0IGludGVs X2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPQo+Pj4+Pj4gICAgIAkJCWVuY190b19kaWdf cG9ydChlbmNvZGVyKTsKPj4+Pj4+ICAgICAKPj4+Pj4+ICsJCWludGVsX2hkbWlfaGFuZGxlX3Np bmtfc2NyYW1ibGluZyhpbnRlbF9lbmNvZGVyLAo+Pj4+Pj4gKwkJCWNvbm5fc3RhdGUtPmNvbm5l Y3RvciwgcGlwZV9jb25maWcsIHRydWUpOwo+Pj4+Pj4gKwo+Pj4+Pj4gICAgIAkJLyogSW4gSERN SS9EVkkgbW9kZSwgdGhlIHBvcnQgd2lkdGgsIGFuZCBzd2luZy9lbXBoYXNpcyB2YWx1ZXMKPj4+ Pj4+ICAgICAJCSAqIGFyZSBpZ25vcmVkIHNvIG5vdGhpbmcgc3BlY2lhbCBuZWVkcyB0byBiZSBk b25lIGJlc2lkZXMKPj4+Pj4+ICAgICAJCSAqIGVuYWJsaW5nIHRoZSBwb3J0Lgo+Pj4+Pj4gQEAg LTE5MTQsNiArMTkyMiwxMSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kaXNhYmxlX2RkaShzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciwKPj4+Pj4+ICAgICAJaWYgKG9sZF9jcnRjX3N0 YXRlLT5oYXNfYXVkaW8pCj4+Pj4+PiAgICAgCQlpbnRlbF9hdWRpb19jb2RlY19kaXNhYmxlKGlu dGVsX2VuY29kZXIpOwo+Pj4+Pj4gICAgIAo+Pj4+Pj4gKwlpZiAodHlwZSA9PSBJTlRFTF9PVVRQ VVRfSERNSSkgewo+Pj4+Pj4gKwkJaW50ZWxfaGRtaV9oYW5kbGVfc2lua19zY3JhbWJsaW5nKGlu dGVsX2VuY29kZXIsCj4+Pj4+PiArCQkJb2xkX2Nvbm5fc3RhdGUtPmNvbm5lY3Rvciwgb2xkX2Ny dGNfc3RhdGUsIGZhbHNlKTsKPj4+Pj4+ICsJfQo+Pj4+Pj4gKwo+Pj4+Pj4gICAgIAlpZiAodHlw ZSA9PSBJTlRFTF9PVVRQVVRfRURQKSB7Cj4+Pj4+PiAgICAgCQlzdHJ1Y3QgaW50ZWxfZHAgKmlu dGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKGVuY29kZXIpOwo+Pj4+Pj4gICAgIAo+Pj4+Pj4gQEAg LTIwNDAsNiArMjA1MywxMiBAQCB2b2lkIGludGVsX2RkaV9nZXRfY29uZmlnKHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyLAo+Pj4+Pj4gICAgIAo+Pj4+Pj4gICAgIAkJaWYgKGludGVsX2hk bWktPmluZm9mcmFtZV9lbmFibGVkKCZlbmNvZGVyLT5iYXNlLCBwaXBlX2NvbmZpZykpCj4+Pj4+ PiAgICAgCQkJcGlwZV9jb25maWctPmhhc19pbmZvZnJhbWUgPSB0cnVlOwo+Pj4+Pj4gKwo+Pj4+ Pj4gKwkJaWYgKCh0ZW1wICYgVFJBTlNfRERJX0hETUlfU0NSQU1CTElOR19NQVNLKSA9PQo+Pj4+ Pj4gKwkJCQlUUkFOU19ERElfSERNSV9TQ1JBTUJMSU5HX01BU0spCj4+Pj4+PiArCQkJcGlwZV9j b25maWctPmhkbWlfc2NyYW1ibGluZyA9IHRydWU7Cj4+Pj4+PiArCQlpZiAodGVtcCAmIFRSQU5T X0RESV9ISUdIX1RNRFNfQ0hBUl9SQVRFKQo+Pj4+Pj4gKwkJCXBpcGVfY29uZmlnLT5oZG1pX2hp Z2hfdG1kc19jbG9ja19yYXRpbyA9IHRydWU7Cj4+Pj4+PiAgICAgCQkvKiBmYWxsIHRocm91Z2gg Ki8KPj4+Pj4+ICAgICAJY2FzZSBUUkFOU19ERElfTU9ERV9TRUxFQ1RfRFZJOgo+Pj4+Pj4gICAg IAkJcGlwZV9jb25maWctPmxhbmVfY291bnQgPSA0Owo+Pj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYwo+Pj4+Pj4gaW5kZXggZTc3Y2E3ZC4uZmI1ZTY3MCAxMDA2NDQKPj4+Pj4+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+Pj4+Pj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4+Pj4+PiBAQCAtMTE3MDEsNiAr MTE3MDEsOSBAQCBzdGF0aWMgdm9pZCBfX3ByaW50ZigzLCA0KQo+Pj4+Pj4gICAgIAlpZiAoKElO VEVMX0dFTihkZXZfcHJpdikgPCA4ICYmICFJU19IQVNXRUxMKGRldl9wcml2KSkgfHwKPj4+Pj4+ ICAgICAJICAgIElTX1ZBTExFWVZJRVcoZGV2X3ByaXYpIHx8IElTX0NIRVJSWVZJRVcoZGV2X3By aXYpKQo+Pj4+Pj4gICAgIAkJUElQRV9DT05GX0NIRUNLX0kobGltaXRlZF9jb2xvcl9yYW5nZSk7 Cj4+Pj4+PiArCj4+Pj4+PiArCVBJUEVfQ09ORl9DSEVDS19JKGhkbWlfc2NyYW1ibGluZyk7Cj4+ Pj4+PiArCVBJUEVfQ09ORl9DSEVDS19JKGhkbWlfaGlnaF90bWRzX2Nsb2NrX3JhdGlvKTsKPj4+ Pj4+ICAgICAJUElQRV9DT05GX0NIRUNLX0koaGFzX2luZm9mcmFtZSk7Cj4+Pj4+PiAgICAgCj4+ Pj4+PiAgICAgCVBJUEVfQ09ORl9DSEVDS19JKGhhc19hdWRpbyk7Cj4+Pj4+PiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcnYuaAo+Pj4+Pj4gaW5kZXggM2FmMjBjMS4uNTBkNjgwYyAxMDA2NDQKPj4+Pj4+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4+Pj4+PiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+Pj4+Pj4gQEAgLTcyOSw2ICs3MjksMTIgQEAg c3RydWN0IGludGVsX2NydGNfc3RhdGUgewo+Pj4+Pj4gICAgIAo+Pj4+Pj4gICAgIAkvKiBiaXRt YXNrIG9mIHZpc2libGUgcGxhbmVzIChlbnVtIHBsYW5lX2lkKSAqLwo+Pj4+Pj4gICAgIAl1OCBh Y3RpdmVfcGxhbmVzOwo+Pj4+Pj4gKwo+Pj4+Pj4gKwkvKiBIRE1JIHNjcmFtYmxpbmcgc3RhdHVz ICovCj4+Pj4+PiArCWJvb2wgaGRtaV9zY3JhbWJsaW5nOwo+Pj4+Pj4gKwo+Pj4+Pj4gKwkvKiBI RE1JIEhpZ2ggVE1EUyBjaGFyIHJhdGUgcmF0aW8gKi8KPj4+Pj4+ICsJYm9vbCBoZG1pX2hpZ2hf dG1kc19jbG9ja19yYXRpbzsKPj4+Pj4+ICAgICB9Owo+Pj4+Pj4gICAgIAo+Pj4+Pj4gICAgIHN0 cnVjdCBpbnRlbF9jcnRjIHsKPj4+Pj4+IEBAIC0xNjIzLDYgKzE2MjksMTAgQEAgdm9pZCBpbnRl bF9oZG1pX2luaXRfY29ubmVjdG9yKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2Rp Z19wb3J0LAo+Pj4+Pj4gICAgIGJvb2wgaW50ZWxfaGRtaV9jb21wdXRlX2NvbmZpZyhzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPj4+Pj4+ICAgICAJCQkgICAgICAgc3RydWN0IGludGVs X2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAo+Pj4+Pj4gICAgIAkJCSAgICAgICBzdHJ1Y3QgZHJt X2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSk7Cj4+Pj4+PiArdm9pZCBpbnRlbF9oZG1pX2hh bmRsZV9zaW5rX3NjcmFtYmxpbmcoc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIs Cj4+Pj4+PiArCQkJCQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+Pj4+Pj4gKwkJ CQkJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNvbmZpZywKPj4+Pj4+ICsJCQkJCWJvb2wgZW5h YmxlKTsKPj4+Pj4+ICAgICB2b2lkIGludGVsX2RwX2R1YWxfbW9kZV9zZXRfdG1kc19vdXRwdXQo c3RydWN0IGludGVsX2hkbWkgKmhkbWksIGJvb2wgZW5hYmxlKTsKPj4+Pj4+ICAgICAKPj4+Pj4+ ICAgICAKPj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1p LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKPj4+Pj4+IGluZGV4IGMyMTg0 ZjcuLjQ1ODVhYTggMTAwNjQ0Cj4+Pj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9oZG1pLmMKPj4+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+ Pj4+Pj4gQEAgLTM0LDYgKzM0LDcgQEAKPj4+Pj4+ICAgICAjaW5jbHVkZSA8ZHJtL2RybV9hdG9t aWNfaGVscGVyLmg+Cj4+Pj4+PiAgICAgI2luY2x1ZGUgPGRybS9kcm1fY3J0Yy5oPgo+Pj4+Pj4g ICAgICNpbmNsdWRlIDxkcm0vZHJtX2VkaWQuaD4KPj4+Pj4+ICsjaW5jbHVkZSA8ZHJtL2RybV9z Y2RjX2hlbHBlci5oPgo+Pj4+Pj4gICAgICNpbmNsdWRlICJpbnRlbF9kcnYuaCIKPj4+Pj4+ICAg ICAjaW5jbHVkZSA8ZHJtL2k5MTVfZHJtLmg+Cj4+Pj4+PiAgICAgI2luY2x1ZGUgPGRybS9pbnRl bF9scGVfYXVkaW8uaD4KPj4+Pj4+IEBAIC0xMzE2LDYgKzEzMTcsNyBAQCBib29sIGludGVsX2hk bWlfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4+Pj4+PiAg ICAgCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVsX2hkbWkoJmVu Y29kZXItPmJhc2UpOwo+Pj4+Pj4gICAgIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKPj4+Pj4+ICAgICAJc3RydWN0IGRybV9k aXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPSAmcGlwZV9jb25maWctPmJhc2UuYWRqdXN0ZWRf bW9kZTsKPj4+Pj4+ICsJc3RydWN0IGRybV9zY2RjICpzY2RjID0gJmNvbm5fc3RhdGUtPmNvbm5l Y3Rvci0+ZGlzcGxheV9pbmZvLmhkbWkuc2NkYzsKPj4+Pj4+ICAgICAJaW50IGNsb2NrXzhicGMg PSBwaXBlX2NvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlLmNydGNfY2xvY2s7Cj4+Pj4+PiAgICAg CWludCBjbG9ja18xMmJwYyA9IGNsb2NrXzhicGMgKiAzIC8gMjsKPj4+Pj4+ICAgICAJaW50IGRl c2lyZWRfYnBwOwo+Pj4+Pj4gQEAgLTEzODUsNiArMTM4NywxNiBAQCBib29sIGludGVsX2hkbWlf Y29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4+Pj4+PiAgICAg Cj4+Pj4+PiAgICAgCXBpcGVfY29uZmlnLT5sYW5lX2NvdW50ID0gNDsKPj4+Pj4+ICAgICAKPj4+ Pj4+ICsJaWYgKHNjZGMtPnNjcmFtYmxpbmcuc3VwcG9ydGVkICYmIElTX0dFTUlOSUxBS0UoZGV2 X3ByaXYpKSB7Cj4+Pj4+PiArCQlpZiAoc2NkYy0+c2NyYW1ibGluZy5sb3dfcmF0ZXMpCj4+Pj4+ PiArCQkJcGlwZV9jb25maWctPmhkbWlfc2NyYW1ibGluZyA9IHRydWU7Cj4+Pj4+PiArCj4+Pj4+ PiArCQlpZiAocGlwZV9jb25maWctPnBvcnRfY2xvY2sgPiAzNDAwMDApIHsKPj4+Pj4+ICsJCQlw aXBlX2NvbmZpZy0+aGRtaV9zY3JhbWJsaW5nID0gdHJ1ZTsKPj4+Pj4+ICsJCQlwaXBlX2NvbmZp Zy0+aGRtaV9oaWdoX3RtZHNfY2xvY2tfcmF0aW8gPSB0cnVlOwo+Pj4+Pj4gKwkJfQo+Pj4+Pj4g Kwl9Cj4+Pj4+PiArCj4+Pj4+PiAgICAgCXJldHVybiB0cnVlOwo+Pj4+Pj4gICAgIH0KPj4+Pj4+ ICAgICAKPj4+Pj4+IEBAIC0xNzk0LDYgKzE4MDYsNTYgQEAgc3RhdGljIHZvaWQgaW50ZWxfaGRt aV9kZXN0cm95KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4+Pj4+PiAgICAgCWlu dGVsX2hkbWktPmFzcGVjdF9yYXRpbyA9IEhETUlfUElDVFVSRV9BU1BFQ1RfTk9ORTsKPj4+Pj4+ ICAgICB9Cj4+Pj4+PiAgICAgCj4+Pj4+PiArLyoKPj4+Pj4+ICsgKiBUaGlzIGZ1bmN0aW9uIGhh bmRsZXMgc2NyYW1ibGluZyBvbiBIRE1JIDIuMCBjYXBhYmxlIHNpbmtzLgo+Pj4+Pj4gKyAqIElm IHJlcXVpcmVkIGNsb2NrIHJhdGUgaXMgPiAzNDAgTWh6ICYmIHNjcmFtYmxpbmcgaXMgc3VwcG9y dGVkIGJ5IHNpbmsKPj4+Pj4+ICsgKiBpdCBlbmFibGVzIHNjcmFtYmxpbmcuIFRoaXMgc2hvdWxk IGJlIGNhbGxlZCBiZWZvcmUgZW5hYmxpbmcgdGhlIEhETUkKPj4+Pj4+ICsgKiAyLjAgcG9ydCwg YXMgdGhlIHNpbmsgY2FuIGNob29zZSB0byBkaXNhYmxlIHRoZSBzY3JhbWJsaW5nIGlmIGl0IGRv ZXNuJ3QKPj4+Pj4+ICsgKiBkZXRlY3QgYSBzY3JhbWJsZWQgY2xvY2sgd2l0aGluIDEwMCBtcy4K Pj4+Pj4+ICsgKi8KPj4+Pj4+ICt2b2lkIGludGVsX2hkbWlfaGFuZGxlX3Npbmtfc2NyYW1ibGlu ZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciwKPj4+Pj4+ICsJCQkJICAgICAg IHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4+Pj4+PiArCQkJCSAgICAgICBzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY29uZmlnLAo+Pj4+Pj4gKwkJCQkgICAgICAgYm9vbCBlbmFi bGUpCj4+Pj4+PiArewo+Pj4+Pj4gKwlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaSA9IGVu Y190b19pbnRlbF9oZG1pKCZpbnRlbF9lbmNvZGVyLT5iYXNlKTsKPj4+Pj4+ICsJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gY29ubmVjdG9yLT5kZXYtPmRldl9wcml2YXRlOwo+ Pj4+Pj4gKwlzdHJ1Y3QgZHJtX3NjcmFtYmxpbmcgKnNjcmFtYmxpbmcgPQo+Pj4+Pj4gKwkJCQkm Y29ubmVjdG9yLT5kaXNwbGF5X2luZm8uaGRtaS5zY2RjLnNjcmFtYmxpbmc7Cj4+Pj4+PiArCXN0 cnVjdCBpMmNfYWRhcHRlciAqYWRwdHIgPSBpbnRlbF9nbWJ1c19nZXRfYWRhcHRlcihkZXZfcHJp diwKPj4+Pj4+ICsJCQkJCQkJICBpbnRlbF9oZG1pLT5kZGNfYnVzKTsKPj4+Pj4+ICsJYm9vbCBy ZXQ7Cj4+Pj4+PiArCj4+Pj4+PiArCWlmICghc2NyYW1ibGluZy0+c3VwcG9ydGVkKQo+Pj4+Pj4g KwkJcmV0dXJuOwo+Pj4+Pj4gKwo+Pj4+Pj4gKwlpZiAoIUlTX0dFTUlOSUxBS0UoZGV2X3ByaXYp KQo+Pj4+Pj4gKwkJcmV0dXJuOwo+Pj4+PiBJJ2Qgc3RpbGwgbGlrZSB0byBzZWUgdGhpcyBnZXR0 aW5nIGRvbmUgdW5jb2RpdGlvbmFsbHkuIFRoYXQgd2F5IHdlCj4+Pj4+IG1pZ2h0IGdldCBhIGJp dCBvZiBleHRyYSB0ZXN0aW5nIGZvciB0aGUgU0NEQyBoZWxwZXIgbm8gbWF0dGVyIHdoYXQKPj4+ Pj4gcGxhdGZvcm0gdGhlIHVzZXIgaGFwcGVucyB0byBvd24uCj4+Pj4gU3VyZSwgc2VlbXMgYSBn b29kIGlkZWEuIEkganVzdCBhZGRlZCB0aGlzIGhlYXIgdG8gYWRkcmVzcyB0aGUgcmV2aWV3Cj4+ Pj4gY29tbWVudCBmcm9tIEFuZGVyLgo+Pj4+IEFsc28sIEkgY2FuIG1vdmUgdGhpcyBJU19HTEsg Y29uZGl0aW9uIHRvIGNvbXB1dGVfY29uZmlnLCBhbmQgb25jZSB3ZQo+Pj4+IGNoZWNrIHRoaXMg aW4gY29tcHV0ZV9jb25maWcKPj4+PiB3ZSBtaWdodCBuZXZlciBoYXZlIGNoZWNrIGl0IGFnYWlu Lgo+Pj4gSSB0aG91Z2h0IHlvdSBhbHJlYWR5IGhhZCB0aGUgY2hlY2sgaW4gdGhlcmU/IEhtbS4g TG9va3MgdGhhdCB3YXkgdG8gbWUuCj4+IFllcCwgSSBhbHJlYWR5IGhhdmUgdGhhdCAodGhpcyBz aG93cyBJIGhhdmUgdG9vIG1hbnkgdmVyc2lvbnMgb2YgY29kZSBpbgo+PiBteSBtaW5kIHRvbyA6 UCksCj4+IHdoYXQgSSBtZWFudCB3YXMsIHdlIGNhbiB1c2Ugc29tZSBvZiB0aG9zZSBzdGF0ZSBj aGVja3MgaGVyZSBiZWZvcmUKPj4gZW5hYmxpbmcvZGlzYWJsaW5nIHNpbmsgc2lkZSBzY3JhbWJs aW5nLgo+PiBCdXQgdGhlbiBJIHJlYWxpemVkIGl0IHdvbid0IGJlIHRoZSB1bmNvbmRpdGlvbmFs IHN0dWZmIHlvdSBhY3R1YWxseQo+PiB3YW50LCBzbyBwbGVhc2UgcnViIG15IGxhc3QgY29tbWVu dCBvZmYgOi0pCj4gV2VsbCBJIHRoaW5rIGl0IHNob3VsZCB3b3JrIGp1c3QgZmluZSBpZiB5b3Ug c2ltcGx5IHBhc3MgYm90aCBpbnRvIHRoaXMKPiBmdW5jdGlvbiBhcyBib29scywgYW5kIHRoZW4g aW4gdGhlIGRpc2FibGUgcGF0aCB3ZSBwYXNzIGV4cGxpY2l0ICdmYWxzZScKPiBmb3IgYm90aCwg YW5kIGluIHRoZSBlbmFibGUgcGF0aCB3ZSBqdXN0IHBhc3MgY29uZmlnLT53aGF0ZXZlci4KSHVt bSwgbGV0IG1lIHRyeSB0aGlzLgoKLSBTaGFzaGFuawo+PiAtIFNoYXNoYW5rCj4+Pj4+IEkgcHJl c3VtZSB0aGUgc3BlYyBzYXlzIHRoZSBzaW5rIHdpbGwgcmVzZXQgdGhlc2UgdG8gc29tZSBkZWZh dWx0IHZhbHVlCj4+Pj4+IG9uIEhQRCBvciBzb21ldGhpbmcgbGlrZSB0aGF0PyBCdXQgSSdtIG5v dCBzdXJlIHRydXN0aW5nIHRoZW0gdG8gZ2V0Cj4+Pj4+IHRoaXMgcmlnaHQgaXMgYSBnb29kIGlk ZWEgYmVjYXVzZSByZWFsaXR5IG9mdGVuIGRvZXNuJ3QgbWF0Y2ggdGhlCj4+Pj4+IHNwZWNzLiBT byB0aGUgc2FmZXIgb3B0aW9uIElNTyB3b3VsZCBiZSBhbHdheXMgdGVsbCB0aGUgc2luayBleGFj dGx5Cj4+Pj4+IHdoYXQgd2Ugd2FudC4KPj4+PiBZZXAsIFlvdSBhcmUgY29ycmVjdCBhYm91dCB0 aGUgc3BlYyB0b28sIHRoYXQgaXQgc2F5cyBpZiB0aGVyZSBpcyBubwo+Pj4+IHNjcmFtYmxlZCBj bG9jayBwb3N0IGhwZF9vdXQgZm9yCj4+Pj4gMTAwbXMsIHRoZSBzaW5rIHNob3VsZCBkaXNhYmxl IHNjcmFtYmxpbmcuIEJ1dCBjb25uZWN0ZWQgbW9kZXNldAo+Pj4+IHNjZW5hcmlvcyBuZWVkIG91 ciBhdHRlbnRpb24sIHdoZXJlCj4+Pj4gZm9yIGV4YW1wbGUgd2UgYXJlIHN3aXRjaGluZyBtb2Rl IGZyb20sIDRrQDYwIChzY3JhbWJsaW5nIHJlcWQpIC0+Cj4+Pj4gMTA4MEA2MCAoc2NyYW1ibGlu ZyBub3QgcmVxZCkuCj4+Pj4gRm9yIHN1Y2ggY2FzZXMgdG9vLCB3ZSBoYXZlIHRvIHRlbGwgc2lu ayB0byBkaXNhYmxlIHNjcmFtYmxpbmcuCj4+Pj4+PiArCj4+Pj4+PiArCURSTV9ERUJVR19LTVMo IlNldHRpbmcgc2luayBzY3JhbWJsaW5nIGZvciBlbmM6JXMgY29ubmVjdG9yOiVzXG4iLAo+Pj4+ Pj4gKwkJCWludGVsX2VuY29kZXItPmJhc2UubmFtZSwgY29ubmVjdG9yLT5uYW1lKTsKPj4+Pj4+ ICsKPj4+Pj4+ICsJaWYgKGNvbmZpZy0+aGRtaV9oaWdoX3RtZHNfY2xvY2tfcmF0aW8pIHsKPj4+ Pj4+ICsJCS8qIFNldCBUTURTIGJpdCBjbG9jayByYXRpbyB0byAxLzQwIG9yIDEvMTAgKi8KPj4+ Pj4+ICsJCXJldCA9IGRybV9zY2RjX3NldF9oaWdoX3RtZHNfY2xvY2tfcmF0aW8oYWRwdHIsIGVu YWJsZSk7Cj4+Pj4+PiArCQlpZiAoIXJldCkgewo+Pj4+Pj4gKwkJCURSTV9FUlJPUigiU2V0IFRN RFMgcmF0aW8gZmFpbGVkXG4iKTsKPj4+Pj4+ICsJCQlyZXR1cm47Cj4+Pj4+PiArCQl9Cj4+Pj4+ PiArCX0KPj4+Pj4+ICsKPj4+Pj4+ICsJaWYgKGNvbmZpZy0+aGRtaV9zY3JhbWJsaW5nKSB7Cj4+ Pj4+PiArCQkvKiBFbmFibGUvZGlzYWJsZSBzaW5rIHNjcmFtYmxpbmcgKi8KPj4+Pj4+ICsJCXJl dCA9IGRybV9zY2RjX3NldF9zY3JhbWJsaW5nKGFkcHRyLCBlbmFibGUpOwo+Pj4+Pj4gKwkJaWYg KCFyZXQpIHsKPj4+Pj4+ICsJCQlEUk1fRVJST1IoIlNldCBzaW5rIHNjcmFtYmxpbmcgZmFpbGVk XG4iKTsKPj4+Pj4+ICsJCQlyZXR1cm47Cj4+Pj4+PiArCQl9Cj4+Pj4+PiArCX0KPj4+Pj4+ICsK Pj4+Pj4+ICsJRFJNX0RFQlVHX0tNUygic2luayBzY3JhbWJsaW5nIGhhbmRsZWRcbiIpOwo+Pj4+ Pj4gK30KPj4+Pj4+ICsKPj4+Pj4+ICAgICBzdGF0aWMgdTggaW50ZWxfaGRtaV9kZGNfcGluKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPj4+Pj4+ICAgICAJCQkgICAgIGVudW0g cG9ydCBwb3J0KQo+Pj4+Pj4gICAgIHsKPj4+Pj4+IC0tIAo+Pj4+Pj4gMS45LjEKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=