From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan De Oliveira Subject: Re: [PATCH v8 5/6] drm/i915: enable scrambling Date: Thu, 09 Mar 2017 09:46:36 +0200 Message-ID: <1489045596.3137.3.camel@gmail.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: 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: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" 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 T24gV2VkLCAyMDE3LTAzLTA4IGF0IDE5OjA3ICswNTMwLCBTaGFzaGFuayBTaGFybWEgd3JvdGU6 Cj4gIEdlbWluaWxha2UgcGxhdGZvcm0gc3BvcnRzIGEgbmF0aXZlIEhETUkgMi4wIGNvbnRyb2xs ZXIsIGFuZCBpcwo+ICBjYXBhYmxlIG9mIGRyaXZpbmcgcGl4ZWwtY2xvY2tzIHVwdG8gNTk0TWh6 LiBIRE1JIDIuMCBzcGVjCj4gIG1lbmRhdGVzIHNjcmFtYmxpbmcgZm9yIHRoZXNlIGhpZ2hlciBj bG9ja3MsIGZvciByZWR1Y2VkIFJGIGZvb3RwcmludC4KPiAKPiAgVGhpcyBwYXRjaCBjaGVja3Mg aWYgdGhlIG1vbml0b3Igc3VwcG9ydHMgc2NyYW1ibGluZywgYW5kIGlmIHJlcXVpcmVkLAo+ICBl bmFibGVzIGl0IGR1cmluZyB0aGUgbW9kZXNldC4KPiAKPiAgVjI6IEFkZHJlc3NlZCByZXZpZXcg Y29tbWVudHMgZnJvbSBWaWxsZToKPiAgLSBEbyBub3QgdHJhY2sgc2NyYW1ibGluZyBzdGF0dXMg aW4gRFJNIGxheWVyLCB0cmFjayBzb21ld2hlcmUgaW4KPiAgICBkcml2ZXIgbGlrZSBpbiBpbnRl bF9jcnRjX3N0YXRlLgo+ICAtIERvbid0IHRhbGsgdG8gbW9uaXRvciBhdCBzdWNoIGEgbG93IGxh eWVyLCBzZXQgbW9uaXRvciBzY3JhbWJsaW5nCj4gICAgaW4gaW50ZWxfZW5hYmxlX2RkaSgpIGJl Zm9yZSBlbmFibGluZyB0aGUgcG9ydC4KPiAKPiAgVjM6IEFkZHJlc3NlZCByZXZpZXcgY29tbWVu dHMgZnJvbSBKYW5pCj4gIC0gSW4gY29tbWVudHMsIGZ1bmN0aW9uIG5hbWVzLCB1c2UgInNpbmsi IGluc3RlYWQgb2YgIm1vbml0b3IiLAo+ICAgIHNvIHRoYXQgdGhlIGltcGxlbWVudGF0aW9uIGNv dWxkIGJlIGNsb3NlIHRvIHRoZSBsYW5ndWFnZSBvZgo+ICAgIEhETUkgc3BlYy4KPiAKPiBWNDog QWRkcmVzc2VkIHJldmlldyBjb21tZW50IGZyb20gTWFhcnRlbgo+ICAtIHNjcmFtYmxpbmcgLT4g aGRtaV9zY3JhbWJsaW5nCj4gIC0gaGlnaF90bWRzX2Nsb2NrX3JhdGlvIC0+IGhkbWlfaGlnaF90 bWRzX2Nsb2NrX3JhdGlvCj4gCj4gVjU6IEFkZHJlc3NlZCByZXZpZXcgY29tbWVudHMgZnJvbSBW aWxsZSBhbmQgQW5kZXIKPiAgLSBEbyBub3QgbW9kaWZpeSB0aGUgY3J0Y19zdGF0ZSBhZnRlciBj b21wdXRlX2NvbmZpZy4gTW92ZSBhbGwKPiAgICBzY3JhbWJsaW5nIGFuZCB0bWRzX2Nsb2NrX3Jh dGlvIGNhbGN1dGF0aW9ucyB0byBjb21wdXRlX2NvbmZpZy4KPiAgLSBXaGlsZSBzZXR0aW5nIHNj cmFtYmxpbmcgZm9yIHNvdXJjZS9zaW5rLCBkbyBub3QgY2hlY2sgdGhlCj4gICAgY29uZGl0aW9u cyBhZ2FpbiwganVzdCBnbyBieSB0aGUgY3J0Y19zdGF0ZSBmbGFncy4gVGhpcyB3aWxsCj4gICAg c2ltcGx5ZnkgdGhlIGNvbmRpdGlvbiBjaGVja3MuCj4gCj4gVjY6IEFkZHJlc3NlZCByZXZpZXcg Y29tbWVudHMgZnJvbSBWaWxsZQo+ICAtIERvIG5vdCBhZGQgSVNfR0xLIGNoZWNrIGluIGRpc2Fi bGUvZW5hYmxlIGZ1bmN0aW9uLCBpbnN0ZWFkIGFkZCBpdAo+ICAgIGluIGNvbXB1dGVfY29uZmln LCB3aGlsZSBzZXR0aW5nIHN0YXRlIGZsYWdzLgo+ICAtIFJlbW92ZSB1bm5lY2Vzc2FyeSBwYXJh bnRoZXNpcy4KPiAgLSBTaW1wbHlmeSBoYW5kbGVfc2lua19zY3JhbWJsaW5nIGZ1bmN0aW9uIGFz IHN1Z2dlc3RlZC4KPiAgLSBBZGQgcmVhZG91dCBjb2RlIGZvciBzY3JhbWJsaW5nIHN0YXR1cyBp biBnZXRfZGRpX2NvbmZpZyBhbmQgYWRkIGEKPiAgICBjaGVjayBmb3IgdGhlIHNhbWUgaW4gcGlw ZV9jb25maWdfY29tcGFyZS4KPiAKPiBWNzogQWRkcmVzc2VkIHJldmlldyBjb21tZW50cyBmcm9t IEFuZGVyL1ZpbGxlCj4gIC0gTm8gc2VwYXJhdGUgZnVuY3Rpb24gZm9yIHNvdXJjZSBzY3JhbWJs aW5nLCBtYWtlIGl0IGlubGluZQo+ICAtIEFsaWduIHRoZSBsYXN0IGxpbmUgb2YgdGhlIG1hY3Jv IFRSQU5TX0RESV9IRE1JX1NDUkFNQkxJTkdfTUFTSwo+ICAtIERvIG5vdCBhZGQgcGxhdGZvcm0g Y2hlY2sgd2hpbGUgc2V0dGluZyBzb3VyY2Ugc2NyYW1ibGluZwo+ICAtIFVzZSBwaXBlX2NvbmZp ZyBpbnN0ZWFkIG9mIGNydGMtPmNvbmZpZyB0byBzZXQgc2luayBzY3JhbWJsaW5nCj4gIC0gVG8g cmVhZG91dCBzY3JhbWJsaW5nIHN0YXR1cywgQ29tcGFyZSB3aXRoIFNDUkFNQkxJTkdfTUFTSwo+ ICAgIG5vdCBhbnkgb2YgaXRzIGJpdHMKPiAgLSBSZW1vdmUgcGxhdGZvcm0gY2hlY2sgaW4gaW50 ZWxfcGlwZV9jb25maWdfY29tcGFyZSB3aGlsZSBjaGVja2luZwo+ICAgIHNjcmFtYmxpbmcgc3Rh dHVzCj4gCj4gVjg6IEZpeGVkIG1lZ2UgY29uZmxpY3QsIEFkZHJlc3NlZCByZXZpZXcgY29tbWVu dHMgZnJvbSBBbmRlcgo+ICAtIFJlbW92ZSB0aGUgZGVzY2lwdGlvbi9jb21tZW50IGFib3V0IHNj cmFtYmxpbmcgZm9tIHRoZSBjYWxsZXIsIG1vdmUKPiAgICBpdCB0byB0aGUgZnVuY3Rpb24KPiAg LSBNb3ZlIHRoZSBJU19HTEsgY2hlY2sgaW50byBzY3JhbWJsaW5nIGZ1bmN0aW9uCj4gIC0gRml4 IGFsaWdubWVudAo+IAo+IFNpZ25lZC1vZmYtYnk6IFNoYXNoYW5rIFNoYXJtYSA8c2hhc2hhbmsu c2hhcm1hQGludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcu aCAgICAgIHwgIDcgKysrKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyAgICAg fCAxOSArKysrKysrKysrKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMg fCAgMyArKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAxMCArKysr KysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jICAgIHwgNjIgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIDUgZmlsZXMgY2hhbmdlZCwgMTAxIGluc2Vy dGlvbnMoKykKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiBpbmRleCBjYzg0M2Y5Li4yZDUw ZmRjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gQEAgLTc4MzAsNyArNzgzMCwxNCBA QCBlbnVtIHsKPiAgI2RlZmluZSAgVFJBTlNfRERJX0VEUF9JTlBVVF9CX09OT0ZGCSg1PDwxMikK PiAgI2RlZmluZSAgVFJBTlNfRERJX0VEUF9JTlBVVF9DX09OT0ZGCSg2PDwxMikKPiAgI2RlZmlu ZSAgVFJBTlNfRERJX0RQX1ZDX1BBWUxPQURfQUxMT0MJKDE8PDgpCj4gKyNkZWZpbmUgIFRSQU5T X0RESV9IRE1JX1NDUkFNQkxFUl9DVFNfRU5BQkxFICgxPDw3KQo+ICsjZGVmaW5lICBUUkFOU19E RElfSERNSV9TQ1JBTUJMRVJfUkVTRVRfRlJFUSAoMTw8NikKPiAgI2RlZmluZSAgVFJBTlNfRERJ X0JGSV9FTkFCTEUJCSgxPDw0KQo+ICsjZGVmaW5lICBUUkFOU19ERElfSElHSF9UTURTX0NIQVJf UkFURQkoMTw8NCkKPiArI2RlZmluZSAgVFJBTlNfRERJX0hETUlfU0NSQU1CTElORwkoMTw8MCkK PiArI2RlZmluZSAgVFJBTlNfRERJX0hETUlfU0NSQU1CTElOR19NQVNLIChUUkFOU19ERElfSERN SV9TQ1JBTUJMRVJfQ1RTX0VOQUJMRSBcCj4gKwkJCQkJfCBUUkFOU19ERElfSERNSV9TQ1JBTUJM RVJfUkVTRVRfRlJFUSBcCj4gKwkJCQkJfCBUUkFOU19ERElfSERNSV9TQ1JBTUJMSU5HKQo+ICAK PiAgLyogRGlzcGxheVBvcnQgVHJhbnNwb3J0IENvbnRyb2wgKi8KPiAgI2RlZmluZSBfRFBfVFBf Q1RMX0EJCQkweDY0MDQwCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RkaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiBpbmRleCAwNDY3Njc2 Li5iM2U0YzRhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiBAQCAtMTMwOSw2ICsx MzA5LDExIEBAIHZvaWQgaW50ZWxfZGRpX2VuYWJsZV90cmFuc2NvZGVyX2Z1bmMoY29uc3Qgc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gIAkJCXRlbXAgfD0gVFJBTlNfRERJ X01PREVfU0VMRUNUX0hETUk7Cj4gIAkJZWxzZQo+ICAJCQl0ZW1wIHw9IFRSQU5TX0RESV9NT0RF X1NFTEVDVF9EVkk7Cj4gKwo+ICsJCWlmIChjcnRjX3N0YXRlLT5oZG1pX3NjcmFtYmxpbmcpCj4g KwkJCXRlbXAgfD0gVFJBTlNfRERJX0hETUlfU0NSQU1CTElOR19NQVNLOwo+ICsJCWlmIChjcnRj X3N0YXRlLT5oZG1pX2hpZ2hfdG1kc19jbG9ja19yYXRpbykKPiArCQkJdGVtcCB8PSBUUkFOU19E RElfSElHSF9UTURTX0NIQVJfUkFURTsKPiAgCX0gZWxzZSBpZiAodHlwZSA9PSBJTlRFTF9PVVRQ VVRfQU5BTE9HKSB7Cj4gIAkJdGVtcCB8PSBUUkFOU19ERElfTU9ERV9TRUxFQ1RfRkRJOwo+ICAJ CXRlbXAgfD0gKGNydGNfc3RhdGUtPmZkaV9sYW5lcyAtIDEpIDw8IDE7Cj4gQEAgLTE4ODIsNiAr MTg4Nyw5IEBAIHN0YXRpYyB2b2lkIGludGVsX2VuYWJsZV9kZGkoc3RydWN0IGludGVsX2VuY29k ZXIgKmludGVsX2VuY29kZXIsCj4gIAkJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxf ZGlnX3BvcnQgPQo+ICAJCQllbmNfdG9fZGlnX3BvcnQoZW5jb2Rlcik7Cj4gIAo+ICsJCWludGVs X2hkbWlfaGFuZGxlX3Npbmtfc2NyYW1ibGluZyhpbnRlbF9lbmNvZGVyLAo+ICsJCQljb25uX3N0 YXRlLT5jb25uZWN0b3IsIHBpcGVfY29uZmlnLCB0cnVlKTsKPiArCgpJJ2QgcHJlZmVyIGlmIHdl IGZvbGxvd2VkIHRoZSBjb2Rpbmcgc3R5bGUgaGVyZSAoYW5kIGV2ZXJ5d2hlcmUhKSwgaS5lLiwg CgoJCWludGVsX2hkbWlfaGFuZGxlX3Npbmtfc2NyYW1ibGluZyhpbnRlbF9lbmNvZGVyLAoJCQkJ CQkgIGNvbm5fc3RhdGUtPmNvbm5lY3RvciwKCQkJCQkJICBwaXBlX2NvbmZpZywgdHJ1ZSk7CgpJ ZiB5b3Ugd2FudCB0byBtYWtlIHRoaXMgbmVhdGVyLCB5b3UgY291bGQgYWRkIGFuIGV4dHJhIHZh cmlhYmxlIGZvciB0aGUKY29ubmVjdG9yIGFuZCB0aHJvdyBpbiBhIGNsZWFuIHVwIHBhdGNoIGJl Zm9yZSB0aGlzIG9uZSBjaGFuZ2luZyB0aGUKImludGVsX2VuY29kZXIiIHZhcmlhYmxlcyB0byBi ZSBjYWxsZWQganVzdCAiZW5jb2RlciIuIFNpbmNlIHdlIHByZWZlciB0byBoYXZlCnRoZSBtb3N0 IHNwZWNpYWxpemVkIHR5cGUgYXMgZnVuY3Rpb24gYXJndW1lbnRzIGFuZCB3ZSBvbmx5IHN1cHBv cnQgaW50ZWwKaGFyZHdhcmUsIHdlIGRvbid0IG5lZWQgdG8gY29uc3RhbnRseSByZW1pbmQgb3Vy c2VsdmVzIHRoYXQgdGhpcyBpcyBhbiBpbnRlbAplbmNvZGVyLgoKJCBncmVwIC1vIC1FICdzdHJ1 Y3QgaW50ZWxfZW5jb2RlciBcKihpbnRlbF8pP2VuY29kZXInICouW2NoXSB8IFwKCWN1dCAtZDog LWYyIHwgc29ydCB8IHVuaXEgLWMKwqDCoMKgwqAyNTcgc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIKwqDCoMKgwqDCoDY5IHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyCgpD b3VsZCBjaGFuZ2UgdGhhdCB0byAyNzAgdnMgNTYgYnkgY2xlYW5pbmcgaW50ZWxfZGRpLmMgdXAu Cgo+ICAJCS8qIEluIEhETUkvRFZJIG1vZGUsIHRoZSBwb3J0IHdpZHRoLCBhbmQgc3dpbmcvZW1w aGFzaXMgdmFsdWVzCj4gIAkJICogYXJlIGlnbm9yZWQgc28gbm90aGluZyBzcGVjaWFsIG5lZWRz IHRvIGJlIGRvbmUgYmVzaWRlcwo+ICAJCSAqIGVuYWJsaW5nIHRoZSBwb3J0Lgo+IEBAIC0xOTE0 LDYgKzE5MjIsMTEgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGlzYWJsZV9kZGkoc3RydWN0IGludGVs X2VuY29kZXIgKmludGVsX2VuY29kZXIsCj4gIAlpZiAob2xkX2NydGNfc3RhdGUtPmhhc19hdWRp bykKPiAgCQlpbnRlbF9hdWRpb19jb2RlY19kaXNhYmxlKGludGVsX2VuY29kZXIpOwo+ICAKPiAr CWlmICh0eXBlID09IElOVEVMX09VVFBVVF9IRE1JKSB7Cj4gKwkJaW50ZWxfaGRtaV9oYW5kbGVf c2lua19zY3JhbWJsaW5nKGludGVsX2VuY29kZXIsCj4gKwkJCW9sZF9jb25uX3N0YXRlLT5jb25u ZWN0b3IsIG9sZF9jcnRjX3N0YXRlLCBmYWxzZSk7Cj4gKwl9Cj4gKwoKRGl0dG8uCgo+ICAJaWYg KHR5cGUgPT0gSU5URUxfT1VUUFVUX0VEUCkgewo+ICAJCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHAgPSBlbmNfdG9faW50ZWxfZHAoZW5jb2Rlcik7Cj4gIAo+IEBAIC0yMDQwLDYgKzIwNTMsMTIg QEAgdm9pZCBpbnRlbF9kZGlfZ2V0X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rl ciwKPiAgCj4gIAkJaWYgKGludGVsX2hkbWktPmluZm9mcmFtZV9lbmFibGVkKCZlbmNvZGVyLT5i YXNlLCBwaXBlX2NvbmZpZykpCj4gIAkJCXBpcGVfY29uZmlnLT5oYXNfaW5mb2ZyYW1lID0gdHJ1 ZTsKPiArCj4gKwkJaWYgKCh0ZW1wICYgVFJBTlNfRERJX0hETUlfU0NSQU1CTElOR19NQVNLKSA9 PQo+ICsJCQkJVFJBTlNfRERJX0hETUlfU0NSQU1CTElOR19NQVNLKQo+ICsJCQlwaXBlX2NvbmZp Zy0+aGRtaV9zY3JhbWJsaW5nID0gdHJ1ZTsKPiArCQlpZiAodGVtcCAmIFRSQU5TX0RESV9ISUdI X1RNRFNfQ0hBUl9SQVRFKQo+ICsJCQlwaXBlX2NvbmZpZy0+aGRtaV9oaWdoX3RtZHNfY2xvY2tf cmF0aW8gPSB0cnVlOwo+ICAJCS8qIGZhbGwgdGhyb3VnaCAqLwo+ICAJY2FzZSBUUkFOU19ERElf TU9ERV9TRUxFQ1RfRFZJOgo+ICAJCXBpcGVfY29uZmlnLT5sYW5lX2NvdW50ID0gNDsKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gaW5kZXggZTc3Y2E3ZC4uZmI1ZTY3MCAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAtMTE3MDEsNiArMTE3MDEs OSBAQCBzdGF0aWMgdm9pZCBfX3ByaW50ZigzLCA0KQo+ICAJaWYgKChJTlRFTF9HRU4oZGV2X3By aXYpIDwgOCAmJiAhSVNfSEFTV0VMTChkZXZfcHJpdikpIHx8Cj4gIAkgICAgSVNfVkFMTEVZVklF VyhkZXZfcHJpdikgfHwgSVNfQ0hFUlJZVklFVyhkZXZfcHJpdikpCj4gIAkJUElQRV9DT05GX0NI RUNLX0kobGltaXRlZF9jb2xvcl9yYW5nZSk7Cj4gKwo+ICsJUElQRV9DT05GX0NIRUNLX0koaGRt aV9zY3JhbWJsaW5nKTsKPiArCVBJUEVfQ09ORl9DSEVDS19JKGhkbWlfaGlnaF90bWRzX2Nsb2Nr X3JhdGlvKTsKPiAgCVBJUEVfQ09ORl9DSEVDS19JKGhhc19pbmZvZnJhbWUpOwo+ICAKPiAgCVBJ UEVfQ09ORl9DSEVDS19JKGhhc19hdWRpbyk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBp bmRleCAzYWYyMGMxLi41MGQ2ODBjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBA QCAtNzI5LDYgKzcyOSwxMiBAQCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSB7Cj4gIAo+ICAJLyog Yml0bWFzayBvZiB2aXNpYmxlIHBsYW5lcyAoZW51bSBwbGFuZV9pZCkgKi8KPiAgCXU4IGFjdGl2 ZV9wbGFuZXM7Cj4gKwo+ICsJLyogSERNSSBzY3JhbWJsaW5nIHN0YXR1cyAqLwo+ICsJYm9vbCBo ZG1pX3NjcmFtYmxpbmc7Cj4gKwo+ICsJLyogSERNSSBIaWdoIFRNRFMgY2hhciByYXRlIHJhdGlv ICovCj4gKwlib29sIGhkbWlfaGlnaF90bWRzX2Nsb2NrX3JhdGlvOwo+ICB9Owo+ICAKPiAgc3Ry dWN0IGludGVsX2NydGMgewo+IEBAIC0xNjIzLDYgKzE2MjksMTAgQEAgdm9pZCBpbnRlbF9oZG1p X2luaXRfY29ubmVjdG9yKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0 LAo+ICBib29sIGludGVsX2hkbWlfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXIsCj4gIAkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25m aWcsCj4gIAkJCSAgICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSk7 Cj4gK3ZvaWQgaW50ZWxfaGRtaV9oYW5kbGVfc2lua19zY3JhbWJsaW5nKHN0cnVjdCBpbnRlbF9l bmNvZGVyICppbnRlbF9lbmNvZGVyLAo+ICsJCQkJCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3IsCj4gKwkJCQkJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNvbmZpZywKPiArCQkJCQli b29sIGVuYWJsZSk7Cj4gIHZvaWQgaW50ZWxfZHBfZHVhbF9tb2RlX3NldF90bWRzX291dHB1dChz dHJ1Y3QgaW50ZWxfaGRtaSAqaGRtaSwgYm9vbCBlbmFibGUpOwo+ICAKPiAgCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2hkbWkuYwo+IGluZGV4IGMyMTg0ZjcuLjQ1ODVhYTggMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfaGRtaS5jCj4gQEAgLTM0LDYgKzM0LDcgQEAKPiAgI2luY2x1ZGUgPGRybS9k cm1fYXRvbWljX2hlbHBlci5oPgo+ICAjaW5jbHVkZSA8ZHJtL2RybV9jcnRjLmg+Cj4gICNpbmNs dWRlIDxkcm0vZHJtX2VkaWQuaD4KPiArI2luY2x1ZGUgPGRybS9kcm1fc2NkY19oZWxwZXIuaD4K PiAgI2luY2x1ZGUgImludGVsX2Rydi5oIgo+ICAjaW5jbHVkZSA8ZHJtL2k5MTVfZHJtLmg+Cj4g ICNpbmNsdWRlIDxkcm0vaW50ZWxfbHBlX2F1ZGlvLmg+Cj4gQEAgLTEzMTYsNiArMTMxNyw3IEBA IGJvb2wgaW50ZWxfaGRtaV9jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlciwKPiAgCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVsX2hk bWkoJmVuY29kZXItPmJhc2UpOwo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Cj4gIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9k ZSAqYWRqdXN0ZWRfbW9kZSA9ICZwaXBlX2NvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlOwo+ICsJ c3RydWN0IGRybV9zY2RjICpzY2RjID0gJmNvbm5fc3RhdGUtPmNvbm5lY3Rvci0+ZGlzcGxheV9p bmZvLmhkbWkuc2NkYzsKPiAgCWludCBjbG9ja184YnBjID0gcGlwZV9jb25maWctPmJhc2UuYWRq dXN0ZWRfbW9kZS5jcnRjX2Nsb2NrOwo+ICAJaW50IGNsb2NrXzEyYnBjID0gY2xvY2tfOGJwYyAq IDMgLyAyOwo+ICAJaW50IGRlc2lyZWRfYnBwOwo+IEBAIC0xMzg1LDYgKzEzODcsMTYgQEAgYm9v bCBpbnRlbF9oZG1pX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy LAo+ICAKPiAgCXBpcGVfY29uZmlnLT5sYW5lX2NvdW50ID0gNDsKPiAgCj4gKwlpZiAoc2NkYy0+ c2NyYW1ibGluZy5zdXBwb3J0ZWQgJiYgSVNfR0VNSU5JTEFLRShkZXZfcHJpdikpIHsKPiArCQlp ZiAoc2NkYy0+c2NyYW1ibGluZy5sb3dfcmF0ZXMpCj4gKwkJCXBpcGVfY29uZmlnLT5oZG1pX3Nj cmFtYmxpbmcgPSB0cnVlOwo+ICsKPiArCQlpZiAocGlwZV9jb25maWctPnBvcnRfY2xvY2sgPiAz NDAwMDApIHsKPiArCQkJcGlwZV9jb25maWctPmhkbWlfc2NyYW1ibGluZyA9IHRydWU7Cj4gKwkJ CXBpcGVfY29uZmlnLT5oZG1pX2hpZ2hfdG1kc19jbG9ja19yYXRpbyA9IHRydWU7Cj4gKwkJfQo+ ICsJfQo+ICsKPiAgCXJldHVybiB0cnVlOwo+ICB9Cj4gIAo+IEBAIC0xNzk0LDYgKzE4MDYsNTYg QEAgc3RhdGljIHZvaWQgaW50ZWxfaGRtaV9kZXN0cm95KHN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uZWN0b3IpCj4gIAlpbnRlbF9oZG1pLT5hc3BlY3RfcmF0aW8gPSBIRE1JX1BJQ1RVUkVfQVNQ RUNUX05PTkU7Cj4gIH0KPiAgCj4gKy8qCj4gKyAqIFRoaXMgZnVuY3Rpb24gaGFuZGxlcyBzY3Jh bWJsaW5nIG9uIEhETUkgMi4wIGNhcGFibGUgc2lua3MuCj4gKyAqIElmIHJlcXVpcmVkIGNsb2Nr IHJhdGUgaXMgPiAzNDAgTWh6ICYmIHNjcmFtYmxpbmcgaXMgc3VwcG9ydGVkIGJ5IHNpbmsKPiAr ICogaXQgZW5hYmxlcyBzY3JhbWJsaW5nLiBUaGlzIHNob3VsZCBiZSBjYWxsZWQgYmVmb3JlIGVu YWJsaW5nIHRoZSBIRE1JCj4gKyAqIDIuMCBwb3J0LCBhcyB0aGUgc2luayBjYW4gY2hvb3NlIHRv IGRpc2FibGUgdGhlIHNjcmFtYmxpbmcgaWYgaXQgZG9lc24ndAo+ICsgKiBkZXRlY3QgYSBzY3Jh bWJsZWQgY2xvY2sgd2l0aGluIDEwMCBtcy4KPiArICovCgpJIGFjdHVhbGx5IG1lYW50IHRvIHB1 dCB0aGlzIGluIGtlcm5lbCBkb2MgZm9ybWF0LiBJdCBpcyBzdGFuZGFyZCBwcmFjdGljZSB0bwpk b2N1bWVudCBmdW5jdGlvbnMgdGhhdCBhcmUgbm90IHN0YXRpYywgZXZlbiB0aG91Z2ggd2UgZG9u J3Qgc2VlbSB0byBmb2xsb3cgdGhpcwpmb3IgaW50ZWxfaGRtaS5jLiBIYXZlIHRvIHN0YXJ0IHNv bWV3aGVyZS4KCkFuZGVyCgo+ICt2b2lkIGludGVsX2hkbWlfaGFuZGxlX3Npbmtfc2NyYW1ibGlu ZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciwKPiArCQkJCSAgICAgICBzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICsJCQkJICAgICAgIHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjb25maWcsCj4gKwkJCQkgICAgICAgYm9vbCBlbmFibGUpCj4gK3sKPiArCXN0 cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVsX2hkbWkoJmludGVsX2Vu Y29kZXItPmJhc2UpOwo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gY29u bmVjdG9yLT5kZXYtPmRldl9wcml2YXRlOwo+ICsJc3RydWN0IGRybV9zY3JhbWJsaW5nICpzY3Jh bWJsaW5nID0KPiArCQkJCSZjb25uZWN0b3ItPmRpc3BsYXlfaW5mby5oZG1pLnNjZGMuc2NyYW1i bGluZzsKPiArCXN0cnVjdCBpMmNfYWRhcHRlciAqYWRwdHIgPSBpbnRlbF9nbWJ1c19nZXRfYWRh cHRlcihkZXZfcHJpdiwKPiArCQkJCQkJCSAgaW50ZWxfaGRtaS0+ZGRjX2J1cyk7Cj4gKwlib29s IHJldDsKPiArCj4gKwlpZiAoIXNjcmFtYmxpbmctPnN1cHBvcnRlZCkKPiArCQlyZXR1cm47Cj4g Kwo+ICsJaWYgKCFJU19HRU1JTklMQUtFKGRldl9wcml2KSkKPiArCQlyZXR1cm47Cj4gKwo+ICsJ RFJNX0RFQlVHX0tNUygiU2V0dGluZyBzaW5rIHNjcmFtYmxpbmcgZm9yIGVuYzolcyBjb25uZWN0 b3I6JXNcbiIsCj4gKwkJCWludGVsX2VuY29kZXItPmJhc2UubmFtZSwgY29ubmVjdG9yLT5uYW1l KTsKPiArCj4gKwlpZiAoY29uZmlnLT5oZG1pX2hpZ2hfdG1kc19jbG9ja19yYXRpbykgewo+ICsJ CS8qIFNldCBUTURTIGJpdCBjbG9jayByYXRpbyB0byAxLzQwIG9yIDEvMTAgKi8KPiArCQlyZXQg PSBkcm1fc2NkY19zZXRfaGlnaF90bWRzX2Nsb2NrX3JhdGlvKGFkcHRyLCBlbmFibGUpOwo+ICsJ CWlmICghcmV0KSB7Cj4gKwkJCURSTV9FUlJPUigiU2V0IFRNRFMgcmF0aW8gZmFpbGVkXG4iKTsK PiArCQkJcmV0dXJuOwo+ICsJCX0KPiArCX0KPiArCj4gKwlpZiAoY29uZmlnLT5oZG1pX3NjcmFt YmxpbmcpIHsKPiArCQkvKiBFbmFibGUvZGlzYWJsZSBzaW5rIHNjcmFtYmxpbmcgKi8KPiArCQly ZXQgPSBkcm1fc2NkY19zZXRfc2NyYW1ibGluZyhhZHB0ciwgZW5hYmxlKTsKPiArCQlpZiAoIXJl dCkgewo+ICsJCQlEUk1fRVJST1IoIlNldCBzaW5rIHNjcmFtYmxpbmcgZmFpbGVkXG4iKTsKPiAr CQkJcmV0dXJuOwo+ICsJCX0KPiArCX0KPiArCj4gKwlEUk1fREVCVUdfS01TKCJzaW5rIHNjcmFt YmxpbmcgaGFuZGxlZFxuIik7Cj4gK30KPiArCj4gIHN0YXRpYyB1OCBpbnRlbF9oZG1pX2RkY19w aW4oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJCQkgICAgIGVudW0gcG9y dCBwb3J0KQo+ICB7Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eAo=