From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan De Oliveira Subject: Re: [RESEND-CI v4 11/15] drm/i915: prepare scaler for YCBCR420 modeset Date: Fri, 30 Jun 2017 14:34:15 +0300 Message-ID: <1498822455.3311.3.camel@gmail.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> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <63f1b571-6cd4-d4e9-1ce6-93528e05bde4@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: "Sharma, Shashank" , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, ville.syrjala@linux.intel.com List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCAyMDE3LTA2LTMwIGF0IDExOjIwICswNTMwLCBTaGFybWEsIFNoYXNoYW5rIHdyb3Rl Ogo+IFJlZ2FyZHMKPiAKPiBTaGFzaGFuawo+IAo+IAo+IE9uIDYvMjcvMjAxNyA1OjQ2IFBNLCBB bmRlciBDb25zZWx2YW4gRGUgT2xpdmVpcmEgd3JvdGU6Cj4gPiBPbiBXZWQsIDIwMTctMDYtMjEg YXQgMTY6MDQgKzA1MzAsIFNoYXNoYW5rIFNoYXJtYSB3cm90ZToKPiA+ID4gVG8gZ2V0IGEgWUNC Q1I0MjAgb3V0cHV0IGZyb20gaW50ZWwgcGxhdGZvcm1zLCB3ZSBuZWVkIG9uZQo+ID4gPiBzY2Fs ZXIgdG8gc2NhbGUgZG93biBZQ0JDUjQ0NCBzYW1wbGVzIHRvIFlDQkNSNDIwIHNhbXBsZXMuCj4g PiA+IAo+ID4gPiBUaGlzIHBhdGNoOgo+ID4gPiAtIERvZXMgc2NhbGVyIGFsbG9jYXRpb24gZm9y IEhETUkgeWNiY3I0MjAgb3V0cHV0cy4KPiA+ID4gLSBQcm9ncmFtcyBQSVBFX01JU0MgcmVnaXN0 ZXIgZm9yIHljYmNyNDIwIG91dHB1dC4KPiA+ID4gLSBBZGRzIGEgbmV3IHNjYWxlciB1c2VyICJI RE1JIG91dHB1dCIgdG8gcGx1Zy1pbnRvIGV4aXN0aW5nCj4gPiA+ICAgIHNjYWxlciBmcmFtZXdv cmsuIFRoaXMgb3V0cHV0IHR5cGUgaXMgaWRlbnRpZmllZCB1c2luZyBiaXQKPiA+ID4gICAgMzAg b2YgdGhlIHNjYWxlciB1c2VycyBiaXRtYXAuCj4gPiA+IAo+ID4gPiBWMjogcmViYXNlCj4gPiA+ IFYzOiByZWJhc2UKPiA+ID4gVjQ6IHJlYmFzZQo+ID4gPiAKPiA+ID4gQ2M6IFZpbGxlIFN5cmph bGEgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ID4gPiBDYzogQW5kZXIgQ29uc2Vs dmFuIERlIE9saXZlaXJhIDxhbmRlci5jb25zZWx2YW4uZGUub2xpdmVpcmFAaW50ZWwuY29tPgo+ ID4gPiBTaWduZWQtb2ZmLWJ5OiBTaGFzaGFuayBTaGFybWEgPHNoYXNoYW5rLnNoYXJtYUBpbnRl bC5jb20+Cj4gPiA+IC0tLQo+ID4gPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21p Yy5jICB8ICA2ICsrKysrKwo+ID4gPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYyB8IDI2ICsrKysrKysrKysrKysrKysrKysrKysrKysrCj4gPiA+ICAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgIHwgMTAgKysrKysrKysrLQo+ID4gPiAgIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYyAgICB8IDEwICsrKysrKysrKysKPiA+ID4gICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jICAgfCAgMyArKy0KPiA+ID4gICA1IGZpbGVz IGNoYW5nZWQsIDUzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCj4gPiA+IAo+ID4gPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWMuYwo+ID4gPiBpbmRleCAzNmQ0ZTYzLi5hOGM5YWM1 IDEwMDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWMuYwo+ ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWMuYwo+ID4gPiBAQCAt MjY0LDYgKzI2NCwxMiBAQCBpbnQgaW50ZWxfYXRvbWljX3NldHVwX3NjYWxlcnMoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gPiAgIAo+ID4gPiAgIAkJCS8qIHBhbmVsIGZp dHRlciBjYXNlOiBhc3NpZ24gYXMgYSBjcnRjIHNjYWxlciAqLwo+ID4gPiAgIAkJCXNjYWxlcl9p ZCA9ICZzY2FsZXJfc3RhdGUtPnNjYWxlcl9pZDsKPiA+ID4gKwkJfSBlbHNlIGlmIChpID09IFNL TF9IRE1JX09VVFBVVF9JTkRFWCkgewo+ID4gPiArCQkJbmFtZSA9ICJIRE1JLU9VVFBVVCI7Cj4g PiA+ICsJCQlpZHggPSBpbnRlbF9jcnRjLT5iYXNlLmJhc2UuaWQ7Cj4gPiA+ICsKPiA+ID4gKwkJ CS8qIGhkbWkgb3V0cHV0IGNhc2U6IG5lZWRzIGEgcGlwZSBzY2FsZXIgKi8KPiA+ID4gKwkJCXNj YWxlcl9pZCA9ICZzY2FsZXJfc3RhdGUtPnNjYWxlcl9pZDsKPiA+ID4gICAJCX0gZWxzZSB7Cj4g PiA+ICAgCQkJbmFtZSA9ICJQTEFORSI7Cj4gPiA+ICAgCj4gPiA+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMKPiA+ID4gaW5kZXggZGEyOTUzNi4uOTgzZjU4MSAxMDA2NDQKPiA+ID4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gPiA+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4gPiBAQCAtNDYyNiw2ICs0NjI2 LDExIEBAIHNrbF91cGRhdGVfc2NhbGVyKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlLCBib29sIGZvcmNlX2RldGFjaCwKPiA+ID4gICAJICovCj4gPiA+ICAgCW5lZWRfc2NhbGlu ZyA9IHNyY193ICE9IGRzdF93IHx8IHNyY19oICE9IGRzdF9oOwo+ID4gPiAgIAo+ID4gPiArCWlm IChjcnRjX3N0YXRlLT5oZG1pX291dHB1dCA9PSBEUk1fSERNSV9PVVRQVVRfWUNCQ1I0MjAKPiA+ ID4gKwkJJiYgc2NhbGVyX3VzZXIgPT0gU0tMX0hETUlfT1VUUFVUX0lOREVYKQo+ID4gCj4gPiBJ cyBpdCByZWFsbHkgbmVjZXNzYXJ5IHRvIGNoZWNrIGZvciBib3RoPyBJZiBpdCBpcywgd2hhdCdz IHRoZSBwb2ludCBvZiBjcmVhdGluZwo+ID4gU0tMX0hETUlfT1VUUFVUX0lOREVYPwo+IAo+IFll cywgZWxzZSB0aGlzIHdpbGwgYWZmZWN0IHNjYWxlciB1cGRhdGUgZm9yIHBsYW5lcywgYXMgdGhp cyBmdW5jdGlvbiAKPiBnZXRzIGNhbGxlZCB0byB1cGRhdGUgdGhlIHBsYW5lIHNjYWxlcnMgdG9v LCBhdCB0aGF0IHRpbWUgdGhlIG91dHB1dCAKPiB3aWxsIGJlIHN0aWxsIHZhbGlkIChhcyBpdHMg YXQgQ1JUQyBsZXZlbCksIGJ1dCB0aGUKPiBzY2FsZXIgdXNlciB3b3VsZCBiZSBkaWZmZXJlbnQu CgpSaWdodCwgc28gdGhlcmUgaXMgYSBuZWVkIHRvIGNoZWNrIGZvciBzY2FsZXJfdXNlciA9PSBI RE1JX09VVFBVVC4gQnV0IHRoZW4Kd291bGRuJ3QgaXQgYmUgYSBidWcgaWYgaGRtaV9vdXRwdXQg IT0gWUNCQ1I0MjAgPyAgUG9pbnQgaXMsIGlmIHRoZSBjYWxsZXIgYXNrZWQKZm9yIGEgSERNSV9P VVRQVVQgc2NhbGVyIGhvcGVmdWxseSBpdCBrbm93cyB3aGF0IGl0cyBkb2luZywgbm8gbmVlZCB0 byBzZWNvbmQKZ3Vlc3MgaXQuCgo+ID4gCj4gPiA+ICsJCS8qIFlDQkNSIDQ0NCAtPiA0MjAgY29u dmVyc2lvbiBuZWVkcyBhIHNjYWxlciAqLwo+ID4gPiArCQluZWVkX3NjYWxpbmcgPSB0cnVlOwo+ ID4gPiArCj4gPiA+ICAgCS8qCj4gPiA+ICAgCSAqIGlmIHBsYW5lIGlzIGJlaW5nIGRpc2FibGVk IG9yIHNjYWxlciBpcyBubyBtb3JlIHJlcXVpcmVkIG9yIGZvcmNlIGRldGFjaAo+ID4gPiAgIAkg KiAgLSBmcmVlIHNjYWxlciBiaW5kZWQgdG8gdGhpcyBwbGFuZS9jcnRjCj4gPiA+IEBAIC00Njcz LDYgKzQ2NzgsMjYgQEAgc2tsX3VwZGF0ZV9zY2FsZXIoc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNydGNfc3RhdGUsIGJvb2wgZm9yY2VfZGV0YWNoLAo+ID4gPiAgIH0KPiA+ID4gICAKPiA+ID4g ICAvKioKPiA+ID4gKyAqIHNrbF91cGRhdGVfc2NhbGVyX2hkbWlfb3V0cHV0IC0gU3RhZ2VzIHVw ZGF0ZSB0byBzY2FsZXIgc3RhdGUgZm9yIEhETUkuCj4gPiA+ICsgKiBIRE1JIFlDQkNSIDQyMCBv dXRwdXQgbmVlZHMgYSBzY2FsZXIsIGZvciBkb3duc2FtcGxpbmcuCj4gPiA+ICsgKgo+ID4gPiAr ICogQHN0YXRlOiBjcnRjJ3Mgc2NhbGVyIHN0YXRlCj4gPiA+ICsgKgo+ID4gPiArICogUmV0dXJu Cj4gPiA+ICsgKiAgICAgMCAtIHNjYWxlcl91c2FnZSB1cGRhdGVkIHN1Y2Nlc3NmdWxseQo+ID4g PiArICogICAgZXJyb3IgLSByZXF1ZXN0ZWQgc2NhbGluZyBjYW5ub3QgYmUgc3VwcG9ydGVkIG9y IG90aGVyIGVycm9yIGNvbmRpdGlvbgo+ID4gPiArICovCj4gPiA+ICtpbnQgc2tsX3VwZGF0ZV9z Y2FsZXJfY3J0Y19oZG1pX291dHB1dChzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqc3RhdGUpCj4g PiA+ICt7Cj4gPiA+ICsJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUgPSAmc3Rh dGUtPmJhc2UuYWRqdXN0ZWRfbW9kZTsKPiA+ID4gKwo+ID4gPiArCXJldHVybiBza2xfdXBkYXRl X3NjYWxlcihzdGF0ZSwgIXN0YXRlLT5iYXNlLmFjdGl2ZSwKPiA+ID4gKwkJU0tMX0hETUlfT1VU UFVUX0lOREVYLCAmc3RhdGUtPnNjYWxlcl9zdGF0ZS5zY2FsZXJfaWQsCj4gPiA+ICsJCXN0YXRl LT5waXBlX3NyY193LCBzdGF0ZS0+cGlwZV9zcmNfaCwKPiA+ID4gKwkJbW9kZS0+Y3J0Y19oZGlz cGxheSwgbW9kZS0+Y3J0Y192ZGlzcGxheSk7Cj4gPiA+ICt9Cj4gPiA+ICsKPiA+ID4gKy8qKgo+ ID4gPiAgICAqIHNrbF91cGRhdGVfc2NhbGVyX2NydGMgLSBTdGFnZXMgdXBkYXRlIHRvIHNjYWxl ciBzdGF0ZSBmb3IgYSBnaXZlbiBjcnRjLgo+ID4gPiAgICAqCj4gPiA+ICAgICogQHN0YXRlOiBj cnRjJ3Mgc2NhbGVyIHN0YXRlCj4gPiA+IEBAIC04MDU4LDYgKzgwODMsNyBAQCBzdGF0aWMgdm9p ZCBoYXN3ZWxsX3NldF9waXBlbWlzYyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gPiA+ICAgewo+ ID4gPiAgIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMt PmRldik7Cj4gPiA+ICAgCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxf Y3J0YyhjcnRjKTsKPiA+ID4gKwllbnVtIGRybV9oZG1pX291dHB1dF90eXBlIGhkbWlfb3V0ID0g aW50ZWxfY3J0Yy0+Y29uZmlnLT5oZG1pX291dHB1dDsKPiA+ID4gICAKPiA+ID4gICAJaWYgKElT X0JST0FEV0VMTChkZXZfcHJpdikgfHwgSU5URUxfSU5GTyhkZXZfcHJpdiktPmdlbiA+PSA5KSB7 Cj4gPiA+ICAgCQl1MzIgdmFsID0gMDsKPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+ ID4gaW5kZXggMzhmZTU2Yy4uMjIwNmFhOCAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmgKPiA+ID4gQEAgLTQ3MSw3ICs0NzEsOCBAQCBzdHJ1Y3QgaW50ZWxfY3J0Y19zY2Fs ZXJfc3RhdGUgewo+ID4gPiAgIAkgKgo+ID4gPiAgIAkgKiAgICAgSWYgYSBiaXQgaXMgc2V0LCBh IHVzZXIgaXMgdXNpbmcgYSBzY2FsZXIuCj4gPiA+ICAgCSAqICAgICBIZXJlIHVzZXIgY2FuIGJl IGEgcGxhbmUgb3IgY3J0YyBhcyBkZWZpbmVkIGJlbG93Ogo+ID4gPiAtCSAqICAgICAgIGJpdHMg MC0zMCAtIHBsYW5lIChiaXQgcG9zaXRpb24gaXMgaW5kZXggZnJvbSBkcm1fcGxhbmVfaW5kZXgp Cj4gPiA+ICsJICogICAgICAgYml0cyAwLTI5IC0gcGxhbmUgKGJpdCBwb3NpdGlvbiBpcyBpbmRl eCBmcm9tIGRybV9wbGFuZV9pbmRleCkKPiA+ID4gKwkgKiAgICAgICBiaXQgMzAgICAgLSBoZG1p IG91dHB1dAo+ID4gPiAgIAkgKiAgICAgICBiaXQgMzEgICAgLSBjcnRjCj4gPiA+ICAgCSAqCj4g PiA+ICAgCSAqIEluc3RlYWQgb2YgY3JlYXRpbmcgYSBuZXcgaW5kZXggdG8gY292ZXIgcGxhbmVz IGFuZCBjcnRjLCB1c2luZwo+ID4gPiBAQCAtNDg0LDYgKzQ4NSwxMiBAQCBzdHJ1Y3QgaW50ZWxf Y3J0Y19zY2FsZXJfc3RhdGUgewo+ID4gPiAgIAkgKiBhdmlsYWJpbGl0eS4KPiA+ID4gICAJICov Cj4gPiA+ICAgI2RlZmluZSBTS0xfQ1JUQ19JTkRFWCAzMQo+ID4gPiArCj4gPiA+ICsJLyoKPiA+ ID4gKwkgKiBIRE1JIFlDQkNSIDQyMCBvdXRwdXQgY29uc3VtZSBhIHNjYWxlci4gU28gYWRkaW5n IGEgdXNlcgo+ID4gPiArCSAqIGZvciBIRE1JIG91dHB1dCA0MjAgcmVxdWlyZW1lbnQuCj4gPiA+ ICsJICovCj4gPiA+ICsjZGVmaW5lIFNLTF9IRE1JX09VVFBVVF9JTkRFWCAzMAo+ID4gCj4gPiBJ J20gbm90IGNvbnZpbmNlZCBhYm91dCB0aGlzLiBUaGUgc2NhbGVyIGlzIHN0aWxsIHVzZWQgYXMg YSBwaXBlIHNjYWxlciBhbmQgdGhlCj4gPiBwYXRjaCBldmVuIGFkZHMgYSBjYWxsIGludGVsX3Bj aF9wYW5lbF9maXR0aW5nKCkuCj4gCj4gVGhpcyBpcyBhIHNwZWNpYWwgbW9kZSB1c2FnZSBvZiBz Y2FsYXIgZGVmaW5lZCBpbiB0aGUgYnNwZWMsIHdoZW4gd2UgCj4gd2FudCB0byBydW4gdGhlIHNj YWxhciBpbnRvIDV4MyBhdXRvIG1vZGUgZm9yIFlDQkNSNDQ0LT5ZQ0JDUjQyMCBzY2FsZSBkb3du Lgo+IEl0IGNhbiBiZSB1c2VkIG9ubHkgd2hlbiB0aGUgUElQRV9NSVNDIGlzIGFsc28gcHJvZ3Jh bW1lZCB0byBhY3QgCj4gYWNjb3JkaW5nbHkuIFNvIHRoaXMgaXMgZGlmZmVyZW50IGZyb20gdXNp bmcgaXQgYXMgYSBwYW5lbCBmaXR0ZXIsIGFuZCAKPiB0aGF0J3Mgd2h5IGFkZGVkCj4gYSBuZXcg c2NhbGFyIHVzZXIgYWxsIHRvZ2V0aGVyLgo+ID4gCj4gPiA+ICAgCXVuc2lnbmVkIHNjYWxlcl91 c2VyczsKPiA+ID4gICAKPiA+ID4gICAJLyogc2NhbGVyIHVzZWQgYnkgY3J0YyBmb3IgcGFuZWwg Zml0dGluZyBwdXJwb3NlICovCj4gPiA+IEBAIC0xNDgxLDYgKzE0ODgsNyBAQCB2b2lkIGludGVs X21vZGVfZnJvbV9waXBlX2NvbmZpZyhzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKPiA+ ID4gICAJCQkJIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZyk7Cj4gPiA+ICAg Cj4gPiA+ICAgaW50IHNrbF91cGRhdGVfc2NhbGVyX2NydGMoc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUpOwo+ID4gPiAraW50IHNrbF91cGRhdGVfc2NhbGVyX2NydGNfaGRtaV9v dXRwdXQoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnN0YXRlKTsKPiA+ID4gICBpbnQgc2tsX21h eF9zY2FsZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0Yywgc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNydGNfc3RhdGUpOwo+ID4gPiAgIAo+ID4gPiAgIHN0YXRpYyBpbmxpbmUgdTMyIGludGVsX3Bs YW5lX2dndHRfb2Zmc2V0KGNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqc3RhdGUpCj4g PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKPiA+ID4gaW5kZXggMjJkYTVjZC4uOGQ1YWEx ZSAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4g PiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+ID4gPiBAQCAtMTQx NSw2ICsxNDE1LDcgQEAgaW50ZWxfaGRtaV9jb21wdXRlX3ljYmNyX2NvbmZpZyhzdHJ1Y3QgZHJt X2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSwKPiA+ID4gICAJfQo+ID4gPiAgIAo+ID4gPiAg IAlpZiAodHlwZSA9PSBEUk1fSERNSV9PVVRQVVRfWUNCQ1I0MjApIHsKPiA+ID4gKwkJc3RydWN0 IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNvbm5fc3RhdGUtPmNydGMp Owo+ID4gPiAgIAo+ID4gPiAgIAkJLyogWUNCQ1I0MjAgVE1EUyByYXRlIHJlcXVpcmVtZW50IGlz IGhhbGYgdGhlIHBpeGVsIGNsb2NrICovCj4gPiA+ICAgCQljb25maWctPmhkbWlfb3V0cHV0ID0g RFJNX0hETUlfT1VUUFVUX1lDQkNSNDIwOwo+ID4gPiBAQCAtMTQyMiw2ICsxNDIzLDE1IEBAIGlu dGVsX2hkbWlfY29tcHV0ZV95Y2Jjcl9jb25maWcoc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUg KmNvbm5fc3RhdGUsCj4gPiA+ICAgCQkqY2xvY2tfMTJicGMgLz0gMjsKPiA+ID4gICAJCSpjbG9j a184YnBjIC89IDI7Cj4gPiA+ICAgCj4gPiA+ICsJCS8qIFlDQkNSIDQyMCBvdXRwdXQgY29udmVy c2lvbiBuZWVkcyBhIHNjYWxlciAqLwo+ID4gPiArCQlpZiAoc2tsX3VwZGF0ZV9zY2FsZXJfY3J0 Y19oZG1pX291dHB1dChjb25maWcpKSB7Cj4gPiA+ICsJCQlEUk1fRVJST1IoIlNjYWxlciBhbGxv Y2F0aW9uIGZvciBvdXRwdXQgZmFpbGVkXG4iKTsKPiA+ID4gKwkJCXJldHVybiBEUk1fSERNSV9P VVRQVVRfSU5WQUxJRDsKPiA+ID4gKwkJfQo+ID4gPiArCj4gPiA+ICsJCS8qIEJpbmQgdGhpcyBz Y2FsZXIgdG8gcGlwZSAqLwo+ID4gPiArCQlpbnRlbF9wY2hfcGFuZWxfZml0dGluZyhpbnRlbF9j cnRjLCBjb25maWcsCj4gPiA+ICsJCQkJCURSTV9NT0RFX1NDQUxFX0ZVTExTQ1JFRU4pOwo+ID4g PiAgIAl9Cj4gPiA+ICAgCj4gPiA+ICAgCS8qIEVuY29kZXIgaXMgY2FwYWJsZSBvZiB0aGlzIG91 dHB1dCwgbGV0cyBjb21taXQgdG8gQ1JUQyAqLwo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bh bmVsLmMKPiA+ID4gaW5kZXggOTZjMmNiZC4uYjZhMzJjNCAxMDA2NDQKPiA+ID4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYwo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9wYW5lbC5jCj4gPiA+IEBAIC0xMTAsNyArMTEwLDggQEAgaW50ZWxfcGNo X3BhbmVsX2ZpdHRpbmcoc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMsCj4gPiA+ICAgCj4g PiA+ICAgCS8qIE5hdGl2ZSBtb2RlcyBkb24ndCBuZWVkIGZpdHRpbmcgKi8KPiA+ID4gICAJaWYg KGFkanVzdGVkX21vZGUtPmNydGNfaGRpc3BsYXkgPT0gcGlwZV9jb25maWctPnBpcGVfc3JjX3cg JiYKPiA+ID4gLQkgICAgYWRqdXN0ZWRfbW9kZS0+Y3J0Y192ZGlzcGxheSA9PSBwaXBlX2NvbmZp Zy0+cGlwZV9zcmNfaCkKPiA+ID4gKwkgICAgYWRqdXN0ZWRfbW9kZS0+Y3J0Y192ZGlzcGxheSA9 PSBwaXBlX2NvbmZpZy0+cGlwZV9zcmNfaCAmJgo+ID4gPiArCSAgICBwaXBlX2NvbmZpZy0+aGRt aV9vdXRwdXQgIT0gRFJNX0hETUlfT1VUUFVUX1lDQkNSNDIwKQo+ID4gCj4gPiBJIGRvbid0IGxp a2UgdGhhdCB0aGUga25vd2xlZGdlIHRoYXQgWUNCQ1I0MjAgbmVlZHMgdGhlIHNjYWxlciBpcyBz cHJlYWQKPiA+IGV2ZXJ5d2hlcmUsIGluY2x1ZGluZyB0aGlzIGZ1bmN0aW9uIHRoYXQgc2hvdWxk IG9ubHkgZGVhbCB3aXRoIHBhbmVsIGZpdHRpbmcuIEkKPiA+IHdvdWxkIHJhdGhlciBhZGQgYSBm b3JjZSBwYXJhbWV0ZXIgdG8gaW50ZWxfcGNoX3BhbmVsX2ZpdHRpbmcoKSBhbmQKPiA+IHNrbF91 cGRhdGVfc2NhbGVyKCkgdGhhdCB3b3VsZCBtZWFuIHNldHVwIHRoZSBzY2FsZXIgZXZlbiBpZiBs b29rcyBsaWtlIGl0J3Mgbm90Cj4gPiBuZWNlc3NhcnkuIFRoYXQgd2F5IHRoZSBoZG1pIGNvZGUg d291bGQganVzdCBjYWxsIHRoZW0gd2l0aCBmb3JjZSBlbmFibGVkLAo+ID4gd2l0aG91dCBzcHJp bmtsaW5nICJoZG1pX291dHB1dCA9PSBZQ0JDUjQyMCIgZXZlcnl3aGVyZS4KPiAKPiBBcyBleHBs YWluZWQgaW4gdGhlIGNvbW1lbnQgYWJvdmUsIGl0cyBzcGVjaWFsIGNhc2UgdXNhZ2Ugb2YgcGlw ZSAKPiBzY2FsYXIsIGFuZCB0aGF0J3Mgd2h5IGJlaW5nIGNoZWNrZWQgc3BlY2lmaWNhbGx5LgoK SSdtIHN0aWxsIG5vdCBjb252aW5jZWQgYWJvdXQgdGhpcy4gSWYgdGhpcyBpcyBhIHNwZWNpYWwg c2NhbGVyIG1vZGUgdGhhdCBpcyBub3QKcGFuZWwgZml0dGluZywgdGhlbiB0aGlzIHNob3VsZCBk ZWZpbml0ZWx5IG5vdCB0b3VjaCBhIGZ1bmN0aW9uIGluCmludGVsX3BhbmVsLmMsIHNwZWNpYWxs eSBvbmUgd2l0aCAicGFuZWwgZml0dGluZyIgaW4gdGhlIG5hbWUuCgpNeSBwb2ludCBpcywgaWYg dGhpcyBpcyBwYW5lbCBmaXR0aW5nLCB0aGVuIGl0IHNob3VsZCB1c2UgcGFuZWwgZml0dGluZyBj b2RlCndpdGhvdXQgc3BlY2lhbCBjYXNpbmcuIElmIGl0IGlzbid0LCB0aGVuIGl0IHNob3VsZCBo YXZlIGl0cyBvd24gY29kZSBwYXRocy4gQnV0CnRoaXMgcGF0Y2gganVzdCBjcmVhdGVzIGEgYmx1 cnJ5IGxpbmUgd2hlcmUgdGhlIHBhbmVsIGZpdHRpbmcgY29kZSBuZWVkcyB0byBiZQpzcGVjaWFs IGNhc2VkIGZvciB3aGVuIHRoZSBIRE1JIG91dHB1dCBpcyBZQ0JDUjQyMCBhbmQgd2UgYXJlICpu b3QqIGFjdHVhbGx5CmRvaW5nIHBhbmVsIGZpdHRpbmcuCgoKQW5kZXIKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QK ZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=