From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: [PATCH v9 4/4] drm/i915: Skip modeset for cdclk changes if possible Date: Wed, 27 Mar 2019 12:13:21 +0200 Message-ID: <20190327101321.3095-1-imre.deak@intel.com> References: <20190320135439.12201-4-imre.deak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id 023F06E156 for ; Wed, 27 Mar 2019 10:13:38 +0000 (UTC) In-Reply-To: <20190320135439.12201-4-imre.deak@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 List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCklm IHdlIGhhdmUgb25seSBhIHNpbmdsZSBhY3RpdmUgcGlwZSBhbmQgdGhlIGNkY2xrIGNoYW5nZSBv bmx5IHJlcXVpcmVzCnRoZSBjZDJ4IGRpdmlkZXIgdG8gYmUgdXBkYXRlZCBieHQrIGNhbiBkbyB0 aGUgdXBkYXRlIHdpdGggZm9yY2luZyBhIGZ1bGwKbW9kZXNldCBvbiB0aGUgcGlwZS4gVHJ5IHRv IGhvb2sgdGhhdCB1cC4KCnYyOgotIFdhaXQgZm9yIHZibGFuayBhZnRlciBhbiBvcHRpbWl6ZWQg Q0RDTEsgY2hhbmdlLgotIEF2b2lkIG9wdGltaXphdGlvbiBpZiB0aGUgcGlwZSBuZWVkcyBhIG1v ZGVzZXQgKG9yIHdhcyBkaXNhYmxlZCkuCi0gU3BsaXQgQ0RDTEsgY2hhbmdlIHRvIGEgcHJlL3Bv c3QgcGxhbmUgdXBkYXRlIHN0ZXAuCnYzOgotIFVzZSBjb3JyZWN0IHZlcnNpb24gb2YgQ0RDTEsg c3RhdGUgYXMgb2xkIHN0YXRlLiAoVmlsbGUpCi0gUmVtb3ZlIHVudXNlZCBpbnRlbF9jZGNsa19j YW5fc2tpcF9tb2Rlc2V0KCkKdjQ6Ci0gRm9yIGNvbnNpc3RlbmN5IGNhbGwgaW50ZWxfc2V0X2Nk Y2xrX3Bvc3RfcGxhbmVfdXBkYXRlKCkgb25seSBkdXJpbmcKICBtb2Rlc2V0cyAoYW5kIG5vdCBm YXN0c2V0cykuCnY1OgotIFJlbW92ZSB0aGUgbG9naWMgdG8gdXBkYXRlIHRoZSBDRDJYIGRpdmlk ZXIgb24tdGhlLWZseSBvbiBJQ0wsIHNpbmNlCiAgb25seSBhIGRpdmlkZXIgb2YgMSBpcyBzdXBw b3J0ZWQgdGhlcmUuIENsaW50IGFsc28gbm90aWNlZCB0aGF0IHRoZQogIHBpcGUgc2VsZWN0IGJp dHMgaW4gQ0RDTEtfQ1RMIGFyZSBvZGRseSBkZWZpbmVkIG9uIElDTCwgaXQncyBub3QgY2xlYXIK ICB5ZXQgd2hldGhlciB0aGF0J3Mgb25seSBhbiBlcnJvciBpbiB0aGUgc3BlY2lmaWNhdGlvbi4K ClNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRl bC5jb20+ClNpZ25lZC1vZmYtYnk6IEFiaGF5IEt1bWFyIDxhYmhheS5rdW1hckBpbnRlbC5jb20+ ClRlc3RlZC1ieTogQWJoYXkgS3VtYXIgPGFiaGF5Lmt1bWFyQGludGVsLmNvbT4KU2lnbmVkLW9m Zi1ieTogSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmggICAgICB8ICAgMyArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfY2RjbGsuYyAgIHwgMTM1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAgNDIgKysrKysrKysrKy0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICAxNyArKysrLQogNCBmaWxlcyBj aGFuZ2VkLCAxNjMgaW5zZXJ0aW9ucygrKSwgMzQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKaW5kZXggNzhlNmJiNGE1NGJmLi4xY2I4ZDk5YmEwYzMgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaApAQCAtMjgyLDcgKzI4Miw4IEBAIHN0cnVjdCBkcm1faTkxNV9kaXNwbGF5X2Z1 bmNzIHsKIAl2b2lkICgqZ2V0X2NkY2xrKShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCiAJCQkgIHN0cnVjdCBpbnRlbF9jZGNsa19zdGF0ZSAqY2RjbGtfc3RhdGUpOwogCXZvaWQg KCpzZXRfY2RjbGspKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKLQkJCSAgY29u c3Qgc3RydWN0IGludGVsX2NkY2xrX3N0YXRlICpjZGNsa19zdGF0ZSk7CisJCQkgIGNvbnN0IHN0 cnVjdCBpbnRlbF9jZGNsa19zdGF0ZSAqY2RjbGtfc3RhdGUsCisJCQkgIGVudW0gcGlwZSBwaXBl KTsKIAlpbnQgKCpnZXRfZmlmb19zaXplKShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCiAJCQkgICAgIGVudW0gaTl4eF9wbGFuZV9pZCBpOXh4X3BsYW5lKTsKIAlpbnQgKCpjb21w dXRlX3BpcGVfd20pKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUpOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY2RjbGsuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2NkY2xrLmMKaW5kZXggMmZjNDQzNDY4NzA2Li5iOGNkNDgxZjVlMzMgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NkY2xrLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfY2RjbGsuYwpAQCAtNTE3LDcgKzUxNyw4IEBAIHN0YXRpYyB2b2lk IHZsdl9wcm9ncmFtX3BmaV9jcmVkaXRzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKIH0KIAogc3RhdGljIHZvaWQgdmx2X3NldF9jZGNsayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsCi0JCQkgIGNvbnN0IHN0cnVjdCBpbnRlbF9jZGNsa19zdGF0ZSAqY2RjbGtf c3RhdGUpCisJCQkgIGNvbnN0IHN0cnVjdCBpbnRlbF9jZGNsa19zdGF0ZSAqY2RjbGtfc3RhdGUs CisJCQkgIGVudW0gcGlwZSBwaXBlKQogewogCWludCBjZGNsayA9IGNkY2xrX3N0YXRlLT5jZGNs azsKIAl1MzIgdmFsLCBjbWQgPSBjZGNsa19zdGF0ZS0+dm9sdGFnZV9sZXZlbDsKQEAgLTU5OSw3 ICs2MDAsOCBAQCBzdGF0aWMgdm9pZCB2bHZfc2V0X2NkY2xrKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwKIH0KIAogc3RhdGljIHZvaWQgY2h2X3NldF9jZGNsayhzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCi0JCQkgIGNvbnN0IHN0cnVjdCBpbnRlbF9jZGNsa19z dGF0ZSAqY2RjbGtfc3RhdGUpCisJCQkgIGNvbnN0IHN0cnVjdCBpbnRlbF9jZGNsa19zdGF0ZSAq Y2RjbGtfc3RhdGUsCisJCQkgIGVudW0gcGlwZSBwaXBlKQogewogCWludCBjZGNsayA9IGNkY2xr X3N0YXRlLT5jZGNsazsKIAl1MzIgdmFsLCBjbWQgPSBjZGNsa19zdGF0ZS0+dm9sdGFnZV9sZXZl bDsKQEAgLTY5OCw3ICs3MDAsOCBAQCBzdGF0aWMgdm9pZCBiZHdfZ2V0X2NkY2xrKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIH0KIAogc3RhdGljIHZvaWQgYmR3X3NldF9jZGNs ayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCi0JCQkgIGNvbnN0IHN0cnVjdCBp bnRlbF9jZGNsa19zdGF0ZSAqY2RjbGtfc3RhdGUpCisJCQkgIGNvbnN0IHN0cnVjdCBpbnRlbF9j ZGNsa19zdGF0ZSAqY2RjbGtfc3RhdGUsCisJCQkgIGVudW0gcGlwZSBwaXBlKQogewogCWludCBj ZGNsayA9IGNkY2xrX3N0YXRlLT5jZGNsazsKIAl1MzIgdmFsOwpAQCAtOTg4LDcgKzk5MSw4IEBA IHN0YXRpYyB2b2lkIHNrbF9kcGxsMF9kaXNhYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKIH0KIAogc3RhdGljIHZvaWQgc2tsX3NldF9jZGNsayhzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsCi0JCQkgIGNvbnN0IHN0cnVjdCBpbnRlbF9jZGNsa19zdGF0ZSAq Y2RjbGtfc3RhdGUpCisJCQkgIGNvbnN0IHN0cnVjdCBpbnRlbF9jZGNsa19zdGF0ZSAqY2RjbGtf c3RhdGUsCisJCQkgIGVudW0gcGlwZSBwaXBlKQogewogCWludCBjZGNsayA9IGNkY2xrX3N0YXRl LT5jZGNsazsKIAlpbnQgdmNvID0gY2RjbGtfc3RhdGUtPnZjbzsKQEAgLTExNTksNyArMTE2Myw3 IEBAIHZvaWQgc2tsX2luaXRfY2RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KQogCWNkY2xrX3N0YXRlLmNkY2xrID0gc2tsX2NhbGNfY2RjbGsoMCwgY2RjbGtfc3RhdGUudmNv KTsKIAljZGNsa19zdGF0ZS52b2x0YWdlX2xldmVsID0gc2tsX2NhbGNfdm9sdGFnZV9sZXZlbChj ZGNsa19zdGF0ZS5jZGNsayk7CiAKLQlza2xfc2V0X2NkY2xrKGRldl9wcml2LCAmY2RjbGtfc3Rh dGUpOworCXNrbF9zZXRfY2RjbGsoZGV2X3ByaXYsICZjZGNsa19zdGF0ZSwgSU5WQUxJRF9QSVBF KTsKIH0KIAogLyoqCkBAIC0xMTc3LDcgKzExODEsNyBAQCB2b2lkIHNrbF91bmluaXRfY2RjbGso c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCWNkY2xrX3N0YXRlLnZjbyA9IDA7 CiAJY2RjbGtfc3RhdGUudm9sdGFnZV9sZXZlbCA9IHNrbF9jYWxjX3ZvbHRhZ2VfbGV2ZWwoY2Rj bGtfc3RhdGUuY2RjbGspOwogCi0Jc2tsX3NldF9jZGNsayhkZXZfcHJpdiwgJmNkY2xrX3N0YXRl KTsKKwlza2xfc2V0X2NkY2xrKGRldl9wcml2LCAmY2RjbGtfc3RhdGUsIElOVkFMSURfUElQRSk7 CiB9CiAKIHN0YXRpYyBpbnQgYnh0X2NhbGNfY2RjbGsoaW50IG1pbl9jZGNsaykKQEAgLTEzNTYs NyArMTM2MCw4IEBAIHN0YXRpYyB2b2lkIGJ4dF9kZV9wbGxfZW5hYmxlKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwgaW50IHZjbykKIH0KIAogc3RhdGljIHZvaWQgYnh0X3NldF9j ZGNsayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCi0JCQkgIGNvbnN0IHN0cnVj dCBpbnRlbF9jZGNsa19zdGF0ZSAqY2RjbGtfc3RhdGUpCisJCQkgIGNvbnN0IHN0cnVjdCBpbnRl bF9jZGNsa19zdGF0ZSAqY2RjbGtfc3RhdGUsCisJCQkgIGVudW0gcGlwZSBwaXBlKQogewogCWlu dCBjZGNsayA9IGNkY2xrX3N0YXRlLT5jZGNsazsKIAlpbnQgdmNvID0gY2RjbGtfc3RhdGUtPnZj bzsKQEAgLTE0MDksMTEgKzE0MTQsMTAgQEAgc3RhdGljIHZvaWQgYnh0X3NldF9jZGNsayhzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCWJ4dF9kZV9wbGxfZW5hYmxlKGRldl9w cml2LCB2Y28pOwogCiAJdmFsID0gZGl2aWRlciB8IHNrbF9jZGNsa19kZWNpbWFsKGNkY2xrKTsK LQkvKgotCSAqIEZJWE1FIGlmIG9ubHkgdGhlIGNkMnggZGl2aWRlciBuZWVkcyBjaGFuZ2luZywg aXQgY291bGQgYmUgZG9uZQotCSAqIHdpdGhvdXQgc2h1dHRpbmcgb2ZmIHRoZSBwaXBlIChpZiBv bmx5IG9uZSBwaXBlIGlzIGFjdGl2ZSkuCi0JICovCi0JdmFsIHw9IEJYVF9DRENMS19DRDJYX1BJ UEVfTk9ORTsKKwlpZiAocGlwZSA9PSBJTlZBTElEX1BJUEUpCisJCXZhbCB8PSBCWFRfQ0RDTEtf Q0QyWF9QSVBFX05PTkU7CisJZWxzZQorCQl2YWwgfD0gQlhUX0NEQ0xLX0NEMlhfUElQRShwaXBl KTsKIAkvKgogCSAqIERpc2FibGUgU1NBIFByZWNoYXJnZSB3aGVuIENEIGNsb2NrIGZyZXF1ZW5j eSA8IDUwMCBNSHosCiAJICogZW5hYmxlIG90aGVyd2lzZS4KQEAgLTE0MjIsNiArMTQyNiw5IEBA IHN0YXRpYyB2b2lkIGJ4dF9zZXRfY2RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LAogCQl2YWwgfD0gQlhUX0NEQ0xLX1NTQV9QUkVDSEFSR0VfRU5BQkxFOwogCUk5MTVfV1JJ VEUoQ0RDTEtfQ1RMLCB2YWwpOwogCisJaWYgKHBpcGUgIT0gSU5WQUxJRF9QSVBFKQorCQlpbnRl bF93YWl0X2Zvcl92YmxhbmsoZGV2X3ByaXYsIHBpcGUpOworCiAJbXV0ZXhfbG9jaygmZGV2X3By aXYtPnBjdV9sb2NrKTsKIAkvKgogCSAqIFRoZSB0aW1lb3V0IGlzbid0IHNwZWNpZmllZCwgdGhl IDJtcyB1c2VkIGhlcmUgaXMgYmFzZWQgb24KQEAgLTE1MjYsNyArMTUzMyw3IEBAIHZvaWQgYnh0 X2luaXRfY2RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCX0KIAljZGNs a19zdGF0ZS52b2x0YWdlX2xldmVsID0gYnh0X2NhbGNfdm9sdGFnZV9sZXZlbChjZGNsa19zdGF0 ZS5jZGNsayk7CiAKLQlieHRfc2V0X2NkY2xrKGRldl9wcml2LCAmY2RjbGtfc3RhdGUpOworCWJ4 dF9zZXRfY2RjbGsoZGV2X3ByaXYsICZjZGNsa19zdGF0ZSwgSU5WQUxJRF9QSVBFKTsKIH0KIAog LyoqCkBAIC0xNTQ0LDcgKzE1NTEsNyBAQCB2b2lkIGJ4dF91bmluaXRfY2RjbGsoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCWNkY2xrX3N0YXRlLnZjbyA9IDA7CiAJY2RjbGtf c3RhdGUudm9sdGFnZV9sZXZlbCA9IGJ4dF9jYWxjX3ZvbHRhZ2VfbGV2ZWwoY2RjbGtfc3RhdGUu Y2RjbGspOwogCi0JYnh0X3NldF9jZGNsayhkZXZfcHJpdiwgJmNkY2xrX3N0YXRlKTsKKwlieHRf c2V0X2NkY2xrKGRldl9wcml2LCAmY2RjbGtfc3RhdGUsIElOVkFMSURfUElQRSk7CiB9CiAKIHN0 YXRpYyBpbnQgY25sX2NhbGNfY2RjbGsoaW50IG1pbl9jZGNsaykKQEAgLTE2NjQsNyArMTY3MSw4 IEBAIHN0YXRpYyB2b2lkIGNubF9jZGNsa19wbGxfZW5hYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwgaW50IHZjbykKIH0KIAogc3RhdGljIHZvaWQgY25sX3NldF9jZGNsayhz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCi0JCQkgIGNvbnN0IHN0cnVjdCBpbnRl bF9jZGNsa19zdGF0ZSAqY2RjbGtfc3RhdGUpCisJCQkgIGNvbnN0IHN0cnVjdCBpbnRlbF9jZGNs a19zdGF0ZSAqY2RjbGtfc3RhdGUsCisJCQkgIGVudW0gcGlwZSBwaXBlKQogewogCWludCBjZGNs ayA9IGNkY2xrX3N0YXRlLT5jZGNsazsKIAlpbnQgdmNvID0gY2RjbGtfc3RhdGUtPnZjbzsKQEAg LTE3MDUsMTMgKzE3MTMsMTUgQEAgc3RhdGljIHZvaWQgY25sX3NldF9jZGNsayhzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCWNubF9jZGNsa19wbGxfZW5hYmxlKGRldl9wcml2 LCB2Y28pOwogCiAJdmFsID0gZGl2aWRlciB8IHNrbF9jZGNsa19kZWNpbWFsKGNkY2xrKTsKLQkv KgotCSAqIEZJWE1FIGlmIG9ubHkgdGhlIGNkMnggZGl2aWRlciBuZWVkcyBjaGFuZ2luZywgaXQg Y291bGQgYmUgZG9uZQotCSAqIHdpdGhvdXQgc2h1dHRpbmcgb2ZmIHRoZSBwaXBlIChpZiBvbmx5 IG9uZSBwaXBlIGlzIGFjdGl2ZSkuCi0JICovCi0JdmFsIHw9IEJYVF9DRENMS19DRDJYX1BJUEVf Tk9ORTsKKwlpZiAocGlwZSA9PSBJTlZBTElEX1BJUEUpCisJCXZhbCB8PSBCWFRfQ0RDTEtfQ0Qy WF9QSVBFX05PTkU7CisJZWxzZQorCQl2YWwgfD0gQlhUX0NEQ0xLX0NEMlhfUElQRShwaXBlKTsK IAlJOTE1X1dSSVRFKENEQ0xLX0NUTCwgdmFsKTsKIAorCWlmIChwaXBlICE9IElOVkFMSURfUElQ RSkKKwkJaW50ZWxfd2FpdF9mb3JfdmJsYW5rKGRldl9wcml2LCBwaXBlKTsKKwogCS8qIGluZm9y bSBQQ1Ugb2YgdGhlIGNoYW5nZSAqLwogCW11dGV4X2xvY2soJmRldl9wcml2LT5wY3VfbG9jayk7 CiAJc2FuZHlicmlkZ2VfcGNvZGVfd3JpdGUoZGV2X3ByaXYsIFNLTF9QQ09ERV9DRENMS19DT05U Uk9MLApAQCAtMTg0OCw3ICsxODU4LDggQEAgc3RhdGljIGludCBpY2xfY2FsY19jZGNsa19wbGxf dmNvKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgaW50IGNkY2xrKQogfQogCiBz dGF0aWMgdm9pZCBpY2xfc2V0X2NkY2xrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKLQkJCSAgY29uc3Qgc3RydWN0IGludGVsX2NkY2xrX3N0YXRlICpjZGNsa19zdGF0ZSkKKwkJ CSAgY29uc3Qgc3RydWN0IGludGVsX2NkY2xrX3N0YXRlICpjZGNsa19zdGF0ZSwKKwkJCSAgZW51 bSBwaXBlIHBpcGUpCiB7CiAJdW5zaWduZWQgaW50IGNkY2xrID0gY2RjbGtfc3RhdGUtPmNkY2xr OwogCXVuc2lnbmVkIGludCB2Y28gPSBjZGNsa19zdGF0ZS0+dmNvOwpAQCAtMTg3Myw2ICsxODg0 LDExIEBAIHN0YXRpYyB2b2lkIGljbF9zZXRfY2RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAogCWlmIChkZXZfcHJpdi0+Y2RjbGsuaHcudmNvICE9IHZjbykKIAkJY25sX2Nk Y2xrX3BsbF9lbmFibGUoZGV2X3ByaXYsIHZjbyk7CiAKKwkvKgorCSAqIE9uIElDTCBDRDJYX0RJ ViBjYW4gb25seSBiZSAxLCBzbyB3ZSdsbCBuZXZlciBlbmQgdXAgY2hhbmdpbmcgdGhlCisJICog ZGl2aWRlciBoZXJlIHN5bmNocm9uaXplZCB0byBhIHBpcGUgd2hpbGUgQ0RDTEsgaXMgb24sIG5v ciB3aWxsIHdlCisJICogbmVlZCB0aGUgY29ycmVzcG9uZGluZyB2Ymxhbmsgd2FpdC4KKwkgKi8K IAlJOTE1X1dSSVRFKENEQ0xLX0NUTCwgSUNMX0NEQ0xLX0NEMlhfUElQRV9OT05FIHwKIAkJCSAg ICAgIHNrbF9jZGNsa19kZWNpbWFsKGNkY2xrKSk7CiAKQEAgLTIwMDMsNyArMjAxOSw3IEBAIHZv aWQgaWNsX2luaXRfY2RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCXNh bml0aXplZF9zdGF0ZS52b2x0YWdlX2xldmVsID0KIAkJCQlpY2xfY2FsY192b2x0YWdlX2xldmVs KHNhbml0aXplZF9zdGF0ZS5jZGNsayk7CiAKLQlpY2xfc2V0X2NkY2xrKGRldl9wcml2LCAmc2Fu aXRpemVkX3N0YXRlKTsKKwlpY2xfc2V0X2NkY2xrKGRldl9wcml2LCAmc2FuaXRpemVkX3N0YXRl LCBJTlZBTElEX1BJUEUpOwogfQogCiAvKioKQEAgLTIwMjEsNyArMjAzNyw3IEBAIHZvaWQgaWNs X3VuaW5pdF9jZGNsayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJY2RjbGtf c3RhdGUudmNvID0gMDsKIAljZGNsa19zdGF0ZS52b2x0YWdlX2xldmVsID0gaWNsX2NhbGNfdm9s dGFnZV9sZXZlbChjZGNsa19zdGF0ZS5jZGNsayk7CiAKLQlpY2xfc2V0X2NkY2xrKGRldl9wcml2 LCAmY2RjbGtfc3RhdGUpOworCWljbF9zZXRfY2RjbGsoZGV2X3ByaXYsICZjZGNsa19zdGF0ZSwg SU5WQUxJRF9QSVBFKTsKIH0KIAogLyoqCkBAIC0yMDQ5LDcgKzIwNjUsNyBAQCB2b2lkIGNubF9p bml0X2NkY2xrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAljZGNsa19zdGF0 ZS52Y28gPSBjbmxfY2RjbGtfcGxsX3ZjbyhkZXZfcHJpdiwgY2RjbGtfc3RhdGUuY2RjbGspOwog CWNkY2xrX3N0YXRlLnZvbHRhZ2VfbGV2ZWwgPSBjbmxfY2FsY192b2x0YWdlX2xldmVsKGNkY2xr X3N0YXRlLmNkY2xrKTsKIAotCWNubF9zZXRfY2RjbGsoZGV2X3ByaXYsICZjZGNsa19zdGF0ZSk7 CisJY25sX3NldF9jZGNsayhkZXZfcHJpdiwgJmNkY2xrX3N0YXRlLCBJTlZBTElEX1BJUEUpOwog fQogCiAvKioKQEAgLTIwNjcsNyArMjA4Myw3IEBAIHZvaWQgY25sX3VuaW5pdF9jZGNsayhzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJY2RjbGtfc3RhdGUudmNvID0gMDsKIAlj ZGNsa19zdGF0ZS52b2x0YWdlX2xldmVsID0gY25sX2NhbGNfdm9sdGFnZV9sZXZlbChjZGNsa19z dGF0ZS5jZGNsayk7CiAKLQljbmxfc2V0X2NkY2xrKGRldl9wcml2LCAmY2RjbGtfc3RhdGUpOwor CWNubF9zZXRfY2RjbGsoZGV2X3ByaXYsICZjZGNsa19zdGF0ZSwgSU5WQUxJRF9QSVBFKTsKIH0K IAogLyoqCkBAIC0yMDg3LDYgKzIxMDMsMjcgQEAgYm9vbCBpbnRlbF9jZGNsa19uZWVkc19tb2Rl c2V0KGNvbnN0IHN0cnVjdCBpbnRlbF9jZGNsa19zdGF0ZSAqYSwKIH0KIAogLyoqCisgKiBpbnRl bF9jZGNsa19uZWVkc19jZDJ4X3VwZGF0ZSAtIERldGVybWluZSBpZiB0d28gQ0RDTEsgc3RhdGVz IHJlcXVpcmUgYSBjZDJ4IGRpdmlkZXIgdXBkYXRlCisgKiBAYTogZmlyc3QgQ0RDTEsgc3RhdGUK KyAqIEBiOiBzZWNvbmQgQ0RDTEsgc3RhdGUKKyAqCisgKiBSZXR1cm5zOgorICogVHJ1ZSBpZiB0 aGUgQ0RDTEsgc3RhdGVzIHJlcXVpcmUganVzdCBhIGNkMnggZGl2aWRlciB1cGRhdGUsIGZhbHNl IGlmIG5vdC4KKyAqLworYm9vbCBpbnRlbF9jZGNsa19uZWVkc19jZDJ4X3VwZGF0ZShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCQkJICAgY29uc3Qgc3RydWN0IGludGVsX2Nk Y2xrX3N0YXRlICphLAorCQkJCSAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jZGNsa19zdGF0ZSAqYikK K3sKKwkvKiBPbGRlciBodyBkb2Vzbid0IGhhdmUgdGhlIGNhcGFiaWxpdHkgKi8KKwlpZiAoSU5U RUxfR0VOKGRldl9wcml2KSA8IDEwICYmICFJU19HRU45X0xQKGRldl9wcml2KSkKKwkJcmV0dXJu IGZhbHNlOworCisJcmV0dXJuIGEtPmNkY2xrICE9IGItPmNkY2xrICYmCisJCWEtPnZjbyA9PSBi LT52Y28gJiYKKwkJYS0+cmVmID09IGItPnJlZjsKK30KKworLyoqCiAgKiBpbnRlbF9jZGNsa19j aGFuZ2VkIC0gRGV0ZXJtaW5lIGlmIHR3byBDRENMSyBzdGF0ZXMgYXJlIGRpZmZlcmVudAogICog QGE6IGZpcnN0IENEQ0xLIHN0YXRlCiAgKiBAYjogc2Vjb25kIENEQ0xLIHN0YXRlCkBAIC0yMTM0 LDEyICsyMTcxLDE0IEBAIHZvaWQgaW50ZWxfZHVtcF9jZGNsa19zdGF0ZShjb25zdCBzdHJ1Y3Qg aW50ZWxfY2RjbGtfc3RhdGUgKmNkY2xrX3N0YXRlLAogICogaW50ZWxfc2V0X2NkY2xrIC0gUHVz aCB0aGUgQ0RDTEsgc3RhdGUgdG8gdGhlIGhhcmR3YXJlCiAgKiBAZGV2X3ByaXY6IGk5MTUgZGV2 aWNlCiAgKiBAY2RjbGtfc3RhdGU6IG5ldyBDRENMSyBzdGF0ZQorICogQHBpcGU6IHBpcGUgd2l0 aCB3aGljaCB0byBzeW5jaHJvbml6ZSB0aGUgdXBkYXRlCiAgKgogICogUHJvZ3JhbSB0aGUgaGFy ZHdhcmUgYmFzZWQgb24gdGhlIHBhc3NlZCBpbiBDRENMSyBzdGF0ZSwKICAqIGlmIG5lY2Vzc2Fy eS4KICAqLwotdm9pZCBpbnRlbF9zZXRfY2RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LAotCQkgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jZGNsa19zdGF0ZSAqY2RjbGtfc3Rh dGUpCitzdGF0aWMgdm9pZCBpbnRlbF9zZXRfY2RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAorCQkJICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jZGNsa19zdGF0ZSAqY2RjbGtf c3RhdGUsCisJCQkgICAgZW51bSBwaXBlIHBpcGUpCiB7CiAJaWYgKCFpbnRlbF9jZGNsa19jaGFu Z2VkKCZkZXZfcHJpdi0+Y2RjbGsuaHcsIGNkY2xrX3N0YXRlKSkKIAkJcmV0dXJuOwpAQCAtMjE0 OSw3ICsyMTg4LDcgQEAgdm9pZCBpbnRlbF9zZXRfY2RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LAogCiAJaW50ZWxfZHVtcF9jZGNsa19zdGF0ZShjZGNsa19zdGF0ZSwgIkNo YW5naW5nIENEQ0xLIHRvIik7CiAKLQlkZXZfcHJpdi0+ZGlzcGxheS5zZXRfY2RjbGsoZGV2X3By aXYsIGNkY2xrX3N0YXRlKTsKKwlkZXZfcHJpdi0+ZGlzcGxheS5zZXRfY2RjbGsoZGV2X3ByaXYs IGNkY2xrX3N0YXRlLCBwaXBlKTsKIAogCWlmIChXQVJOKGludGVsX2NkY2xrX2NoYW5nZWQoJmRl dl9wcml2LT5jZGNsay5odywgY2RjbGtfc3RhdGUpLAogCQkgImNkY2xrIHN0YXRlIGRvZXNuJ3Qg bWF0Y2ghXG4iKSkgewpAQCAtMjE1OCw2ICsyMTk3LDQ2IEBAIHZvaWQgaW50ZWxfc2V0X2NkY2xr KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAl9CiB9CiAKKy8qKgorICogaW50 ZWxfc2V0X2NkY2xrX3ByZV9wbGFuZV91cGRhdGUgLSBQdXNoIHRoZSBDRENMSyBzdGF0ZSB0byB0 aGUgaGFyZHdhcmUKKyAqIEBkZXZfcHJpdjogaTkxNSBkZXZpY2UKKyAqIEBvbGRfc3RhdGU6IG9s ZCBDRENMSyBzdGF0ZQorICogQG5ld19zdGF0ZTogbmV3IENEQ0xLIHN0YXRlCisgKiBAcGlwZTog cGlwZSB3aXRoIHdoaWNoIHRvIHN5bmNocm9uaXplIHRoZSB1cGRhdGUKKyAqCisgKiBQcm9ncmFt IHRoZSBoYXJkd2FyZSBiZWZvcmUgdXBkYXRpbmcgdGhlIEhXIHBsYW5lIHN0YXRlIGJhc2VkIG9u IHRoZSBwYXNzZWQKKyAqIGluIENEQ0xLIHN0YXRlLCBpZiBuZWNlc3NhcnkuCisgKi8KK3ZvaWQK K2ludGVsX3NldF9jZGNsa19wcmVfcGxhbmVfdXBkYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwKKwkJCQkgY29uc3Qgc3RydWN0IGludGVsX2NkY2xrX3N0YXRlICpvbGRfc3Rh dGUsCisJCQkJIGNvbnN0IHN0cnVjdCBpbnRlbF9jZGNsa19zdGF0ZSAqbmV3X3N0YXRlLAorCQkJ CSBlbnVtIHBpcGUgcGlwZSkKK3sKKwlpZiAocGlwZSA9PSBJTlZBTElEX1BJUEUgfHwgb2xkX3N0 YXRlLT5jZGNsayA8PSBuZXdfc3RhdGUtPmNkY2xrKQorCQlpbnRlbF9zZXRfY2RjbGsoZGV2X3By aXYsIG5ld19zdGF0ZSwgcGlwZSk7Cit9CisKKy8qKgorICogaW50ZWxfc2V0X2NkY2xrX3Bvc3Rf cGxhbmVfdXBkYXRlIC0gUHVzaCB0aGUgQ0RDTEsgc3RhdGUgdG8gdGhlIGhhcmR3YXJlCisgKiBA ZGV2X3ByaXY6IGk5MTUgZGV2aWNlCisgKiBAb2xkX3N0YXRlOiBvbGQgQ0RDTEsgc3RhdGUKKyAq IEBuZXdfc3RhdGU6IG5ldyBDRENMSyBzdGF0ZQorICogQHBpcGU6IHBpcGUgd2l0aCB3aGljaCB0 byBzeW5jaHJvbml6ZSB0aGUgdXBkYXRlCisgKgorICogUHJvZ3JhbSB0aGUgaGFyZHdhcmUgYWZ0 ZXIgdXBkYXRpbmcgdGhlIEhXIHBsYW5lIHN0YXRlIGJhc2VkIG9uIHRoZSBwYXNzZWQKKyAqIGlu IENEQ0xLIHN0YXRlLCBpZiBuZWNlc3NhcnkuCisgKi8KK3ZvaWQKK2ludGVsX3NldF9jZGNsa19w b3N0X3BsYW5lX3VwZGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCQkJ ICBjb25zdCBzdHJ1Y3QgaW50ZWxfY2RjbGtfc3RhdGUgKm9sZF9zdGF0ZSwKKwkJCQkgIGNvbnN0 IHN0cnVjdCBpbnRlbF9jZGNsa19zdGF0ZSAqbmV3X3N0YXRlLAorCQkJCSAgZW51bSBwaXBlIHBp cGUpCit7CisJaWYgKHBpcGUgIT0gSU5WQUxJRF9QSVBFICYmIG9sZF9zdGF0ZS0+Y2RjbGsgPiBu ZXdfc3RhdGUtPmNkY2xrKQorCQlpbnRlbF9zZXRfY2RjbGsoZGV2X3ByaXYsIG5ld19zdGF0ZSwg cGlwZSk7Cit9CisKIHN0YXRpYyBpbnQgaW50ZWxfcGl4ZWxfcmF0ZV90b19jZGNsayhzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkJICAgICBpbnQgcGl4ZWxfcmF0ZSkKIHsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCBmOTJiYzE4NTM1OTUuLjZmNGRi NjgwNTljZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtMTI5OTksNiAr MTI5OTksNyBAQCBzdGF0aWMgaW50IGludGVsX21vZGVzZXRfY2hlY2tzKHN0cnVjdCBkcm1fYXRv bWljX3N0YXRlICpzdGF0ZSkKIAlpbnRlbF9zdGF0ZS0+YWN0aXZlX2NydGNzID0gZGV2X3ByaXYt PmFjdGl2ZV9jcnRjczsKIAlpbnRlbF9zdGF0ZS0+Y2RjbGsubG9naWNhbCA9IGRldl9wcml2LT5j ZGNsay5sb2dpY2FsOwogCWludGVsX3N0YXRlLT5jZGNsay5hY3R1YWwgPSBkZXZfcHJpdi0+Y2Rj bGsuYWN0dWFsOworCWludGVsX3N0YXRlLT5jZGNsay5waXBlID0gSU5WQUxJRF9QSVBFOwogCiAJ Zm9yX2VhY2hfb2xkbmV3X2NydGNfaW5fc3RhdGUoc3RhdGUsIGNydGMsIG9sZF9jcnRjX3N0YXRl LCBuZXdfY3J0Y19zdGF0ZSwgaSkgewogCQlpZiAobmV3X2NydGNfc3RhdGUtPmFjdGl2ZSkKQEAg LTEzMDE4LDYgKzEzMDE5LDggQEAgc3RhdGljIGludCBpbnRlbF9tb2Rlc2V0X2NoZWNrcyhzdHJ1 Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiAJICogYWRqdXN0ZWRfbW9kZSBiaXRzIGluIHRo ZSBjcnRjIGRpcmVjdGx5LgogCSAqLwogCWlmIChkZXZfcHJpdi0+ZGlzcGxheS5tb2Rlc2V0X2Nh bGNfY2RjbGspIHsKKwkJZW51bSBwaXBlIHBpcGU7CisKIAkJcmV0ID0gZGV2X3ByaXYtPmRpc3Bs YXkubW9kZXNldF9jYWxjX2NkY2xrKHN0YXRlKTsKIAkJaWYgKHJldCA8IDApCiAJCQlyZXR1cm4g cmV0OwpAQCAtMTMwMzQsMTIgKzEzMDM3LDM2IEBAIHN0YXRpYyBpbnQgaW50ZWxfbW9kZXNldF9j aGVja3Moc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQogCQkJCXJldHVybiByZXQ7CiAJ CX0KIAorCQlpZiAoaXNfcG93ZXJfb2ZfMihpbnRlbF9zdGF0ZS0+YWN0aXZlX2NydGNzKSkgewor CQkJc3RydWN0IGRybV9jcnRjICpjcnRjOworCQkJc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRj X3N0YXRlOworCisJCQlwaXBlID0gaWxvZzIoaW50ZWxfc3RhdGUtPmFjdGl2ZV9jcnRjcyk7CisJ CQljcnRjID0gJmludGVsX2dldF9jcnRjX2Zvcl9waXBlKGRldl9wcml2LCBwaXBlKS0+YmFzZTsK KwkJCWNydGNfc3RhdGUgPSBkcm1fYXRvbWljX2dldF9uZXdfY3J0Y19zdGF0ZShzdGF0ZSwgY3J0 Yyk7CisJCQlpZiAoY3J0Y19zdGF0ZSAmJiBuZWVkc19tb2Rlc2V0KGNydGNfc3RhdGUpKQorCQkJ CXBpcGUgPSBJTlZBTElEX1BJUEU7CisJCX0gZWxzZSB7CisJCQlwaXBlID0gSU5WQUxJRF9QSVBF OworCQl9CisKIAkJLyogQWxsIHBpcGVzIG11c3QgYmUgc3dpdGNoZWQgb2ZmIHdoaWxlIHdlIGNo YW5nZSB0aGUgY2RjbGsuICovCi0JCWlmIChpbnRlbF9jZGNsa19uZWVkc19tb2Rlc2V0KCZkZXZf cHJpdi0+Y2RjbGsuYWN0dWFsLAotCQkJCQkgICAgICAmaW50ZWxfc3RhdGUtPmNkY2xrLmFjdHVh bCkpIHsKKwkJaWYgKHBpcGUgIT0gSU5WQUxJRF9QSVBFICYmCisJCSAgICBpbnRlbF9jZGNsa19u ZWVkc19jZDJ4X3VwZGF0ZShkZXZfcHJpdiwKKwkJCQkJCSAgJmRldl9wcml2LT5jZGNsay5hY3R1 YWwsCisJCQkJCQkgICZpbnRlbF9zdGF0ZS0+Y2RjbGsuYWN0dWFsKSkgeworCQkJcmV0ID0gaW50 ZWxfbG9ja19hbGxfcGlwZXMoc3RhdGUpOworCQkJaWYgKHJldCA8IDApCisJCQkJcmV0dXJuIHJl dDsKKworCQkJaW50ZWxfc3RhdGUtPmNkY2xrLnBpcGUgPSBwaXBlOworCQl9IGVsc2UgaWYgKGlu dGVsX2NkY2xrX25lZWRzX21vZGVzZXQoJmRldl9wcml2LT5jZGNsay5hY3R1YWwsCisJCQkJCQkg ICAgICZpbnRlbF9zdGF0ZS0+Y2RjbGsuYWN0dWFsKSkgewogCQkJcmV0ID0gaW50ZWxfbW9kZXNl dF9hbGxfcGlwZXMoc3RhdGUpOwogCQkJaWYgKHJldCA8IDApCiAJCQkJcmV0dXJuIHJldDsKKwor CQkJaW50ZWxfc3RhdGUtPmNkY2xrLnBpcGUgPSBJTlZBTElEX1BJUEU7CiAJCX0KIAogCQlEUk1f REVCVUdfS01TKCJOZXcgY2RjbGsgY2FsY3VsYXRlZCB0byBiZSBsb2dpY2FsICV1IGtIeiwgYWN0 dWFsICV1IGtIelxuIiwKQEAgLTEzNDQ4LDcgKzEzNDc1LDEwIEBAIHN0YXRpYyB2b2lkIGludGVs X2F0b21pY19jb21taXRfdGFpbChzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiAJaWYg KGludGVsX3N0YXRlLT5tb2Rlc2V0KSB7CiAJCWRybV9hdG9taWNfaGVscGVyX3VwZGF0ZV9sZWdh Y3lfbW9kZXNldF9zdGF0ZShzdGF0ZS0+ZGV2LCBzdGF0ZSk7CiAKLQkJaW50ZWxfc2V0X2NkY2xr KGRldl9wcml2LCAmZGV2X3ByaXYtPmNkY2xrLmFjdHVhbCk7CisJCWludGVsX3NldF9jZGNsa19w cmVfcGxhbmVfdXBkYXRlKGRldl9wcml2LAorCQkJCQkJICZpbnRlbF9zdGF0ZS0+Y2RjbGsuYWN0 dWFsLAorCQkJCQkJICZkZXZfcHJpdi0+Y2RjbGsuYWN0dWFsLAorCQkJCQkJIGludGVsX3N0YXRl LT5jZGNsay5waXBlKTsKIAogCQkvKgogCQkgKiBTS0wgd29ya2Fyb3VuZDogYnNwZWMgcmVjb21t ZW5kcyB3ZSBkaXNhYmxlIHRoZSBTQUdWIHdoZW4gd2UKQEAgLTEzNDc3LDYgKzEzNTA3LDEyIEBA IHN0YXRpYyB2b2lkIGludGVsX2F0b21pY19jb21taXRfdGFpbChzdHJ1Y3QgZHJtX2F0b21pY19z dGF0ZSAqc3RhdGUpCiAJLyogTm93IGVuYWJsZSB0aGUgY2xvY2tzLCBwbGFuZSwgcGlwZSwgYW5k IGNvbm5lY3RvcnMgdGhhdCB3ZSBzZXQgdXAuICovCiAJZGV2X3ByaXYtPmRpc3BsYXkudXBkYXRl X2NydGNzKHN0YXRlKTsKIAorCWlmIChpbnRlbF9zdGF0ZS0+bW9kZXNldCkKKwkJaW50ZWxfc2V0 X2NkY2xrX3Bvc3RfcGxhbmVfdXBkYXRlKGRldl9wcml2LAorCQkJCQkJICAmaW50ZWxfc3RhdGUt PmNkY2xrLmFjdHVhbCwKKwkJCQkJCSAgJmRldl9wcml2LT5jZGNsay5hY3R1YWwsCisJCQkJCQkg IGludGVsX3N0YXRlLT5jZGNsay5waXBlKTsKKwogCS8qIEZJWE1FOiBXZSBzaG91bGQgY2FsbCBk cm1fYXRvbWljX2hlbHBlcl9jb21taXRfaHdfZG9uZSgpIGhlcmUKIAkgKiBhbHJlYWR5LCBidXQg c3RpbGwgbmVlZCB0aGUgc3RhdGUgZm9yIHRoZSBkZWxheWVkIG9wdGltaXphdGlvbi4gVG8KIAkg KiBmaXggdGhpczoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXggMjM5NjhkZjRlM2VhLi5m OGM5ODhmZTQ1MTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5o CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCkBAIC01NTksNiArNTU5LDgg QEAgc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSB7CiAKIAkJaW50IGZvcmNlX21pbl9jZGNsazsK IAkJYm9vbCBmb3JjZV9taW5fY2RjbGtfY2hhbmdlZDsKKwkJLyogcGlwZSB0byB3aGljaCBjZDJ4 IHVwZGF0ZSBpcyBzeW5jaHJvbml6ZWQgKi8KKwkJZW51bSBwaXBlIHBpcGU7CiAJfSBjZGNsazsK IAogCWJvb2wgZHBsbF9zZXQsIG1vZGVzZXQ7CkBAIC0xNjk0LDEzICsxNjk2LDI0IEBAIHZvaWQg aW50ZWxfaW5pdF9jZGNsa19ob29rcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp Owogdm9pZCBpbnRlbF91cGRhdGVfbWF4X2NkY2xrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdik7CiB2b2lkIGludGVsX3VwZGF0ZV9jZGNsayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpOwogdm9pZCBpbnRlbF91cGRhdGVfcmF3Y2xrKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdik7Citib29sIGludGVsX2NkY2xrX25lZWRzX2NkMnhfdXBkYXRlKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJCQkgICBjb25zdCBzdHJ1Y3QgaW50 ZWxfY2RjbGtfc3RhdGUgKmEsCisJCQkJICAgY29uc3Qgc3RydWN0IGludGVsX2NkY2xrX3N0YXRl ICpiKTsKIGJvb2wgaW50ZWxfY2RjbGtfbmVlZHNfbW9kZXNldChjb25zdCBzdHJ1Y3QgaW50ZWxf Y2RjbGtfc3RhdGUgKmEsCiAJCQkgICAgICAgY29uc3Qgc3RydWN0IGludGVsX2NkY2xrX3N0YXRl ICpiKTsKIGJvb2wgaW50ZWxfY2RjbGtfY2hhbmdlZChjb25zdCBzdHJ1Y3QgaW50ZWxfY2RjbGtf c3RhdGUgKmEsCiAJCQkgY29uc3Qgc3RydWN0IGludGVsX2NkY2xrX3N0YXRlICpiKTsKIHZvaWQg aW50ZWxfY2RjbGtfc3dhcF9zdGF0ZShzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSk7 Ci12b2lkIGludGVsX3NldF9jZGNsayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs Ci0JCSAgICAgY29uc3Qgc3RydWN0IGludGVsX2NkY2xrX3N0YXRlICpjZGNsa19zdGF0ZSk7Cit2 b2lkCitpbnRlbF9zZXRfY2RjbGtfcHJlX3BsYW5lX3VwZGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsCisJCQkJIGNvbnN0IHN0cnVjdCBpbnRlbF9jZGNsa19zdGF0ZSAqb2xk X3N0YXRlLAorCQkJCSBjb25zdCBzdHJ1Y3QgaW50ZWxfY2RjbGtfc3RhdGUgKm5ld19zdGF0ZSwK KwkJCQkgZW51bSBwaXBlIHBpcGUpOwordm9pZAoraW50ZWxfc2V0X2NkY2xrX3Bvc3RfcGxhbmVf dXBkYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJCQkgIGNvbnN0IHN0 cnVjdCBpbnRlbF9jZGNsa19zdGF0ZSAqb2xkX3N0YXRlLAorCQkJCSAgY29uc3Qgc3RydWN0IGlu dGVsX2NkY2xrX3N0YXRlICpuZXdfc3RhdGUsCisJCQkJICBlbnVtIHBpcGUgcGlwZSk7CiB2b2lk IGludGVsX2R1bXBfY2RjbGtfc3RhdGUoY29uc3Qgc3RydWN0IGludGVsX2NkY2xrX3N0YXRlICpj ZGNsa19zdGF0ZSwKIAkJCSAgICBjb25zdCBjaGFyICpjb250ZXh0KTsKIAotLSAKMi4xMy4yCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=