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: Wed, 12 Jul 2017 20:15:31 +0300 Message-ID: <20170712171531.GG12629@intel.com> References: <1499685528-6926-1-git-send-email-shashank.sharma@intel.com> <1499685528-6926-20-git-send-email-shashank.sharma@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: <1499685528-6926-20-git-send-email-shashank.sharma@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Shashank Sharma Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCBKdWwgMTAsIDIwMTcgYXQgMDQ6NDg6NDdQTSArMDUzMCwgU2hhc2hhbmsgU2hhcm1h IHdyb3RlOgo+IFdlIGhhdmUgYW4gZXhpc3RpbmcgZnVuY3Rpb24gdG8gcHJlcGFyZSBBVkkgaW5m b2ZyYW1lcyBmb3IgSERNSSwKPiB0aGlzIHBhdGNoIG1vdmVzIHRoYXQgZnVuY3Rpb24gZnJvbSBI RE1JIGxheWVyLCB0byBEREkgbGF5ZXIsIHNvCj4gdGhhdCB3ZSBjYW4gcmV1c2UgdGhlIGZ1bmN0 aW9uIGZvciBEUChMU1BDT04pIGRpc3BsYXlzIHRvby4KPiAKPiBUaGlzIHBhdGNoOgo+IC0gTW92 ZXMgdGhlIGludGVsX2hkbWlfc2V0X2F2aV9pbmZvZnJhbWVzIGZ1bmN0aW9uIGluIGRkaSBsYXll ci4KPiAtIEFkZHMgY29kZSB0byBhY2NvbW1vZGF0ZSBMU1BDT04gaW4gdGhlIHNhbWUgZnVuY3Rp b24uCj4gLSBMaW5rcyB0aGlzIGZ1bmN0aW9uIGFzIEFWSSBpbmZvZnJhbWUgc2V0dXAgZnVuY3Rp b24gZm9yIExTUENPTi4KPiAKPiBDYzogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxp bnV4LmludGVsLmNvbT4KPiBDYzogSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPgo+IFNp Z25lZC1vZmYtYnk6IFNoYXNoYW5rIFNoYXJtYSA8c2hhc2hhbmsuc2hhcm1hQGludGVsLmNvbT4K PiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgICAgfCA4OSArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rydi5oICAgIHwgIDkgKysrKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1p LmMgICB8IDUyICsrKy0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfbHNwY29uLmMgfCAgMSArCj4gIDQgZmlsZXMgY2hhbmdlZCwgOTkgaW5zZXJ0aW9ucygr KSwgNTIgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RkaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiBpbmRleCA4 MGU5NmYxLi5mNjkxNzEwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RkaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiBAQCAtMjAw Myw4ICsyMDAzLDc2IEBAIHN0YXRpYyB2b2lkIGludGVsX2RkaV9jbGtfc2VsZWN0KHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJfQo+ICB9Cj4gIAo+ICt2b2lkIGludGVsX2RkaV9z ZXRfYXZpX2luZm9mcmFtZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gKwkJCQkgIGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQoKTkFLLiBQbGVhc2UgbG9v ayBhdCBteSAnbW92ZSBpbmZvZnJhbWUgc3R1ZmYgaW50byBpbnRlbF9kaWdfcG9ydCcgc2VyaWVz CmlmIHlvdSBuZWVkIGluZm9mcmFtZXMgd2l0aCBEUC4gSUlSQyB5b3UgYWxyZWFkeSByZXZpZXdl ZCBwYXJ0IG9mIHRoYXQuCgo+ICt7Cj4gKwlpbnQgcmV0Owo+ICsJdW5pb24gaGRtaV9pbmZvZnJh bWUgZnJhbWU7Cj4gKwlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yOwo+ICsJc3RydWN0 IGludGVsX2hkbWkgKmludGVsX2hkbWkgPSBlbmNfdG9faW50ZWxfaGRtaShlbmNvZGVyKTsKPiAr CXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoZW5jb2Rlcik7Cj4g Kwljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9Cj4gKwkJCQkJ JmNydGNfc3RhdGUtPmJhc2UuYWRqdXN0ZWRfbW9kZTsKPiArCWVudW0gaW50ZWxfb3V0cHV0X3R5 cGUgdHlwZSA9IHRvX2ludGVsX2VuY29kZXIoZW5jb2RlciktPnR5cGU7Cj4gKwlib29sIGlzX2hk bWkyX3NpbmsgPSBmYWxzZTsKPiArCWJvb2wgcmdiX3FyYW5nZV9zZWxlY3RhYmxlID0gZmFsc2U7 Cj4gKwllbnVtIGhkbWlfY29sb3JzcGFjZSBjb2xvcnNwYWNlID0gY3J0Y19zdGF0ZS0+eWNiY3I0 MjAgPwo+ICsJCQkJCSAgSERNSV9DT0xPUlNQQUNFX1lVVjQyMCA6Cj4gKwkJCQkJICBIRE1JX0NP TE9SU1BBQ0VfUkdCOwo+ICsJYm9vbCByZ2JfcXJhbmdlX2xpbWl0ZWQgPSAgY3J0Y19zdGF0ZS0+ bGltaXRlZF9jb2xvcl9yYW5nZSA/Cj4gKwkJCQkJSERNSV9RVUFOVElaQVRJT05fUkFOR0VfTElN SVRFRCA6Cj4gKwkJCQkJSERNSV9RVUFOVElaQVRJT05fUkFOR0VfRlVMTDsKPiArCj4gKwlzd2l0 Y2ggKHR5cGUpIHsKPiArCWNhc2UgSU5URUxfT1VUUFVUX0hETUk6Cj4gKwkJY29ubmVjdG9yID0g JmludGVsX2hkbWktPmF0dGFjaGVkX2Nvbm5lY3Rvci0+YmFzZTsKPiArCQlpc19oZG1pMl9zaW5r ID0gY29ubmVjdG9yLT5kaXNwbGF5X2luZm8uaGRtaS5zY2RjLnN1cHBvcnRlZDsKPiArCQlyZ2Jf cXJhbmdlX3NlbGVjdGFibGUgPSBpbnRlbF9oZG1pLT5yZ2JfcXVhbnRfcmFuZ2Vfc2VsZWN0YWJs ZTsKPiArCQlicmVhazsKPiArCj4gKwljYXNlIElOVEVMX09VVFBVVF9EUDoKPiArCQkvKiBXZSBh cmUgaGVyZSBtZWFucyBpdHMgYSBMU1BDT04gZGV2aWNlLCBzdGlsbCBiZSBwYXJhbm9pZCAqLwo+ ICsJCWlmICghY3J0Y19zdGF0ZS0+bHNwY29uX2FjdGl2ZSkgewo+ICsJCQlEUk1fRVJST1IoIk5v IExTUENPTiwgd2h5IGFtIEkgaGVyZSA/XG4iKTsKPiArCQkJcmV0dXJuOwo+ICsJCX0KPiArCj4g KwkJY29ubmVjdG9yID0gJmludGVsX2RwLT5hdHRhY2hlZF9jb25uZWN0b3ItPmJhc2U7Cj4gKwkJ aXNfaGRtaTJfc2luayA9IGNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmhkbWkuc2NkYy5zdXBwb3J0 ZWQ7Cj4gKwkJaWYgKGNydGNfc3RhdGUtPnljYmNyNDIwKQo+ICsJCQlyZ2JfcXJhbmdlX2xpbWl0 ZWQgPSB0cnVlOwo+ICsJCWJyZWFrOwo+ICsKPiArCWRlZmF1bHQ6Cj4gKwkJRFJNX0VSUk9SKCJO byBvdGhlciBlbmNvZGVyIGFsbG93ZWRcbiIpOwo+ICsJCXJldHVybjsKPiArCX0KPiArCj4gKwly ZXQgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZS5hdmks Cj4gKwkJCQkJCSAgICAgICBhZGp1c3RlZF9tb2RlLAo+ICsJCQkJCQkgICAgICAgaXNfaGRtaTJf c2luayk7Cj4gKwlpZiAocmV0IDwgMCkgewo+ICsJCURSTV9FUlJPUigiY291bGRuJ3QgZmlsbCBB VkkgaW5mb2ZyYW1lXG4iKTsKPiArCQlyZXR1cm47Cj4gKwl9Cj4gKwo+ICsJcmV0ID0gZHJtX2hk bWlfYXZpX2luZm9mcmFtZV9zZXRfY29sb3JzcGFjZSgmZnJhbWUuYXZpLAo+ICsJCQkJCQkgICAg YWRqdXN0ZWRfbW9kZSwKPiArCQkJCQkJICAgIGNvbG9yc3BhY2UpOwo+ICsJaWYgKHJldCA8IDAp IHsKPiArCQlEUk1fRVJST1IoImNvdWxkbid0IGZpbGwgQVZJIGNvbG9yc3BhY2VcbiIpOwo+ICsJ CXJldHVybjsKPiArCX0KPiArCj4gKwlkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX3F1YW50X3Jhbmdl KCZmcmFtZS5hdmksIGFkanVzdGVkX21vZGUsCj4gKwkJCQkJICAgcmdiX3FyYW5nZV9saW1pdGVk LAo+ICsJCQkJCSAgIHJnYl9xcmFuZ2Vfc2VsZWN0YWJsZSk7Cj4gKwo+ICsJaW50ZWxfd3JpdGVf aW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3RhdGUsICZmcmFtZSk7Cj4gK30KPiArCj4gIHN0YXRp YyB2b2lkIGludGVsX2RkaV9wcmVfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyLAo+IC0JCQkJICAgIGludCBsaW5rX3JhdGUsIHVpbnQzMl90IGxhbmVfY291bnQsCj4gKwkJ CQkgICAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAo+ICAJCQkJ ICAgIHN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqcGxsLAo+ICAJCQkJICAgIGJvb2wgbGlua19t c3QpCj4gIHsKPiBAQCAtMjAxMiw2ICsyMDgwLDggQEAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX3By ZV9lbmFibGVfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKPiAg CWVudW0gcG9ydCBwb3J0ID0gaW50ZWxfZGRpX2dldF9lbmNvZGVyX3BvcnQoZW5jb2Rlcik7Cj4g IAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9IGVuY190b19kaWdfcG9ydCgm ZW5jb2Rlci0+YmFzZSk7Cj4gKwlpbnQgbGlua19yYXRlID0gcGlwZV9jb25maWctPnBvcnRfY2xv Y2s7Cj4gKwl1aW50MzJfdCBsYW5lX2NvdW50ID0gcGlwZV9jb25maWctPmxhbmVfY291bnQ7Cj4g IAo+ICAJV0FSTl9PTihsaW5rX21zdCAmJiAocG9ydCA9PSBQT1JUX0EgfHwgcG9ydCA9PSBQT1JU X0UpKTsKPiAgCj4gQEAgLTIwMzAsNiArMjEwMCwxNCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlf cHJlX2VuYWJsZV9kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCWludGVsX2Rw X3N0YXJ0X2xpbmtfdHJhaW4oaW50ZWxfZHApOwo+ICAJaWYgKHBvcnQgIT0gUE9SVF9BIHx8IElO VEVMX0dFTihkZXZfcHJpdikgPj0gOSkKPiAgCQlpbnRlbF9kcF9zdG9wX2xpbmtfdHJhaW4oaW50 ZWxfZHApOwo+ICsKPiArCWlmIChwaXBlX2NvbmZpZy0+bHNwY29uX2FjdGl2ZSkgewo+ICsJCXN0 cnVjdCBkcm1fZW5jb2RlciAqZHJtX2VuY29kZXIgPSAmZW5jb2Rlci0+YmFzZTsKPiArCQlzdHJ1 Y3QgaW50ZWxfbHNwY29uICpsc3Bjb24gPSBlbmNfdG9faW50ZWxfbHNwY29uKGRybV9lbmNvZGVy KTsKPiArCj4gKwkJaWYgKGxzcGNvbi0+c2V0X2luZm9mcmFtZXMpCj4gKwkJCWxzcGNvbi0+c2V0 X2luZm9mcmFtZXMoJmVuY29kZXItPmJhc2UsIHBpcGVfY29uZmlnKTsKPiArCX0KPiAgfQo+ICAK PiAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX3ByZV9lbmFibGVfaGRtaShzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlciwKPiBAQCAtMjA3Miw4ICsyMTUwLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxf ZGRpX3ByZV9lbmFibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAo+ICAJaWYg KHR5cGUgPT0gSU5URUxfT1VUUFVUX0RQIHx8IHR5cGUgPT0gSU5URUxfT1VUUFVUX0VEUCkgewo+ ICAJCWludGVsX2RkaV9wcmVfZW5hYmxlX2RwKGVuY29kZXIsCj4gLQkJCQkJcGlwZV9jb25maWct PnBvcnRfY2xvY2ssCj4gLQkJCQkJcGlwZV9jb25maWctPmxhbmVfY291bnQsCj4gKwkJCQkJcGlw ZV9jb25maWcsCj4gIAkJCQkJcGlwZV9jb25maWctPnNoYXJlZF9kcGxsLAo+ICAJCQkJCWludGVs X2NydGNfaGFzX3R5cGUocGlwZV9jb25maWcsCj4gIAkJCQkJCQkgICAgSU5URUxfT1VUUFVUX0RQ X01TVCkpOwo+IEBAIC0yNjI4LDE3ICsyNzA1LDE3IEBAIHZvaWQgaW50ZWxfZGRpX2luaXQoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBlbnVtIHBvcnQgcG9ydCkKPiAgCX0KPiAg Cj4gIAlpZiAoaW5pdF9sc3Bjb24pIHsKPiAtCQlpZiAobHNwY29uX2luaXQoaW50ZWxfZGlnX3Bv cnQpKQo+IC0JCQkvKiBUT0RPOiBoYW5kbGUgaGRtaSBpbmZvIGZyYW1lIHBhcnQgKi8KPiArCQlp ZiAobHNwY29uX2luaXQoaW50ZWxfZGlnX3BvcnQpKSB7Cj4gIAkJCURSTV9ERUJVR19LTVMoIkxT UENPTiBpbml0IHN1Y2Nlc3Mgb24gcG9ydCAlY1xuIiwKPiAgCQkJCXBvcnRfbmFtZShwb3J0KSk7 Cj4gLQkJZWxzZQo+ICsJCX0gZWxzZSB7Cj4gIAkJCS8qCj4gIAkJCSAqIExTUENPTiBpbml0IGZh aWVkLCBidXQgRFAgaW5pdCB3YXMgc3VjY2Vzcywgc28KPiAgCQkJICogbGV0cyB0cnkgdG8gZHJp dmUgYXMgRFArKyBwb3J0Lgo+ICAJCQkgKi8KPiAgCQkJRFJNX0VSUk9SKCJMU1BDT04gaW5pdCBm YWlsZWQgb24gcG9ydCAlY1xuIiwKPiAgCQkJCXBvcnRfbmFtZShwb3J0KSk7Cj4gKwkJfQo+ICAJ fQo+ICAKPiAgCXJldHVybjsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IGluZGV4IDQwZDU2 ZjIuLmZhZDlhNTMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IEBAIC0xMDc1LDYg KzEwNzUsMTAgQEAgc3RydWN0IGludGVsX2xzcGNvbiB7Cj4gIAlib29sIGFjdGl2ZTsKPiAgCWVu dW0gZHJtX2xzcGNvbl9tb2RlIG1vZGU7Cj4gIAllbnVtIGxzcGNvbl92ZW5kb3IgdmVuZG9yOwo+ ICsKPiArCS8qIEFWSSBJRiBzZXR1cCBmdW5jdGlvbiBmb3IgTFNQQ09OICovCj4gKwl2b2lkICgq c2V0X2luZm9mcmFtZXMpKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPiArCQkJCWNvbnN0 IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKPiAgfTsKPiAgCj4gIHN0cnVj dCBpbnRlbF9kaWdpdGFsX3BvcnQgewo+IEBAIC0xMzIwLDYgKzEzMjQsOCBAQCB1OCBpbnRlbF9k ZGlfZHBfdm9sdGFnZV9tYXgoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpOwo+ICAKPiAg dW5zaWduZWQgaW50IGludGVsX2ZiX2FsaWduX2hlaWdodChjb25zdCBzdHJ1Y3QgZHJtX2ZyYW1l YnVmZmVyICpmYiwKPiAgCQkJCSAgIGludCBwbGFuZSwgdW5zaWduZWQgaW50IGhlaWdodCk7Cj4g K3ZvaWQgaW50ZWxfZGRpX3NldF9hdmlfaW5mb2ZyYW1lKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5j b2RlciwKPiArCQkJCSBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSk7 Cj4gIAo+ICAvKiBpbnRlbF9hdWRpby5jICovCj4gIHZvaWQgaW50ZWxfaW5pdF9hdWRpb19ob29r cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+IEBAIC0xNjkwLDYgKzE2OTYs OSBAQCB2b2lkIGludGVsX2hkbWlfaGFuZGxlX3Npbmtfc2NyYW1ibGluZyhzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqaW50ZWxfZW5jb2RlciwKPiAgCQkJCSAgICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rv ciAqY29ubmVjdG9yLAo+ICAJCQkJICAgICAgIGJvb2wgaGlnaF90bWRzX2Nsb2NrX3JhdGlvLAo+ ICAJCQkJICAgICAgIGJvb2wgc2NyYW1ibGluZyk7Cj4gK3ZvaWQgaW50ZWxfd3JpdGVfaW5mb2Zy YW1lKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPiArCQkJICAgIGNvbnN0IHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ICsJCQkgICAgdW5pb24gaGRtaV9pbmZvZnJh bWUgKmZyYW1lKTsKPiAgdm9pZCBpbnRlbF9kcF9kdWFsX21vZGVfc2V0X3RtZHNfb3V0cHV0KHN0 cnVjdCBpbnRlbF9oZG1pICpoZG1pLCBib29sIGVuYWJsZSk7Cj4gIGJvb2wgaW50ZWxfaGRtaV95 Y2JjcjQyMF9jb25maWcoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAgCQkJCXN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjb25maWcsCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWku Ywo+IGluZGV4IGEwOGFiOTkuLjdjYWI4NmEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfaGRtaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRt aS5jCj4gQEAgLTQzMCw3ICs0MzAsNyBAQCBzdGF0aWMgYm9vbCBoc3dfaW5mb2ZyYW1lX2VuYWJs ZWQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+ICAgKiB0cmljayB0aGVtIGJ5IGdpdmlu ZyBhbiBvZmZzZXQgaW50byB0aGUgYnVmZmVyIGFuZCBtb3ZpbmcgYmFjayB0aGUgaGVhZGVyCj4g ICAqIGJ5dGVzIGJ5IG9uZS4KPiAgICovCj4gLXN0YXRpYyB2b2lkIGludGVsX3dyaXRlX2luZm9m cmFtZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gK3ZvaWQgaW50ZWxfd3JpdGVfaW5m b2ZyYW1lKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPiAgCQkJCSAgY29uc3Qgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4gIAkJCQkgIHVuaW9uIGhkbWlfaW5mb2Zy YW1lICpmcmFtZSkKPiAgewo+IEBAIC00NTMsNDYgKzQ1Myw2IEBAIHN0YXRpYyB2b2lkIGludGVs X3dyaXRlX2luZm9mcmFtZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gIAlpbnRlbF9o ZG1pLT53cml0ZV9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0ZSwgZnJhbWUtPmFueS50eXBl LCBidWZmZXIsIGxlbik7Cj4gIH0KPiAgCj4gLXN0YXRpYyB2b2lkIGludGVsX2hkbWlfc2V0X2F2 aV9pbmZvZnJhbWUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+IC0JCQkJCSBjb25zdCBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiAtewo+IC0Jc3RydWN0IGludGVs X2hkbWkgKmludGVsX2hkbWkgPSBlbmNfdG9faW50ZWxfaGRtaShlbmNvZGVyKTsKPiAtCWNvbnN0 IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0KPiAtCQkmY3J0Y19zdGF0 ZS0+YmFzZS5hZGp1c3RlZF9tb2RlOwo+IC0Jc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rv ciA9ICZpbnRlbF9oZG1pLT5hdHRhY2hlZF9jb25uZWN0b3ItPmJhc2U7Cj4gLQlib29sIGlzX2hk bWkyX3NpbmsgPSBjb25uZWN0b3ItPmRpc3BsYXlfaW5mby5oZG1pLnNjZGMuc3VwcG9ydGVkOwo+ IC0JZW51bSBoZG1pX2NvbG9yc3BhY2UgY29sb3JzcGFjZSA9IEhETUlfQ09MT1JTUEFDRV9SR0I7 Cj4gLQl1bmlvbiBoZG1pX2luZm9mcmFtZSBmcmFtZTsKPiAtCWludCByZXQ7Cj4gLQo+IC0JcmV0 ID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUuYXZpLAo+ IC0JCQkJCQkgICAgICAgYWRqdXN0ZWRfbW9kZSwKPiAtCQkJCQkJICAgICAgIGlzX2hkbWkyX3Np bmspOwo+IC0JaWYgKHJldCA8IDApIHsKPiAtCQlEUk1fRVJST1IoImNvdWxkbid0IGZpbGwgQVZJ IGluZm9mcmFtZVxuIik7Cj4gLQkJcmV0dXJuOwo+IC0JfQo+IC0KPiAtCWlmIChjcnRjX3N0YXRl LT55Y2JjcjQyMCkKPiAtCQljb2xvcnNwYWNlID0gSERNSV9DT0xPUlNQQUNFX1lVVjQyMDsKPiAt Cj4gLQlyZXQgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX3NldF9jb2xvcnNwYWNlKCZmcmFtZS5h dmksCj4gLQkJCQkJCSAgICBhZGp1c3RlZF9tb2RlLAo+IC0JCQkJCQkgICAgY29sb3JzcGFjZSk7 Cj4gLQlpZiAocmV0IDwgMCkgewo+IC0JCURSTV9FUlJPUigiY291bGRuJ3QgZmlsbCBBVkkgY29s b3JzcGFjZVxuIik7Cj4gLQkJcmV0dXJuOwo+IC0JfQo+IC0KPiAtCWRybV9oZG1pX2F2aV9pbmZv ZnJhbWVfcXVhbnRfcmFuZ2UoJmZyYW1lLmF2aSwgYWRqdXN0ZWRfbW9kZSwKPiAtCQkJCQkgICBj cnRjX3N0YXRlLT5saW1pdGVkX2NvbG9yX3JhbmdlID8KPiAtCQkJCQkgICBIRE1JX1FVQU5USVpB VElPTl9SQU5HRV9MSU1JVEVEIDoKPiAtCQkJCQkgICBIRE1JX1FVQU5USVpBVElPTl9SQU5HRV9G VUxMLAo+IC0JCQkJCSAgIGludGVsX2hkbWktPnJnYl9xdWFudF9yYW5nZV9zZWxlY3RhYmxlKTsK PiAtCj4gLQlpbnRlbF93cml0ZV9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0ZSwgJmZyYW1l KTsKPiAtfQo+IC0KPiAgc3RhdGljIHZvaWQgaW50ZWxfaGRtaV9zZXRfc3BkX2luZm9mcmFtZShz dHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJCQkJIGNvbnN0IHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICB7Cj4gQEAgLTU4Miw3ICs1NDIsNyBAQCBzdGF0aWMg dm9pZCBnNHhfc2V0X2luZm9mcmFtZXMoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+ICAJ STkxNV9XUklURShyZWcsIHZhbCk7Cj4gIAlQT1NUSU5HX1JFQUQocmVnKTsKPiAgCj4gLQlpbnRl bF9oZG1pX3NldF9hdmlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3RhdGUpOwo+ICsJaW50ZWxf ZGRpX3NldF9hdmlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3RhdGUpOwo+ICAJaW50ZWxfaGRt aV9zZXRfc3BkX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0YXRlKTsKPiAgCWludGVsX2hkbWlf c2V0X2hkbWlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3RhdGUpOwo+ICB9Cj4gQEAgLTcyMyw3 ICs2ODMsNyBAQCBzdGF0aWMgdm9pZCBpYnhfc2V0X2luZm9mcmFtZXMoc3RydWN0IGRybV9lbmNv ZGVyICplbmNvZGVyLAo+ICAJSTkxNV9XUklURShyZWcsIHZhbCk7Cj4gIAlQT1NUSU5HX1JFQUQo cmVnKTsKPiAgCj4gLQlpbnRlbF9oZG1pX3NldF9hdmlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNf c3RhdGUpOwo+ICsJaW50ZWxfZGRpX3NldF9hdmlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3Rh dGUpOwo+ICAJaW50ZWxfaGRtaV9zZXRfc3BkX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0YXRl KTsKPiAgCWludGVsX2hkbWlfc2V0X2hkbWlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3RhdGUp Owo+ICB9Cj4gQEAgLTc2Niw3ICs3MjYsNyBAQCBzdGF0aWMgdm9pZCBjcHRfc2V0X2luZm9mcmFt ZXMoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+ICAJSTkxNV9XUklURShyZWcsIHZhbCk7 Cj4gIAlQT1NUSU5HX1JFQUQocmVnKTsKPiAgCj4gLQlpbnRlbF9oZG1pX3NldF9hdmlfaW5mb2Zy YW1lKGVuY29kZXIsIGNydGNfc3RhdGUpOwo+ICsJaW50ZWxfZGRpX3NldF9hdmlfaW5mb2ZyYW1l KGVuY29kZXIsIGNydGNfc3RhdGUpOwo+ICAJaW50ZWxfaGRtaV9zZXRfc3BkX2luZm9mcmFtZShl bmNvZGVyLCBjcnRjX3N0YXRlKTsKPiAgCWludGVsX2hkbWlfc2V0X2hkbWlfaW5mb2ZyYW1lKGVu Y29kZXIsIGNydGNfc3RhdGUpOwo+ICB9Cj4gQEAgLTgxOSw3ICs3NzksNyBAQCBzdGF0aWMgdm9p ZCB2bHZfc2V0X2luZm9mcmFtZXMoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+ICAJSTkx NV9XUklURShyZWcsIHZhbCk7Cj4gIAlQT1NUSU5HX1JFQUQocmVnKTsKPiAgCj4gLQlpbnRlbF9o ZG1pX3NldF9hdmlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3RhdGUpOwo+ICsJaW50ZWxfZGRp X3NldF9hdmlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3RhdGUpOwo+ICAJaW50ZWxfaGRtaV9z ZXRfc3BkX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0YXRlKTsKPiAgCWludGVsX2hkbWlfc2V0 X2hkbWlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3RhdGUpOwo+ICB9Cj4gQEAgLTg1Miw3ICs4 MTIsNyBAQCBzdGF0aWMgdm9pZCBoc3dfc2V0X2luZm9mcmFtZXMoc3RydWN0IGRybV9lbmNvZGVy ICplbmNvZGVyLAo+ICAJSTkxNV9XUklURShyZWcsIHZhbCk7Cj4gIAlQT1NUSU5HX1JFQUQocmVn KTsKPiAgCj4gLQlpbnRlbF9oZG1pX3NldF9hdmlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3Rh dGUpOwo+ICsJaW50ZWxfZGRpX3NldF9hdmlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3RhdGUp Owo+ICAJaW50ZWxfaGRtaV9zZXRfc3BkX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0YXRlKTsK PiAgCWludGVsX2hkbWlfc2V0X2hkbWlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3RhdGUpOwo+ ICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xzcGNvbi5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHNwY29uLmMKPiBpbmRleCBmNjExYjZkLi41M2Rk ZDM5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xzcGNvbi5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHNwY29uLmMKPiBAQCAtMjgxLDYgKzI4 MSw3IEBAIGJvb2wgbHNwY29uX2luaXQoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxf ZGlnX3BvcnQpCj4gIAl9Cj4gIAo+ICAJY29ubmVjdG9yLT55Y2Jjcl80MjBfYWxsb3dlZCA9IHRy dWU7Cj4gKwlsc3Bjb24tPnNldF9pbmZvZnJhbWVzID0gaW50ZWxfZGRpX3NldF9hdmlfaW5mb2Zy YW1lOwo+ICAJZHJtX2RwX3JlYWRfZGVzYygmZHAtPmF1eCwgJmRwLT5kZXNjLCBkcm1fZHBfaXNf YnJhbmNoKGRwLT5kcGNkKSk7Cj4gIAo+ICAJRFJNX0RFQlVHX0tNUygiU3VjY2VzczogTFNQQ09O IGluaXRcbiIpOwo+IC0tIAo+IDIuNy40CgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVsIE9UQwpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK