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:17:33 +0200 Message-ID: <20170308171733.GL31595@intel.com> References: <1488980269-13046-1-git-send-email-shashank.sharma@intel.com> <1488980269-13046-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: Content-Disposition: inline In-Reply-To: <1488980269-13046-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 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 T24gV2VkLCBNYXIgMDgsIDIwMTcgYXQgMDc6MDc6NDhQTSArMDUzMCwgU2hhc2hhbmsgU2hhcm1h IHdyb3RlOgo+ICBHZW1pbmlsYWtlIHBsYXRmb3JtIHNwb3J0cyBhIG5hdGl2ZSBIRE1JIDIuMCBj b250cm9sbGVyLCBhbmQgaXMKPiAgY2FwYWJsZSBvZiBkcml2aW5nIHBpeGVsLWNsb2NrcyB1cHRv IDU5NE1oei4gSERNSSAyLjAgc3BlYwo+ICBtZW5kYXRlcyBzY3JhbWJsaW5nIGZvciB0aGVzZSBo aWdoZXIgY2xvY2tzLCBmb3IgcmVkdWNlZCBSRiBmb290cHJpbnQuCj4gCj4gIFRoaXMgcGF0Y2gg Y2hlY2tzIGlmIHRoZSBtb25pdG9yIHN1cHBvcnRzIHNjcmFtYmxpbmcsIGFuZCBpZiByZXF1aXJl ZCwKPiAgZW5hYmxlcyBpdCBkdXJpbmcgdGhlIG1vZGVzZXQuCj4gCj4gIFYyOiBBZGRyZXNzZWQg cmV2aWV3IGNvbW1lbnRzIGZyb20gVmlsbGU6Cj4gIC0gRG8gbm90IHRyYWNrIHNjcmFtYmxpbmcg c3RhdHVzIGluIERSTSBsYXllciwgdHJhY2sgc29tZXdoZXJlIGluCj4gICAgZHJpdmVyIGxpa2Ug aW4gaW50ZWxfY3J0Y19zdGF0ZS4KPiAgLSBEb24ndCB0YWxrIHRvIG1vbml0b3IgYXQgc3VjaCBh IGxvdyBsYXllciwgc2V0IG1vbml0b3Igc2NyYW1ibGluZwo+ICAgIGluIGludGVsX2VuYWJsZV9k ZGkoKSBiZWZvcmUgZW5hYmxpbmcgdGhlIHBvcnQuCj4gCj4gIFYzOiBBZGRyZXNzZWQgcmV2aWV3 IGNvbW1lbnRzIGZyb20gSmFuaQo+ICAtIEluIGNvbW1lbnRzLCBmdW5jdGlvbiBuYW1lcywgdXNl ICJzaW5rIiBpbnN0ZWFkIG9mICJtb25pdG9yIiwKPiAgICBzbyB0aGF0IHRoZSBpbXBsZW1lbnRh dGlvbiBjb3VsZCBiZSBjbG9zZSB0byB0aGUgbGFuZ3VhZ2Ugb2YKPiAgICBIRE1JIHNwZWMuCj4g Cj4gVjQ6IEFkZHJlc3NlZCByZXZpZXcgY29tbWVudCBmcm9tIE1hYXJ0ZW4KPiAgLSBzY3JhbWJs aW5nIC0+IGhkbWlfc2NyYW1ibGluZwo+ICAtIGhpZ2hfdG1kc19jbG9ja19yYXRpbyAtPiBoZG1p X2hpZ2hfdG1kc19jbG9ja19yYXRpbwo+IAo+IFY1OiBBZGRyZXNzZWQgcmV2aWV3IGNvbW1lbnRz IGZyb20gVmlsbGUgYW5kIEFuZGVyCj4gIC0gRG8gbm90IG1vZGlmaXkgdGhlIGNydGNfc3RhdGUg YWZ0ZXIgY29tcHV0ZV9jb25maWcuIE1vdmUgYWxsCj4gICAgc2NyYW1ibGluZyBhbmQgdG1kc19j bG9ja19yYXRpbyBjYWxjdXRhdGlvbnMgdG8gY29tcHV0ZV9jb25maWcuCj4gIC0gV2hpbGUgc2V0 dGluZyBzY3JhbWJsaW5nIGZvciBzb3VyY2Uvc2luaywgZG8gbm90IGNoZWNrIHRoZQo+ICAgIGNv bmRpdGlvbnMgYWdhaW4sIGp1c3QgZ28gYnkgdGhlIGNydGNfc3RhdGUgZmxhZ3MuIFRoaXMgd2ls bAo+ICAgIHNpbXBseWZ5IHRoZSBjb25kaXRpb24gY2hlY2tzLgo+IAo+IFY2OiBBZGRyZXNzZWQg cmV2aWV3IGNvbW1lbnRzIGZyb20gVmlsbGUKPiAgLSBEbyBub3QgYWRkIElTX0dMSyBjaGVjayBp biBkaXNhYmxlL2VuYWJsZSBmdW5jdGlvbiwgaW5zdGVhZCBhZGQgaXQKPiAgICBpbiBjb21wdXRl X2NvbmZpZywgd2hpbGUgc2V0dGluZyBzdGF0ZSBmbGFncy4KPiAgLSBSZW1vdmUgdW5uZWNlc3Nh cnkgcGFyYW50aGVzaXMuCj4gIC0gU2ltcGx5ZnkgaGFuZGxlX3Npbmtfc2NyYW1ibGluZyBmdW5j dGlvbiBhcyBzdWdnZXN0ZWQuCj4gIC0gQWRkIHJlYWRvdXQgY29kZSBmb3Igc2NyYW1ibGluZyBz dGF0dXMgaW4gZ2V0X2RkaV9jb25maWcgYW5kIGFkZCBhCj4gICAgY2hlY2sgZm9yIHRoZSBzYW1l IGluIHBpcGVfY29uZmlnX2NvbXBhcmUuCj4gCj4gVjc6IEFkZHJlc3NlZCByZXZpZXcgY29tbWVu dHMgZnJvbSBBbmRlci9WaWxsZQo+ICAtIE5vIHNlcGFyYXRlIGZ1bmN0aW9uIGZvciBzb3VyY2Ug c2NyYW1ibGluZywgbWFrZSBpdCBpbmxpbmUKPiAgLSBBbGlnbiB0aGUgbGFzdCBsaW5lIG9mIHRo ZSBtYWNybyBUUkFOU19ERElfSERNSV9TQ1JBTUJMSU5HX01BU0sKPiAgLSBEbyBub3QgYWRkIHBs YXRmb3JtIGNoZWNrIHdoaWxlIHNldHRpbmcgc291cmNlIHNjcmFtYmxpbmcKPiAgLSBVc2UgcGlw ZV9jb25maWcgaW5zdGVhZCBvZiBjcnRjLT5jb25maWcgdG8gc2V0IHNpbmsgc2NyYW1ibGluZwo+ ICAtIFRvIHJlYWRvdXQgc2NyYW1ibGluZyBzdGF0dXMsIENvbXBhcmUgd2l0aCBTQ1JBTUJMSU5H X01BU0sKPiAgICBub3QgYW55IG9mIGl0cyBiaXRzCj4gIC0gUmVtb3ZlIHBsYXRmb3JtIGNoZWNr IGluIGludGVsX3BpcGVfY29uZmlnX2NvbXBhcmUgd2hpbGUgY2hlY2tpbmcKPiAgICBzY3JhbWJs aW5nIHN0YXR1cwo+IAo+IFY4OiBGaXhlZCBtZWdlIGNvbmZsaWN0LCBBZGRyZXNzZWQgcmV2aWV3 IGNvbW1lbnRzIGZyb20gQW5kZXIKPiAgLSBSZW1vdmUgdGhlIGRlc2NpcHRpb24vY29tbWVudCBh Ym91dCBzY3JhbWJsaW5nIGZvbSB0aGUgY2FsbGVyLCBtb3ZlCj4gICAgaXQgdG8gdGhlIGZ1bmN0 aW9uCj4gIC0gTW92ZSB0aGUgSVNfR0xLIGNoZWNrIGludG8gc2NyYW1ibGluZyBmdW5jdGlvbgo+ ICAtIEZpeCBhbGlnbm1lbnQKPiAKPiBTaWduZWQtb2ZmLWJ5OiBTaGFzaGFuayBTaGFybWEgPHNo YXNoYW5rLnNoYXJtYUBpbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcmVnLmggICAgICB8ICA3ICsrKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRp LmMgICAgIHwgMTkgKysrKysrKysrKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlz cGxheS5jIHwgIDMgKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgIHwg MTAgKysrKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYyAgICB8IDYyICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICA1IGZpbGVzIGNoYW5nZWQsIDEw MSBpbnNlcnRpb25zKCspCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gaW5kZXggY2M4NDNm OS4uMmQ1MGZkYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5o Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+IEBAIC03ODMwLDcgKzc4 MzAsMTQgQEAgZW51bSB7Cj4gICNkZWZpbmUgIFRSQU5TX0RESV9FRFBfSU5QVVRfQl9PTk9GRgko NTw8MTIpCj4gICNkZWZpbmUgIFRSQU5TX0RESV9FRFBfSU5QVVRfQ19PTk9GRgkoNjw8MTIpCj4g ICNkZWZpbmUgIFRSQU5TX0RESV9EUF9WQ19QQVlMT0FEX0FMTE9DCSgxPDw4KQo+ICsjZGVmaW5l ICBUUkFOU19ERElfSERNSV9TQ1JBTUJMRVJfQ1RTX0VOQUJMRSAoMTw8NykKPiArI2RlZmluZSAg VFJBTlNfRERJX0hETUlfU0NSQU1CTEVSX1JFU0VUX0ZSRVEgKDE8PDYpCj4gICNkZWZpbmUgIFRS QU5TX0RESV9CRklfRU5BQkxFCQkoMTw8NCkKPiArI2RlZmluZSAgVFJBTlNfRERJX0hJR0hfVE1E U19DSEFSX1JBVEUJKDE8PDQpCj4gKyNkZWZpbmUgIFRSQU5TX0RESV9IRE1JX1NDUkFNQkxJTkcJ KDE8PDApCj4gKyNkZWZpbmUgIFRSQU5TX0RESV9IRE1JX1NDUkFNQkxJTkdfTUFTSyAoVFJBTlNf RERJX0hETUlfU0NSQU1CTEVSX0NUU19FTkFCTEUgXAo+ICsJCQkJCXwgVFJBTlNfRERJX0hETUlf U0NSQU1CTEVSX1JFU0VUX0ZSRVEgXAo+ICsJCQkJCXwgVFJBTlNfRERJX0hETUlfU0NSQU1CTElO RykKPiAgCj4gIC8qIERpc3BsYXlQb3J0IFRyYW5zcG9ydCBDb250cm9sICovCj4gICNkZWZpbmUg X0RQX1RQX0NUTF9BCQkJMHg2NDA0MAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gaW5kZXgg MDQ2NzY3Ni4uYjNlNGM0YSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kZGkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gQEAgLTEz MDksNiArMTMwOSwxMSBAQCB2b2lkIGludGVsX2RkaV9lbmFibGVfdHJhbnNjb2Rlcl9mdW5jKGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICAJCQl0ZW1wIHw9IFRS QU5TX0RESV9NT0RFX1NFTEVDVF9IRE1JOwo+ICAJCWVsc2UKPiAgCQkJdGVtcCB8PSBUUkFOU19E RElfTU9ERV9TRUxFQ1RfRFZJOwo+ICsKPiArCQlpZiAoY3J0Y19zdGF0ZS0+aGRtaV9zY3JhbWJs aW5nKQo+ICsJCQl0ZW1wIHw9IFRSQU5TX0RESV9IRE1JX1NDUkFNQkxJTkdfTUFTSzsKPiArCQlp ZiAoY3J0Y19zdGF0ZS0+aGRtaV9oaWdoX3RtZHNfY2xvY2tfcmF0aW8pCj4gKwkJCXRlbXAgfD0g VFJBTlNfRERJX0hJR0hfVE1EU19DSEFSX1JBVEU7Cj4gIAl9IGVsc2UgaWYgKHR5cGUgPT0gSU5U RUxfT1VUUFVUX0FOQUxPRykgewo+ICAJCXRlbXAgfD0gVFJBTlNfRERJX01PREVfU0VMRUNUX0ZE STsKPiAgCQl0ZW1wIHw9IChjcnRjX3N0YXRlLT5mZGlfbGFuZXMgLSAxKSA8PCAxOwo+IEBAIC0x ODgyLDYgKzE4ODcsOSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9lbmFibGVfZGRpKHN0cnVjdCBpbnRl bF9lbmNvZGVyICppbnRlbF9lbmNvZGVyLAo+ICAJCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQg KmludGVsX2RpZ19wb3J0ID0KPiAgCQkJZW5jX3RvX2RpZ19wb3J0KGVuY29kZXIpOwo+ICAKPiAr CQlpbnRlbF9oZG1pX2hhbmRsZV9zaW5rX3NjcmFtYmxpbmcoaW50ZWxfZW5jb2RlciwKPiArCQkJ Y29ubl9zdGF0ZS0+Y29ubmVjdG9yLCBwaXBlX2NvbmZpZywgdHJ1ZSk7Cj4gKwo+ICAJCS8qIElu IEhETUkvRFZJIG1vZGUsIHRoZSBwb3J0IHdpZHRoLCBhbmQgc3dpbmcvZW1waGFzaXMgdmFsdWVz Cj4gIAkJICogYXJlIGlnbm9yZWQgc28gbm90aGluZyBzcGVjaWFsIG5lZWRzIHRvIGJlIGRvbmUg YmVzaWRlcwo+ICAJCSAqIGVuYWJsaW5nIHRoZSBwb3J0Lgo+IEBAIC0xOTE0LDYgKzE5MjIsMTEg QEAgc3RhdGljIHZvaWQgaW50ZWxfZGlzYWJsZV9kZGkoc3RydWN0IGludGVsX2VuY29kZXIgKmlu dGVsX2VuY29kZXIsCj4gIAlpZiAob2xkX2NydGNfc3RhdGUtPmhhc19hdWRpbykKPiAgCQlpbnRl bF9hdWRpb19jb2RlY19kaXNhYmxlKGludGVsX2VuY29kZXIpOwo+ICAKPiArCWlmICh0eXBlID09 IElOVEVMX09VVFBVVF9IRE1JKSB7Cj4gKwkJaW50ZWxfaGRtaV9oYW5kbGVfc2lua19zY3JhbWJs aW5nKGludGVsX2VuY29kZXIsCj4gKwkJCW9sZF9jb25uX3N0YXRlLT5jb25uZWN0b3IsIG9sZF9j cnRjX3N0YXRlLCBmYWxzZSk7Cj4gKwl9Cj4gKwo+ICAJaWYgKHR5cGUgPT0gSU5URUxfT1VUUFVU X0VEUCkgewo+ICAJCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAo ZW5jb2Rlcik7Cj4gIAo+IEBAIC0yMDQwLDYgKzIwNTMsMTIgQEAgdm9pZCBpbnRlbF9kZGlfZ2V0 X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCj4gIAkJaWYgKGludGVs X2hkbWktPmluZm9mcmFtZV9lbmFibGVkKCZlbmNvZGVyLT5iYXNlLCBwaXBlX2NvbmZpZykpCj4g IAkJCXBpcGVfY29uZmlnLT5oYXNfaW5mb2ZyYW1lID0gdHJ1ZTsKPiArCj4gKwkJaWYgKCh0ZW1w ICYgVFJBTlNfRERJX0hETUlfU0NSQU1CTElOR19NQVNLKSA9PQo+ICsJCQkJVFJBTlNfRERJX0hE TUlfU0NSQU1CTElOR19NQVNLKQo+ICsJCQlwaXBlX2NvbmZpZy0+aGRtaV9zY3JhbWJsaW5nID0g dHJ1ZTsKPiArCQlpZiAodGVtcCAmIFRSQU5TX0RESV9ISUdIX1RNRFNfQ0hBUl9SQVRFKQo+ICsJ CQlwaXBlX2NvbmZpZy0+aGRtaV9oaWdoX3RtZHNfY2xvY2tfcmF0aW8gPSB0cnVlOwo+ICAJCS8q IGZhbGwgdGhyb3VnaCAqLwo+ICAJY2FzZSBUUkFOU19ERElfTU9ERV9TRUxFQ1RfRFZJOgo+ICAJ CXBpcGVfY29uZmlnLT5sYW5lX2NvdW50ID0gNDsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlz cGxheS5jCj4gaW5kZXggZTc3Y2E3ZC4uZmI1ZTY3MCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMKPiBAQCAtMTE3MDEsNiArMTE3MDEsOSBAQCBzdGF0aWMgdm9pZCBfX3By aW50ZigzLCA0KQo+ICAJaWYgKChJTlRFTF9HRU4oZGV2X3ByaXYpIDwgOCAmJiAhSVNfSEFTV0VM TChkZXZfcHJpdikpIHx8Cj4gIAkgICAgSVNfVkFMTEVZVklFVyhkZXZfcHJpdikgfHwgSVNfQ0hF UlJZVklFVyhkZXZfcHJpdikpCj4gIAkJUElQRV9DT05GX0NIRUNLX0kobGltaXRlZF9jb2xvcl9y YW5nZSk7Cj4gKwo+ICsJUElQRV9DT05GX0NIRUNLX0koaGRtaV9zY3JhbWJsaW5nKTsKPiArCVBJ UEVfQ09ORl9DSEVDS19JKGhkbWlfaGlnaF90bWRzX2Nsb2NrX3JhdGlvKTsKPiAgCVBJUEVfQ09O Rl9DSEVDS19JKGhhc19pbmZvZnJhbWUpOwo+ICAKPiAgCVBJUEVfQ09ORl9DSEVDS19JKGhhc19h dWRpbyk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBpbmRleCAzYWYyMGMxLi41MGQ2ODBj IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBAQCAtNzI5LDYgKzcyOSwxMiBAQCBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSB7Cj4gIAo+ICAJLyogYml0bWFzayBvZiB2aXNpYmxlIHBs YW5lcyAoZW51bSBwbGFuZV9pZCkgKi8KPiAgCXU4IGFjdGl2ZV9wbGFuZXM7Cj4gKwo+ICsJLyog SERNSSBzY3JhbWJsaW5nIHN0YXR1cyAqLwo+ICsJYm9vbCBoZG1pX3NjcmFtYmxpbmc7Cj4gKwo+ ICsJLyogSERNSSBIaWdoIFRNRFMgY2hhciByYXRlIHJhdGlvICovCj4gKwlib29sIGhkbWlfaGln aF90bWRzX2Nsb2NrX3JhdGlvOwo+ICB9Owo+ICAKPiAgc3RydWN0IGludGVsX2NydGMgewo+IEBA IC0xNjIzLDYgKzE2MjksMTAgQEAgdm9pZCBpbnRlbF9oZG1pX2luaXRfY29ubmVjdG9yKHN0cnVj dCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LAo+ICBib29sIGludGVsX2hkbWlf Y29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJCSAgICAg ICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCj4gIAkJCSAgICAgICBzdHJ1 Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSk7Cj4gK3ZvaWQgaW50ZWxfaGRtaV9o YW5kbGVfc2lua19zY3JhbWJsaW5nKHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVy LAo+ICsJCQkJCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gKwkJCQkJc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKmNvbmZpZywKPiArCQkJCQlib29sIGVuYWJsZSk7Cj4gIHZvaWQg aW50ZWxfZHBfZHVhbF9tb2RlX3NldF90bWRzX291dHB1dChzdHJ1Y3QgaW50ZWxfaGRtaSAqaGRt aSwgYm9vbCBlbmFibGUpOwo+ICAKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+IGlu ZGV4IGMyMTg0ZjcuLjQ1ODVhYTggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfaGRtaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4g QEAgLTM0LDYgKzM0LDcgQEAKPiAgI2luY2x1ZGUgPGRybS9kcm1fYXRvbWljX2hlbHBlci5oPgo+ ICAjaW5jbHVkZSA8ZHJtL2RybV9jcnRjLmg+Cj4gICNpbmNsdWRlIDxkcm0vZHJtX2VkaWQuaD4K PiArI2luY2x1ZGUgPGRybS9kcm1fc2NkY19oZWxwZXIuaD4KPiAgI2luY2x1ZGUgImludGVsX2Ry di5oIgo+ICAjaW5jbHVkZSA8ZHJtL2k5MTVfZHJtLmg+Cj4gICNpbmNsdWRlIDxkcm0vaW50ZWxf bHBlX2F1ZGlvLmg+Cj4gQEAgLTEzMTYsNiArMTMxNyw3IEBAIGJvb2wgaW50ZWxfaGRtaV9jb21w dXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCXN0cnVjdCBpbnRl bF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVsX2hkbWkoJmVuY29kZXItPmJhc2UpOwo+ ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5i YXNlLmRldik7Cj4gIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9ICZw aXBlX2NvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlOwo+ICsJc3RydWN0IGRybV9zY2RjICpzY2Rj ID0gJmNvbm5fc3RhdGUtPmNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmhkbWkuc2NkYzsKPiAgCWlu dCBjbG9ja184YnBjID0gcGlwZV9jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZS5jcnRjX2Nsb2Nr Owo+ICAJaW50IGNsb2NrXzEyYnBjID0gY2xvY2tfOGJwYyAqIDMgLyAyOwo+ICAJaW50IGRlc2ly ZWRfYnBwOwo+IEBAIC0xMzg1LDYgKzEzODcsMTYgQEAgYm9vbCBpbnRlbF9oZG1pX2NvbXB1dGVf Y29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAKPiAgCXBpcGVfY29uZmln LT5sYW5lX2NvdW50ID0gNDsKPiAgCj4gKwlpZiAoc2NkYy0+c2NyYW1ibGluZy5zdXBwb3J0ZWQg JiYgSVNfR0VNSU5JTEFLRShkZXZfcHJpdikpIHsKPiArCQlpZiAoc2NkYy0+c2NyYW1ibGluZy5s b3dfcmF0ZXMpCj4gKwkJCXBpcGVfY29uZmlnLT5oZG1pX3NjcmFtYmxpbmcgPSB0cnVlOwo+ICsK PiArCQlpZiAocGlwZV9jb25maWctPnBvcnRfY2xvY2sgPiAzNDAwMDApIHsKPiArCQkJcGlwZV9j b25maWctPmhkbWlfc2NyYW1ibGluZyA9IHRydWU7Cj4gKwkJCXBpcGVfY29uZmlnLT5oZG1pX2hp Z2hfdG1kc19jbG9ja19yYXRpbyA9IHRydWU7Cj4gKwkJfQo+ICsJfQo+ICsKPiAgCXJldHVybiB0 cnVlOwo+ICB9Cj4gIAo+IEBAIC0xNzk0LDYgKzE4MDYsNTYgQEAgc3RhdGljIHZvaWQgaW50ZWxf aGRtaV9kZXN0cm95KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIAlpbnRlbF9o ZG1pLT5hc3BlY3RfcmF0aW8gPSBIRE1JX1BJQ1RVUkVfQVNQRUNUX05PTkU7Cj4gIH0KPiAgCj4g Ky8qCj4gKyAqIFRoaXMgZnVuY3Rpb24gaGFuZGxlcyBzY3JhbWJsaW5nIG9uIEhETUkgMi4wIGNh cGFibGUgc2lua3MuCj4gKyAqIElmIHJlcXVpcmVkIGNsb2NrIHJhdGUgaXMgPiAzNDAgTWh6ICYm IHNjcmFtYmxpbmcgaXMgc3VwcG9ydGVkIGJ5IHNpbmsKPiArICogaXQgZW5hYmxlcyBzY3JhbWJs aW5nLiBUaGlzIHNob3VsZCBiZSBjYWxsZWQgYmVmb3JlIGVuYWJsaW5nIHRoZSBIRE1JCj4gKyAq IDIuMCBwb3J0LCBhcyB0aGUgc2luayBjYW4gY2hvb3NlIHRvIGRpc2FibGUgdGhlIHNjcmFtYmxp bmcgaWYgaXQgZG9lc24ndAo+ICsgKiBkZXRlY3QgYSBzY3JhbWJsZWQgY2xvY2sgd2l0aGluIDEw MCBtcy4KPiArICovCj4gK3ZvaWQgaW50ZWxfaGRtaV9oYW5kbGVfc2lua19zY3JhbWJsaW5nKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyLAo+ICsJCQkJICAgICAgIHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gKwkJCQkgICAgICAgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNvbmZpZywKPiArCQkJCSAgICAgICBib29sIGVuYWJsZSkKPiArewo+ICsJc3RydWN0 IGludGVsX2hkbWkgKmludGVsX2hkbWkgPSBlbmNfdG9faW50ZWxfaGRtaSgmaW50ZWxfZW5jb2Rl ci0+YmFzZSk7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBjb25uZWN0 b3ItPmRldi0+ZGV2X3ByaXZhdGU7Cj4gKwlzdHJ1Y3QgZHJtX3NjcmFtYmxpbmcgKnNjcmFtYmxp bmcgPQo+ICsJCQkJJmNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmhkbWkuc2NkYy5zY3JhbWJsaW5n Owo+ICsJc3RydWN0IGkyY19hZGFwdGVyICphZHB0ciA9IGludGVsX2dtYnVzX2dldF9hZGFwdGVy KGRldl9wcml2LAo+ICsJCQkJCQkJICBpbnRlbF9oZG1pLT5kZGNfYnVzKTsKPiArCWJvb2wgcmV0 Owo+ICsKPiArCWlmICghc2NyYW1ibGluZy0+c3VwcG9ydGVkKQo+ICsJCXJldHVybjsKPiArCj4g KwlpZiAoIUlTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKQo+ICsJCXJldHVybjsKCkknZCBzdGlsbCBs aWtlIHRvIHNlZSB0aGlzIGdldHRpbmcgZG9uZSB1bmNvZGl0aW9uYWxseS4gVGhhdCB3YXkgd2UK bWlnaHQgZ2V0IGEgYml0IG9mIGV4dHJhIHRlc3RpbmcgZm9yIHRoZSBTQ0RDIGhlbHBlciBubyBt YXR0ZXIgd2hhdApwbGF0Zm9ybSB0aGUgdXNlciBoYXBwZW5zIHRvIG93bi4KCkkgcHJlc3VtZSB0 aGUgc3BlYyBzYXlzIHRoZSBzaW5rIHdpbGwgcmVzZXQgdGhlc2UgdG8gc29tZSBkZWZhdWx0IHZh bHVlCm9uIEhQRCBvciBzb21ldGhpbmcgbGlrZSB0aGF0PyBCdXQgSSdtIG5vdCBzdXJlIHRydXN0 aW5nIHRoZW0gdG8gZ2V0CnRoaXMgcmlnaHQgaXMgYSBnb29kIGlkZWEgYmVjYXVzZSByZWFsaXR5 IG9mdGVuIGRvZXNuJ3QgbWF0Y2ggdGhlCnNwZWNzLiBTbyB0aGUgc2FmZXIgb3B0aW9uIElNTyB3 b3VsZCBiZSBhbHdheXMgdGVsbCB0aGUgc2luayBleGFjdGx5CndoYXQgd2Ugd2FudC4KCj4gKwo+ ICsJRFJNX0RFQlVHX0tNUygiU2V0dGluZyBzaW5rIHNjcmFtYmxpbmcgZm9yIGVuYzolcyBjb25u ZWN0b3I6JXNcbiIsCj4gKwkJCWludGVsX2VuY29kZXItPmJhc2UubmFtZSwgY29ubmVjdG9yLT5u YW1lKTsKPiArCj4gKwlpZiAoY29uZmlnLT5oZG1pX2hpZ2hfdG1kc19jbG9ja19yYXRpbykgewo+ ICsJCS8qIFNldCBUTURTIGJpdCBjbG9jayByYXRpbyB0byAxLzQwIG9yIDEvMTAgKi8KPiArCQly ZXQgPSBkcm1fc2NkY19zZXRfaGlnaF90bWRzX2Nsb2NrX3JhdGlvKGFkcHRyLCBlbmFibGUpOwo+ ICsJCWlmICghcmV0KSB7Cj4gKwkJCURSTV9FUlJPUigiU2V0IFRNRFMgcmF0aW8gZmFpbGVkXG4i KTsKPiArCQkJcmV0dXJuOwo+ICsJCX0KPiArCX0KPiArCj4gKwlpZiAoY29uZmlnLT5oZG1pX3Nj cmFtYmxpbmcpIHsKPiArCQkvKiBFbmFibGUvZGlzYWJsZSBzaW5rIHNjcmFtYmxpbmcgKi8KPiAr CQlyZXQgPSBkcm1fc2NkY19zZXRfc2NyYW1ibGluZyhhZHB0ciwgZW5hYmxlKTsKPiArCQlpZiAo IXJldCkgewo+ICsJCQlEUk1fRVJST1IoIlNldCBzaW5rIHNjcmFtYmxpbmcgZmFpbGVkXG4iKTsK PiArCQkJcmV0dXJuOwo+ICsJCX0KPiArCX0KPiArCj4gKwlEUk1fREVCVUdfS01TKCJzaW5rIHNj cmFtYmxpbmcgaGFuZGxlZFxuIik7Cj4gK30KPiArCj4gIHN0YXRpYyB1OCBpbnRlbF9oZG1pX2Rk Y19waW4oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJCQkgICAgIGVudW0g cG9ydCBwb3J0KQo+ICB7Cj4gLS0gCj4gMS45LjEKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwg T1RDCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1k ZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=