From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shashank Sharma Subject: [PATCH 19/20] drm/i915: Move AVI infoframe function to DDI layer Date: Mon, 10 Jul 2017 16:48:47 +0530 Message-ID: <1499685528-6926-20-git-send-email-shashank.sharma@intel.com> References: <1499685528-6926-1-git-send-email-shashank.sharma@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1499685528-6926-1-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: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org V2UgaGF2ZSBhbiBleGlzdGluZyBmdW5jdGlvbiB0byBwcmVwYXJlIEFWSSBpbmZvZnJhbWVzIGZv ciBIRE1JLAp0aGlzIHBhdGNoIG1vdmVzIHRoYXQgZnVuY3Rpb24gZnJvbSBIRE1JIGxheWVyLCB0 byBEREkgbGF5ZXIsIHNvCnRoYXQgd2UgY2FuIHJldXNlIHRoZSBmdW5jdGlvbiBmb3IgRFAoTFNQ Q09OKSBkaXNwbGF5cyB0b28uCgpUaGlzIHBhdGNoOgotIE1vdmVzIHRoZSBpbnRlbF9oZG1pX3Nl dF9hdmlfaW5mb2ZyYW1lcyBmdW5jdGlvbiBpbiBkZGkgbGF5ZXIuCi0gQWRkcyBjb2RlIHRvIGFj Y29tbW9kYXRlIExTUENPTiBpbiB0aGUgc2FtZSBmdW5jdGlvbi4KLSBMaW5rcyB0aGlzIGZ1bmN0 aW9uIGFzIEFWSSBpbmZvZnJhbWUgc2V0dXAgZnVuY3Rpb24gZm9yIExTUENPTi4KCkNjOiBWaWxs ZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgpDYzogSW1yZSBEZWFr IDxpbXJlLmRlYWtAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBTaGFzaGFuayBTaGFybWEgPHNo YXNoYW5rLnNoYXJtYUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGRpLmMgICAgfCA4OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICB8ICA5ICsrKysKIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2hkbWkuYyAgIHwgNTIgKysrLS0tLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfbHNwY29uLmMgfCAgMSArCiA0IGZpbGVzIGNoYW5nZWQsIDk5 IGluc2VydGlvbnMoKyksIDUyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RkaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMK aW5kZXggODBlOTZmMS4uZjY5MTcxMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGRpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKQEAgLTIw MDMsOCArMjAwMyw3NiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfY2xrX3NlbGVjdChzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAl9CiB9CiAKK3ZvaWQgaW50ZWxfZGRpX3NldF9hdmlf aW5mb2ZyYW1lKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKKwkJCQkgIGNvbnN0IHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQoreworCWludCByZXQ7CisJdW5pb24gaGRt aV9pbmZvZnJhbWUgZnJhbWU7CisJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcjsKKwlz dHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaSA9IGVuY190b19pbnRlbF9oZG1pKGVuY29kZXIp OworCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoZW5jb2Rlcik7 CisJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPQorCQkJCQkm Y3J0Y19zdGF0ZS0+YmFzZS5hZGp1c3RlZF9tb2RlOworCWVudW0gaW50ZWxfb3V0cHV0X3R5cGUg dHlwZSA9IHRvX2ludGVsX2VuY29kZXIoZW5jb2RlciktPnR5cGU7CisJYm9vbCBpc19oZG1pMl9z aW5rID0gZmFsc2U7CisJYm9vbCByZ2JfcXJhbmdlX3NlbGVjdGFibGUgPSBmYWxzZTsKKwllbnVt IGhkbWlfY29sb3JzcGFjZSBjb2xvcnNwYWNlID0gY3J0Y19zdGF0ZS0+eWNiY3I0MjAgPworCQkJ CQkgIEhETUlfQ09MT1JTUEFDRV9ZVVY0MjAgOgorCQkJCQkgIEhETUlfQ09MT1JTUEFDRV9SR0I7 CisJYm9vbCByZ2JfcXJhbmdlX2xpbWl0ZWQgPSAgY3J0Y19zdGF0ZS0+bGltaXRlZF9jb2xvcl9y YW5nZSA/CisJCQkJCUhETUlfUVVBTlRJWkFUSU9OX1JBTkdFX0xJTUlURUQgOgorCQkJCQlIRE1J X1FVQU5USVpBVElPTl9SQU5HRV9GVUxMOworCisJc3dpdGNoICh0eXBlKSB7CisJY2FzZSBJTlRF TF9PVVRQVVRfSERNSToKKwkJY29ubmVjdG9yID0gJmludGVsX2hkbWktPmF0dGFjaGVkX2Nvbm5l Y3Rvci0+YmFzZTsKKwkJaXNfaGRtaTJfc2luayA9IGNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmhk bWkuc2NkYy5zdXBwb3J0ZWQ7CisJCXJnYl9xcmFuZ2Vfc2VsZWN0YWJsZSA9IGludGVsX2hkbWkt PnJnYl9xdWFudF9yYW5nZV9zZWxlY3RhYmxlOworCQlicmVhazsKKworCWNhc2UgSU5URUxfT1VU UFVUX0RQOgorCQkvKiBXZSBhcmUgaGVyZSBtZWFucyBpdHMgYSBMU1BDT04gZGV2aWNlLCBzdGls bCBiZSBwYXJhbm9pZCAqLworCQlpZiAoIWNydGNfc3RhdGUtPmxzcGNvbl9hY3RpdmUpIHsKKwkJ CURSTV9FUlJPUigiTm8gTFNQQ09OLCB3aHkgYW0gSSBoZXJlID9cbiIpOworCQkJcmV0dXJuOwor CQl9CisKKwkJY29ubmVjdG9yID0gJmludGVsX2RwLT5hdHRhY2hlZF9jb25uZWN0b3ItPmJhc2U7 CisJCWlzX2hkbWkyX3NpbmsgPSBjb25uZWN0b3ItPmRpc3BsYXlfaW5mby5oZG1pLnNjZGMuc3Vw cG9ydGVkOworCQlpZiAoY3J0Y19zdGF0ZS0+eWNiY3I0MjApCisJCQlyZ2JfcXJhbmdlX2xpbWl0 ZWQgPSB0cnVlOworCQlicmVhazsKKworCWRlZmF1bHQ6CisJCURSTV9FUlJPUigiTm8gb3RoZXIg ZW5jb2RlciBhbGxvd2VkXG4iKTsKKwkJcmV0dXJuOworCX0KKworCXJldCA9IGRybV9oZG1pX2F2 aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLmF2aSwKKwkJCQkJCSAgICAgICBh ZGp1c3RlZF9tb2RlLAorCQkJCQkJICAgICAgIGlzX2hkbWkyX3NpbmspOworCWlmIChyZXQgPCAw KSB7CisJCURSTV9FUlJPUigiY291bGRuJ3QgZmlsbCBBVkkgaW5mb2ZyYW1lXG4iKTsKKwkJcmV0 dXJuOworCX0KKworCXJldCA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfc2V0X2NvbG9yc3BhY2Uo JmZyYW1lLmF2aSwKKwkJCQkJCSAgICBhZGp1c3RlZF9tb2RlLAorCQkJCQkJICAgIGNvbG9yc3Bh Y2UpOworCWlmIChyZXQgPCAwKSB7CisJCURSTV9FUlJPUigiY291bGRuJ3QgZmlsbCBBVkkgY29s b3JzcGFjZVxuIik7CisJCXJldHVybjsKKwl9CisKKwlkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX3F1 YW50X3JhbmdlKCZmcmFtZS5hdmksIGFkanVzdGVkX21vZGUsCisJCQkJCSAgIHJnYl9xcmFuZ2Vf bGltaXRlZCwKKwkJCQkJICAgcmdiX3FyYW5nZV9zZWxlY3RhYmxlKTsKKworCWludGVsX3dyaXRl X2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0YXRlLCAmZnJhbWUpOworfQorCiBzdGF0aWMgdm9p ZCBpbnRlbF9kZGlfcHJlX2VuYWJsZV9kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwK LQkJCQkgICAgaW50IGxpbmtfcmF0ZSwgdWludDMyX3QgbGFuZV9jb3VudCwKKwkJCQkgICAgY29u c3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAogCQkJCSAgICBzdHJ1Y3Qg aW50ZWxfc2hhcmVkX2RwbGwgKnBsbCwKIAkJCQkgICAgYm9vbCBsaW5rX21zdCkKIHsKQEAgLTIw MTIsNiArMjA4MCw4IEBAIHN0YXRpYyB2b2lkIGludGVsX2RkaV9wcmVfZW5hYmxlX2RwKHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwogCWVudW0gcG9ydCBwb3J0ID0gaW50 ZWxfZGRpX2dldF9lbmNvZGVyX3BvcnQoZW5jb2Rlcik7CiAJc3RydWN0IGludGVsX2RpZ2l0YWxf cG9ydCAqZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoJmVuY29kZXItPmJhc2UpOworCWludCBs aW5rX3JhdGUgPSBwaXBlX2NvbmZpZy0+cG9ydF9jbG9jazsKKwl1aW50MzJfdCBsYW5lX2NvdW50 ID0gcGlwZV9jb25maWctPmxhbmVfY291bnQ7CiAKIAlXQVJOX09OKGxpbmtfbXN0ICYmIChwb3J0 ID09IFBPUlRfQSB8fCBwb3J0ID09IFBPUlRfRSkpOwogCkBAIC0yMDMwLDYgKzIxMDAsMTQgQEAg c3RhdGljIHZvaWQgaW50ZWxfZGRpX3ByZV9lbmFibGVfZHAoc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXIsCiAJaW50ZWxfZHBfc3RhcnRfbGlua190cmFpbihpbnRlbF9kcCk7CiAJaWYgKHBv cnQgIT0gUE9SVF9BIHx8IElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkKIAkJaW50ZWxfZHBfc3Rv cF9saW5rX3RyYWluKGludGVsX2RwKTsKKworCWlmIChwaXBlX2NvbmZpZy0+bHNwY29uX2FjdGl2 ZSkgeworCQlzdHJ1Y3QgZHJtX2VuY29kZXIgKmRybV9lbmNvZGVyID0gJmVuY29kZXItPmJhc2U7 CisJCXN0cnVjdCBpbnRlbF9sc3Bjb24gKmxzcGNvbiA9IGVuY190b19pbnRlbF9sc3Bjb24oZHJt X2VuY29kZXIpOworCisJCWlmIChsc3Bjb24tPnNldF9pbmZvZnJhbWVzKQorCQkJbHNwY29uLT5z ZXRfaW5mb2ZyYW1lcygmZW5jb2Rlci0+YmFzZSwgcGlwZV9jb25maWcpOworCX0KIH0KIAogc3Rh dGljIHZvaWQgaW50ZWxfZGRpX3ByZV9lbmFibGVfaGRtaShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq ZW5jb2RlciwKQEAgLTIwNzIsOCArMjE1MCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2RkaV9wcmVf ZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCiAJaWYgKHR5cGUgPT0gSU5U RUxfT1VUUFVUX0RQIHx8IHR5cGUgPT0gSU5URUxfT1VUUFVUX0VEUCkgewogCQlpbnRlbF9kZGlf cHJlX2VuYWJsZV9kcChlbmNvZGVyLAotCQkJCQlwaXBlX2NvbmZpZy0+cG9ydF9jbG9jaywKLQkJ CQkJcGlwZV9jb25maWctPmxhbmVfY291bnQsCisJCQkJCXBpcGVfY29uZmlnLAogCQkJCQlwaXBl X2NvbmZpZy0+c2hhcmVkX2RwbGwsCiAJCQkJCWludGVsX2NydGNfaGFzX3R5cGUocGlwZV9jb25m aWcsCiAJCQkJCQkJICAgIElOVEVMX09VVFBVVF9EUF9NU1QpKTsKQEAgLTI2MjgsMTcgKzI3MDUs MTcgQEAgdm9pZCBpbnRlbF9kZGlfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsIGVudW0gcG9ydCBwb3J0KQogCX0KIAogCWlmIChpbml0X2xzcGNvbikgewotCQlpZiAobHNw Y29uX2luaXQoaW50ZWxfZGlnX3BvcnQpKQotCQkJLyogVE9ETzogaGFuZGxlIGhkbWkgaW5mbyBm cmFtZSBwYXJ0ICovCisJCWlmIChsc3Bjb25faW5pdChpbnRlbF9kaWdfcG9ydCkpIHsKIAkJCURS TV9ERUJVR19LTVMoIkxTUENPTiBpbml0IHN1Y2Nlc3Mgb24gcG9ydCAlY1xuIiwKIAkJCQlwb3J0 X25hbWUocG9ydCkpOwotCQllbHNlCisJCX0gZWxzZSB7CiAJCQkvKgogCQkJICogTFNQQ09OIGlu aXQgZmFpZWQsIGJ1dCBEUCBpbml0IHdhcyBzdWNjZXNzLCBzbwogCQkJICogbGV0cyB0cnkgdG8g ZHJpdmUgYXMgRFArKyBwb3J0LgogCQkJICovCiAJCQlEUk1fRVJST1IoIkxTUENPTiBpbml0IGZh aWxlZCBvbiBwb3J0ICVjXG4iLAogCQkJCXBvcnRfbmFtZShwb3J0KSk7CisJCX0KIAl9CiAKIAly ZXR1cm47CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCmluZGV4IDQwZDU2ZjIuLmZhZDlhNTMgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCkBAIC0xMDc1LDYgKzEwNzUsMTAgQEAgc3RydWN0IGlu dGVsX2xzcGNvbiB7CiAJYm9vbCBhY3RpdmU7CiAJZW51bSBkcm1fbHNwY29uX21vZGUgbW9kZTsK IAllbnVtIGxzcGNvbl92ZW5kb3IgdmVuZG9yOworCisJLyogQVZJIElGIHNldHVwIGZ1bmN0aW9u IGZvciBMU1BDT04gKi8KKwl2b2lkICgqc2V0X2luZm9mcmFtZXMpKHN0cnVjdCBkcm1fZW5jb2Rl ciAqZW5jb2RlciwKKwkJCQljb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSk7CiB9OwogCiBzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0IHsKQEAgLTEzMjAsNiArMTMyNCw4 IEBAIHU4IGludGVsX2RkaV9kcF92b2x0YWdlX21heChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2Rlcik7CiAKIHVuc2lnbmVkIGludCBpbnRlbF9mYl9hbGlnbl9oZWlnaHQoY29uc3Qgc3RydWN0 IGRybV9mcmFtZWJ1ZmZlciAqZmIsCiAJCQkJICAgaW50IHBsYW5lLCB1bnNpZ25lZCBpbnQgaGVp Z2h0KTsKK3ZvaWQgaW50ZWxfZGRpX3NldF9hdmlfaW5mb2ZyYW1lKHN0cnVjdCBkcm1fZW5jb2Rl ciAqZW5jb2RlciwKKwkJCQkgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUpOwogCiAvKiBpbnRlbF9hdWRpby5jICovCiB2b2lkIGludGVsX2luaXRfYXVkaW9faG9va3Mo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKQEAgLTE2OTAsNiArMTY5Niw5IEBA IHZvaWQgaW50ZWxfaGRtaV9oYW5kbGVfc2lua19zY3JhbWJsaW5nKHN0cnVjdCBpbnRlbF9lbmNv ZGVyICppbnRlbF9lbmNvZGVyLAogCQkJCSAgICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yLAogCQkJCSAgICAgICBib29sIGhpZ2hfdG1kc19jbG9ja19yYXRpbywKIAkJCQkgICAg ICAgYm9vbCBzY3JhbWJsaW5nKTsKK3ZvaWQgaW50ZWxfd3JpdGVfaW5mb2ZyYW1lKHN0cnVjdCBk cm1fZW5jb2RlciAqZW5jb2RlciwKKwkJCSAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSwKKwkJCSAgICB1bmlvbiBoZG1pX2luZm9mcmFtZSAqZnJhbWUpOwogdm9p ZCBpbnRlbF9kcF9kdWFsX21vZGVfc2V0X3RtZHNfb3V0cHV0KHN0cnVjdCBpbnRlbF9oZG1pICpo ZG1pLCBib29sIGVuYWJsZSk7CiBib29sIGludGVsX2hkbWlfeWNiY3I0MjBfY29uZmlnKHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCiAJCQkJc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNvbmZpZywKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwppbmRleCBhMDhhYjk5Li43Y2FiODZh IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCkBAIC00MzAsNyArNDMwLDcgQEAgc3RhdGlj IGJvb2wgaHN3X2luZm9mcmFtZV9lbmFibGVkKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwK ICAqIHRyaWNrIHRoZW0gYnkgZ2l2aW5nIGFuIG9mZnNldCBpbnRvIHRoZSBidWZmZXIgYW5kIG1v dmluZyBiYWNrIHRoZSBoZWFkZXIKICAqIGJ5dGVzIGJ5IG9uZS4KICAqLwotc3RhdGljIHZvaWQg aW50ZWxfd3JpdGVfaW5mb2ZyYW1lKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKK3ZvaWQg aW50ZWxfd3JpdGVfaW5mb2ZyYW1lKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKIAkJCQkg IGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJCSAgdW5pb24g aGRtaV9pbmZvZnJhbWUgKmZyYW1lKQogewpAQCAtNDUzLDQ2ICs0NTMsNiBAQCBzdGF0aWMgdm9p ZCBpbnRlbF93cml0ZV9pbmZvZnJhbWUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAogCWlu dGVsX2hkbWktPndyaXRlX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0YXRlLCBmcmFtZS0+YW55 LnR5cGUsIGJ1ZmZlciwgbGVuKTsKIH0KIAotc3RhdGljIHZvaWQgaW50ZWxfaGRtaV9zZXRfYXZp X2luZm9mcmFtZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCi0JCQkJCSBjb25zdCBzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKLXsKLQlzdHJ1Y3QgaW50ZWxfaGRtaSAq aW50ZWxfaGRtaSA9IGVuY190b19pbnRlbF9oZG1pKGVuY29kZXIpOwotCWNvbnN0IHN0cnVjdCBk cm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0KLQkJJmNydGNfc3RhdGUtPmJhc2UuYWRq dXN0ZWRfbW9kZTsKLQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gJmludGVsX2hk bWktPmF0dGFjaGVkX2Nvbm5lY3Rvci0+YmFzZTsKLQlib29sIGlzX2hkbWkyX3NpbmsgPSBjb25u ZWN0b3ItPmRpc3BsYXlfaW5mby5oZG1pLnNjZGMuc3VwcG9ydGVkOwotCWVudW0gaGRtaV9jb2xv cnNwYWNlIGNvbG9yc3BhY2UgPSBIRE1JX0NPTE9SU1BBQ0VfUkdCOwotCXVuaW9uIGhkbWlfaW5m b2ZyYW1lIGZyYW1lOwotCWludCByZXQ7Ci0KLQlyZXQgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1l X2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZS5hdmksCi0JCQkJCQkgICAgICAgYWRqdXN0ZWRfbW9k ZSwKLQkJCQkJCSAgICAgICBpc19oZG1pMl9zaW5rKTsKLQlpZiAocmV0IDwgMCkgewotCQlEUk1f RVJST1IoImNvdWxkbid0IGZpbGwgQVZJIGluZm9mcmFtZVxuIik7Ci0JCXJldHVybjsKLQl9Ci0K LQlpZiAoY3J0Y19zdGF0ZS0+eWNiY3I0MjApCi0JCWNvbG9yc3BhY2UgPSBIRE1JX0NPTE9SU1BB Q0VfWVVWNDIwOwotCi0JcmV0ID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9zZXRfY29sb3JzcGFj ZSgmZnJhbWUuYXZpLAotCQkJCQkJICAgIGFkanVzdGVkX21vZGUsCi0JCQkJCQkgICAgY29sb3Jz cGFjZSk7Ci0JaWYgKHJldCA8IDApIHsKLQkJRFJNX0VSUk9SKCJjb3VsZG4ndCBmaWxsIEFWSSBj b2xvcnNwYWNlXG4iKTsKLQkJcmV0dXJuOwotCX0KLQotCWRybV9oZG1pX2F2aV9pbmZvZnJhbWVf cXVhbnRfcmFuZ2UoJmZyYW1lLmF2aSwgYWRqdXN0ZWRfbW9kZSwKLQkJCQkJICAgY3J0Y19zdGF0 ZS0+bGltaXRlZF9jb2xvcl9yYW5nZSA/Ci0JCQkJCSAgIEhETUlfUVVBTlRJWkFUSU9OX1JBTkdF X0xJTUlURUQgOgotCQkJCQkgICBIRE1JX1FVQU5USVpBVElPTl9SQU5HRV9GVUxMLAotCQkJCQkg ICBpbnRlbF9oZG1pLT5yZ2JfcXVhbnRfcmFuZ2Vfc2VsZWN0YWJsZSk7Ci0KLQlpbnRlbF93cml0 ZV9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0ZSwgJmZyYW1lKTsKLX0KLQogc3RhdGljIHZv aWQgaW50ZWxfaGRtaV9zZXRfc3BkX2luZm9mcmFtZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29k ZXIsCiAJCQkJCSBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsK QEAgLTU4Miw3ICs1NDIsNyBAQCBzdGF0aWMgdm9pZCBnNHhfc2V0X2luZm9mcmFtZXMoc3RydWN0 IGRybV9lbmNvZGVyICplbmNvZGVyLAogCUk5MTVfV1JJVEUocmVnLCB2YWwpOwogCVBPU1RJTkdf UkVBRChyZWcpOwogCi0JaW50ZWxfaGRtaV9zZXRfYXZpX2luZm9mcmFtZShlbmNvZGVyLCBjcnRj X3N0YXRlKTsKKwlpbnRlbF9kZGlfc2V0X2F2aV9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0 ZSk7CiAJaW50ZWxfaGRtaV9zZXRfc3BkX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0YXRlKTsK IAlpbnRlbF9oZG1pX3NldF9oZG1pX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0YXRlKTsKIH0K QEAgLTcyMyw3ICs2ODMsNyBAQCBzdGF0aWMgdm9pZCBpYnhfc2V0X2luZm9mcmFtZXMoc3RydWN0 IGRybV9lbmNvZGVyICplbmNvZGVyLAogCUk5MTVfV1JJVEUocmVnLCB2YWwpOwogCVBPU1RJTkdf UkVBRChyZWcpOwogCi0JaW50ZWxfaGRtaV9zZXRfYXZpX2luZm9mcmFtZShlbmNvZGVyLCBjcnRj X3N0YXRlKTsKKwlpbnRlbF9kZGlfc2V0X2F2aV9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0 ZSk7CiAJaW50ZWxfaGRtaV9zZXRfc3BkX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0YXRlKTsK IAlpbnRlbF9oZG1pX3NldF9oZG1pX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0YXRlKTsKIH0K QEAgLTc2Niw3ICs3MjYsNyBAQCBzdGF0aWMgdm9pZCBjcHRfc2V0X2luZm9mcmFtZXMoc3RydWN0 IGRybV9lbmNvZGVyICplbmNvZGVyLAogCUk5MTVfV1JJVEUocmVnLCB2YWwpOwogCVBPU1RJTkdf UkVBRChyZWcpOwogCi0JaW50ZWxfaGRtaV9zZXRfYXZpX2luZm9mcmFtZShlbmNvZGVyLCBjcnRj X3N0YXRlKTsKKwlpbnRlbF9kZGlfc2V0X2F2aV9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0 ZSk7CiAJaW50ZWxfaGRtaV9zZXRfc3BkX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0YXRlKTsK IAlpbnRlbF9oZG1pX3NldF9oZG1pX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0YXRlKTsKIH0K QEAgLTgxOSw3ICs3NzksNyBAQCBzdGF0aWMgdm9pZCB2bHZfc2V0X2luZm9mcmFtZXMoc3RydWN0 IGRybV9lbmNvZGVyICplbmNvZGVyLAogCUk5MTVfV1JJVEUocmVnLCB2YWwpOwogCVBPU1RJTkdf UkVBRChyZWcpOwogCi0JaW50ZWxfaGRtaV9zZXRfYXZpX2luZm9mcmFtZShlbmNvZGVyLCBjcnRj X3N0YXRlKTsKKwlpbnRlbF9kZGlfc2V0X2F2aV9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0 ZSk7CiAJaW50ZWxfaGRtaV9zZXRfc3BkX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0YXRlKTsK IAlpbnRlbF9oZG1pX3NldF9oZG1pX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0YXRlKTsKIH0K QEAgLTg1Miw3ICs4MTIsNyBAQCBzdGF0aWMgdm9pZCBoc3dfc2V0X2luZm9mcmFtZXMoc3RydWN0 IGRybV9lbmNvZGVyICplbmNvZGVyLAogCUk5MTVfV1JJVEUocmVnLCB2YWwpOwogCVBPU1RJTkdf UkVBRChyZWcpOwogCi0JaW50ZWxfaGRtaV9zZXRfYXZpX2luZm9mcmFtZShlbmNvZGVyLCBjcnRj X3N0YXRlKTsKKwlpbnRlbF9kZGlfc2V0X2F2aV9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0 ZSk7CiAJaW50ZWxfaGRtaV9zZXRfc3BkX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0YXRlKTsK IAlpbnRlbF9oZG1pX3NldF9oZG1pX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0YXRlKTsKIH0K ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xzcGNvbi5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfbHNwY29uLmMKaW5kZXggZjYxMWI2ZC4uNTNkZGQzOSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHNwY29uLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfbHNwY29uLmMKQEAgLTI4MSw2ICsyODEsNyBAQCBib29sIGxz cGNvbl9pbml0KHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0KQogCX0K IAogCWNvbm5lY3Rvci0+eWNiY3JfNDIwX2FsbG93ZWQgPSB0cnVlOworCWxzcGNvbi0+c2V0X2lu Zm9mcmFtZXMgPSBpbnRlbF9kZGlfc2V0X2F2aV9pbmZvZnJhbWU7CiAJZHJtX2RwX3JlYWRfZGVz YygmZHAtPmF1eCwgJmRwLT5kZXNjLCBkcm1fZHBfaXNfYnJhbmNoKGRwLT5kcGNkKSk7CiAKIAlE Uk1fREVCVUdfS01TKCJTdWNjZXNzOiBMU1BDT04gaW5pdFxuIik7Ci0tIAoyLjcuNAoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==