From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan De Oliveira Subject: Re: [PATCH v7 5/6] drm/i915: enable scrambling Date: Tue, 07 Mar 2017 12:12:45 +0200 Message-ID: <1488881565.3252.8.camel@gmail.com> References: <1488558513-23534-1-git-send-email-shashank.sharma@intel.com> <1488558513-23534-6-git-send-email-shashank.sharma@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1488558513-23534-6-git-send-email-shashank.sharma@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Shashank Sharma , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, ville.syrjala@linux.intel.com Cc: jose.abreu@synopsys.com, daniel.vetter@intel.com, treding@nvidia.com List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCAyMDE3LTAzLTAzIGF0IDIxOjU4ICswNTMwLCBTaGFzaGFuayBTaGFybWEgd3JvdGU6 Cj4gR2VtaW5pbGFrZSBwbGF0Zm9ybSBzcG9ydHMgYSBuYXRpdmUgSERNSSAyLjAgY29udHJvbGxl ciwgYW5kIGlzCj4gY2FwYWJsZSBvZiBkcml2aW5nIHBpeGVsLWNsb2NrcyB1cHRvIDU5NE1oei4g SERNSSAyLjAgc3BlYwo+IG1lbmRhdGVzIHNjcmFtYmxpbmcgZm9yIHRoZXNlIGhpZ2hlciBjbG9j a3MsIGZvciByZWR1Y2VkIFJGIGZvb3RwcmludC4KPiAKPiBUaGlzIHBhdGNoIGNoZWNrcyBpZiB0 aGUgbW9uaXRvciBzdXBwb3J0cyBzY3JhbWJsaW5nLCBhbmQgaWYgcmVxdWlyZWQsCj4gZW5hYmxl cyBpdCBkdXJpbmcgdGhlIG1vZGVzZXQuCj4gCj4gVjI6IEFkZHJlc3NlZCByZXZpZXcgY29tbWVu dHMgZnJvbSBWaWxsZToKPiAtIERvIG5vdCB0cmFjayBzY3JhbWJsaW5nIHN0YXR1cyBpbiBEUk0g bGF5ZXIsIHRyYWNrIHNvbWV3aGVyZSBpbgo+ICAgZHJpdmVyIGxpa2UgaW4gaW50ZWxfY3J0Y19z dGF0ZS4KPiAtIERvbid0IHRhbGsgdG8gbW9uaXRvciBhdCBzdWNoIGEgbG93IGxheWVyLCBzZXQg bW9uaXRvciBzY3JhbWJsaW5nCj4gICBpbiBpbnRlbF9lbmFibGVfZGRpKCkgYmVmb3JlIGVuYWJs aW5nIHRoZSBwb3J0Lgo+IAo+IFYzOiBBZGRyZXNzZWQgcmV2aWV3IGNvbW1lbnRzIGZyb20gSmFu aQo+ICAtIEluIGNvbW1lbnRzLCBmdW5jdGlvbiBuYW1lcywgdXNlICJzaW5rIiBpbnN0ZWFkIG9m ICJtb25pdG9yIiwKPiAgICBzbyB0aGF0IHRoZSBpbXBsZW1lbnRhdGlvbiBjb3VsZCBiZSBjbG9z ZSB0byB0aGUgbGFuZ3VhZ2Ugb2YKPiAgICBIRE1JIHNwZWMuCj4gCj4gVjQ6IEFkZHJlc3NlZCBy ZXZpZXcgY29tbWVudCBmcm9tIE1hYXJ0ZW4KPiAgLSBzY3JhbWJsaW5nIC0+IGhkbWlfc2NyYW1i bGluZwo+ICAgIGhpZ2hfdG1kc19jbG9ja19yYXRpbyAtPiBoZG1pX2hpZ2hfdG1kc19jbG9ja19y YXRpbwo+IAo+IFY1OiBBZGRyZXNzZWQgcmV2aWV3IGNvbW1lbnRzIGZyb20gVmlsbGUgYW5kIEFu ZGVyCj4gIC0gRG8gbm90IG1vZGlmaXkgdGhlIGNydGNfc3RhdGUgYWZ0ZXIgY29tcHV0ZV9jb25m aWcuIE1vdmUgYWxsCj4gICAgc2NyYW1ibGluZyBhbmQgdG1kc19jbG9ja19yYXRpbyBjYWxjdXRh dGlvbnMgdG8gY29tcHV0ZV9jb25maWcuCj4gIC0gV2hpbGUgc2V0dGluZyBzY3JhbWJsaW5nIGZv ciBzb3VyY2Uvc2luaywgZG8gbm90IGNoZWNrIHRoZQo+ICAgIGNvbmRpdGlvbnMgYWdhaW4sIGp1 c3QgZ28gYnkgdGhlIGNydGNfc3RhdGUgZmxhZ3MuIFRoaXMgd2lsbAo+ICAgIHNpbXBseWZ5IHRo ZSBjb25kaXRpb24gY2hlY2tzLgo+IAo+IFY2OiBBZGRyZXNzZWQgcmV2aWV3IGNvbW1lbnRzIGZy b20gVmlsbGUKPiAgLSBEbyBub3QgYWRkIElTX0dMSyBjaGVjayBpbiBkaXNhYmxlL2VuYWJsZSBm dW5jdGlvbiwgaW5zdGVhZCBhZGQgaXQKPiAgICBpbiBjb21wdXRlX2NvbmZpZywgd2hpbGUgc2V0 dGluZyBzdGF0ZSBmbGFncy4KPiAgLSBSZW1vdmUgdW5uZWNlc3NhcnkgcGFyYW50aGVzaXMuCj4g IC0gU2ltcGx5ZnkgaGFuZGxlX3Npbmtfc2NyYW1ibGluZyBmdW5jdGlvbiBhcyBzdWdnZXN0ZWQu Cj4gIC0gQWRkIHJlYWRvdXQgY29kZSBmb3Igc2NyYW1ibGluZyBzdGF0dXMgaW4gZ2V0X2RkaV9j b25maWcgYW5kIGFkZCBhCj4gICAgY2hlY2sgZm9yIHRoZSBzYW1lIGluIHBpcGVfY29uZmlnX2Nv bXBhcmUuCj4gCj4gVjc6IEFkZHJlc3NlZCByZXZpZXcgY29tbWVudHMgZnJvbSBBbmRlci9WaWxs ZQo+ICAtIE5vIHNlcGFyYXRlIGZ1bmN0aW9uIGZvciBzb3VyY2Ugc2NyYW1ibGluZywgbWFrZSBp dCBpbmxpbmUKPiAgLSBBbGlnbiB0aGUgbGFzdCBsaW5lIG9mIHRoZSBtYWNybyBUUkFOU19ERElf SERNSV9TQ1JBTUJMSU5HX01BU0sKPiAgLSBEbyBub3QgYWRkIHBsYXRmb3JtIGNoZWNrIHdoaWxl IHNldHRpbmcgc291cmNlIHNjcmFtYmxpbmcKPiAgLSBVc2UgcGlwZV9jb25maWcgaW5zdGVhZCBv ZiBjcnRjLT5jb25maWcgdG8gc2V0IHNpbmsgc2NyYW1ibGluZwo+ICAtIFRvIHJlYWRvdXQgc2Ny YW1ibGluZyBzdGF0dXMsIENvbXBhcmUgd2l0aCBTQ1JBTUJMSU5HX01BU0sKPiAgICBub3QgYW55 IG9mIGl0cyBiaXRzCj4gIC0gUmVtb3ZlIHBsYXRmb3JtIGNoZWNrIGluIGludGVsX3BpcGVfY29u ZmlnX2NvbXBhcmUgd2hpbGUgY2hlY2tpbmcKPiAgICBzY3JhbWJsaW5nIHN0YXR1cwo+IAo+IFNp Z25lZC1vZmYtYnk6IFNoYXNoYW5rIFNoYXJtYSA8c2hhc2hhbmsuc2hhcm1hQGludGVsLmNvbT4K PiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgIHwgIDcgKysrKysK PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgICAgIHwgMzMgKysrKysrKysrKysr KysrKysrKysrKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgIDMg KysrCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8IDEwICsrKysrKysK PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jICAgIHwgNTIgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCj4gIDUgZmlsZXMgY2hhbmdlZCwgMTA1IGluc2VydGlv bnMoKykKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiBpbmRleCA0OTA2Y2U0ZC4uYmZkOTg4 YiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+IEBAIC03ODI0LDcgKzc4MjQsMTQgQEAg ZW51bSB7Cj4gICNkZWZpbmUgIFRSQU5TX0RESV9FRFBfSU5QVVRfQl9PTk9GRgkoNTw8MTIpCj4g ICNkZWZpbmUgIFRSQU5TX0RESV9FRFBfSU5QVVRfQ19PTk9GRgkoNjw8MTIpCj4gICNkZWZpbmUg IFRSQU5TX0RESV9EUF9WQ19QQVlMT0FEX0FMTE9DCSgxPDw4KQo+ICsjZGVmaW5lICBUUkFOU19E RElfSERNSV9TQ1JBTUJMRVJfQ1RTX0VOQUJMRSAoMTw8NykKPiArI2RlZmluZSAgVFJBTlNfRERJ X0hETUlfU0NSQU1CTEVSX1JFU0VUX0ZSRVEgKDE8PDYpCj4gICNkZWZpbmUgIFRSQU5TX0RESV9C RklfRU5BQkxFCQkoMTw8NCkKPiArI2RlZmluZSAgVFJBTlNfRERJX0hJR0hfVE1EU19DSEFSX1JB VEUJKDE8PDQpCj4gKyNkZWZpbmUgIFRSQU5TX0RESV9IRE1JX1NDUkFNQkxJTkcJKDE8PDApCj4g KyNkZWZpbmUgIFRSQU5TX0RESV9IRE1JX1NDUkFNQkxJTkdfTUFTSyAoVFJBTlNfRERJX0hETUlf U0NSQU1CTEVSX0NUU19FTkFCTEUgXAo+ICsJCQkJCXwgVFJBTlNfRERJX0hETUlfU0NSQU1CTEVS X1JFU0VUX0ZSRVEgXAo+ICsJCQkJCXwgVFJBTlNfRERJX0hETUlfU0NSQU1CTElORykKPiAgCj4g IC8qIERpc3BsYXlQb3J0IFRyYW5zcG9ydCBDb250cm9sICovCj4gICNkZWZpbmUgX0RQX1RQX0NU TF9BCQkJMHg2NDA0MAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k ZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gaW5kZXggYTdjMDhkNy4u MjE1OWIyYiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gQEAgLTEzMTEsNiArMTMx MSwxMSBAQCB2b2lkIGludGVsX2RkaV9lbmFibGVfdHJhbnNjb2Rlcl9mdW5jKHN0cnVjdCBkcm1f Y3J0YyAqY3J0YykKPiAgCQkJdGVtcCB8PSBUUkFOU19ERElfTU9ERV9TRUxFQ1RfSERNSTsKPiAg CQllbHNlCj4gIAkJCXRlbXAgfD0gVFJBTlNfRERJX01PREVfU0VMRUNUX0RWSTsKPiArCj4gKwkJ aWYgKGludGVsX2NydGMtPmNvbmZpZy0+aGRtaV9zY3JhbWJsaW5nKQo+ICsJCQl0ZW1wIHw9IFRS QU5TX0RESV9IRE1JX1NDUkFNQkxJTkdfTUFTSzsKPiArCQlpZiAoaW50ZWxfY3J0Yy0+Y29uZmln LT5oZG1pX2hpZ2hfdG1kc19jbG9ja19yYXRpbykKPiArCQkJdGVtcCB8PSBUUkFOU19ERElfSElH SF9UTURTX0NIQVJfUkFURTsKPiAgCX0gZWxzZSBpZiAodHlwZSA9PSBJTlRFTF9PVVRQVVRfQU5B TE9HKSB7Cj4gIAkJdGVtcCB8PSBUUkFOU19ERElfTU9ERV9TRUxFQ1RfRkRJOwo+ICAJCXRlbXAg fD0gKGludGVsX2NydGMtPmNvbmZpZy0+ZmRpX2xhbmVzIC0gMSkgPDwgMTsKPiBAQCAtMTg4NSw2 ICsxODkwLDIwIEBAIHN0YXRpYyB2b2lkIGludGVsX2VuYWJsZV9kZGkoc3RydWN0IGludGVsX2Vu Y29kZXIgKmludGVsX2VuY29kZXIsCj4gIAkJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50 ZWxfZGlnX3BvcnQgPQo+ICAJCQllbmNfdG9fZGlnX3BvcnQoZW5jb2Rlcik7Cj4gIAo+ICsJCWlm IChJU19HRU1JTklMQUtFKGRldl9wcml2KSkgewo+ICsJCQkvKgo+ICsJCQkgKiBHTEsgc3BvcnRz IGEgbmF0aXZlIEhETUkgMi4wIGNvbnRyb2xsZXIuIElmIHJlcXVpcmVkCj4gKwkJCSAqIGNsb2Nr IHJhdGUgaXMgPiAzNDAgTWh6ICYmIHNjcmFtYmxpbmcgaXMgc3VwcG9ydGVkCj4gKwkJCSAqIGJ5 IHNpbmssIGVuYWJsZSBzY3JhbWJsaW5nIGJlZm9yZSBlbmFibGluZyB0aGUKPiArCQkJICogSERN SSAyLjAgcG9ydC4gVGhlIHNpbmsgY2FuIGNob29zZSB0byBkaXNhYmxlIHRoZQo+ICsJCQkgKiBz Y3JhbWJsaW5nIGlmIGl0IGRvZXNuJ3QgZGV0ZWN0IGEgc2NyYW1ibGVkIHdpdGhpbgo+ICsJCQkg KiAxMDAgbXMuCj4gKwkJCSAqLwoKVGhpcyBjb21tZW50IHNlZW1zIG91dCBvZiBwbGFjZSwgaXQg ZXhwbGFpbnMgd2hhdCdzIHRoZSBlZmZlY3Qgb2YgY2FsbGluZwppbnRlbF9oZG1pX2hhbmRsZV9z aW5rX3NjcmFtYmxpbmcoKS4gVGhhdCBzaG91bGQgYmUgaW4gdGhhdCBmdW5jdGlvbidzIGtlcm5l bApkb2MgaW5zdGVhZCwgd2hpY2ggSSBub3cgcmVhbGl6ZSBpcyBtaXNzaW5nLgoKPiArCQkJaW50 ZWxfaGRtaV9oYW5kbGVfc2lua19zY3JhbWJsaW5nKGludGVsX2VuY29kZXIsCj4gKwkJCQkJCWNv bm5fc3RhdGUtPmNvbm5lY3RvciwKPiArCQkJCQkJcGlwZV9jb25maWcsIHRydWUpOwo+ICsJCX0K PiArCj4gIAkJLyogSW4gSERNSS9EVkkgbW9kZSwgdGhlIHBvcnQgd2lkdGgsIGFuZCBzd2luZy9l bXBoYXNpcyB2YWx1ZXMKPiAgCQkgKiBhcmUgaWdub3JlZCBzbyBub3RoaW5nIHNwZWNpYWwgbmVl ZHMgdG8gYmUgZG9uZSBiZXNpZGVzCj4gIAkJICogZW5hYmxpbmcgdGhlIHBvcnQuCj4gQEAgLTE5 MTcsNiArMTkzNiwxNCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kaXNhYmxlX2RkaShzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciwKPiAgCWlmIChvbGRfY3J0Y19zdGF0ZS0+aGFzX2F1 ZGlvKQo+ICAJCWludGVsX2F1ZGlvX2NvZGVjX2Rpc2FibGUoaW50ZWxfZW5jb2Rlcik7Cj4gIAo+ ICsJaWYgKHR5cGUgPT0gSU5URUxfT1VUUFVUX0hETUkpIHsKPiArCQlzdHJ1Y3QgaW50ZWxfY3J0 YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoZW5jb2Rlci0+Y3J0Yyk7Cj4gKwo+ICsJCWlu dGVsX2hkbWlfaGFuZGxlX3Npbmtfc2NyYW1ibGluZyhpbnRlbF9lbmNvZGVyLAo+ICsJCQkJCW9s ZF9jb25uX3N0YXRlLT5jb25uZWN0b3IsCj4gKwkJCQkJaW50ZWxfY3J0Yy0+Y29uZmlnLCBmYWxz ZSk7CgpJJ20gd29uZGVyaW5nIGlmIHRoaXMgc2hvdWxkIG9sZF9jcnRjX3N0YXRlIGluc3RlYWQ/ IElmIEkgcmVtZW1iZXIgcmlnaHQsCmNydGNfc3RhdGUgZmllbGRzIHRoYXQgYXJlIG5vdCBleHBs aWNpdGx5IHByZXNlcnZlZCBhcmUgemVyb2VkLCBzbwpoYW5kbGVfc2lua19zY3JhbWJsaW5nKCkg d29uJ3QgYWN0dWFsbHkgZGlzYWJsZSBzY3JhbWJsaW5nIGhlcmUuCgpBbHNvLCB0aGVyZSdzIGFu IGFzeW1tZXRyeSBiZXR3ZWVuIHRoaXMgYW5kIHRoZSBlbmFibGUgcGF0aCwgc2luY2UgdGhhdCBj aGVja3MKZm9yIElTX0dFTUlOSUxBS0UoKSBhbmQgdGhpcyBkb2Vzbid0LiBXb3VsZCBpdCBtYWtl IHNlbnNlIHRvIG1vdmUgdGhlIGNoZWNrIGludG8KaW50ZWxfaGRtaV9oYW5kbGVfc2lua19zY3Jh bWJsaW5nKCk/IFZpbGxlPwoKCj4gKwl9Cj4gKwo+ICAJaWYgKHR5cGUgPT0gSU5URUxfT1VUUFVU X0VEUCkgewo+ICAJCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAo ZW5jb2Rlcik7Cj4gIAo+IEBAIC0yMDQ0LDYgKzIwNzEsMTIgQEAgdm9pZCBpbnRlbF9kZGlfZ2V0 X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCj4gIAkJaWYgKGludGVs X2hkbWktPmluZm9mcmFtZV9lbmFibGVkKCZlbmNvZGVyLT5iYXNlLCBwaXBlX2NvbmZpZykpCj4g IAkJCXBpcGVfY29uZmlnLT5oYXNfaW5mb2ZyYW1lID0gdHJ1ZTsKPiArCj4gKwkJaWYgKCh0ZW1w ICYgVFJBTlNfRERJX0hETUlfU0NSQU1CTElOR19NQVNLKSA9PQo+ICsJCQkJVFJBTlNfRERJX0hE TUlfU0NSQU1CTElOR19NQVNLKQoKVGhpcyBpcyBtaXNhbGlnbmVkLgoKQW5kZXIKCj4gKwkJCXBp cGVfY29uZmlnLT5oZG1pX3NjcmFtYmxpbmcgPSB0cnVlOwo+ICsJCWlmICh0ZW1wICYgVFJBTlNf RERJX0hJR0hfVE1EU19DSEFSX1JBVEUpCj4gKwkJCXBpcGVfY29uZmlnLT5oZG1pX2hpZ2hfdG1k c19jbG9ja19yYXRpbyA9IHRydWU7Cj4gIAkJLyogZmFsbCB0aHJvdWdoICovCj4gIAljYXNlIFRS QU5TX0RESV9NT0RFX1NFTEVDVF9EVkk6Cj4gIAkJcGlwZV9jb25maWctPmxhbmVfY291bnQgPSA0 Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBpbmRleCA5OWU4ZDljLi4yMWQ2 NGMwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IEBAIC0xMTY2Miw2 ICsxMTY2Miw5IEBAIHN0YXRpYyB2b2lkIF9fcHJpbnRmKDMsIDQpCj4gIAlpZiAoKElOVEVMX0dF TihkZXZfcHJpdikgPCA4ICYmICFJU19IQVNXRUxMKGRldl9wcml2KSkgfHwKPiAgCSAgICBJU19W QUxMRVlWSUVXKGRldl9wcml2KSB8fCBJU19DSEVSUllWSUVXKGRldl9wcml2KSkKPiAgCQlQSVBF X0NPTkZfQ0hFQ0tfSShsaW1pdGVkX2NvbG9yX3JhbmdlKTsKPiArCj4gKwlQSVBFX0NPTkZfQ0hF Q0tfSShoZG1pX3NjcmFtYmxpbmcpOwo+ICsJUElQRV9DT05GX0NIRUNLX0koaGRtaV9oaWdoX3Rt ZHNfY2xvY2tfcmF0aW8pOwo+ICAJUElQRV9DT05GX0NIRUNLX0koaGFzX2luZm9mcmFtZSk7Cj4g IAo+ICAJUElQRV9DT05GX0NIRUNLX0koaGFzX2F1ZGlvKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cnYuaAo+IGluZGV4IGU2ZmJiZWUuLjYyZmJlYjIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cnYuaAo+IEBAIC02OTUsNiArNjk1LDEyIEBAIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlIHsKPiAg Cj4gIAkvKiBHYW1tYSBtb2RlIHByb2dyYW1tZWQgb24gdGhlIHBpcGUgKi8KPiAgCXVpbnQzMl90 IGdhbW1hX21vZGU7Cj4gKwo+ICsJLyogSERNSSBzY3JhbWJsaW5nIHN0YXR1cyAoc2luaykgKi8K PiArCWJvb2wgaGRtaV9zY3JhbWJsaW5nOwo+ICsKPiArCS8qIEhETUkgSGlnaCBUTURTIGNoYXIg cmF0ZSByYXRpbyAoc2luaykgKi8KPiArCWJvb2wgaGRtaV9oaWdoX3RtZHNfY2xvY2tfcmF0aW87 Cj4gIH07Cj4gIAo+ICBzdHJ1Y3Qgdmx2X3dtX3N0YXRlIHsKPiBAQCAtMTYyNiw2ICsxNjMyLDEw IEBAIHZvaWQgaW50ZWxfaGRtaV9pbml0X2Nvbm5lY3RvcihzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9w b3J0ICppbnRlbF9kaWdfcG9ydCwKPiAgYm9vbCBpbnRlbF9oZG1pX2NvbXB1dGVfY29uZmlnKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJCQkgICAgICAgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKnBpcGVfY29uZmlnLAo+ICAJCQkgICAgICAgc3RydWN0IGRybV9jb25uZWN0b3Jf c3RhdGUgKmNvbm5fc3RhdGUpOwo+ICt2b2lkIGludGVsX2hkbWlfaGFuZGxlX3Npbmtfc2NyYW1i bGluZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciwKPiArCQkJCQlzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICsJCQkJCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjb25maWcsCj4gKwkJCQkJYm9vbCBlbmFibGUpOwo+ICB2b2lkIGludGVsX2RwX2R1YWxfbW9k ZV9zZXRfdG1kc19vdXRwdXQoc3RydWN0IGludGVsX2hkbWkgKmhkbWksIGJvb2wgZW5hYmxlKTsK PiAgCj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKPiBpbmRleCBjMjE4NGY3Li5jNmUy Mzk4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+IEBAIC0zNCw2ICszNCw3IEBA Cj4gICNpbmNsdWRlIDxkcm0vZHJtX2F0b21pY19oZWxwZXIuaD4KPiAgI2luY2x1ZGUgPGRybS9k cm1fY3J0Yy5oPgo+ICAjaW5jbHVkZSA8ZHJtL2RybV9lZGlkLmg+Cj4gKyNpbmNsdWRlIDxkcm0v ZHJtX3NjZGNfaGVscGVyLmg+Cj4gICNpbmNsdWRlICJpbnRlbF9kcnYuaCIKPiAgI2luY2x1ZGUg PGRybS9pOTE1X2RybS5oPgo+ICAjaW5jbHVkZSA8ZHJtL2ludGVsX2xwZV9hdWRpby5oPgo+IEBA IC0xMzE2LDYgKzEzMTcsNyBAQCBib29sIGludGVsX2hkbWlfY29tcHV0ZV9jb25maWcoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRt aSA9IGVuY190b19pbnRlbF9oZG1pKCZlbmNvZGVyLT5iYXNlKTsKPiAgCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwo+ICAJc3Ry dWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPSAmcGlwZV9jb25maWctPmJhc2Uu YWRqdXN0ZWRfbW9kZTsKPiArCXN0cnVjdCBkcm1fc2NkYyAqc2NkYyA9ICZjb25uX3N0YXRlLT5j b25uZWN0b3ItPmRpc3BsYXlfaW5mby5oZG1pLnNjZGM7Cj4gIAlpbnQgY2xvY2tfOGJwYyA9IHBp cGVfY29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGUuY3J0Y19jbG9jazsKPiAgCWludCBjbG9ja18x MmJwYyA9IGNsb2NrXzhicGMgKiAzIC8gMjsKPiAgCWludCBkZXNpcmVkX2JwcDsKPiBAQCAtMTM4 NSw2ICsxMzg3LDE2IEBAIGJvb2wgaW50ZWxfaGRtaV9jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCj4gIAlwaXBlX2NvbmZpZy0+bGFuZV9jb3VudCA9IDQ7 Cj4gIAo+ICsJaWYgKHNjZGMtPnNjcmFtYmxpbmcuc3VwcG9ydGVkICYmIElTX0dFTUlOSUxBS0Uo ZGV2X3ByaXYpKSB7Cj4gKwkJaWYgKHNjZGMtPnNjcmFtYmxpbmcubG93X3JhdGVzKQo+ICsJCQlw aXBlX2NvbmZpZy0+aGRtaV9zY3JhbWJsaW5nID0gdHJ1ZTsKPiArCj4gKwkJaWYgKHBpcGVfY29u ZmlnLT5wb3J0X2Nsb2NrID4gMzQwMDAwKSB7Cj4gKwkJCXBpcGVfY29uZmlnLT5oZG1pX3NjcmFt YmxpbmcgPSB0cnVlOwo+ICsJCQlwaXBlX2NvbmZpZy0+aGRtaV9oaWdoX3RtZHNfY2xvY2tfcmF0 aW8gPSB0cnVlOwo+ICsJCX0KPiArCX0KPiArCj4gIAlyZXR1cm4gdHJ1ZTsKPiAgfQo+ICAKPiBA QCAtMTc5NCw2ICsxODA2LDQ2IEBAIHN0YXRpYyB2b2lkIGludGVsX2hkbWlfZGVzdHJveShzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICAJaW50ZWxfaGRtaS0+YXNwZWN0X3JhdGlv ID0gSERNSV9QSUNUVVJFX0FTUEVDVF9OT05FOwo+ICB9Cj4gCj4gK3ZvaWQgaW50ZWxfaGRtaV9o YW5kbGVfc2lua19zY3JhbWJsaW5nKHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVy LAo+ICsJCQkJICAgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gKwkJCQkg ICAgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNvbmZpZywKPiArCQkJCSAgICAgICBib29s IGVuYWJsZSkKPiArewo+ICsJc3RydWN0IGludGVsX2hkbWkgKmludGVsX2hkbWkgPSBlbmNfdG9f aW50ZWxfaGRtaSgmaW50ZWxfZW5jb2Rlci0+YmFzZSk7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSBjb25uZWN0b3ItPmRldi0+ZGV2X3ByaXZhdGU7Cj4gKwlzdHJ1Y3Qg ZHJtX3NjcmFtYmxpbmcgKnNjcmFtYmxpbmcgPQo+ICsJCQkJJmNvbm5lY3Rvci0+ZGlzcGxheV9p bmZvLmhkbWkuc2NkYy5zY3JhbWJsaW5nOwo+ICsJc3RydWN0IGkyY19hZGFwdGVyICphZHB0ciA9 IGludGVsX2dtYnVzX2dldF9hZGFwdGVyKGRldl9wcml2LAo+ICsJCQkJCQkJICBpbnRlbF9oZG1p LT5kZGNfYnVzKTsKPiArCWJvb2wgcmV0Owo+ICsKPiArCWlmICghc2NyYW1ibGluZy0+c3VwcG9y dGVkKQo+ICsJCXJldHVybjsKPiArCj4gKwlEUk1fREVCVUdfS01TKCJTZXR0aW5nIHNpbmsgc2Ny YW1ibGluZyBmb3IgZW5jOiVzIGNvbm5lY3Rvcjolc1xuIiwKPiArCQkJaW50ZWxfZW5jb2Rlci0+ YmFzZS5uYW1lLCBjb25uZWN0b3ItPm5hbWUpOwo+ICsKPiArCWlmIChjb25maWctPmhkbWlfaGln aF90bWRzX2Nsb2NrX3JhdGlvKSB7Cj4gKwkJLyogU2V0IFRNRFMgYml0IGNsb2NrIHJhdGlvIHRv IDEvNDAgb3IgMS8xMCAqLwo+ICsJCXJldCA9IGRybV9zY2RjX3NldF9oaWdoX3RtZHNfY2xvY2tf cmF0aW8oYWRwdHIsIGVuYWJsZSk7Cj4gKwkJaWYgKCFyZXQpIHsKPiArCQkJRFJNX0VSUk9SKCJT ZXQgVE1EUyByYXRpbyBmYWlsZWRcbiIpOwo+ICsJCQlyZXR1cm47Cj4gKwkJfQo+ICsJfQo+ICsK PiArCWlmIChjb25maWctPmhkbWlfc2NyYW1ibGluZykgewo+ICsJCS8qIEVuYWJsZS9kaXNhYmxl IHNpbmsgc2NyYW1ibGluZyAqLwo+ICsJCXJldCA9IGRybV9zY2RjX3NldF9zY3JhbWJsaW5nKGFk cHRyLCBlbmFibGUpOwo+ICsJCWlmICghcmV0KSB7Cj4gKwkJCURSTV9FUlJPUigiU2V0IHNpbmsg c2NyYW1ibGluZyBmYWlsZWRcbiIpOwo+ICsJCQlyZXR1cm47Cj4gKwkJfQo+ICsJfQo+ICsKPiAr CURSTV9ERUJVR19LTVMoInNpbmsgc2NyYW1ibGluZyBoYW5kbGVkXG4iKTsKPiArfQo+ICsKPiAg c3RhdGljIHU4IGludGVsX2hkbWlfZGRjX3BpbihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsCj4gIAkJCSAgICAgZW51bSBwb3J0IHBvcnQpCj4gIHsKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmkt ZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==