From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH] drm/i915: Switch to per-crtc vblank vfuncs Date: Tue, 18 Jun 2019 11:58:26 +0300 Message-ID: <20190618085826.4120-1-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8558B6E11F for ; Tue, 18 Jun 2019 08:58:29 +0000 (UTC) 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 List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClN3 aXRjaCBmcm9tIHRoZSBkcml2ZXItd2lkZSB2YmxhbmsgdmZ1bmNzIHRvIHRoZSBwZXItY3J0YyBv bmVzIHNvIHRoYXQKd2UgZG9uJ3QgaGF2ZSBzbyBtYW55IHBsYXRmb3JtIHNwZWNpZmljIHZmdW5j cyBpbiB0aGUgZHJpdmVyIHN0cnVjdC4KCldlIHN0aWxsIG5lZWQgdG8gZG8gc29tZXRoaW5nIGFi b3V0IHRoZSByZXN0IGZvIHRoZSBpcnEgdmZ1bmNzLi4uCgpTaWduZWQtb2ZmLWJ5OiBWaWxsZSBT eXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jIHwgMTA0ICsrKysrKysrKysrKysrKyst LS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgICAgICAgICAgICAgIHwgIDkzICsr KysrKystLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5oICAgICAgICAg ICAgICB8ICAxNCArKysKIDMgZmlsZXMgY2hhbmdlZCwgMTQzIGluc2VydGlvbnMoKyksIDY4IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5 LmMKaW5kZXggOGQ3ZTRjOGI2MGJjLi5kYzYwMmE4YTUyZmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCkBAIC0xMzU1Niw3ICsxMzU1Niw3IEBAIHUz MiBpbnRlbF9jcnRjX2dldF92YmxhbmtfY291bnRlcihzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykK IAlpZiAoIXZibGFuay0+bWF4X3ZibGFua19jb3VudCkKIAkJcmV0dXJuICh1MzIpZHJtX2NydGNf YWNjdXJhdGVfdmJsYW5rX2NvdW50KCZjcnRjLT5iYXNlKTsKIAotCXJldHVybiBkZXYtPmRyaXZl ci0+Z2V0X3ZibGFua19jb3VudGVyKGRldiwgY3J0Yy0+cGlwZSk7CisJcmV0dXJuIGNydGMtPmJh c2UuZnVuY3MtPmdldF92YmxhbmtfY291bnRlcigmY3J0Yy0+YmFzZSk7CiB9CiAKIHN0YXRpYyB2 b2lkIGludGVsX3VwZGF0ZV9jcnRjKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKQEAgLTE0MDk0LDE4 ICsxNDA5NCw2IEBAIHN0YXRpYyBpbnQgaW50ZWxfYXRvbWljX2NvbW1pdChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jcnRj X2Z1bmNzIGludGVsX2NydGNfZnVuY3MgPSB7Ci0JLmdhbW1hX3NldCA9IGRybV9hdG9taWNfaGVs cGVyX2xlZ2FjeV9nYW1tYV9zZXQsCi0JLnNldF9jb25maWcgPSBkcm1fYXRvbWljX2hlbHBlcl9z ZXRfY29uZmlnLAotCS5kZXN0cm95ID0gaW50ZWxfY3J0Y19kZXN0cm95LAotCS5wYWdlX2ZsaXAg PSBkcm1fYXRvbWljX2hlbHBlcl9wYWdlX2ZsaXAsCi0JLmF0b21pY19kdXBsaWNhdGVfc3RhdGUg PSBpbnRlbF9jcnRjX2R1cGxpY2F0ZV9zdGF0ZSwKLQkuYXRvbWljX2Rlc3Ryb3lfc3RhdGUgPSBp bnRlbF9jcnRjX2Rlc3Ryb3lfc3RhdGUsCi0JLnNldF9jcmNfc291cmNlID0gaW50ZWxfY3J0Y19z ZXRfY3JjX3NvdXJjZSwKLQkudmVyaWZ5X2NyY19zb3VyY2UgPSBpbnRlbF9jcnRjX3ZlcmlmeV9j cmNfc291cmNlLAotCS5nZXRfY3JjX3NvdXJjZXMgPSBpbnRlbF9jcnRjX2dldF9jcmNfc291cmNl cywKLX07Ci0KIHN0cnVjdCB3YWl0X3Jwc19ib29zdCB7CiAJc3RydWN0IHdhaXRfcXVldWVfZW50 cnkgd2FpdDsKIApAQCAtMTQ4OTksOCArMTQ4ODcsNzYgQEAgc3RhdGljIHZvaWQgaW50ZWxfY3J0 Y19pbml0X3NjYWxlcnMoc3RydWN0IGludGVsX2NydGMgKmNydGMsCiAJc2NhbGVyX3N0YXRlLT5z Y2FsZXJfaWQgPSAtMTsKIH0KIAorI2RlZmluZSBJTlRFTF9DUlRDX0ZVTkNTIFwKKwkuZ2FtbWFf c2V0ID0gZHJtX2F0b21pY19oZWxwZXJfbGVnYWN5X2dhbW1hX3NldCwgXAorCS5zZXRfY29uZmln ID0gZHJtX2F0b21pY19oZWxwZXJfc2V0X2NvbmZpZywgXAorCS5kZXN0cm95ID0gaW50ZWxfY3J0 Y19kZXN0cm95LCBcCisJLnBhZ2VfZmxpcCA9IGRybV9hdG9taWNfaGVscGVyX3BhZ2VfZmxpcCwg XAorCS5hdG9taWNfZHVwbGljYXRlX3N0YXRlID0gaW50ZWxfY3J0Y19kdXBsaWNhdGVfc3RhdGUs IFwKKwkuYXRvbWljX2Rlc3Ryb3lfc3RhdGUgPSBpbnRlbF9jcnRjX2Rlc3Ryb3lfc3RhdGUsIFwK Kwkuc2V0X2NyY19zb3VyY2UgPSBpbnRlbF9jcnRjX3NldF9jcmNfc291cmNlLCBcCisJLnZlcmlm eV9jcmNfc291cmNlID0gaW50ZWxfY3J0Y192ZXJpZnlfY3JjX3NvdXJjZSwgXAorCS5nZXRfY3Jj X3NvdXJjZXMgPSBpbnRlbF9jcnRjX2dldF9jcmNfc291cmNlcworCitzdGF0aWMgY29uc3Qgc3Ry dWN0IGRybV9jcnRjX2Z1bmNzIGJkd19jcnRjX2Z1bmNzID0geworCUlOVEVMX0NSVENfRlVOQ1Ms CisKKwkuZ2V0X3ZibGFua19jb3VudGVyID0gZzR4X2dldF92YmxhbmtfY291bnRlciwKKwkuZW5h YmxlX3ZibGFuayA9IGJkd19lbmFibGVfdmJsYW5rLAorCS5kaXNhYmxlX3ZibGFuayA9IGJkd19k aXNhYmxlX3ZibGFuaywKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfZnVuY3Mg aWxrX2NydGNfZnVuY3MgPSB7CisJSU5URUxfQ1JUQ19GVU5DUywKKworCS5nZXRfdmJsYW5rX2Nv dW50ZXIgPSBnNHhfZ2V0X3ZibGFua19jb3VudGVyLAorCS5lbmFibGVfdmJsYW5rID0gaWxrX2Vu YWJsZV92YmxhbmssCisJLmRpc2FibGVfdmJsYW5rID0gaWxrX2Rpc2FibGVfdmJsYW5rLAorfTsK Kworc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY3J0Y19mdW5jcyBnNHhfY3J0Y19mdW5jcyA9IHsK KwlJTlRFTF9DUlRDX0ZVTkNTLAorCisJLmdldF92YmxhbmtfY291bnRlciA9IGc0eF9nZXRfdmJs YW5rX2NvdW50ZXIsCisJLmVuYWJsZV92YmxhbmsgPSBpOTY1X2VuYWJsZV92YmxhbmssCisJLmRp c2FibGVfdmJsYW5rID0gaTk2NV9kaXNhYmxlX3ZibGFuaywKK307CisKK3N0YXRpYyBjb25zdCBz dHJ1Y3QgZHJtX2NydGNfZnVuY3MgaTk2NV9jcnRjX2Z1bmNzID0geworCUlOVEVMX0NSVENfRlVO Q1MsCisKKwkuZ2V0X3ZibGFua19jb3VudGVyID0gaTkxNV9nZXRfdmJsYW5rX2NvdW50ZXIsCisJ LmVuYWJsZV92YmxhbmsgPSBpOTY1X2VuYWJsZV92YmxhbmssCisJLmRpc2FibGVfdmJsYW5rID0g aTk2NV9kaXNhYmxlX3ZibGFuaywKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNf ZnVuY3MgaTk0NWdtX2NydGNfZnVuY3MgPSB7CisJSU5URUxfQ1JUQ19GVU5DUywKKworCS5nZXRf dmJsYW5rX2NvdW50ZXIgPSBpOTE1X2dldF92YmxhbmtfY291bnRlciwKKwkuZW5hYmxlX3ZibGFu ayA9IGk5NDVnbV9lbmFibGVfdmJsYW5rLAorCS5kaXNhYmxlX3ZibGFuayA9IGk5NDVnbV9kaXNh YmxlX3ZibGFuaywKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfZnVuY3MgaTkx NV9jcnRjX2Z1bmNzID0geworCUlOVEVMX0NSVENfRlVOQ1MsCisKKwkuZ2V0X3ZibGFua19jb3Vu dGVyID0gaTkxNV9nZXRfdmJsYW5rX2NvdW50ZXIsCisJLmVuYWJsZV92YmxhbmsgPSBpOHh4X2Vu YWJsZV92YmxhbmssCisJLmRpc2FibGVfdmJsYW5rID0gaTh4eF9kaXNhYmxlX3ZibGFuaywKK307 CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfZnVuY3MgaTh4eF9jcnRjX2Z1bmNzID0g eworCUlOVEVMX0NSVENfRlVOQ1MsCisKKwkvKiBubyBodyB2YmxhbmsgY291bnRlciAqLworCS5l bmFibGVfdmJsYW5rID0gaTh4eF9lbmFibGVfdmJsYW5rLAorCS5kaXNhYmxlX3ZibGFuayA9IGk4 eHhfZGlzYWJsZV92YmxhbmssCit9OworCiBzdGF0aWMgaW50IGludGVsX2NydGNfaW5pdChzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGVudW0gcGlwZSBwaXBlKQogeworCWNvbnN0 IHN0cnVjdCBkcm1fY3J0Y19mdW5jcyAqZnVuY3M7CiAJc3RydWN0IGludGVsX2NydGMgKmludGVs X2NydGM7CiAJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUgPSBOVUxMOwogCXN0 cnVjdCBpbnRlbF9wbGFuZSAqcHJpbWFyeSA9IE5VTEw7CkBAIC0xNDk0NCwxMCArMTUwMDAsMjgg QEAgc3RhdGljIGludCBpbnRlbF9jcnRjX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LCBlbnVtIHBpcGUgcGlwZSkKIAl9CiAJaW50ZWxfY3J0Yy0+cGxhbmVfaWRzX21hc2sg fD0gQklUKGN1cnNvci0+aWQpOwogCisJaWYgKEhBU19HTUNIKGRldl9wcml2KSkgeworCQlpZiAo SVNfQ0hFUlJZVklFVyhkZXZfcHJpdikgfHwKKwkJICAgIElTX1ZBTExFWVZJRVcoZGV2X3ByaXYp IHx8IElTX0c0WChkZXZfcHJpdikpCisJCQlmdW5jcyA9ICZnNHhfY3J0Y19mdW5jczsKKwkJZWxz ZSBpZiAoSVNfR0VOKGRldl9wcml2LCA0KSkKKwkJCWZ1bmNzID0gJmk5NjVfY3J0Y19mdW5jczsK KwkJZWxzZSBpZiAoSVNfSTk0NUdNKGRldl9wcml2KSkKKwkJCWZ1bmNzID0gJmk5NDVnbV9jcnRj X2Z1bmNzOworCQllbHNlIGlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDMpCisJCQlmdW5jcyA9 ICZpOTE1X2NydGNfZnVuY3M7CisJCWVsc2UKKwkJCWZ1bmNzID0gJmk4eHhfY3J0Y19mdW5jczsK Kwl9IGVsc2UgeworCQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA4KQorCQkJZnVuY3MgPSAm YmR3X2NydGNfZnVuY3M7CisJCWVsc2UKKwkJCWZ1bmNzID0gJmlsa19jcnRjX2Z1bmNzOworCX0K KwogCXJldCA9IGRybV9jcnRjX2luaXRfd2l0aF9wbGFuZXMoJmRldl9wcml2LT5kcm0sICZpbnRl bF9jcnRjLT5iYXNlLAogCQkJCQkmcHJpbWFyeS0+YmFzZSwgJmN1cnNvci0+YmFzZSwKLQkJCQkJ JmludGVsX2NydGNfZnVuY3MsCi0JCQkJCSJwaXBlICVjIiwgcGlwZV9uYW1lKHBpcGUpKTsKKwkJ CQkJZnVuY3MsICJwaXBlICVjIiwgcGlwZV9uYW1lKHBpcGUpKTsKIAlpZiAocmV0KQogCQlnb3Rv IGZhaWw7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCmluZGV4IDJhZWIwNDMxYzQzMi4uMWNjMjdl ZWFlM2RlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKQEAgLTkxOCwxMSArOTE4LDEyIEBAIHN0 YXRpYyB2b2lkIGk5MTVfZW5hYmxlX2FzbGVfcGlwZXN0YXQoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQogLyogQ2FsbGVkIGZyb20gZHJtIGdlbmVyaWMgY29kZSwgcGFzc2VkIGEg J2NydGMnLCB3aGljaAogICogd2UgdXNlIGFzIGEgcGlwZSBpbmRleAogICovCi1zdGF0aWMgdTMy IGk5MTVfZ2V0X3ZibGFua19jb3VudGVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVk IGludCBwaXBlKQordTMyIGk5MTVfZ2V0X3ZibGFua19jb3VudGVyKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YykKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRl dik7Ci0Jc3RydWN0IGRybV92YmxhbmtfY3J0YyAqdmJsYW5rID0gJmRldi0+dmJsYW5rW3BpcGVd OworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+ZGV2 KTsKKwlzdHJ1Y3QgZHJtX3ZibGFua19jcnRjICp2YmxhbmsgPSAmZGV2X3ByaXYtPmRybS52Ymxh bmtbZHJtX2NydGNfaW5kZXgoY3J0YyldOwogCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl ICptb2RlID0gJnZibGFuay0+aHdtb2RlOworCWVudW0gcGlwZSBwaXBlID0gdG9faW50ZWxfY3J0 YyhjcnRjKS0+cGlwZTsKIAlpOTE1X3JlZ190IGhpZ2hfZnJhbWUsIGxvd19mcmFtZTsKIAl1MzIg aGlnaDEsIGhpZ2gyLCBsb3csIHBpeGVsLCB2Ymxfc3RhcnQsIGhzeW5jX3N0YXJ0LCBodG90YWw7 CiAJdW5zaWduZWQgbG9uZyBpcnFmbGFnczsKQEAgLTk4Myw5ICs5ODQsMTAgQEAgc3RhdGljIHUz MiBpOTE1X2dldF92YmxhbmtfY291bnRlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25l ZCBpbnQgcGlwZSkKIAlyZXR1cm4gKCgoaGlnaDEgPDwgOCkgfCBsb3cpICsgKHBpeGVsID49IHZi bF9zdGFydCkpICYgMHhmZmZmZmY7CiB9CiAKLXN0YXRpYyB1MzIgZzR4X2dldF92YmxhbmtfY291 bnRlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgcGlwZSkKK3UzMiBnNHhf Z2V0X3ZibGFua19jb3VudGVyKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIHsKLQlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CisJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5kZXYpOworCWVudW0gcGlwZSBwaXBl ID0gdG9faW50ZWxfY3J0YyhjcnRjKS0+cGlwZTsKIAogCXJldHVybiBJOTE1X1JFQUQoUElQRV9G Uk1DT1VOVF9HNFgocGlwZSkpOwogfQpAQCAtMzIzNCw5ICszMjM2LDEwIEBAIHN0YXRpYyBpcnFy ZXR1cm5fdCBnZW4xMV9pcnFfaGFuZGxlcihpbnQgaXJxLCB2b2lkICphcmcpCiAvKiBDYWxsZWQg ZnJvbSBkcm0gZ2VuZXJpYyBjb2RlLCBwYXNzZWQgJ2NydGMnIHdoaWNoCiAgKiB3ZSB1c2UgYXMg YSBwaXBlIGluZGV4CiAgKi8KLXN0YXRpYyBpbnQgaTh4eF9lbmFibGVfdmJsYW5rKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBwaXBlKQoraW50IGk4eHhfZW5hYmxlX3ZibGFu ayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gdG9faTkxNShkZXYpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IHRvX2k5MTUoY3J0Yy0+ZGV2KTsKKwllbnVtIHBpcGUgcGlwZSA9IHRvX2ludGVsX2NydGMo Y3J0YyktPnBpcGU7CiAJdW5zaWduZWQgbG9uZyBpcnFmbGFnczsKIAogCXNwaW5fbG9ja19pcnFz YXZlKCZkZXZfcHJpdi0+aXJxX2xvY2ssIGlycWZsYWdzKTsKQEAgLTMyNDYsMTkgKzMyNDksMjAg QEAgc3RhdGljIGludCBpOHh4X2VuYWJsZV92Ymxhbmsoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg dW5zaWduZWQgaW50IHBpcGUpCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgaTk0NWdtX2Vu YWJsZV92Ymxhbmsoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IHBpcGUpCitp bnQgaTk0NWdtX2VuYWJsZV92Ymxhbmsoc3RydWN0IGRybV9jcnRjICpjcnRjKQogewotCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKKwlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmRldik7CiAKIAlpZiAoZGV2 X3ByaXYtPmk5NDVnbV92YmxhbmsuZW5hYmxlZCsrID09IDApCiAJCXNjaGVkdWxlX3dvcmsoJmRl dl9wcml2LT5pOTQ1Z21fdmJsYW5rLndvcmspOwogCi0JcmV0dXJuIGk4eHhfZW5hYmxlX3ZibGFu ayhkZXYsIHBpcGUpOworCXJldHVybiBpOHh4X2VuYWJsZV92YmxhbmsoY3J0Yyk7CiB9CiAKLXN0 YXRpYyBpbnQgaTk2NV9lbmFibGVfdmJsYW5rKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2ln bmVkIGludCBwaXBlKQoraW50IGk5NjVfZW5hYmxlX3ZibGFuayhzdHJ1Y3QgZHJtX2NydGMgKmNy dGMpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYp OworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+ZGV2 KTsKKwllbnVtIHBpcGUgcGlwZSA9IHRvX2ludGVsX2NydGMoY3J0YyktPnBpcGU7CiAJdW5zaWdu ZWQgbG9uZyBpcnFmbGFnczsKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZkZXZfcHJpdi0+aXJxX2xv Y2ssIGlycWZsYWdzKTsKQEAgLTMyNjksOSArMzI3MywxMCBAQCBzdGF0aWMgaW50IGk5NjVfZW5h YmxlX3ZibGFuayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgcGlwZSkKIAly ZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBpcm9ubGFrZV9lbmFibGVfdmJsYW5rKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBwaXBlKQoraW50IGlsa19lbmFibGVfdmJsYW5r KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGRldik7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShjcnRjLT5kZXYpOworCWVudW0gcGlwZSBwaXBlID0gdG9faW50ZWxfY3J0Yyhj cnRjKS0+cGlwZTsKIAl1bnNpZ25lZCBsb25nIGlycWZsYWdzOwogCXUzMiBiaXQgPSBJTlRFTF9H RU4oZGV2X3ByaXYpID49IDcgPwogCQlERV9QSVBFX1ZCTEFOS19JVkIocGlwZSkgOiBERV9QSVBF X1ZCTEFOSyhwaXBlKTsKQEAgLTMyODQsMTQgKzMyODksMTUgQEAgc3RhdGljIGludCBpcm9ubGFr ZV9lbmFibGVfdmJsYW5rKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBwaXBl KQogCSAqIFBTUiBpcyBhY3RpdmUgYXMgbm8gZnJhbWVzIGFyZSBnZW5lcmF0ZWQuCiAJICovCiAJ aWYgKEhBU19QU1IoZGV2X3ByaXYpKQotCQlkcm1fdmJsYW5rX3Jlc3RvcmUoZGV2LCBwaXBlKTsK KwkJZHJtX2NydGNfdmJsYW5rX3Jlc3RvcmUoY3J0Yyk7CiAKIAlyZXR1cm4gMDsKIH0KIAotc3Rh dGljIGludCBnZW44X2VuYWJsZV92Ymxhbmsoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWdu ZWQgaW50IHBpcGUpCitpbnQgYmR3X2VuYWJsZV92Ymxhbmsoc3RydWN0IGRybV9jcnRjICpjcnRj KQogewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsK KwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmRldik7 CisJZW51bSBwaXBlIHBpcGUgPSB0b19pbnRlbF9jcnRjKGNydGMpLT5waXBlOwogCXVuc2lnbmVk IGxvbmcgaXJxZmxhZ3M7CiAKIAlzcGluX2xvY2tfaXJxc2F2ZSgmZGV2X3ByaXYtPmlycV9sb2Nr LCBpcnFmbGFncyk7CkBAIC0zMzAyLDcgKzMzMDgsNyBAQCBzdGF0aWMgaW50IGdlbjhfZW5hYmxl X3ZibGFuayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgcGlwZSkKIAkgKiBQ U1IgaXMgYWN0aXZlIGFzIG5vIGZyYW1lcyBhcmUgZ2VuZXJhdGVkLCBzbyBjaGVjayBvbmx5IGZv ciBQU1IuCiAJICovCiAJaWYgKEhBU19QU1IoZGV2X3ByaXYpKQotCQlkcm1fdmJsYW5rX3Jlc3Rv cmUoZGV2LCBwaXBlKTsKKwkJZHJtX2NydGNfdmJsYW5rX3Jlc3RvcmUoY3J0Yyk7CiAKIAlyZXR1 cm4gMDsKIH0KQEAgLTMzMTAsOSArMzMxNiwxMCBAQCBzdGF0aWMgaW50IGdlbjhfZW5hYmxlX3Zi bGFuayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgcGlwZSkKIC8qIENhbGxl ZCBmcm9tIGRybSBnZW5lcmljIGNvZGUsIHBhc3NlZCAnY3J0Yycgd2hpY2gKICAqIHdlIHVzZSBh cyBhIHBpcGUgaW5kZXgKICAqLwotc3RhdGljIHZvaWQgaTh4eF9kaXNhYmxlX3ZibGFuayhzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgcGlwZSkKK3ZvaWQgaTh4eF9kaXNhYmxl X3ZibGFuayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+ZGV2KTsKKwllbnVtIHBpcGUgcGlwZSA9IHRvX2ludGVs X2NydGMoY3J0YyktPnBpcGU7CiAJdW5zaWduZWQgbG9uZyBpcnFmbGFnczsKIAogCXNwaW5fbG9j a19pcnFzYXZlKCZkZXZfcHJpdi0+aXJxX2xvY2ssIGlycWZsYWdzKTsKQEAgLTMzMjAsMTkgKzMz MjcsMjAgQEAgc3RhdGljIHZvaWQgaTh4eF9kaXNhYmxlX3ZibGFuayhzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCB1bnNpZ25lZCBpbnQgcGlwZSkKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkZXZf cHJpdi0+aXJxX2xvY2ssIGlycWZsYWdzKTsKIH0KIAotc3RhdGljIHZvaWQgaTk0NWdtX2Rpc2Fi bGVfdmJsYW5rKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBwaXBlKQordm9p ZCBpOTQ1Z21fZGlzYWJsZV92Ymxhbmsoc3RydWN0IGRybV9jcnRjICpjcnRjKQogewotCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKKwlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmRldik7CiAKLQlpOHh4X2Rp c2FibGVfdmJsYW5rKGRldiwgcGlwZSk7CisJaTh4eF9kaXNhYmxlX3ZibGFuayhjcnRjKTsKIAog CWlmICgtLWRldl9wcml2LT5pOTQ1Z21fdmJsYW5rLmVuYWJsZWQgPT0gMCkKIAkJc2NoZWR1bGVf d29yaygmZGV2X3ByaXYtPmk5NDVnbV92Ymxhbmsud29yayk7CiB9CiAKLXN0YXRpYyB2b2lkIGk5 NjVfZGlzYWJsZV92Ymxhbmsoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IHBp cGUpCit2b2lkIGk5NjVfZGlzYWJsZV92Ymxhbmsoc3RydWN0IGRybV9jcnRjICpjcnRjKQogewot CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKKwlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmRldik7CisJZW51 bSBwaXBlIHBpcGUgPSB0b19pbnRlbF9jcnRjKGNydGMpLT5waXBlOwogCXVuc2lnbmVkIGxvbmcg aXJxZmxhZ3M7CiAKIAlzcGluX2xvY2tfaXJxc2F2ZSgmZGV2X3ByaXYtPmlycV9sb2NrLCBpcnFm bGFncyk7CkBAIC0zMzQxLDkgKzMzNDksMTAgQEAgc3RhdGljIHZvaWQgaTk2NV9kaXNhYmxlX3Zi bGFuayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgcGlwZSkKIAlzcGluX3Vu bG9ja19pcnFyZXN0b3JlKCZkZXZfcHJpdi0+aXJxX2xvY2ssIGlycWZsYWdzKTsKIH0KIAotc3Rh dGljIHZvaWQgaXJvbmxha2VfZGlzYWJsZV92Ymxhbmsoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg dW5zaWduZWQgaW50IHBpcGUpCit2b2lkIGlsa19kaXNhYmxlX3ZibGFuayhzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShkZXYpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0 Yy0+ZGV2KTsKKwllbnVtIHBpcGUgcGlwZSA9IHRvX2ludGVsX2NydGMoY3J0YyktPnBpcGU7CiAJ dW5zaWduZWQgbG9uZyBpcnFmbGFnczsKIAl1MzIgYml0ID0gSU5URUxfR0VOKGRldl9wcml2KSA+ PSA3ID8KIAkJREVfUElQRV9WQkxBTktfSVZCKHBpcGUpIDogREVfUElQRV9WQkxBTksocGlwZSk7 CkBAIC0zMzUzLDkgKzMzNjIsMTAgQEAgc3RhdGljIHZvaWQgaXJvbmxha2VfZGlzYWJsZV92Ymxh bmsoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IHBpcGUpCiAJc3Bpbl91bmxv Y2tfaXJxcmVzdG9yZSgmZGV2X3ByaXYtPmlycV9sb2NrLCBpcnFmbGFncyk7CiB9CiAKLXN0YXRp YyB2b2lkIGdlbjhfZGlzYWJsZV92Ymxhbmsoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWdu ZWQgaW50IHBpcGUpCit2b2lkIGJkd19kaXNhYmxlX3ZibGFuayhzdHJ1Y3QgZHJtX2NydGMgKmNy dGMpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYp OworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+ZGV2 KTsKKwllbnVtIHBpcGUgcGlwZSA9IHRvX2ludGVsX2NydGMoY3J0YyktPnBpcGU7CiAJdW5zaWdu ZWQgbG9uZyBpcnFmbGFnczsKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZkZXZfcHJpdi0+aXJxX2xv Y2ssIGlycWZsYWdzKTsKQEAgLTMzNjMsNyArMzM3Myw3IEBAIHN0YXRpYyB2b2lkIGdlbjhfZGlz YWJsZV92Ymxhbmsoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IHBpcGUpCiAJ c3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGV2X3ByaXYtPmlycV9sb2NrLCBpcnFmbGFncyk7CiB9 CiAKLXN0YXRpYyB2b2lkIGk5NDVnbV92Ymxhbmtfd29ya19mdW5jKHN0cnVjdCB3b3JrX3N0cnVj dCAqd29yaykKK3ZvaWQgaTk0NWdtX3ZibGFua193b3JrX2Z1bmMoc3RydWN0IHdvcmtfc3RydWN0 ICp3b3JrKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9CiAJCWNvbnRh aW5lcl9vZih3b3JrLCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSwgaTk0NWdtX3ZibGFuay53b3Jr KTsKQEAgLTQ3OTYsMTEgKzQ4MDYsNiBAQCB2b2lkIGludGVsX2lycV9pbml0KHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA4KQog CQlycHMtPnBtX2ludHJtc2tfbWJ6IHw9IEdFTjhfUE1JTlRSX0RJU0FCTEVfUkVESVJFQ1RfVE9f R1VDOwogCi0JaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gNSB8fCBJU19HNFgoZGV2X3ByaXYp KQotCQlkZXYtPmRyaXZlci0+Z2V0X3ZibGFua19jb3VudGVyID0gZzR4X2dldF92YmxhbmtfY291 bnRlcjsKLQllbHNlIGlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDMpCi0JCWRldi0+ZHJpdmVy LT5nZXRfdmJsYW5rX2NvdW50ZXIgPSBpOTE1X2dldF92YmxhbmtfY291bnRlcjsKLQogCWRldi0+ dmJsYW5rX2Rpc2FibGVfaW1tZWRpYXRlID0gdHJ1ZTsKIAogCS8qIE1vc3QgcGxhdGZvcm1zIHRy ZWF0IHRoZSBkaXNwbGF5IGlycSBibG9jayBhcyBhbiBhbHdheXMtb24KQEAgLTQ4MzAsMzIgKzQ4 MzUsMjQgQEAgdm9pZCBpbnRlbF9pcnFfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCiAJCWRldi0+ZHJpdmVyLT5pcnFfcHJlaW5zdGFsbCA9IGNoZXJyeXZpZXdfaXJxX3Jl c2V0OwogCQlkZXYtPmRyaXZlci0+aXJxX3Bvc3RpbnN0YWxsID0gY2hlcnJ5dmlld19pcnFfcG9z dGluc3RhbGw7CiAJCWRldi0+ZHJpdmVyLT5pcnFfdW5pbnN0YWxsID0gY2hlcnJ5dmlld19pcnFf cmVzZXQ7Ci0JCWRldi0+ZHJpdmVyLT5lbmFibGVfdmJsYW5rID0gaTk2NV9lbmFibGVfdmJsYW5r OwotCQlkZXYtPmRyaXZlci0+ZGlzYWJsZV92YmxhbmsgPSBpOTY1X2Rpc2FibGVfdmJsYW5rOwog CQlkZXZfcHJpdi0+ZGlzcGxheS5ocGRfaXJxX3NldHVwID0gaTkxNV9ocGRfaXJxX3NldHVwOwog CX0gZWxzZSBpZiAoSVNfVkFMTEVZVklFVyhkZXZfcHJpdikpIHsKIAkJZGV2LT5kcml2ZXItPmly cV9oYW5kbGVyID0gdmFsbGV5dmlld19pcnFfaGFuZGxlcjsKIAkJZGV2LT5kcml2ZXItPmlycV9w cmVpbnN0YWxsID0gdmFsbGV5dmlld19pcnFfcmVzZXQ7CiAJCWRldi0+ZHJpdmVyLT5pcnFfcG9z dGluc3RhbGwgPSB2YWxsZXl2aWV3X2lycV9wb3N0aW5zdGFsbDsKIAkJZGV2LT5kcml2ZXItPmly cV91bmluc3RhbGwgPSB2YWxsZXl2aWV3X2lycV9yZXNldDsKLQkJZGV2LT5kcml2ZXItPmVuYWJs ZV92YmxhbmsgPSBpOTY1X2VuYWJsZV92Ymxhbms7Ci0JCWRldi0+ZHJpdmVyLT5kaXNhYmxlX3Zi bGFuayA9IGk5NjVfZGlzYWJsZV92Ymxhbms7CiAJCWRldl9wcml2LT5kaXNwbGF5LmhwZF9pcnFf c2V0dXAgPSBpOTE1X2hwZF9pcnFfc2V0dXA7CiAJfSBlbHNlIGlmIChJTlRFTF9HRU4oZGV2X3By aXYpID49IDExKSB7CiAJCWRldi0+ZHJpdmVyLT5pcnFfaGFuZGxlciA9IGdlbjExX2lycV9oYW5k bGVyOwogCQlkZXYtPmRyaXZlci0+aXJxX3ByZWluc3RhbGwgPSBnZW4xMV9pcnFfcmVzZXQ7CiAJ CWRldi0+ZHJpdmVyLT5pcnFfcG9zdGluc3RhbGwgPSBnZW4xMV9pcnFfcG9zdGluc3RhbGw7CiAJ CWRldi0+ZHJpdmVyLT5pcnFfdW5pbnN0YWxsID0gZ2VuMTFfaXJxX3Jlc2V0OwotCQlkZXYtPmRy aXZlci0+ZW5hYmxlX3ZibGFuayA9IGdlbjhfZW5hYmxlX3ZibGFuazsKLQkJZGV2LT5kcml2ZXIt PmRpc2FibGVfdmJsYW5rID0gZ2VuOF9kaXNhYmxlX3ZibGFuazsKIAkJZGV2X3ByaXYtPmRpc3Bs YXkuaHBkX2lycV9zZXR1cCA9IGdlbjExX2hwZF9pcnFfc2V0dXA7CiAJfSBlbHNlIGlmIChJTlRF TF9HRU4oZGV2X3ByaXYpID49IDgpIHsKIAkJZGV2LT5kcml2ZXItPmlycV9oYW5kbGVyID0gZ2Vu OF9pcnFfaGFuZGxlcjsKIAkJZGV2LT5kcml2ZXItPmlycV9wcmVpbnN0YWxsID0gZ2VuOF9pcnFf cmVzZXQ7CiAJCWRldi0+ZHJpdmVyLT5pcnFfcG9zdGluc3RhbGwgPSBnZW44X2lycV9wb3N0aW5z dGFsbDsKIAkJZGV2LT5kcml2ZXItPmlycV91bmluc3RhbGwgPSBnZW44X2lycV9yZXNldDsKLQkJ ZGV2LT5kcml2ZXItPmVuYWJsZV92YmxhbmsgPSBnZW44X2VuYWJsZV92Ymxhbms7Ci0JCWRldi0+ ZHJpdmVyLT5kaXNhYmxlX3ZibGFuayA9IGdlbjhfZGlzYWJsZV92Ymxhbms7CiAJCWlmIChJU19H RU45X0xQKGRldl9wcml2KSkKIAkJCWRldl9wcml2LT5kaXNwbGF5LmhwZF9pcnFfc2V0dXAgPSBi eHRfaHBkX2lycV9zZXR1cDsKIAkJZWxzZSBpZiAoSU5URUxfUENIX1RZUEUoZGV2X3ByaXYpID49 IFBDSF9TUFQpCkBAIC00ODY3LDggKzQ4NjQsNiBAQCB2b2lkIGludGVsX2lycV9pbml0KHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkJZGV2LT5kcml2ZXItPmlycV9wcmVpbnN0 YWxsID0gaXJvbmxha2VfaXJxX3Jlc2V0OwogCQlkZXYtPmRyaXZlci0+aXJxX3Bvc3RpbnN0YWxs ID0gaXJvbmxha2VfaXJxX3Bvc3RpbnN0YWxsOwogCQlkZXYtPmRyaXZlci0+aXJxX3VuaW5zdGFs bCA9IGlyb25sYWtlX2lycV9yZXNldDsKLQkJZGV2LT5kcml2ZXItPmVuYWJsZV92YmxhbmsgPSBp cm9ubGFrZV9lbmFibGVfdmJsYW5rOwotCQlkZXYtPmRyaXZlci0+ZGlzYWJsZV92YmxhbmsgPSBp cm9ubGFrZV9kaXNhYmxlX3ZibGFuazsKIAkJZGV2X3ByaXYtPmRpc3BsYXkuaHBkX2lycV9zZXR1 cCA9IGlsa19ocGRfaXJxX3NldHVwOwogCX0gZWxzZSB7CiAJCWlmIChJU19HRU4oZGV2X3ByaXYs IDIpKSB7CkBAIC00ODc2LDI5ICs0ODcxLDIxIEBAIHZvaWQgaW50ZWxfaXJxX2luaXQoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCQkJZGV2LT5kcml2ZXItPmlycV9wb3N0aW5z dGFsbCA9IGk4eHhfaXJxX3Bvc3RpbnN0YWxsOwogCQkJZGV2LT5kcml2ZXItPmlycV9oYW5kbGVy ID0gaTh4eF9pcnFfaGFuZGxlcjsKIAkJCWRldi0+ZHJpdmVyLT5pcnFfdW5pbnN0YWxsID0gaTh4 eF9pcnFfcmVzZXQ7Ci0JCQlkZXYtPmRyaXZlci0+ZW5hYmxlX3ZibGFuayA9IGk4eHhfZW5hYmxl X3ZibGFuazsKLQkJCWRldi0+ZHJpdmVyLT5kaXNhYmxlX3ZibGFuayA9IGk4eHhfZGlzYWJsZV92 Ymxhbms7CiAJCX0gZWxzZSBpZiAoSVNfSTk0NUdNKGRldl9wcml2KSkgewogCQkJZGV2LT5kcml2 ZXItPmlycV9wcmVpbnN0YWxsID0gaTkxNV9pcnFfcmVzZXQ7CiAJCQlkZXYtPmRyaXZlci0+aXJx X3Bvc3RpbnN0YWxsID0gaTkxNV9pcnFfcG9zdGluc3RhbGw7CiAJCQlkZXYtPmRyaXZlci0+aXJx X3VuaW5zdGFsbCA9IGk5MTVfaXJxX3Jlc2V0OwogCQkJZGV2LT5kcml2ZXItPmlycV9oYW5kbGVy ID0gaTkxNV9pcnFfaGFuZGxlcjsKLQkJCWRldi0+ZHJpdmVyLT5lbmFibGVfdmJsYW5rID0gaTk0 NWdtX2VuYWJsZV92Ymxhbms7Ci0JCQlkZXYtPmRyaXZlci0+ZGlzYWJsZV92YmxhbmsgPSBpOTQ1 Z21fZGlzYWJsZV92Ymxhbms7CiAJCX0gZWxzZSBpZiAoSVNfR0VOKGRldl9wcml2LCAzKSkgewog CQkJZGV2LT5kcml2ZXItPmlycV9wcmVpbnN0YWxsID0gaTkxNV9pcnFfcmVzZXQ7CiAJCQlkZXYt PmRyaXZlci0+aXJxX3Bvc3RpbnN0YWxsID0gaTkxNV9pcnFfcG9zdGluc3RhbGw7CiAJCQlkZXYt PmRyaXZlci0+aXJxX3VuaW5zdGFsbCA9IGk5MTVfaXJxX3Jlc2V0OwogCQkJZGV2LT5kcml2ZXIt PmlycV9oYW5kbGVyID0gaTkxNV9pcnFfaGFuZGxlcjsKLQkJCWRldi0+ZHJpdmVyLT5lbmFibGVf dmJsYW5rID0gaTh4eF9lbmFibGVfdmJsYW5rOwotCQkJZGV2LT5kcml2ZXItPmRpc2FibGVfdmJs YW5rID0gaTh4eF9kaXNhYmxlX3ZibGFuazsKIAkJfSBlbHNlIHsKIAkJCWRldi0+ZHJpdmVyLT5p cnFfcHJlaW5zdGFsbCA9IGk5NjVfaXJxX3Jlc2V0OwogCQkJZGV2LT5kcml2ZXItPmlycV9wb3N0 aW5zdGFsbCA9IGk5NjVfaXJxX3Bvc3RpbnN0YWxsOwogCQkJZGV2LT5kcml2ZXItPmlycV91bmlu c3RhbGwgPSBpOTY1X2lycV9yZXNldDsKIAkJCWRldi0+ZHJpdmVyLT5pcnFfaGFuZGxlciA9IGk5 NjVfaXJxX2hhbmRsZXI7Ci0JCQlkZXYtPmRyaXZlci0+ZW5hYmxlX3ZibGFuayA9IGk5NjVfZW5h YmxlX3ZibGFuazsKLQkJCWRldi0+ZHJpdmVyLT5kaXNhYmxlX3ZibGFuayA9IGk5NjVfZGlzYWJs ZV92Ymxhbms7CiAJCX0KIAkJaWYgKEk5MTVfSEFTX0hPVFBMVUcoZGV2X3ByaXYpKQogCQkJZGV2 X3ByaXYtPmRpc3BsYXkuaHBkX2lycV9zZXR1cCA9IGk5MTVfaHBkX2lycV9zZXR1cDsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmggYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2lycS5oCmluZGV4IGNiMjVkZDIxMzMwOC4uZWY3ODJlNWFiMjQwIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5oCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfaXJxLmgKQEAgLTExNCw0ICsxMTQsMTggQEAgdm9pZCBnZW4xMV9yZXNldF9n dWNfaW50ZXJydXB0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSk7CiB2b2lkIGdlbjEx X2VuYWJsZV9ndWNfaW50ZXJydXB0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSk7CiB2 b2lkIGdlbjExX2Rpc2FibGVfZ3VjX2ludGVycnVwdHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg Kmk5MTUpOwogCit1MzIgaTkxNV9nZXRfdmJsYW5rX2NvdW50ZXIoc3RydWN0IGRybV9jcnRjICpj cnRjKTsKK3UzMiBnNHhfZ2V0X3ZibGFua19jb3VudGVyKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7 CisKK2ludCBpOHh4X2VuYWJsZV92Ymxhbmsoc3RydWN0IGRybV9jcnRjICpjcnRjKTsKK2ludCBp OTQ1Z21fZW5hYmxlX3ZibGFuayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOworaW50IGk5NjVfZW5h YmxlX3ZibGFuayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOworaW50IGlsa19lbmFibGVfdmJsYW5r KHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7CitpbnQgYmR3X2VuYWJsZV92Ymxhbmsoc3RydWN0IGRy bV9jcnRjICpjcnRjKTsKK3ZvaWQgaTh4eF9kaXNhYmxlX3ZibGFuayhzdHJ1Y3QgZHJtX2NydGMg KmNydGMpOwordm9pZCBpOTQ1Z21fZGlzYWJsZV92Ymxhbmsoc3RydWN0IGRybV9jcnRjICpjcnRj KTsKK3ZvaWQgaTk2NV9kaXNhYmxlX3ZibGFuayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOwordm9p ZCBpbGtfZGlzYWJsZV92Ymxhbmsoc3RydWN0IGRybV9jcnRjICpjcnRjKTsKK3ZvaWQgYmR3X2Rp c2FibGVfdmJsYW5rKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7CisKICNlbmRpZiAvKiBfX0k5MTVf SVJRX0hfXyAqLwotLSAKMi4yMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZng=