From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: Re: [PATCH v3 1/6] drm/i915/display/icl: Save Master transcoder in slave's crtc_state for Transcoder Port Sync Date: Sun, 6 Oct 2019 20:43:31 -0700 Message-ID: <20191007034331.GE20745@intel.com> References: <20190922170807.12436-1-manasi.d.navare@intel.com> <20190930141415.GB1208@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 424FF6E44D for ; Mon, 7 Oct 2019 03:41:41 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190930141415.GB1208@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Cc: Daniel Vetter , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBTZXAgMzAsIDIwMTkgYXQgMDU6MTQ6MTVQTSArMDMwMCwgVmlsbGUgU3lyasOkbMOk IHdyb3RlOgo+IE9uIFN1biwgU2VwIDIyLCAyMDE5IGF0IDEwOjA4OjAyQU0gLTA3MDAsIE1hbmFz aSBOYXZhcmUgd3JvdGU6Cj4gPiBJbiBjYXNlIG9mIHRpbGVkIGRpc3BsYXlzIHdoZW4gdGhlIHR3 byB0aWxlcyBhcmUgc2VudCBhY3Jvc3MgdHdvIENSVENzCj4gPiBvdmVyIHR3byBzZXBhcmF0ZSBE UCBTU1QgY29ubmVjdG9ycywgd2UgbmVlZCBhIG1lY2hhbmlzbSB0byBzeW5jaHJvbml6ZQo+ID4g dGhlIHR3byBDUlRDcyBhbmQgdGhlaXIgY29ycmVzcG9uZGluZyB0cmFuc2NvZGVycy4KPiA+IFNv IHVzZSB0aGUgbWFzdGVyLXNsYXZlIG1vZGUgd2hlcmUgdGhlcmUgaXMgb25lIG1hc3RlciBjb3Jy ZXNwb25kaW5nCj4gPiB0byBsYXN0IGhvcml6b250YWwgYW5kIHZlcnRpY2FsIHRpbGUgdGhhdCBu ZWVkcyB0byBiZSBnZW5sb2NrZWQgd2l0aAo+ID4gYWxsIG90aGVyIHNsYXZlIHRpbGVzLgo+ID4g VGhpcyBwYXRjaCBpZGVudGlmaWVzIHNhdmVzIHRoZSBtYXN0ZXIgdHJhbnNjb2RlciBpbiBhbGwg dGhlIHNsYXZlCj4gPiBDUlRDIHN0YXRlcy4gVGhpcyBpcyBuZWVkZWQgdG8gc2VsZWN0IHRoZSBt YXN0ZXIgQ1JUQy90cmFuc2NvZGVyCj4gPiB3aGlsZSBjb25maWd1cmluZyB0cmFuc2NvZGVyIHBv cnQgc3luYyBmb3IgdGhlIGNvcnJlc3BvbmRpbmcgc2xhdmVzLgo+ID4gCj4gPiB2NDoKPiA+ICog UmViYXNlCj4gPiB2MzoKPiA+ICogVXNlIG1hc3Rlcl90cmFtc2NvZGVyIGluc3RlYWQgb2YgbWFz dGVyX2NydGMgZm9yIHZhbGlkCj4gPiBIVyBzdGF0ZSByZWFkb3V0cyAoVmlsbGUpCj4gPiB2MjoK PiA+ICogTW92ZSB0aGlzIHRvIGludGVsX21vZGVfc2V0X3BpcGVfY29uZmlnKEphbmkgTiwgVmls bGUpCj4gPiAqIFVzZSBzbGF2ZV9iaXRtYXNrIHRvIHNhdmUgYXNzb2NpYXRlZCBzbGF2ZXMgaW4g bWFzdGVyIGNydGMgc3RhdGUgKFZpbGxlKQo+ID4gCj4gPiBDYzogRGFuaWVsIFZldHRlciA8ZGFu aWVsLnZldHRlckBmZndsbC5jaD4KPiA+IENjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmph bGFAbGludXguaW50ZWwuY29tPgo+ID4gQ2M6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxh bmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cj4gPiBDYzogTWF0dCBSb3BlciA8bWF0dGhldy5kLnJv cGVyQGludGVsLmNvbT4KPiA+IFNpZ25lZC1vZmYtYnk6IE1hbmFzaSBOYXZhcmUgPG1hbmFzaS5k Lm5hdmFyZUBpbnRlbC5jb20+Cj4gPiBSZXZpZXdlZC1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1h YXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPiA+IC0tLQo+ID4gIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jICB8IDEyMyArKysrKysrKysrKysrKysr KysKPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuaCAgfCAg IDMgKwo+ID4gIC4uLi9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaCAgICB8 ICAgNiArCj4gPiAgMyBmaWxlcyBjaGFuZ2VkLCAxMzIgaW5zZXJ0aW9ucygrKQo+ID4gCj4gPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwo+ID4gaW5kZXgg YzA1YmE2YWY2MjI2Li40ZmYzNzVkNTg1MmQgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKPiA+IEBAIC01MjEsNiArNTIxLDI0IEBAIG5l ZWRzX21vZGVzZXQoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnN0YXRlKQo+ID4gIAly ZXR1cm4gZHJtX2F0b21pY19jcnRjX25lZWRzX21vZGVzZXQoJnN0YXRlLT5iYXNlKTsKPiA+ICB9 Cj4gPiAgCj4gPiArYm9vbAo+ID4gK2lzX3RyYW5zX3BvcnRfc3luY19tb2RlKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAKPiBSZWR1bmRhbnQgZnVuY3Rpb24gcGFyYW1ldGVy LiBDYW4gYmUgZGVyaXZlZCBpZiBuZWVkZWQuCgpPawoKPiAKPiA+ICsJCQljb25zdCBzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqc3RhdGUpCj4gCj4gJ2NydGNfc3RhdGUnCgpPawoKCj4gCj4gPiAr ewo+ID4gKwlyZXR1cm4gKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTEgJiYKPiAKPiBJIGRvbid0 IHRoaW5rIHdlIG5lZWQgYSBnZW4gY2hlY2sgYXQgYWxsLiBUaGUgc3RhdGUgc2hvdWxkIG5vdCBo YXZlCj4gbWFzdGVyL3NsYXZlcyBzZXQgaWYgdGhlIGZlYXR1cmUgaXMgbm90IHN1cHBvcnRlZC4K Ck9rIHdpbGwgcmVtb3ZlIHRoaXMgaGVyZSBhbmQgZm9yIG1hc3RlciBhcyB3ZWxsCgo+IAo+ID4g KwkJKHN0YXRlLT5tYXN0ZXJfdHJhbnNjb2RlciAhPSBJTlZBTElEX1RSQU5TQ09ERVIgfHwKPiA+ ICsJCSBzdGF0ZS0+c3luY19tb2RlX3NsYXZlc19tYXNrKSk7Cj4gPiArfQo+ID4gKwo+ID4gK3N0 YXRpYyBib29sCj4gPiAraXNfdHJhbnNfcG9ydF9zeW5jX21hc3RlcihzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsCj4gPiArCQkJICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqc3RhdGUpCj4gPiArewo+ID4gKwlyZXR1cm4gKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTEg JiYKPiA+ICsJCShzdGF0ZS0+bWFzdGVyX3RyYW5zY29kZXIgPT0gSU5WQUxJRF9UUkFOU0NPREVS ICYmCj4gPiArCQkgc3RhdGUtPnN5bmNfbW9kZV9zbGF2ZXNfbWFzaykpOwo+ID4gK30KPiA+ICsK PiA+ICAvKgo+ID4gICAqIFBsYXRmb3JtIHNwZWNpZmljIGhlbHBlcnMgdG8gY2FsY3VsYXRlIHRo ZSBwb3J0IFBMTCBsb29wYmFjay0gKGNsb2NrLm0pLAo+ID4gICAqIGFuZCBwb3N0LWRpdmlkZXIg KGNsb2NrLnApIHZhbHVlcywgcHJlLSAoY2xvY2sudmNvKSBhbmQgcG9zdC1kaXZpZGVkIGZhc3QK PiA+IEBAIC0xMTc3Myw2ICsxMTc5MSw5MSBAQCBzdGF0aWMgYm9vbCBjOF9wbGFuZXNfY2hhbmdl ZChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqbmV3X2NydGNfc3RhdGUpCj4gPiAgCXJl dHVybiAhb2xkX2NydGNfc3RhdGUtPmM4X3BsYW5lcyAhPSAhbmV3X2NydGNfc3RhdGUtPmM4X3Bs YW5lczsKPiA+ICB9Cj4gPiAgCj4gPiArc3RhdGljIGludCBpY2xfYWRkX3N5bmNfbW9kZV9jcnRj cyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gCj4gaW50ZWxfIHR5cGVzIGFsbCBvdmVyIHBsZWFz ZS4KClllcyBpIHRoaW5rIHRoaXMgcGF0Y2ggd2FzIHdyaXR0ZW4gd2UgY2hhbmdlZCBldmVyeXRo aW5nIHRvIGludGVsXyBzdGF0ZXMsIHdpbGwgY2hhbmdlIGl0IGFsbAp0byBpbnRlbCBzdGF0ZXMK CkJ1dCBkbyB3ZSBzdGxsIGtlZXAgZHJtX2F0b21pY19zdGF0ZSBvciBjaGFuZ2UgdGhhdCB0byBp bnRlbF9hdG9taWNfc3RhdGUgYXMgd2VsbD8KCj4gCj4gQWxzbyBkb24ndCBuZWVkIGFsbCB0aHJl ZSBmdW5jaXRvbiBhcmd1bWVudHMuIEVpdGhlciBqdXN0Cj4gY3J0Y19zdGF0ZSBvciBzdGF0ZStj cnRjIHdpbGwgZG8uCgpIbW0sIGJ1dCBJIGRvIG5lZWQgdGhlIGF0b21pY19zdGF0ZSwgY3J0Y19z dGF0ZSBhbmQgYWxzbyB0aGUgY3J0YyBpbiB0aGUgbW9kZXNldAoKCj4gCj4gPiArCQkJCSAgIHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ID4gKwkJCQkgICBzdHJ1Y3QgZHJt X2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gPiArewo+ID4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPmJhc2UuY3J0Yy0+ZGV2KTsKPiA+ICsJ c3RydWN0IGRybV9jb25uZWN0b3IgKm1hc3Rlcl9jb25uZWN0b3IsICpjb25uZWN0b3I7Cj4gPiAr CXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uZWN0b3Jfc3RhdGU7Cj4gPiArCXN0cnVj dCBkcm1fY29ubmVjdG9yX2xpc3RfaXRlciBjb25uX2l0ZXI7Cj4gPiArCXN0cnVjdCBkcm1fY3J0 YyAqbWFzdGVyX2NydGMgPSBOVUxMOwo+ID4gKwlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKm1hc3Rl cl9jcnRjX3N0YXRlOwo+ID4gKwlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqbWFzdGVyX3BpcGVf Y29uZmlnOwo+ID4gKwlpbnQgaSwgdGlsZV9ncm91cF9pZDsKPiA+ICsKPiA+ICsJaWYgKElOVEVM X0dFTihkZXZfcHJpdikgPCAxMSkKPiA+ICsJCXJldHVybiAwOwo+ID4gKwo+ID4gKwkvKgo+ID4g KwkgKiBJbiBjYXNlIG9mIHRpbGVkIGRpc3BsYXlzIHRoZXJlIGNvdWxkIGJlIG9uZSBvciBtb3Jl IHNsYXZlcyBidXQgdGhlcmUgaXMKPiA+ICsJICogb25seSBvbmUgbWFzdGVyLiBMZXRzIG1ha2Ug dGhlIENSVEMgdXNlZCBieSB0aGUgY29ubmVjdG9yIGNvcnJlc3BvbmRpbmcKPiA+ICsJICogdG8g dGhlIGxhc3QgaG9yaXpvbmFsIGFuZCBsYXN0IHZlcnRpY2FsIHRpbGUgYSBtYXN0ZXIvZ2VubG9j ayBDUlRDLgo+ID4gKwkgKiBBbGwgdGhlIG90aGVyIENSVENzIGNvcnJlc3BvbmRpbmcgdG8gb3Ro ZXIgdGlsZXMgb2YgdGhlIHNhbWUgVGlsZSBncm91cAo+ID4gKwkgKiBhcmUgdGhlIHNsYXZlIENS VENzIGFuZCBob2xkIGEgcG9pbnRlciB0byB0aGVpciBnZW5sb2NrIENSVEMuCj4gPiArCSAqLwo+ ID4gKwlmb3JfZWFjaF9uZXdfY29ubmVjdG9yX2luX3N0YXRlKHN0YXRlLCBjb25uZWN0b3IsIGNv bm5lY3Rvcl9zdGF0ZSwgaSkgewo+ID4gKwkJaWYgKGNvbm5lY3Rvcl9zdGF0ZS0+Y3J0YyAhPSBj cnRjKQo+ID4gKwkJCWNvbnRpbnVlOwo+ID4gKwkJaWYgKCFjb25uZWN0b3ItPmhhc190aWxlKQo+ ID4gKwkJCWNvbnRpbnVlOwo+ID4gKwkJaWYgKGNydGNfc3RhdGUtPmJhc2UubW9kZS5oZGlzcGxh eSAhPSBjb25uZWN0b3ItPnRpbGVfaF9zaXplIHx8Cj4gPiArCQkgICAgY3J0Y19zdGF0ZS0+YmFz ZS5tb2RlLnZkaXNwbGF5ICE9IGNvbm5lY3Rvci0+dGlsZV92X3NpemUpCj4gPiArCQkJcmV0dXJu IDA7Cj4gPiArCQlpZiAoY29ubmVjdG9yLT50aWxlX2hfbG9jID09IGNvbm5lY3Rvci0+bnVtX2hf dGlsZSAtIDEgJiYKPiA+ICsJCSAgICBjb25uZWN0b3ItPnRpbGVfdl9sb2MgPT0gY29ubmVjdG9y LT5udW1fdl90aWxlIC0gMSkKPiA+ICsJCQljb250aW51ZTsKPiA+ICsJCWNydGNfc3RhdGUtPnN5 bmNfbW9kZV9zbGF2ZXNfbWFzayA9IDA7Cj4gPiArCQl0aWxlX2dyb3VwX2lkID0gY29ubmVjdG9y LT50aWxlX2dyb3VwLT5pZDsKPiA+ICsJCWRybV9jb25uZWN0b3JfbGlzdF9pdGVyX2JlZ2luKCZk ZXZfcHJpdi0+ZHJtLCAmY29ubl9pdGVyKTsKPiA+ICsJCWRybV9mb3JfZWFjaF9jb25uZWN0b3Jf aXRlcihtYXN0ZXJfY29ubmVjdG9yLCAmY29ubl9pdGVyKSB7Cj4gPiArCQkJc3RydWN0IGRybV9j b25uZWN0b3Jfc3RhdGUgKm1hc3Rlcl9jb25uX3N0YXRlID0gTlVMTDsKPiA+ICsKPiA+ICsJCQlp ZiAoIW1hc3Rlcl9jb25uZWN0b3ItPmhhc190aWxlKQo+ID4gKwkJCQljb250aW51ZTsKPiA+ICsJ CQlpZiAobWFzdGVyX2Nvbm5lY3Rvci0+dGlsZV9oX2xvYyAhPSBtYXN0ZXJfY29ubmVjdG9yLT5u dW1faF90aWxlIC0gMSB8fAo+ID4gKwkJCSAgICBtYXN0ZXJfY29ubmVjdG9yLT50aWxlX3ZfbG9j ICE9IG1hc3Rlcl9jb25uZWN0b3ItPm51bV92X3RpbGUgLSAxKQo+ID4gKwkJCQljb250aW51ZTsK PiA+ICsJCQlpZiAobWFzdGVyX2Nvbm5lY3Rvci0+dGlsZV9ncm91cC0+aWQgIT0gdGlsZV9ncm91 cF9pZCkKPiA+ICsJCQkJY29udGludWU7Cj4gPiArCj4gPiArCQkJbWFzdGVyX2Nvbm5fc3RhdGUg PSBkcm1fYXRvbWljX2dldF9jb25uZWN0b3Jfc3RhdGUoc3RhdGUsCj4gPiArCQkJCQkJCQkJICAg bWFzdGVyX2Nvbm5lY3Rvcik7Cj4gPiArCQkJaWYgKElTX0VSUihtYXN0ZXJfY29ubl9zdGF0ZSkp IHsKPiA+ICsJCQkJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfZW5kKCZjb25uX2l0ZXIpOwo+ID4g KwkJCQlyZXR1cm4gUFRSX0VSUihtYXN0ZXJfY29ubl9zdGF0ZSk7Cj4gPiArCQkJfQo+ID4gKwkJ CWlmIChtYXN0ZXJfY29ubl9zdGF0ZS0+Y3J0Yykgewo+ID4gKwkJCQltYXN0ZXJfY3J0YyA9IG1h c3Rlcl9jb25uX3N0YXRlLT5jcnRjOwo+ID4gKwkJCQlicmVhazsKPiA+ICsJCQl9Cj4gPiArCQl9 Cj4gPiArCQlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9lbmQoJmNvbm5faXRlcik7Cj4gPiArCj4g PiArCQlpZiAoIW1hc3Rlcl9jcnRjKSB7Cj4gPiArCQkJRFJNX0RFQlVHX0tNUygiQ291bGQgbm90 IGZpbmQgTWFzdGVyIENSVEMgZm9yIFNsYXZlIENSVEMgJWRcbiIsCj4gPiArCQkJCSAgICAgIGNv bm5lY3Rvcl9zdGF0ZS0+Y3J0Yy0+YmFzZS5pZCk7Cj4gPiArCQkJcmV0dXJuIC1FSU5WQUw7Cj4g PiArCQl9Cj4gPiArCj4gPiArCQltYXN0ZXJfY3J0Y19zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X2Ny dGNfc3RhdGUoc3RhdGUsCj4gPiArCQkJCQkJCSAgICAgIG1hc3Rlcl9jcnRjKTsKPiA+ICsJCWlm IChJU19FUlIobWFzdGVyX2NydGNfc3RhdGUpKQo+ID4gKwkJCXJldHVybiBQVFJfRVJSKG1hc3Rl cl9jcnRjX3N0YXRlKTsKPiA+ICsKPiA+ICsJCW1hc3Rlcl9waXBlX2NvbmZpZyA9IHRvX2ludGVs X2NydGNfc3RhdGUobWFzdGVyX2NydGNfc3RhdGUpOwo+ID4gKwkJY3J0Y19zdGF0ZS0+bWFzdGVy X3RyYW5zY29kZXIgPSBtYXN0ZXJfcGlwZV9jb25maWctPmNwdV90cmFuc2NvZGVyOwo+ID4gKwkJ bWFzdGVyX3BpcGVfY29uZmlnLT5zeW5jX21vZGVfc2xhdmVzX21hc2sgfD0KPiA+ICsJCQlCSVQo Y3J0Y19zdGF0ZS0+Y3B1X3RyYW5zY29kZXIpOwo+ID4gKwkJRFJNX0RFQlVHX0tNUygiTWFzdGVy IFRyYW5zY29kZXIgPSAlcyBhZGRlZCBmb3IgU2xhdmUgQ1JUQyA9ICVkLCBzbGF2ZSB0cmFuc2Nv ZGVyIGJpdG1hc2sgPSAlZFxuIiwKPiA+ICsJCQkgICAgICB0cmFuc2NvZGVyX25hbWUoY3J0Y19z dGF0ZS0+bWFzdGVyX3RyYW5zY29kZXIpLAo+ID4gKwkJCSAgICAgIGNydGNfc3RhdGUtPmJhc2Uu Y3J0Yy0+YmFzZS5pZCwKPiA+ICsJCQkgICAgICBtYXN0ZXJfcGlwZV9jb25maWctPnN5bmNfbW9k ZV9zbGF2ZXNfbWFzayk7Cj4gPiArCX0KPiA+ICsKPiA+ICsJcmV0dXJuIDA7Cj4gPiArfQo+ID4g Kwo+ID4gIHN0YXRpYyBpbnQgaW50ZWxfY3J0Y19hdG9taWNfY2hlY2soc3RydWN0IGRybV9jcnRj ICpfY3J0YywKPiA+ICAJCQkJICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpfY3J0Y19zdGF0ZSkK PiA+ICB7Cj4gPiBAQCAtMTIyNzYsNiArMTIzNzksMTIgQEAgY2xlYXJfaW50ZWxfY3J0Y19zdGF0 ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiA+ICAJaWYgKElTX0c0WChk ZXZfcHJpdikgfHwKPiA+ICAJICAgIElTX1ZBTExFWVZJRVcoZGV2X3ByaXYpIHx8IElTX0NIRVJS WVZJRVcoZGV2X3ByaXYpKQo+ID4gIAkJc2F2ZWRfc3RhdGUtPndtID0gY3J0Y19zdGF0ZS0+d207 Cj4gPiArCS8qIFNhdmUgdGhlIHNsYXZlIGJpdG1hc2sgd2hpY2ggZ2V0cyBmaWxsZWQgZm9yIG1h c3RlciBjcnRjIHN0YXRlIGR1cmluZwo+ID4gKwkgKiBzbGF2ZSBhdG9taWMgY2hlY2sgY2FsbC4K PiA+ICsJICovCj4gCj4gV3JvbmcgY29tbWVudCBmb3JtYXQuCgpXaGF0IGlzIHdyb25nIHdpdGgg dGhlIGZvcm1hdD8KCj4gCj4gPiArCWlmIChpc190cmFuc19wb3J0X3N5bmNfbWFzdGVyKGRldl9w cml2LCBjcnRjX3N0YXRlKSkKPiA+ICsJCXNhdmVkX3N0YXRlLT5zeW5jX21vZGVfc2xhdmVzX21h c2sgPQo+ID4gKwkJCWNydGNfc3RhdGUtPnN5bmNfbW9kZV9zbGF2ZXNfbWFzazsKPiA+ICAKPiA+ ICAJLyogS2VlcCBiYXNlIGRybV9jcnRjX3N0YXRlIGludGFjdCwgb25seSBjbGVhciBvdXIgZXh0 ZW5kZWQgc3RydWN0ICovCj4gPiAgCUJVSUxEX0JVR19PTihvZmZzZXRvZihzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSwgYmFzZSkpOwo+ID4gQEAgLTEyMzY5LDYgKzEyNDc4LDE1IEBAIGludGVsX21v ZGVzZXRfcGlwZV9jb25maWcoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQo+ ID4gIAlkcm1fbW9kZV9zZXRfY3J0Y2luZm8oJnBpcGVfY29uZmlnLT5iYXNlLmFkanVzdGVkX21v ZGUsCj4gPiAgCQkJICAgICAgQ1JUQ19TVEVSRU9fRE9VQkxFKTsKPiA+ICAKPiA+ICsJLyogU2V0 IHRoZSBjcnRjX3N0YXRlIGRlZmF1bHRzIGZvciB0cmFuc19wb3J0X3N5bmMgKi8KPiA+ICsJcGlw ZV9jb25maWctPm1hc3Rlcl90cmFuc2NvZGVyID0gSU5WQUxJRF9UUkFOU0NPREVSOwo+ID4gKwly ZXQgPSBpY2xfYWRkX3N5bmNfbW9kZV9jcnRjcyhjcnRjLCBwaXBlX2NvbmZpZywgc3RhdGUpOwo+ ID4gKwlpZiAocmV0KSB7Cj4gPiArCQlEUk1fREVCVUdfS01TKCJDYW5ub3QgYXNzaWduIFN5bmMg TW9kZSBDUlRDczogJWRcbiIsCj4gPiArCQkJICAgICAgcmV0KTsKPiA+ICsJCXJldHVybiByZXQ7 Cj4gPiArCX0KPiA+ICsKPiA+ICAJLyogUGFzcyBvdXIgbW9kZSB0byB0aGUgY29ubmVjdG9ycyBh bmQgdGhlIENSVEMgdG8gZ2l2ZSB0aGVtIGEgY2hhbmNlIHRvCj4gPiAgCSAqIGFkanVzdCBpdCBh Y2NvcmRpbmcgdG8gbGltaXRhdGlvbnMgb3IgY29ubmVjdG9yIHByb3BlcnRpZXMsIGFuZCBhbHNv Cj4gPiAgCSAqIGEgY2hhbmNlIHRvIHJlamVjdCB0aGUgbW9kZSBlbnRpcmVseS4KPiA+IEBAIC0x Mjg4Miw2ICsxMzAwMCwxMSBAQCBpbnRlbF9waXBlX2NvbmZpZ19jb21wYXJlKGNvbnN0IHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpjdXJyZW50X2NvbmZpZywKPiA+ICAJUElQRV9DT05GX0NIRUNL X0lORk9GUkFNRShoZG1pKTsKPiA+ICAJUElQRV9DT05GX0NIRUNLX0lORk9GUkFNRShkcm0pOwo+ ID4gIAo+ID4gKwlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMSkgewo+IAo+IEp1c3QgZG8g dGhlIGNoZWNrIHVuY29kaXRpb25hbGx5LgoKT2sgbWFrZXMgc2Vucywgd2lsbCByZW1vdmUgdGhl IGdlbiBjaGVjawoKUmVnYXJkcwpNYW5hc2kKCj4gCj4gPiArCQlQSVBFX0NPTkZfQ0hFQ0tfSShz eW5jX21vZGVfc2xhdmVzX21hc2spOwo+ID4gKwkJUElQRV9DT05GX0NIRUNLX0kobWFzdGVyX3Ry YW5zY29kZXIpOwo+ID4gKwl9Cj4gPiArCj4gPiAgI3VuZGVmIFBJUEVfQ09ORl9DSEVDS19YCj4g PiAgI3VuZGVmIFBJUEVfQ09ORl9DSEVDS19JCj4gPiAgI3VuZGVmIFBJUEVfQ09ORl9DSEVDS19C T09MCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9k aXNwbGF5LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuaAo+ ID4gaW5kZXggYjFhZTBlNTljNzE1Li4xNjIzZmFjZTQzNmIgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuaAo+ID4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmgKPiA+IEBAIC05Myw2ICs5Myw3 IEBAIGVudW0gcGlwZSB7Cj4gPiAgI2RlZmluZSBwaXBlX25hbWUocCkgKChwKSArICdBJykKPiA+ ICAKPiA+ICBlbnVtIHRyYW5zY29kZXIgewo+ID4gKwlJTlZBTElEX1RSQU5TQ09ERVIgPSAtMSwK PiA+ICAJLyoKPiA+ICAJICogVGhlIGZvbGxvd2luZyB0cmFuc2NvZGVycyBoYXZlIGEgMToxIHRy YW5zY29kZXIgLT4gcGlwZSBtYXBwaW5nLAo+ID4gIAkgKiBrZWVwIHRoZWlyIHZhbHVlcyBmaXhl ZDogdGhlIGNvZGUgYXNzdW1lcyB0aGF0IFRSQU5TQ09ERVJfQT0wLCB0aGUKPiA+IEBAIC00NTMs NiArNDU0LDggQEAgZW51bSBkcm1fbW9kZV9zdGF0dXMKPiA+ICBpbnRlbF9tb2RlX3ZhbGlkX21h eF9wbGFuZV9zaXplKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+ICAJCQkJ Y29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpOwo+ID4gIGVudW0gcGh5IGludGVs X3BvcnRfdG9fcGh5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LCBlbnVtIHBvcnQgcG9y dCk7Cj4gPiArYm9vbCBpc190cmFuc19wb3J0X3N5bmNfbW9kZShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSwKPiA+ICsJCQkgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpz dGF0ZSk7Cj4gPiAgCj4gPiAgdm9pZCBpbnRlbF9wbGFuZV9kZXN0cm95KHN0cnVjdCBkcm1fcGxh bmUgKnBsYW5lKTsKPiA+ICB2b2lkIGk4MzBfZW5hYmxlX3BpcGUoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LCBlbnVtIHBpcGUgcGlwZSk7Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmggYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaAo+ID4gaW5kZXggZDVjYzRi ODEwZDllLi4xN2ZmMzRjYTI5OGIgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaAo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmgKPiA+IEBAIC05OTEsNiArOTkxLDEy IEBAIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlIHsKPiA+ICAKPiA+ICAJLyogRm9yd2FyZCBFcnJv ciBjb3JyZWN0aW9uIFN0YXRlICovCj4gPiAgCWJvb2wgZmVjX2VuYWJsZTsKPiA+ICsKPiA+ICsJ LyogUG9pbnRlciB0byBtYXN0ZXIgdHJhbnNjb2RlciBpbiBjYXNlIG9mIHRpbGVkIGRpc3BsYXlz ICovCj4gPiArCWVudW0gdHJhbnNjb2RlciBtYXN0ZXJfdHJhbnNjb2RlcjsKPiA+ICsKPiA+ICsJ LyogQml0bWFzayB0byBpbmRpY2F0ZSBzbGF2ZXMgYXR0YWNoZWQgKi8KPiA+ICsJdTggc3luY19t b2RlX3NsYXZlc19tYXNrOwo+ID4gIH07Cj4gPiAgCj4gPiAgc3RydWN0IGludGVsX2NydGMgewo+ ID4gLS0gCj4gPiAyLjE5LjEKPiAKPiAtLSAKPiBWaWxsZSBTeXJqw6Rsw6QKPiBJbnRlbApfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=