From mboxrd@z Thu Jan 1 00:00:00 1970 From: clinton.a.taylor@intel.com Subject: [PATCH V8] drm/i915/skl: SKL CDCLK change on modeset tracking VCO Date: Wed, 9 Mar 2016 13:58:39 -0800 Message-ID: <1457560719-20866-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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id C27E46E5EF for ; Wed, 9 Mar 2016 22:02:18 +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 ayBmb3IgdHJhY2tpbmcgbmV3IGNkY2xrIGR1cmluZyBhdG9taWMKClNpZ25lZC1vZmYtYnk6IENs aW50IFRheWxvciA8Y2xpbnRvbi5hLnRheWxvckBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgIHwgICAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGRpLmMgICAgIHwgICAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlz cGxheS5jIHwgIDEwOSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jICAgICAgfCAgICA1ICsrCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcnYuaCAgICAgfCAgICA1ICsrCiA1IGZpbGVzIGNoYW5nZWQsIDEwNSBpbnNl cnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCBm MzdhYzEyLi44M2JiM2ZkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTE4MzMsNyArMTgz Myw3IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsKIAlpbnQgbnVtX2ZlbmNlX3JlZ3M7IC8q IDggb24gcHJlLTk2NSwgMTYgb3RoZXJ3aXNlICovCiAKIAl1bnNpZ25lZCBpbnQgZnNiX2ZyZXEs IG1lbV9mcmVxLCBpc19kZHIzOwotCXVuc2lnbmVkIGludCBza2xfYm9vdF9jZGNsazsKKwl1bnNp Z25lZCBpbnQgc2tsX3Zjb19mcmVxOwogCXVuc2lnbmVkIGludCBjZGNsa19mcmVxLCBtYXhfY2Rj bGtfZnJlcSwgYXRvbWljX2NkY2xrX2ZyZXE7CiAJdW5zaWduZWQgaW50IG1heF9kb3RjbGtfZnJl cTsKIAl1bnNpZ25lZCBpbnQgcmF3Y2xrX2ZyZXE7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCmlu ZGV4IDYyZGU5ZjQuLmY2Mjg2NDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RkaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCkBAIC0zMDAz LDcgKzMwMDMsNyBAQCB2b2lkIGludGVsX2RkaV9wbGxfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2KQogCQlpbnQgY2RjbGtfZnJlcTsKIAogCQljZGNsa19mcmVxID0gZGV2X3ByaXYtPmRpc3Bs YXkuZ2V0X2Rpc3BsYXlfY2xvY2tfc3BlZWQoZGV2KTsKLQkJZGV2X3ByaXYtPnNrbF9ib290X2Nk Y2xrID0gY2RjbGtfZnJlcTsKKwkJZGV2X3ByaXYtPnNrbF92Y29fZnJlcSA9IHNrbF9jZGNsa19n ZXRfdmNvKGNkY2xrX2ZyZXEpOwogCQlpZiAoc2tsX3Nhbml0aXplX2NkY2xrKGRldl9wcml2KSkK IAkJCURSTV9ERUJVR19LTVMoIlNhbml0aXplZCBjZGNsayBwcm9ncmFtbWVkIGJ5IHByZS1vc1xu Iik7CiAJCWlmICghKEk5MTVfUkVBRChMQ1BMTDFfQ1RMKSAmIExDUExMX1BMTF9FTkFCTEUpKQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IDYyZDM2YTcuLjEwY2RlYjcgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTU4MTEsNyArNTgxMSw3IEBAIHN0 YXRpYyB1bnNpZ25lZCBpbnQgc2tsX2NkY2xrX2RlY2ltYWwodW5zaWduZWQgaW50IGZyZXEpCiAJ cmV0dXJuIChmcmVxIC0gMTAwMCkgLyA1MDA7CiB9CiAKLXN0YXRpYyB1bnNpZ25lZCBpbnQgc2ts X2NkY2xrX2dldF92Y28odW5zaWduZWQgaW50IGZyZXEpCit1bnNpZ25lZCBpbnQgc2tsX2NkY2xr X2dldF92Y28odW5zaWduZWQgaW50IGZyZXEpCiB7CiAJdW5zaWduZWQgaW50IGk7CiAKQEAgLTU5 NjksMTcgKzU5NjksMjEgQEAgdm9pZCBza2xfdW5pbml0X2NkY2xrKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdikKIAogdm9pZCBza2xfaW5pdF9jZGNsayhzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpCiB7Ci0JdW5zaWduZWQgaW50IHJlcXVpcmVkX3ZjbzsKKwl1bnNp Z25lZCBpbnQgY2RjbGs7CiAKIAkvKiBEUExMMCBub3QgZW5hYmxlZCAoaGFwcGVucyBvbiBlYXJs eSBCSU9TIHZlcnNpb25zKSAqLwogCWlmICghKEk5MTVfUkVBRChMQ1BMTDFfQ1RMKSAmIExDUExM X1BMTF9FTkFCTEUpKSB7CiAJCS8qIGVuYWJsZSBEUExMMCAqLwotCQlyZXF1aXJlZF92Y28gPSBz a2xfY2RjbGtfZ2V0X3ZjbyhkZXZfcHJpdi0+c2tsX2Jvb3RfY2RjbGspOwotCQlza2xfZHBsbDBf ZW5hYmxlKGRldl9wcml2LCByZXF1aXJlZF92Y28pOworCQlpZiAoZGV2X3ByaXYtPnNrbF92Y29f ZnJlcSAhPSA4NjQwKQorCQkJZGV2X3ByaXYtPnNrbF92Y29fZnJlcSA9IDgxMDA7CisJCXNrbF9k cGxsMF9lbmFibGUoZGV2X3ByaXYsIGRldl9wcml2LT5za2xfdmNvX2ZyZXEpOworCQljZGNsayA9 ICgoZGV2X3ByaXYtPnNrbF92Y29fZnJlcSA9PSA4MTAwKSA/IDMzNzUwMCA6IDMwODU3MCk7CisJ fSBlbHNlIHsKKwkJY2RjbGsgPSBkZXZfcHJpdi0+Y2RjbGtfZnJlcTsKIAl9CiAKLQkvKiBzZXQg Q0RDTEsgdG8gdGhlIGZyZXF1ZW5jeSB0aGUgQklPUyBjaG9zZSAqLwotCXNrbF9zZXRfY2RjbGso ZGV2X3ByaXYsIGRldl9wcml2LT5za2xfYm9vdF9jZGNsayk7CisJLyogc2V0IENEQ0xLIHRvIHRo ZSBsb3dlc3QgZnJlcXVlbmN5LCBNb2Rlc2V0IGZvbGxvd3MgKi8KKwlza2xfc2V0X2NkY2xrKGRl dl9wcml2LCBjZGNsayk7CiAKIAkvKiBlbmFibGUgREJVRiBwb3dlciAqLwogCUk5MTVfV1JJVEUo REJVRl9DVEwsIEk5MTVfUkVBRChEQlVGX0NUTCkgfCBEQlVGX1BPV0VSX1JFUVVFU1QpOwpAQCAt NTk5NSw3ICs1OTk5LDcgQEAgaW50IHNrbF9zYW5pdGl6ZV9jZGNsayhzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpCiB7CiAJdWludDMyX3QgbGNwbGwxID0gSTkxNV9SRUFEKExDUExM MV9DVEwpOwogCXVpbnQzMl90IGNkY3RsID0gSTkxNV9SRUFEKENEQ0xLX0NUTCk7Ci0JaW50IGZy ZXEgPSBkZXZfcHJpdi0+c2tsX2Jvb3RfY2RjbGs7CisJaW50IGZyZXEgPSBkZXZfcHJpdi0+Y2Rj bGtfZnJlcTsKIAogCS8qCiAJICogY2hlY2sgaWYgdGhlIHByZS1vcyBpbnRpYWxpemVkIHRoZSBk aXNwbGF5CkBAIC02MDE5LDExICs2MDIzLDcgQEAgaW50IHNrbF9zYW5pdGl6ZV9jZGNsayhzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJCS8qIEFsbCB3ZWxsOyBub3RoaW5nIHRv IHNhbml0aXplICovCiAJCXJldHVybiBmYWxzZTsKIHNhbml0aXplOgotCS8qCi0JICogQXMgb2Yg bm93IGluaXRpYWxpemUgd2l0aCBtYXggY2RjbGsgdGlsbAotCSAqIHdlIGdldCBkeW5hbWljIGNk Y2xrIHN1cHBvcnQKLQkgKiAqLwotCWRldl9wcml2LT5za2xfYm9vdF9jZGNsayA9IGRldl9wcml2 LT5tYXhfY2RjbGtfZnJlcTsKKwogCXNrbF9pbml0X2NkY2xrKGRldl9wcml2KTsKIAogCS8qIHdl IGRpZCBoYXZlIHRvIHNhbml0aXplICovCkBAIC05OTYzLDYgKzk5NjMsNzEgQEAgc3RhdGljIHZv aWQgYnJvYWR3ZWxsX21vZGVzZXRfY29tbWl0X2NkY2xrKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRl ICpvbGRfc3RhdGUpCiAJYnJvYWR3ZWxsX3NldF9jZGNsayhkZXYsIHJlcV9jZGNsayk7CiB9CiAK K3N0YXRpYyBpbnQgc2tsX21vZGVzZXRfY2FsY19jZGNsayhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0 ZSAqc3RhdGUpCit7CisJc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqaW50ZWxfc3RhdGUgPSB0 b19pbnRlbF9hdG9taWNfc3RhdGUoc3RhdGUpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUoc3RhdGUtPmRldik7CisJY29uc3QgaW50IG1heF9waXhjbGsgPSBp bGtfbWF4X3BpeGVsX3JhdGUoc3RhdGUpOworCWludCBjZGNsazsKKworCS8qCisJICogRklYTUUg c2hvdWxkIGFsc28gYWNjb3VudCBmb3IgcGxhbmUgcmF0aW8KKwkgKiBvbmNlIDY0YnBwIHBpeGVs IGZvcm1hdHMgYXJlIHN1cHBvcnRlZC4KKwkgKi8KKworCWlmICh0b19pbnRlbF9hdG9taWNfc3Rh dGUoc3RhdGUpLT5jZGNsa19wbGxfdmNvID09IDg2NDApIHsKKwkJLyogdmNvIDg2NDAgKi8KKwkJ aWYgKG1heF9waXhjbGsgPiA1NDAwMDApCisJCQljZGNsayA9IDYxNzE0MDsKKwkJZWxzZSBpZiAo bWF4X3BpeGNsayA+IDQzMjAwMCkKKwkJCWNkY2xrID0gNTQwMDAwOworCQllbHNlIGlmIChtYXhf cGl4Y2xrID4gMzA4NTcwKQorCQkJY2RjbGsgPSA0MzIwMDA7CisJCWVsc2UKKwkJCWNkY2xrID0g MzA4NTcwOworCX0gZWxzZSB7CisJCS8qIFZDTyA4MTAwICovCisJCWlmIChtYXhfcGl4Y2xrID4g NTQwMDAwKQorCQkJY2RjbGsgPSA2NzUwMDA7CisJCWVsc2UgaWYgKG1heF9waXhjbGsgPiA0NTAw MDApCisJCQljZGNsayA9IDU0MDAwMDsKKwkJZWxzZSBpZiAobWF4X3BpeGNsayA+IDMzNzUwMCkK KwkJCWNkY2xrID0gNDUwMDAwOworCQllbHNlCisJCQljZGNsayA9IDMzNzUwMDsKKwl9CisKKwkv KgorCSAqIEZJWE1FIG1vdmUgdGhlIGNkY2xrIGNhY2x1bGF0aW9uIHRvCisJICogY29tcHV0ZV9j b25maWcoKSBzbyB3ZSBjYW4gZmFpbCBncmFjZWd1bGx5LgorCSAqLworCWlmIChjZGNsayA+IGRl dl9wcml2LT5tYXhfY2RjbGtfZnJlcSkgeworCQlEUk1fRVJST1IoInJlcXVlc3RlZCBjZGNsayAo JWQga0h6KSBleGNlZWRzIG1heCAoJWQga0h6KVxuIiwKKwkJCSAgY2RjbGssIGRldl9wcml2LT5t YXhfY2RjbGtfZnJlcSk7CisJCWNkY2xrID0gZGV2X3ByaXYtPm1heF9jZGNsa19mcmVxOworCX0K KworCWludGVsX3N0YXRlLT5jZGNsayA9IGludGVsX3N0YXRlLT5kZXZfY2RjbGsgPSBjZGNsazsK KwlpZiAoIWludGVsX3N0YXRlLT5hY3RpdmVfY3J0Y3MpCisJCWludGVsX3N0YXRlLT5kZXZfY2Rj bGsgPSAzMzc1MDA7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgc2tsX21vZGVzZXRf Y29tbWl0X2NkY2xrKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpvbGRfc3RhdGUpCit7CisJc3Ry dWN0IGRybV9kZXZpY2UgKmRldiA9IG9sZF9zdGF0ZS0+ZGV2OworCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJdW5zaWduZWQgaW50IHJlcV9j ZGNsayA9IHRvX2ludGVsX2F0b21pY19zdGF0ZShvbGRfc3RhdGUpLT5kZXZfY2RjbGs7CisKKwkv KgorCSAqIEZJWE1FIGRpc2FibGUvZW5hYmxlIFBMTCBzaG91bGQgd3JhcCBzZXRfY2RjbGsoKQor CSAqLworCXNrbF9zZXRfY2RjbGsoZGV2X3ByaXYsIHJlcV9jZGNsayk7CisKKwlkZXZfcHJpdi0+ c2tsX3Zjb19mcmVxID0gdG9faW50ZWxfYXRvbWljX3N0YXRlKG9sZF9zdGF0ZSktPmNkY2xrX3Bs bF92Y287Cit9CisKIHN0YXRpYyBpbnQgaGFzd2VsbF9jcnRjX2NvbXB1dGVfY2xvY2soc3RydWN0 IGludGVsX2NydGMgKmNydGMsCiAJCQkJICAgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUpCiB7CkBAIC0xMzM3OSw5ICsxMzQ0NCwxNSBAQCBzdGF0aWMgaW50IGludGVsX21v ZGVzZXRfY2hlY2tzKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKIAkgKiBhZGp1c3Rl ZF9tb2RlIGJpdHMgaW4gdGhlIGNydGMgZGlyZWN0bHkuCiAJICovCiAJaWYgKGRldl9wcml2LT5k aXNwbGF5Lm1vZGVzZXRfY2FsY19jZGNsaykgeworCQlpZiAoIWludGVsX3N0YXRlLT5jZGNsa19w bGxfdmNvKQorCQkJaW50ZWxfc3RhdGUtPmNkY2xrX3BsbF92Y28gPSBkZXZfcHJpdi0+c2tsX3Zj b19mcmVxOworCiAJCXJldCA9IGRldl9wcml2LT5kaXNwbGF5Lm1vZGVzZXRfY2FsY19jZGNsayhz dGF0ZSk7CisJCWlmIChyZXQgPCAwKQorCQkJcmV0dXJuIHJldDsKIAotCQlpZiAoIXJldCAmJiBp bnRlbF9zdGF0ZS0+ZGV2X2NkY2xrICE9IGRldl9wcml2LT5jZGNsa19mcmVxKQorCQlpZiAoaW50 ZWxfc3RhdGUtPmRldl9jZGNsayAhPSBkZXZfcHJpdi0+Y2RjbGtfZnJlcSB8fAorCQkgICAgaW50 ZWxfc3RhdGUtPmNkY2xrX3BsbF92Y28gIT0gZGV2X3ByaXYtPnNrbF92Y29fZnJlcSkKIAkJCXJl dCA9IGludGVsX21vZGVzZXRfYWxsX3BpcGVzKHN0YXRlKTsKIAogCQlpZiAocmV0IDwgMCkKQEAg LTEzNzUzLDcgKzEzODI0LDggQEAgc3RhdGljIGludCBpbnRlbF9hdG9taWNfY29tbWl0KHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsCiAJCWRybV9hdG9taWNfaGVscGVyX3VwZGF0ZV9sZWdhY3lfbW9k ZXNldF9zdGF0ZShzdGF0ZS0+ZGV2LCBzdGF0ZSk7CiAKIAkJaWYgKGRldl9wcml2LT5kaXNwbGF5 Lm1vZGVzZXRfY29tbWl0X2NkY2xrICYmCi0JCSAgICBpbnRlbF9zdGF0ZS0+ZGV2X2NkY2xrICE9 IGRldl9wcml2LT5jZGNsa19mcmVxKQorCQkgICAgKGludGVsX3N0YXRlLT5kZXZfY2RjbGsgIT0g ZGV2X3ByaXYtPmNkY2xrX2ZyZXEgfHwKKwkJICAgIGludGVsX3N0YXRlLT5jZGNsa19wbGxfdmNv ICE9IGRldl9wcml2LT5za2xfdmNvX2ZyZXEpKQogCQkJZGV2X3ByaXYtPmRpc3BsYXkubW9kZXNl dF9jb21taXRfY2RjbGsoc3RhdGUpOwogCX0KIApAQCAtMTUyMzEsOCArMTUzMDMsMTIgQEAgc3Rh dGljIHZvaWQgaW50ZWxfaW5pdF9kaXNwbGF5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCQli cm94dG9uX21vZGVzZXRfY29tbWl0X2NkY2xrOwogCQlkZXZfcHJpdi0+ZGlzcGxheS5tb2Rlc2V0 X2NhbGNfY2RjbGsgPQogCQkJYnJveHRvbl9tb2Rlc2V0X2NhbGNfY2RjbGs7CisJfSBlbHNlIGlm IChJU19TS1lMQUtFKGRldikgfHwgSVNfS0FCWUxBS0UoZGV2KSkgeworCQlkZXZfcHJpdi0+ZGlz cGxheS5tb2Rlc2V0X2NvbW1pdF9jZGNsayA9CisJCQlza2xfbW9kZXNldF9jb21taXRfY2RjbGs7 CisJCWRldl9wcml2LT5kaXNwbGF5Lm1vZGVzZXRfY2FsY19jZGNsayA9CisJCQlza2xfbW9kZXNl dF9jYWxjX2NkY2xrOwogCX0KLQogCXN3aXRjaCAoSU5URUxfSU5GTyhkZXYpLT5nZW4pIHsKIAlj YXNlIDI6CiAJCWRldl9wcml2LT5kaXNwbGF5LnF1ZXVlX2ZsaXAgPSBpbnRlbF9nZW4yX3F1ZXVl X2ZsaXA7CkBAIC0xNTk2OCw3ICsxNjA0NCw4IEBAIHN0YXRpYyB2b2lkIGludGVsX21vZGVzZXRf cmVhZG91dF9od19zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQlpZiAoY3J0Y19zdGF0 ZS0+YmFzZS5hY3RpdmUpIHsKIAkJCWRldl9wcml2LT5hY3RpdmVfY3J0Y3MgfD0gMSA8PCBjcnRj LT5waXBlOwogCi0JCQlpZiAoSVNfQlJPQURXRUxMKGRldl9wcml2KSkgeworCQkJaWYgKElTX0JS T0FEV0VMTChkZXZfcHJpdikgfHwgSVNfU0tZTEFLRShkZXZfcHJpdikgfHwKKwkJCSAgICBJU19L QUJZTEFLRShkZXZfcHJpdikpIHsKIAkJCQlwaXhjbGsgPSBpbGtfcGlwZV9waXhlbF9yYXRlKGNy dGNfc3RhdGUpOwogCiAJCQkJLyogcGl4ZWwgcmF0ZSBtdXN0bid0IGV4Y2VlZCA5NSUgb2YgY2Rj bGsgd2l0aCBJUFMgb24gQkRXICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwppbmRleCAzNTFhOGYz Li40Mjk4Zjg5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKQEAgLTEyMjgsNiArMTIyOCw3IEBA IHN0YXRpYyB2b2lkCiBza2xfZWRwX3NldF9wbGxfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpwaXBlX2NvbmZpZykKIHsKIAl1MzIgY3RybDE7CisJdTMyIHZjbyA9IDgxMDA7CiAKIAlt ZW1zZXQoJnBpcGVfY29uZmlnLT5kcGxsX2h3X3N0YXRlLCAwLAogCSAgICAgICBzaXplb2YocGlw ZV9jb25maWctPmRwbGxfaHdfc3RhdGUpKTsKQEAgLTEyNjAsMTMgKzEyNjEsMTcgQEAgc2tsX2Vk cF9zZXRfcGxsX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpCiAJ Y2FzZSAxMDgwMDA6CiAJCWN0cmwxIHw9IERQTExfQ1RSTDFfTElOS19SQVRFKERQTExfQ1RSTDFf TElOS19SQVRFXzEwODAsCiAJCQkJCSAgICAgIFNLTF9EUExMMCk7CisJCXZjbyA9IDg2NDA7CiAJ CWJyZWFrOwogCWNhc2UgMjE2MDAwOgogCQljdHJsMSB8PSBEUExMX0NUUkwxX0xJTktfUkFURShE UExMX0NUUkwxX0xJTktfUkFURV8yMTYwLAogCQkJCQkgICAgICBTS0xfRFBMTDApOworCQl2Y28g PSA4NjQwOwogCQlicmVhazsKIAogCX0KKworCXRvX2ludGVsX2F0b21pY19zdGF0ZShwaXBlX2Nv bmZpZy0+YmFzZS5zdGF0ZSktPmNkY2xrX3BsbF92Y28gPSB2Y287CiAJcGlwZV9jb25maWctPmRw bGxfaHdfc3RhdGUuY3RybDEgPSBjdHJsMTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApp bmRleCA3YjJkNjZkLi4xNzcyMWIyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtMzAx LDYgKzMwMSwxMCBAQCBzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlIHsKIAkgKiBkb24ndCBib3Ro ZXIgY2FsY3VsYXRpbmcgaW50ZXJtZWRpYXRlIHdhdGVybWFya3MuCiAJICovCiAJYm9vbCBza2lw X2ludGVybWVkaWF0ZV93bTsKKworCS8qIFNLTC9LQkwgT25seSAqLworCXVuc2lnbmVkIGludCBj ZGNsa19wbGxfdmNvOworCiB9OwogCiBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgewpAQCAtMTI0 Nyw2ICsxMjUxLDcgQEAgdm9pZCBieHRfZGlzYWJsZV9kYzkoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KTsKIHZvaWQgc2tsX2luaXRfY2RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KTsKIGludCBza2xfc2FuaXRpemVfY2RjbGsoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2KTsKIHZvaWQgc2tsX3VuaW5pdF9jZGNsayhzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpOwordW5zaWduZWQgaW50IHNrbF9jZGNsa19nZXRfdmNvKHVuc2ln bmVkIGludCBmcmVxKTsKIHZvaWQgc2tsX2VuYWJsZV9kYzYoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KTsKIHZvaWQgc2tsX2Rpc2FibGVfZGM2KHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdik7CiB2b2lkIGludGVsX2RwX2dldF9tX24oc3RydWN0IGludGVsX2NydGMg KmNydGMsCi0tIAoxLjcuOS41CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZngK