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 19:26:45 +0200 Message-ID: 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"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170308171733.GL31595@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 UmVnYXJkcwoKU2hhc2hhbmsKCgpPbiAzLzgvMjAxNyA3OjE3IFBNLCBWaWxsZSBTeXJqw6Rsw6Qg d3JvdGU6Cj4gT24gV2VkLCBNYXIgMDgsIDIwMTcgYXQgMDc6MDc6NDhQTSArMDUzMCwgU2hhc2hh bmsgU2hhcm1hIHdyb3RlOgo+PiAgIEdlbWluaWxha2UgcGxhdGZvcm0gc3BvcnRzIGEgbmF0aXZl IEhETUkgMi4wIGNvbnRyb2xsZXIsIGFuZCBpcwo+PiAgIGNhcGFibGUgb2YgZHJpdmluZyBwaXhl bC1jbG9ja3MgdXB0byA1OTRNaHouIEhETUkgMi4wIHNwZWMKPj4gICBtZW5kYXRlcyBzY3JhbWJs aW5nIGZvciB0aGVzZSBoaWdoZXIgY2xvY2tzLCBmb3IgcmVkdWNlZCBSRiBmb290cHJpbnQuCj4+ Cj4+ICAgVGhpcyBwYXRjaCBjaGVja3MgaWYgdGhlIG1vbml0b3Igc3VwcG9ydHMgc2NyYW1ibGlu ZywgYW5kIGlmIHJlcXVpcmVkLAo+PiAgIGVuYWJsZXMgaXQgZHVyaW5nIHRoZSBtb2Rlc2V0Lgo+ Pgo+PiAgIFYyOiBBZGRyZXNzZWQgcmV2aWV3IGNvbW1lbnRzIGZyb20gVmlsbGU6Cj4+ICAgLSBE byBub3QgdHJhY2sgc2NyYW1ibGluZyBzdGF0dXMgaW4gRFJNIGxheWVyLCB0cmFjayBzb21ld2hl cmUgaW4KPj4gICAgIGRyaXZlciBsaWtlIGluIGludGVsX2NydGNfc3RhdGUuCj4+ICAgLSBEb24n dCB0YWxrIHRvIG1vbml0b3IgYXQgc3VjaCBhIGxvdyBsYXllciwgc2V0IG1vbml0b3Igc2NyYW1i bGluZwo+PiAgICAgaW4gaW50ZWxfZW5hYmxlX2RkaSgpIGJlZm9yZSBlbmFibGluZyB0aGUgcG9y dC4KPj4KPj4gICBWMzogQWRkcmVzc2VkIHJldmlldyBjb21tZW50cyBmcm9tIEphbmkKPj4gICAt IEluIGNvbW1lbnRzLCBmdW5jdGlvbiBuYW1lcywgdXNlICJzaW5rIiBpbnN0ZWFkIG9mICJtb25p dG9yIiwKPj4gICAgIHNvIHRoYXQgdGhlIGltcGxlbWVudGF0aW9uIGNvdWxkIGJlIGNsb3NlIHRv IHRoZSBsYW5ndWFnZSBvZgo+PiAgICAgSERNSSBzcGVjLgo+Pgo+PiBWNDogQWRkcmVzc2VkIHJl dmlldyBjb21tZW50IGZyb20gTWFhcnRlbgo+PiAgIC0gc2NyYW1ibGluZyAtPiBoZG1pX3NjcmFt YmxpbmcKPj4gICAtIGhpZ2hfdG1kc19jbG9ja19yYXRpbyAtPiBoZG1pX2hpZ2hfdG1kc19jbG9j a19yYXRpbwo+Pgo+PiBWNTogQWRkcmVzc2VkIHJldmlldyBjb21tZW50cyBmcm9tIFZpbGxlIGFu ZCBBbmRlcgo+PiAgIC0gRG8gbm90IG1vZGlmaXkgdGhlIGNydGNfc3RhdGUgYWZ0ZXIgY29tcHV0 ZV9jb25maWcuIE1vdmUgYWxsCj4+ICAgICBzY3JhbWJsaW5nIGFuZCB0bWRzX2Nsb2NrX3JhdGlv IGNhbGN1dGF0aW9ucyB0byBjb21wdXRlX2NvbmZpZy4KPj4gICAtIFdoaWxlIHNldHRpbmcgc2Ny YW1ibGluZyBmb3Igc291cmNlL3NpbmssIGRvIG5vdCBjaGVjayB0aGUKPj4gICAgIGNvbmRpdGlv bnMgYWdhaW4sIGp1c3QgZ28gYnkgdGhlIGNydGNfc3RhdGUgZmxhZ3MuIFRoaXMgd2lsbAo+PiAg ICAgc2ltcGx5ZnkgdGhlIGNvbmRpdGlvbiBjaGVja3MuCj4+Cj4+IFY2OiBBZGRyZXNzZWQgcmV2 aWV3IGNvbW1lbnRzIGZyb20gVmlsbGUKPj4gICAtIERvIG5vdCBhZGQgSVNfR0xLIGNoZWNrIGlu IGRpc2FibGUvZW5hYmxlIGZ1bmN0aW9uLCBpbnN0ZWFkIGFkZCBpdAo+PiAgICAgaW4gY29tcHV0 ZV9jb25maWcsIHdoaWxlIHNldHRpbmcgc3RhdGUgZmxhZ3MuCj4+ICAgLSBSZW1vdmUgdW5uZWNl c3NhcnkgcGFyYW50aGVzaXMuCj4+ICAgLSBTaW1wbHlmeSBoYW5kbGVfc2lua19zY3JhbWJsaW5n IGZ1bmN0aW9uIGFzIHN1Z2dlc3RlZC4KPj4gICAtIEFkZCByZWFkb3V0IGNvZGUgZm9yIHNjcmFt Ymxpbmcgc3RhdHVzIGluIGdldF9kZGlfY29uZmlnIGFuZCBhZGQgYQo+PiAgICAgY2hlY2sgZm9y IHRoZSBzYW1lIGluIHBpcGVfY29uZmlnX2NvbXBhcmUuCj4+Cj4+IFY3OiBBZGRyZXNzZWQgcmV2 aWV3IGNvbW1lbnRzIGZyb20gQW5kZXIvVmlsbGUKPj4gICAtIE5vIHNlcGFyYXRlIGZ1bmN0aW9u IGZvciBzb3VyY2Ugc2NyYW1ibGluZywgbWFrZSBpdCBpbmxpbmUKPj4gICAtIEFsaWduIHRoZSBs YXN0IGxpbmUgb2YgdGhlIG1hY3JvIFRSQU5TX0RESV9IRE1JX1NDUkFNQkxJTkdfTUFTSwo+PiAg IC0gRG8gbm90IGFkZCBwbGF0Zm9ybSBjaGVjayB3aGlsZSBzZXR0aW5nIHNvdXJjZSBzY3JhbWJs aW5nCj4+ICAgLSBVc2UgcGlwZV9jb25maWcgaW5zdGVhZCBvZiBjcnRjLT5jb25maWcgdG8gc2V0 IHNpbmsgc2NyYW1ibGluZwo+PiAgIC0gVG8gcmVhZG91dCBzY3JhbWJsaW5nIHN0YXR1cywgQ29t cGFyZSB3aXRoIFNDUkFNQkxJTkdfTUFTSwo+PiAgICAgbm90IGFueSBvZiBpdHMgYml0cwo+PiAg IC0gUmVtb3ZlIHBsYXRmb3JtIGNoZWNrIGluIGludGVsX3BpcGVfY29uZmlnX2NvbXBhcmUgd2hp bGUgY2hlY2tpbmcKPj4gICAgIHNjcmFtYmxpbmcgc3RhdHVzCj4+Cj4+IFY4OiBGaXhlZCBtZWdl IGNvbmZsaWN0LCBBZGRyZXNzZWQgcmV2aWV3IGNvbW1lbnRzIGZyb20gQW5kZXIKPj4gICAtIFJl bW92ZSB0aGUgZGVzY2lwdGlvbi9jb21tZW50IGFib3V0IHNjcmFtYmxpbmcgZm9tIHRoZSBjYWxs ZXIsIG1vdmUKPj4gICAgIGl0IHRvIHRoZSBmdW5jdGlvbgo+PiAgIC0gTW92ZSB0aGUgSVNfR0xL IGNoZWNrIGludG8gc2NyYW1ibGluZyBmdW5jdGlvbgo+PiAgIC0gRml4IGFsaWdubWVudAo+Pgo+ PiBTaWduZWQtb2ZmLWJ5OiBTaGFzaGFuayBTaGFybWEgPHNoYXNoYW5rLnNoYXJtYUBpbnRlbC5j b20+Cj4+IC0tLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggICAgICB8ICA3 ICsrKysKPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyAgICAgfCAxOSArKysr KysrKysrKwo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8ICAzICsr Cj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgIHwgMTAgKysrKysrCj4+ ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jICAgIHwgNjIgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCj4+ICAgNSBmaWxlcyBjaGFuZ2VkLCAxMDEgaW5zZXJ0 aW9ucygrKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPj4gaW5kZXggY2M4NDNmOS4uMmQ1 MGZkYyAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+PiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4+IEBAIC03ODMwLDcgKzc4MzAs MTQgQEAgZW51bSB7Cj4+ICAgI2RlZmluZSAgVFJBTlNfRERJX0VEUF9JTlBVVF9CX09OT0ZGCSg1 PDwxMikKPj4gICAjZGVmaW5lICBUUkFOU19ERElfRURQX0lOUFVUX0NfT05PRkYJKDY8PDEyKQo+ PiAgICNkZWZpbmUgIFRSQU5TX0RESV9EUF9WQ19QQVlMT0FEX0FMTE9DCSgxPDw4KQo+PiArI2Rl ZmluZSAgVFJBTlNfRERJX0hETUlfU0NSQU1CTEVSX0NUU19FTkFCTEUgKDE8PDcpCj4+ICsjZGVm aW5lICBUUkFOU19ERElfSERNSV9TQ1JBTUJMRVJfUkVTRVRfRlJFUSAoMTw8NikKPj4gICAjZGVm aW5lICBUUkFOU19ERElfQkZJX0VOQUJMRQkJKDE8PDQpCj4+ICsjZGVmaW5lICBUUkFOU19ERElf SElHSF9UTURTX0NIQVJfUkFURQkoMTw8NCkKPj4gKyNkZWZpbmUgIFRSQU5TX0RESV9IRE1JX1ND UkFNQkxJTkcJKDE8PDApCj4+ICsjZGVmaW5lICBUUkFOU19ERElfSERNSV9TQ1JBTUJMSU5HX01B U0sgKFRSQU5TX0RESV9IRE1JX1NDUkFNQkxFUl9DVFNfRU5BQkxFIFwKPj4gKwkJCQkJfCBUUkFO U19ERElfSERNSV9TQ1JBTUJMRVJfUkVTRVRfRlJFUSBcCj4+ICsJCQkJCXwgVFJBTlNfRERJX0hE TUlfU0NSQU1CTElORykKPj4gICAKPj4gICAvKiBEaXNwbGF5UG9ydCBUcmFuc3BvcnQgQ29udHJv bCAqLwo+PiAgICNkZWZpbmUgX0RQX1RQX0NUTF9BCQkJMHg2NDA0MAo+PiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kZGkuYwo+PiBpbmRleCAwNDY3Njc2Li5iM2U0YzRhIDEwMDY0NAo+PiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kZGkuYwo+PiBAQCAtMTMwOSw2ICsxMzA5LDExIEBAIHZvaWQgaW50ZWxfZGRpX2Vu YWJsZV90cmFuc2NvZGVyX2Z1bmMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3RhdGUpCj4+ICAgCQkJdGVtcCB8PSBUUkFOU19ERElfTU9ERV9TRUxFQ1RfSERNSTsKPj4gICAJ CWVsc2UKPj4gICAJCQl0ZW1wIHw9IFRSQU5TX0RESV9NT0RFX1NFTEVDVF9EVkk7Cj4+ICsKPj4g KwkJaWYgKGNydGNfc3RhdGUtPmhkbWlfc2NyYW1ibGluZykKPj4gKwkJCXRlbXAgfD0gVFJBTlNf RERJX0hETUlfU0NSQU1CTElOR19NQVNLOwo+PiArCQlpZiAoY3J0Y19zdGF0ZS0+aGRtaV9oaWdo X3RtZHNfY2xvY2tfcmF0aW8pCj4+ICsJCQl0ZW1wIHw9IFRSQU5TX0RESV9ISUdIX1RNRFNfQ0hB Ul9SQVRFOwo+PiAgIAl9IGVsc2UgaWYgKHR5cGUgPT0gSU5URUxfT1VUUFVUX0FOQUxPRykgewo+ PiAgIAkJdGVtcCB8PSBUUkFOU19ERElfTU9ERV9TRUxFQ1RfRkRJOwo+PiAgIAkJdGVtcCB8PSAo Y3J0Y19zdGF0ZS0+ZmRpX2xhbmVzIC0gMSkgPDwgMTsKPj4gQEAgLTE4ODIsNiArMTg4Nyw5IEBA IHN0YXRpYyB2b2lkIGludGVsX2VuYWJsZV9kZGkoc3RydWN0IGludGVsX2VuY29kZXIgKmludGVs X2VuY29kZXIsCj4+ICAgCQlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9y dCA9Cj4+ICAgCQkJZW5jX3RvX2RpZ19wb3J0KGVuY29kZXIpOwo+PiAgIAo+PiArCQlpbnRlbF9o ZG1pX2hhbmRsZV9zaW5rX3NjcmFtYmxpbmcoaW50ZWxfZW5jb2RlciwKPj4gKwkJCWNvbm5fc3Rh dGUtPmNvbm5lY3RvciwgcGlwZV9jb25maWcsIHRydWUpOwo+PiArCj4+ICAgCQkvKiBJbiBIRE1J L0RWSSBtb2RlLCB0aGUgcG9ydCB3aWR0aCwgYW5kIHN3aW5nL2VtcGhhc2lzIHZhbHVlcwo+PiAg IAkJICogYXJlIGlnbm9yZWQgc28gbm90aGluZyBzcGVjaWFsIG5lZWRzIHRvIGJlIGRvbmUgYmVz aWRlcwo+PiAgIAkJICogZW5hYmxpbmcgdGhlIHBvcnQuCj4+IEBAIC0xOTE0LDYgKzE5MjIsMTEg QEAgc3RhdGljIHZvaWQgaW50ZWxfZGlzYWJsZV9kZGkoc3RydWN0IGludGVsX2VuY29kZXIgKmlu dGVsX2VuY29kZXIsCj4+ICAgCWlmIChvbGRfY3J0Y19zdGF0ZS0+aGFzX2F1ZGlvKQo+PiAgIAkJ aW50ZWxfYXVkaW9fY29kZWNfZGlzYWJsZShpbnRlbF9lbmNvZGVyKTsKPj4gICAKPj4gKwlpZiAo dHlwZSA9PSBJTlRFTF9PVVRQVVRfSERNSSkgewo+PiArCQlpbnRlbF9oZG1pX2hhbmRsZV9zaW5r X3NjcmFtYmxpbmcoaW50ZWxfZW5jb2RlciwKPj4gKwkJCW9sZF9jb25uX3N0YXRlLT5jb25uZWN0 b3IsIG9sZF9jcnRjX3N0YXRlLCBmYWxzZSk7Cj4+ICsJfQo+PiArCj4+ICAgCWlmICh0eXBlID09 IElOVEVMX09VVFBVVF9FRFApIHsKPj4gICAJCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBl bmNfdG9faW50ZWxfZHAoZW5jb2Rlcik7Cj4+ICAgCj4+IEBAIC0yMDQwLDYgKzIwNTMsMTIgQEAg dm9pZCBpbnRlbF9kZGlfZ2V0X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwK Pj4gICAKPj4gICAJCWlmIChpbnRlbF9oZG1pLT5pbmZvZnJhbWVfZW5hYmxlZCgmZW5jb2Rlci0+ YmFzZSwgcGlwZV9jb25maWcpKQo+PiAgIAkJCXBpcGVfY29uZmlnLT5oYXNfaW5mb2ZyYW1lID0g dHJ1ZTsKPj4gKwo+PiArCQlpZiAoKHRlbXAgJiBUUkFOU19ERElfSERNSV9TQ1JBTUJMSU5HX01B U0spID09Cj4+ICsJCQkJVFJBTlNfRERJX0hETUlfU0NSQU1CTElOR19NQVNLKQo+PiArCQkJcGlw ZV9jb25maWctPmhkbWlfc2NyYW1ibGluZyA9IHRydWU7Cj4+ICsJCWlmICh0ZW1wICYgVFJBTlNf RERJX0hJR0hfVE1EU19DSEFSX1JBVEUpCj4+ICsJCQlwaXBlX2NvbmZpZy0+aGRtaV9oaWdoX3Rt ZHNfY2xvY2tfcmF0aW8gPSB0cnVlOwo+PiAgIAkJLyogZmFsbCB0aHJvdWdoICovCj4+ICAgCWNh c2UgVFJBTlNfRERJX01PREVfU0VMRUNUX0RWSToKPj4gICAJCXBpcGVfY29uZmlnLT5sYW5lX2Nv dW50ID0gNDsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+PiBpbmRleCBlNzdj YTdkLi5mYjVlNjcwIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4+ IEBAIC0xMTcwMSw2ICsxMTcwMSw5IEBAIHN0YXRpYyB2b2lkIF9fcHJpbnRmKDMsIDQpCj4+ICAg CWlmICgoSU5URUxfR0VOKGRldl9wcml2KSA8IDggJiYgIUlTX0hBU1dFTEwoZGV2X3ByaXYpKSB8 fAo+PiAgIAkgICAgSVNfVkFMTEVZVklFVyhkZXZfcHJpdikgfHwgSVNfQ0hFUlJZVklFVyhkZXZf cHJpdikpCj4+ICAgCQlQSVBFX0NPTkZfQ0hFQ0tfSShsaW1pdGVkX2NvbG9yX3JhbmdlKTsKPj4g Kwo+PiArCVBJUEVfQ09ORl9DSEVDS19JKGhkbWlfc2NyYW1ibGluZyk7Cj4+ICsJUElQRV9DT05G X0NIRUNLX0koaGRtaV9oaWdoX3RtZHNfY2xvY2tfcmF0aW8pOwo+PiAgIAlQSVBFX0NPTkZfQ0hF Q0tfSShoYXNfaW5mb2ZyYW1lKTsKPj4gICAKPj4gICAJUElQRV9DT05GX0NIRUNLX0koaGFzX2F1 ZGlvKTsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPj4gaW5kZXggM2FmMjBjMS4uNTBkNjgw YyAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPj4gQEAgLTcyOSw2ICs3MjksMTIg QEAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgewo+PiAgIAo+PiAgIAkvKiBiaXRtYXNrIG9mIHZp c2libGUgcGxhbmVzIChlbnVtIHBsYW5lX2lkKSAqLwo+PiAgIAl1OCBhY3RpdmVfcGxhbmVzOwo+ PiArCj4+ICsJLyogSERNSSBzY3JhbWJsaW5nIHN0YXR1cyAqLwo+PiArCWJvb2wgaGRtaV9zY3Jh bWJsaW5nOwo+PiArCj4+ICsJLyogSERNSSBIaWdoIFRNRFMgY2hhciByYXRlIHJhdGlvICovCj4+ ICsJYm9vbCBoZG1pX2hpZ2hfdG1kc19jbG9ja19yYXRpbzsKPj4gICB9Owo+PiAgIAo+PiAgIHN0 cnVjdCBpbnRlbF9jcnRjIHsKPj4gQEAgLTE2MjMsNiArMTYyOSwxMCBAQCB2b2lkIGludGVsX2hk bWlfaW5pdF9jb25uZWN0b3Ioc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3Bv cnQsCj4+ICAgYm9vbCBpbnRlbF9oZG1pX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyLAo+PiAgIAkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlw ZV9jb25maWcsCj4+ICAgCQkJICAgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25u X3N0YXRlKTsKPj4gK3ZvaWQgaW50ZWxfaGRtaV9oYW5kbGVfc2lua19zY3JhbWJsaW5nKHN0cnVj dCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyLAo+PiArCQkJCQlzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yLAo+PiArCQkJCQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY29uZmln LAo+PiArCQkJCQlib29sIGVuYWJsZSk7Cj4+ICAgdm9pZCBpbnRlbF9kcF9kdWFsX21vZGVfc2V0 X3RtZHNfb3V0cHV0KHN0cnVjdCBpbnRlbF9oZG1pICpoZG1pLCBib29sIGVuYWJsZSk7Cj4+ICAg Cj4+ICAgCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKPj4gaW5kZXggYzIxODRmNy4uNDU4 NWFhOCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+PiBAQCAtMzQsNiArMzQs NyBAQAo+PiAgICNpbmNsdWRlIDxkcm0vZHJtX2F0b21pY19oZWxwZXIuaD4KPj4gICAjaW5jbHVk ZSA8ZHJtL2RybV9jcnRjLmg+Cj4+ICAgI2luY2x1ZGUgPGRybS9kcm1fZWRpZC5oPgo+PiArI2lu Y2x1ZGUgPGRybS9kcm1fc2NkY19oZWxwZXIuaD4KPj4gICAjaW5jbHVkZSAiaW50ZWxfZHJ2Lmgi Cj4+ICAgI2luY2x1ZGUgPGRybS9pOTE1X2RybS5oPgo+PiAgICNpbmNsdWRlIDxkcm0vaW50ZWxf bHBlX2F1ZGlvLmg+Cj4+IEBAIC0xMzE2LDYgKzEzMTcsNyBAQCBib29sIGludGVsX2hkbWlfY29t cHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4+ICAgCXN0cnVjdCBp bnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVsX2hkbWkoJmVuY29kZXItPmJhc2Up Owo+PiAgIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29k ZXItPmJhc2UuZGV2KTsKPj4gICAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21v ZGUgPSAmcGlwZV9jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZTsKPj4gKwlzdHJ1Y3QgZHJtX3Nj ZGMgKnNjZGMgPSAmY29ubl9zdGF0ZS0+Y29ubmVjdG9yLT5kaXNwbGF5X2luZm8uaGRtaS5zY2Rj Owo+PiAgIAlpbnQgY2xvY2tfOGJwYyA9IHBpcGVfY29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGUu Y3J0Y19jbG9jazsKPj4gICAJaW50IGNsb2NrXzEyYnBjID0gY2xvY2tfOGJwYyAqIDMgLyAyOwo+ PiAgIAlpbnQgZGVzaXJlZF9icHA7Cj4+IEBAIC0xMzg1LDYgKzEzODcsMTYgQEAgYm9vbCBpbnRl bF9oZG1pX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+PiAg IAo+PiAgIAlwaXBlX2NvbmZpZy0+bGFuZV9jb3VudCA9IDQ7Cj4+ICAgCj4+ICsJaWYgKHNjZGMt PnNjcmFtYmxpbmcuc3VwcG9ydGVkICYmIElTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKSB7Cj4+ICsJ CWlmIChzY2RjLT5zY3JhbWJsaW5nLmxvd19yYXRlcykKPj4gKwkJCXBpcGVfY29uZmlnLT5oZG1p X3NjcmFtYmxpbmcgPSB0cnVlOwo+PiArCj4+ICsJCWlmIChwaXBlX2NvbmZpZy0+cG9ydF9jbG9j ayA+IDM0MDAwMCkgewo+PiArCQkJcGlwZV9jb25maWctPmhkbWlfc2NyYW1ibGluZyA9IHRydWU7 Cj4+ICsJCQlwaXBlX2NvbmZpZy0+aGRtaV9oaWdoX3RtZHNfY2xvY2tfcmF0aW8gPSB0cnVlOwo+ PiArCQl9Cj4+ICsJfQo+PiArCj4+ICAgCXJldHVybiB0cnVlOwo+PiAgIH0KPj4gICAKPj4gQEAg LTE3OTQsNiArMTgwNiw1NiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9oZG1pX2Rlc3Ryb3koc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPj4gICAJaW50ZWxfaGRtaS0+YXNwZWN0X3JhdGlv ID0gSERNSV9QSUNUVVJFX0FTUEVDVF9OT05FOwo+PiAgIH0KPj4gICAKPj4gKy8qCj4+ICsgKiBU aGlzIGZ1bmN0aW9uIGhhbmRsZXMgc2NyYW1ibGluZyBvbiBIRE1JIDIuMCBjYXBhYmxlIHNpbmtz Lgo+PiArICogSWYgcmVxdWlyZWQgY2xvY2sgcmF0ZSBpcyA+IDM0MCBNaHogJiYgc2NyYW1ibGlu ZyBpcyBzdXBwb3J0ZWQgYnkgc2luawo+PiArICogaXQgZW5hYmxlcyBzY3JhbWJsaW5nLiBUaGlz IHNob3VsZCBiZSBjYWxsZWQgYmVmb3JlIGVuYWJsaW5nIHRoZSBIRE1JCj4+ICsgKiAyLjAgcG9y dCwgYXMgdGhlIHNpbmsgY2FuIGNob29zZSB0byBkaXNhYmxlIHRoZSBzY3JhbWJsaW5nIGlmIGl0 IGRvZXNuJ3QKPj4gKyAqIGRldGVjdCBhIHNjcmFtYmxlZCBjbG9jayB3aXRoaW4gMTAwIG1zLgo+ PiArICovCj4+ICt2b2lkIGludGVsX2hkbWlfaGFuZGxlX3Npbmtfc2NyYW1ibGluZyhzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciwKPj4gKwkJCQkgICAgICAgc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvciwKPj4gKwkJCQkgICAgICAgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNvbmZpZywKPj4gKwkJCQkgICAgICAgYm9vbCBlbmFibGUpCj4+ICt7Cj4+ICsJc3RydWN0 IGludGVsX2hkbWkgKmludGVsX2hkbWkgPSBlbmNfdG9faW50ZWxfaGRtaSgmaW50ZWxfZW5jb2Rl ci0+YmFzZSk7Cj4+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gY29ubmVj dG9yLT5kZXYtPmRldl9wcml2YXRlOwo+PiArCXN0cnVjdCBkcm1fc2NyYW1ibGluZyAqc2NyYW1i bGluZyA9Cj4+ICsJCQkJJmNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmhkbWkuc2NkYy5zY3JhbWJs aW5nOwo+PiArCXN0cnVjdCBpMmNfYWRhcHRlciAqYWRwdHIgPSBpbnRlbF9nbWJ1c19nZXRfYWRh cHRlcihkZXZfcHJpdiwKPj4gKwkJCQkJCQkgIGludGVsX2hkbWktPmRkY19idXMpOwo+PiArCWJv b2wgcmV0Owo+PiArCj4+ICsJaWYgKCFzY3JhbWJsaW5nLT5zdXBwb3J0ZWQpCj4+ICsJCXJldHVy bjsKPj4gKwo+PiArCWlmICghSVNfR0VNSU5JTEFLRShkZXZfcHJpdikpCj4+ICsJCXJldHVybjsK PiBJJ2Qgc3RpbGwgbGlrZSB0byBzZWUgdGhpcyBnZXR0aW5nIGRvbmUgdW5jb2RpdGlvbmFsbHku IFRoYXQgd2F5IHdlCj4gbWlnaHQgZ2V0IGEgYml0IG9mIGV4dHJhIHRlc3RpbmcgZm9yIHRoZSBT Q0RDIGhlbHBlciBubyBtYXR0ZXIgd2hhdAo+IHBsYXRmb3JtIHRoZSB1c2VyIGhhcHBlbnMgdG8g b3duLgpTdXJlLCBzZWVtcyBhIGdvb2QgaWRlYS4gSSBqdXN0IGFkZGVkIHRoaXMgaGVhciB0byBh ZGRyZXNzIHRoZSByZXZpZXcgCmNvbW1lbnQgZnJvbSBBbmRlci4KQWxzbywgSSBjYW4gbW92ZSB0 aGlzIElTX0dMSyBjb25kaXRpb24gdG8gY29tcHV0ZV9jb25maWcsIGFuZCBvbmNlIHdlIApjaGVj ayB0aGlzIGluIGNvbXB1dGVfY29uZmlnCndlIG1pZ2h0IG5ldmVyIGhhdmUgY2hlY2sgaXQgYWdh aW4uCj4gSSBwcmVzdW1lIHRoZSBzcGVjIHNheXMgdGhlIHNpbmsgd2lsbCByZXNldCB0aGVzZSB0 byBzb21lIGRlZmF1bHQgdmFsdWUKPiBvbiBIUEQgb3Igc29tZXRoaW5nIGxpa2UgdGhhdD8gQnV0 IEknbSBub3Qgc3VyZSB0cnVzdGluZyB0aGVtIHRvIGdldAo+IHRoaXMgcmlnaHQgaXMgYSBnb29k IGlkZWEgYmVjYXVzZSByZWFsaXR5IG9mdGVuIGRvZXNuJ3QgbWF0Y2ggdGhlCj4gc3BlY3MuIFNv IHRoZSBzYWZlciBvcHRpb24gSU1PIHdvdWxkIGJlIGFsd2F5cyB0ZWxsIHRoZSBzaW5rIGV4YWN0 bHkKPiB3aGF0IHdlIHdhbnQuClllcCwgWW91IGFyZSBjb3JyZWN0IGFib3V0IHRoZSBzcGVjIHRv bywgdGhhdCBpdCBzYXlzIGlmIHRoZXJlIGlzIG5vIApzY3JhbWJsZWQgY2xvY2sgcG9zdCBocGRf b3V0IGZvcgoxMDBtcywgdGhlIHNpbmsgc2hvdWxkIGRpc2FibGUgc2NyYW1ibGluZy4gQnV0IGNv bm5lY3RlZCBtb2Rlc2V0IApzY2VuYXJpb3MgbmVlZCBvdXIgYXR0ZW50aW9uLCB3aGVyZQpmb3Ig ZXhhbXBsZSB3ZSBhcmUgc3dpdGNoaW5nIG1vZGUgZnJvbSwgNGtANjAgKHNjcmFtYmxpbmcgcmVx ZCkgLT4gCjEwODBANjAgKHNjcmFtYmxpbmcgbm90IHJlcWQpLgpGb3Igc3VjaCBjYXNlcyB0b28s IHdlIGhhdmUgdG8gdGVsbCBzaW5rIHRvIGRpc2FibGUgc2NyYW1ibGluZy4KPgo+PiArCj4+ICsJ RFJNX0RFQlVHX0tNUygiU2V0dGluZyBzaW5rIHNjcmFtYmxpbmcgZm9yIGVuYzolcyBjb25uZWN0 b3I6JXNcbiIsCj4+ICsJCQlpbnRlbF9lbmNvZGVyLT5iYXNlLm5hbWUsIGNvbm5lY3Rvci0+bmFt ZSk7Cj4+ICsKPj4gKwlpZiAoY29uZmlnLT5oZG1pX2hpZ2hfdG1kc19jbG9ja19yYXRpbykgewo+ PiArCQkvKiBTZXQgVE1EUyBiaXQgY2xvY2sgcmF0aW8gdG8gMS80MCBvciAxLzEwICovCj4+ICsJ CXJldCA9IGRybV9zY2RjX3NldF9oaWdoX3RtZHNfY2xvY2tfcmF0aW8oYWRwdHIsIGVuYWJsZSk7 Cj4+ICsJCWlmICghcmV0KSB7Cj4+ICsJCQlEUk1fRVJST1IoIlNldCBUTURTIHJhdGlvIGZhaWxl ZFxuIik7Cj4+ICsJCQlyZXR1cm47Cj4+ICsJCX0KPj4gKwl9Cj4+ICsKPj4gKwlpZiAoY29uZmln LT5oZG1pX3NjcmFtYmxpbmcpIHsKPj4gKwkJLyogRW5hYmxlL2Rpc2FibGUgc2luayBzY3JhbWJs aW5nICovCj4+ICsJCXJldCA9IGRybV9zY2RjX3NldF9zY3JhbWJsaW5nKGFkcHRyLCBlbmFibGUp Owo+PiArCQlpZiAoIXJldCkgewo+PiArCQkJRFJNX0VSUk9SKCJTZXQgc2luayBzY3JhbWJsaW5n IGZhaWxlZFxuIik7Cj4+ICsJCQlyZXR1cm47Cj4+ICsJCX0KPj4gKwl9Cj4+ICsKPj4gKwlEUk1f REVCVUdfS01TKCJzaW5rIHNjcmFtYmxpbmcgaGFuZGxlZFxuIik7Cj4+ICt9Cj4+ICsKPj4gICBz dGF0aWMgdTggaW50ZWxfaGRtaV9kZGNfcGluKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwKPj4gICAJCQkgICAgIGVudW0gcG9ydCBwb3J0KQo+PiAgIHsKPj4gLS0gCj4+IDEuOS4x CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK