From mboxrd@z Thu Jan 1 00:00:00 1970 From: clinton.a.taylor@intel.com Subject: [PATCH V11] drm/i915/skl: SKL CDCLK change on modeset tracking VCO Date: Tue, 15 Mar 2016 14:34:05 -0700 Message-ID: <1458077645-12657-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 mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id F1EA06E00E for ; Tue, 15 Mar 2016 21:38:19 +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 PTAKVjExOiBSZWJhc2UgZm9yIG5ldyBpbnRlbF9kcGxsX21nci5jCgpSZXZpZXdlZC1ieTogVmls bGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KU2lnbmVkLW9mZi1i eTogQ2xpbnQgVGF5bG9yIDxjbGludG9uLmEudGF5bG9yQGludGVsLmNvbT4KLS0tCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgIHwgICAgMiArLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jICB8ICAxMTEgKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxsX21nci5jIHwgICAgOSArLS0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICAgfCAgICA1ICsrCiA0IGZpbGVz IGNoYW5nZWQsIDEwNiBpbnNlcnRpb25zKCspLCAyMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaAppbmRleCA4MGIxNGYxLi5iZjg3ZTYyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmgKQEAgLTE3NTksNyArMTc1OSw3IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsKIAlpbnQg bnVtX2ZlbmNlX3JlZ3M7IC8qIDggb24gcHJlLTk2NSwgMTYgb3RoZXJ3aXNlICovCiAKIAl1bnNp Z25lZCBpbnQgZnNiX2ZyZXEsIG1lbV9mcmVxLCBpc19kZHIzOwotCXVuc2lnbmVkIGludCBza2xf Ym9vdF9jZGNsazsKKwl1bnNpZ25lZCBpbnQgc2tsX3Zjb19mcmVxOwogCXVuc2lnbmVkIGludCBj ZGNsa19mcmVxLCBtYXhfY2RjbGtfZnJlcSwgYXRvbWljX2NkY2xrX2ZyZXE7CiAJdW5zaWduZWQg aW50IG1heF9kb3RjbGtfZnJlcTsKIAl1bnNpZ25lZCBpbnQgcmF3Y2xrX2ZyZXE7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggY2U1NWYwYi4uZmM1MjY4YyAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtNTU4NCw3ICs1NTg0LDcgQEAgc3RhdGljIHVu c2lnbmVkIGludCBza2xfY2RjbGtfZGVjaW1hbCh1bnNpZ25lZCBpbnQgZnJlcSkKIAlyZXR1cm4g KGZyZXEgLSAxMDAwKSAvIDUwMDsKIH0KIAotc3RhdGljIHVuc2lnbmVkIGludCBza2xfY2RjbGtf Z2V0X3Zjbyh1bnNpZ25lZCBpbnQgZnJlcSkKK3Vuc2lnbmVkIGludCBza2xfY2RjbGtfZ2V0X3Zj byh1bnNpZ25lZCBpbnQgZnJlcSkKIHsKIAl1bnNpZ25lZCBpbnQgaTsKIApAQCAtNTc0MiwxNyAr NTc0MiwyMSBAQCB2b2lkIHNrbF91bmluaXRfY2RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KQogCiB2b2lkIHNrbF9pbml0X2NkY2xrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdikKIHsKLQl1bnNpZ25lZCBpbnQgcmVxdWlyZWRfdmNvOworCXVuc2lnbmVkIGlu dCBjZGNsazsKIAogCS8qIERQTEwwIG5vdCBlbmFibGVkIChoYXBwZW5zIG9uIGVhcmx5IEJJT1Mg dmVyc2lvbnMpICovCiAJaWYgKCEoSTkxNV9SRUFEKExDUExMMV9DVEwpICYgTENQTExfUExMX0VO QUJMRSkpIHsKIAkJLyogZW5hYmxlIERQTEwwICovCi0JCXJlcXVpcmVkX3ZjbyA9IHNrbF9jZGNs a19nZXRfdmNvKGRldl9wcml2LT5za2xfYm9vdF9jZGNsayk7Ci0JCXNrbF9kcGxsMF9lbmFibGUo ZGV2X3ByaXYsIHJlcXVpcmVkX3Zjbyk7CisJCWlmIChkZXZfcHJpdi0+c2tsX3Zjb19mcmVxICE9 IDg2NDApCisJCQlkZXZfcHJpdi0+c2tsX3Zjb19mcmVxID0gODEwMDsKKwkJc2tsX2RwbGwwX2Vu YWJsZShkZXZfcHJpdiwgZGV2X3ByaXYtPnNrbF92Y29fZnJlcSk7CisJCWNkY2xrID0gKChkZXZf cHJpdi0+c2tsX3Zjb19mcmVxID09IDgxMDApID8gMzM3NTAwIDogMzA4NTcwKTsKKwl9IGVsc2Ug eworCQljZGNsayA9IGRldl9wcml2LT5jZGNsa19mcmVxOwogCX0KIAotCS8qIHNldCBDRENMSyB0 byB0aGUgZnJlcXVlbmN5IHRoZSBCSU9TIGNob3NlICovCi0Jc2tsX3NldF9jZGNsayhkZXZfcHJp diwgZGV2X3ByaXYtPnNrbF9ib290X2NkY2xrKTsKKwkvKiBzZXQgQ0RDTEsgdG8gdGhlIGxvd2Vz dCBmcmVxdWVuY3ksIE1vZGVzZXQgZm9sbG93cyAqLworCXNrbF9zZXRfY2RjbGsoZGV2X3ByaXYs IGNkY2xrKTsKIAogCS8qIGVuYWJsZSBEQlVGIHBvd2VyICovCiAJSTkxNV9XUklURShEQlVGX0NU TCwgSTkxNV9SRUFEKERCVUZfQ1RMKSB8IERCVUZfUE9XRVJfUkVRVUVTVCk7CkBAIC01NzY4LDcg KzU3NzIsNyBAQCBpbnQgc2tsX3Nhbml0aXplX2NkY2xrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdikKIHsKIAl1aW50MzJfdCBsY3BsbDEgPSBJOTE1X1JFQUQoTENQTEwxX0NUTCk7 CiAJdWludDMyX3QgY2RjdGwgPSBJOTE1X1JFQUQoQ0RDTEtfQ1RMKTsKLQlpbnQgZnJlcSA9IGRl dl9wcml2LT5za2xfYm9vdF9jZGNsazsKKwlpbnQgZnJlcSA9IGRldl9wcml2LT5jZGNsa19mcmVx OwogCiAJLyoKIAkgKiBjaGVjayBpZiB0aGUgcHJlLW9zIGludGlhbGl6ZWQgdGhlIGRpc3BsYXkK QEAgLTU3OTIsMTEgKzU3OTYsNyBAQCBpbnQgc2tsX3Nhbml0aXplX2NkY2xrKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkJLyogQWxsIHdlbGw7IG5vdGhpbmcgdG8gc2FuaXRp emUgKi8KIAkJcmV0dXJuIGZhbHNlOwogc2FuaXRpemU6Ci0JLyoKLQkgKiBBcyBvZiBub3cgaW5p dGlhbGl6ZSB3aXRoIG1heCBjZGNsayB0aWxsCi0JICogd2UgZ2V0IGR5bmFtaWMgY2RjbGsgc3Vw cG9ydAotCSAqICovCi0JZGV2X3ByaXYtPnNrbF9ib290X2NkY2xrID0gZGV2X3ByaXYtPm1heF9j ZGNsa19mcmVxOworCiAJc2tsX2luaXRfY2RjbGsoZGV2X3ByaXYpOwogCiAJLyogd2UgZGlkIGhh dmUgdG8gc2FuaXRpemUgKi8KQEAgLTk3NTMsNiArOTc1Myw3MyBAQCBzdGF0aWMgdm9pZCBicm9h ZHdlbGxfbW9kZXNldF9jb21taXRfY2RjbGsoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKm9sZF9z dGF0ZSkKIAlicm9hZHdlbGxfc2V0X2NkY2xrKGRldiwgcmVxX2NkY2xrKTsKIH0KIAorc3RhdGlj IGludCBza2xfbW9kZXNldF9jYWxjX2NkY2xrKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0 ZSkKK3sKKwlzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICppbnRlbF9zdGF0ZSA9IHRvX2ludGVs X2F0b21pY19zdGF0ZShzdGF0ZSk7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShzdGF0ZS0+ZGV2KTsKKwljb25zdCBpbnQgbWF4X3BpeGNsayA9IGlsa19tYXhf cGl4ZWxfcmF0ZShzdGF0ZSk7CisJaW50IGNkY2xrOworCisJLyoKKwkgKiBGSVhNRSBzaG91bGQg YWxzbyBhY2NvdW50IGZvciBwbGFuZSByYXRpbworCSAqIG9uY2UgNjRicHAgcGl4ZWwgZm9ybWF0 cyBhcmUgc3VwcG9ydGVkLgorCSAqLworCisJaWYgKGludGVsX3N0YXRlLT5jZGNsa19wbGxfdmNv ID09IDg2NDApIHsKKwkJLyogdmNvIDg2NDAgKi8KKwkJaWYgKG1heF9waXhjbGsgPiA1NDAwMDAp CisJCQljZGNsayA9IDYxNzE0MDsKKwkJZWxzZSBpZiAobWF4X3BpeGNsayA+IDQzMjAwMCkKKwkJ CWNkY2xrID0gNTQwMDAwOworCQllbHNlIGlmIChtYXhfcGl4Y2xrID4gMzA4NTcwKQorCQkJY2Rj bGsgPSA0MzIwMDA7CisJCWVsc2UKKwkJCWNkY2xrID0gMzA4NTcwOworCX0gZWxzZSB7CisJCS8q IFZDTyA4MTAwICovCisJCWlmIChtYXhfcGl4Y2xrID4gNTQwMDAwKQorCQkJY2RjbGsgPSA2NzUw MDA7CisJCWVsc2UgaWYgKG1heF9waXhjbGsgPiA0NTAwMDApCisJCQljZGNsayA9IDU0MDAwMDsK KwkJZWxzZSBpZiAobWF4X3BpeGNsayA+IDMzNzUwMCkKKwkJCWNkY2xrID0gNDUwMDAwOworCQll bHNlCisJCQljZGNsayA9IDMzNzUwMDsKKwl9CisKKwkvKgorCSAqIEZJWE1FIG1vdmUgdGhlIGNk Y2xrIGNhY2x1bGF0aW9uIHRvCisJICogY29tcHV0ZV9jb25maWcoKSBzbyB3ZSBjYW4gZmFpbCBn cmFjZWd1bGx5LgorCSAqLworCWlmIChjZGNsayA+IGRldl9wcml2LT5tYXhfY2RjbGtfZnJlcSkg eworCQlEUk1fRVJST1IoInJlcXVlc3RlZCBjZGNsayAoJWQga0h6KSBleGNlZWRzIG1heCAoJWQg a0h6KVxuIiwKKwkJCSAgY2RjbGssIGRldl9wcml2LT5tYXhfY2RjbGtfZnJlcSk7CisJCWNkY2xr ID0gZGV2X3ByaXYtPm1heF9jZGNsa19mcmVxOworCX0KKworCWludGVsX3N0YXRlLT5jZGNsayA9 IGludGVsX3N0YXRlLT5kZXZfY2RjbGsgPSBjZGNsazsKKwlpZiAoIWludGVsX3N0YXRlLT5hY3Rp dmVfY3J0Y3MpCisJCWludGVsX3N0YXRlLT5kZXZfY2RjbGsgPSAoKGludGVsX3N0YXRlLT5jZGNs a19wbGxfdmNvID09IDg2NDApID8KKwkJCQkJICAgMzA4NTcwIDogMzM3NTAwKTsKKworCisJcmV0 dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIHNrbF9tb2Rlc2V0X2NvbW1pdF9jZGNsayhzdHJ1Y3Qg ZHJtX2F0b21pY19zdGF0ZSAqb2xkX3N0YXRlKQoreworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYg PSBvbGRfc3RhdGUtPmRldjsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBk ZXYtPmRldl9wcml2YXRlOworCXVuc2lnbmVkIGludCByZXFfY2RjbGsgPSB0b19pbnRlbF9hdG9t aWNfc3RhdGUob2xkX3N0YXRlKS0+ZGV2X2NkY2xrOworCisJLyoKKwkgKiBGSVhNRSBkaXNhYmxl L2VuYWJsZSBQTEwgc2hvdWxkIHdyYXAgc2V0X2NkY2xrKCkKKwkgKi8KKwlza2xfc2V0X2NkY2xr KGRldl9wcml2LCByZXFfY2RjbGspOworCisJZGV2X3ByaXYtPnNrbF92Y29fZnJlcSA9IHRvX2lu dGVsX2F0b21pY19zdGF0ZShvbGRfc3RhdGUpLT5jZGNsa19wbGxfdmNvOworfQorCiBzdGF0aWMg aW50IGhhc3dlbGxfY3J0Y19jb21wdXRlX2Nsb2NrKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAog CQkJCSAgICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewpAQCAtMTMy MTQsOSArMTMyODEsMTUgQEAgc3RhdGljIGludCBpbnRlbF9tb2Rlc2V0X2NoZWNrcyhzdHJ1Y3Qg ZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiAJICogYWRqdXN0ZWRfbW9kZSBiaXRzIGluIHRoZSBj cnRjIGRpcmVjdGx5LgogCSAqLwogCWlmIChkZXZfcHJpdi0+ZGlzcGxheS5tb2Rlc2V0X2NhbGNf Y2RjbGspIHsKKwkJaWYgKCFpbnRlbF9zdGF0ZS0+Y2RjbGtfcGxsX3ZjbykKKwkJCWludGVsX3N0 YXRlLT5jZGNsa19wbGxfdmNvID0gZGV2X3ByaXYtPnNrbF92Y29fZnJlcTsKKwogCQlyZXQgPSBk ZXZfcHJpdi0+ZGlzcGxheS5tb2Rlc2V0X2NhbGNfY2RjbGsoc3RhdGUpOworCQlpZiAocmV0IDwg MCkKKwkJCXJldHVybiByZXQ7CiAKLQkJaWYgKCFyZXQgJiYgaW50ZWxfc3RhdGUtPmRldl9jZGNs ayAhPSBkZXZfcHJpdi0+Y2RjbGtfZnJlcSkKKwkJaWYgKGludGVsX3N0YXRlLT5kZXZfY2RjbGsg IT0gZGV2X3ByaXYtPmNkY2xrX2ZyZXEgfHwKKwkJICAgIGludGVsX3N0YXRlLT5jZGNsa19wbGxf dmNvICE9IGRldl9wcml2LT5za2xfdmNvX2ZyZXEpCiAJCQlyZXQgPSBpbnRlbF9tb2Rlc2V0X2Fs bF9waXBlcyhzdGF0ZSk7CiAKIAkJaWYgKHJldCA8IDApCkBAIC0xMzU4OCw3ICsxMzY2MSw4IEBA IHN0YXRpYyBpbnQgaW50ZWxfYXRvbWljX2NvbW1pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAog CQlkcm1fYXRvbWljX2hlbHBlcl91cGRhdGVfbGVnYWN5X21vZGVzZXRfc3RhdGUoc3RhdGUtPmRl diwgc3RhdGUpOwogCiAJCWlmIChkZXZfcHJpdi0+ZGlzcGxheS5tb2Rlc2V0X2NvbW1pdF9jZGNs ayAmJgotCQkgICAgaW50ZWxfc3RhdGUtPmRldl9jZGNsayAhPSBkZXZfcHJpdi0+Y2RjbGtfZnJl cSkKKwkJICAgIChpbnRlbF9zdGF0ZS0+ZGV2X2NkY2xrICE9IGRldl9wcml2LT5jZGNsa19mcmVx IHx8CisJCSAgICBpbnRlbF9zdGF0ZS0+Y2RjbGtfcGxsX3ZjbyAhPSBkZXZfcHJpdi0+c2tsX3Zj b19mcmVxKSkKIAkJCWRldl9wcml2LT5kaXNwbGF5Lm1vZGVzZXRfY29tbWl0X2NkY2xrKHN0YXRl KTsKIAl9CiAKQEAgLTE0OTY0LDggKzE1MDM4LDEyIEBAIHN0YXRpYyB2b2lkIGludGVsX2luaXRf ZGlzcGxheShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQkJYnJveHRvbl9tb2Rlc2V0X2NvbW1p dF9jZGNsazsKIAkJZGV2X3ByaXYtPmRpc3BsYXkubW9kZXNldF9jYWxjX2NkY2xrID0KIAkJCWJy b3h0b25fbW9kZXNldF9jYWxjX2NkY2xrOworCX0gZWxzZSBpZiAoSVNfU0tZTEFLRShkZXYpIHx8 IElTX0tBQllMQUtFKGRldikpIHsKKwkJZGV2X3ByaXYtPmRpc3BsYXkubW9kZXNldF9jb21taXRf Y2RjbGsgPQorCQkJc2tsX21vZGVzZXRfY29tbWl0X2NkY2xrOworCQlkZXZfcHJpdi0+ZGlzcGxh eS5tb2Rlc2V0X2NhbGNfY2RjbGsgPQorCQkJc2tsX21vZGVzZXRfY2FsY19jZGNsazsKIAl9Ci0K IAlzd2l0Y2ggKElOVEVMX0lORk8oZGV2KS0+Z2VuKSB7CiAJY2FzZSAyOgogCQlkZXZfcHJpdi0+ ZGlzcGxheS5xdWV1ZV9mbGlwID0gaW50ZWxfZ2VuMl9xdWV1ZV9mbGlwOwpAQCAtMTU2NzIsNyAr MTU3NTAsOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9tb2Rlc2V0X3JlYWRvdXRfaHdfc3RhdGUoc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKIAkJaWYgKGNydGNfc3RhdGUtPmJhc2UuYWN0aXZlKSB7CiAJ CQlkZXZfcHJpdi0+YWN0aXZlX2NydGNzIHw9IDEgPDwgY3J0Yy0+cGlwZTsKIAotCQkJaWYgKElT X0JST0FEV0VMTChkZXZfcHJpdikpIHsKKwkJCWlmIChJU19CUk9BRFdFTEwoZGV2X3ByaXYpIHx8 IElTX1NLWUxBS0UoZGV2X3ByaXYpIHx8CisJCQkgICAgSVNfS0FCWUxBS0UoZGV2X3ByaXYpKSB7 CiAJCQkJcGl4Y2xrID0gaWxrX3BpcGVfcGl4ZWxfcmF0ZShjcnRjX3N0YXRlKTsKIAogCQkJCS8q IHBpeGVsIHJhdGUgbXVzdG4ndCBleGNlZWQgOTUlIG9mIGNkY2xrIHdpdGggSVBTIG9uIEJEVyAq LwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3IuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwbGxfbWdyLmMKaW5kZXggNGI2MzZjNC4uYTU2NDJi MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3IuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxsX21nci5jCkBAIC0xMTgzLDYgKzExODMs NyBAQCBza2xfZ2V0X2RwbGwoc3RydWN0IGludGVsX2NydGMgKmNydGMsIHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCXN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqcGxsOwog CXVpbnQzMl90IGN0cmwxLCBjZmdjcjEsIGNmZ2NyMjsKIAlpbnQgY2xvY2sgPSBjcnRjX3N0YXRl LT5wb3J0X2Nsb2NrOworCXVpbnQzMl90IHZjbyA9IDgxMDA7CiAKIAkvKgogCSAqIFNlZSBjb21t ZW50IGluIGludGVsX2RwbGxfaHdfc3RhdGUgdG8gdW5kZXJzdGFuZCB3aHkgd2UgYWx3YXlzIHVz ZSAwCkBAIC0xMjI1LDE3ICsxMjI2LDE3IEBAIHNrbF9nZXRfZHBsbChzdHJ1Y3QgaW50ZWxfY3J0 YyAqY3J0Yywgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCWNhc2UgMTYy MDAwOgogCQkJY3RybDEgfD0gRFBMTF9DVFJMMV9MSU5LX1JBVEUoRFBMTF9DVFJMMV9MSU5LX1JB VEVfMTYyMCwgMCk7CiAJCQlicmVhazsKLQkJLyogVEJEOiBGb3IgRFAgbGluayByYXRlcyAyLjE2 IEdIeiBhbmQgNC4zMiBHSHosIFZDTyBpcyA4NjQwIHdoaWNoCi0JCXJlc3VsdHMgaW4gQ0RDTEsg Y2hhbmdlLiBOZWVkIHRvIGhhbmRsZSB0aGUgY2hhbmdlIG9mIENEQ0xLIGJ5Ci0JCWRpc2FibGlu ZyBwaXBlcyBhbmQgcmUtZW5hYmxpbmcgdGhlbSAqLwogCQljYXNlIDEwODAwMDoKIAkJCWN0cmwx IHw9IERQTExfQ1RSTDFfTElOS19SQVRFKERQTExfQ1RSTDFfTElOS19SQVRFXzEwODAsIDApOwor CQkJdmNvID0gODY0MDsKIAkJCWJyZWFrOwogCQljYXNlIDIxNjAwMDoKIAkJCWN0cmwxIHw9IERQ TExfQ1RSTDFfTElOS19SQVRFKERQTExfQ1RSTDFfTElOS19SQVRFXzIxNjAsIDApOworCQkJdmNv ID0gODY0MDsKIAkJCWJyZWFrOwogCQl9CiAKKwkJdG9faW50ZWxfYXRvbWljX3N0YXRlKGNydGNf c3RhdGUtPmJhc2Uuc3RhdGUpLT5jZGNsa19wbGxfdmNvID0gdmNvOwogCQljZmdjcjEgPSBjZmdj cjIgPSAwOwogCX0gZWxzZSB7CiAJCXJldHVybiBOVUxMOwpAQCAtMTYyOCw3ICsxNjI5LDcgQEAg c3RhdGljIHZvaWQgaW50ZWxfZGRpX3BsbF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJ CWludCBjZGNsa19mcmVxOwogCiAJCWNkY2xrX2ZyZXEgPSBkZXZfcHJpdi0+ZGlzcGxheS5nZXRf ZGlzcGxheV9jbG9ja19zcGVlZChkZXYpOwotCQlkZXZfcHJpdi0+c2tsX2Jvb3RfY2RjbGsgPSBj ZGNsa19mcmVxOworCQlkZXZfcHJpdi0+c2tsX3Zjb19mcmVxID0gc2tsX2NkY2xrX2dldF92Y28o Y2RjbGtfZnJlcSk7CiAJCWlmIChza2xfc2FuaXRpemVfY2RjbGsoZGV2X3ByaXYpKQogCQkJRFJN X0RFQlVHX0tNUygiU2FuaXRpemVkIGNkY2xrIHByb2dyYW1tZWQgYnkgcHJlLW9zXG4iKTsKIAkJ aWYgKCEoSTkxNV9SRUFEKExDUExMMV9DVEwpICYgTENQTExfUExMX0VOQUJMRSkpCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oCmluZGV4IDAyYjNkMjIuLmIyM2IxMjkgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rydi5oCkBAIC0zMDEsNiArMzAxLDEwIEBAIHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUg ewogCSAqIGRvbid0IGJvdGhlciBjYWxjdWxhdGluZyBpbnRlcm1lZGlhdGUgd2F0ZXJtYXJrcy4K IAkgKi8KIAlib29sIHNraXBfaW50ZXJtZWRpYXRlX3dtOworCisJLyogU0tML0tCTCBPbmx5ICov CisJdW5zaWduZWQgaW50IGNkY2xrX3BsbF92Y287CisKIH07CiAKIHN0cnVjdCBpbnRlbF9wbGFu ZV9zdGF0ZSB7CkBAIC0xMjM5LDYgKzEyNDMsNyBAQCB2b2lkIGJ4dF9kaXNhYmxlX2RjOShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogdm9pZCBza2xfaW5pdF9jZGNsayhzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogaW50IHNrbF9zYW5pdGl6ZV9jZGNsayhz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogdm9pZCBza2xfdW5pbml0X2NkY2xr KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cit1bnNpZ25lZCBpbnQgc2tsX2Nk Y2xrX2dldF92Y28odW5zaWduZWQgaW50IGZyZXEpOwogdm9pZCBza2xfZW5hYmxlX2RjNihzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogdm9pZCBza2xfZGlzYWJsZV9kYzYoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIHZvaWQgaW50ZWxfZHBfZ2V0X21fbihz dHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKLS0gCjEuNy45LjUKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=