From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan De Oliveira Subject: Re: [Intel-gfx] [PATCH v6 5/6] drm/i915: enable scrambling Date: Fri, 03 Mar 2017 11:52:07 +0200 Message-ID: <1488534727.4567.3.camel@gmail.com> References: <1488522587-1657-1-git-send-email-shashank.sharma@intel.com> <1488522587-1657-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: <1488522587-1657-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 T24gRnJpLCAyMDE3LTAzLTAzIGF0IDExOjU5ICswNTMwLCBTaGFzaGFuayBTaGFybWEgd3JvdGU6 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 bXBhcmUuCj4gCj4gU2lnbmVkLW9mZi1ieTogU2hhc2hhbmsgU2hhcm1hIDxzaGFzaGFuay5zaGFy bWFAaW50ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICAg ICAgfCAgNyArKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jICAgICB8IDMz ICsrKysrKysrKysrKysrKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j IHwgIDUgKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8IDE0ICsr KysrKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jICAgIHwgNzQgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIDUgZmlsZXMgY2hhbmdlZCwgMTMzIGlu c2VydGlvbnMoKykKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiBpbmRleCA0OTA2Y2U0ZC4u Zjc4OTFhYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+IEBAIC03ODI0LDcgKzc4MjQs MTQgQEAgZW51bSB7Cj4gICNkZWZpbmUgIFRSQU5TX0RESV9FRFBfSU5QVVRfQl9PTk9GRgkoNTw8 MTIpCj4gICNkZWZpbmUgIFRSQU5TX0RESV9FRFBfSU5QVVRfQ19PTk9GRgkoNjw8MTIpCj4gICNk ZWZpbmUgIFRSQU5TX0RESV9EUF9WQ19QQVlMT0FEX0FMTE9DCSgxPDw4KQo+ICsjZGVmaW5lICBU UkFOU19ERElfSERNSV9TQ1JBTUJMRVJfQ1RTX0VOQUJMRSAoMTw8NykKPiArI2RlZmluZSAgVFJB TlNfRERJX0hETUlfU0NSQU1CTEVSX1JFU0VUX0ZSRVEgKDE8PDYpCj4gICNkZWZpbmUgIFRSQU5T X0RESV9CRklfRU5BQkxFCQkoMTw8NCkKPiArI2RlZmluZSAgVFJBTlNfRERJX0hJR0hfVE1EU19D SEFSX1JBVEUJKDE8PDQpCj4gKyNkZWZpbmUgIFRSQU5TX0RESV9IRE1JX1NDUkFNQkxJTkcJKDE8 PDApCj4gKyNkZWZpbmUgIFRSQU5TX0RESV9IRE1JX1NDUkFNQkxJTkdfTUFTSyAoVFJBTlNfRERJ X0hETUlfU0NSQU1CTEVSX0NUU19FTkFCTEUgXAo+ICsJCQkJCXwgVFJBTlNfRERJX0hETUlfU0NS QU1CTEVSX1JFU0VUX0ZSRVEgXAo+ICsJCQkJCQl8IFRSQU5TX0RESV9IRE1JX1NDUkFNQkxJTkcp CgpMYXN0IGxpbmUgaXMgbWlzYWxpZ25lZC4KCj4gIAo+ICAvKiBEaXNwbGF5UG9ydCBUcmFuc3Bv cnQgQ29udHJvbCAqLwo+ICAjZGVmaW5lIF9EUF9UUF9DVExfQQkJCTB4NjQwNDAKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kZGkuYwo+IGluZGV4IGE3YzA4ZDcuLmQwYzY5MjcgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kZGkuYwo+IEBAIC0xMzExLDYgKzEzMTEsMTEgQEAgdm9pZCBpbnRlbF9kZGlf ZW5hYmxlX3RyYW5zY29kZXJfZnVuYyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIAkJCXRlbXAg fD0gVFJBTlNfRERJX01PREVfU0VMRUNUX0hETUk7Cj4gIAkJZWxzZQo+ICAJCQl0ZW1wIHw9IFRS QU5TX0RESV9NT0RFX1NFTEVDVF9EVkk7Cj4gKwo+ICsJCWlmIChJU19HRU1JTklMQUtFKGRldl9w cml2KSkKPiArCQkJdGVtcCA9IGludGVsX2hkbWlfaGFuZGxlX3NvdXJjZV9zY3JhbWJsaW5nKAo+ ICsJCQkJaW50ZWxfZW5jb2RlciwKPiArCQkJCWludGVsX2NydGMtPmNvbmZpZywgdGVtcCk7CgpU aGlzIHdob2xlIGh1bmsgY291bGQganVzdCBiZToKCisJaWYgKGNvbmZpZy0+aGRtaV9zY3JhbWJs aW5nKQorCQloZG1pX2NvbmZpZyB8PSBUUkFOU19ERElfSERNSV9TQ1JBTUJMSU5HX01BU0s7CisK KwlpZiAoY29uZmlnLT5oZG1pX2hpZ2hfdG1kc19jbG9ja19yYXRpbykKKwkJaGRtaV9jb25maWcg fD0gVFJBTlNfRERJX0hJR0hfVE1EU19DSEFSX1JBVEU7CgpObyBuZWVkIHRvIGNoZWNrIGZvciBH TEsgaGVyZSwgc2luY2UgdGhlIGNvbXB1dGUgY29uZmlnIGNvZGUgYWxyZWFkeSBkaWQuCgo+ICAJ fSBlbHNlIGlmICh0eXBlID09IElOVEVMX09VVFBVVF9BTkFMT0cpIHsKPiAgCQl0ZW1wIHw9IFRS QU5TX0RESV9NT0RFX1NFTEVDVF9GREk7Cj4gIAkJdGVtcCB8PSAoaW50ZWxfY3J0Yy0+Y29uZmln LT5mZGlfbGFuZXMgLSAxKSA8PCAxOwo+IEBAIC0xODg1LDYgKzE4OTAsMjEgQEAgc3RhdGljIHZv aWQgaW50ZWxfZW5hYmxlX2RkaShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciwK PiAgCQlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9Cj4gIAkJCWVu Y190b19kaWdfcG9ydChlbmNvZGVyKTsKPiAgCj4gKwkJaWYgKElTX0dFTUlOSUxBS0UoZGV2X3By aXYpKSB7Cj4gKwkJCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhlbmNv ZGVyLT5jcnRjKTsKPiArCQkJLyoKPiArCQkJICogR0xLIHNwb3J0cyBhIG5hdGl2ZSBIRE1JIDIu MCBjb250cm9sbGVyLiBJZiByZXF1aXJlZAo+ICsJCQkgKiBjbG9jayByYXRlIGlzID4gMzQwIE1o eiAmJiBzY3JhbWJsaW5nIGlzIHN1cHBvcnRlZAo+ICsJCQkgKiBieSBzaW5rLCBlbmFibGUgc2Ny YW1ibGluZyBiZWZvcmUgZW5hYmxpbmcgdGhlCj4gKwkJCSAqIEhETUkgMi4wIHBvcnQuIFRoZSBz aW5rIGNhbiBjaG9vc2UgdG8gZGlzYWJsZSB0aGUKPiArCQkJICogc2NyYW1ibGluZyBpZiBpdCBk b2Vzbid0IGRldGVjdCBhIHNjcmFtYmxlZCB3aXRoaW4KPiArCQkJICogMTAwIG1zLgo+ICsJCQkg Ki8KPiArCQkJaW50ZWxfaGRtaV9oYW5kbGVfc2lua19zY3JhbWJsaW5nKGludGVsX2VuY29kZXIs Cj4gKwkJCQkJCWNvbm5fc3RhdGUtPmNvbm5lY3RvciwKPiArCQkJCQkJY3J0Yy0+Y29uZmlnLCB0 cnVlKTsKClRoaXMgZnVuY3Rpb24gcmVjZWl2ZXMgYSBwaXBlX2NvbmZpZyBwb2ludGVyIGFzIGFy Z3VtZW50LiBVc2UgdGhhdCBpbnN0ZWFkIG9mCmNydGMtPmNvbmZpZy4KCj4gKwkJfQo+ICsKPiAg CQkvKiBJbiBIRE1JL0RWSSBtb2RlLCB0aGUgcG9ydCB3aWR0aCwgYW5kIHN3aW5nL2VtcGhhc2lz IHZhbHVlcwo+ICAJCSAqIGFyZSBpZ25vcmVkIHNvIG5vdGhpbmcgc3BlY2lhbCBuZWVkcyB0byBi ZSBkb25lIGJlc2lkZXMKPiAgCQkgKiBlbmFibGluZyB0aGUgcG9ydC4KPiBAQCAtMTkxNyw2ICsx OTM3LDE0IEBAIHN0YXRpYyB2b2lkIGludGVsX2Rpc2FibGVfZGRpKHN0cnVjdCBpbnRlbF9lbmNv ZGVyICppbnRlbF9lbmNvZGVyLAo+ICAJaWYgKG9sZF9jcnRjX3N0YXRlLT5oYXNfYXVkaW8pCj4g IAkJaW50ZWxfYXVkaW9fY29kZWNfZGlzYWJsZShpbnRlbF9lbmNvZGVyKTsKPiAgCj4gKwlpZiAo dHlwZSA9PSBJTlRFTF9PVVRQVVRfSERNSSkgewo+ICsJCXN0cnVjdCBpbnRlbF9jcnRjICppbnRl bF9jcnRjID0gdG9faW50ZWxfY3J0YyhlbmNvZGVyLT5jcnRjKTsKPiArCj4gKwkJaW50ZWxfaGRt aV9oYW5kbGVfc2lua19zY3JhbWJsaW5nKGludGVsX2VuY29kZXIsCj4gKwkJCQkJb2xkX2Nvbm5f c3RhdGUtPmNvbm5lY3RvciwKPiArCQkJCQlpbnRlbF9jcnRjLT5jb25maWcsIGZhbHNlKTsKPiAr CX0KPiArCj4gIAlpZiAodHlwZSA9PSBJTlRFTF9PVVRQVVRfRURQKSB7Cj4gIAkJc3RydWN0IGlu dGVsX2RwICppbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcChlbmNvZGVyKTsKPiAgCj4gQEAgLTIw NDQsNiArMjA3MiwxMSBAQCB2b2lkIGludGVsX2RkaV9nZXRfY29uZmlnKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyLAo+ICAKPiAgCQlpZiAoaW50ZWxfaGRtaS0+aW5mb2ZyYW1lX2VuYWJs ZWQoJmVuY29kZXItPmJhc2UsIHBpcGVfY29uZmlnKSkKPiAgCQkJcGlwZV9jb25maWctPmhhc19p bmZvZnJhbWUgPSB0cnVlOwo+ICsKPiArCQlpZiAodGVtcCAmIFRSQU5TX0RESV9IRE1JX1NDUkFN QkxJTkdfTUFTSykKPiArCQkJcGlwZV9jb25maWctPmhkbWlfc2NyYW1ibGluZyA9IHRydWU7Cj4g KwkJaWYgKHRlbXAgJiBUUkFOU19ERElfSElHSF9UTURTX0NIQVJfUkFURSkKPiArCQkJcGlwZV9j b25maWctPmhkbWlfaGlnaF90bWRzX2Nsb2NrX3JhdGlvID0gdHJ1ZTsKCkhtbSwgd2UgbWlnaHQg bmVlZCBhIElTX0dMSyBoZXJlLCBzaW5jZSB0aGVzZSBiaXRzIG9ubHkgZXhpc3QgaW4gdGhhdCBw bGF0Zm9ybS4KSSBiZWxpZXZlIHRoZXkgc2hvdWxkIHJlYWQgemVybyB0aG91Z2gsIHNpbmNlIHRo ZXkgYXJlIGxpc3RlZCBhcmUgcmVzZXJ2ZWQuCkR1bm5vLgoKPiAgCQkvKiBmYWxsIHRocm91Z2gg Ki8KPiAgCWNhc2UgVFJBTlNfRERJX01PREVfU0VMRUNUX0RWSToKPiAgCQlwaXBlX2NvbmZpZy0+ bGFuZV9jb3VudCA9IDQ7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IGluZGV4 IDk5ZThkOWMuLmMwMTdlZDMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j Cj4gQEAgLTExNjYyLDYgKzExNjYyLDExIEBAIHN0YXRpYyB2b2lkIF9fcHJpbnRmKDMsIDQpCj4g IAlpZiAoKElOVEVMX0dFTihkZXZfcHJpdikgPCA4ICYmICFJU19IQVNXRUxMKGRldl9wcml2KSkg fHwKPiAgCSAgICBJU19WQUxMRVlWSUVXKGRldl9wcml2KSB8fCBJU19DSEVSUllWSUVXKGRldl9w cml2KSkKPiAgCQlQSVBFX0NPTkZfQ0hFQ0tfSShsaW1pdGVkX2NvbG9yX3JhbmdlKTsKPiArCWlm IChJU19HRU1JTklMQUtFKGRldl9wcml2KSkgewoKTm8gbmVlZCB0byBjaGVjayBmb3IgR0xLIGhl cmUuIFRoZSBjb25maWd1cmF0aW9uIHNob3VsZCBuZXZlciBiZSBzZXQgZm9yIG90aGVyCnBsYXRm b3Jtcy4gSWYgaXQgaXMgc2V0LCB0aGF0J3MgYSBidWcgYW5kIHdlIHdhbnQgdmVyaWZ5X2NydGNf c3RhdGUoKSB0byB0ZWxscwp1cyBhYm91dCBpdC4KCj4gKwkJUElQRV9DT05GX0NIRUNLX0koaGRt aV9zY3JhbWJsaW5nKTsKPiArCQlQSVBFX0NPTkZfQ0hFQ0tfSShoZG1pX2hpZ2hfdG1kc19jbG9j a19yYXRpbyk7Cj4gKwl9Cj4gKwo+ICAJUElQRV9DT05GX0NIRUNLX0koaGFzX2luZm9mcmFtZSk7 Cj4gIAo+ICAJUElQRV9DT05GX0NIRUNLX0koaGFzX2F1ZGlvKTsKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcnYuaAo+IGluZGV4IGU2ZmJiZWUuLmJhZWZiYWEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcnYuaAo+IEBAIC02OTUsNiArNjk1LDEyIEBAIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlIHsK PiAgCj4gIAkvKiBHYW1tYSBtb2RlIHByb2dyYW1tZWQgb24gdGhlIHBpcGUgKi8KPiAgCXVpbnQz Ml90IGdhbW1hX21vZGU7Cj4gKwo+ICsJLyogSERNSSBzY3JhbWJsaW5nIHN0YXR1cyAoc2luaykg Ki8KPiArCWJvb2wgaGRtaV9zY3JhbWJsaW5nOwo+ICsKPiArCS8qIEhETUkgSGlnaCBUTURTIGNo YXIgcmF0ZSByYXRpbyAoc2luaykgKi8KPiArCWJvb2wgaGRtaV9oaWdoX3RtZHNfY2xvY2tfcmF0 aW87Cj4gIH07Cj4gIAo+ICBzdHJ1Y3Qgdmx2X3dtX3N0YXRlIHsKPiBAQCAtMTYyNiw2ICsxNjMy LDE0IEBAIHZvaWQgaW50ZWxfaGRtaV9pbml0X2Nvbm5lY3RvcihzdHJ1Y3QgaW50ZWxfZGlnaXRh bF9wb3J0ICppbnRlbF9kaWdfcG9ydCwKPiAgYm9vbCBpbnRlbF9oZG1pX2NvbXB1dGVfY29uZmln KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJCQkgICAgICAgc3RydWN0IGludGVs X2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAo+ICAJCQkgICAgICAgc3RydWN0IGRybV9jb25uZWN0 b3Jfc3RhdGUgKmNvbm5fc3RhdGUpOwo+ICt1aW50MzJfdAo+ICtpbnRlbF9oZG1pX2hhbmRsZV9z b3VyY2Vfc2NyYW1ibGluZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciwKPiAr CQkJCQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY29uZmlnLAo+ICsJCQkJCXVpbnQzMl90IGhk bWlfY29uZmlnKTsKPiArdm9pZCBpbnRlbF9oZG1pX2hhbmRsZV9zaW5rX3NjcmFtYmxpbmcoc3Ry dWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIsCj4gKwkJCQkJc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvciwKPiArCQkJCQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY29uZmln LAo+ICsJCQkJCWJvb2wgZW5hYmxlKTsKPiAgdm9pZCBpbnRlbF9kcF9kdWFsX21vZGVfc2V0X3Rt ZHNfb3V0cHV0KHN0cnVjdCBpbnRlbF9oZG1pICpoZG1pLCBib29sIGVuYWJsZSk7Cj4gIAo+ICAK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4gaW5kZXggYzIxODRmNy4uMGExYWUwMyAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKPiBAQCAtMzQsNiArMzQsNyBAQAo+ICAjaW5j bHVkZSA8ZHJtL2RybV9hdG9taWNfaGVscGVyLmg+Cj4gICNpbmNsdWRlIDxkcm0vZHJtX2NydGMu aD4KPiAgI2luY2x1ZGUgPGRybS9kcm1fZWRpZC5oPgo+ICsjaW5jbHVkZSA8ZHJtL2RybV9zY2Rj X2hlbHBlci5oPgo+ICAjaW5jbHVkZSAiaW50ZWxfZHJ2LmgiCj4gICNpbmNsdWRlIDxkcm0vaTkx NV9kcm0uaD4KPiAgI2luY2x1ZGUgPGRybS9pbnRlbF9scGVfYXVkaW8uaD4KPiBAQCAtMTMxNiw2 ICsxMzE3LDcgQEAgYm9vbCBpbnRlbF9oZG1pX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyLAo+ICAJc3RydWN0IGludGVsX2hkbWkgKmludGVsX2hkbWkgPSBlbmNf dG9faW50ZWxfaGRtaSgmZW5jb2Rlci0+YmFzZSk7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKPiAgCXN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0gJnBpcGVfY29uZmlnLT5iYXNlLmFkanVzdGVk X21vZGU7Cj4gKwlzdHJ1Y3QgZHJtX3NjZGMgKnNjZGMgPSAmY29ubl9zdGF0ZS0+Y29ubmVjdG9y LT5kaXNwbGF5X2luZm8uaGRtaS5zY2RjOwo+ICAJaW50IGNsb2NrXzhicGMgPSBwaXBlX2NvbmZp Zy0+YmFzZS5hZGp1c3RlZF9tb2RlLmNydGNfY2xvY2s7Cj4gIAlpbnQgY2xvY2tfMTJicGMgPSBj bG9ja184YnBjICogMyAvIDI7Cj4gIAlpbnQgZGVzaXJlZF9icHA7Cj4gQEAgLTEzODUsNiArMTM4 NywxNiBAQCBib29sIGludGVsX2hkbWlfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIsCj4gIAo+ICAJcGlwZV9jb25maWctPmxhbmVfY291bnQgPSA0Owo+ICAKPiAr CWlmIChzY2RjLT5zY3JhbWJsaW5nLnN1cHBvcnRlZCAmJiBJU19HRU1JTklMQUtFKGRldl9wcml2 KSkgewo+ICsJCWlmIChzY2RjLT5zY3JhbWJsaW5nLmxvd19yYXRlcykKPiArCQkJcGlwZV9jb25m aWctPmhkbWlfc2NyYW1ibGluZyA9IHRydWU7Cj4gKwo+ICsJCWlmIChwaXBlX2NvbmZpZy0+cG9y dF9jbG9jayA+IDM0MDAwMCkgewo+ICsJCQlwaXBlX2NvbmZpZy0+aGRtaV9zY3JhbWJsaW5nID0g dHJ1ZTsKPiArCQkJcGlwZV9jb25maWctPmhkbWlfaGlnaF90bWRzX2Nsb2NrX3JhdGlvID0gdHJ1 ZTsKPiArCQl9Cj4gKwl9Cj4gKwo+ICAJcmV0dXJuIHRydWU7Cj4gIH0KPiAgCj4gQEAgLTE3OTQs NiArMTgwNiw2OCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9oZG1pX2Rlc3Ryb3koc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvcikKPiAgCWludGVsX2hkbWktPmFzcGVjdF9yYXRpbyA9IEhETUlf UElDVFVSRV9BU1BFQ1RfTk9ORTsKPiAgfQo+ICAKPiArdm9pZCBpbnRlbF9oZG1pX2hhbmRsZV9z aW5rX3NjcmFtYmxpbmcoc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIsCj4gKwkJ CQkgICAgICAgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiArCQkJCSAgICAgICBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY29uZmlnLAo+ICsJCQkJICAgICAgIGJvb2wgZW5hYmxl KQo+ICt7Cj4gKwlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaSA9IGVuY190b19pbnRlbF9o ZG1pKCZpbnRlbF9lbmNvZGVyLT5iYXNlKTsKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IGNvbm5lY3Rvci0+ZGV2LT5kZXZfcHJpdmF0ZTsKPiArCXN0cnVjdCBkcm1fc2Ny YW1ibGluZyAqc2NyYW1ibGluZyA9Cj4gKwkJCQkmY29ubmVjdG9yLT5kaXNwbGF5X2luZm8uaGRt aS5zY2RjLnNjcmFtYmxpbmc7Cj4gKwlzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkcHRyID0gaW50ZWxf Z21idXNfZ2V0X2FkYXB0ZXIoZGV2X3ByaXYsCj4gKwkJCQkJCQkgIGludGVsX2hkbWktPmRkY19i dXMpOwo+ICsJYm9vbCByZXQ7Cj4gKwo+ICsJaWYgKCFzY3JhbWJsaW5nLT5zdXBwb3J0ZWQpCj4g KwkJcmV0dXJuOwo+ICsKPiArCURSTV9ERUJVR19LTVMoIlNldHRpbmcgc2luayBzY3JhbWJsaW5n IGZvciBlbmM6JXMgY29ubmVjdG9yOiVzXG4iLAo+ICsJCQlpbnRlbF9lbmNvZGVyLT5iYXNlLm5h bWUsIGNvbm5lY3Rvci0+bmFtZSk7Cj4gKwo+ICsJaWYgKGNvbmZpZy0+aGRtaV9oaWdoX3RtZHNf Y2xvY2tfcmF0aW8pIHsKPiArCQkvKiBTZXQgVE1EUyBiaXQgY2xvY2sgcmF0aW8gdG8gMS80MCBv ciAxLzEwICovCj4gKwkJcmV0ID0gZHJtX3NjZGNfc2V0X2hpZ2hfdG1kc19jbG9ja19yYXRpbyhh ZHB0ciwgZW5hYmxlKTsKPiArCQlpZiAoIXJldCkgewo+ICsJCQlEUk1fRVJST1IoIlNldCBUTURT IHJhdGlvIGZhaWxlZFxuIik7Cj4gKwkJCXJldHVybjsKPiArCQl9Cj4gKwl9Cj4gKwo+ICsJaWYg KGNvbmZpZy0+aGRtaV9zY3JhbWJsaW5nKSB7Cj4gKwkJLyogRW5hYmxlL2Rpc2FibGUgc2luayBz Y3JhbWJsaW5nICovCj4gKwkJcmV0ID0gZHJtX3NjZGNfc2V0X3NjcmFtYmxpbmcoYWRwdHIsIGVu YWJsZSk7Cj4gKwkJaWYgKCFyZXQpIHsKPiArCQkJRFJNX0VSUk9SKCJTZXQgc2luayBzY3JhbWJs aW5nIGZhaWxlZFxuIik7Cj4gKwkJCXJldHVybjsKPiArCQl9Cj4gKwl9Cj4gKwo+ICsJRFJNX0RF QlVHX0tNUygic2luayBzY3JhbWJsaW5nIGhhbmRsZWRcbiIpOwo+ICt9Cj4gKwo+ICt1aW50MzJf dAo+ICtpbnRlbF9oZG1pX2hhbmRsZV9zb3VyY2Vfc2NyYW1ibGluZyhzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqaW50ZWxfZW5jb2RlciwKPiArCQkJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNvbmZp ZywgdWludDMyX3QgaGRtaV9jb25maWcpCj4gK3sKPiArCXN0cnVjdCBpbnRlbF9oZG1pICppbnRl bF9oZG1pID0gZW5jX3RvX2ludGVsX2hkbWkoJmludGVsX2VuY29kZXItPmJhc2UpOwo+ICsJc3Ry dWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciA9ICZpbnRlbF9oZG1pLT5hdHRhY2hlZF9jb25u ZWN0b3ItPmJhc2U7Cj4gKwo+ICsJRFJNX0RFQlVHX0tNUygiU2V0dGluZyBzY3JhbWJsaW5nIGZv ciBlbmM6JXMgY29ubmVjdG9yOiVzXG4iLAo+ICsJCQlpbnRlbF9lbmNvZGVyLT5iYXNlLm5hbWUs IGNvbm5lY3Rvci0+bmFtZSk7CgpJbnN0ZWFkIG9mIGRlYnVnZ2luZyBoZXJlLCBwcmludCB0aGUg aGRtaSBzY3JhbWJsaW5nIHZhbHVlcyBpbgppbnRlbF9kdW1wX3BpcGVfY29uZmlnKCkuCgoKPiAr CWhkbWlfY29uZmlnICY9IH4oVFJBTlNfRERJX0hETUlfU0NSQU1CTElOR19NQVNLIHwKPiArCQlU UkFOU19ERElfSElHSF9UTURTX0NIQVJfUkFURSk7CgpUaGlzIGlzIHVubmVjZXNzYXJ5LiBUaGUg aHVuayBiZWxvdyBiZWxvbmdzIGluCmludGVsX2RkaV9lbmFibGVfdHJhbnNjb2Rlcl9mdW5jKCkg YW5kIHRoYXQgZnVuY3Rpb24gZG9lcyBub3QgZG8gcmVhZC1tb2RpZnktCndyaXRlLiBBbnkgYml0 IHRoYXQgaXMgbm90IGV4cGxpY2l0bHkgc2V0IGlzIHplcm8uIEkgdGhpbmsgdGhpbmdzIGFyZSBq dXN0CnNpbXBsZXIgaWYgdGhpcyBmdW5jdGlvbiBkb2Vzbid0IGV4aXN0LgoKQW5kZXIKCj4gKwlp ZiAoY29uZmlnLT5oZG1pX3NjcmFtYmxpbmcpCj4gKwkJaGRtaV9jb25maWcgfD0gVFJBTlNfRERJ X0hETUlfU0NSQU1CTElOR19NQVNLOwo+ICsKPiArCWlmIChjb25maWctPmhkbWlfaGlnaF90bWRz X2Nsb2NrX3JhdGlvKQo+ICsJCWhkbWlfY29uZmlnIHw9IFRSQU5TX0RESV9ISUdIX1RNRFNfQ0hB Ul9SQVRFOwo+ICsKPiArCXJldHVybiBoZG1pX2NvbmZpZzsKPiArfQo+ICsKPiAgc3RhdGljIHU4 IGludGVsX2hkbWlfZGRjX3BpbihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4g IAkJCSAgICAgZW51bSBwb3J0IHBvcnQpCj4gIHsKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vZHJpLWRldmVsCg==