From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 19/20] drm/i915: Move AVI infoframe function to DDI layer Date: Thu, 13 Jul 2017 16:10:13 +0300 Message-ID: <20170713131013.GE12629@intel.com> References: <1499685528-6926-1-git-send-email-shashank.sharma@intel.com> <1499685528-6926-20-git-send-email-shashank.sharma@intel.com> <20170712171531.GG12629@intel.com> <13ac46b9-4c4f-13c9-198e-fb210a363558@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <13ac46b9-4c4f-13c9-198e-fb210a363558@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" Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBKdWwgMTMsIDIwMTcgYXQgMTA6Mjg6MDBBTSArMDUzMCwgU2hhcm1hLCBTaGFzaGFu ayB3cm90ZToKPiBUaGFua3MgZm9yIHRoZSByZXZpZXcsIFZpbGxlLgo+IAo+IE15IGNvbW1lbnRz LCBpbmxpbmUuCj4gCj4gUmVnYXJkcwo+IFNoYXNoYW5rCj4gT24gNy8xMi8yMDE3IDEwOjQ1IFBN LCBWaWxsZSBTeXJqw6Rsw6Qgd3JvdGU6Cj4gPiBPbiBNb24sIEp1bCAxMCwgMjAxNyBhdCAwNDo0 ODo0N1BNICswNTMwLCBTaGFzaGFuayBTaGFybWEgd3JvdGU6Cj4gPj4gV2UgaGF2ZSBhbiBleGlz dGluZyBmdW5jdGlvbiB0byBwcmVwYXJlIEFWSSBpbmZvZnJhbWVzIGZvciBIRE1JLAo+ID4+IHRo aXMgcGF0Y2ggbW92ZXMgdGhhdCBmdW5jdGlvbiBmcm9tIEhETUkgbGF5ZXIsIHRvIERESSBsYXll ciwgc28KPiA+PiB0aGF0IHdlIGNhbiByZXVzZSB0aGUgZnVuY3Rpb24gZm9yIERQKExTUENPTikg ZGlzcGxheXMgdG9vLgo+ID4+Cj4gPj4gVGhpcyBwYXRjaDoKPiA+PiAtIE1vdmVzIHRoZSBpbnRl bF9oZG1pX3NldF9hdmlfaW5mb2ZyYW1lcyBmdW5jdGlvbiBpbiBkZGkgbGF5ZXIuCj4gPj4gLSBB ZGRzIGNvZGUgdG8gYWNjb21tb2RhdGUgTFNQQ09OIGluIHRoZSBzYW1lIGZ1bmN0aW9uLgo+ID4+ IC0gTGlua3MgdGhpcyBmdW5jdGlvbiBhcyBBVkkgaW5mb2ZyYW1lIHNldHVwIGZ1bmN0aW9uIGZv ciBMU1BDT04uCj4gPj4KPiA+PiBDYzogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxp bnV4LmludGVsLmNvbT4KPiA+PiBDYzogSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPgo+ ID4+IFNpZ25lZC1vZmYtYnk6IFNoYXNoYW5rIFNoYXJtYSA8c2hhc2hhbmsuc2hhcm1hQGludGVs LmNvbT4KPiA+PiAtLS0KPiA+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jICAg IHwgODkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQo+ID4+ICAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgfCAgOSArKysrCj4gPj4gICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgICB8IDUyICsrKy0tLS0tLS0tLS0tLS0tLS0tLS0KPiA+ PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xzcGNvbi5jIHwgIDEgKwo+ID4+ICAgNCBm aWxlcyBjaGFuZ2VkLCA5OSBpbnNlcnRpb25zKCspLCA1MiBkZWxldGlvbnMoLSkKPiA+Pgo+ID4+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gPj4gaW5kZXggODBlOTZmMS4uZjY5MTcxMCAxMDA2 NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ID4+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gPj4gQEAgLTIwMDMsOCArMjAwMyw3 NiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfY2xrX3NlbGVjdChzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlciwKPiA+PiAgIAl9Cj4gPj4gICB9Cj4gPj4gICAKPiA+PiArdm9pZCBpbnRlbF9k ZGlfc2V0X2F2aV9pbmZvZnJhbWUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+ID4+ICsJ CQkJICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiA+IE5BSy4g UGxlYXNlIGxvb2sgYXQgbXkgJ21vdmUgaW5mb2ZyYW1lIHN0dWZmIGludG8gaW50ZWxfZGlnX3Bv cnQnIHNlcmllcwo+ID4gaWYgeW91IG5lZWQgaW5mb2ZyYW1lcyB3aXRoIERQLiBJSVJDIHlvdSBh bHJlYWR5IHJldmlld2VkIHBhcnQgb2YgdGhhdC4KPiBPaCwgbG9va3MgbGlrZSB3ZSB3ZXJlIHRo aW5raW5nIGluIHRoZSBzYW1lIGRpcmVjdGlvbiA6KS4KPiBTdXJlLCBJIHdpbGwgbG9vayBmb3Ig dGhlIHdob2xlIHBhdGNoIHNlcmllcywgYW5kIHdpbGwgcmUtdXNlIHRoYXQgY29kZSAKPiBpbiBM U1BDT04vRFAgQVZJIElGIHNlcmllcy4KPiBBbHNvLCBkbyBsZXQgbWUga25vdyBpZiB5b3UgbmVl ZCByZXZpZXcgZm9yIHRob3NlICEKClBsZWFzZSBkbyByZXZpZXcgaWYgeW91IGNhbi4gSSB3YXMg YWxzbyBob3BpbmcgZm9yIHNvbWUgcmV2aWV3CmZyb20gcGVvcGxlIGluIHRoZSBQU1IgZnJvbnQg YnV0IHRoYXQgZGlkbid0IGhhcHBlbiBzbyBwcm9iYWJseQpubyBvbmUgZWxzZSBpcyBsb29raW5n IGF0IHRob3NlIHBhdGNoZXMgYW55bW9yZS4KCj4gCj4gLSBTaGFzaGFuawo+ID4+ICt7Cj4gPj4g KwlpbnQgcmV0Owo+ID4+ICsJdW5pb24gaGRtaV9pbmZvZnJhbWUgZnJhbWU7Cj4gPj4gKwlzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yOwo+ID4+ICsJc3RydWN0IGludGVsX2hkbWkgKmlu dGVsX2hkbWkgPSBlbmNfdG9faW50ZWxfaGRtaShlbmNvZGVyKTsKPiA+PiArCXN0cnVjdCBpbnRl bF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoZW5jb2Rlcik7Cj4gPj4gKwljb25zdCBz dHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9Cj4gPj4gKwkJCQkJJmNydGNf c3RhdGUtPmJhc2UuYWRqdXN0ZWRfbW9kZTsKPiA+PiArCWVudW0gaW50ZWxfb3V0cHV0X3R5cGUg dHlwZSA9IHRvX2ludGVsX2VuY29kZXIoZW5jb2RlciktPnR5cGU7Cj4gPj4gKwlib29sIGlzX2hk bWkyX3NpbmsgPSBmYWxzZTsKPiA+PiArCWJvb2wgcmdiX3FyYW5nZV9zZWxlY3RhYmxlID0gZmFs c2U7Cj4gPj4gKwllbnVtIGhkbWlfY29sb3JzcGFjZSBjb2xvcnNwYWNlID0gY3J0Y19zdGF0ZS0+ eWNiY3I0MjAgPwo+ID4+ICsJCQkJCSAgSERNSV9DT0xPUlNQQUNFX1lVVjQyMCA6Cj4gPj4gKwkJ CQkJICBIRE1JX0NPTE9SU1BBQ0VfUkdCOwo+ID4+ICsJYm9vbCByZ2JfcXJhbmdlX2xpbWl0ZWQg PSAgY3J0Y19zdGF0ZS0+bGltaXRlZF9jb2xvcl9yYW5nZSA/Cj4gPj4gKwkJCQkJSERNSV9RVUFO VElaQVRJT05fUkFOR0VfTElNSVRFRCA6Cj4gPj4gKwkJCQkJSERNSV9RVUFOVElaQVRJT05fUkFO R0VfRlVMTDsKPiA+PiArCj4gPj4gKwlzd2l0Y2ggKHR5cGUpIHsKPiA+PiArCWNhc2UgSU5URUxf T1VUUFVUX0hETUk6Cj4gPj4gKwkJY29ubmVjdG9yID0gJmludGVsX2hkbWktPmF0dGFjaGVkX2Nv bm5lY3Rvci0+YmFzZTsKPiA+PiArCQlpc19oZG1pMl9zaW5rID0gY29ubmVjdG9yLT5kaXNwbGF5 X2luZm8uaGRtaS5zY2RjLnN1cHBvcnRlZDsKPiA+PiArCQlyZ2JfcXJhbmdlX3NlbGVjdGFibGUg PSBpbnRlbF9oZG1pLT5yZ2JfcXVhbnRfcmFuZ2Vfc2VsZWN0YWJsZTsKPiA+PiArCQlicmVhazsK PiA+PiArCj4gPj4gKwljYXNlIElOVEVMX09VVFBVVF9EUDoKPiA+PiArCQkvKiBXZSBhcmUgaGVy ZSBtZWFucyBpdHMgYSBMU1BDT04gZGV2aWNlLCBzdGlsbCBiZSBwYXJhbm9pZCAqLwo+ID4+ICsJ CWlmICghY3J0Y19zdGF0ZS0+bHNwY29uX2FjdGl2ZSkgewo+ID4+ICsJCQlEUk1fRVJST1IoIk5v IExTUENPTiwgd2h5IGFtIEkgaGVyZSA/XG4iKTsKPiA+PiArCQkJcmV0dXJuOwo+ID4+ICsJCX0K PiA+PiArCj4gPj4gKwkJY29ubmVjdG9yID0gJmludGVsX2RwLT5hdHRhY2hlZF9jb25uZWN0b3It PmJhc2U7Cj4gPj4gKwkJaXNfaGRtaTJfc2luayA9IGNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmhk bWkuc2NkYy5zdXBwb3J0ZWQ7Cj4gPj4gKwkJaWYgKGNydGNfc3RhdGUtPnljYmNyNDIwKQo+ID4+ ICsJCQlyZ2JfcXJhbmdlX2xpbWl0ZWQgPSB0cnVlOwo+ID4+ICsJCWJyZWFrOwo+ID4+ICsKPiA+ PiArCWRlZmF1bHQ6Cj4gPj4gKwkJRFJNX0VSUk9SKCJObyBvdGhlciBlbmNvZGVyIGFsbG93ZWRc biIpOwo+ID4+ICsJCXJldHVybjsKPiA+PiArCX0KPiA+PiArCj4gPj4gKwlyZXQgPSBkcm1faGRt aV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZS5hdmksCj4gPj4gKwkJCQkJ CSAgICAgICBhZGp1c3RlZF9tb2RlLAo+ID4+ICsJCQkJCQkgICAgICAgaXNfaGRtaTJfc2luayk7 Cj4gPj4gKwlpZiAocmV0IDwgMCkgewo+ID4+ICsJCURSTV9FUlJPUigiY291bGRuJ3QgZmlsbCBB VkkgaW5mb2ZyYW1lXG4iKTsKPiA+PiArCQlyZXR1cm47Cj4gPj4gKwl9Cj4gPj4gKwo+ID4+ICsJ cmV0ID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9zZXRfY29sb3JzcGFjZSgmZnJhbWUuYXZpLAo+ ID4+ICsJCQkJCQkgICAgYWRqdXN0ZWRfbW9kZSwKPiA+PiArCQkJCQkJICAgIGNvbG9yc3BhY2Up Owo+ID4+ICsJaWYgKHJldCA8IDApIHsKPiA+PiArCQlEUk1fRVJST1IoImNvdWxkbid0IGZpbGwg QVZJIGNvbG9yc3BhY2VcbiIpOwo+ID4+ICsJCXJldHVybjsKPiA+PiArCX0KPiA+PiArCj4gPj4g Kwlkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX3F1YW50X3JhbmdlKCZmcmFtZS5hdmksIGFkanVzdGVk X21vZGUsCj4gPj4gKwkJCQkJICAgcmdiX3FyYW5nZV9saW1pdGVkLAo+ID4+ICsJCQkJCSAgIHJn Yl9xcmFuZ2Vfc2VsZWN0YWJsZSk7Cj4gPj4gKwo+ID4+ICsJaW50ZWxfd3JpdGVfaW5mb2ZyYW1l KGVuY29kZXIsIGNydGNfc3RhdGUsICZmcmFtZSk7Cj4gPj4gK30KPiA+PiArCj4gPj4gICBzdGF0 aWMgdm9pZCBpbnRlbF9kZGlfcHJlX2VuYWJsZV9kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlciwKPiA+PiAtCQkJCSAgICBpbnQgbGlua19yYXRlLCB1aW50MzJfdCBsYW5lX2NvdW50LAo+ ID4+ICsJCQkJICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywK PiA+PiAgIAkJCQkgICAgc3RydWN0IGludGVsX3NoYXJlZF9kcGxsICpwbGwsCj4gPj4gICAJCQkJ ICAgIGJvb2wgbGlua19tc3QpCj4gPj4gICB7Cj4gPj4gQEAgLTIwMTIsNiArMjA4MCw4IEBAIHN0 YXRpYyB2b2lkIGludGVsX2RkaV9wcmVfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyLAo+ID4+ICAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwo+ID4+ICAgCWVudW0gcG9ydCBwb3J0ID0gaW50ZWxfZGRp X2dldF9lbmNvZGVyX3BvcnQoZW5jb2Rlcik7Cj4gPj4gICAJc3RydWN0IGludGVsX2RpZ2l0YWxf cG9ydCAqZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoJmVuY29kZXItPmJhc2UpOwo+ID4+ICsJ aW50IGxpbmtfcmF0ZSA9IHBpcGVfY29uZmlnLT5wb3J0X2Nsb2NrOwo+ID4+ICsJdWludDMyX3Qg bGFuZV9jb3VudCA9IHBpcGVfY29uZmlnLT5sYW5lX2NvdW50Owo+ID4+ICAgCj4gPj4gICAJV0FS Tl9PTihsaW5rX21zdCAmJiAocG9ydCA9PSBQT1JUX0EgfHwgcG9ydCA9PSBQT1JUX0UpKTsKPiA+ PiAgIAo+ID4+IEBAIC0yMDMwLDYgKzIxMDAsMTQgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX3By ZV9lbmFibGVfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPj4gICAJaW50ZWxf ZHBfc3RhcnRfbGlua190cmFpbihpbnRlbF9kcCk7Cj4gPj4gICAJaWYgKHBvcnQgIT0gUE9SVF9B IHx8IElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkKPiA+PiAgIAkJaW50ZWxfZHBfc3RvcF9saW5r X3RyYWluKGludGVsX2RwKTsKPiA+PiArCj4gPj4gKwlpZiAocGlwZV9jb25maWctPmxzcGNvbl9h Y3RpdmUpIHsKPiA+PiArCQlzdHJ1Y3QgZHJtX2VuY29kZXIgKmRybV9lbmNvZGVyID0gJmVuY29k ZXItPmJhc2U7Cj4gPj4gKwkJc3RydWN0IGludGVsX2xzcGNvbiAqbHNwY29uID0gZW5jX3RvX2lu dGVsX2xzcGNvbihkcm1fZW5jb2Rlcik7Cj4gPj4gKwo+ID4+ICsJCWlmIChsc3Bjb24tPnNldF9p bmZvZnJhbWVzKQo+ID4+ICsJCQlsc3Bjb24tPnNldF9pbmZvZnJhbWVzKCZlbmNvZGVyLT5iYXNl LCBwaXBlX2NvbmZpZyk7Cj4gPj4gKwl9Cj4gPj4gICB9Cj4gPj4gICAKPiA+PiAgIHN0YXRpYyB2 b2lkIGludGVsX2RkaV9wcmVfZW5hYmxlX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29k ZXIsCj4gPj4gQEAgLTIwNzIsOCArMjE1MCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2RkaV9wcmVf ZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ID4+ICAgCj4gPj4gICAJaWYg KHR5cGUgPT0gSU5URUxfT1VUUFVUX0RQIHx8IHR5cGUgPT0gSU5URUxfT1VUUFVUX0VEUCkgewo+ ID4+ICAgCQlpbnRlbF9kZGlfcHJlX2VuYWJsZV9kcChlbmNvZGVyLAo+ID4+IC0JCQkJCXBpcGVf Y29uZmlnLT5wb3J0X2Nsb2NrLAo+ID4+IC0JCQkJCXBpcGVfY29uZmlnLT5sYW5lX2NvdW50LAo+ ID4+ICsJCQkJCXBpcGVfY29uZmlnLAo+ID4+ICAgCQkJCQlwaXBlX2NvbmZpZy0+c2hhcmVkX2Rw bGwsCj4gPj4gICAJCQkJCWludGVsX2NydGNfaGFzX3R5cGUocGlwZV9jb25maWcsCj4gPj4gICAJ CQkJCQkJICAgIElOVEVMX09VVFBVVF9EUF9NU1QpKTsKPiA+PiBAQCAtMjYyOCwxNyArMjcwNSwx NyBAQCB2b2lkIGludGVsX2RkaV9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwgZW51bSBwb3J0IHBvcnQpCj4gPj4gICAJfQo+ID4+ICAgCj4gPj4gICAJaWYgKGluaXRfbHNw Y29uKSB7Cj4gPj4gLQkJaWYgKGxzcGNvbl9pbml0KGludGVsX2RpZ19wb3J0KSkKPiA+PiAtCQkJ LyogVE9ETzogaGFuZGxlIGhkbWkgaW5mbyBmcmFtZSBwYXJ0ICovCj4gPj4gKwkJaWYgKGxzcGNv bl9pbml0KGludGVsX2RpZ19wb3J0KSkgewo+ID4+ICAgCQkJRFJNX0RFQlVHX0tNUygiTFNQQ09O IGluaXQgc3VjY2VzcyBvbiBwb3J0ICVjXG4iLAo+ID4+ICAgCQkJCXBvcnRfbmFtZShwb3J0KSk7 Cj4gPj4gLQkJZWxzZQo+ID4+ICsJCX0gZWxzZSB7Cj4gPj4gICAJCQkvKgo+ID4+ICAgCQkJICog TFNQQ09OIGluaXQgZmFpZWQsIGJ1dCBEUCBpbml0IHdhcyBzdWNjZXNzLCBzbwo+ID4+ICAgCQkJ ICogbGV0cyB0cnkgdG8gZHJpdmUgYXMgRFArKyBwb3J0Lgo+ID4+ICAgCQkJICovCj4gPj4gICAJ CQlEUk1fRVJST1IoIkxTUENPTiBpbml0IGZhaWxlZCBvbiBwb3J0ICVjXG4iLAo+ID4+ICAgCQkJ CXBvcnRfbmFtZShwb3J0KSk7Cj4gPj4gKwkJfQo+ID4+ICAgCX0KPiA+PiAgIAo+ID4+ICAgCXJl dHVybjsKPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2Lmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4+IGluZGV4IDQwZDU2ZjIuLmZh ZDlhNTMgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgK PiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4+IEBAIC0xMDc1 LDYgKzEwNzUsMTAgQEAgc3RydWN0IGludGVsX2xzcGNvbiB7Cj4gPj4gICAJYm9vbCBhY3RpdmU7 Cj4gPj4gICAJZW51bSBkcm1fbHNwY29uX21vZGUgbW9kZTsKPiA+PiAgIAllbnVtIGxzcGNvbl92 ZW5kb3IgdmVuZG9yOwo+ID4+ICsKPiA+PiArCS8qIEFWSSBJRiBzZXR1cCBmdW5jdGlvbiBmb3Ig TFNQQ09OICovCj4gPj4gKwl2b2lkICgqc2V0X2luZm9mcmFtZXMpKHN0cnVjdCBkcm1fZW5jb2Rl ciAqZW5jb2RlciwKPiA+PiArCQkJCWNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRj X3N0YXRlKTsKPiA+PiAgIH07Cj4gPj4gICAKPiA+PiAgIHN0cnVjdCBpbnRlbF9kaWdpdGFsX3Bv cnQgewo+ID4+IEBAIC0xMzIwLDYgKzEzMjQsOCBAQCB1OCBpbnRlbF9kZGlfZHBfdm9sdGFnZV9t YXgoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpOwo+ID4+ICAgCj4gPj4gICB1bnNpZ25l ZCBpbnQgaW50ZWxfZmJfYWxpZ25faGVpZ2h0KGNvbnN0IHN0cnVjdCBkcm1fZnJhbWVidWZmZXIg KmZiLAo+ID4+ICAgCQkJCSAgIGludCBwbGFuZSwgdW5zaWduZWQgaW50IGhlaWdodCk7Cj4gPj4g K3ZvaWQgaW50ZWxfZGRpX3NldF9hdmlfaW5mb2ZyYW1lKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5j b2RlciwKPiA+PiArCQkJCSBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSk7Cj4gPj4gICAKPiA+PiAgIC8qIGludGVsX2F1ZGlvLmMgKi8KPiA+PiAgIHZvaWQgaW50ZWxf aW5pdF9hdWRpb19ob29rcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ID4+ IEBAIC0xNjkwLDYgKzE2OTYsOSBAQCB2b2lkIGludGVsX2hkbWlfaGFuZGxlX3Npbmtfc2NyYW1i bGluZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciwKPiA+PiAgIAkJCQkgICAg ICAgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiA+PiAgIAkJCQkgICAgICAgYm9v bCBoaWdoX3RtZHNfY2xvY2tfcmF0aW8sCj4gPj4gICAJCQkJICAgICAgIGJvb2wgc2NyYW1ibGlu Zyk7Cj4gPj4gK3ZvaWQgaW50ZWxfd3JpdGVfaW5mb2ZyYW1lKHN0cnVjdCBkcm1fZW5jb2RlciAq ZW5jb2RlciwKPiA+PiArCQkJICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRj X3N0YXRlLAo+ID4+ICsJCQkgICAgdW5pb24gaGRtaV9pbmZvZnJhbWUgKmZyYW1lKTsKPiA+PiAg IHZvaWQgaW50ZWxfZHBfZHVhbF9tb2RlX3NldF90bWRzX291dHB1dChzdHJ1Y3QgaW50ZWxfaGRt aSAqaGRtaSwgYm9vbCBlbmFibGUpOwo+ID4+ICAgYm9vbCBpbnRlbF9oZG1pX3ljYmNyNDIwX2Nv bmZpZyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ID4+ICAgCQkJCXN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjb25maWcsCj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+ ID4+IGluZGV4IGEwOGFiOTkuLjdjYWI4NmEgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfaGRtaS5jCj4gPj4gQEAgLTQzMCw3ICs0MzAsNyBAQCBzdGF0aWMgYm9vbCBoc3dfaW5mb2Zy YW1lX2VuYWJsZWQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+ID4+ICAgICogdHJpY2sg dGhlbSBieSBnaXZpbmcgYW4gb2Zmc2V0IGludG8gdGhlIGJ1ZmZlciBhbmQgbW92aW5nIGJhY2sg dGhlIGhlYWRlcgo+ID4+ICAgICogYnl0ZXMgYnkgb25lLgo+ID4+ICAgICovCj4gPj4gLXN0YXRp YyB2b2lkIGludGVsX3dyaXRlX2luZm9mcmFtZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIs Cj4gPj4gK3ZvaWQgaW50ZWxfd3JpdGVfaW5mb2ZyYW1lKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5j b2RlciwKPiA+PiAgIAkJCQkgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlLAo+ID4+ICAgCQkJCSAgdW5pb24gaGRtaV9pbmZvZnJhbWUgKmZyYW1lKQo+ID4+ICAgewo+ ID4+IEBAIC00NTMsNDYgKzQ1Myw2IEBAIHN0YXRpYyB2b2lkIGludGVsX3dyaXRlX2luZm9mcmFt ZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gPj4gICAJaW50ZWxfaGRtaS0+d3JpdGVf aW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3RhdGUsIGZyYW1lLT5hbnkudHlwZSwgYnVmZmVyLCBs ZW4pOwo+ID4+ICAgfQo+ID4+ICAgCj4gPj4gLXN0YXRpYyB2b2lkIGludGVsX2hkbWlfc2V0X2F2 aV9pbmZvZnJhbWUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+ID4+IC0JCQkJCSBjb25z dCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiA+PiAtewo+ID4+IC0Jc3Ry dWN0IGludGVsX2hkbWkgKmludGVsX2hkbWkgPSBlbmNfdG9faW50ZWxfaGRtaShlbmNvZGVyKTsK PiA+PiAtCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0KPiA+ PiAtCQkmY3J0Y19zdGF0ZS0+YmFzZS5hZGp1c3RlZF9tb2RlOwo+ID4+IC0Jc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvciA9ICZpbnRlbF9oZG1pLT5hdHRhY2hlZF9jb25uZWN0b3ItPmJh c2U7Cj4gPj4gLQlib29sIGlzX2hkbWkyX3NpbmsgPSBjb25uZWN0b3ItPmRpc3BsYXlfaW5mby5o ZG1pLnNjZGMuc3VwcG9ydGVkOwo+ID4+IC0JZW51bSBoZG1pX2NvbG9yc3BhY2UgY29sb3JzcGFj ZSA9IEhETUlfQ09MT1JTUEFDRV9SR0I7Cj4gPj4gLQl1bmlvbiBoZG1pX2luZm9mcmFtZSBmcmFt ZTsKPiA+PiAtCWludCByZXQ7Cj4gPj4gLQo+ID4+IC0JcmV0ID0gZHJtX2hkbWlfYXZpX2luZm9m cmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUuYXZpLAo+ID4+IC0JCQkJCQkgICAgICAgYWRq dXN0ZWRfbW9kZSwKPiA+PiAtCQkJCQkJICAgICAgIGlzX2hkbWkyX3NpbmspOwo+ID4+IC0JaWYg KHJldCA8IDApIHsKPiA+PiAtCQlEUk1fRVJST1IoImNvdWxkbid0IGZpbGwgQVZJIGluZm9mcmFt ZVxuIik7Cj4gPj4gLQkJcmV0dXJuOwo+ID4+IC0JfQo+ID4+IC0KPiA+PiAtCWlmIChjcnRjX3N0 YXRlLT55Y2JjcjQyMCkKPiA+PiAtCQljb2xvcnNwYWNlID0gSERNSV9DT0xPUlNQQUNFX1lVVjQy MDsKPiA+PiAtCj4gPj4gLQlyZXQgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX3NldF9jb2xvcnNw YWNlKCZmcmFtZS5hdmksCj4gPj4gLQkJCQkJCSAgICBhZGp1c3RlZF9tb2RlLAo+ID4+IC0JCQkJ CQkgICAgY29sb3JzcGFjZSk7Cj4gPj4gLQlpZiAocmV0IDwgMCkgewo+ID4+IC0JCURSTV9FUlJP UigiY291bGRuJ3QgZmlsbCBBVkkgY29sb3JzcGFjZVxuIik7Cj4gPj4gLQkJcmV0dXJuOwo+ID4+ IC0JfQo+ID4+IC0KPiA+PiAtCWRybV9oZG1pX2F2aV9pbmZvZnJhbWVfcXVhbnRfcmFuZ2UoJmZy YW1lLmF2aSwgYWRqdXN0ZWRfbW9kZSwKPiA+PiAtCQkJCQkgICBjcnRjX3N0YXRlLT5saW1pdGVk X2NvbG9yX3JhbmdlID8KPiA+PiAtCQkJCQkgICBIRE1JX1FVQU5USVpBVElPTl9SQU5HRV9MSU1J VEVEIDoKPiA+PiAtCQkJCQkgICBIRE1JX1FVQU5USVpBVElPTl9SQU5HRV9GVUxMLAo+ID4+IC0J CQkJCSAgIGludGVsX2hkbWktPnJnYl9xdWFudF9yYW5nZV9zZWxlY3RhYmxlKTsKPiA+PiAtCj4g Pj4gLQlpbnRlbF93cml0ZV9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0ZSwgJmZyYW1lKTsK PiA+PiAtfQo+ID4+IC0KPiA+PiAgIHN0YXRpYyB2b2lkIGludGVsX2hkbWlfc2V0X3NwZF9pbmZv ZnJhbWUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+ID4+ICAgCQkJCQkgY29uc3Qgc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gPj4gICB7Cj4gPj4gQEAgLTU4Miw3 ICs1NDIsNyBAQCBzdGF0aWMgdm9pZCBnNHhfc2V0X2luZm9mcmFtZXMoc3RydWN0IGRybV9lbmNv ZGVyICplbmNvZGVyLAo+ID4+ICAgCUk5MTVfV1JJVEUocmVnLCB2YWwpOwo+ID4+ICAgCVBPU1RJ TkdfUkVBRChyZWcpOwo+ID4+ICAgCj4gPj4gLQlpbnRlbF9oZG1pX3NldF9hdmlfaW5mb2ZyYW1l KGVuY29kZXIsIGNydGNfc3RhdGUpOwo+ID4+ICsJaW50ZWxfZGRpX3NldF9hdmlfaW5mb2ZyYW1l KGVuY29kZXIsIGNydGNfc3RhdGUpOwo+ID4+ICAgCWludGVsX2hkbWlfc2V0X3NwZF9pbmZvZnJh bWUoZW5jb2RlciwgY3J0Y19zdGF0ZSk7Cj4gPj4gICAJaW50ZWxfaGRtaV9zZXRfaGRtaV9pbmZv ZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0ZSk7Cj4gPj4gICB9Cj4gPj4gQEAgLTcyMyw3ICs2ODMs NyBAQCBzdGF0aWMgdm9pZCBpYnhfc2V0X2luZm9mcmFtZXMoc3RydWN0IGRybV9lbmNvZGVyICpl bmNvZGVyLAo+ID4+ICAgCUk5MTVfV1JJVEUocmVnLCB2YWwpOwo+ID4+ICAgCVBPU1RJTkdfUkVB RChyZWcpOwo+ID4+ICAgCj4gPj4gLQlpbnRlbF9oZG1pX3NldF9hdmlfaW5mb2ZyYW1lKGVuY29k ZXIsIGNydGNfc3RhdGUpOwo+ID4+ICsJaW50ZWxfZGRpX3NldF9hdmlfaW5mb2ZyYW1lKGVuY29k ZXIsIGNydGNfc3RhdGUpOwo+ID4+ICAgCWludGVsX2hkbWlfc2V0X3NwZF9pbmZvZnJhbWUoZW5j b2RlciwgY3J0Y19zdGF0ZSk7Cj4gPj4gICAJaW50ZWxfaGRtaV9zZXRfaGRtaV9pbmZvZnJhbWUo ZW5jb2RlciwgY3J0Y19zdGF0ZSk7Cj4gPj4gICB9Cj4gPj4gQEAgLTc2Niw3ICs3MjYsNyBAQCBz dGF0aWMgdm9pZCBjcHRfc2V0X2luZm9mcmFtZXMoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVy LAo+ID4+ICAgCUk5MTVfV1JJVEUocmVnLCB2YWwpOwo+ID4+ICAgCVBPU1RJTkdfUkVBRChyZWcp Owo+ID4+ICAgCj4gPj4gLQlpbnRlbF9oZG1pX3NldF9hdmlfaW5mb2ZyYW1lKGVuY29kZXIsIGNy dGNfc3RhdGUpOwo+ID4+ICsJaW50ZWxfZGRpX3NldF9hdmlfaW5mb2ZyYW1lKGVuY29kZXIsIGNy dGNfc3RhdGUpOwo+ID4+ICAgCWludGVsX2hkbWlfc2V0X3NwZF9pbmZvZnJhbWUoZW5jb2Rlciwg Y3J0Y19zdGF0ZSk7Cj4gPj4gICAJaW50ZWxfaGRtaV9zZXRfaGRtaV9pbmZvZnJhbWUoZW5jb2Rl ciwgY3J0Y19zdGF0ZSk7Cj4gPj4gICB9Cj4gPj4gQEAgLTgxOSw3ICs3NzksNyBAQCBzdGF0aWMg dm9pZCB2bHZfc2V0X2luZm9mcmFtZXMoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+ID4+ ICAgCUk5MTVfV1JJVEUocmVnLCB2YWwpOwo+ID4+ICAgCVBPU1RJTkdfUkVBRChyZWcpOwo+ID4+ ICAgCj4gPj4gLQlpbnRlbF9oZG1pX3NldF9hdmlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3Rh dGUpOwo+ID4+ICsJaW50ZWxfZGRpX3NldF9hdmlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3Rh dGUpOwo+ID4+ICAgCWludGVsX2hkbWlfc2V0X3NwZF9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19z dGF0ZSk7Cj4gPj4gICAJaW50ZWxfaGRtaV9zZXRfaGRtaV9pbmZvZnJhbWUoZW5jb2RlciwgY3J0 Y19zdGF0ZSk7Cj4gPj4gICB9Cj4gPj4gQEAgLTg1Miw3ICs4MTIsNyBAQCBzdGF0aWMgdm9pZCBo c3dfc2V0X2luZm9mcmFtZXMoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+ID4+ICAgCUk5 MTVfV1JJVEUocmVnLCB2YWwpOwo+ID4+ICAgCVBPU1RJTkdfUkVBRChyZWcpOwo+ID4+ICAgCj4g Pj4gLQlpbnRlbF9oZG1pX3NldF9hdmlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3RhdGUpOwo+ ID4+ICsJaW50ZWxfZGRpX3NldF9hdmlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3RhdGUpOwo+ ID4+ICAgCWludGVsX2hkbWlfc2V0X3NwZF9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0ZSk7 Cj4gPj4gICAJaW50ZWxfaGRtaV9zZXRfaGRtaV9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0 ZSk7Cj4gPj4gICB9Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2xzcGNvbi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHNwY29uLmMKPiA+PiBpbmRl eCBmNjExYjZkLi41M2RkZDM5IDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2xzcGNvbi5jCj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHNw Y29uLmMKPiA+PiBAQCAtMjgxLDYgKzI4MSw3IEBAIGJvb2wgbHNwY29uX2luaXQoc3RydWN0IGlu dGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQpCj4gPj4gICAJfQo+ID4+ICAgCj4gPj4g ICAJY29ubmVjdG9yLT55Y2Jjcl80MjBfYWxsb3dlZCA9IHRydWU7Cj4gPj4gKwlsc3Bjb24tPnNl dF9pbmZvZnJhbWVzID0gaW50ZWxfZGRpX3NldF9hdmlfaW5mb2ZyYW1lOwo+ID4+ICAgCWRybV9k cF9yZWFkX2Rlc2MoJmRwLT5hdXgsICZkcC0+ZGVzYywgZHJtX2RwX2lzX2JyYW5jaChkcC0+ZHBj ZCkpOwo+ID4+ICAgCj4gPj4gICAJRFJNX0RFQlVHX0tNUygiU3VjY2VzczogTFNQQ09OIGluaXRc biIpOwo+ID4+IC0tIAo+ID4+IDIuNy40CgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVsIE9UQwpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwg bWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK