From mboxrd@z Thu Jan 1 00:00:00 1970 From: "C, Ramalingam" Subject: Re: [PATCH v10 07/40] drm/i915: hdcp1.4 CP_IRQ handling and SW encryption tracking Date: Mon, 4 Feb 2019 20:13:54 +0530 Message-ID: <133f1b27-b9d0-4d04-5e2f-a3faed7c53e3@intel.com> References: <1548917996-28081-1-git-send-email-ramalingam.c@intel.com> <1548917996-28081-8-git-send-email-ramalingam.c@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: "Shankar, Uma" , "intel-gfx@lists.freedesktop.org" , "dri-devel@lists.freedesktop.org" , "daniel.vetter@ffwll.ch" , "Winkler, Tomas" List-Id: intel-gfx@lists.freedesktop.org CgpPbiAyLzQvMjAxOSA3OjM5IFBNLCBTaGFua2FyLCBVbWEgd3JvdGU6Cj4KPj4gLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0KPj4gRnJvbTogQywgUmFtYWxpbmdhbQo+PiBTZW50OiBUaHVyc2Rh eSwgSmFudWFyeSAzMSwgMjAxOSAxMjoyOSBQTQo+PiBUbzogaW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZzsgZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZzsKPj4gZGFuaWVsLnZl dHRlckBmZndsbC5jaDsgV2lua2xlciwgVG9tYXMgPHRvbWFzLndpbmtsZXJAaW50ZWwuY29tPjsg U2hhbmthciwKPj4gVW1hIDx1bWEuc2hhbmthckBpbnRlbC5jb20+Cj4+IENjOiBDLCBSYW1hbGlu Z2FtIDxyYW1hbGluZ2FtLmNAaW50ZWwuY29tPgo+PiBTdWJqZWN0OiBbUEFUQ0ggdjEwIDA3LzQw XSBkcm0vaTkxNTogaGRjcDEuNCBDUF9JUlEgaGFuZGxpbmcgYW5kIFNXCj4+IGVuY3J5cHRpb24g dHJhY2tpbmcKPj4KPj4gImhkY3BfZW5jcnlwdGVkIiBmbGFnIGlzIGRlZmluZWQgdG8gZGVub3Rl IHRoZSBIRENQMS40IGVuY3J5cHRpb24gc3RhdHVzLgo+PiBUaGlzIFNXIHRyYWNraW5nIGlzIHVz ZWQgdG8gZGV0ZXJtaW5lIHRoZSBuZWVkIGZvciByZWFsIGhkY3AxLjQgZGlzYWJsZSBhbmQKPj4g aGRjcF9jaGVja19saW5rIHVwb24gQ1BfSVJRLgo+Pgo+PiBPbiBDUF9JUlEgd2UgZmlsdGVyIHRo ZSBDUF9JUlEgcmVsYXRlZCB0byB0aGUgc3RhdGVzIGxpa2UgTGluayBmYWlsdXJlIGFuZAo+PiBy ZWF1dGhlbnRpY2F0aW9uIHJlcSBldGMgYW5kIGhhbmRsZSB0aGVtIGluIGhkY3BfY2hlY2tfbGlu ay4KPj4gQ1BfSVJRIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGF1dGhlbnRpY2F0aW9uIG1zZyBhdmFp bGFiaWxpdHkgYXJlIGlnbm9yZWQuCj4+Cj4+IFdBUk5fT04gaXMgYWRkZWQgZm9yIHRoZSBhYnJ1 cHQgc3RvcCBvZiBIRENQIGVuY3J5cHRpb24gb2YgYSBwb3J0Lgo+Pgo+PiB2MjoKPj4gICBib29s IGlzIHVzZWQgaW4gc3RydWN0IGZvciB0aGUgY2xlYW5lciBjb2RpbmcuIFtEYW5pZWxdCj4+ICAg Y2hlY2tfbGluayB3b3JrX2ZuIGlzIHNjaGVkdWxlZCBmb3IgY3BfaXJxIGhhbmRsaW5nIFtEYW5p ZWxdCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IFJhbWFsaW5nYW0gQyA8cmFtYWxpbmdhbS5jQGludGVs LmNvbT4KPj4gLS0tCj4+IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgICB8ICAyICst Cj4+IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICB8ICA1ICsrLSAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfaGRjcC5jIHwKPj4gNzMgKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0tLS0tLS0tLS0tCj4+IDMgZmlsZXMgY2hhbmdlZCwgNTggaW5zZXJ0aW9ucygrKSwgMjIg ZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+PiBpbmRleCA4MTVlZTY4 ZWZhMmYuLjljZTA1ODE5ZmMxMSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHAuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4+IEBA IC00Nzc2LDcgKzQ3NzYsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kcF9jaGVja19zZXJ2aWNlX2ly cShzdHJ1Y3QgaW50ZWxfZHAKPj4gKmludGVsX2RwKQo+PiAJCWludGVsX2RwX2hhbmRsZV90ZXN0 X3JlcXVlc3QoaW50ZWxfZHApOwo+Pgo+PiAJaWYgKHZhbCAmIERQX0NQX0lSUSkKPj4gLQkJaW50 ZWxfaGRjcF9jaGVja19saW5rKGludGVsX2RwLT5hdHRhY2hlZF9jb25uZWN0b3IpOwo+PiArCQlp bnRlbF9oZGNwX2hhbmRsZV9jcF9pcnEoaW50ZWxfZHAtPmF0dGFjaGVkX2Nvbm5lY3Rvcik7Cj4+ Cj4+IAlpZiAodmFsICYgRFBfU0lOS19TUEVDSUZJQ19JUlEpCj4+IAkJRFJNX0RFQlVHX0RSSVZF UigiU2luayBzcGVjaWZpYyBpcnEgdW5oYW5kbGVkXG4iKTsgZGlmZiAtLWdpdAo+PiBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmgKPj4gaW5kZXggNjNlMDA5Mjg2ZDVmLi4xM2E0MWU4Y2Y0ZmYgMTAwNjQ0Cj4+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oCj4+IEBAIC0zOTksNiArMzk5LDkgQEAgc3RydWN0IGludGVsX2hk Y3Agewo+PiAJc3RydWN0IGRlbGF5ZWRfd29yayBjaGVja193b3JrOwo+PiAJc3RydWN0IHdvcmtf c3RydWN0IHByb3Bfd29yazsKPj4KPj4gKwkvKiBIRENQMS40IEVuY3J5cHRpb24gc3RhdHVzICov Cj4+ICsJYm9vbCBoZGNwX2VuY3J5cHRlZDsKPj4gKwo+PiAJLyogSERDUDIuMiByZWxhdGVkIGRl ZmluaXRpb25zICovCj4+IAkvKiBGbGFnIGluZGljYXRlcyB3aGV0aGVyIHRoaXMgY29ubmVjdG9y IHN1cHBvcnRzIEhEQ1AyLjIgb3Igbm90LiAqLwo+PiAJYm9vbCBoZGNwMl9zdXBwb3J0ZWQ7Cj4+ IEBAIC0yMDczLDEwICsyMDc2LDEwIEBAIGludCBpbnRlbF9oZGNwX2luaXQoc3RydWN0IGludGVs X2Nvbm5lY3Rvcgo+PiAqY29ubmVjdG9yLAo+PiAJCSAgICBib29sIGhkY3AyX3N1cHBvcnRlZCk7 Cj4+IGludCBpbnRlbF9oZGNwX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0 b3IpOyAgaW50Cj4+IGludGVsX2hkY3BfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpj b25uZWN0b3IpOyAtaW50Cj4+IGludGVsX2hkY3BfY2hlY2tfbGluayhzdHJ1Y3QgaW50ZWxfY29u bmVjdG9yICpjb25uZWN0b3IpOyAgYm9vbAo+PiBpc19oZGNwX3N1cHBvcnRlZChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGVudW0gcG9ydCBwb3J0KTsgIGJvb2wKPj4gaW50ZWxf aGRjcF9jYXBhYmxlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3Rvcik7ICBib29sCj4+ IGlzX2hkY3AyX3N1cHBvcnRlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ PiArdm9pZCBpbnRlbF9oZGNwX2hhbmRsZV9jcF9pcnEoc3RydWN0IGludGVsX2Nvbm5lY3RvciAq Y29ubmVjdG9yKTsKPj4KPj4gLyogaW50ZWxfcHNyLmMgKi8KPj4gI2RlZmluZSBDQU5fUFNSKGRl dl9wcml2KSAoSEFTX1BTUihkZXZfcHJpdikgJiYgZGV2X3ByaXYtPnBzci5zaW5rX3N1cHBvcnQp Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZGNwLmMKPj4gYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZGNwLmMKPj4gaW5kZXggZTBiYjVmMzJiYTkwLi5j MWIwNTdmMTUwMWIgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hk Y3AuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZGNwLmMKPj4gQEAgLTc0 LDYgKzc0LDE2IEBAIGJvb2wgaW50ZWxfaGRjcF9jYXBhYmxlKHN0cnVjdCBpbnRlbF9jb25uZWN0 b3IKPj4gKmNvbm5lY3RvcikKPj4gCXJldHVybiBjYXBhYmxlOwo+PiB9Cj4+Cj4+ICtzdGF0aWMg aW5saW5lIGJvb2wgaW50ZWxfaGRjcF9pbl91c2Uoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29u bmVjdG9yKQo+PiArewo+PiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRv X2k5MTUoY29ubmVjdG9yLT5iYXNlLmRldik7Cj4+ICsJZW51bSBwb3J0IHBvcnQgPSBjb25uZWN0 b3ItPmVuY29kZXItPnBvcnQ7Cj4+ICsJdTMyIHJlZzsKPj4gKwo+PiArCXJlZyA9IEk5MTVfUkVB RChQT1JUX0hEQ1BfU1RBVFVTKHBvcnQpKTsKPj4gKwlyZXR1cm4gcmVnICYgSERDUF9TVEFUVVNf RU5DOwo+PiArfQo+PiArCj4+IHN0YXRpYyBpbnQgaW50ZWxfaGRjcF9wb2xsX2tzdl9maWZvKHN0 cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LAo+PiAJCQkJICAgIGNvbnN0 IHN0cnVjdCBpbnRlbF9oZGNwX3NoaW0gKnNoaW0pICB7IEBAIC0KPj4gNjY4LDYgKzY3OCw3IEBA IHN0YXRpYyBpbnQgX2ludGVsX2hkY3BfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yCj4+ ICpjb25uZWN0b3IpCj4+IAlEUk1fREVCVUdfS01TKCJbJXM6JWRdIEhEQ1AgaXMgYmVpbmcgZGlz YWJsZWQuLi5cbiIsCj4+IAkJICAgICAgY29ubmVjdG9yLT5iYXNlLm5hbWUsIGNvbm5lY3Rvci0+ YmFzZS5iYXNlLmlkKTsKPj4KPj4gKwloZGNwLT5oZGNwX2VuY3J5cHRlZCA9IGZhbHNlOwo+PiAJ STkxNV9XUklURShQT1JUX0hEQ1BfQ09ORihwb3J0KSwgMCk7Cj4+IAlpZiAoaW50ZWxfd2FpdF9m b3JfcmVnaXN0ZXIoZGV2X3ByaXYsIFBPUlRfSERDUF9TVEFUVVMocG9ydCksIH4wLCAwLAo+PiAJ CQkJICAgIEVOQ1JZUFRfU1RBVFVTX0NIQU5HRV9USU1FT1VUX01TKSkgewo+PiBAQCAtNzEzLDgg KzcyNCwxMCBAQCBzdGF0aWMgaW50IF9pbnRlbF9oZGNwX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY29u bmVjdG9yCj4+ICpjb25uZWN0b3IpCj4+IAkvKiBJbmNhc2Ugb2YgYXV0aGVudGljYXRpb24gZmFp bHVyZXMsIEhEQ1Agc3BlYyBleHBlY3RzIHJlYXV0aC4gKi8KPj4gCWZvciAoaSA9IDA7IGkgPCB0 cmllczsgaSsrKSB7Cj4+IAkJcmV0ID0gaW50ZWxfaGRjcF9hdXRoKGNvbm5fdG9fZGlnX3BvcnQo Y29ubmVjdG9yKSwgaGRjcC0KPj4+IHNoaW0pOwo+PiAtCQlpZiAoIXJldCkKPj4gKwkJaWYgKCFy ZXQpIHsKPj4gKwkJCWhkY3AtPmhkY3BfZW5jcnlwdGVkID0gdHJ1ZTsKPj4gCQkJcmV0dXJuIDA7 Cj4+ICsJCX0KPj4KPj4gCQlEUk1fREVCVUdfS01TKCJIRENQIEF1dGggZmFpbHVyZSAoJWQpXG4i LCByZXQpOwo+Pgo+PiBAQCAtNzQxLDE2ICs3NTQsMTcgQEAgaW50IGludGVsX2hkY3BfY2hlY2tf bGluayhzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yCj4+ICpjb25uZWN0b3IpCj4+IAllbnVtIHBvcnQg cG9ydCA9IGludGVsX2RpZ19wb3J0LT5iYXNlLnBvcnQ7Cj4+IAlpbnQgcmV0ID0gMDsKPj4KPj4g LQlpZiAoIWhkY3AtPnNoaW0pCj4+IC0JCXJldHVybiAtRU5PRU5UOwo+PiAtCj4+IAltdXRleF9s b2NrKCZoZGNwLT5tdXRleCk7Cj4+Cj4+IC0JaWYgKGhkY3AtPnZhbHVlID09IERSTV9NT0RFX0NP TlRFTlRfUFJPVEVDVElPTl9VTkRFU0lSRUQpCj4+ICsJLyogQ2hlY2tfbGluayB2YWxpZCBvbmx5 IHdoZW4gSERDUDEuNCBpcyBlbmFibGVkICovCj4+ICsJaWYgKGhkY3AtPnZhbHVlICE9IERSTV9N T0RFX0NPTlRFTlRfUFJPVEVDVElPTl9FTkFCTEVEIHx8Cj4+ICsJICAgICFoZGNwLT5oZGNwX2Vu Y3J5cHRlZCkgewo+PiArCQlyZXQgPSAtRUlOVkFMOwo+PiAJCWdvdG8gb3V0Owo+PiArCX0KPj4K Pj4gLQlpZiAoIShJOTE1X1JFQUQoUE9SVF9IRENQX1NUQVRVUyhwb3J0KSkgJiBIRENQX1NUQVRV U19FTkMpKSB7Cj4+IC0JCURSTV9FUlJPUigiJXM6JWQgSERDUCBjaGVjayBmYWlsZWQ6IGxpbmsg aXMgbm90Cj4+IGVuY3J5cHRlZCwleFxuIiwKPj4gKwlpZiAoV0FSTl9PTighaW50ZWxfaGRjcF9p bl91c2UoY29ubmVjdG9yKSkpIHsKPj4gKwkJRFJNX0VSUk9SKCIlczolZCBIRENQIGxpbmsgc3Rv cHBlZCBlbmNyeXB0aW9uLCV4XG4iLAo+PiAJCQkgIGNvbm5lY3Rvci0+YmFzZS5uYW1lLCBjb25u ZWN0b3ItPmJhc2UuYmFzZS5pZCwKPj4gCQkJICBJOTE1X1JFQUQoUE9SVF9IRENQX1NUQVRVUyhw b3J0KSkpOwo+PiAJCXJldCA9IC1FTlhJTzsKPj4gQEAgLTc5MSwxOCArODA1LDYgQEAgaW50IGlu dGVsX2hkY3BfY2hlY2tfbGluayhzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yCj4+ICpjb25uZWN0b3Ip Cj4+IAlyZXR1cm4gcmV0Owo+PiB9Cj4+Cj4+IC1zdGF0aWMgdm9pZCBpbnRlbF9oZGNwX2NoZWNr X3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKSAtewo+PiAtCXN0cnVjdCBpbnRlbF9oZGNw ICpoZGNwID0gY29udGFpbmVyX29mKHRvX2RlbGF5ZWRfd29yayh3b3JrKSwKPj4gLQkJCQkJICAg ICAgIHN0cnVjdCBpbnRlbF9oZGNwLAo+PiAtCQkJCQkgICAgICAgY2hlY2tfd29yayk7Cj4+IC0J c3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gaW50ZWxfaGRjcF90b19jb25uZWN0 b3IoaGRjcCk7Cj4+IC0KPj4gLQlpZiAoIWludGVsX2hkY3BfY2hlY2tfbGluayhjb25uZWN0b3Ip KQo+PiAtCQlzY2hlZHVsZV9kZWxheWVkX3dvcmsoJmhkY3AtPmNoZWNrX3dvcmssCj4+IC0JCQkJ ICAgICAgRFJNX0hEQ1BfQ0hFQ0tfUEVSSU9EX01TKTsKPj4gLX0KPj4gLQo+PiBzdGF0aWMgdm9p ZCBpbnRlbF9oZGNwX3Byb3Bfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspICB7Cj4+IAlz dHJ1Y3QgaW50ZWxfaGRjcCAqaGRjcCA9IGNvbnRhaW5lcl9vZih3b3JrLCBzdHJ1Y3QgaW50ZWxf aGRjcCwgQEAgLQo+PiAxMTIwLDYgKzExMjIsMTggQEAgaW50IGhkY3AyX2RlYXV0aGVudGljYXRl X3BvcnQoc3RydWN0IGludGVsX2Nvbm5lY3Rvcgo+PiAqY29ubmVjdG9yKQo+PiAJcmV0dXJuIGhk Y3AyX2Nsb3NlX21laV9zZXNzaW9uKGNvbm5lY3Rvcik7Cj4+IH0KPj4KPj4gK3N0YXRpYyB2b2lk IGludGVsX2hkY3BfY2hlY2tfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspIHsKPiBXaHkg dGhpcyBjb2RlIG1vdmVtZW50IGZvciBjaGVja193b3JrLiBJZiBub3QgaW50ZW50aW9uYWwgbm8g bmVlZCBmb3IgdGhpcyBjaGFuZ2UuCj4gV2l0aCBwcm9wZXIganVzdGlmaWNhdGlvbiBvciB0aGlz IGZpeGVkLgpBbGwgY29tbW9uKDEuNCBhbmQgMi4yKSBIRENQIGZ1bmN0aW9ucyAoZW5hYmxlLCBk aXNhYmxlLCBjaGVja193b3JrIGV0YykgCmFyZSBnYXRoZXJlZCB0b2dldGhlcgpUaGFua3MgZm9y IFItYi4KCi0tUmFtCj4KPiBSZXZpZXdlZC1ieTogVW1hIFNoYW5rYXIgPHVtYS5zaGFua2FyQGlu dGVsLmNvbT4KPgo+PiArCXN0cnVjdCBpbnRlbF9oZGNwICpoZGNwID0gY29udGFpbmVyX29mKHRv X2RlbGF5ZWRfd29yayh3b3JrKSwKPj4gKwkJCQkJICAgICAgIHN0cnVjdCBpbnRlbF9oZGNwLAo+ PiArCQkJCQkgICAgICAgY2hlY2tfd29yayk7Cj4+ICsJc3RydWN0IGludGVsX2Nvbm5lY3RvciAq Y29ubmVjdG9yID0gaW50ZWxfaGRjcF90b19jb25uZWN0b3IoaGRjcCk7Cj4+ICsKPj4gKwlpZiAo IWludGVsX2hkY3BfY2hlY2tfbGluayhjb25uZWN0b3IpKQo+PiArCQlzY2hlZHVsZV9kZWxheWVk X3dvcmsoJmhkY3AtPmNoZWNrX3dvcmssCj4+ICsJCQkJICAgICAgRFJNX0hEQ1BfQ0hFQ0tfUEVS SU9EX01TKTsKPj4gK30KPj4gKwo+PiBzdGF0aWMgaW50IGk5MTVfaGRjcF9jb21wb25lbnRfYmlu ZChzdHJ1Y3QgZGV2aWNlICppOTE1X2tkZXYsCj4+IAkJCQkgICAgc3RydWN0IGRldmljZSAqbWVp X2tkZXYsIHZvaWQgKmRhdGEpICB7IEBAIC0KPj4gMTI4OCw3ICsxMzAyLDggQEAgaW50IGludGVs X2hkY3BfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCj4+Cj4+IAlp ZiAoaGRjcC0+dmFsdWUgIT0gRFJNX01PREVfQ09OVEVOVF9QUk9URUNUSU9OX1VOREVTSVJFRCkg ewo+PiAJCWhkY3AtPnZhbHVlID0KPj4gRFJNX01PREVfQ09OVEVOVF9QUk9URUNUSU9OX1VOREVT SVJFRDsKPj4gLQkJcmV0ID0gX2ludGVsX2hkY3BfZGlzYWJsZShjb25uZWN0b3IpOwo+PiArCQlp ZiAoaGRjcC0+aGRjcF9lbmNyeXB0ZWQpCj4+ICsJCQlyZXQgPSBfaW50ZWxfaGRjcF9kaXNhYmxl KGNvbm5lY3Rvcik7Cj4+IAl9Cj4+Cj4+IAltdXRleF91bmxvY2soJmhkY3AtPm11dGV4KTsKPj4g QEAgLTEzMjgsMyArMTM0MywyMSBAQCB2b2lkIGludGVsX2hkY3BfYXRvbWljX2NoZWNrKHN0cnVj dCBkcm1fY29ubmVjdG9yCj4+ICpjb25uZWN0b3IsCj4+IAkJCQkJCSAgIG5ld19zdGF0ZS0+Y3J0 Yyk7Cj4+IAljcnRjX3N0YXRlLT5tb2RlX2NoYW5nZWQgPSB0cnVlOwo+PiB9Cj4+ICsKPj4gKy8q IEhhbmRsZXMgdGhlIENQX0lSUSByYWlzZWQgZnJvbSB0aGUgRFAgSERDUCBzaW5rICovIHZvaWQK Pj4gK2ludGVsX2hkY3BfaGFuZGxlX2NwX2lycShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25u ZWN0b3IpIHsKPj4gKwlzdHJ1Y3QgaW50ZWxfaGRjcCAqaGRjcCA9ICZjb25uZWN0b3ItPmhkY3A7 Cj4+ICsKPj4gKwlpZiAoIWhkY3AtPnNoaW0pCj4+ICsJCXJldHVybjsKPj4gKwo+PiArCS8qCj4+ ICsJICogQ1BfSVJRIGNvdWxkIGJlIHRyaWdnZXJlZCBkdWUgdG8gMS4gSERDUDIuMiBhdXRoIG1z Z3MgYXZhaWxhYmlsaXR5LAo+PiArCSAqIDIuIGxpbmsgZmFpbHVyZSBhbmQgMy4gcmVwZWF0ZXIg cmVhdXRoIHJlcXVlc3QuIEF0IHByZXNlbnQgd2UgZG9udAo+PiArCSAqIGhhbmRsZSB0aGUgQ1Bf SVJRIGZvciB0aGUgSERDUDIuMiBhdXRoIG1zZyBhdmFpbGFiaWxpdHkgZm9yIHJlYWQuCj4+ICsJ ICogVG8gaGFuZGxlIG90aGVyIHR3byBjYXVzZXMgZm9yIENQX0lSUSB3ZSBoYXZlIHRoZSB3b3Jr X2ZuIHdoaWNoIGlzCj4+ICsJICogc2NoZWR1bGVkIGhlcmUuCj4+ICsJICovCj4+ICsJc2NoZWR1 bGVfZGVsYXllZF93b3JrKCZoZGNwLT5jaGVja193b3JrLCAwKTsgfQo+PiAtLQo+PiAyLjcuNAoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==