From mboxrd@z Thu Jan 1 00:00:00 1970 From: clinton.a.taylor@intel.com Subject: [PATCH V10] drm/i915/skl: SKL CDCLK change on modeset tracking VCO Date: Thu, 10 Mar 2016 13:43:54 -0800 Message-ID: <1457646234-12818-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 mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 4A9046E14B for ; Thu, 10 Mar 2016 21:47:36 +0000 (UTC) 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 RnJvbTogQ2xpbnQgVGF5bG9yIDxjbGludG9uLmEudGF5bG9yQGludGVsLmNvbT4KCldBUk5JTkc6 IFVzaW5nIENocm9tZU9TIHdpdGggYW4gZURQIHBhbmVsIGFuZCBhIDRLQDYwIERQIG1vbml0b3Ig Y29ubmVjdGVkCnRvIERESTEgdGhlIHN5c3RlbSB3aWxsIGhhcmQgaGFuZyBkdXJpbmcgYSBjb2xk IGJvb3QuIE9jY3VycyB3aGVuIERESTEKaXMgZW5hYmxlZCB3aGVuIHRoZSBjZGNsayBpcyBsZXNz IHRoZW4gcmVxdWlyZWQuIERQIGNvbm5lY3RlZCB0byBEREkyCmFuZCBIUEQgb24gZWl0aGVyIHBv cnQgd29ya3MgY29ycmVjdGx5LgoKU2V0IGNkY2xrIGJhc2VkIG9uIHRoZSBtYXggcmVxdWlyZWQg cGl4ZWwgY2xvY2sgYmFzZWQgb24gVkNPCnNlbGVjdGVkLiBUcmFjayBib290IHZjbyBpbnN0ZWFk IG9mIGJvb3QgY2RjbGsuCgpUaGUgdmNvIGlzIG5vdyB0cmFja2VkIGF0IHRoZSBhdG9taWMgbGV2 ZWwgYW5kIGFsbCBDUlRDcyB1cGRhdGVkIGlmCnRoZSByZXF1aXJlZCB2Y28gaXMgY2hhbmdlZC4g Tm90IHRlc3RlZCB3aXRoIGVEUCB2MS40IHBhbmVscyB0aGF0CnJlcXVpcmUgODY0MCB2Y28gZHVl IHRvIGF2YWlsYWJpbGl0eS4KClYxOiBpbml0aWFsIHZlcnNpb24KVjI6IGFkZCB2Y28gdHJhY2tp bmcgaW4gaW50ZWxfZHBfY29tcHV0ZV9jb25maWcoKSwgcmVuYW1lCnNrbF9ib290X2NkY2xrLgpW MzogcmViYXNlLCBWMiBmZWVkYmFjayBub3QgcG9zc2libGUgYXMgZW5jb2RlcnMgYXJlIG5vdCBh d2FyZSBvZgphdG9taWMuClY0OiB0cmFjayB0YXJnZXQgdmNvIGlzIGF0b21pYyBzdGF0ZS4gbW9k ZXNldCBhbGwgQ1JUQ3MgaWYgdmNvIGNoYW5nZXMKVjU6IHJlbmFtZSBhdG9taWMgdmFyaWFibGUs IGNsZWFuZXIgaWYvZWxzZSBsb2dpYywgdXNlIGV4aXN0aW5nIHZjbyBpZgogICAgICBlbmNvZGVy IGRvZXMgbm90IHJldHVybiBhIG5ldyB2Y28gdmFsdWUuIGNoZWNrX3BhdGNoLnBsIGNsZWFudXAK VjY6IHNpbXBsaWZ5IGxvZ2ljIGluIGludGVsX21vZGVzZXRfY2hlY2tzLgpWNzogcmVvcmRlciBh biBJRiBmb3IgcmVhZGFiaWxpdHkgYW5kIHdoaXRlc3BhY2UgZml4LgpWODogdXNlIGRldl9jZGNs ayBmb3IgdHJhY2tpbmcgbmV3IGNkY2xrIGR1cmluZyBhdG9taWMKVjk6IGNvcnJlY3RseSBoYW5k bGUgdmNvIDg2NDAgd2hlbiBjcnRjcz09MApWMTA6IENsZWFuIHVwIGlmIGVsc2UgaW4gY3J0Y3M9 PTAKClJldmlld2VkLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50 ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBDbGludCBUYXlsb3IgPGNsaW50b24uYS50YXlsb3JAaW50 ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICB8ICAgIDIg Ky0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jICAgICB8ICAgIDIgKy0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8ICAxMTEgKysrKysrKysrKysrKysrKysr KysrKysrKysrKystLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyAgICAgIHwg ICAgNSArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgIHwgICAgNSArKwog NSBmaWxlcyBjaGFuZ2VkLCAxMDcgaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggZjM3YWMxMi4uODNiYjNmZCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oCkBAIC0xODMzLDcgKzE4MzMsNyBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSB7 CiAJaW50IG51bV9mZW5jZV9yZWdzOyAvKiA4IG9uIHByZS05NjUsIDE2IG90aGVyd2lzZSAqLwog CiAJdW5zaWduZWQgaW50IGZzYl9mcmVxLCBtZW1fZnJlcSwgaXNfZGRyMzsKLQl1bnNpZ25lZCBp bnQgc2tsX2Jvb3RfY2RjbGs7CisJdW5zaWduZWQgaW50IHNrbF92Y29fZnJlcTsKIAl1bnNpZ25l ZCBpbnQgY2RjbGtfZnJlcSwgbWF4X2NkY2xrX2ZyZXEsIGF0b21pY19jZGNsa19mcmVxOwogCXVu c2lnbmVkIGludCBtYXhfZG90Y2xrX2ZyZXE7CiAJdW5zaWduZWQgaW50IHJhd2Nsa19mcmVxOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kZGkuYwppbmRleCA2MmRlOWY0Li5mNjI4NjQ3IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kZGkuYwpAQCAtMzAwMyw3ICszMDAzLDcgQEAgdm9pZCBpbnRlbF9kZGlfcGxs X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAkJaW50IGNkY2xrX2ZyZXE7CiAKIAkJY2Rj bGtfZnJlcSA9IGRldl9wcml2LT5kaXNwbGF5LmdldF9kaXNwbGF5X2Nsb2NrX3NwZWVkKGRldik7 Ci0JCWRldl9wcml2LT5za2xfYm9vdF9jZGNsayA9IGNkY2xrX2ZyZXE7CisJCWRldl9wcml2LT5z a2xfdmNvX2ZyZXEgPSBza2xfY2RjbGtfZ2V0X3ZjbyhjZGNsa19mcmVxKTsKIAkJaWYgKHNrbF9z YW5pdGl6ZV9jZGNsayhkZXZfcHJpdikpCiAJCQlEUk1fREVCVUdfS01TKCJTYW5pdGl6ZWQgY2Rj bGsgcHJvZ3JhbW1lZCBieSBwcmUtb3NcbiIpOwogCQlpZiAoIShJOTE1X1JFQUQoTENQTEwxX0NU TCkgJiBMQ1BMTF9QTExfRU5BQkxFKSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpp bmRleCA2MmQzNmE3Li42ZjJkNDI5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j CkBAIC01ODExLDcgKzU4MTEsNyBAQCBzdGF0aWMgdW5zaWduZWQgaW50IHNrbF9jZGNsa19kZWNp bWFsKHVuc2lnbmVkIGludCBmcmVxKQogCXJldHVybiAoZnJlcSAtIDEwMDApIC8gNTAwOwogfQog Ci1zdGF0aWMgdW5zaWduZWQgaW50IHNrbF9jZGNsa19nZXRfdmNvKHVuc2lnbmVkIGludCBmcmVx KQordW5zaWduZWQgaW50IHNrbF9jZGNsa19nZXRfdmNvKHVuc2lnbmVkIGludCBmcmVxKQogewog CXVuc2lnbmVkIGludCBpOwogCkBAIC01OTY5LDE3ICs1OTY5LDIxIEBAIHZvaWQgc2tsX3VuaW5p dF9jZGNsayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAKIHZvaWQgc2tsX2lu aXRfY2RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewotCXVuc2lnbmVk IGludCByZXF1aXJlZF92Y287CisJdW5zaWduZWQgaW50IGNkY2xrOwogCiAJLyogRFBMTDAgbm90 IGVuYWJsZWQgKGhhcHBlbnMgb24gZWFybHkgQklPUyB2ZXJzaW9ucykgKi8KIAlpZiAoIShJOTE1 X1JFQUQoTENQTEwxX0NUTCkgJiBMQ1BMTF9QTExfRU5BQkxFKSkgewogCQkvKiBlbmFibGUgRFBM TDAgKi8KLQkJcmVxdWlyZWRfdmNvID0gc2tsX2NkY2xrX2dldF92Y28oZGV2X3ByaXYtPnNrbF9i b290X2NkY2xrKTsKLQkJc2tsX2RwbGwwX2VuYWJsZShkZXZfcHJpdiwgcmVxdWlyZWRfdmNvKTsK KwkJaWYgKGRldl9wcml2LT5za2xfdmNvX2ZyZXEgIT0gODY0MCkKKwkJCWRldl9wcml2LT5za2xf dmNvX2ZyZXEgPSA4MTAwOworCQlza2xfZHBsbDBfZW5hYmxlKGRldl9wcml2LCBkZXZfcHJpdi0+ c2tsX3Zjb19mcmVxKTsKKwkJY2RjbGsgPSAoKGRldl9wcml2LT5za2xfdmNvX2ZyZXEgPT0gODEw MCkgPyAzMzc1MDAgOiAzMDg1NzApOworCX0gZWxzZSB7CisJCWNkY2xrID0gZGV2X3ByaXYtPmNk Y2xrX2ZyZXE7CiAJfQogCi0JLyogc2V0IENEQ0xLIHRvIHRoZSBmcmVxdWVuY3kgdGhlIEJJT1Mg Y2hvc2UgKi8KLQlza2xfc2V0X2NkY2xrKGRldl9wcml2LCBkZXZfcHJpdi0+c2tsX2Jvb3RfY2Rj bGspOworCS8qIHNldCBDRENMSyB0byB0aGUgbG93ZXN0IGZyZXF1ZW5jeSwgTW9kZXNldCBmb2xs b3dzICovCisJc2tsX3NldF9jZGNsayhkZXZfcHJpdiwgY2RjbGspOwogCiAJLyogZW5hYmxlIERC VUYgcG93ZXIgKi8KIAlJOTE1X1dSSVRFKERCVUZfQ1RMLCBJOTE1X1JFQUQoREJVRl9DVEwpIHwg REJVRl9QT1dFUl9SRVFVRVNUKTsKQEAgLTU5OTUsNyArNTk5OSw3IEBAIGludCBza2xfc2FuaXRp emVfY2RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewogCXVpbnQzMl90 IGxjcGxsMSA9IEk5MTVfUkVBRChMQ1BMTDFfQ1RMKTsKIAl1aW50MzJfdCBjZGN0bCA9IEk5MTVf UkVBRChDRENMS19DVEwpOwotCWludCBmcmVxID0gZGV2X3ByaXYtPnNrbF9ib290X2NkY2xrOwor CWludCBmcmVxID0gZGV2X3ByaXYtPmNkY2xrX2ZyZXE7CiAKIAkvKgogCSAqIGNoZWNrIGlmIHRo ZSBwcmUtb3MgaW50aWFsaXplZCB0aGUgZGlzcGxheQpAQCAtNjAxOSwxMSArNjAyMyw3IEBAIGlu dCBza2xfc2FuaXRpemVfY2RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQog CQkvKiBBbGwgd2VsbDsgbm90aGluZyB0byBzYW5pdGl6ZSAqLwogCQlyZXR1cm4gZmFsc2U7CiBz YW5pdGl6ZToKLQkvKgotCSAqIEFzIG9mIG5vdyBpbml0aWFsaXplIHdpdGggbWF4IGNkY2xrIHRp bGwKLQkgKiB3ZSBnZXQgZHluYW1pYyBjZGNsayBzdXBwb3J0Ci0JICogKi8KLQlkZXZfcHJpdi0+ c2tsX2Jvb3RfY2RjbGsgPSBkZXZfcHJpdi0+bWF4X2NkY2xrX2ZyZXE7CisKIAlza2xfaW5pdF9j ZGNsayhkZXZfcHJpdik7CiAKIAkvKiB3ZSBkaWQgaGF2ZSB0byBzYW5pdGl6ZSAqLwpAQCAtOTk2 Myw2ICs5OTYzLDczIEBAIHN0YXRpYyB2b2lkIGJyb2Fkd2VsbF9tb2Rlc2V0X2NvbW1pdF9jZGNs ayhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqb2xkX3N0YXRlKQogCWJyb2Fkd2VsbF9zZXRfY2Rj bGsoZGV2LCByZXFfY2RjbGspOwogfQogCitzdGF0aWMgaW50IHNrbF9tb2Rlc2V0X2NhbGNfY2Rj bGsoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQoreworCXN0cnVjdCBpbnRlbF9hdG9t aWNfc3RhdGUgKmludGVsX3N0YXRlID0gdG9faW50ZWxfYXRvbWljX3N0YXRlKHN0YXRlKTsKKwlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KHN0YXRlLT5kZXYpOwor CWNvbnN0IGludCBtYXhfcGl4Y2xrID0gaWxrX21heF9waXhlbF9yYXRlKHN0YXRlKTsKKwlpbnQg Y2RjbGs7CisKKwkvKgorCSAqIEZJWE1FIHNob3VsZCBhbHNvIGFjY291bnQgZm9yIHBsYW5lIHJh dGlvCisJICogb25jZSA2NGJwcCBwaXhlbCBmb3JtYXRzIGFyZSBzdXBwb3J0ZWQuCisJICovCisK KwlpZiAoaW50ZWxfc3RhdGUtPmNkY2xrX3BsbF92Y28gPT0gODY0MCkgeworCQkvKiB2Y28gODY0 MCAqLworCQlpZiAobWF4X3BpeGNsayA+IDU0MDAwMCkKKwkJCWNkY2xrID0gNjE3MTQwOworCQll bHNlIGlmIChtYXhfcGl4Y2xrID4gNDMyMDAwKQorCQkJY2RjbGsgPSA1NDAwMDA7CisJCWVsc2Ug aWYgKG1heF9waXhjbGsgPiAzMDg1NzApCisJCQljZGNsayA9IDQzMjAwMDsKKwkJZWxzZQorCQkJ Y2RjbGsgPSAzMDg1NzA7CisJfSBlbHNlIHsKKwkJLyogVkNPIDgxMDAgKi8KKwkJaWYgKG1heF9w aXhjbGsgPiA1NDAwMDApCisJCQljZGNsayA9IDY3NTAwMDsKKwkJZWxzZSBpZiAobWF4X3BpeGNs ayA+IDQ1MDAwMCkKKwkJCWNkY2xrID0gNTQwMDAwOworCQllbHNlIGlmIChtYXhfcGl4Y2xrID4g MzM3NTAwKQorCQkJY2RjbGsgPSA0NTAwMDA7CisJCWVsc2UKKwkJCWNkY2xrID0gMzM3NTAwOwor CX0KKworCS8qCisJICogRklYTUUgbW92ZSB0aGUgY2RjbGsgY2FjbHVsYXRpb24gdG8KKwkgKiBj b21wdXRlX2NvbmZpZygpIHNvIHdlIGNhbiBmYWlsIGdyYWNlZ3VsbHkuCisJICovCisJaWYgKGNk Y2xrID4gZGV2X3ByaXYtPm1heF9jZGNsa19mcmVxKSB7CisJCURSTV9FUlJPUigicmVxdWVzdGVk IGNkY2xrICglZCBrSHopIGV4Y2VlZHMgbWF4ICglZCBrSHopXG4iLAorCQkJICBjZGNsaywgZGV2 X3ByaXYtPm1heF9jZGNsa19mcmVxKTsKKwkJY2RjbGsgPSBkZXZfcHJpdi0+bWF4X2NkY2xrX2Zy ZXE7CisJfQorCisJaW50ZWxfc3RhdGUtPmNkY2xrID0gaW50ZWxfc3RhdGUtPmRldl9jZGNsayA9 IGNkY2xrOworCWlmICghaW50ZWxfc3RhdGUtPmFjdGl2ZV9jcnRjcykKKwkJaW50ZWxfc3RhdGUt PmRldl9jZGNsayA9ICgoaW50ZWxfc3RhdGUtPmNkY2xrX3BsbF92Y28gPT0gODY0MCkgPworCQkJ CQkgICAzMDg1NzAgOiAzMzc1MDApOworCisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQg c2tsX21vZGVzZXRfY29tbWl0X2NkY2xrKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpvbGRfc3Rh dGUpCit7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IG9sZF9zdGF0ZS0+ZGV2OworCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJdW5zaWdu ZWQgaW50IHJlcV9jZGNsayA9IHRvX2ludGVsX2F0b21pY19zdGF0ZShvbGRfc3RhdGUpLT5kZXZf Y2RjbGs7CisKKwkvKgorCSAqIEZJWE1FIGRpc2FibGUvZW5hYmxlIFBMTCBzaG91bGQgd3JhcCBz ZXRfY2RjbGsoKQorCSAqLworCXNrbF9zZXRfY2RjbGsoZGV2X3ByaXYsIHJlcV9jZGNsayk7CisK KwlkZXZfcHJpdi0+c2tsX3Zjb19mcmVxID0gdG9faW50ZWxfYXRvbWljX3N0YXRlKG9sZF9zdGF0 ZSktPmNkY2xrX3BsbF92Y287Cit9CisKIHN0YXRpYyBpbnQgaGFzd2VsbF9jcnRjX2NvbXB1dGVf Y2xvY2soc3RydWN0IGludGVsX2NydGMgKmNydGMsCiAJCQkJICAgICAgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7CkBAIC0xMzM3OSw5ICsxMzQ0NiwxNSBAQCBzdGF0aWMg aW50IGludGVsX21vZGVzZXRfY2hlY2tzKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkK IAkgKiBhZGp1c3RlZF9tb2RlIGJpdHMgaW4gdGhlIGNydGMgZGlyZWN0bHkuCiAJICovCiAJaWYg KGRldl9wcml2LT5kaXNwbGF5Lm1vZGVzZXRfY2FsY19jZGNsaykgeworCQlpZiAoIWludGVsX3N0 YXRlLT5jZGNsa19wbGxfdmNvKQorCQkJaW50ZWxfc3RhdGUtPmNkY2xrX3BsbF92Y28gPSBkZXZf cHJpdi0+c2tsX3Zjb19mcmVxOworCiAJCXJldCA9IGRldl9wcml2LT5kaXNwbGF5Lm1vZGVzZXRf Y2FsY19jZGNsayhzdGF0ZSk7CisJCWlmIChyZXQgPCAwKQorCQkJcmV0dXJuIHJldDsKIAotCQlp ZiAoIXJldCAmJiBpbnRlbF9zdGF0ZS0+ZGV2X2NkY2xrICE9IGRldl9wcml2LT5jZGNsa19mcmVx KQorCQlpZiAoaW50ZWxfc3RhdGUtPmRldl9jZGNsayAhPSBkZXZfcHJpdi0+Y2RjbGtfZnJlcSB8 fAorCQkgICAgaW50ZWxfc3RhdGUtPmNkY2xrX3BsbF92Y28gIT0gZGV2X3ByaXYtPnNrbF92Y29f ZnJlcSkKIAkJCXJldCA9IGludGVsX21vZGVzZXRfYWxsX3BpcGVzKHN0YXRlKTsKIAogCQlpZiAo cmV0IDwgMCkKQEAgLTEzNzUzLDcgKzEzODI2LDggQEAgc3RhdGljIGludCBpbnRlbF9hdG9taWNf Y29tbWl0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCWRybV9hdG9taWNfaGVscGVyX3VwZGF0 ZV9sZWdhY3lfbW9kZXNldF9zdGF0ZShzdGF0ZS0+ZGV2LCBzdGF0ZSk7CiAKIAkJaWYgKGRldl9w cml2LT5kaXNwbGF5Lm1vZGVzZXRfY29tbWl0X2NkY2xrICYmCi0JCSAgICBpbnRlbF9zdGF0ZS0+ ZGV2X2NkY2xrICE9IGRldl9wcml2LT5jZGNsa19mcmVxKQorCQkgICAgKGludGVsX3N0YXRlLT5k ZXZfY2RjbGsgIT0gZGV2X3ByaXYtPmNkY2xrX2ZyZXEgfHwKKwkJICAgIGludGVsX3N0YXRlLT5j ZGNsa19wbGxfdmNvICE9IGRldl9wcml2LT5za2xfdmNvX2ZyZXEpKQogCQkJZGV2X3ByaXYtPmRp c3BsYXkubW9kZXNldF9jb21taXRfY2RjbGsoc3RhdGUpOwogCX0KIApAQCAtMTUyMzEsOCArMTUz MDUsMTIgQEAgc3RhdGljIHZvaWQgaW50ZWxfaW5pdF9kaXNwbGF5KHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpCiAJCQlicm94dG9uX21vZGVzZXRfY29tbWl0X2NkY2xrOwogCQlkZXZfcHJpdi0+ZGlz cGxheS5tb2Rlc2V0X2NhbGNfY2RjbGsgPQogCQkJYnJveHRvbl9tb2Rlc2V0X2NhbGNfY2RjbGs7 CisJfSBlbHNlIGlmIChJU19TS1lMQUtFKGRldikgfHwgSVNfS0FCWUxBS0UoZGV2KSkgeworCQlk ZXZfcHJpdi0+ZGlzcGxheS5tb2Rlc2V0X2NvbW1pdF9jZGNsayA9CisJCQlza2xfbW9kZXNldF9j b21taXRfY2RjbGs7CisJCWRldl9wcml2LT5kaXNwbGF5Lm1vZGVzZXRfY2FsY19jZGNsayA9CisJ CQlza2xfbW9kZXNldF9jYWxjX2NkY2xrOwogCX0KLQogCXN3aXRjaCAoSU5URUxfSU5GTyhkZXYp LT5nZW4pIHsKIAljYXNlIDI6CiAJCWRldl9wcml2LT5kaXNwbGF5LnF1ZXVlX2ZsaXAgPSBpbnRl bF9nZW4yX3F1ZXVlX2ZsaXA7CkBAIC0xNTk2OCw3ICsxNjA0Niw4IEBAIHN0YXRpYyB2b2lkIGlu dGVsX21vZGVzZXRfcmVhZG91dF9od19zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQlp ZiAoY3J0Y19zdGF0ZS0+YmFzZS5hY3RpdmUpIHsKIAkJCWRldl9wcml2LT5hY3RpdmVfY3J0Y3Mg fD0gMSA8PCBjcnRjLT5waXBlOwogCi0JCQlpZiAoSVNfQlJPQURXRUxMKGRldl9wcml2KSkgewor CQkJaWYgKElTX0JST0FEV0VMTChkZXZfcHJpdikgfHwgSVNfU0tZTEFLRShkZXZfcHJpdikgfHwK KwkJCSAgICBJU19LQUJZTEFLRShkZXZfcHJpdikpIHsKIAkJCQlwaXhjbGsgPSBpbGtfcGlwZV9w aXhlbF9yYXRlKGNydGNfc3RhdGUpOwogCiAJCQkJLyogcGl4ZWwgcmF0ZSBtdXN0bid0IGV4Y2Vl ZCA5NSUgb2YgY2RjbGsgd2l0aCBJUFMgb24gQkRXICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwpp bmRleCAzNTFhOGYzLi40Mjk4Zjg5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKQEAgLTEyMjgs NiArMTIyOCw3IEBAIHN0YXRpYyB2b2lkCiBza2xfZWRwX3NldF9wbGxfY29uZmlnKHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZykKIHsKIAl1MzIgY3RybDE7CisJdTMyIHZjbyA9 IDgxMDA7CiAKIAltZW1zZXQoJnBpcGVfY29uZmlnLT5kcGxsX2h3X3N0YXRlLCAwLAogCSAgICAg ICBzaXplb2YocGlwZV9jb25maWctPmRwbGxfaHdfc3RhdGUpKTsKQEAgLTEyNjAsMTMgKzEyNjEs MTcgQEAgc2tsX2VkcF9zZXRfcGxsX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlw ZV9jb25maWcpCiAJY2FzZSAxMDgwMDA6CiAJCWN0cmwxIHw9IERQTExfQ1RSTDFfTElOS19SQVRF KERQTExfQ1RSTDFfTElOS19SQVRFXzEwODAsCiAJCQkJCSAgICAgIFNLTF9EUExMMCk7CisJCXZj byA9IDg2NDA7CiAJCWJyZWFrOwogCWNhc2UgMjE2MDAwOgogCQljdHJsMSB8PSBEUExMX0NUUkwx X0xJTktfUkFURShEUExMX0NUUkwxX0xJTktfUkFURV8yMTYwLAogCQkJCQkgICAgICBTS0xfRFBM TDApOworCQl2Y28gPSA4NjQwOwogCQlicmVhazsKIAogCX0KKworCXRvX2ludGVsX2F0b21pY19z dGF0ZShwaXBlX2NvbmZpZy0+YmFzZS5zdGF0ZSktPmNkY2xrX3BsbF92Y28gPSB2Y287CiAJcGlw ZV9jb25maWctPmRwbGxfaHdfc3RhdGUuY3RybDEgPSBjdHJsMTsKIH0KIApkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaAppbmRleCA3YjJkNjZkLi4xNzcyMWIyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cnYuaApAQCAtMzAxLDYgKzMwMSwxMCBAQCBzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlIHsKIAkg KiBkb24ndCBib3RoZXIgY2FsY3VsYXRpbmcgaW50ZXJtZWRpYXRlIHdhdGVybWFya3MuCiAJICov CiAJYm9vbCBza2lwX2ludGVybWVkaWF0ZV93bTsKKworCS8qIFNLTC9LQkwgT25seSAqLworCXVu c2lnbmVkIGludCBjZGNsa19wbGxfdmNvOworCiB9OwogCiBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3Rh dGUgewpAQCAtMTI0Nyw2ICsxMjUxLDcgQEAgdm9pZCBieHRfZGlzYWJsZV9kYzkoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIHZvaWQgc2tsX2luaXRfY2RjbGsoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIGludCBza2xfc2FuaXRpemVfY2RjbGsoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIHZvaWQgc2tsX3VuaW5pdF9jZGNsayhzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwordW5zaWduZWQgaW50IHNrbF9jZGNsa19n ZXRfdmNvKHVuc2lnbmVkIGludCBmcmVxKTsKIHZvaWQgc2tsX2VuYWJsZV9kYzYoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIHZvaWQgc2tsX2Rpc2FibGVfZGM2KHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CiB2b2lkIGludGVsX2RwX2dldF9tX24oc3RydWN0 IGludGVsX2NydGMgKmNydGMsCi0tIAoxLjcuOS41CgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngK