From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Sharma, Shashank" Subject: Re: [PATCH 4/6] drm: scrambling support in drm layer Date: Thu, 2 Feb 2017 11:18:51 +0530 Message-ID: References: <1485953081-7630-1-git-send-email-shashank.sharma@intel.com> <1485953081-7630-5-git-send-email-shashank.sharma@intel.com> <20170201163213.GZ31595@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170201163213.GZ31595@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= Cc: jose.abreu@synopsys.com, daniel.vetter@intel.com, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org UmVnYXJkcwoKU2hhc2hhbmsKCgpPbiAyLzEvMjAxNyAxMDowMiBQTSwgVmlsbGUgU3lyasOkbMOk IHdyb3RlOgo+IE9uIFdlZCwgRmViIDAxLCAyMDE3IGF0IDA2OjE0OjM5UE0gKzA1MzAsIFNoYXNo YW5rIFNoYXJtYSB3cm90ZToKPj4gSERNSSAyLjAgc3BlYyBtYW5kYXRlcyBzY3JhbWJsaW5nIGZv ciBtb2RlcyB3aXRoIHBpeGVsIGNsb2NrIGhpZ2hlcgo+PiB0aGFuIDM0ME1oei4gVGhpcyBwYXRj aCBhZGRzIGZldyBuZXcgZnVuY3Rpb25zIGluIGRybSBsYXllciBmb3IKPj4gY29yZSBkcml2ZXJz IHRvIGVuYWJsZS9kaXNhYmxlIHNjcmFtYmxpbmcuCj4+Cj4+IFRoaXMgcGF0Y2ggYWRkczoKPj4g LSBBIGZ1bmN0aW9uIHRvIGRldGVjdCBzY3JhbWJsaW5nIHN1cHBvcnQgcGFyc2luZyBIRi1WU0RC Cj4+IC0gQSBmdW5jdGlvbiB0byBjaGVjayBzY3JhbWJsaW5nIHN0YXR1cyBydW50aW1lIHVzaW5n IFNDREMgcmVhZC4KPj4gLSBUd28gZnVuY3Rpb25zIHRvIGVuYWJsZS9kaXNhYmxlIHNjcmFtYmxp bmcgdXNpbmcgU0NEQyByZWFkL3dyaXRlLgo+PiAtIEZldyBuZXcgYm9vbHMgdG8gcmVmbGVjdCBz Y3JhbWJsaW5nIHN1cHBvcnQgYW5kIHN0YXR1cy4KPj4KPj4gU2lnbmVkLW9mZi1ieTogU2hhc2hh bmsgU2hhcm1hIDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29tPgo+PiAtLS0KPj4gICBkcml2ZXJz L2dwdS9kcm0vZHJtX2VkaWQuYyAgfCAxMzEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKy0KPj4gICBpbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmggfCAgMjQgKysr KysrKysKPj4gICBpbmNsdWRlL2RybS9kcm1fZWRpZC5oICAgICAgfCAgIDYgKy0KPj4gICAzIGZp bGVzIGNoYW5nZWQsIDE1OSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQo+Pgo+PiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJt X2VkaWQuYwo+PiBpbmRleCAzNzkwMmU1Li5mMGQ5NDBhIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vZHJtX2VkaWQuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYwo+ PiBAQCAtMzcsNiArMzcsNyBAQAo+PiAgICNpbmNsdWRlIDxkcm0vZHJtX2VkaWQuaD4KPj4gICAj aW5jbHVkZSA8ZHJtL2RybV9lbmNvZGVyLmg+Cj4+ICAgI2luY2x1ZGUgPGRybS9kcm1fZGlzcGxh eWlkLmg+Cj4+ICsjaW5jbHVkZSA8ZHJtL2RybV9zY2RjX2hlbHBlci5oPgo+PiAgIAo+PiAgICNk ZWZpbmUgdmVyc2lvbl9ncmVhdGVyKGVkaWQsIG1haiwgbWluKSBcCj4+ICAgCSgoKGVkaWQpLT52 ZXJzaW9uID4gKG1haikpIHx8IFwKPj4gQEAgLTM4MTQsNiArMzgxNSwxMzIgQEAgc3RhdGljIHZv aWQgZHJtX2RldGVjdF9oZG1pX3NjZGMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwK Pj4gICAJfQo+PiAgIH0KPj4gICAKPj4gK3N0YXRpYyB2b2lkIGRybV9kZXRlY3RfaGRtaV9zY3Jh bWJsaW5nKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4+ICsJCQkJIGNvbnN0IHU4 ICpoZl92c2RiKQo+IFRoYXQgbmFtZXMgc2VlbXMgb2ZmLiBTaG91bGQgcHJvYmFibHkgYmUgZHJt X3BhcnNlX2hkbWlfZm9ydW1fdnNkYigpIG9yCj4gc29tZXRoaW5nLgpBY3R1YWxseSwgdW5saWtl IHRoZSBsYXN0IHBhdGNoIHNldCwgd2UgYXJlIG5vdCBwYXJzaW5nIHRoZSB3aG9sZSAKaGZfdnNk YiwgYnV0IHBhcnNpbmcgaXQgb25seSBmb3IKc2NyYW1ibGluZyBzdGF0dXMgYnl0ZSAoaGZfdnNk Yls1XSkuIEJ1dCBtYXkgYmUgSSBjYW4gbWFrZSBpdCAKZHJtX2RldGVjdF9zY3JhbWJsaW5nX2Zy b21faGZ2c2RiCm90IHNvbWV0aGluZyBzaW1pbGFyLiBXZSB3aWxsIGhhdmUgbW9yZSBoZl92c2Ri IHBhcnNpbmcgZm9yIDNkIGZsYWdzLCAKeXV2NDIwX2RlZXBfY29sb3IgZXRjLgo+PiArewo+PiAr CXN0cnVjdCBkcm1fZGlzcGxheV9pbmZvICpkaXNwbGF5ID0gJmNvbm5lY3Rvci0+ZGlzcGxheV9p bmZvOwo+PiArCXN0cnVjdCBkcm1faGRtaV9pbmZvICpoZG1pID0gJmRpc3BsYXktPmhkbWlfaW5m bzsKPj4gKwo+PiArCS8qCj4+ICsJICogQWxsIEhETUkgMi4wIG1vbml0b3JzIG11c3Qgc3VwcG9y dCBzY3JhbWJsaW5nIGF0IHJhdGVzID4gMzQwTS4KPj4gKwkgKiBBbmQgYXMgcGVyIHRoZSBzcGVj LCB0aHJlZSBmYWN0b3JzIGNvbmZpcm0gdGhpczoKPj4gKwkgKiAqIEF2YWlsYWJpbGl0eSBvZiBh IEhGLVZTREIgYmxvY2sgaW4gRURJRCAoY2hlY2spCj4+ICsJICogKiBOb24gemVybyBNYXhfVE1E U19DaGFyX1JhdGUgZmlsZWQgaW4gSEYtVlNEQgo+PiArCSAqICogU0NEQyBzdXBwb3J0IGF2YWls YWJsZQo+PiArCSAqIExldHMgY2hlY2sgaXQgb3V0Lgo+PiArCSAqLwo+PiArCj4+ICsJaWYgKGhm X3ZzZGJbNV0pIHsKPj4gKwkJZGlzcGxheS0+bWF4X3RtZHNfY2xvY2sgPSBoZl92c2RiWzVdICog NTAwMDsKPj4gKwkJRFJNX0RFQlVHX0tNUygiSEYtVlNEQjogbWF4IFRNRFMgY2xvY2sgJWQga0h6 XG4iLAo+PiArCQkJZGlzcGxheS0+bWF4X3RtZHNfY2xvY2spOwo+IEkgd29uZGVyIGlmIHdlIHNo b3VsZCBiZSBhIGxpdHRsZSBwYXJhbm9pZCBhbmQgaWdub3JlIHRoaXMgaWYgaXQncwo+IDw9MzQw PwpTdXJlLCB3aWxsIGRvIGl0Lgo+Cj4+ICsKPj4gKwkJaWYgKGhkbWktPnNjZGNfc3VwcG9ydGVk KSB7Cj4+ICsJCQloZG1pLT5zY3JfaW5mby5zdXBwb3J0ZWQgPSB0cnVlOwo+PiArCj4+ICsJCQkv KiBGZXcgc2lua3Mgc3VwcG9ydCBzY3JhbWJsaW5nIGZvciBjbG9rcyA8IDM0ME0gKi8KPj4gKwkJ CWlmICgoaGZfdnNkYls2XSAmIDB4OCkpCj4+ICsJCQkJaGRtaS0+c2NyX2luZm8ubG93X2Nsb2Nr cyA9IHRydWU7Cj4+ICsJCX0KPj4gKwl9Cj4+ICt9Cj4+ICsKPj4gKy8qKgo+PiArICogZHJtX2No ZWNrX3NjcmFtYmxpbmdfc3RhdHVzIC0gd2hhdCBpcyBzdGF0dXMgb2Ygc2NyYW1ibGluZz8KPj4g KyAqIEBhZGFwdGVyOiBpMmMgYWRhcHRlciBmb3IgU0NEQyBjaGFubmVsCj4+ICsgKgo+PiArICog UmVhZCB0aGUgc2NyYW1ibGVyIHN0YXR1cyBvdmVyIFNDREMgY2hhbm5lbCwgYW5kIGNoZWNrIHRo ZQo+PiArICogc2NyYW1ibGluZyBzdGF0dXMuCj4+ICsgKgo+PiArICogUmV0dXJuOiBUcnVlIGlm IHRoZSBzY3JhbWJsaW5nIGlzIGVuYWJsZWQsIGZhbHNlIG90aGVyd2lzZS4KPj4gKyAqLwo+PiAr Cj4+ICtib29sIGRybV9jaGVja19zY3JhbWJsaW5nX3N0YXR1cyhzdHJ1Y3QgaTJjX2FkYXB0ZXIg KmFkYXB0ZXIpCj4gVGhlIG5hbWUgaXMgYWdhaW4gYSBsaXR0bGUgd29ua3kuIEFuZCBpdCBsb29r cyBsaWtlIHNvbWV0aGluZyB0aGF0Cj4gc2hvdWxkIGxpdmUgYWxvZ25zaWRlIHRoZSBTQ0RDIGhl bHBlciBzdHVmZi4KWWVwLCBUaGllcnJ5IGFsc28gc3VnZ2VzdGVkIHRoZSBzYW1lLCB0byBtb3Zl IGl0IGFsb25nIHdpdGggU0NEQy4gV2lsbCAKZG8gaXQuCj4+ICt7Cj4+ICsJdTggc3RhdHVzOwo+ PiArCj4+ICsJaWYgKGRybV9zY2RjX3JlYWRiKGFkYXB0ZXIsIFNDRENfU0NSQU1CTEVSX1NUQVRV UywgJnN0YXR1cykgPCAwKSB7Cj4+ICsJCURSTV9FUlJPUigiRmFpbGVkIHRvIHJlYWQgc2NyYW1i bGluZyBzdGF0dXNcbiIpOwo+PiArCQlyZXR1cm4gZmFsc2U7Cj4+ICsJfQo+PiArCj4+ICsJc3Rh dHVzICY9IFNDRENfU0NSQU1CTElOR19TVEFUVVM7Cj4+ICsJcmV0dXJuIHN0YXR1cyAhPSAwOwo+ IHJldHVybiBzdGF0dXMgJiBTQ0RDX1NDUkFNQkxJTkdfU1RBVFVTClN1cmUuCj4+ICt9Cj4+ICsK Pj4gKy8qKgo+PiArICogZHJtX2VuYWJsZV9zY3JhbWJsaW5nIC0gZW5hYmxlIHNjcmFtYmxpbmcK Pj4gKyAqIEBjb25uZWN0b3I6IHRhcmdldCBkcm1fY29ubmVjdG9yCj4+ICsgKiBAYWRhcHRlcjog aTJjIGFkYXB0ZXIgZm9yIFNDREMgY2hhbm5lbAo+PiArICogQGZvcmNlOiBlbmFibGUgc2NyYW1i bGluZywgZXZlbiBpZiBpdHMgYWxyZWFkeSBlbmFibGVkCj4+ICsgKgo+PiArICogV3JpdGUgdGhl IFRNRFMgY29uZmlnIG92ZXIgU0NEQyBjaGFubmVsLCBhbmQgZW5hYmxlIHNjcmFtYmxpbmcKPj4g KyAqIFJldHVybjogVHJ1ZSBpZiBzY3JhbWJsaW5nIGlzIHN1Y2Nlc3NmdWxseSBlbmFibGVkLCBm YWxzZSBvdGhlcndpc2UuCj4+ICsgKi8KPj4gKwo+PiArYm9vbCBkcm1fZW5hYmxlX3NjcmFtYmxp bmcoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPj4gKwkJCQkJc3RydWN0IGkyY19h ZGFwdGVyICphZGFwdGVyLCBib29sIGZvcmNlKQo+PiArewo+PiArCXU4IGNvbmZpZzsKPj4gKwlz dHJ1Y3QgZHJtX2hkbWlfaW5mbyAqaGRtaV9pbmZvID0gJmNvbm5lY3Rvci0+ZGlzcGxheV9pbmZv LmhkbWlfaW5mbzsKPj4gKwo+PiArCWlmIChoZG1pX2luZm8tPnNjcl9pbmZvLnN0YXR1cyAmJiAh Zm9yY2UpIHsKPj4gKwkJRFJNX0RFQlVHX0tNUygiU2NyYW1ibGluZyBhbHJlYWR5IGVuYWJsZWRc biIpOwo+PiArCQlyZXR1cm4gdHJ1ZTsKPj4gKwl9Cj4gSSBkb24ndCB0aGluayB3ZSB3YW50IHRv IHRyYWNrIGFueSBkeW5hbWljIHN0YXRlIGluIHRoZSBkaXNwbGF5IGluZm8uCj4gVGhhdCBiZWxv bmdzIHRvIHRoZSBhdG9taWMgc3RhdGUgc3R1ZmYuCkh1bW1tLCBvay4KPgo+IEFuZCB0aGUgZnVu Y3Rpb24gYWdhaW4gbG9va3MgbGlrZSBzb21ldGhpbmcgdGhhdCBiZWxvbmdzIGluIHRoZSBTQ0RD Cj4gaGVscGVyLgpBZ3JlZS4KPgo+IFNpbmNlIHRoZSB0d28gcGllY2VzIG9mIGluZnJvbWF0b24g aW4gdGhpcyByZWdpc3RyZXIgYXJlIHRoZSBzY3JhbWJsZQo+IGNvbnRyb2wgYW5kIHRoZSBjbG9j ayByYXRpbywgSSB0aGluayB3ZSBtaWdodCB3YW50IHRvIGp1c3QgaGF2ZSBvbmUKPiBmdW5jdGlv biB0byBjb25maWd1cmUgYm90aC4KVGhhdCdzIGEgZ29vZCBzdWdnZXN0aW9uLCB0aGFua3MuCgot IFNoYXNoYW5rCj4KPj4gKwo+PiArCWlmIChkcm1fc2NkY19yZWFkYihhZGFwdGVyLCBTQ0RDX1RN RFNfQ09ORklHLCAmY29uZmlnKSA8IDApIHsKPj4gKwkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gcmVh ZCB0bWRzIGNvbmZpZ1xuIik7Cj4+ICsJCXJldHVybiBmYWxzZTsKPj4gKwl9Cj4+ICsKPj4gKwlj b25maWcgfD0gU0NEQ19TQ1JBTUJMSU5HX0VOQUJMRTsKPj4gKwo+PiArCWlmIChkcm1fc2NkY193 cml0ZWIoYWRhcHRlciwgU0NEQ19UTURTX0NPTkZJRywgY29uZmlnKSA8IDApIHsKPj4gKwkJRFJN X0VSUk9SKCJGYWlsZWQgdG8gZW5hYmxlIHNjcmFtYmxpbmcsIHdyaXRlIGVycm9yXG4iKTsKPj4g KwkJcmV0dXJuIGZhbHNlOwo+PiArCX0KPj4gKwo+PiArCWhkbWlfaW5mby0+c2NyX2luZm8uc3Rh dHVzID0gZHJtX2NoZWNrX3NjcmFtYmxpbmdfc3RhdHVzKGFkYXB0ZXIpOwo+PiArCXJldHVybiBo ZG1pX2luZm8tPnNjcl9pbmZvLnN0YXR1czsKPj4gK30KPj4gKwo+PiArLyoqCj4+ICsgKiBkcm1f ZGlzYWJsZV9zY3JhbWJsaW5nIC0gZGlzYWJsZSBzY3JhbWJsaW5nCj4+ICsgKiBAY29ubmVjdG9y OiB0YXJnZXQgZHJtX2Nvbm5lY3Rvcgo+PiArICogQGFkYXB0ZXI6IGkyYyBhZGFwdGVyIGZvciBT Q0RDIGNoYW5uZWwKPj4gKyAqIEBmb3JjZTogZGlzYWJsZSBzY3JhbWJsaW5nLCBldmVuIGlmIGl0 cyBhbHJlYWR5IGRpc2FibGVkCj4+ICsgKgo+PiArICogV3JpdGUgdGhlIFRNRFMgY29uZmlnIG92 ZXIgU0NEQyBjaGFubmVsLCBhbmQgZGlzYWJsZSBzY3JhbWJsaW5nCj4+ICsgKiBSZXR1cm46IFRy dWUgaWYgc2NyYW1ibGluZyBpcyBzdWNjZXNzZnVsbHkgZGlzYWJsZWQsIGZhbHNlIG90aGVyd2lz ZS4KPj4gKyAqLwo+PiArYm9vbCBkcm1fZGlzYWJsZV9zY3JhbWJsaW5nKHN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3IsCj4+ICsJCQkJCXN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciwg Ym9vbCBmb3JjZSkKPj4gK3sKPj4gKwl1OCBjb25maWc7Cj4+ICsJc3RydWN0IGRybV9oZG1pX2lu Zm8gKmhkbWlfaW5mbyA9ICZjb25uZWN0b3ItPmRpc3BsYXlfaW5mby5oZG1pX2luZm87Cj4+ICsK Pj4gKwlpZiAoIWhkbWlfaW5mby0+c2NyX2luZm8uc3RhdHVzICYmICFmb3JjZSkgewo+PiArCQlE Uk1fREVCVUdfS01TKCJTY3JhbWJsaW5nIGFscmVhZHkgZGlzYWJsZWRcbiIpOwo+PiArCQlyZXR1 cm4gdHJ1ZTsKPj4gKwl9Cj4+ICsKPj4gKwlpZiAoZHJtX3NjZGNfcmVhZGIoYWRhcHRlciwgU0NE Q19UTURTX0NPTkZJRywgJmNvbmZpZykgPCAwKSB7Cj4+ICsJCURSTV9FUlJPUigiRmFpbGVkIHRv IHJlYWQgdG1kcyBjb25maWdcbiIpOwo+PiArCQlyZXR1cm4gZmFsc2U7Cj4+ICsJfQo+PiArCj4+ ICsJY29uZmlnICY9IH5TQ0RDX1NDUkFNQkxJTkdfRU5BQkxFOwo+PiArCj4+ICsJaWYgKGRybV9z Y2RjX3dyaXRlYihhZGFwdGVyLCBTQ0RDX1RNRFNfQ09ORklHLCBjb25maWcpIDwgMCkgewo+PiAr CQlEUk1fRVJST1IoIkZhaWxlZCB0byBlbmFibGUgc2NyYW1ibGluZywgd3JpdGUgZXJyb3JcbiIp Owo+PiArCQlyZXR1cm4gZmFsc2U7Cj4+ICsJfQo+PiArCj4+ICsJaGRtaV9pbmZvLT5zY3JfaW5m by5zdGF0dXMgPSBkcm1fY2hlY2tfc2NyYW1ibGluZ19zdGF0dXMoYWRhcHRlcik7Cj4+ICsJcmV0 dXJuICFoZG1pX2luZm8tPnNjcl9pbmZvLnN0YXR1czsKPj4gK30KPj4gKwo+PiAgIHN0YXRpYyB2 b2lkIGRybV9wYXJzZV9oZG1pX2RlZXBfY29sb3JfaW5mbyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yLAo+PiAgIAkJCQkJICAgY29uc3QgdTggKmhkbWkpCj4+ICAgewo+PiBAQCAtMzky OCw4ICs0MDU1LDEwIEBAIHN0YXRpYyB2b2lkIGRybV9wYXJzZV9jZWFfZXh0KHN0cnVjdCBkcm1f Y29ubmVjdG9yICpjb25uZWN0b3IsCj4+ICAgCj4+ICAgCQlpZiAoY2VhX2RiX2lzX2hkbWlfdnNk YihkYikpCj4+ICAgCQkJZHJtX3BhcnNlX2hkbWlfdnNkYl92aWRlbyhjb25uZWN0b3IsIGRiKTsK Pj4gLQkJaWYgKGNlYV9kYl9pc19oZG1pX2ZvcnVtX3ZzZGIoZGIpKQo+PiArCQlpZiAoY2VhX2Ri X2lzX2hkbWlfZm9ydW1fdnNkYihkYikpIHsKPj4gICAJCQlkcm1fZGV0ZWN0X2hkbWlfc2NkYyhj b25uZWN0b3IsIGRiKTsKPj4gKwkJCWRybV9kZXRlY3RfaGRtaV9zY3JhbWJsaW5nKGNvbm5lY3Rv ciwgZGIpOwo+PiArCQl9Cj4+ICAgCX0KPj4gICB9Cj4+ICAgCj4+IGRpZmYgLS1naXQgYS9pbmNs dWRlL2RybS9kcm1fY29ubmVjdG9yLmggYi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKPj4g aW5kZXggMjQzNTU5OC4uYjk3MzViZCAxMDA2NDQKPj4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2Nv bm5lY3Rvci5oCj4+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAo+PiBAQCAtOTAs NiArOTAsMjYgQEAgZW51bSBzdWJwaXhlbF9vcmRlciB7Cj4+ICAgCj4+ICAgfTsKPj4gICAKPj4g Kwo+PiArLyoqCj4+ICsgKiBzdHJ1Y3Qgc2NyYW1ibGluZzogc2luaydzIHNjcmFtYmxpbmcgc3Vw cG9ydC4KPj4gKyAqLwo+PiArc3RydWN0IHNjcmFtYmxpbmcgewo+PiArCS8qKgo+PiArCSAqIEBz dXBwb3J0ZWQ6IHNjcmFtYmxpbmcgc3VwcG9ydGVkIGZvciByYXRlcyA+IDM0ME1oei4KPj4gKwkg Ki8KPj4gKwlib29sIHN1cHBvcnRlZDsKPj4gKwkvKioKPj4gKwkgKiBAbG93X2Nsb2Nrczogc2Ny YW1ibGluZyBzdXBwb3J0ZWQgZm9yIHJhdGVzIDw9IDM0ME1oei4KPj4gKwkgKi8KPj4gKwlib29s IGxvd19jbG9ja3M7Cj4+ICsJLyoqCj4+ICsJICogQHN0YXR1czogc2NyYW1ibGluZyBlbmFibGVk L2Rpc2FibGVkID8KPj4gKwkgKi8KPj4gKwlib29sIHN0YXR1czsKPj4gK307Cj4+ICsKPj4gKwo+ PiAgIC8qKgo+PiAgICAqIHN0cnVjdCBkcm1faGRtaV9pbmZvIC0gcnVudGltZSBkYXRhIGFib3V0 IHRoZSBjb25uZWN0ZWQgc2luawo+PiAgICAqCj4+IEBAIC0xMDgsNiArMTI4LDEwIEBAIHN0cnVj dCBkcm1faGRtaV9pbmZvIHsKPj4gICAJICogQHNjZGNfcnI6IHNpbmsgaXMgY2FwYWJsZSBvZiBn ZW5lcmF0aW5nIHNjZGMgcmVhZCByZXF1ZXN0Lgo+PiAgIAkgKi8KPj4gICAJYm9vbCBzY2RjX3Jy Owo+PiArCS8qKgo+PiArCSAqIHNjcl9pbmZvOiBzaW5rJ3Mgc2NyYW1ibGluZyBzdXBwb3J0IGFu ZCBjYXBhYmlsaXRpZXMuCj4+ICsJICovCj4+ICsJc3RydWN0IHNjcmFtYmxpbmcgc2NyX2luZm87 Cj4+ICAgfTsKPj4gICAKPj4gICAvKioKPj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9l ZGlkLmggYi9pbmNsdWRlL2RybS9kcm1fZWRpZC5oCj4+IGluZGV4IDQzZmIwYWMuLmQyNGM5NzQg MTAwNjQ0Cj4+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9lZGlkLmgKPj4gKysrIGIvaW5jbHVkZS9k cm0vZHJtX2VkaWQuaAo+PiBAQCAtNDYyLDUgKzQ2Miw5IEBAIHZvaWQgZHJtX2VkaWRfZ2V0X21v bml0b3JfbmFtZShzdHJ1Y3QgZWRpZCAqZWRpZCwgY2hhciAqbmFtZSwKPj4gICBzdHJ1Y3QgZHJt X2Rpc3BsYXlfbW9kZSAqZHJtX21vZGVfZmluZF9kbXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwK Pj4gICAJCQkJCSAgIGludCBoc2l6ZSwgaW50IHZzaXplLCBpbnQgZnJlc2gsCj4+ICAgCQkJCQkg ICBib29sIHJiKTsKPj4gLQo+PiArYm9vbCBkcm1fZW5hYmxlX3NjcmFtYmxpbmcoc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPj4gKwkJCQlzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0 ZXIsIGJvb2wgZm9yY2UpOwo+PiArYm9vbCBkcm1fZGlzYWJsZV9zY3JhbWJsaW5nKHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4+ICsJCQkJc3RydWN0IGkyY19hZGFwdGVyICphZGFw dGVyLCBib29sIGZvcmNlKTsKPj4gK2Jvb2wgZHJtX2NoZWNrX3NjcmFtYmxpbmdfc3RhdHVzKHN0 cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlcik7Cj4+ICAgI2VuZGlmIC8qIF9fRFJNX0VESURfSF9f ICovCj4+IC0tIAo+PiAxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v ZHJpLWRldmVsCg==