From mboxrd@z Thu Jan 1 00:00:00 1970 From: ville.syrjala@linux.intel.com Subject: [PATCH v4 13/14] drm/i915: Replace the .modeset_commit_cdclk() hook with a more direct .set_cdclk() hook Date: Thu, 26 Jan 2017 21:52:01 +0200 Message-ID: <20170126195201.32638-1-ville.syrjala@linux.intel.com> References: <20170120182205.8141-14-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id DD21A6EC4B for ; Thu, 26 Jan 2017 19:52:04 +0000 (UTC) In-Reply-To: <20170120182205.8141-14-ville.syrjala@linux.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 RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCldp dGggdGhlIGNkY2xrIHN0YXRlLCBhbGwgdGhlIC5tb2Rlc2V0X2NvbW1pdF9jZGNsaygpIGhvb2tz IGFyZQpub3cgcG9pbnRsZXNzIHdyYXBwZXJzLiBMZXQncyByZXBsYWNlIHRoZW0gd2l0aCBqdXN0 IGEgLnNldF9jZGNsaygpCmZ1bmN0aW9uIHBvaW50ZXIuIEhvd2V2ZXIgbGV0J3Mgd3JhcCB0aGF0 IGluIGEgc21hbGwgaGVscGVyIHRoYXQKZG9lcyB0aGUgc3RhdGUgY29tcGFyaXNvbiBhbmQgcHJp bnRzIGEgdW5pZmllZCBkZWJ1ZyBtZXNzYWdlIGFjcm9zcwphbGwgcGxhdGZvcm1zLiBXZSBkaWRu J3QgZXZlbiBoYXZlIHRoZSBkZWJ1ZyBwcmludCBvbiBhbGwgcGxhdGZvcm1zCnByZXZpb3VzbHku IFRoaXMgcmVkdWNlcyB0aGUgY2x1dHRlciBpbiBpbnRlbF9hdG9taWNfY29tbWl0X3RhaWwoKSBh CmxpdHRsZSBiaXQuCgp2MjogV3JhcCAuc2V0X2NkY2xrKCkgaW4gaW50ZWxfc2V0X2NkY2xrKCkK djM6IEFkZCBrZXJuZWwtZG9jcwp2NDogRGVhbCB3aXRoIElTX0dFTjlfQkMoKQoKU2lnbmVkLW9m Zi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KUmV2 aWV3ZWQtYnk6IEFuZGVyIENvbnNlbHZhbiBkZSBPbGl2ZWlyYSA8Y29uc2VsdmFuMkBnbWFpbC5j b20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgIHwgIDMgKy0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NkY2xrLmMgICB8IDc5ICsrKysrKysrKysrKysrKy0t LS0tLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j IHwgIDUgKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAgMiArCiA0 IGZpbGVzIGNoYW5nZWQsIDM4IGluc2VydGlvbnMoKyksIDUxIGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oCmluZGV4IDczODgxZjhkM2Y0YS4uOTliMWJhNDEyMTkzIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTYwNCw2ICs2MDQsOCBAQCBzdHJ1Y3QgaW50ZWxfY2RjbGtf c3RhdGU7CiBzdHJ1Y3QgZHJtX2k5MTVfZGlzcGxheV9mdW5jcyB7CiAJdm9pZCAoKmdldF9jZGNs aykoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJICBzdHJ1Y3QgaW50ZWxf Y2RjbGtfc3RhdGUgKmNkY2xrX3N0YXRlKTsKKwl2b2lkICgqc2V0X2NkY2xrKShzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCQkgIGNvbnN0IHN0cnVjdCBpbnRlbF9jZGNsa19z dGF0ZSAqY2RjbGtfc3RhdGUpOwogCWludCAoKmdldF9maWZvX3NpemUpKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwgaW50IHBsYW5lKTsKIAlpbnQgKCpjb21wdXRlX3BpcGVfd20p KHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUpOwogCWludCAoKmNvbXB1dGVfaW50ZXJt ZWRpYXRlX3dtKShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LApAQCAtNjE4LDcgKzYyMCw2IEBAIHN0 cnVjdCBkcm1faTkxNV9kaXNwbGF5X2Z1bmNzIHsKIAlpbnQgKCpjb21wdXRlX2dsb2JhbF93YXRl cm1hcmtzKShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpOwogCXZvaWQgKCp1cGRhdGVf d20pKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKTsKIAlpbnQgKCptb2Rlc2V0X2NhbGNfY2RjbGsp KHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSk7Ci0Jdm9pZCAoKm1vZGVzZXRfY29tbWl0 X2NkY2xrKShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpOwogCS8qIFJldHVybnMgdGhl IGFjdGl2ZSBzdGF0ZSBvZiB0aGUgY3J0YywgYW5kIGlmIHRoZSBjcnRjIGlzIGFjdGl2ZSwKIAkg KiBmaWxscyBvdXQgdGhlIHBpcGUtY29uZmlnIHdpdGggdGhlIGh3IHN0YXRlLiAqLwogCWJvb2wg KCpnZXRfcGlwZV9jb25maWcpKHN0cnVjdCBpbnRlbF9jcnRjICosCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jZGNsay5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfY2RjbGsuYwppbmRleCBlNGYwNGZiNDVjYzguLjRkODUxOTdlNmYwOCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY2RjbGsuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9jZGNsay5jCkBAIC04ODMsOSArODgzLDYgQEAgc3RhdGljIHZvaWQgc2tsX3Nl dF9jZGNsayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAKIAlXQVJOX09OKChj ZGNsayA9PSAyNDAwMCkgIT0gKHZjbyA9PSAwKSk7CiAKLQlEUk1fREVCVUdfRFJJVkVSKCJDaGFu Z2luZyBDRENMSyB0byAlZCBrSHogKFZDTyAlZCBrSHopXG4iLAotCQkJIGNkY2xrLCB2Y28pOwot CiAJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPnJwcy5od19sb2NrKTsKIAlyZXQgPSBza2xfcGNvZGVf cmVxdWVzdChkZXZfcHJpdiwgU0tMX1BDT0RFX0NEQ0xLX0NPTlRST0wsCiAJCQkJU0tMX0NEQ0xL X1BSRVBBUkVfRk9SX0NIQU5HRSwKQEAgLTEyMDIsOSArMTE5OSw2IEBAIHN0YXRpYyB2b2lkIGJ4 dF9zZXRfY2RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCXUzMiB2YWws IGRpdmlkZXI7CiAJaW50IHJldDsKIAotCURSTV9ERUJVR19EUklWRVIoIkNoYW5naW5nIENEQ0xL IHRvICVkIGtIeiAoVkNPICVkIGtIeilcbiIsCi0JCQkgY2RjbGssIHZjbyk7Ci0KIAkvKiBjZGNs ayA9IHZjbyAvIDIgLyBkaXZ7MSwxLjUsMiw0fSAqLwogCXN3aXRjaCAoRElWX1JPVU5EX0NMT1NF U1QodmNvLCBjZGNsaykpIHsKIAljYXNlIDg6CkBAIC0xMzkwLDYgKzEzODQsMzAgQEAgYm9vbCBp bnRlbF9jZGNsa19zdGF0ZV9jb21wYXJlKGNvbnN0IHN0cnVjdCBpbnRlbF9jZGNsa19zdGF0ZSAq YSwKIAlyZXR1cm4gbWVtY21wKGEsIGIsIHNpemVvZigqYSkpID09IDA7CiB9CiAKKy8qKgorICog aW50ZWxfc2V0X2NkY2xrIC0gUHVzaCB0aGUgQ0RDTEsgc3RhdGUgdG8gdGhlIGhhcmR3YXJlCisg KiBAZGV2X3ByaXY6IGk5MTUgZGV2aWNlCisgKiBAY2RjbGtfc3RhdGU6IG5ldyBDRENMSyBzdGF0 ZQorICoKKyAqIFByb2dyYW0gdGhlIGhhcmR3YXJlIGJhc2VkIG9uIHRoZSBwYXNzZWQgaW4gQ0RD TEsgc3RhdGUsCisgKiBpZiBuZWNlc3NhcnkuCisgKi8KK3ZvaWQgaW50ZWxfc2V0X2NkY2xrKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJICAgICBjb25zdCBzdHJ1Y3QgaW50 ZWxfY2RjbGtfc3RhdGUgKmNkY2xrX3N0YXRlKQoreworCWlmIChpbnRlbF9jZGNsa19zdGF0ZV9j b21wYXJlKCZkZXZfcHJpdi0+Y2RjbGsuaHcsIGNkY2xrX3N0YXRlKSkKKwkJcmV0dXJuOworCisJ aWYgKFdBUk5fT05fT05DRSghZGV2X3ByaXYtPmRpc3BsYXkuc2V0X2NkY2xrKSkKKwkJcmV0dXJu OworCisJRFJNX0RFQlVHX0RSSVZFUigiQ2hhbmdpbmcgQ0RDTEsgdG8gJWQga0h6LCBWQ08gJWQg a0h6LCByZWYgJWQga0h6XG4iLAorCQkJIGNkY2xrX3N0YXRlLT5jZGNsaywgY2RjbGtfc3RhdGUt PnZjbywKKwkJCSBjZGNsa19zdGF0ZS0+cmVmKTsKKworCWRldl9wcml2LT5kaXNwbGF5LnNldF9j ZGNsayhkZXZfcHJpdiwgY2RjbGtfc3RhdGUpOworfQorCiBzdGF0aWMgaW50IGJkd19hZGp1c3Rf bWluX3BpcGVfcGl4ZWxfcmF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwK IAkJCQkJICBpbnQgcGl4ZWxfcmF0ZSkKIHsKQEAgLTE0ODQsMTYgKzE1MDIsNiBAQCBzdGF0aWMg aW50IHZsdl9tb2Rlc2V0X2NhbGNfY2RjbGsoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRl KQogCXJldHVybiAwOwogfQogCi1zdGF0aWMgdm9pZCB2bHZfbW9kZXNldF9jb21taXRfY2RjbGso c3RydWN0IGRybV9hdG9taWNfc3RhdGUgKm9sZF9zdGF0ZSkKLXsKLQlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KG9sZF9zdGF0ZS0+ZGV2KTsKLQotCWlmIChJU19D SEVSUllWSUVXKGRldl9wcml2KSkKLQkJY2h2X3NldF9jZGNsayhkZXZfcHJpdiwgJmRldl9wcml2 LT5jZGNsay5hY3R1YWwpOwotCWVsc2UKLQkJdmx2X3NldF9jZGNsayhkZXZfcHJpdiwgJmRldl9w cml2LT5jZGNsay5hY3R1YWwpOwotfQotCiBzdGF0aWMgaW50IGJkd19tb2Rlc2V0X2NhbGNfY2Rj bGsoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQogewogCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoc3RhdGUtPmRldik7CkBAIC0xNTI3LDEzICsxNTM1 LDYgQEAgc3RhdGljIGludCBiZHdfbW9kZXNldF9jYWxjX2NkY2xrKHN0cnVjdCBkcm1fYXRvbWlj X3N0YXRlICpzdGF0ZSkKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHZvaWQgYmR3X21vZGVzZXRf Y29tbWl0X2NkY2xrKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpvbGRfc3RhdGUpCi17Ci0Jc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShvbGRfc3RhdGUtPmRldik7 Ci0KLQliZHdfc2V0X2NkY2xrKGRldl9wcml2LCAmZGV2X3ByaXYtPmNkY2xrLmFjdHVhbCk7Ci19 Ci0KIHN0YXRpYyBpbnQgc2tsX21vZGVzZXRfY2FsY19jZGNsayhzdHJ1Y3QgZHJtX2F0b21pY19z dGF0ZSAqc3RhdGUpCiB7CiAJc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqaW50ZWxfc3RhdGUg PSB0b19pbnRlbF9hdG9taWNfc3RhdGUoc3RhdGUpOwpAQCAtMTU3MywxMyArMTU3NCw2IEBAIHN0 YXRpYyBpbnQgc2tsX21vZGVzZXRfY2FsY19jZGNsayhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAq c3RhdGUpCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIHNrbF9tb2Rlc2V0X2NvbW1pdF9j ZGNsayhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqb2xkX3N0YXRlKQotewotCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUob2xkX3N0YXRlLT5kZXYpOwotCi0Jc2ts X3NldF9jZGNsayhkZXZfcHJpdiwgJmRldl9wcml2LT5jZGNsay5hY3R1YWwpOwotfQotCiBzdGF0 aWMgaW50IGJ4dF9tb2Rlc2V0X2NhbGNfY2RjbGsoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0 YXRlKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoc3Rh dGUtPmRldik7CkBAIC0xNjI0LDEzICsxNjE4LDYgQEAgc3RhdGljIGludCBieHRfbW9kZXNldF9j YWxjX2NkY2xrKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKIAlyZXR1cm4gMDsKIH0K IAotc3RhdGljIHZvaWQgYnh0X21vZGVzZXRfY29tbWl0X2NkY2xrKHN0cnVjdCBkcm1fYXRvbWlj X3N0YXRlICpvbGRfc3RhdGUpCi17Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShvbGRfc3RhdGUtPmRldik7Ci0KLQlieHRfc2V0X2NkY2xrKGRldl9wcml2LCAm ZGV2X3ByaXYtPmNkY2xrLmFjdHVhbCk7Ci19Ci0KIHN0YXRpYyBpbnQgaW50ZWxfY29tcHV0ZV9t YXhfZG90Y2xrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKIAlpbnQgbWF4 X2NkY2xrX2ZyZXEgPSBkZXZfcHJpdi0+bWF4X2NkY2xrX2ZyZXE7CkBAIC0xODEwLDI0ICsxNzk3 LDI0IEBAIHZvaWQgaW50ZWxfdXBkYXRlX3Jhd2NsayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCiAgKi8KIHZvaWQgaW50ZWxfaW5pdF9jZGNsa19ob29rcyhzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7Ci0JaWYgKElTX1ZBTExFWVZJRVcoZGV2X3ByaXYpIHx8 IElTX0NIRVJSWVZJRVcoZGV2X3ByaXYpKSB7Ci0JCWRldl9wcml2LT5kaXNwbGF5Lm1vZGVzZXRf Y29tbWl0X2NkY2xrID0KLQkJCXZsdl9tb2Rlc2V0X2NvbW1pdF9jZGNsazsKKwlpZiAoSVNfQ0hF UlJZVklFVyhkZXZfcHJpdikpIHsKKwkJZGV2X3ByaXYtPmRpc3BsYXkuc2V0X2NkY2xrID0gY2h2 X3NldF9jZGNsazsKKwkJZGV2X3ByaXYtPmRpc3BsYXkubW9kZXNldF9jYWxjX2NkY2xrID0KKwkJ CXZsdl9tb2Rlc2V0X2NhbGNfY2RjbGs7CisJfSBlbHNlIGlmIChJU19WQUxMRVlWSUVXKGRldl9w cml2KSkgeworCQlkZXZfcHJpdi0+ZGlzcGxheS5zZXRfY2RjbGsgPSB2bHZfc2V0X2NkY2xrOwog CQlkZXZfcHJpdi0+ZGlzcGxheS5tb2Rlc2V0X2NhbGNfY2RjbGsgPQogCQkJdmx2X21vZGVzZXRf Y2FsY19jZGNsazsKIAl9IGVsc2UgaWYgKElTX0JST0FEV0VMTChkZXZfcHJpdikpIHsKLQkJZGV2 X3ByaXYtPmRpc3BsYXkubW9kZXNldF9jb21taXRfY2RjbGsgPQotCQkJYmR3X21vZGVzZXRfY29t bWl0X2NkY2xrOworCQlkZXZfcHJpdi0+ZGlzcGxheS5zZXRfY2RjbGsgPSBiZHdfc2V0X2NkY2xr OwogCQlkZXZfcHJpdi0+ZGlzcGxheS5tb2Rlc2V0X2NhbGNfY2RjbGsgPQogCQkJYmR3X21vZGVz ZXRfY2FsY19jZGNsazsKIAl9IGVsc2UgaWYgKElTX0dFTjlfTFAoZGV2X3ByaXYpKSB7Ci0JCWRl dl9wcml2LT5kaXNwbGF5Lm1vZGVzZXRfY29tbWl0X2NkY2xrID0KLQkJCWJ4dF9tb2Rlc2V0X2Nv bW1pdF9jZGNsazsKKwkJZGV2X3ByaXYtPmRpc3BsYXkuc2V0X2NkY2xrID0gYnh0X3NldF9jZGNs azsKIAkJZGV2X3ByaXYtPmRpc3BsYXkubW9kZXNldF9jYWxjX2NkY2xrID0KIAkJCWJ4dF9tb2Rl c2V0X2NhbGNfY2RjbGs7CiAJfSBlbHNlIGlmIChJU19HRU45X0JDKGRldl9wcml2KSkgewotCQlk ZXZfcHJpdi0+ZGlzcGxheS5tb2Rlc2V0X2NvbW1pdF9jZGNsayA9Ci0JCQlza2xfbW9kZXNldF9j b21taXRfY2RjbGs7CisJCWRldl9wcml2LT5kaXNwbGF5LnNldF9jZGNsayA9IHNrbF9zZXRfY2Rj bGs7CiAJCWRldl9wcml2LT5kaXNwbGF5Lm1vZGVzZXRfY2FsY19jZGNsayA9CiAJCQlza2xfbW9k ZXNldF9jYWxjX2NkY2xrOwogCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRl eCBiMzc5YTI5YTI5N2EuLjM4OTc5Y2U4NGNhNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rp c3BsYXkuYwpAQCAtMTI4MzcsMTAgKzEyODM3LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfYXRvbWlj X2NvbW1pdF90YWlsKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKIAlpZiAoaW50ZWxf c3RhdGUtPm1vZGVzZXQpIHsKIAkJZHJtX2F0b21pY19oZWxwZXJfdXBkYXRlX2xlZ2FjeV9tb2Rl c2V0X3N0YXRlKHN0YXRlLT5kZXYsIHN0YXRlKTsKIAotCQlpZiAoZGV2X3ByaXYtPmRpc3BsYXku bW9kZXNldF9jb21taXRfY2RjbGsgJiYKLQkJICAgICFpbnRlbF9jZGNsa19zdGF0ZV9jb21wYXJl KCZkZXZfcHJpdi0+Y2RjbGsuaHcsCi0JCQkJCSAgICAgICAmZGV2X3ByaXYtPmNkY2xrLmFjdHVh bCkpCi0JCQlkZXZfcHJpdi0+ZGlzcGxheS5tb2Rlc2V0X2NvbW1pdF9jZGNsayhzdGF0ZSk7CisJ CWludGVsX3NldF9jZGNsayhkZXZfcHJpdiwgJmRldl9wcml2LT5jZGNsay5hY3R1YWwpOwogCiAJ CS8qCiAJCSAqIFNLTCB3b3JrYXJvdW5kOiBic3BlYyByZWNvbW1lbmRzIHdlIGRpc2FibGUgdGhl IFNBR1Ygd2hlbiB3ZQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAppbmRleCAzODY4Njk1OTY5ZmMu Ljc0MzYxZDA4MDdlMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTEyNTgsNiArMTI1 OCw4IEBAIHZvaWQgaW50ZWxfdXBkYXRlX2NkY2xrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdik7CiB2b2lkIGludGVsX3VwZGF0ZV9yYXdjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KTsKIGJvb2wgaW50ZWxfY2RjbGtfc3RhdGVfY29tcGFyZShjb25zdCBzdHJ1 Y3QgaW50ZWxfY2RjbGtfc3RhdGUgKmEsCiAJCQkgICAgICAgY29uc3Qgc3RydWN0IGludGVsX2Nk Y2xrX3N0YXRlICpiKTsKK3ZvaWQgaW50ZWxfc2V0X2NkY2xrKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwKKwkJICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY2RjbGtfc3RhdGUgKmNk Y2xrX3N0YXRlKTsKIAogLyogaW50ZWxfZGlzcGxheS5jICovCiBlbnVtIHRyYW5zY29kZXIgaW50 ZWxfY3J0Y19wY2hfdHJhbnNjb2RlcihzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0Yyk7Ci0tIAoyLjEw LjIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=