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:56:58 +0200 Message-ID: <20170308175658.GO31595@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> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <8d7ebecc-1d4e-5d86-bdde-5419b127d284@intel.com> 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 T24gV2VkLCBNYXIgMDgsIDIwMTcgYXQgMDc6NTA6NDVQTSArMDIwMCwgU2hhcm1hLCBTaGFzaGFu ayB3cm90ZToKPiBSZWdhcmRzCj4gCj4gU2hhc2hhbmsKPiAKPiAKPiBPbiAzLzgvMjAxNyA3OjQ0 IFBNLCBWaWxsZSBTeXJqw6Rsw6Qgd3JvdGU6Cj4gPiBPbiBXZWQsIE1hciAwOCwgMjAxNyBhdCAw NzoyNjo0NVBNICswMjAwLCBTaGFybWEsIFNoYXNoYW5rIHdyb3RlOgo+ID4+IFJlZ2FyZHMKPiA+ Pgo+ID4+IFNoYXNoYW5rCj4gPj4KPiA+Pgo+ID4+IE9uIDMvOC8yMDE3IDc6MTcgUE0sIFZpbGxl IFN5cmrDpGzDpCB3cm90ZToKPiA+Pj4gT24gV2VkLCBNYXIgMDgsIDIwMTcgYXQgMDc6MDc6NDhQ TSArMDUzMCwgU2hhc2hhbmsgU2hhcm1hIHdyb3RlOgo+ID4+Pj4gICAgR2VtaW5pbGFrZSBwbGF0 Zm9ybSBzcG9ydHMgYSBuYXRpdmUgSERNSSAyLjAgY29udHJvbGxlciwgYW5kIGlzCj4gPj4+PiAg ICBjYXBhYmxlIG9mIGRyaXZpbmcgcGl4ZWwtY2xvY2tzIHVwdG8gNTk0TWh6LiBIRE1JIDIuMCBz cGVjCj4gPj4+PiAgICBtZW5kYXRlcyBzY3JhbWJsaW5nIGZvciB0aGVzZSBoaWdoZXIgY2xvY2tz LCBmb3IgcmVkdWNlZCBSRiBmb290cHJpbnQuCj4gPj4+Pgo+ID4+Pj4gICAgVGhpcyBwYXRjaCBj aGVja3MgaWYgdGhlIG1vbml0b3Igc3VwcG9ydHMgc2NyYW1ibGluZywgYW5kIGlmIHJlcXVpcmVk LAo+ID4+Pj4gICAgZW5hYmxlcyBpdCBkdXJpbmcgdGhlIG1vZGVzZXQuCj4gPj4+Pgo+ID4+Pj4g ICAgVjI6IEFkZHJlc3NlZCByZXZpZXcgY29tbWVudHMgZnJvbSBWaWxsZToKPiA+Pj4+ICAgIC0g RG8gbm90IHRyYWNrIHNjcmFtYmxpbmcgc3RhdHVzIGluIERSTSBsYXllciwgdHJhY2sgc29tZXdo ZXJlIGluCj4gPj4+PiAgICAgIGRyaXZlciBsaWtlIGluIGludGVsX2NydGNfc3RhdGUuCj4gPj4+ PiAgICAtIERvbid0IHRhbGsgdG8gbW9uaXRvciBhdCBzdWNoIGEgbG93IGxheWVyLCBzZXQgbW9u aXRvciBzY3JhbWJsaW5nCj4gPj4+PiAgICAgIGluIGludGVsX2VuYWJsZV9kZGkoKSBiZWZvcmUg ZW5hYmxpbmcgdGhlIHBvcnQuCj4gPj4+Pgo+ID4+Pj4gICAgVjM6IEFkZHJlc3NlZCByZXZpZXcg Y29tbWVudHMgZnJvbSBKYW5pCj4gPj4+PiAgICAtIEluIGNvbW1lbnRzLCBmdW5jdGlvbiBuYW1l cywgdXNlICJzaW5rIiBpbnN0ZWFkIG9mICJtb25pdG9yIiwKPiA+Pj4+ICAgICAgc28gdGhhdCB0 aGUgaW1wbGVtZW50YXRpb24gY291bGQgYmUgY2xvc2UgdG8gdGhlIGxhbmd1YWdlIG9mCj4gPj4+ PiAgICAgIEhETUkgc3BlYy4KPiA+Pj4+Cj4gPj4+PiBWNDogQWRkcmVzc2VkIHJldmlldyBjb21t ZW50IGZyb20gTWFhcnRlbgo+ID4+Pj4gICAgLSBzY3JhbWJsaW5nIC0+IGhkbWlfc2NyYW1ibGlu Zwo+ID4+Pj4gICAgLSBoaWdoX3RtZHNfY2xvY2tfcmF0aW8gLT4gaGRtaV9oaWdoX3RtZHNfY2xv Y2tfcmF0aW8KPiA+Pj4+Cj4gPj4+PiBWNTogQWRkcmVzc2VkIHJldmlldyBjb21tZW50cyBmcm9t IFZpbGxlIGFuZCBBbmRlcgo+ID4+Pj4gICAgLSBEbyBub3QgbW9kaWZpeSB0aGUgY3J0Y19zdGF0 ZSBhZnRlciBjb21wdXRlX2NvbmZpZy4gTW92ZSBhbGwKPiA+Pj4+ICAgICAgc2NyYW1ibGluZyBh bmQgdG1kc19jbG9ja19yYXRpbyBjYWxjdXRhdGlvbnMgdG8gY29tcHV0ZV9jb25maWcuCj4gPj4+ PiAgICAtIFdoaWxlIHNldHRpbmcgc2NyYW1ibGluZyBmb3Igc291cmNlL3NpbmssIGRvIG5vdCBj aGVjayB0aGUKPiA+Pj4+ICAgICAgY29uZGl0aW9ucyBhZ2FpbiwganVzdCBnbyBieSB0aGUgY3J0 Y19zdGF0ZSBmbGFncy4gVGhpcyB3aWxsCj4gPj4+PiAgICAgIHNpbXBseWZ5IHRoZSBjb25kaXRp b24gY2hlY2tzLgo+ID4+Pj4KPiA+Pj4+IFY2OiBBZGRyZXNzZWQgcmV2aWV3IGNvbW1lbnRzIGZy b20gVmlsbGUKPiA+Pj4+ICAgIC0gRG8gbm90IGFkZCBJU19HTEsgY2hlY2sgaW4gZGlzYWJsZS9l bmFibGUgZnVuY3Rpb24sIGluc3RlYWQgYWRkIGl0Cj4gPj4+PiAgICAgIGluIGNvbXB1dGVfY29u ZmlnLCB3aGlsZSBzZXR0aW5nIHN0YXRlIGZsYWdzLgo+ID4+Pj4gICAgLSBSZW1vdmUgdW5uZWNl c3NhcnkgcGFyYW50aGVzaXMuCj4gPj4+PiAgICAtIFNpbXBseWZ5IGhhbmRsZV9zaW5rX3NjcmFt YmxpbmcgZnVuY3Rpb24gYXMgc3VnZ2VzdGVkLgo+ID4+Pj4gICAgLSBBZGQgcmVhZG91dCBjb2Rl IGZvciBzY3JhbWJsaW5nIHN0YXR1cyBpbiBnZXRfZGRpX2NvbmZpZyBhbmQgYWRkIGEKPiA+Pj4+ ICAgICAgY2hlY2sgZm9yIHRoZSBzYW1lIGluIHBpcGVfY29uZmlnX2NvbXBhcmUuCj4gPj4+Pgo+ ID4+Pj4gVjc6IEFkZHJlc3NlZCByZXZpZXcgY29tbWVudHMgZnJvbSBBbmRlci9WaWxsZQo+ID4+ Pj4gICAgLSBObyBzZXBhcmF0ZSBmdW5jdGlvbiBmb3Igc291cmNlIHNjcmFtYmxpbmcsIG1ha2Ug aXQgaW5saW5lCj4gPj4+PiAgICAtIEFsaWduIHRoZSBsYXN0IGxpbmUgb2YgdGhlIG1hY3JvIFRS QU5TX0RESV9IRE1JX1NDUkFNQkxJTkdfTUFTSwo+ID4+Pj4gICAgLSBEbyBub3QgYWRkIHBsYXRm b3JtIGNoZWNrIHdoaWxlIHNldHRpbmcgc291cmNlIHNjcmFtYmxpbmcKPiA+Pj4+ICAgIC0gVXNl IHBpcGVfY29uZmlnIGluc3RlYWQgb2YgY3J0Yy0+Y29uZmlnIHRvIHNldCBzaW5rIHNjcmFtYmxp bmcKPiA+Pj4+ICAgIC0gVG8gcmVhZG91dCBzY3JhbWJsaW5nIHN0YXR1cywgQ29tcGFyZSB3aXRo IFNDUkFNQkxJTkdfTUFTSwo+ID4+Pj4gICAgICBub3QgYW55IG9mIGl0cyBiaXRzCj4gPj4+PiAg ICAtIFJlbW92ZSBwbGF0Zm9ybSBjaGVjayBpbiBpbnRlbF9waXBlX2NvbmZpZ19jb21wYXJlIHdo aWxlIGNoZWNraW5nCj4gPj4+PiAgICAgIHNjcmFtYmxpbmcgc3RhdHVzCj4gPj4+Pgo+ID4+Pj4g Vjg6IEZpeGVkIG1lZ2UgY29uZmxpY3QsIEFkZHJlc3NlZCByZXZpZXcgY29tbWVudHMgZnJvbSBB bmRlcgo+ID4+Pj4gICAgLSBSZW1vdmUgdGhlIGRlc2NpcHRpb24vY29tbWVudCBhYm91dCBzY3Jh bWJsaW5nIGZvbSB0aGUgY2FsbGVyLCBtb3ZlCj4gPj4+PiAgICAgIGl0IHRvIHRoZSBmdW5jdGlv bgo+ID4+Pj4gICAgLSBNb3ZlIHRoZSBJU19HTEsgY2hlY2sgaW50byBzY3JhbWJsaW5nIGZ1bmN0 aW9uCj4gPj4+PiAgICAtIEZpeCBhbGlnbm1lbnQKPiA+Pj4+Cj4gPj4+PiBTaWduZWQtb2ZmLWJ5 OiBTaGFzaGFuayBTaGFybWEgPHNoYXNoYW5rLnNoYXJtYUBpbnRlbC5jb20+Cj4gPj4+PiAtLS0K PiA+Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggICAgICB8ICA3ICsrKysK PiA+Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jICAgICB8IDE5ICsrKysr KysrKysrCj4gPj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAg MyArKwo+ID4+Pj4gICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgIHwgMTAg KysrKysrCj4gPj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgICAgfCA2 MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiA+Pj4+ICAgIDUgZmlsZXMg Y2hhbmdlZCwgMTAxIGluc2VydGlvbnMoKykKPiA+Pj4+Cj4gPj4+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf cmVnLmgKPiA+Pj4+IGluZGV4IGNjODQzZjkuLjJkNTBmZGMgMTAwNjQ0Cj4gPj4+PiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gPj4+PiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3JlZy5oCj4gPj4+PiBAQCAtNzgzMCw3ICs3ODMwLDE0IEBAIGVudW0gewo+ ID4+Pj4gICAgI2RlZmluZSAgVFJBTlNfRERJX0VEUF9JTlBVVF9CX09OT0ZGCSg1PDwxMikKPiA+ Pj4+ICAgICNkZWZpbmUgIFRSQU5TX0RESV9FRFBfSU5QVVRfQ19PTk9GRgkoNjw8MTIpCj4gPj4+ PiAgICAjZGVmaW5lICBUUkFOU19ERElfRFBfVkNfUEFZTE9BRF9BTExPQwkoMTw8OCkKPiA+Pj4+ ICsjZGVmaW5lICBUUkFOU19ERElfSERNSV9TQ1JBTUJMRVJfQ1RTX0VOQUJMRSAoMTw8NykKPiA+ Pj4+ICsjZGVmaW5lICBUUkFOU19ERElfSERNSV9TQ1JBTUJMRVJfUkVTRVRfRlJFUSAoMTw8NikK PiA+Pj4+ICAgICNkZWZpbmUgIFRSQU5TX0RESV9CRklfRU5BQkxFCQkoMTw8NCkKPiA+Pj4+ICsj ZGVmaW5lICBUUkFOU19ERElfSElHSF9UTURTX0NIQVJfUkFURQkoMTw8NCkKPiA+Pj4+ICsjZGVm aW5lICBUUkFOU19ERElfSERNSV9TQ1JBTUJMSU5HCSgxPDwwKQo+ID4+Pj4gKyNkZWZpbmUgIFRS QU5TX0RESV9IRE1JX1NDUkFNQkxJTkdfTUFTSyAoVFJBTlNfRERJX0hETUlfU0NSQU1CTEVSX0NU U19FTkFCTEUgXAo+ID4+Pj4gKwkJCQkJfCBUUkFOU19ERElfSERNSV9TQ1JBTUJMRVJfUkVTRVRf RlJFUSBcCj4gPj4+PiArCQkJCQl8IFRSQU5TX0RESV9IRE1JX1NDUkFNQkxJTkcpCj4gPj4+PiAg ICAKPiA+Pj4+ICAgIC8qIERpc3BsYXlQb3J0IFRyYW5zcG9ydCBDb250cm9sICovCj4gPj4+PiAg ICAjZGVmaW5lIF9EUF9UUF9DVExfQQkJCTB4NjQwNDAKPiA+Pj4+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RkaS5jCj4gPj4+PiBpbmRleCAwNDY3Njc2Li5iM2U0YzRhIDEwMDY0NAo+ID4+Pj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiA+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gPj4+PiBAQCAtMTMwOSw2ICsxMzA5LDExIEBAIHZvaWQg aW50ZWxfZGRpX2VuYWJsZV90cmFuc2NvZGVyX2Z1bmMoY29uc3Qgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUpCj4gPj4+PiAgICAJCQl0ZW1wIHw9IFRSQU5TX0RESV9NT0RFX1NF TEVDVF9IRE1JOwo+ID4+Pj4gICAgCQllbHNlCj4gPj4+PiAgICAJCQl0ZW1wIHw9IFRSQU5TX0RE SV9NT0RFX1NFTEVDVF9EVkk7Cj4gPj4+PiArCj4gPj4+PiArCQlpZiAoY3J0Y19zdGF0ZS0+aGRt aV9zY3JhbWJsaW5nKQo+ID4+Pj4gKwkJCXRlbXAgfD0gVFJBTlNfRERJX0hETUlfU0NSQU1CTElO R19NQVNLOwo+ID4+Pj4gKwkJaWYgKGNydGNfc3RhdGUtPmhkbWlfaGlnaF90bWRzX2Nsb2NrX3Jh dGlvKQo+ID4+Pj4gKwkJCXRlbXAgfD0gVFJBTlNfRERJX0hJR0hfVE1EU19DSEFSX1JBVEU7Cj4g Pj4+PiAgICAJfSBlbHNlIGlmICh0eXBlID09IElOVEVMX09VVFBVVF9BTkFMT0cpIHsKPiA+Pj4+ ICAgIAkJdGVtcCB8PSBUUkFOU19ERElfTU9ERV9TRUxFQ1RfRkRJOwo+ID4+Pj4gICAgCQl0ZW1w IHw9IChjcnRjX3N0YXRlLT5mZGlfbGFuZXMgLSAxKSA8PCAxOwo+ID4+Pj4gQEAgLTE4ODIsNiAr MTg4Nyw5IEBAIHN0YXRpYyB2b2lkIGludGVsX2VuYWJsZV9kZGkoc3RydWN0IGludGVsX2VuY29k ZXIgKmludGVsX2VuY29kZXIsCj4gPj4+PiAgICAJCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQg KmludGVsX2RpZ19wb3J0ID0KPiA+Pj4+ICAgIAkJCWVuY190b19kaWdfcG9ydChlbmNvZGVyKTsK PiA+Pj4+ICAgIAo+ID4+Pj4gKwkJaW50ZWxfaGRtaV9oYW5kbGVfc2lua19zY3JhbWJsaW5nKGlu dGVsX2VuY29kZXIsCj4gPj4+PiArCQkJY29ubl9zdGF0ZS0+Y29ubmVjdG9yLCBwaXBlX2NvbmZp ZywgdHJ1ZSk7Cj4gPj4+PiArCj4gPj4+PiAgICAJCS8qIEluIEhETUkvRFZJIG1vZGUsIHRoZSBw b3J0IHdpZHRoLCBhbmQgc3dpbmcvZW1waGFzaXMgdmFsdWVzCj4gPj4+PiAgICAJCSAqIGFyZSBp Z25vcmVkIHNvIG5vdGhpbmcgc3BlY2lhbCBuZWVkcyB0byBiZSBkb25lIGJlc2lkZXMKPiA+Pj4+ ICAgIAkJICogZW5hYmxpbmcgdGhlIHBvcnQuCj4gPj4+PiBAQCAtMTkxNCw2ICsxOTIyLDExIEBA IHN0YXRpYyB2b2lkIGludGVsX2Rpc2FibGVfZGRpKHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRl bF9lbmNvZGVyLAo+ID4+Pj4gICAgCWlmIChvbGRfY3J0Y19zdGF0ZS0+aGFzX2F1ZGlvKQo+ID4+ Pj4gICAgCQlpbnRlbF9hdWRpb19jb2RlY19kaXNhYmxlKGludGVsX2VuY29kZXIpOwo+ID4+Pj4g ICAgCj4gPj4+PiArCWlmICh0eXBlID09IElOVEVMX09VVFBVVF9IRE1JKSB7Cj4gPj4+PiArCQlp bnRlbF9oZG1pX2hhbmRsZV9zaW5rX3NjcmFtYmxpbmcoaW50ZWxfZW5jb2RlciwKPiA+Pj4+ICsJ CQlvbGRfY29ubl9zdGF0ZS0+Y29ubmVjdG9yLCBvbGRfY3J0Y19zdGF0ZSwgZmFsc2UpOwo+ID4+ Pj4gKwl9Cj4gPj4+PiArCj4gPj4+PiAgICAJaWYgKHR5cGUgPT0gSU5URUxfT1VUUFVUX0VEUCkg ewo+ID4+Pj4gICAgCQlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2Rw KGVuY29kZXIpOwo+ID4+Pj4gICAgCj4gPj4+PiBAQCAtMjA0MCw2ICsyMDUzLDEyIEBAIHZvaWQg aW50ZWxfZGRpX2dldF9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPj4+ PiAgICAKPiA+Pj4+ICAgIAkJaWYgKGludGVsX2hkbWktPmluZm9mcmFtZV9lbmFibGVkKCZlbmNv ZGVyLT5iYXNlLCBwaXBlX2NvbmZpZykpCj4gPj4+PiAgICAJCQlwaXBlX2NvbmZpZy0+aGFzX2lu Zm9mcmFtZSA9IHRydWU7Cj4gPj4+PiArCj4gPj4+PiArCQlpZiAoKHRlbXAgJiBUUkFOU19ERElf SERNSV9TQ1JBTUJMSU5HX01BU0spID09Cj4gPj4+PiArCQkJCVRSQU5TX0RESV9IRE1JX1NDUkFN QkxJTkdfTUFTSykKPiA+Pj4+ICsJCQlwaXBlX2NvbmZpZy0+aGRtaV9zY3JhbWJsaW5nID0gdHJ1 ZTsKPiA+Pj4+ICsJCWlmICh0ZW1wICYgVFJBTlNfRERJX0hJR0hfVE1EU19DSEFSX1JBVEUpCj4g Pj4+PiArCQkJcGlwZV9jb25maWctPmhkbWlfaGlnaF90bWRzX2Nsb2NrX3JhdGlvID0gdHJ1ZTsK PiA+Pj4+ICAgIAkJLyogZmFsbCB0aHJvdWdoICovCj4gPj4+PiAgICAJY2FzZSBUUkFOU19ERElf TU9ERV9TRUxFQ1RfRFZJOgo+ID4+Pj4gICAgCQlwaXBlX2NvbmZpZy0+bGFuZV9jb3VudCA9IDQ7 Cj4gPj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gPj4+PiBpbmRleCBlNzdj YTdkLi5mYjVlNjcwIDEwMDY0NAo+ID4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCj4gPj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNw bGF5LmMKPiA+Pj4+IEBAIC0xMTcwMSw2ICsxMTcwMSw5IEBAIHN0YXRpYyB2b2lkIF9fcHJpbnRm KDMsIDQpCj4gPj4+PiAgICAJaWYgKChJTlRFTF9HRU4oZGV2X3ByaXYpIDwgOCAmJiAhSVNfSEFT V0VMTChkZXZfcHJpdikpIHx8Cj4gPj4+PiAgICAJICAgIElTX1ZBTExFWVZJRVcoZGV2X3ByaXYp IHx8IElTX0NIRVJSWVZJRVcoZGV2X3ByaXYpKQo+ID4+Pj4gICAgCQlQSVBFX0NPTkZfQ0hFQ0tf SShsaW1pdGVkX2NvbG9yX3JhbmdlKTsKPiA+Pj4+ICsKPiA+Pj4+ICsJUElQRV9DT05GX0NIRUNL X0koaGRtaV9zY3JhbWJsaW5nKTsKPiA+Pj4+ICsJUElQRV9DT05GX0NIRUNLX0koaGRtaV9oaWdo X3RtZHNfY2xvY2tfcmF0aW8pOwo+ID4+Pj4gICAgCVBJUEVfQ09ORl9DSEVDS19JKGhhc19pbmZv ZnJhbWUpOwo+ID4+Pj4gICAgCj4gPj4+PiAgICAJUElQRV9DT05GX0NIRUNLX0koaGFzX2F1ZGlv KTsKPiA+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPj4+PiBpbmRleCAzYWYyMGMxLi41 MGQ2ODBjIDEwMDY0NAo+ID4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmgKPiA+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPj4+PiBA QCAtNzI5LDYgKzcyOSwxMiBAQCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSB7Cj4gPj4+PiAgICAK PiA+Pj4+ICAgIAkvKiBiaXRtYXNrIG9mIHZpc2libGUgcGxhbmVzIChlbnVtIHBsYW5lX2lkKSAq Lwo+ID4+Pj4gICAgCXU4IGFjdGl2ZV9wbGFuZXM7Cj4gPj4+PiArCj4gPj4+PiArCS8qIEhETUkg c2NyYW1ibGluZyBzdGF0dXMgKi8KPiA+Pj4+ICsJYm9vbCBoZG1pX3NjcmFtYmxpbmc7Cj4gPj4+ PiArCj4gPj4+PiArCS8qIEhETUkgSGlnaCBUTURTIGNoYXIgcmF0ZSByYXRpbyAqLwo+ID4+Pj4g Kwlib29sIGhkbWlfaGlnaF90bWRzX2Nsb2NrX3JhdGlvOwo+ID4+Pj4gICAgfTsKPiA+Pj4+ICAg IAo+ID4+Pj4gICAgc3RydWN0IGludGVsX2NydGMgewo+ID4+Pj4gQEAgLTE2MjMsNiArMTYyOSwx MCBAQCB2b2lkIGludGVsX2hkbWlfaW5pdF9jb25uZWN0b3Ioc3RydWN0IGludGVsX2RpZ2l0YWxf cG9ydCAqaW50ZWxfZGlnX3BvcnQsCj4gPj4+PiAgICBib29sIGludGVsX2hkbWlfY29tcHV0ZV9j b25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPj4+PiAgICAJCQkgICAgICAg c3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAo+ID4+Pj4gICAgCQkJICAgICAg IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKTsKPiA+Pj4+ICt2b2lkIGlu dGVsX2hkbWlfaGFuZGxlX3Npbmtfc2NyYW1ibGluZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50 ZWxfZW5jb2RlciwKPiA+Pj4+ICsJCQkJCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3Is Cj4gPj4+PiArCQkJCQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY29uZmlnLAo+ID4+Pj4gKwkJ CQkJYm9vbCBlbmFibGUpOwo+ID4+Pj4gICAgdm9pZCBpbnRlbF9kcF9kdWFsX21vZGVfc2V0X3Rt ZHNfb3V0cHV0KHN0cnVjdCBpbnRlbF9oZG1pICpoZG1pLCBib29sIGVuYWJsZSk7Cj4gPj4+PiAg ICAKPiA+Pj4+ICAgIAo+ID4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+ID4+Pj4gaW5k ZXggYzIxODRmNy4uNDU4NWFhOCAxMDA2NDQKPiA+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2hkbWkuYwo+ID4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf aGRtaS5jCj4gPj4+PiBAQCAtMzQsNiArMzQsNyBAQAo+ID4+Pj4gICAgI2luY2x1ZGUgPGRybS9k cm1fYXRvbWljX2hlbHBlci5oPgo+ID4+Pj4gICAgI2luY2x1ZGUgPGRybS9kcm1fY3J0Yy5oPgo+ ID4+Pj4gICAgI2luY2x1ZGUgPGRybS9kcm1fZWRpZC5oPgo+ID4+Pj4gKyNpbmNsdWRlIDxkcm0v ZHJtX3NjZGNfaGVscGVyLmg+Cj4gPj4+PiAgICAjaW5jbHVkZSAiaW50ZWxfZHJ2LmgiCj4gPj4+ PiAgICAjaW5jbHVkZSA8ZHJtL2k5MTVfZHJtLmg+Cj4gPj4+PiAgICAjaW5jbHVkZSA8ZHJtL2lu dGVsX2xwZV9hdWRpby5oPgo+ID4+Pj4gQEAgLTEzMTYsNiArMTMxNyw3IEBAIGJvb2wgaW50ZWxf aGRtaV9jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+Pj4+ ICAgIAlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaSA9IGVuY190b19pbnRlbF9oZG1pKCZl bmNvZGVyLT5iYXNlKTsKPiA+Pj4+ICAgIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKPiA+Pj4+ICAgIAlzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9ICZwaXBlX2NvbmZpZy0+YmFzZS5hZGp1c3RlZF9t b2RlOwo+ID4+Pj4gKwlzdHJ1Y3QgZHJtX3NjZGMgKnNjZGMgPSAmY29ubl9zdGF0ZS0+Y29ubmVj dG9yLT5kaXNwbGF5X2luZm8uaGRtaS5zY2RjOwo+ID4+Pj4gICAgCWludCBjbG9ja184YnBjID0g cGlwZV9jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZS5jcnRjX2Nsb2NrOwo+ID4+Pj4gICAgCWlu dCBjbG9ja18xMmJwYyA9IGNsb2NrXzhicGMgKiAzIC8gMjsKPiA+Pj4+ICAgIAlpbnQgZGVzaXJl ZF9icHA7Cj4gPj4+PiBAQCAtMTM4NSw2ICsxMzg3LDE2IEBAIGJvb2wgaW50ZWxfaGRtaV9jb21w dXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+Pj4+ICAgIAo+ID4+ Pj4gICAgCXBpcGVfY29uZmlnLT5sYW5lX2NvdW50ID0gNDsKPiA+Pj4+ICAgIAo+ID4+Pj4gKwlp ZiAoc2NkYy0+c2NyYW1ibGluZy5zdXBwb3J0ZWQgJiYgSVNfR0VNSU5JTEFLRShkZXZfcHJpdikp IHsKPiA+Pj4+ICsJCWlmIChzY2RjLT5zY3JhbWJsaW5nLmxvd19yYXRlcykKPiA+Pj4+ICsJCQlw aXBlX2NvbmZpZy0+aGRtaV9zY3JhbWJsaW5nID0gdHJ1ZTsKPiA+Pj4+ICsKPiA+Pj4+ICsJCWlm IChwaXBlX2NvbmZpZy0+cG9ydF9jbG9jayA+IDM0MDAwMCkgewo+ID4+Pj4gKwkJCXBpcGVfY29u ZmlnLT5oZG1pX3NjcmFtYmxpbmcgPSB0cnVlOwo+ID4+Pj4gKwkJCXBpcGVfY29uZmlnLT5oZG1p X2hpZ2hfdG1kc19jbG9ja19yYXRpbyA9IHRydWU7Cj4gPj4+PiArCQl9Cj4gPj4+PiArCX0KPiA+ Pj4+ICsKPiA+Pj4+ICAgIAlyZXR1cm4gdHJ1ZTsKPiA+Pj4+ICAgIH0KPiA+Pj4+ICAgIAo+ID4+ Pj4gQEAgLTE3OTQsNiArMTgwNiw1NiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9oZG1pX2Rlc3Ryb3ko c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiA+Pj4+ICAgIAlpbnRlbF9oZG1pLT5h c3BlY3RfcmF0aW8gPSBIRE1JX1BJQ1RVUkVfQVNQRUNUX05PTkU7Cj4gPj4+PiAgICB9Cj4gPj4+ PiAgICAKPiA+Pj4+ICsvKgo+ID4+Pj4gKyAqIFRoaXMgZnVuY3Rpb24gaGFuZGxlcyBzY3JhbWJs aW5nIG9uIEhETUkgMi4wIGNhcGFibGUgc2lua3MuCj4gPj4+PiArICogSWYgcmVxdWlyZWQgY2xv Y2sgcmF0ZSBpcyA+IDM0MCBNaHogJiYgc2NyYW1ibGluZyBpcyBzdXBwb3J0ZWQgYnkgc2luawo+ ID4+Pj4gKyAqIGl0IGVuYWJsZXMgc2NyYW1ibGluZy4gVGhpcyBzaG91bGQgYmUgY2FsbGVkIGJl Zm9yZSBlbmFibGluZyB0aGUgSERNSQo+ID4+Pj4gKyAqIDIuMCBwb3J0LCBhcyB0aGUgc2luayBj YW4gY2hvb3NlIHRvIGRpc2FibGUgdGhlIHNjcmFtYmxpbmcgaWYgaXQgZG9lc24ndAo+ID4+Pj4g KyAqIGRldGVjdCBhIHNjcmFtYmxlZCBjbG9jayB3aXRoaW4gMTAwIG1zLgo+ID4+Pj4gKyAqLwo+ ID4+Pj4gK3ZvaWQgaW50ZWxfaGRtaV9oYW5kbGVfc2lua19zY3JhbWJsaW5nKHN0cnVjdCBpbnRl bF9lbmNvZGVyICppbnRlbF9lbmNvZGVyLAo+ID4+Pj4gKwkJCQkgICAgICAgc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvciwKPiA+Pj4+ICsJCQkJICAgICAgIHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjb25maWcsCj4gPj4+PiArCQkJCSAgICAgICBib29sIGVuYWJsZSkKPiA+Pj4+ICt7 Cj4gPj4+PiArCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVsX2hk bWkoJmludGVsX2VuY29kZXItPmJhc2UpOwo+ID4+Pj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSBjb25uZWN0b3ItPmRldi0+ZGV2X3ByaXZhdGU7Cj4gPj4+PiArCXN0cnVj dCBkcm1fc2NyYW1ibGluZyAqc2NyYW1ibGluZyA9Cj4gPj4+PiArCQkJCSZjb25uZWN0b3ItPmRp c3BsYXlfaW5mby5oZG1pLnNjZGMuc2NyYW1ibGluZzsKPiA+Pj4+ICsJc3RydWN0IGkyY19hZGFw dGVyICphZHB0ciA9IGludGVsX2dtYnVzX2dldF9hZGFwdGVyKGRldl9wcml2LAo+ID4+Pj4gKwkJ CQkJCQkgIGludGVsX2hkbWktPmRkY19idXMpOwo+ID4+Pj4gKwlib29sIHJldDsKPiA+Pj4+ICsK PiA+Pj4+ICsJaWYgKCFzY3JhbWJsaW5nLT5zdXBwb3J0ZWQpCj4gPj4+PiArCQlyZXR1cm47Cj4g Pj4+PiArCj4gPj4+PiArCWlmICghSVNfR0VNSU5JTEFLRShkZXZfcHJpdikpCj4gPj4+PiArCQly ZXR1cm47Cj4gPj4+IEknZCBzdGlsbCBsaWtlIHRvIHNlZSB0aGlzIGdldHRpbmcgZG9uZSB1bmNv ZGl0aW9uYWxseS4gVGhhdCB3YXkgd2UKPiA+Pj4gbWlnaHQgZ2V0IGEgYml0IG9mIGV4dHJhIHRl c3RpbmcgZm9yIHRoZSBTQ0RDIGhlbHBlciBubyBtYXR0ZXIgd2hhdAo+ID4+PiBwbGF0Zm9ybSB0 aGUgdXNlciBoYXBwZW5zIHRvIG93bi4KPiA+PiBTdXJlLCBzZWVtcyBhIGdvb2QgaWRlYS4gSSBq dXN0IGFkZGVkIHRoaXMgaGVhciB0byBhZGRyZXNzIHRoZSByZXZpZXcKPiA+PiBjb21tZW50IGZy b20gQW5kZXIuCj4gPj4gQWxzbywgSSBjYW4gbW92ZSB0aGlzIElTX0dMSyBjb25kaXRpb24gdG8g Y29tcHV0ZV9jb25maWcsIGFuZCBvbmNlIHdlCj4gPj4gY2hlY2sgdGhpcyBpbiBjb21wdXRlX2Nv bmZpZwo+ID4+IHdlIG1pZ2h0IG5ldmVyIGhhdmUgY2hlY2sgaXQgYWdhaW4uCj4gPiBJIHRob3Vn aHQgeW91IGFscmVhZHkgaGFkIHRoZSBjaGVjayBpbiB0aGVyZT8gSG1tLiBMb29rcyB0aGF0IHdh eSB0byBtZS4KPiBZZXAsIEkgYWxyZWFkeSBoYXZlIHRoYXQgKHRoaXMgc2hvd3MgSSBoYXZlIHRv byBtYW55IHZlcnNpb25zIG9mIGNvZGUgaW4gCj4gbXkgbWluZCB0b28gOlApLAo+IHdoYXQgSSBt ZWFudCB3YXMsIHdlIGNhbiB1c2Ugc29tZSBvZiB0aG9zZSBzdGF0ZSBjaGVja3MgaGVyZSBiZWZv cmUgCj4gZW5hYmxpbmcvZGlzYWJsaW5nIHNpbmsgc2lkZSBzY3JhbWJsaW5nLgo+IEJ1dCB0aGVu IEkgcmVhbGl6ZWQgaXQgd29uJ3QgYmUgdGhlIHVuY29uZGl0aW9uYWwgc3R1ZmYgeW91IGFjdHVh bGx5IAo+IHdhbnQsIHNvIHBsZWFzZSBydWIgbXkgbGFzdCBjb21tZW50IG9mZiA6LSkKCldlbGwg SSB0aGluayBpdCBzaG91bGQgd29yayBqdXN0IGZpbmUgaWYgeW91IHNpbXBseSBwYXNzIGJvdGgg aW50byB0aGlzCmZ1bmN0aW9uIGFzIGJvb2xzLCBhbmQgdGhlbiBpbiB0aGUgZGlzYWJsZSBwYXRo IHdlIHBhc3MgZXhwbGljaXQgJ2ZhbHNlJwpmb3IgYm90aCwgYW5kIGluIHRoZSBlbmFibGUgcGF0 aCB3ZSBqdXN0IHBhc3MgY29uZmlnLT53aGF0ZXZlci4KCj4gCj4gLSBTaGFzaGFuawo+ID4+PiBJ IHByZXN1bWUgdGhlIHNwZWMgc2F5cyB0aGUgc2luayB3aWxsIHJlc2V0IHRoZXNlIHRvIHNvbWUg ZGVmYXVsdCB2YWx1ZQo+ID4+PiBvbiBIUEQgb3Igc29tZXRoaW5nIGxpa2UgdGhhdD8gQnV0IEkn bSBub3Qgc3VyZSB0cnVzdGluZyB0aGVtIHRvIGdldAo+ID4+PiB0aGlzIHJpZ2h0IGlzIGEgZ29v ZCBpZGVhIGJlY2F1c2UgcmVhbGl0eSBvZnRlbiBkb2Vzbid0IG1hdGNoIHRoZQo+ID4+PiBzcGVj cy4gU28gdGhlIHNhZmVyIG9wdGlvbiBJTU8gd291bGQgYmUgYWx3YXlzIHRlbGwgdGhlIHNpbmsg ZXhhY3RseQo+ID4+PiB3aGF0IHdlIHdhbnQuCj4gPj4gWWVwLCBZb3UgYXJlIGNvcnJlY3QgYWJv dXQgdGhlIHNwZWMgdG9vLCB0aGF0IGl0IHNheXMgaWYgdGhlcmUgaXMgbm8KPiA+PiBzY3JhbWJs ZWQgY2xvY2sgcG9zdCBocGRfb3V0IGZvcgo+ID4+IDEwMG1zLCB0aGUgc2luayBzaG91bGQgZGlz YWJsZSBzY3JhbWJsaW5nLiBCdXQgY29ubmVjdGVkIG1vZGVzZXQKPiA+PiBzY2VuYXJpb3MgbmVl ZCBvdXIgYXR0ZW50aW9uLCB3aGVyZQo+ID4+IGZvciBleGFtcGxlIHdlIGFyZSBzd2l0Y2hpbmcg bW9kZSBmcm9tLCA0a0A2MCAoc2NyYW1ibGluZyByZXFkKSAtPgo+ID4+IDEwODBANjAgKHNjcmFt Ymxpbmcgbm90IHJlcWQpLgo+ID4+IEZvciBzdWNoIGNhc2VzIHRvbywgd2UgaGF2ZSB0byB0ZWxs IHNpbmsgdG8gZGlzYWJsZSBzY3JhbWJsaW5nLgo+ID4+Pj4gKwo+ID4+Pj4gKwlEUk1fREVCVUdf S01TKCJTZXR0aW5nIHNpbmsgc2NyYW1ibGluZyBmb3IgZW5jOiVzIGNvbm5lY3Rvcjolc1xuIiwK PiA+Pj4+ICsJCQlpbnRlbF9lbmNvZGVyLT5iYXNlLm5hbWUsIGNvbm5lY3Rvci0+bmFtZSk7Cj4g Pj4+PiArCj4gPj4+PiArCWlmIChjb25maWctPmhkbWlfaGlnaF90bWRzX2Nsb2NrX3JhdGlvKSB7 Cj4gPj4+PiArCQkvKiBTZXQgVE1EUyBiaXQgY2xvY2sgcmF0aW8gdG8gMS80MCBvciAxLzEwICov Cj4gPj4+PiArCQlyZXQgPSBkcm1fc2NkY19zZXRfaGlnaF90bWRzX2Nsb2NrX3JhdGlvKGFkcHRy LCBlbmFibGUpOwo+ID4+Pj4gKwkJaWYgKCFyZXQpIHsKPiA+Pj4+ICsJCQlEUk1fRVJST1IoIlNl dCBUTURTIHJhdGlvIGZhaWxlZFxuIik7Cj4gPj4+PiArCQkJcmV0dXJuOwo+ID4+Pj4gKwkJfQo+ ID4+Pj4gKwl9Cj4gPj4+PiArCj4gPj4+PiArCWlmIChjb25maWctPmhkbWlfc2NyYW1ibGluZykg ewo+ID4+Pj4gKwkJLyogRW5hYmxlL2Rpc2FibGUgc2luayBzY3JhbWJsaW5nICovCj4gPj4+PiAr CQlyZXQgPSBkcm1fc2NkY19zZXRfc2NyYW1ibGluZyhhZHB0ciwgZW5hYmxlKTsKPiA+Pj4+ICsJ CWlmICghcmV0KSB7Cj4gPj4+PiArCQkJRFJNX0VSUk9SKCJTZXQgc2luayBzY3JhbWJsaW5nIGZh aWxlZFxuIik7Cj4gPj4+PiArCQkJcmV0dXJuOwo+ID4+Pj4gKwkJfQo+ID4+Pj4gKwl9Cj4gPj4+ PiArCj4gPj4+PiArCURSTV9ERUJVR19LTVMoInNpbmsgc2NyYW1ibGluZyBoYW5kbGVkXG4iKTsK PiA+Pj4+ICt9Cj4gPj4+PiArCj4gPj4+PiAgICBzdGF0aWMgdTggaW50ZWxfaGRtaV9kZGNfcGlu KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+Pj4+ICAgIAkJCSAgICAgZW51 bSBwb3J0IHBvcnQpCj4gPj4+PiAgICB7Cj4gPj4+PiAtLSAKPiA+Pj4+IDEuOS4xCgotLSAKVmls bGUgU3lyasOkbMOkCkludGVsIE9UQwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngK