From mboxrd@z Thu Jan 1 00:00:00 1970 From: clinton.a.taylor@intel.com Subject: [PATCH V9] drm/i915/skl: SKL CDCLK change on modeset tracking VCO Date: Thu, 10 Mar 2016 10:42:12 -0800 Message-ID: <1457635332-1701-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 5CA1B6EA0F for ; Thu, 10 Mar 2016 18:45:55 +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 bGUgdmNvIDg2NDAgd2hlbiBjcnRjcz09MAoKUmV2aWV3ZWQtYnk6IFZpbGxlIFN5cmrDpGzDpCA8 dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IENsaW50IFRheWxv ciA8Y2xpbnRvbi5hLnRheWxvckBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaCAgICAgIHwgICAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRp LmMgICAgIHwgICAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwg IDExMyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcC5jICAgICAgfCAgICA1ICsrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcnYuaCAgICAgfCAgICA1ICsrCiA1IGZpbGVzIGNoYW5nZWQsIDEwOSBpbnNlcnRpb25zKCsp LCAxOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCBmMzdhYzEyLi44 M2JiM2ZkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTE4MzMsNyArMTgzMyw3IEBAIHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlIHsKIAlpbnQgbnVtX2ZlbmNlX3JlZ3M7IC8qIDggb24gcHJl LTk2NSwgMTYgb3RoZXJ3aXNlICovCiAKIAl1bnNpZ25lZCBpbnQgZnNiX2ZyZXEsIG1lbV9mcmVx LCBpc19kZHIzOwotCXVuc2lnbmVkIGludCBza2xfYm9vdF9jZGNsazsKKwl1bnNpZ25lZCBpbnQg c2tsX3Zjb19mcmVxOwogCXVuc2lnbmVkIGludCBjZGNsa19mcmVxLCBtYXhfY2RjbGtfZnJlcSwg YXRvbWljX2NkY2xrX2ZyZXE7CiAJdW5zaWduZWQgaW50IG1heF9kb3RjbGtfZnJlcTsKIAl1bnNp Z25lZCBpbnQgcmF3Y2xrX2ZyZXE7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCmluZGV4IDYyZGU5 ZjQuLmY2Mjg2NDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCkBAIC0zMDAzLDcgKzMwMDMs NyBAQCB2b2lkIGludGVsX2RkaV9wbGxfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQlp bnQgY2RjbGtfZnJlcTsKIAogCQljZGNsa19mcmVxID0gZGV2X3ByaXYtPmRpc3BsYXkuZ2V0X2Rp c3BsYXlfY2xvY2tfc3BlZWQoZGV2KTsKLQkJZGV2X3ByaXYtPnNrbF9ib290X2NkY2xrID0gY2Rj bGtfZnJlcTsKKwkJZGV2X3ByaXYtPnNrbF92Y29fZnJlcSA9IHNrbF9jZGNsa19nZXRfdmNvKGNk Y2xrX2ZyZXEpOwogCQlpZiAoc2tsX3Nhbml0aXplX2NkY2xrKGRldl9wcml2KSkKIAkJCURSTV9E RUJVR19LTVMoIlNhbml0aXplZCBjZGNsayBwcm9ncmFtbWVkIGJ5IHByZS1vc1xuIik7CiAJCWlm ICghKEk5MTVfUkVBRChMQ1BMTDFfQ1RMKSAmIExDUExMX1BMTF9FTkFCTEUpKQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IDYyZDM2YTcuLmI4YzdjNWUgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTU4MTEsNyArNTgxMSw3IEBAIHN0YXRpYyB1bnNp Z25lZCBpbnQgc2tsX2NkY2xrX2RlY2ltYWwodW5zaWduZWQgaW50IGZyZXEpCiAJcmV0dXJuIChm cmVxIC0gMTAwMCkgLyA1MDA7CiB9CiAKLXN0YXRpYyB1bnNpZ25lZCBpbnQgc2tsX2NkY2xrX2dl dF92Y28odW5zaWduZWQgaW50IGZyZXEpCit1bnNpZ25lZCBpbnQgc2tsX2NkY2xrX2dldF92Y28o dW5zaWduZWQgaW50IGZyZXEpCiB7CiAJdW5zaWduZWQgaW50IGk7CiAKQEAgLTU5NjksMTcgKzU5 NjksMjEgQEAgdm9pZCBza2xfdW5pbml0X2NkY2xrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKIAogdm9pZCBza2xfaW5pdF9jZGNsayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCiB7Ci0JdW5zaWduZWQgaW50IHJlcXVpcmVkX3ZjbzsKKwl1bnNpZ25lZCBpbnQg Y2RjbGs7CiAKIAkvKiBEUExMMCBub3QgZW5hYmxlZCAoaGFwcGVucyBvbiBlYXJseSBCSU9TIHZl cnNpb25zKSAqLwogCWlmICghKEk5MTVfUkVBRChMQ1BMTDFfQ1RMKSAmIExDUExMX1BMTF9FTkFC TEUpKSB7CiAJCS8qIGVuYWJsZSBEUExMMCAqLwotCQlyZXF1aXJlZF92Y28gPSBza2xfY2RjbGtf Z2V0X3ZjbyhkZXZfcHJpdi0+c2tsX2Jvb3RfY2RjbGspOwotCQlza2xfZHBsbDBfZW5hYmxlKGRl dl9wcml2LCByZXF1aXJlZF92Y28pOworCQlpZiAoZGV2X3ByaXYtPnNrbF92Y29fZnJlcSAhPSA4 NjQwKQorCQkJZGV2X3ByaXYtPnNrbF92Y29fZnJlcSA9IDgxMDA7CisJCXNrbF9kcGxsMF9lbmFi bGUoZGV2X3ByaXYsIGRldl9wcml2LT5za2xfdmNvX2ZyZXEpOworCQljZGNsayA9ICgoZGV2X3By aXYtPnNrbF92Y29fZnJlcSA9PSA4MTAwKSA/IDMzNzUwMCA6IDMwODU3MCk7CisJfSBlbHNlIHsK KwkJY2RjbGsgPSBkZXZfcHJpdi0+Y2RjbGtfZnJlcTsKIAl9CiAKLQkvKiBzZXQgQ0RDTEsgdG8g dGhlIGZyZXF1ZW5jeSB0aGUgQklPUyBjaG9zZSAqLwotCXNrbF9zZXRfY2RjbGsoZGV2X3ByaXYs IGRldl9wcml2LT5za2xfYm9vdF9jZGNsayk7CisJLyogc2V0IENEQ0xLIHRvIHRoZSBsb3dlc3Qg ZnJlcXVlbmN5LCBNb2Rlc2V0IGZvbGxvd3MgKi8KKwlza2xfc2V0X2NkY2xrKGRldl9wcml2LCBj ZGNsayk7CiAKIAkvKiBlbmFibGUgREJVRiBwb3dlciAqLwogCUk5MTVfV1JJVEUoREJVRl9DVEws IEk5MTVfUkVBRChEQlVGX0NUTCkgfCBEQlVGX1BPV0VSX1JFUVVFU1QpOwpAQCAtNTk5NSw3ICs1 OTk5LDcgQEAgaW50IHNrbF9zYW5pdGl6ZV9jZGNsayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCiB7CiAJdWludDMyX3QgbGNwbGwxID0gSTkxNV9SRUFEKExDUExMMV9DVEwpOwog CXVpbnQzMl90IGNkY3RsID0gSTkxNV9SRUFEKENEQ0xLX0NUTCk7Ci0JaW50IGZyZXEgPSBkZXZf cHJpdi0+c2tsX2Jvb3RfY2RjbGs7CisJaW50IGZyZXEgPSBkZXZfcHJpdi0+Y2RjbGtfZnJlcTsK IAogCS8qCiAJICogY2hlY2sgaWYgdGhlIHByZS1vcyBpbnRpYWxpemVkIHRoZSBkaXNwbGF5CkBA IC02MDE5LDExICs2MDIzLDcgQEAgaW50IHNrbF9zYW5pdGl6ZV9jZGNsayhzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJCS8qIEFsbCB3ZWxsOyBub3RoaW5nIHRvIHNhbml0aXpl ICovCiAJCXJldHVybiBmYWxzZTsKIHNhbml0aXplOgotCS8qCi0JICogQXMgb2Ygbm93IGluaXRp YWxpemUgd2l0aCBtYXggY2RjbGsgdGlsbAotCSAqIHdlIGdldCBkeW5hbWljIGNkY2xrIHN1cHBv cnQKLQkgKiAqLwotCWRldl9wcml2LT5za2xfYm9vdF9jZGNsayA9IGRldl9wcml2LT5tYXhfY2Rj bGtfZnJlcTsKKwogCXNrbF9pbml0X2NkY2xrKGRldl9wcml2KTsKIAogCS8qIHdlIGRpZCBoYXZl IHRvIHNhbml0aXplICovCkBAIC05OTYzLDYgKzk5NjMsNzUgQEAgc3RhdGljIHZvaWQgYnJvYWR3 ZWxsX21vZGVzZXRfY29tbWl0X2NkY2xrKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpvbGRfc3Rh dGUpCiAJYnJvYWR3ZWxsX3NldF9jZGNsayhkZXYsIHJlcV9jZGNsayk7CiB9CiAKK3N0YXRpYyBp bnQgc2tsX21vZGVzZXRfY2FsY19jZGNsayhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUp Cit7CisJc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqaW50ZWxfc3RhdGUgPSB0b19pbnRlbF9h dG9taWNfc3RhdGUoc3RhdGUpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoc3RhdGUtPmRldik7CisJY29uc3QgaW50IG1heF9waXhjbGsgPSBpbGtfbWF4X3Bp eGVsX3JhdGUoc3RhdGUpOworCWludCBjZGNsazsKKworCS8qCisJICogRklYTUUgc2hvdWxkIGFs c28gYWNjb3VudCBmb3IgcGxhbmUgcmF0aW8KKwkgKiBvbmNlIDY0YnBwIHBpeGVsIGZvcm1hdHMg YXJlIHN1cHBvcnRlZC4KKwkgKi8KKworCWlmIChpbnRlbF9zdGF0ZS0+Y2RjbGtfcGxsX3ZjbyA9 PSA4NjQwKSB7CisJCS8qIHZjbyA4NjQwICovCisJCWlmIChtYXhfcGl4Y2xrID4gNTQwMDAwKQor CQkJY2RjbGsgPSA2MTcxNDA7CisJCWVsc2UgaWYgKG1heF9waXhjbGsgPiA0MzIwMDApCisJCQlj ZGNsayA9IDU0MDAwMDsKKwkJZWxzZSBpZiAobWF4X3BpeGNsayA+IDMwODU3MCkKKwkJCWNkY2xr ID0gNDMyMDAwOworCQllbHNlCisJCQljZGNsayA9IDMwODU3MDsKKwl9IGVsc2UgeworCQkvKiBW Q08gODEwMCAqLworCQlpZiAobWF4X3BpeGNsayA+IDU0MDAwMCkKKwkJCWNkY2xrID0gNjc1MDAw OworCQllbHNlIGlmIChtYXhfcGl4Y2xrID4gNDUwMDAwKQorCQkJY2RjbGsgPSA1NDAwMDA7CisJ CWVsc2UgaWYgKG1heF9waXhjbGsgPiAzMzc1MDApCisJCQljZGNsayA9IDQ1MDAwMDsKKwkJZWxz ZQorCQkJY2RjbGsgPSAzMzc1MDA7CisJfQorCisJLyoKKwkgKiBGSVhNRSBtb3ZlIHRoZSBjZGNs ayBjYWNsdWxhdGlvbiB0bworCSAqIGNvbXB1dGVfY29uZmlnKCkgc28gd2UgY2FuIGZhaWwgZ3Jh Y2VndWxseS4KKwkgKi8KKwlpZiAoY2RjbGsgPiBkZXZfcHJpdi0+bWF4X2NkY2xrX2ZyZXEpIHsK KwkJRFJNX0VSUk9SKCJyZXF1ZXN0ZWQgY2RjbGsgKCVkIGtIeikgZXhjZWVkcyBtYXggKCVkIGtI eilcbiIsCisJCQkgIGNkY2xrLCBkZXZfcHJpdi0+bWF4X2NkY2xrX2ZyZXEpOworCQljZGNsayA9 IGRldl9wcml2LT5tYXhfY2RjbGtfZnJlcTsKKwl9CisKKwlpbnRlbF9zdGF0ZS0+Y2RjbGsgPSBp bnRlbF9zdGF0ZS0+ZGV2X2NkY2xrID0gY2RjbGs7CisJaWYgKCFpbnRlbF9zdGF0ZS0+YWN0aXZl X2NydGNzKSB7CisJCWlmIChpbnRlbF9zdGF0ZS0+Y2RjbGtfcGxsX3ZjbyA9PSA4NjQwKQorCQkJ aW50ZWxfc3RhdGUtPmRldl9jZGNsayA9IDMwODU3MDsKKwkJZWxzZQorCQkJaW50ZWxfc3RhdGUt PmRldl9jZGNsayA9IDMzNzUwMDsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQg c2tsX21vZGVzZXRfY29tbWl0X2NkY2xrKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpvbGRfc3Rh dGUpCit7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IG9sZF9zdGF0ZS0+ZGV2OworCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJdW5zaWdu ZWQgaW50IHJlcV9jZGNsayA9IHRvX2ludGVsX2F0b21pY19zdGF0ZShvbGRfc3RhdGUpLT5kZXZf Y2RjbGs7CisKKwkvKgorCSAqIEZJWE1FIGRpc2FibGUvZW5hYmxlIFBMTCBzaG91bGQgd3JhcCBz ZXRfY2RjbGsoKQorCSAqLworCXNrbF9zZXRfY2RjbGsoZGV2X3ByaXYsIHJlcV9jZGNsayk7CisK KwlkZXZfcHJpdi0+c2tsX3Zjb19mcmVxID0gdG9faW50ZWxfYXRvbWljX3N0YXRlKG9sZF9zdGF0 ZSktPmNkY2xrX3BsbF92Y287Cit9CisKIHN0YXRpYyBpbnQgaGFzd2VsbF9jcnRjX2NvbXB1dGVf Y2xvY2soc3RydWN0IGludGVsX2NydGMgKmNydGMsCiAJCQkJICAgICAgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7CkBAIC0xMzM3OSw5ICsxMzQ0OCwxNSBAQCBzdGF0aWMg aW50IGludGVsX21vZGVzZXRfY2hlY2tzKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkK IAkgKiBhZGp1c3RlZF9tb2RlIGJpdHMgaW4gdGhlIGNydGMgZGlyZWN0bHkuCiAJICovCiAJaWYg KGRldl9wcml2LT5kaXNwbGF5Lm1vZGVzZXRfY2FsY19jZGNsaykgeworCQlpZiAoIWludGVsX3N0 YXRlLT5jZGNsa19wbGxfdmNvKQorCQkJaW50ZWxfc3RhdGUtPmNkY2xrX3BsbF92Y28gPSBkZXZf cHJpdi0+c2tsX3Zjb19mcmVxOworCiAJCXJldCA9IGRldl9wcml2LT5kaXNwbGF5Lm1vZGVzZXRf Y2FsY19jZGNsayhzdGF0ZSk7CisJCWlmIChyZXQgPCAwKQorCQkJcmV0dXJuIHJldDsKIAotCQlp ZiAoIXJldCAmJiBpbnRlbF9zdGF0ZS0+ZGV2X2NkY2xrICE9IGRldl9wcml2LT5jZGNsa19mcmVx KQorCQlpZiAoaW50ZWxfc3RhdGUtPmRldl9jZGNsayAhPSBkZXZfcHJpdi0+Y2RjbGtfZnJlcSB8 fAorCQkgICAgaW50ZWxfc3RhdGUtPmNkY2xrX3BsbF92Y28gIT0gZGV2X3ByaXYtPnNrbF92Y29f ZnJlcSkKIAkJCXJldCA9IGludGVsX21vZGVzZXRfYWxsX3BpcGVzKHN0YXRlKTsKIAogCQlpZiAo cmV0IDwgMCkKQEAgLTEzNzUzLDcgKzEzODI4LDggQEAgc3RhdGljIGludCBpbnRlbF9hdG9taWNf Y29tbWl0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCWRybV9hdG9taWNfaGVscGVyX3VwZGF0 ZV9sZWdhY3lfbW9kZXNldF9zdGF0ZShzdGF0ZS0+ZGV2LCBzdGF0ZSk7CiAKIAkJaWYgKGRldl9w cml2LT5kaXNwbGF5Lm1vZGVzZXRfY29tbWl0X2NkY2xrICYmCi0JCSAgICBpbnRlbF9zdGF0ZS0+ ZGV2X2NkY2xrICE9IGRldl9wcml2LT5jZGNsa19mcmVxKQorCQkgICAgKGludGVsX3N0YXRlLT5k ZXZfY2RjbGsgIT0gZGV2X3ByaXYtPmNkY2xrX2ZyZXEgfHwKKwkJICAgIGludGVsX3N0YXRlLT5j ZGNsa19wbGxfdmNvICE9IGRldl9wcml2LT5za2xfdmNvX2ZyZXEpKQogCQkJZGV2X3ByaXYtPmRp c3BsYXkubW9kZXNldF9jb21taXRfY2RjbGsoc3RhdGUpOwogCX0KIApAQCAtMTUyMzEsOCArMTUz MDcsMTIgQEAgc3RhdGljIHZvaWQgaW50ZWxfaW5pdF9kaXNwbGF5KHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpCiAJCQlicm94dG9uX21vZGVzZXRfY29tbWl0X2NkY2xrOwogCQlkZXZfcHJpdi0+ZGlz cGxheS5tb2Rlc2V0X2NhbGNfY2RjbGsgPQogCQkJYnJveHRvbl9tb2Rlc2V0X2NhbGNfY2RjbGs7 CisJfSBlbHNlIGlmIChJU19TS1lMQUtFKGRldikgfHwgSVNfS0FCWUxBS0UoZGV2KSkgeworCQlk ZXZfcHJpdi0+ZGlzcGxheS5tb2Rlc2V0X2NvbW1pdF9jZGNsayA9CisJCQlza2xfbW9kZXNldF9j b21taXRfY2RjbGs7CisJCWRldl9wcml2LT5kaXNwbGF5Lm1vZGVzZXRfY2FsY19jZGNsayA9CisJ CQlza2xfbW9kZXNldF9jYWxjX2NkY2xrOwogCX0KLQogCXN3aXRjaCAoSU5URUxfSU5GTyhkZXYp LT5nZW4pIHsKIAljYXNlIDI6CiAJCWRldl9wcml2LT5kaXNwbGF5LnF1ZXVlX2ZsaXAgPSBpbnRl bF9nZW4yX3F1ZXVlX2ZsaXA7CkBAIC0xNTk2OCw3ICsxNjA0OCw4IEBAIHN0YXRpYyB2b2lkIGlu 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