From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v8 5/6] drm/i915: enable scrambling Date: Wed, 8 Mar 2017 19:44:45 +0200 Message-ID: <20170308174445.GN31595@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> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: 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: "Sharma, Shashank" 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 T24gV2VkLCBNYXIgMDgsIDIwMTcgYXQgMDc6MjY6NDVQTSArMDIwMCwgU2hhcm1hLCBTaGFzaGFu ayB3cm90ZToKPiBSZWdhcmRzCj4gCj4gU2hhc2hhbmsKPiAKPiAKPiBPbiAzLzgvMjAxNyA3OjE3 IFBNLCBWaWxsZSBTeXJqw6Rsw6Qgd3JvdGU6Cj4gPiBPbiBXZWQsIE1hciAwOCwgMjAxNyBhdCAw NzowNzo0OFBNICswNTMwLCBTaGFzaGFuayBTaGFybWEgd3JvdGU6Cj4gPj4gICBHZW1pbmlsYWtl IHBsYXRmb3JtIHNwb3J0cyBhIG5hdGl2ZSBIRE1JIDIuMCBjb250cm9sbGVyLCBhbmQgaXMKPiA+ PiAgIGNhcGFibGUgb2YgZHJpdmluZyBwaXhlbC1jbG9ja3MgdXB0byA1OTRNaHouIEhETUkgMi4w IHNwZWMKPiA+PiAgIG1lbmRhdGVzIHNjcmFtYmxpbmcgZm9yIHRoZXNlIGhpZ2hlciBjbG9ja3Ms IGZvciByZWR1Y2VkIFJGIGZvb3RwcmludC4KPiA+Pgo+ID4+ICAgVGhpcyBwYXRjaCBjaGVja3Mg aWYgdGhlIG1vbml0b3Igc3VwcG9ydHMgc2NyYW1ibGluZywgYW5kIGlmIHJlcXVpcmVkLAo+ID4+ ICAgZW5hYmxlcyBpdCBkdXJpbmcgdGhlIG1vZGVzZXQuCj4gPj4KPiA+PiAgIFYyOiBBZGRyZXNz ZWQgcmV2aWV3IGNvbW1lbnRzIGZyb20gVmlsbGU6Cj4gPj4gICAtIERvIG5vdCB0cmFjayBzY3Jh bWJsaW5nIHN0YXR1cyBpbiBEUk0gbGF5ZXIsIHRyYWNrIHNvbWV3aGVyZSBpbgo+ID4+ICAgICBk cml2ZXIgbGlrZSBpbiBpbnRlbF9jcnRjX3N0YXRlLgo+ID4+ICAgLSBEb24ndCB0YWxrIHRvIG1v bml0b3IgYXQgc3VjaCBhIGxvdyBsYXllciwgc2V0IG1vbml0b3Igc2NyYW1ibGluZwo+ID4+ICAg ICBpbiBpbnRlbF9lbmFibGVfZGRpKCkgYmVmb3JlIGVuYWJsaW5nIHRoZSBwb3J0Lgo+ID4+Cj4g Pj4gICBWMzogQWRkcmVzc2VkIHJldmlldyBjb21tZW50cyBmcm9tIEphbmkKPiA+PiAgIC0gSW4g Y29tbWVudHMsIGZ1bmN0aW9uIG5hbWVzLCB1c2UgInNpbmsiIGluc3RlYWQgb2YgIm1vbml0b3Ii LAo+ID4+ICAgICBzbyB0aGF0IHRoZSBpbXBsZW1lbnRhdGlvbiBjb3VsZCBiZSBjbG9zZSB0byB0 aGUgbGFuZ3VhZ2Ugb2YKPiA+PiAgICAgSERNSSBzcGVjLgo+ID4+Cj4gPj4gVjQ6IEFkZHJlc3Nl ZCByZXZpZXcgY29tbWVudCBmcm9tIE1hYXJ0ZW4KPiA+PiAgIC0gc2NyYW1ibGluZyAtPiBoZG1p X3NjcmFtYmxpbmcKPiA+PiAgIC0gaGlnaF90bWRzX2Nsb2NrX3JhdGlvIC0+IGhkbWlfaGlnaF90 bWRzX2Nsb2NrX3JhdGlvCj4gPj4KPiA+PiBWNTogQWRkcmVzc2VkIHJldmlldyBjb21tZW50cyBm cm9tIFZpbGxlIGFuZCBBbmRlcgo+ID4+ICAgLSBEbyBub3QgbW9kaWZpeSB0aGUgY3J0Y19zdGF0 ZSBhZnRlciBjb21wdXRlX2NvbmZpZy4gTW92ZSBhbGwKPiA+PiAgICAgc2NyYW1ibGluZyBhbmQg dG1kc19jbG9ja19yYXRpbyBjYWxjdXRhdGlvbnMgdG8gY29tcHV0ZV9jb25maWcuCj4gPj4gICAt IFdoaWxlIHNldHRpbmcgc2NyYW1ibGluZyBmb3Igc291cmNlL3NpbmssIGRvIG5vdCBjaGVjayB0 aGUKPiA+PiAgICAgY29uZGl0aW9ucyBhZ2FpbiwganVzdCBnbyBieSB0aGUgY3J0Y19zdGF0ZSBm bGFncy4gVGhpcyB3aWxsCj4gPj4gICAgIHNpbXBseWZ5IHRoZSBjb25kaXRpb24gY2hlY2tzLgo+ ID4+Cj4gPj4gVjY6IEFkZHJlc3NlZCByZXZpZXcgY29tbWVudHMgZnJvbSBWaWxsZQo+ID4+ICAg LSBEbyBub3QgYWRkIElTX0dMSyBjaGVjayBpbiBkaXNhYmxlL2VuYWJsZSBmdW5jdGlvbiwgaW5z dGVhZCBhZGQgaXQKPiA+PiAgICAgaW4gY29tcHV0ZV9jb25maWcsIHdoaWxlIHNldHRpbmcgc3Rh dGUgZmxhZ3MuCj4gPj4gICAtIFJlbW92ZSB1bm5lY2Vzc2FyeSBwYXJhbnRoZXNpcy4KPiA+PiAg IC0gU2ltcGx5ZnkgaGFuZGxlX3Npbmtfc2NyYW1ibGluZyBmdW5jdGlvbiBhcyBzdWdnZXN0ZWQu Cj4gPj4gICAtIEFkZCByZWFkb3V0IGNvZGUgZm9yIHNjcmFtYmxpbmcgc3RhdHVzIGluIGdldF9k ZGlfY29uZmlnIGFuZCBhZGQgYQo+ID4+ICAgICBjaGVjayBmb3IgdGhlIHNhbWUgaW4gcGlwZV9j b25maWdfY29tcGFyZS4KPiA+Pgo+ID4+IFY3OiBBZGRyZXNzZWQgcmV2aWV3IGNvbW1lbnRzIGZy b20gQW5kZXIvVmlsbGUKPiA+PiAgIC0gTm8gc2VwYXJhdGUgZnVuY3Rpb24gZm9yIHNvdXJjZSBz Y3JhbWJsaW5nLCBtYWtlIGl0IGlubGluZQo+ID4+ICAgLSBBbGlnbiB0aGUgbGFzdCBsaW5lIG9m IHRoZSBtYWNybyBUUkFOU19ERElfSERNSV9TQ1JBTUJMSU5HX01BU0sKPiA+PiAgIC0gRG8gbm90 IGFkZCBwbGF0Zm9ybSBjaGVjayB3aGlsZSBzZXR0aW5nIHNvdXJjZSBzY3JhbWJsaW5nCj4gPj4g ICAtIFVzZSBwaXBlX2NvbmZpZyBpbnN0ZWFkIG9mIGNydGMtPmNvbmZpZyB0byBzZXQgc2luayBz Y3JhbWJsaW5nCj4gPj4gICAtIFRvIHJlYWRvdXQgc2NyYW1ibGluZyBzdGF0dXMsIENvbXBhcmUg d2l0aCBTQ1JBTUJMSU5HX01BU0sKPiA+PiAgICAgbm90IGFueSBvZiBpdHMgYml0cwo+ID4+ICAg LSBSZW1vdmUgcGxhdGZvcm0gY2hlY2sgaW4gaW50ZWxfcGlwZV9jb25maWdfY29tcGFyZSB3aGls ZSBjaGVja2luZwo+ID4+ICAgICBzY3JhbWJsaW5nIHN0YXR1cwo+ID4+Cj4gPj4gVjg6IEZpeGVk IG1lZ2UgY29uZmxpY3QsIEFkZHJlc3NlZCByZXZpZXcgY29tbWVudHMgZnJvbSBBbmRlcgo+ID4+ ICAgLSBSZW1vdmUgdGhlIGRlc2NpcHRpb24vY29tbWVudCBhYm91dCBzY3JhbWJsaW5nIGZvbSB0 aGUgY2FsbGVyLCBtb3ZlCj4gPj4gICAgIGl0IHRvIHRoZSBmdW5jdGlvbgo+ID4+ICAgLSBNb3Zl IHRoZSBJU19HTEsgY2hlY2sgaW50byBzY3JhbWJsaW5nIGZ1bmN0aW9uCj4gPj4gICAtIEZpeCBh bGlnbm1lbnQKPiA+Pgo+ID4+IFNpZ25lZC1vZmYtYnk6IFNoYXNoYW5rIFNoYXJtYSA8c2hhc2hh bmsuc2hhcm1hQGludGVsLmNvbT4KPiA+PiAtLS0KPiA+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcmVnLmggICAgICB8ICA3ICsrKysKPiA+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RkaS5jICAgICB8IDE5ICsrKysrKysrKysrCj4gPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMgfCAgMyArKwo+ID4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmggICAgIHwgMTAgKysrKysrCj4gPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9oZG1pLmMgICAgfCA2MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiA+ PiAgIDUgZmlsZXMgY2hhbmdlZCwgMTAxIGluc2VydGlvbnMoKykKPiA+Pgo+ID4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9yZWcuaAo+ID4+IGluZGV4IGNjODQzZjkuLjJkNTBmZGMgMTAwNjQ0Cj4gPj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfcmVnLmgKPiA+PiBAQCAtNzgzMCw3ICs3ODMwLDE0IEBAIGVudW0gewo+ ID4+ICAgI2RlZmluZSAgVFJBTlNfRERJX0VEUF9JTlBVVF9CX09OT0ZGCSg1PDwxMikKPiA+PiAg ICNkZWZpbmUgIFRSQU5TX0RESV9FRFBfSU5QVVRfQ19PTk9GRgkoNjw8MTIpCj4gPj4gICAjZGVm aW5lICBUUkFOU19ERElfRFBfVkNfUEFZTE9BRF9BTExPQwkoMTw8OCkKPiA+PiArI2RlZmluZSAg VFJBTlNfRERJX0hETUlfU0NSQU1CTEVSX0NUU19FTkFCTEUgKDE8PDcpCj4gPj4gKyNkZWZpbmUg IFRSQU5TX0RESV9IRE1JX1NDUkFNQkxFUl9SRVNFVF9GUkVRICgxPDw2KQo+ID4+ICAgI2RlZmlu ZSAgVFJBTlNfRERJX0JGSV9FTkFCTEUJCSgxPDw0KQo+ID4+ICsjZGVmaW5lICBUUkFOU19ERElf SElHSF9UTURTX0NIQVJfUkFURQkoMTw8NCkKPiA+PiArI2RlZmluZSAgVFJBTlNfRERJX0hETUlf U0NSQU1CTElORwkoMTw8MCkKPiA+PiArI2RlZmluZSAgVFJBTlNfRERJX0hETUlfU0NSQU1CTElO R19NQVNLIChUUkFOU19ERElfSERNSV9TQ1JBTUJMRVJfQ1RTX0VOQUJMRSBcCj4gPj4gKwkJCQkJ fCBUUkFOU19ERElfSERNSV9TQ1JBTUJMRVJfUkVTRVRfRlJFUSBcCj4gPj4gKwkJCQkJfCBUUkFO U19ERElfSERNSV9TQ1JBTUJMSU5HKQo+ID4+ICAgCj4gPj4gICAvKiBEaXNwbGF5UG9ydCBUcmFu c3BvcnQgQ29udHJvbCAqLwo+ID4+ICAgI2RlZmluZSBfRFBfVFBfQ1RMX0EJCQkweDY0MDQwCj4g Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiA+PiBpbmRleCAwNDY3Njc2Li5iM2U0YzRhIDEw MDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gPj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiA+PiBAQCAtMTMwOSw2ICsxMzA5 LDExIEBAIHZvaWQgaW50ZWxfZGRpX2VuYWJsZV90cmFuc2NvZGVyX2Z1bmMoY29uc3Qgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gPj4gICAJCQl0ZW1wIHw9IFRSQU5TX0RE SV9NT0RFX1NFTEVDVF9IRE1JOwo+ID4+ICAgCQllbHNlCj4gPj4gICAJCQl0ZW1wIHw9IFRSQU5T X0RESV9NT0RFX1NFTEVDVF9EVkk7Cj4gPj4gKwo+ID4+ICsJCWlmIChjcnRjX3N0YXRlLT5oZG1p X3NjcmFtYmxpbmcpCj4gPj4gKwkJCXRlbXAgfD0gVFJBTlNfRERJX0hETUlfU0NSQU1CTElOR19N QVNLOwo+ID4+ICsJCWlmIChjcnRjX3N0YXRlLT5oZG1pX2hpZ2hfdG1kc19jbG9ja19yYXRpbykK PiA+PiArCQkJdGVtcCB8PSBUUkFOU19ERElfSElHSF9UTURTX0NIQVJfUkFURTsKPiA+PiAgIAl9 IGVsc2UgaWYgKHR5cGUgPT0gSU5URUxfT1VUUFVUX0FOQUxPRykgewo+ID4+ICAgCQl0ZW1wIHw9 IFRSQU5TX0RESV9NT0RFX1NFTEVDVF9GREk7Cj4gPj4gICAJCXRlbXAgfD0gKGNydGNfc3RhdGUt PmZkaV9sYW5lcyAtIDEpIDw8IDE7Cj4gPj4gQEAgLTE4ODIsNiArMTg4Nyw5IEBAIHN0YXRpYyB2 b2lkIGludGVsX2VuYWJsZV9kZGkoc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIs Cj4gPj4gICAJCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0ID0KPiA+ PiAgIAkJCWVuY190b19kaWdfcG9ydChlbmNvZGVyKTsKPiA+PiAgIAo+ID4+ICsJCWludGVsX2hk bWlfaGFuZGxlX3Npbmtfc2NyYW1ibGluZyhpbnRlbF9lbmNvZGVyLAo+ID4+ICsJCQljb25uX3N0 YXRlLT5jb25uZWN0b3IsIHBpcGVfY29uZmlnLCB0cnVlKTsKPiA+PiArCj4gPj4gICAJCS8qIElu IEhETUkvRFZJIG1vZGUsIHRoZSBwb3J0IHdpZHRoLCBhbmQgc3dpbmcvZW1waGFzaXMgdmFsdWVz Cj4gPj4gICAJCSAqIGFyZSBpZ25vcmVkIHNvIG5vdGhpbmcgc3BlY2lhbCBuZWVkcyB0byBiZSBk b25lIGJlc2lkZXMKPiA+PiAgIAkJICogZW5hYmxpbmcgdGhlIHBvcnQuCj4gPj4gQEAgLTE5MTQs NiArMTkyMiwxMSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kaXNhYmxlX2RkaShzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqaW50ZWxfZW5jb2RlciwKPiA+PiAgIAlpZiAob2xkX2NydGNfc3RhdGUtPmhhc19h dWRpbykKPiA+PiAgIAkJaW50ZWxfYXVkaW9fY29kZWNfZGlzYWJsZShpbnRlbF9lbmNvZGVyKTsK PiA+PiAgIAo+ID4+ICsJaWYgKHR5cGUgPT0gSU5URUxfT1VUUFVUX0hETUkpIHsKPiA+PiArCQlp bnRlbF9oZG1pX2hhbmRsZV9zaW5rX3NjcmFtYmxpbmcoaW50ZWxfZW5jb2RlciwKPiA+PiArCQkJ b2xkX2Nvbm5fc3RhdGUtPmNvbm5lY3Rvciwgb2xkX2NydGNfc3RhdGUsIGZhbHNlKTsKPiA+PiAr CX0KPiA+PiArCj4gPj4gICAJaWYgKHR5cGUgPT0gSU5URUxfT1VUUFVUX0VEUCkgewo+ID4+ICAg CQlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKGVuY29kZXIpOwo+ ID4+ICAgCj4gPj4gQEAgLTIwNDAsNiArMjA1MywxMiBAQCB2b2lkIGludGVsX2RkaV9nZXRfY29u ZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ID4+ICAgCj4gPj4gICAJCWlmIChp bnRlbF9oZG1pLT5pbmZvZnJhbWVfZW5hYmxlZCgmZW5jb2Rlci0+YmFzZSwgcGlwZV9jb25maWcp KQo+ID4+ICAgCQkJcGlwZV9jb25maWctPmhhc19pbmZvZnJhbWUgPSB0cnVlOwo+ID4+ICsKPiA+ PiArCQlpZiAoKHRlbXAgJiBUUkFOU19ERElfSERNSV9TQ1JBTUJMSU5HX01BU0spID09Cj4gPj4g KwkJCQlUUkFOU19ERElfSERNSV9TQ1JBTUJMSU5HX01BU0spCj4gPj4gKwkJCXBpcGVfY29uZmln LT5oZG1pX3NjcmFtYmxpbmcgPSB0cnVlOwo+ID4+ICsJCWlmICh0ZW1wICYgVFJBTlNfRERJX0hJ R0hfVE1EU19DSEFSX1JBVEUpCj4gPj4gKwkJCXBpcGVfY29uZmlnLT5oZG1pX2hpZ2hfdG1kc19j bG9ja19yYXRpbyA9IHRydWU7Cj4gPj4gICAJCS8qIGZhbGwgdGhyb3VnaCAqLwo+ID4+ICAgCWNh c2UgVFJBTlNfRERJX01PREVfU0VMRUNUX0RWSToKPiA+PiAgIAkJcGlwZV9jb25maWctPmxhbmVf Y291bnQgPSA0Owo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+PiBpbmRl eCBlNzdjYTdkLi5mYjVlNjcwIDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYwo+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rp c3BsYXkuYwo+ID4+IEBAIC0xMTcwMSw2ICsxMTcwMSw5IEBAIHN0YXRpYyB2b2lkIF9fcHJpbnRm KDMsIDQpCj4gPj4gICAJaWYgKChJTlRFTF9HRU4oZGV2X3ByaXYpIDwgOCAmJiAhSVNfSEFTV0VM TChkZXZfcHJpdikpIHx8Cj4gPj4gICAJICAgIElTX1ZBTExFWVZJRVcoZGV2X3ByaXYpIHx8IElT X0NIRVJSWVZJRVcoZGV2X3ByaXYpKQo+ID4+ICAgCQlQSVBFX0NPTkZfQ0hFQ0tfSShsaW1pdGVk X2NvbG9yX3JhbmdlKTsKPiA+PiArCj4gPj4gKwlQSVBFX0NPTkZfQ0hFQ0tfSShoZG1pX3NjcmFt YmxpbmcpOwo+ID4+ICsJUElQRV9DT05GX0NIRUNLX0koaGRtaV9oaWdoX3RtZHNfY2xvY2tfcmF0 aW8pOwo+ID4+ICAgCVBJUEVfQ09ORl9DSEVDS19JKGhhc19pbmZvZnJhbWUpOwo+ID4+ICAgCj4g Pj4gICAJUElQRV9DT05GX0NIRUNLX0koaGFzX2F1ZGlvKTsKPiA+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcnYuaAo+ID4+IGluZGV4IDNhZjIwYzEuLjUwZDY4MGMgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcnYuaAo+ID4+IEBAIC03MjksNiArNzI5LDEyIEBAIHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlIHsKPiA+PiAgIAo+ID4+ICAgCS8qIGJpdG1hc2sgb2YgdmlzaWJsZSBwbGFuZXMg KGVudW0gcGxhbmVfaWQpICovCj4gPj4gICAJdTggYWN0aXZlX3BsYW5lczsKPiA+PiArCj4gPj4g KwkvKiBIRE1JIHNjcmFtYmxpbmcgc3RhdHVzICovCj4gPj4gKwlib29sIGhkbWlfc2NyYW1ibGlu ZzsKPiA+PiArCj4gPj4gKwkvKiBIRE1JIEhpZ2ggVE1EUyBjaGFyIHJhdGUgcmF0aW8gKi8KPiA+ PiArCWJvb2wgaGRtaV9oaWdoX3RtZHNfY2xvY2tfcmF0aW87Cj4gPj4gICB9Owo+ID4+ICAgCj4g Pj4gICBzdHJ1Y3QgaW50ZWxfY3J0YyB7Cj4gPj4gQEAgLTE2MjMsNiArMTYyOSwxMCBAQCB2b2lk IGludGVsX2hkbWlfaW5pdF9jb25uZWN0b3Ioc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50 ZWxfZGlnX3BvcnQsCj4gPj4gICBib29sIGludGVsX2hkbWlfY29tcHV0ZV9jb25maWcoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPj4gICAJCQkgICAgICAgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKnBpcGVfY29uZmlnLAo+ID4+ICAgCQkJICAgICAgIHN0cnVjdCBkcm1fY29ubmVj dG9yX3N0YXRlICpjb25uX3N0YXRlKTsKPiA+PiArdm9pZCBpbnRlbF9oZG1pX2hhbmRsZV9zaW5r X3NjcmFtYmxpbmcoc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIsCj4gPj4gKwkJ CQkJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiA+PiArCQkJCQlzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY29uZmlnLAo+ID4+ICsJCQkJCWJvb2wgZW5hYmxlKTsKPiA+PiAgIHZv aWQgaW50ZWxfZHBfZHVhbF9tb2RlX3NldF90bWRzX291dHB1dChzdHJ1Y3QgaW50ZWxfaGRtaSAq aGRtaSwgYm9vbCBlbmFibGUpOwo+ID4+ICAgCj4gPj4gICAKPiA+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfaGRtaS5jCj4gPj4gaW5kZXggYzIxODRmNy4uNDU4NWFhOCAxMDA2NDQKPiA+PiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKPiA+PiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9oZG1pLmMKPiA+PiBAQCAtMzQsNiArMzQsNyBAQAo+ID4+ICAgI2luY2x1 ZGUgPGRybS9kcm1fYXRvbWljX2hlbHBlci5oPgo+ID4+ICAgI2luY2x1ZGUgPGRybS9kcm1fY3J0 Yy5oPgo+ID4+ICAgI2luY2x1ZGUgPGRybS9kcm1fZWRpZC5oPgo+ID4+ICsjaW5jbHVkZSA8ZHJt L2RybV9zY2RjX2hlbHBlci5oPgo+ID4+ICAgI2luY2x1ZGUgImludGVsX2Rydi5oIgo+ID4+ICAg I2luY2x1ZGUgPGRybS9pOTE1X2RybS5oPgo+ID4+ICAgI2luY2x1ZGUgPGRybS9pbnRlbF9scGVf YXVkaW8uaD4KPiA+PiBAQCAtMTMxNiw2ICsxMzE3LDcgQEAgYm9vbCBpbnRlbF9oZG1pX2NvbXB1 dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ID4+ICAgCXN0cnVjdCBp bnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVsX2hkbWkoJmVuY29kZXItPmJhc2Up Owo+ID4+ICAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5j b2Rlci0+YmFzZS5kZXYpOwo+ID4+ICAgCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3Rl ZF9tb2RlID0gJnBpcGVfY29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGU7Cj4gPj4gKwlzdHJ1Y3Qg ZHJtX3NjZGMgKnNjZGMgPSAmY29ubl9zdGF0ZS0+Y29ubmVjdG9yLT5kaXNwbGF5X2luZm8uaGRt aS5zY2RjOwo+ID4+ICAgCWludCBjbG9ja184YnBjID0gcGlwZV9jb25maWctPmJhc2UuYWRqdXN0 ZWRfbW9kZS5jcnRjX2Nsb2NrOwo+ID4+ICAgCWludCBjbG9ja18xMmJwYyA9IGNsb2NrXzhicGMg KiAzIC8gMjsKPiA+PiAgIAlpbnQgZGVzaXJlZF9icHA7Cj4gPj4gQEAgLTEzODUsNiArMTM4Nywx NiBAQCBib29sIGludGVsX2hkbWlfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXIsCj4gPj4gICAKPiA+PiAgIAlwaXBlX2NvbmZpZy0+bGFuZV9jb3VudCA9IDQ7Cj4g Pj4gICAKPiA+PiArCWlmIChzY2RjLT5zY3JhbWJsaW5nLnN1cHBvcnRlZCAmJiBJU19HRU1JTklM QUtFKGRldl9wcml2KSkgewo+ID4+ICsJCWlmIChzY2RjLT5zY3JhbWJsaW5nLmxvd19yYXRlcykK PiA+PiArCQkJcGlwZV9jb25maWctPmhkbWlfc2NyYW1ibGluZyA9IHRydWU7Cj4gPj4gKwo+ID4+ ICsJCWlmIChwaXBlX2NvbmZpZy0+cG9ydF9jbG9jayA+IDM0MDAwMCkgewo+ID4+ICsJCQlwaXBl X2NvbmZpZy0+aGRtaV9zY3JhbWJsaW5nID0gdHJ1ZTsKPiA+PiArCQkJcGlwZV9jb25maWctPmhk bWlfaGlnaF90bWRzX2Nsb2NrX3JhdGlvID0gdHJ1ZTsKPiA+PiArCQl9Cj4gPj4gKwl9Cj4gPj4g Kwo+ID4+ICAgCXJldHVybiB0cnVlOwo+ID4+ICAgfQo+ID4+ICAgCj4gPj4gQEAgLTE3OTQsNiAr MTgwNiw1NiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9oZG1pX2Rlc3Ryb3koc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvcikKPiA+PiAgIAlpbnRlbF9oZG1pLT5hc3BlY3RfcmF0aW8gPSBIRE1J X1BJQ1RVUkVfQVNQRUNUX05PTkU7Cj4gPj4gICB9Cj4gPj4gICAKPiA+PiArLyoKPiA+PiArICog VGhpcyBmdW5jdGlvbiBoYW5kbGVzIHNjcmFtYmxpbmcgb24gSERNSSAyLjAgY2FwYWJsZSBzaW5r cy4KPiA+PiArICogSWYgcmVxdWlyZWQgY2xvY2sgcmF0ZSBpcyA+IDM0MCBNaHogJiYgc2NyYW1i bGluZyBpcyBzdXBwb3J0ZWQgYnkgc2luawo+ID4+ICsgKiBpdCBlbmFibGVzIHNjcmFtYmxpbmcu IFRoaXMgc2hvdWxkIGJlIGNhbGxlZCBiZWZvcmUgZW5hYmxpbmcgdGhlIEhETUkKPiA+PiArICog Mi4wIHBvcnQsIGFzIHRoZSBzaW5rIGNhbiBjaG9vc2UgdG8gZGlzYWJsZSB0aGUgc2NyYW1ibGlu ZyBpZiBpdCBkb2Vzbid0Cj4gPj4gKyAqIGRldGVjdCBhIHNjcmFtYmxlZCBjbG9jayB3aXRoaW4g MTAwIG1zLgo+ID4+ICsgKi8KPiA+PiArdm9pZCBpbnRlbF9oZG1pX2hhbmRsZV9zaW5rX3NjcmFt Ymxpbmcoc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIsCj4gPj4gKwkJCQkgICAg ICAgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiA+PiArCQkJCSAgICAgICBzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY29uZmlnLAo+ID4+ICsJCQkJICAgICAgIGJvb2wgZW5hYmxl KQo+ID4+ICt7Cj4gPj4gKwlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaSA9IGVuY190b19p bnRlbF9oZG1pKCZpbnRlbF9lbmNvZGVyLT5iYXNlKTsKPiA+PiArCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IGNvbm5lY3Rvci0+ZGV2LT5kZXZfcHJpdmF0ZTsKPiA+PiArCXN0 cnVjdCBkcm1fc2NyYW1ibGluZyAqc2NyYW1ibGluZyA9Cj4gPj4gKwkJCQkmY29ubmVjdG9yLT5k aXNwbGF5X2luZm8uaGRtaS5zY2RjLnNjcmFtYmxpbmc7Cj4gPj4gKwlzdHJ1Y3QgaTJjX2FkYXB0 ZXIgKmFkcHRyID0gaW50ZWxfZ21idXNfZ2V0X2FkYXB0ZXIoZGV2X3ByaXYsCj4gPj4gKwkJCQkJ CQkgIGludGVsX2hkbWktPmRkY19idXMpOwo+ID4+ICsJYm9vbCByZXQ7Cj4gPj4gKwo+ID4+ICsJ aWYgKCFzY3JhbWJsaW5nLT5zdXBwb3J0ZWQpCj4gPj4gKwkJcmV0dXJuOwo+ID4+ICsKPiA+PiAr CWlmICghSVNfR0VNSU5JTEFLRShkZXZfcHJpdikpCj4gPj4gKwkJcmV0dXJuOwo+ID4gSSdkIHN0 aWxsIGxpa2UgdG8gc2VlIHRoaXMgZ2V0dGluZyBkb25lIHVuY29kaXRpb25hbGx5LiBUaGF0IHdh eSB3ZQo+ID4gbWlnaHQgZ2V0IGEgYml0IG9mIGV4dHJhIHRlc3RpbmcgZm9yIHRoZSBTQ0RDIGhl bHBlciBubyBtYXR0ZXIgd2hhdAo+ID4gcGxhdGZvcm0gdGhlIHVzZXIgaGFwcGVucyB0byBvd24u Cj4gU3VyZSwgc2VlbXMgYSBnb29kIGlkZWEuIEkganVzdCBhZGRlZCB0aGlzIGhlYXIgdG8gYWRk cmVzcyB0aGUgcmV2aWV3IAo+IGNvbW1lbnQgZnJvbSBBbmRlci4KPiBBbHNvLCBJIGNhbiBtb3Zl IHRoaXMgSVNfR0xLIGNvbmRpdGlvbiB0byBjb21wdXRlX2NvbmZpZywgYW5kIG9uY2Ugd2UgCj4g Y2hlY2sgdGhpcyBpbiBjb21wdXRlX2NvbmZpZwo+IHdlIG1pZ2h0IG5ldmVyIGhhdmUgY2hlY2sg aXQgYWdhaW4uCgpJIHRob3VnaHQgeW91IGFscmVhZHkgaGFkIHRoZSBjaGVjayBpbiB0aGVyZT8g SG1tLiBMb29rcyB0aGF0IHdheSB0byBtZS4KCj4gPiBJIHByZXN1bWUgdGhlIHNwZWMgc2F5cyB0 aGUgc2luayB3aWxsIHJlc2V0IHRoZXNlIHRvIHNvbWUgZGVmYXVsdCB2YWx1ZQo+ID4gb24gSFBE IG9yIHNvbWV0aGluZyBsaWtlIHRoYXQ/IEJ1dCBJJ20gbm90IHN1cmUgdHJ1c3RpbmcgdGhlbSB0 byBnZXQKPiA+IHRoaXMgcmlnaHQgaXMgYSBnb29kIGlkZWEgYmVjYXVzZSByZWFsaXR5IG9mdGVu IGRvZXNuJ3QgbWF0Y2ggdGhlCj4gPiBzcGVjcy4gU28gdGhlIHNhZmVyIG9wdGlvbiBJTU8gd291 bGQgYmUgYWx3YXlzIHRlbGwgdGhlIHNpbmsgZXhhY3RseQo+ID4gd2hhdCB3ZSB3YW50Lgo+IFll cCwgWW91IGFyZSBjb3JyZWN0IGFib3V0IHRoZSBzcGVjIHRvbywgdGhhdCBpdCBzYXlzIGlmIHRo ZXJlIGlzIG5vIAo+IHNjcmFtYmxlZCBjbG9jayBwb3N0IGhwZF9vdXQgZm9yCj4gMTAwbXMsIHRo ZSBzaW5rIHNob3VsZCBkaXNhYmxlIHNjcmFtYmxpbmcuIEJ1dCBjb25uZWN0ZWQgbW9kZXNldCAK PiBzY2VuYXJpb3MgbmVlZCBvdXIgYXR0ZW50aW9uLCB3aGVyZQo+IGZvciBleGFtcGxlIHdlIGFy ZSBzd2l0Y2hpbmcgbW9kZSBmcm9tLCA0a0A2MCAoc2NyYW1ibGluZyByZXFkKSAtPiAKPiAxMDgw QDYwIChzY3JhbWJsaW5nIG5vdCByZXFkKS4KPiBGb3Igc3VjaCBjYXNlcyB0b28sIHdlIGhhdmUg dG8gdGVsbCBzaW5rIHRvIGRpc2FibGUgc2NyYW1ibGluZy4KPiA+Cj4gPj4gKwo+ID4+ICsJRFJN X0RFQlVHX0tNUygiU2V0dGluZyBzaW5rIHNjcmFtYmxpbmcgZm9yIGVuYzolcyBjb25uZWN0b3I6 JXNcbiIsCj4gPj4gKwkJCWludGVsX2VuY29kZXItPmJhc2UubmFtZSwgY29ubmVjdG9yLT5uYW1l KTsKPiA+PiArCj4gPj4gKwlpZiAoY29uZmlnLT5oZG1pX2hpZ2hfdG1kc19jbG9ja19yYXRpbykg ewo+ID4+ICsJCS8qIFNldCBUTURTIGJpdCBjbG9jayByYXRpbyB0byAxLzQwIG9yIDEvMTAgKi8K PiA+PiArCQlyZXQgPSBkcm1fc2NkY19zZXRfaGlnaF90bWRzX2Nsb2NrX3JhdGlvKGFkcHRyLCBl bmFibGUpOwo+ID4+ICsJCWlmICghcmV0KSB7Cj4gPj4gKwkJCURSTV9FUlJPUigiU2V0IFRNRFMg cmF0aW8gZmFpbGVkXG4iKTsKPiA+PiArCQkJcmV0dXJuOwo+ID4+ICsJCX0KPiA+PiArCX0KPiA+ PiArCj4gPj4gKwlpZiAoY29uZmlnLT5oZG1pX3NjcmFtYmxpbmcpIHsKPiA+PiArCQkvKiBFbmFi bGUvZGlzYWJsZSBzaW5rIHNjcmFtYmxpbmcgKi8KPiA+PiArCQlyZXQgPSBkcm1fc2NkY19zZXRf c2NyYW1ibGluZyhhZHB0ciwgZW5hYmxlKTsKPiA+PiArCQlpZiAoIXJldCkgewo+ID4+ICsJCQlE Uk1fRVJST1IoIlNldCBzaW5rIHNjcmFtYmxpbmcgZmFpbGVkXG4iKTsKPiA+PiArCQkJcmV0dXJu Owo+ID4+ICsJCX0KPiA+PiArCX0KPiA+PiArCj4gPj4gKwlEUk1fREVCVUdfS01TKCJzaW5rIHNj cmFtYmxpbmcgaGFuZGxlZFxuIik7Cj4gPj4gK30KPiA+PiArCj4gPj4gICBzdGF0aWMgdTggaW50 ZWxfaGRtaV9kZGNfcGluKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+PiAg IAkJCSAgICAgZW51bSBwb3J0IHBvcnQpCj4gPj4gICB7Cj4gPj4gLS0gCj4gPj4gMS45LjEKCi0t IApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwgT1RDCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAo=