From mboxrd@z Thu Jan 1 00:00:00 1970 From: clinton.a.taylor@intel.com Subject: [PATCH V4] drm/i915/skl: SKL CDCLK change on modeset tracking VCO Date: Thu, 11 Feb 2016 15:22:08 -0800 Message-ID: <1455232928-2806-1-git-send-email-clinton.a.taylor@intel.com> References: <1449620105-32754-1-git-send-email-clinton.a.taylor@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 7515C6E28F for ; Thu, 11 Feb 2016 15:25:37 -0800 (PST) In-Reply-To: <1449620105-32754-1-git-send-email-clinton.a.taylor@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 RnJvbTogQ2xpbnQgVGF5bG9yIDxjbGludG9uLmEudGF5bG9yQGludGVsLmNvbT4KClRyYWNrIFZD TyBmcmVxdWVuY3kgb2YgU0tMIGluc3RlYWQgb2YgdGhlIGJvb3QgQ0RDTEsgYW5kIGFsbG93IG1v ZGVzZXQKdG8gc2V0IGNkY2xrIGJhc2VkIG9uIHRoZSBtYXggcmVxdWlyZWQgcGl4ZWwgY2xvY2sg YmFzZWQgb24gVkNPCnNlbGVjdGVkLgoKVGhlIHZjbyBzaG91bGQgYmUgdHJhY2tlZCBhdCB0aGUg YXRvbWljIGxldmVsIGFuZCBhbGwgQ1JUQ3MgdXBkYXRlZCBpZgp0aGUgcmVxdWlyZWQgdmNvIGlz IGNoYW5nZWQuIEF0IHRoaXMgdGltZSB0aGUgZURQIHBsbCBpcyBjb25maWd1cmVkCmluc2lkZSB0 aGUgZW5jb2RlciB3aGljaCBoYXMgbm8gdmlzaWJpbGl0eSBpbnRvIHRoZSBhdG9taWMgc3RhdGUu IFdoZW4KZURQIHYxLjQgcGFuZWwgdGhhdCByZXF1aXJlIHRoZSA4NjQwIHZjbyBhcmUgYXZhaWxh YmxlIHRoaXMgbWF5IG5lZWQKdG8gYmUgaW52ZXN0aWdhdGVkLgoKVjE6IGluaXRpYWwgdmVyc2lv bgpWMjogYWRkIHZjbyB0cmFja2luZyBpbiBpbnRlbF9kcF9jb21wdXRlX2NvbmZpZygpLCByZW5h bWUKc2tsX2Jvb3RfY2RjbGsuClYzOiByZWJhc2UsIFYyIGZlZWRiYWNrIG5vdCBwb3NzaWJsZSBh cyBlbmNvZGVycyBhcmUgbm90IGF3YXJlIG9mCmF0b21pYy4KVjQ6IHRyYWNrIHRhcmdldCB2Y28g aXMgYXRvbWljIHN0YXRlLiBtb2Rlc2V0IGFsbCBDUlRDcyBpZiB2Y28gY2hhbmdlcwoKU2lnbmVk LW9mZi1ieTogQ2xpbnQgVGF5bG9yIDxjbGludG9uLmEudGF5bG9yQGludGVsLmNvbT4KQ2M6IFZp bGxlID0/aXNvLTg4NTktMT9RP1N5cmo9RTRsPUU0Pz0gPHZpbGxlLnN5cmphbGFAbGludXguaW50 ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICB8ICAgIDIg Ky0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jICAgICB8ICAgIDIgKy0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8ICAgOTcgKysrKysrKysrKysrKysrKysr KysrKysrKysrKystLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyAgICAgIHwg ICAxMCArKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAgICA0ICsr CiA1IGZpbGVzIGNoYW5nZWQsIDk3IGluc2VydGlvbnMoKyksIDE4IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IDgyMTY2NjUuLmY2NWRkMWEgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaApAQCAtMTgyMiw3ICsxODIyLDcgQEAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg ewogCWludCBudW1fZmVuY2VfcmVnczsgLyogOCBvbiBwcmUtOTY1LCAxNiBvdGhlcndpc2UgKi8K IAogCXVuc2lnbmVkIGludCBmc2JfZnJlcSwgbWVtX2ZyZXEsIGlzX2RkcjM7Ci0JdW5zaWduZWQg aW50IHNrbF9ib290X2NkY2xrOworCXVuc2lnbmVkIGludCBza2xfdmNvX2ZyZXE7CiAJdW5zaWdu ZWQgaW50IGNkY2xrX2ZyZXEsIG1heF9jZGNsa19mcmVxLCBhdG9taWNfY2RjbGtfZnJlcTsKIAl1 bnNpZ25lZCBpbnQgbWF4X2RvdGNsa19mcmVxOwogCXVuc2lnbmVkIGludCBocGxsX2ZyZXE7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RkaS5jCmluZGV4IDZkNWIwOWYuLjI4NWFkYWIgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RkaS5jCkBAIC0yOTU4LDcgKzI5NTgsNyBAQCB2b2lkIGludGVsX2RkaV9wbGxf aW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQlpbnQgY2RjbGtfZnJlcTsKIAogCQljZGNs a19mcmVxID0gZGV2X3ByaXYtPmRpc3BsYXkuZ2V0X2Rpc3BsYXlfY2xvY2tfc3BlZWQoZGV2KTsK LQkJZGV2X3ByaXYtPnNrbF9ib290X2NkY2xrID0gY2RjbGtfZnJlcTsKKwkJZGV2X3ByaXYtPnNr bF92Y29fZnJlcSA9IHNrbF9jZGNsa19nZXRfdmNvKGNkY2xrX2ZyZXEpOwogCQlpZiAoc2tsX3Nh bml0aXplX2NkY2xrKGRldl9wcml2KSkKIAkJCURSTV9ERUJVR19LTVMoIlNhbml0aXplZCBjZGNs ayBwcm9ncmFtbWVkIGJ5IHByZS1vc1xuIik7CiAJCWlmICghKEk5MTVfUkVBRChMQ1BMTDFfQ1RM KSAmIExDUExMX1BMTF9FTkFCTEUpKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCmlu ZGV4IDllMjI3M2IuLmVmNGFjMzQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMK QEAgLTU2NjMsNyArNTY2Myw3IEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgc2tsX2NkY2xrX2RlY2lt YWwodW5zaWduZWQgaW50IGZyZXEpCiAJcmV0dXJuIChmcmVxIC0gMTAwMCkgLyA1MDA7CiB9CiAK LXN0YXRpYyB1bnNpZ25lZCBpbnQgc2tsX2NkY2xrX2dldF92Y28odW5zaWduZWQgaW50IGZyZXEp Cit1bnNpZ25lZCBpbnQgc2tsX2NkY2xrX2dldF92Y28odW5zaWduZWQgaW50IGZyZXEpCiB7CiAJ dW5zaWduZWQgaW50IGk7CiAKQEAgLTU4MjEsMTcgKzU4MjEsMTcgQEAgdm9pZCBza2xfdW5pbml0 X2NkY2xrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAogdm9pZCBza2xfaW5p dF9jZGNsayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7Ci0JdW5zaWduZWQg aW50IHJlcXVpcmVkX3ZjbzsKLQogCS8qIERQTEwwIG5vdCBlbmFibGVkIChoYXBwZW5zIG9uIGVh cmx5IEJJT1MgdmVyc2lvbnMpICovCiAJaWYgKCEoSTkxNV9SRUFEKExDUExMMV9DVEwpICYgTENQ TExfUExMX0VOQUJMRSkpIHsKIAkJLyogZW5hYmxlIERQTEwwICovCi0JCXJlcXVpcmVkX3ZjbyA9 IHNrbF9jZGNsa19nZXRfdmNvKGRldl9wcml2LT5za2xfYm9vdF9jZGNsayk7Ci0JCXNrbF9kcGxs MF9lbmFibGUoZGV2X3ByaXYsIHJlcXVpcmVkX3Zjbyk7CisJCWlmIChkZXZfcHJpdi0+c2tsX3Zj b19mcmVxICE9IDg2NDApIHsKKwkJCWRldl9wcml2LT5za2xfdmNvX2ZyZXEgPSA4MTAwOworCQl9 CisJCXNrbF9kcGxsMF9lbmFibGUoZGV2X3ByaXYsIGRldl9wcml2LT5za2xfdmNvX2ZyZXEpOwog CX0KIAogCS8qIHNldCBDRENMSyB0byB0aGUgZnJlcXVlbmN5IHRoZSBCSU9TIGNob3NlICovCi0J c2tsX3NldF9jZGNsayhkZXZfcHJpdiwgZGV2X3ByaXYtPnNrbF9ib290X2NkY2xrKTsKKwlza2xf c2V0X2NkY2xrKGRldl9wcml2LCAoZGV2X3ByaXYtPnNrbF92Y29fZnJlcSA9PSA4MTAwKSA/IDMz NzUwMCA6IDMwODU3MCApOwogCiAJLyogZW5hYmxlIERCVUYgcG93ZXIgKi8KIAlJOTE1X1dSSVRF KERCVUZfQ1RMLCBJOTE1X1JFQUQoREJVRl9DVEwpIHwgREJVRl9QT1dFUl9SRVFVRVNUKTsKQEAg LTU4NDcsNyArNTg0Nyw3IEBAIGludCBza2xfc2FuaXRpemVfY2RjbGsoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KQogewogCXVpbnQzMl90IGxjcGxsMSA9IEk5MTVfUkVBRChMQ1BM TDFfQ1RMKTsKIAl1aW50MzJfdCBjZGN0bCA9IEk5MTVfUkVBRChDRENMS19DVEwpOwotCWludCBm cmVxID0gZGV2X3ByaXYtPnNrbF9ib290X2NkY2xrOworCWludCBmcmVxID0gZGV2X3ByaXYtPmNk Y2xrX2ZyZXE7CiAKIAkvKgogCSAqIGNoZWNrIGlmIHRoZSBwcmUtb3MgaW50aWFsaXplZCB0aGUg ZGlzcGxheQpAQCAtNTg3MSwxMSArNTg3MSw3IEBAIGludCBza2xfc2FuaXRpemVfY2RjbGsoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCQkvKiBBbGwgd2VsbDsgbm90aGluZyB0 byBzYW5pdGl6ZSAqLwogCQlyZXR1cm4gZmFsc2U7CiBzYW5pdGl6ZToKLQkvKgotCSAqIEFzIG9m IG5vdyBpbml0aWFsaXplIHdpdGggbWF4IGNkY2xrIHRpbGwKLQkgKiB3ZSBnZXQgZHluYW1pYyBj ZGNsayBzdXBwb3J0Ci0JICogKi8KLQlkZXZfcHJpdi0+c2tsX2Jvb3RfY2RjbGsgPSBkZXZfcHJp di0+bWF4X2NkY2xrX2ZyZXE7CisJCiAJc2tsX2luaXRfY2RjbGsoZGV2X3ByaXYpOwogCiAJLyog d2UgZGlkIGhhdmUgdG8gc2FuaXRpemUgKi8KQEAgLTk4NDUsNiArOTg0MSw2OCBAQCBzdGF0aWMg dm9pZCBicm9hZHdlbGxfbW9kZXNldF9jb21taXRfY2RjbGsoc3RydWN0IGRybV9hdG9taWNfc3Rh dGUgKm9sZF9zdGF0ZSkKIAlicm9hZHdlbGxfc2V0X2NkY2xrKGRldiwgcmVxX2NkY2xrKTsKIH0K IAorc3RhdGljIGludCBza2xfbW9kZXNldF9jYWxjX2NkY2xrKHN0cnVjdCBkcm1fYXRvbWljX3N0 YXRlICpzdGF0ZSkKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KHN0YXRlLT5kZXYpOworCWludCBtYXhfcGl4Y2xrID0gaWxrX21heF9waXhlbF9yYXRlKHN0 YXRlKTsKKwlpbnQgY2RjbGs7CisJCisJLyoKKwkqIEZJWE1FIHNob3VsZCBhbHNvIGFjY291bnQg Zm9yIHBsYW5lIHJhdGlvCisJKiBvbmNlIDY0YnBwIHBpeGVsIGZvcm1hdHMgYXJlIHN1cHBvcnRl ZC4KKwkqLworCisJaWYgKHRvX2ludGVsX2F0b21pY19zdGF0ZShzdGF0ZSktPnZjb190YXJnZXQg PT0gODY0MCkgeworCQkvKiB2Y28gODY0MCAqLworCQlpZiAobWF4X3BpeGNsayA+IDU0MDAwMCkK KwkJCWNkY2xrID0gNjE3MTQwOworCQllbHNlIGlmIChtYXhfcGl4Y2xrID4gNDMyMDAwKQorCQkJ Y2RjbGsgPSA1NDAwMDA7CisJCWVsc2UgaWYgKG1heF9waXhjbGsgPiAzMDg1NzApCisJCQljZGNs ayA9IDQzMjAwMDsKKwkJZWxzZQorCQkJY2RjbGsgPSAzMDg1NzA7CisJfQorCWVsc2UgeworCQkv KiBWQ08gODEwMCAqLworCQlpZiAobWF4X3BpeGNsayA+IDU0MDAwMCkKKwkJCWNkY2xrID0gNjc1 MDAwOworCQllbHNlIGlmIChtYXhfcGl4Y2xrID4gNDUwMDAwKQorCQkJY2RjbGsgPSA1NDAwMDA7 CisJCWVsc2UgaWYgKG1heF9waXhjbGsgPiAzMzc1MDApCisJCQljZGNsayA9IDQ1MDAwMDsKKwkJ ZWxzZQorCQkJY2RjbGsgPSAzMzc1MDA7CisJfQorCisJLyoKKwkgKiBGSVhNRSBtb3ZlIHRoZSBj ZGNsayBjYWNsdWxhdGlvbiB0bworCSAqIGNvbXB1dGVfY29uZmlnKCkgc28gd2UgY2FuIGZhaWwg Z3JhY2VndWxseS4KKwkgKi8KKwlpZiAoY2RjbGsgPiBkZXZfcHJpdi0+bWF4X2NkY2xrX2ZyZXEp IHsKKwkJRFJNX0VSUk9SKCJyZXF1ZXN0ZWQgY2RjbGsgKCVkIGtIeikgZXhjZWVkcyBtYXggKCVk IGtIeilcbiIsCisJCQkgIGNkY2xrLCBkZXZfcHJpdi0+bWF4X2NkY2xrX2ZyZXEpOworCQljZGNs ayA9IGRldl9wcml2LT5tYXhfY2RjbGtfZnJlcTsKKwl9CisKKwl0b19pbnRlbF9hdG9taWNfc3Rh dGUoc3RhdGUpLT5jZGNsayA9IGNkY2xrOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lk IHNrbF9tb2Rlc2V0X2NvbW1pdF9jZGNsayhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqb2xkX3N0 YXRlKQoreworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBvbGRfc3RhdGUtPmRldjsKKwlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOworCXVuc2ln bmVkIGludCByZXFfY2RjbGsgPSB0b19pbnRlbF9hdG9taWNfc3RhdGUob2xkX3N0YXRlKS0+Y2Rj bGs7CisKKwlza2xfc2V0X2NkY2xrKGRldl9wcml2LCByZXFfY2RjbGspOworCisJaWYgKHRvX2lu dGVsX2F0b21pY19zdGF0ZShvbGRfc3RhdGUpLT52Y29fdGFyZ2V0KSB7CisJCWRldl9wcml2LT5z a2xfdmNvX2ZyZXEgPSB0b19pbnRlbF9hdG9taWNfc3RhdGUob2xkX3N0YXRlKS0+dmNvX3Rhcmdl dDsKKwl9Cit9CisKIHN0YXRpYyBpbnQgaGFzd2VsbF9jcnRjX2NvbXB1dGVfY2xvY2soc3RydWN0 IGludGVsX2NydGMgKmNydGMsCiAJCQkJICAgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUpCiB7CkBAIC0xMzIxOSwxMSArMTMyNzcsMTMgQEAgc3RhdGljIGludCBpbnRlbF9t b2Rlc2V0X2FsbF9waXBlcyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiAKIHN0YXRp YyBpbnQgaW50ZWxfbW9kZXNldF9jaGVja3Moc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRl KQogeworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBzdGF0ZS0+ZGV2OwogCXN0cnVjdCBpbnRl bF9hdG9taWNfc3RhdGUgKmludGVsX3N0YXRlID0gdG9faW50ZWxfYXRvbWljX3N0YXRlKHN0YXRl KTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBzdGF0ZS0+ZGV2LT5kZXZf cHJpdmF0ZTsKIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7CiAJc3RydWN0IGRybV9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlOwogCWludCByZXQgPSAwLCBpOworCXVuc2lnbmVkIGludCB0YXJnZXRfdmNv OwogCiAJaWYgKCFjaGVja19kaWdpdGFsX3BvcnRfY29uZmxpY3RzKHN0YXRlKSkgewogCQlEUk1f REVCVUdfS01TKCJyZWplY3RpbmcgY29uZmxpY3RpbmcgZGlnaXRhbCBwb3J0IGNvbmZpZ3VyYXRp b25cbiIpOwpAQCAtMTMyNDksOCArMTMzMDksMTQgQEAgc3RhdGljIGludCBpbnRlbF9tb2Rlc2V0 X2NoZWNrcyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiAJICovCiAJaWYgKGRldl9w cml2LT5kaXNwbGF5Lm1vZGVzZXRfY2FsY19jZGNsaykgewogCQlyZXQgPSBkZXZfcHJpdi0+ZGlz cGxheS5tb2Rlc2V0X2NhbGNfY2RjbGsoc3RhdGUpOworCQl0YXJnZXRfdmNvID0gdG9faW50ZWxf YXRvbWljX3N0YXRlKHN0YXRlKS0+dmNvX3RhcmdldDsKIAotCQlpZiAoIXJldCAmJiBpbnRlbF9z dGF0ZS0+ZGV2X2NkY2xrICE9IGRldl9wcml2LT5jZGNsa19mcmVxKQorCQlpZiAoSVNfU0tZTEFL RShkZXYpIHx8IChJU19LQUJZTEFLRShkZXYpKSkgeworCQkJaWYgKCgodGFyZ2V0X3ZjbykgJiYg KGRldl9wcml2LT5za2xfdmNvX2ZyZXEgIT0gdGFyZ2V0X3ZjbykpIHx8CisJCQkgICAoIXJldCAm JiBpbnRlbF9zdGF0ZS0+ZGV2X2NkY2xrICE9IGRldl9wcml2LT5jZGNsa19mcmVxKSkgeworCQkJ CXJldCA9IGludGVsX21vZGVzZXRfYWxsX3BpcGVzKHN0YXRlKTsKKwkJCX0KKwkJfSBlbHNlIGlm ICghcmV0ICYmIGludGVsX3N0YXRlLT5kZXZfY2RjbGsgIT0gZGV2X3ByaXYtPmNkY2xrX2ZyZXEp CiAJCQlyZXQgPSBpbnRlbF9tb2Rlc2V0X2FsbF9waXBlcyhzdGF0ZSk7CiAKIAkJaWYgKHJldCA8 IDApCkBAIC0xNTAwMiw2ICsxNTA2OCwxMSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9pbml0X2Rpc3Bs YXkoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAkJCWJyb3h0b25fbW9kZXNldF9jb21taXRfY2Rj bGs7CiAJCWRldl9wcml2LT5kaXNwbGF5Lm1vZGVzZXRfY2FsY19jZGNsayA9CiAJCQlicm94dG9u X21vZGVzZXRfY2FsY19jZGNsazsKKwl9IGVsc2UgaWYgKElTX1NLWUxBS0UoZGV2KSB8fCBJU19L QUJZTEFLRShkZXYpKSB7CisJCWRldl9wcml2LT5kaXNwbGF5Lm1vZGVzZXRfY29tbWl0X2NkY2xr ID0KKwkJCXNrbF9tb2Rlc2V0X2NvbW1pdF9jZGNsazsKKwkJZGV2X3ByaXYtPmRpc3BsYXkubW9k ZXNldF9jYWxjX2NkY2xrID0KKwkJCXNrbF9tb2Rlc2V0X2NhbGNfY2RjbGs7CiAJfQogCiAJc3dp dGNoIChJTlRFTF9JTkZPKGRldiktPmdlbikgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKaW5kZXgg YTA3M2YwNC4uZmJjMzdmZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCkBAIC0xMjQyLDkgKzEy NDIsMTAgQEAgaW50ZWxfZHBfY29ubmVjdG9yX3VucmVnaXN0ZXIoc3RydWN0IGludGVsX2Nvbm5l Y3RvciAqaW50ZWxfY29ubmVjdG9yKQogfQogCiBzdGF0aWMgdm9pZAotc2tsX2VkcF9zZXRfcGxs X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpCitza2xfZWRwX3Nl dF9wbGxfY29uZmlnKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQogewogCXUzMiBjdHJsMTsKKwl1MzIgdmNvID0g ODEwMDsKIAogCW1lbXNldCgmcGlwZV9jb25maWctPmRwbGxfaHdfc3RhdGUsIDAsCiAJICAgICAg IHNpemVvZihwaXBlX2NvbmZpZy0+ZHBsbF9od19zdGF0ZSkpOwpAQCAtMTI3NywxMyArMTI3OCwx NiBAQCBza2xfZWRwX3NldF9wbGxfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBl X2NvbmZpZykKIAljYXNlIDEwODAwMDoKIAkJY3RybDEgfD0gRFBMTF9DVFJMMV9MSU5LX1JBVEUo RFBMTF9DVFJMMV9MSU5LX1JBVEVfMTA4MCwKIAkJCQkJICAgICAgU0tMX0RQTEwwKTsKKwkJdmNv ID0gODY0MDsKIAkJYnJlYWs7CiAJY2FzZSAyMTYwMDA6CiAJCWN0cmwxIHw9IERQTExfQ1RSTDFf TElOS19SQVRFKERQTExfQ1RSTDFfTElOS19SQVRFXzIxNjAsCiAJCQkJCSAgICAgIFNLTF9EUExM MCk7CisJCXZjbyA9IDg2NDA7CiAJCWJyZWFrOwotCiAJfQorCisJdG9faW50ZWxfYXRvbWljX3N0 YXRlKHBpcGVfY29uZmlnLT5iYXNlLnN0YXRlKS0+dmNvX3RhcmdldCA9IHZjbzsKIAlwaXBlX2Nv bmZpZy0+ZHBsbF9od19zdGF0ZS5jdHJsMSA9IGN0cmwxOwogfQogCkBAIC0xNjY0LDcgKzE2Njgs NyBAQCBmb3VuZDoKIAl9CiAKIAlpZiAoKElTX1NLWUxBS0UoZGV2KSAgfHwgSVNfS0FCWUxBS0Uo ZGV2KSkgJiYgaXNfZWRwKGludGVsX2RwKSkKLQkJc2tsX2VkcF9zZXRfcGxsX2NvbmZpZyhwaXBl X2NvbmZpZyk7CisJCXNrbF9lZHBfc2V0X3BsbF9jb25maWcoZGV2X3ByaXYsIHBpcGVfY29uZmln KTsKIAllbHNlIGlmIChJU19CUk9YVE9OKGRldikpCiAJCS8qIGhhbmRsZWQgaW4gZGRpICovOwog CWVsc2UgaWYgKElTX0hBU1dFTEwoZGV2KSB8fCBJU19CUk9BRFdFTEwoZGV2KSkKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHJ2LmgKaW5kZXggODc4MTcyYS4uMDA1ZTAzNiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmgKQEAgLTI2MCw2ICsyNjAsOSBAQCBzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlIHsK IAogCXN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbF9jb25maWcgc2hhcmVkX2RwbGxbSTkxNV9OVU1f UExMU107CiAJc3RydWN0IGludGVsX3dtX2NvbmZpZyB3bV9jb25maWc7CisKKwkvKiBTS0wvS0JM IE9ubHkgKi8KKwl1bnNpZ25lZCBpbnQgdmNvX3RhcmdldDsKIH07CiAKIHN0cnVjdCBpbnRlbF9w bGFuZV9zdGF0ZSB7CkBAIC0xMTkxLDYgKzExOTQsNyBAQCB2b2lkIGJ4dF9kaXNhYmxlX2RjOShz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogdm9pZCBza2xfaW5pdF9jZGNsayhz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogaW50IHNrbF9zYW5pdGl6ZV9jZGNs ayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogdm9pZCBza2xfdW5pbml0X2Nk Y2xrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cit1bnNpZ25lZCBpbnQgc2ts X2NkY2xrX2dldF92Y28odW5zaWduZWQgaW50IGZyZXEpOwogdm9pZCBza2xfZW5hYmxlX2RjNihz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogdm9pZCBza2xfZGlzYWJsZV9kYzYo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIHZvaWQgaW50ZWxfZHBfZ2V0X21f bihzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKLS0gCjEuNy45LjUKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=