From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Sharma, Shashank" Subject: Re: [RESEND-CI v4 11/15] drm/i915: prepare scaler for YCBCR420 modeset Date: Fri, 30 Jun 2017 17:29:08 +0530 Message-ID: <559eb3ea-e0cd-26f7-22aa-2b8d1e28424e@intel.com> References: <1498041253-16426-1-git-send-email-shashank.sharma@intel.com> <1498041253-16426-11-git-send-email-shashank.sharma@intel.com> <1498565777.2376.8.camel@gmail.com> <63f1b571-6cd4-d4e9-1ce6-93528e05bde4@intel.com> <1498822455.3311.3.camel@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1498822455.3311.3.camel@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ander Conselvan De Oliveira , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, ville.syrjala@linux.intel.com List-Id: dri-devel@lists.freedesktop.org UmVnYXJkcwoKU2hhc2hhbmsKCgpPbiA2LzMwLzIwMTcgNTowNCBQTSwgQW5kZXIgQ29uc2VsdmFu IERlIE9saXZlaXJhIHdyb3RlOgo+IE9uIEZyaSwgMjAxNy0wNi0zMCBhdCAxMToyMCArMDUzMCwg U2hhcm1hLCBTaGFzaGFuayB3cm90ZToKPj4gUmVnYXJkcwo+Pgo+PiBTaGFzaGFuawo+Pgo+Pgo+ PiBPbiA2LzI3LzIwMTcgNTo0NiBQTSwgQW5kZXIgQ29uc2VsdmFuIERlIE9saXZlaXJhIHdyb3Rl Ogo+Pj4gT24gV2VkLCAyMDE3LTA2LTIxIGF0IDE2OjA0ICswNTMwLCBTaGFzaGFuayBTaGFybWEg d3JvdGU6Cj4+Pj4gVG8gZ2V0IGEgWUNCQ1I0MjAgb3V0cHV0IGZyb20gaW50ZWwgcGxhdGZvcm1z LCB3ZSBuZWVkIG9uZQo+Pj4+IHNjYWxlciB0byBzY2FsZSBkb3duIFlDQkNSNDQ0IHNhbXBsZXMg dG8gWUNCQ1I0MjAgc2FtcGxlcy4KPj4+Pgo+Pj4+IFRoaXMgcGF0Y2g6Cj4+Pj4gLSBEb2VzIHNj YWxlciBhbGxvY2F0aW9uIGZvciBIRE1JIHljYmNyNDIwIG91dHB1dHMuCj4+Pj4gLSBQcm9ncmFt cyBQSVBFX01JU0MgcmVnaXN0ZXIgZm9yIHljYmNyNDIwIG91dHB1dC4KPj4+PiAtIEFkZHMgYSBu ZXcgc2NhbGVyIHVzZXIgIkhETUkgb3V0cHV0IiB0byBwbHVnLWludG8gZXhpc3RpbmcKPj4+PiAg ICAgc2NhbGVyIGZyYW1ld29yay4gVGhpcyBvdXRwdXQgdHlwZSBpcyBpZGVudGlmaWVkIHVzaW5n IGJpdAo+Pj4+ICAgICAzMCBvZiB0aGUgc2NhbGVyIHVzZXJzIGJpdG1hcC4KPj4+Pgo+Pj4+IFYy OiByZWJhc2UKPj4+PiBWMzogcmViYXNlCj4+Pj4gVjQ6IHJlYmFzZQo+Pj4+Cj4+Pj4gQ2M6IFZp bGxlIFN5cmphbGEgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+Pj4+IENjOiBBbmRl ciBDb25zZWx2YW4gRGUgT2xpdmVpcmEgPGFuZGVyLmNvbnNlbHZhbi5kZS5vbGl2ZWlyYUBpbnRl bC5jb20+Cj4+Pj4gU2lnbmVkLW9mZi1ieTogU2hhc2hhbmsgU2hhcm1hIDxzaGFzaGFuay5zaGFy bWFAaW50ZWwuY29tPgo+Pj4+IC0tLQo+Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2F0b21pYy5jICB8ICA2ICsrKysrKwo+Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYyB8IDI2ICsrKysrKysrKysrKysrKysrKysrKysrKysrCj4+Pj4gICAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgIHwgMTAgKysrKysrKysrLQo+Pj4+ICAgIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYyAgICB8IDEwICsrKysrKysrKysKPj4+PiAg ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jICAgfCAgMyArKy0KPj4+PiAgICA1 IGZpbGVzIGNoYW5nZWQsIDUzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCj4+Pj4KPj4+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWMuYwo+Pj4+IGluZGV4IDM2ZDRlNjMuLmE4Yzlh YzUgMTAwNjQ0Cj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljLmMK Pj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWMuYwo+Pj4+IEBAIC0y NjQsNiArMjY0LDEyIEBAIGludCBpbnRlbF9hdG9taWNfc2V0dXBfc2NhbGVycyhzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4+Pj4gICAgCj4+Pj4gICAgCQkJLyogcGFuZWwgZml0 dGVyIGNhc2U6IGFzc2lnbiBhcyBhIGNydGMgc2NhbGVyICovCj4+Pj4gICAgCQkJc2NhbGVyX2lk ID0gJnNjYWxlcl9zdGF0ZS0+c2NhbGVyX2lkOwo+Pj4+ICsJCX0gZWxzZSBpZiAoaSA9PSBTS0xf SERNSV9PVVRQVVRfSU5ERVgpIHsKPj4+PiArCQkJbmFtZSA9ICJIRE1JLU9VVFBVVCI7Cj4+Pj4g KwkJCWlkeCA9IGludGVsX2NydGMtPmJhc2UuYmFzZS5pZDsKPj4+PiArCj4+Pj4gKwkJCS8qIGhk bWkgb3V0cHV0IGNhc2U6IG5lZWRzIGEgcGlwZSBzY2FsZXIgKi8KPj4+PiArCQkJc2NhbGVyX2lk ID0gJnNjYWxlcl9zdGF0ZS0+c2NhbGVyX2lkOwo+Pj4+ICAgIAkJfSBlbHNlIHsKPj4+PiAgICAJ CQluYW1lID0gIlBMQU5FIjsKPj4+PiAgICAKPj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlz cGxheS5jCj4+Pj4gaW5kZXggZGEyOTUzNi4uOTgzZjU4MSAxMDA2NDQKPj4+PiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPj4+PiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPj4+PiBAQCAtNDYyNiw2ICs0NjI2LDExIEBAIHNrbF91 cGRhdGVfc2NhbGVyKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLCBib29sIGZv cmNlX2RldGFjaCwKPj4+PiAgICAJICovCj4+Pj4gICAgCW5lZWRfc2NhbGluZyA9IHNyY193ICE9 IGRzdF93IHx8IHNyY19oICE9IGRzdF9oOwo+Pj4+ICAgIAo+Pj4+ICsJaWYgKGNydGNfc3RhdGUt PmhkbWlfb3V0cHV0ID09IERSTV9IRE1JX09VVFBVVF9ZQ0JDUjQyMAo+Pj4+ICsJCSYmIHNjYWxl cl91c2VyID09IFNLTF9IRE1JX09VVFBVVF9JTkRFWCkKPj4+IElzIGl0IHJlYWxseSBuZWNlc3Nh cnkgdG8gY2hlY2sgZm9yIGJvdGg/IElmIGl0IGlzLCB3aGF0J3MgdGhlIHBvaW50IG9mIGNyZWF0 aW5nCj4+PiBTS0xfSERNSV9PVVRQVVRfSU5ERVg/Cj4+IFllcywgZWxzZSB0aGlzIHdpbGwgYWZm ZWN0IHNjYWxlciB1cGRhdGUgZm9yIHBsYW5lcywgYXMgdGhpcyBmdW5jdGlvbgo+PiBnZXRzIGNh bGxlZCB0byB1cGRhdGUgdGhlIHBsYW5lIHNjYWxlcnMgdG9vLCBhdCB0aGF0IHRpbWUgdGhlIG91 dHB1dAo+PiB3aWxsIGJlIHN0aWxsIHZhbGlkIChhcyBpdHMgYXQgQ1JUQyBsZXZlbCksIGJ1dCB0 aGUKPj4gc2NhbGVyIHVzZXIgd291bGQgYmUgZGlmZmVyZW50Lgo+IFJpZ2h0LCBzbyB0aGVyZSBp cyBhIG5lZWQgdG8gY2hlY2sgZm9yIHNjYWxlcl91c2VyID09IEhETUlfT1VUUFVULiBCdXQgdGhl bgo+IHdvdWxkbid0IGl0IGJlIGEgYnVnIGlmIGhkbWlfb3V0cHV0ICE9IFlDQkNSNDIwID8gIFBv aW50IGlzLCBpZiB0aGUgY2FsbGVyIGFza2VkCj4gZm9yIGEgSERNSV9PVVRQVVQgc2NhbGVyIGhv cGVmdWxseSBpdCBrbm93cyB3aGF0IGl0cyBkb2luZywgbm8gbmVlZCB0byBzZWNvbmQKPiBndWVz cyBpdC4Kc2tsX3VwZGF0ZV9zY2FsZXIgZnVuY3Rpb24gZ2V0cyBjYWxsZWQgZm9yIGFsbCB0aGUg dXNlcnMsIHdoaWNoIGFyZToKLSBwYW5lbCBmaXR0ZXIKLSBhbGwgdGhlIHBsYW5lcwotIG5ld2x5 IGFkZGVkIHVzZXIgaGRtaV9vdXRwdXQKd2hhdCBhYm91dCB0aGUgY2FzZSAoYXNzdW1lKSB3aGVu IHdlIGhhdmUgaGFuZGxlZCBoZG1pX291dHB1dCBhbmQgbm93IHdlIAphcmUgaGFuZGxpbmcgZm9y IGEgcGxhbmUsIHdoaWNoIGRvZXNudCBuZWVkIHNjYWxpbmcuCgppbiB0aGlzIGNhc2UsIHRoZSBj b2RlIHdpbGwgbG9vayBsaWtlOgppZiAoY3J0Y19zdGF0ZS0+aGRtaV9vdXRwdXQgPT0gRFJNX0hE TUlfT1VUUFVUX1lDQkNSNDIwKQogICAgICAgbmVlZF9zY2FsaW5nID0gdHJ1ZSAvKiB3aGljaCBp cyB3cm9uZywgYXMgdGhpcyBmdW5jdGlvbiBjYWxsIGlzIApmb3IgcGxhbmUgc2NhbGFyLCBhbmQg c2NhbGVyX3VzZXIgPSBzY2FsZXIgKi8KCmlmIChjcnRjX3N0YXRlLT5oZG1pX291dHB1dCA9PSBE Uk1fSERNSV9PVVRQVVRfWUNCQ1I0MjAgJiYKICAgICBzY2FsZXJfdXNlciA9PSBIRE1JX09VVCkK ICAgICBuZWVkX3NjYWxpbmcgPSB0cnVlIC8qIHRoaXMgaXMgY29ycmVjdCwgYXMgSSB3YW50IHRv IGNvbnN1bWUgc2NhbGFyIG9ubHkgd2hlbiBib3RoIHRoZSBjb25kaXRpb25zIGFyZSB0cnVlLgoK Pj4+PiArCQkvKiBZQ0JDUiA0NDQgLT4gNDIwIGNvbnZlcnNpb24gbmVlZHMgYSBzY2FsZXIgKi8K Pj4+PiArCQluZWVkX3NjYWxpbmcgPSB0cnVlOwo+Pj4+ICsKPj4+PiAgICAJLyoKPj4+PiAgICAJ ICogaWYgcGxhbmUgaXMgYmVpbmcgZGlzYWJsZWQgb3Igc2NhbGVyIGlzIG5vIG1vcmUgcmVxdWly ZWQgb3IgZm9yY2UgZGV0YWNoCj4+Pj4gICAgCSAqICAtIGZyZWUgc2NhbGVyIGJpbmRlZCB0byB0 aGlzIHBsYW5lL2NydGMKPj4+PiBAQCAtNDY3Myw2ICs0Njc4LDI2IEBAIHNrbF91cGRhdGVfc2Nh bGVyKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLCBib29sIGZvcmNlX2RldGFj aCwKPj4+PiAgICB9Cj4+Pj4gICAgCj4+Pj4gICAgLyoqCj4+Pj4gKyAqIHNrbF91cGRhdGVfc2Nh bGVyX2hkbWlfb3V0cHV0IC0gU3RhZ2VzIHVwZGF0ZSB0byBzY2FsZXIgc3RhdGUgZm9yIEhETUku Cj4+Pj4gKyAqIEhETUkgWUNCQ1IgNDIwIG91dHB1dCBuZWVkcyBhIHNjYWxlciwgZm9yIGRvd25z YW1wbGluZy4KPj4+PiArICoKPj4+PiArICogQHN0YXRlOiBjcnRjJ3Mgc2NhbGVyIHN0YXRlCj4+ Pj4gKyAqCj4+Pj4gKyAqIFJldHVybgo+Pj4+ICsgKiAgICAgMCAtIHNjYWxlcl91c2FnZSB1cGRh dGVkIHN1Y2Nlc3NmdWxseQo+Pj4+ICsgKiAgICBlcnJvciAtIHJlcXVlc3RlZCBzY2FsaW5nIGNh bm5vdCBiZSBzdXBwb3J0ZWQgb3Igb3RoZXIgZXJyb3IgY29uZGl0aW9uCj4+Pj4gKyAqLwo+Pj4+ ICtpbnQgc2tsX3VwZGF0ZV9zY2FsZXJfY3J0Y19oZG1pX291dHB1dChzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqc3RhdGUpCj4+Pj4gK3sKPj4+PiArCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICptb2RlID0gJnN0YXRlLT5iYXNlLmFkanVzdGVkX21vZGU7Cj4+Pj4gKwo+Pj4+ICsJcmV0 dXJuIHNrbF91cGRhdGVfc2NhbGVyKHN0YXRlLCAhc3RhdGUtPmJhc2UuYWN0aXZlLAo+Pj4+ICsJ CVNLTF9IRE1JX09VVFBVVF9JTkRFWCwgJnN0YXRlLT5zY2FsZXJfc3RhdGUuc2NhbGVyX2lkLAo+ Pj4+ICsJCXN0YXRlLT5waXBlX3NyY193LCBzdGF0ZS0+cGlwZV9zcmNfaCwKPj4+PiArCQltb2Rl LT5jcnRjX2hkaXNwbGF5LCBtb2RlLT5jcnRjX3ZkaXNwbGF5KTsKPj4+PiArfQo+Pj4+ICsKPj4+ PiArLyoqCj4+Pj4gICAgICogc2tsX3VwZGF0ZV9zY2FsZXJfY3J0YyAtIFN0YWdlcyB1cGRhdGUg dG8gc2NhbGVyIHN0YXRlIGZvciBhIGdpdmVuIGNydGMuCj4+Pj4gICAgICoKPj4+PiAgICAgKiBA c3RhdGU6IGNydGMncyBzY2FsZXIgc3RhdGUKPj4+PiBAQCAtODA1OCw2ICs4MDgzLDcgQEAgc3Rh dGljIHZvaWQgaGFzd2VsbF9zZXRfcGlwZW1pc2Moc3RydWN0IGRybV9jcnRjICpjcnRjKQo+Pj4+ ICAgIHsKPj4+PiAgICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShjcnRjLT5kZXYpOwo+Pj4+ICAgIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRv X2ludGVsX2NydGMoY3J0Yyk7Cj4+Pj4gKwllbnVtIGRybV9oZG1pX291dHB1dF90eXBlIGhkbWlf b3V0ID0gaW50ZWxfY3J0Yy0+Y29uZmlnLT5oZG1pX291dHB1dDsKPj4+PiAgICAKPj4+PiAgICAJ aWYgKElTX0JST0FEV0VMTChkZXZfcHJpdikgfHwgSU5URUxfSU5GTyhkZXZfcHJpdiktPmdlbiA+ PSA5KSB7Cj4+Pj4gICAgCQl1MzIgdmFsID0gMDsKPj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYu aAo+Pj4+IGluZGV4IDM4ZmU1NmMuLjIyMDZhYTggMTAwNjQ0Cj4+Pj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaAo+Pj4+IEBAIC00NzEsNyArNDcxLDggQEAgc3RydWN0IGludGVsX2NydGNfc2Nh bGVyX3N0YXRlIHsKPj4+PiAgICAJICoKPj4+PiAgICAJICogICAgIElmIGEgYml0IGlzIHNldCwg YSB1c2VyIGlzIHVzaW5nIGEgc2NhbGVyLgo+Pj4+ICAgIAkgKiAgICAgSGVyZSB1c2VyIGNhbiBi ZSBhIHBsYW5lIG9yIGNydGMgYXMgZGVmaW5lZCBiZWxvdzoKPj4+PiAtCSAqICAgICAgIGJpdHMg MC0zMCAtIHBsYW5lIChiaXQgcG9zaXRpb24gaXMgaW5kZXggZnJvbSBkcm1fcGxhbmVfaW5kZXgp Cj4+Pj4gKwkgKiAgICAgICBiaXRzIDAtMjkgLSBwbGFuZSAoYml0IHBvc2l0aW9uIGlzIGluZGV4 IGZyb20gZHJtX3BsYW5lX2luZGV4KQo+Pj4+ICsJICogICAgICAgYml0IDMwICAgIC0gaGRtaSBv dXRwdXQKPj4+PiAgICAJICogICAgICAgYml0IDMxICAgIC0gY3J0Ywo+Pj4+ICAgIAkgKgo+Pj4+ ICAgIAkgKiBJbnN0ZWFkIG9mIGNyZWF0aW5nIGEgbmV3IGluZGV4IHRvIGNvdmVyIHBsYW5lcyBh bmQgY3J0YywgdXNpbmcKPj4+PiBAQCAtNDg0LDYgKzQ4NSwxMiBAQCBzdHJ1Y3QgaW50ZWxfY3J0 Y19zY2FsZXJfc3RhdGUgewo+Pj4+ICAgIAkgKiBhdmlsYWJpbGl0eS4KPj4+PiAgICAJICovCj4+ Pj4gICAgI2RlZmluZSBTS0xfQ1JUQ19JTkRFWCAzMQo+Pj4+ICsKPj4+PiArCS8qCj4+Pj4gKwkg KiBIRE1JIFlDQkNSIDQyMCBvdXRwdXQgY29uc3VtZSBhIHNjYWxlci4gU28gYWRkaW5nIGEgdXNl cgo+Pj4+ICsJICogZm9yIEhETUkgb3V0cHV0IDQyMCByZXF1aXJlbWVudC4KPj4+PiArCSAqLwo+ Pj4+ICsjZGVmaW5lIFNLTF9IRE1JX09VVFBVVF9JTkRFWCAzMAo+Pj4gSSdtIG5vdCBjb252aW5j ZWQgYWJvdXQgdGhpcy4gVGhlIHNjYWxlciBpcyBzdGlsbCB1c2VkIGFzIGEgcGlwZSBzY2FsZXIg YW5kIHRoZQo+Pj4gcGF0Y2ggZXZlbiBhZGRzIGEgY2FsbCBpbnRlbF9wY2hfcGFuZWxfZml0dGlu ZygpLgo+PiBUaGlzIGlzIGEgc3BlY2lhbCBtb2RlIHVzYWdlIG9mIHNjYWxhciBkZWZpbmVkIGlu IHRoZSBic3BlYywgd2hlbiB3ZQo+PiB3YW50IHRvIHJ1biB0aGUgc2NhbGFyIGludG8gNXgzIGF1 dG8gbW9kZSBmb3IgWUNCQ1I0NDQtPllDQkNSNDIwIHNjYWxlIGRvd24uCj4+IEl0IGNhbiBiZSB1 c2VkIG9ubHkgd2hlbiB0aGUgUElQRV9NSVNDIGlzIGFsc28gcHJvZ3JhbW1lZCB0byBhY3QKPj4g YWNjb3JkaW5nbHkuIFNvIHRoaXMgaXMgZGlmZmVyZW50IGZyb20gdXNpbmcgaXQgYXMgYSBwYW5l bCBmaXR0ZXIsIGFuZAo+PiB0aGF0J3Mgd2h5IGFkZGVkCj4+IGEgbmV3IHNjYWxhciB1c2VyIGFs bCB0b2dldGhlci4KPj4+PiAgICAJdW5zaWduZWQgc2NhbGVyX3VzZXJzOwo+Pj4+ICAgIAo+Pj4+ ICAgIAkvKiBzY2FsZXIgdXNlZCBieSBjcnRjIGZvciBwYW5lbCBmaXR0aW5nIHB1cnBvc2UgKi8K Pj4+PiBAQCAtMTQ4MSw2ICsxNDg4LDcgQEAgdm9pZCBpbnRlbF9tb2RlX2Zyb21fcGlwZV9jb25m aWcoc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsCj4+Pj4gICAgCQkJCSBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpOwo+Pj4+ICAgIAo+Pj4+ICAgIGludCBza2xfdXBk YXRlX3NjYWxlcl9jcnRjKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKPj4+ PiAraW50IHNrbF91cGRhdGVfc2NhbGVyX2NydGNfaGRtaV9vdXRwdXQoc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKnN0YXRlKTsKPj4+PiAgICBpbnQgc2tsX21heF9zY2FsZShzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0Yywgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpOwo+Pj4+ICAg IAo+Pj4+ICAgIHN0YXRpYyBpbmxpbmUgdTMyIGludGVsX3BsYW5lX2dndHRfb2Zmc2V0KGNvbnN0 IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqc3RhdGUpCj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2hkbWkuYwo+Pj4+IGluZGV4IDIyZGE1Y2QuLjhkNWFhMWUgMTAwNjQ0Cj4+Pj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfaGRtaS5jCj4+Pj4gQEAgLTE0MTUsNiArMTQxNSw3IEBAIGludGVsX2hkbWlf Y29tcHV0ZV95Y2Jjcl9jb25maWcoc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3Rh dGUsCj4+Pj4gICAgCX0KPj4+PiAgICAKPj4+PiAgICAJaWYgKHR5cGUgPT0gRFJNX0hETUlfT1VU UFVUX1lDQkNSNDIwKSB7Cj4+Pj4gKwkJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0 b19pbnRlbF9jcnRjKGNvbm5fc3RhdGUtPmNydGMpOwo+Pj4+ICAgIAo+Pj4+ICAgIAkJLyogWUNC Q1I0MjAgVE1EUyByYXRlIHJlcXVpcmVtZW50IGlzIGhhbGYgdGhlIHBpeGVsIGNsb2NrICovCj4+ Pj4gICAgCQljb25maWctPmhkbWlfb3V0cHV0ID0gRFJNX0hETUlfT1VUUFVUX1lDQkNSNDIwOwo+ Pj4+IEBAIC0xNDIyLDYgKzE0MjMsMTUgQEAgaW50ZWxfaGRtaV9jb21wdXRlX3ljYmNyX2NvbmZp ZyhzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSwKPj4+PiAgICAJCSpjbG9j a18xMmJwYyAvPSAyOwo+Pj4+ICAgIAkJKmNsb2NrXzhicGMgLz0gMjsKPj4+PiAgICAKPj4+PiAr CQkvKiBZQ0JDUiA0MjAgb3V0cHV0IGNvbnZlcnNpb24gbmVlZHMgYSBzY2FsZXIgKi8KPj4+PiAr CQlpZiAoc2tsX3VwZGF0ZV9zY2FsZXJfY3J0Y19oZG1pX291dHB1dChjb25maWcpKSB7Cj4+Pj4g KwkJCURSTV9FUlJPUigiU2NhbGVyIGFsbG9jYXRpb24gZm9yIG91dHB1dCBmYWlsZWRcbiIpOwo+ Pj4+ICsJCQlyZXR1cm4gRFJNX0hETUlfT1VUUFVUX0lOVkFMSUQ7Cj4+Pj4gKwkJfQo+Pj4+ICsK Pj4+PiArCQkvKiBCaW5kIHRoaXMgc2NhbGVyIHRvIHBpcGUgKi8KPj4+PiArCQlpbnRlbF9wY2hf cGFuZWxfZml0dGluZyhpbnRlbF9jcnRjLCBjb25maWcsCj4+Pj4gKwkJCQkJRFJNX01PREVfU0NB TEVfRlVMTFNDUkVFTik7Cj4+Pj4gICAgCX0KPj4+PiAgICAKPj4+PiAgICAJLyogRW5jb2RlciBp cyBjYXBhYmxlIG9mIHRoaXMgb3V0cHV0LCBsZXRzIGNvbW1pdCB0byBDUlRDICovCj4+Pj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jCj4+Pj4gaW5kZXggOTZjMmNiZC4uYjZhMzJjNCAxMDA2 NDQKPj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jCj4+Pj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYwo+Pj4+IEBAIC0xMTAsNyArMTEw LDggQEAgaW50ZWxfcGNoX3BhbmVsX2ZpdHRpbmcoc3RydWN0IGludGVsX2NydGMgKmludGVsX2Ny dGMsCj4+Pj4gICAgCj4+Pj4gICAgCS8qIE5hdGl2ZSBtb2RlcyBkb24ndCBuZWVkIGZpdHRpbmcg Ki8KPj4+PiAgICAJaWYgKGFkanVzdGVkX21vZGUtPmNydGNfaGRpc3BsYXkgPT0gcGlwZV9jb25m aWctPnBpcGVfc3JjX3cgJiYKPj4+PiAtCSAgICBhZGp1c3RlZF9tb2RlLT5jcnRjX3ZkaXNwbGF5 ID09IHBpcGVfY29uZmlnLT5waXBlX3NyY19oKQo+Pj4+ICsJICAgIGFkanVzdGVkX21vZGUtPmNy dGNfdmRpc3BsYXkgPT0gcGlwZV9jb25maWctPnBpcGVfc3JjX2ggJiYKPj4+PiArCSAgICBwaXBl X2NvbmZpZy0+aGRtaV9vdXRwdXQgIT0gRFJNX0hETUlfT1VUUFVUX1lDQkNSNDIwKQo+Pj4gSSBk b24ndCBsaWtlIHRoYXQgdGhlIGtub3dsZWRnZSB0aGF0IFlDQkNSNDIwIG5lZWRzIHRoZSBzY2Fs ZXIgaXMgc3ByZWFkCj4+PiBldmVyeXdoZXJlLCBpbmNsdWRpbmcgdGhpcyBmdW5jdGlvbiB0aGF0 IHNob3VsZCBvbmx5IGRlYWwgd2l0aCBwYW5lbCBmaXR0aW5nLiBJCj4+PiB3b3VsZCByYXRoZXIg YWRkIGEgZm9yY2UgcGFyYW1ldGVyIHRvIGludGVsX3BjaF9wYW5lbF9maXR0aW5nKCkgYW5kCj4+ PiBza2xfdXBkYXRlX3NjYWxlcigpIHRoYXQgd291bGQgbWVhbiBzZXR1cCB0aGUgc2NhbGVyIGV2 ZW4gaWYgbG9va3MgbGlrZSBpdCdzIG5vdAo+Pj4gbmVjZXNzYXJ5LiBUaGF0IHdheSB0aGUgaGRt aSBjb2RlIHdvdWxkIGp1c3QgY2FsbCB0aGVtIHdpdGggZm9yY2UgZW5hYmxlZCwKPj4+IHdpdGhv dXQgc3ByaW5rbGluZyAiaGRtaV9vdXRwdXQgPT0gWUNCQ1I0MjAiIGV2ZXJ5d2hlcmUuCj4+IEFz IGV4cGxhaW5lZCBpbiB0aGUgY29tbWVudCBhYm92ZSwgaXRzIHNwZWNpYWwgY2FzZSB1c2FnZSBv ZiBwaXBlCj4+IHNjYWxhciwgYW5kIHRoYXQncyB3aHkgYmVpbmcgY2hlY2tlZCBzcGVjaWZpY2Fs bHkuCj4gSSdtIHN0aWxsIG5vdCBjb252aW5jZWQgYWJvdXQgdGhpcy4gSWYgdGhpcyBpcyBhIHNw ZWNpYWwgc2NhbGVyIG1vZGUgdGhhdCBpcyBub3QKPiBwYW5lbCBmaXR0aW5nLCB0aGVuIHRoaXMg c2hvdWxkIGRlZmluaXRlbHkgbm90IHRvdWNoIGEgZnVuY3Rpb24gaW4KPiBpbnRlbF9wYW5lbC5j LCBzcGVjaWFsbHkgb25lIHdpdGggInBhbmVsIGZpdHRpbmciIGluIHRoZSBuYW1lLgo+Cj4gTXkg cG9pbnQgaXMsIGlmIHRoaXMgaXMgcGFuZWwgZml0dGluZywgdGhlbiBpdCBzaG91bGQgdXNlIHBh bmVsIGZpdHRpbmcgY29kZQo+IHdpdGhvdXQgc3BlY2lhbCBjYXNpbmcuIElmIGl0IGlzbid0LCB0 aGVuIGl0IHNob3VsZCBoYXZlIGl0cyBvd24gY29kZSBwYXRocy4gQnV0Cj4gdGhpcyBwYXRjaCBq dXN0IGNyZWF0ZXMgYSBibHVycnkgbGluZSB3aGVyZSB0aGUgcGFuZWwgZml0dGluZyBjb2RlIG5l ZWRzIHRvIGJlCj4gc3BlY2lhbCBjYXNlZCBmb3Igd2hlbiB0aGUgSERNSSBvdXRwdXQgaXMgWUNC Q1I0MjAgYW5kIHdlIGFyZSAqbm90KiBhY3R1YWxseQo+IGRvaW5nIHBhbmVsIGZpdHRpbmcuCk15 IHVuZGVyc3RhbmRpbmcgb2YgdGhlIGNvZGUgaXMgKHBsZWFzZSBjb3JyZWN0IG1lIGlmIHRoYXQn cyBub3QpIHRoYXQgCmFueSBwaXBlIHNjYWxhciB1c2FnZXMgd2UgYXJlIGtlZXBpbmcgaXQgYXQK cGFuZWxfZml0dGluZyBsZXZlbCwgd2hlcmVhcyBhbnkgcGxhbmUgbGV2ZWwgc3R1ZmYgaXMgY2Fs bGVkIApwbGFuZV9zY2FsYXIuIEFzIHRoaXMgbmV3IHVzZXIgd2FzIGEgdXNhZ2Ugb2YgcGlwZV9z Y2FsYXIKd2l0aCBhIHNwZWNpYWwgY29uZmlndXJhdGlvbiBhbmQgc2V0dGluZywgSSBhY2NvbW1v ZGF0ZWQgdGhlIGNvZGUgaW4gCnBhbmVsIGZpdHRlciBsZXZlbC4gV2UgY2FuIGFsc28gY3JlYXRl IG5ldyBjb2RlCmZvciBpdCwgYnV0IHRoYXQgd291bGQgYmUgdW5uZWNlc3NhcnkgZHVwbGljYXRp b24gb2YgY29kZSB3aGljaCBkb2VzIHRoZSAKc2FtZSB0aGluZywgaXNuJ3QgaXQgPwpGb3IgdGhp cyB1c2FnZSwgd2UganVzdCBuZWVkIHRvIGF0dGFjaCBhIHBpcGUgc2NhbGFyLCBhbmQgdGhlbiBw cm9ncmFtIAp0aGUgUElQRU1JU0MgKHdoaWNoIHdlIGRvIGluIGNydGMtPm1vZGVfc2V0KS4gRG8g eW91CnRoaW5rIGl0cyBhbnkgZ29vZCByZWFzb24gZm9yIHdyaXRlIGEgbmV3IGNvZGUgcGF0aCBh bHRvZ2V0aGVyID8KCi0gU2hhc2hhbmsKPgo+IEFuZGVyCj4KCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=