From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm/i915/skl: SKL CDCLK change on modeset tracking VCO Date: Wed, 9 Dec 2015 22:53:47 +0200 Message-ID: <20151209205347.GM4437@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 mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 575FB6E2D8 for ; Wed, 9 Dec 2015 12:54:05 -0800 (PST) Content-Disposition: inline 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: clinton.a.taylor@intel.com Cc: Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBEZWMgMDgsIDIwMTUgYXQgMDQ6MTU6MDVQTSAtMDgwMCwgY2xpbnRvbi5hLnRheWxv ckBpbnRlbC5jb20gd3JvdGU6Cj4gRnJvbTogQ2xpbnQgVGF5bG9yIDxjbGludG9uLmEudGF5bG9y QGludGVsLmNvbT4KPiAKPiBUcmFjayBWQ08gZnJlcXVlbmN5IG9mIFNLTCBpbnN0ZWFkIG9mIHRo ZSBib290IENEQ0xLIGFuZCBhbGxvdyBtb2Rlc2V0Cj4gdG8gc2V0IGNkY2xrIGJhc2VkIG9uIHRo ZSBtYXggcmVxdWlyZWQgcGl4ZWwgY2xvY2sgYmFzZWQgb24gVkNPCj4gc2VsZWN0ZWQuCj4gCj4g U2lnbmVkLW9mZi1ieTogQ2xpbnQgVGF5bG9yIDxjbGludG9uLmEudGF5bG9yQGludGVsLmNvbT4K PiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgIHwgICAgMiArLQo+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyAgICAgfCAgICAyICstCj4gIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8ICAgODMgKysrKysrKysrKysrKysrKysr KysrKysrKysrKystLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jICAgICAg fCAgICA5ICsrKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgIHwgICAg MSArCj4gIDUgZmlsZXMgY2hhbmdlZCwgODEgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0p Cj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gaW5kZXggZjFhOGE1My4uM2ZmNWFiZCAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IEBAIC0xNzc3LDcgKzE3NzcsNyBAQCBzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSB7Cj4gIAlpbnQgbnVtX2ZlbmNlX3JlZ3M7IC8qIDggb24gcHJlLTk2 NSwgMTYgb3RoZXJ3aXNlICovCj4gIAo+ICAJdW5zaWduZWQgaW50IGZzYl9mcmVxLCBtZW1fZnJl cSwgaXNfZGRyMzsKPiAtCXVuc2lnbmVkIGludCBza2xfYm9vdF9jZGNsazsKPiArCXVuc2lnbmVk IGludCBza2xfdmNvX2ZyZXE7Cj4gIAl1bnNpZ25lZCBpbnQgY2RjbGtfZnJlcSwgbWF4X2NkY2xr X2ZyZXE7Cj4gIAl1bnNpZ25lZCBpbnQgbWF4X2RvdGNsa19mcmVxOwo+ICAJdW5zaWduZWQgaW50 IGhwbGxfZnJlcTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRp LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+IGluZGV4IDVkMjBjNjQuLmI3 ODdkMDIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+IEBAIC0zMDE5LDcgKzMwMTks NyBAQCB2b2lkIGludGVsX2RkaV9wbGxfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJ CWludCBjZGNsa19mcmVxOwo+ICAKPiAgCQljZGNsa19mcmVxID0gZGV2X3ByaXYtPmRpc3BsYXku Z2V0X2Rpc3BsYXlfY2xvY2tfc3BlZWQoZGV2KTsKPiAtCQlkZXZfcHJpdi0+c2tsX2Jvb3RfY2Rj bGsgPSBjZGNsa19mcmVxOwo+ICsJCWRldl9wcml2LT5za2xfdmNvX2ZyZXEgPSBza2xfY2RjbGtf Z2V0X3ZjbyhjZGNsa19mcmVxKTsKPiAgCQlpZiAoc2tsX3Nhbml0aXplX2NkY2xrKGRldl9wcml2 KSkKPiAgCQkJRFJNX0RFQlVHX0tNUygiU2FuaXRpemVkIGNkY2xrIHByb2dyYW1tZWQgYnkgcHJl LW9zXG4iKTsKPiAgCQlpZiAoIShJOTE1X1JFQUQoTENQTEwxX0NUTCkgJiBMQ1BMTF9QTExfRU5B QkxFKSkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gaW5kZXggMmU4ZDFhOC4u ODUyZGQwOCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAtNTY3 MSw3ICs1NjcxLDcgQEAgc3RhdGljIHVuc2lnbmVkIGludCBza2xfY2RjbGtfZGVjaW1hbCh1bnNp Z25lZCBpbnQgZnJlcSkKPiAgCXJldHVybiAoZnJlcSAtIDEwMDApIC8gNTAwOwo+ICB9Cj4gIAo+ IC1zdGF0aWMgdW5zaWduZWQgaW50IHNrbF9jZGNsa19nZXRfdmNvKHVuc2lnbmVkIGludCBmcmVx KQo+ICt1bnNpZ25lZCBpbnQgc2tsX2NkY2xrX2dldF92Y28odW5zaWduZWQgaW50IGZyZXEpCj4g IHsKPiAgCXVuc2lnbmVkIGludCBpOwo+ICAKPiBAQCAtNTgyOSwxNyArNTgyOSwxNyBAQCB2b2lk IHNrbF91bmluaXRfY2RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAK PiAgdm9pZCBza2xfaW5pdF9jZGNsayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp Cj4gIHsKPiAtCXVuc2lnbmVkIGludCByZXF1aXJlZF92Y287Cj4gLQo+ICAJLyogRFBMTDAgbm90 IGVuYWJsZWQgKGhhcHBlbnMgb24gZWFybHkgQklPUyB2ZXJzaW9ucykgKi8KPiAgCWlmICghKEk5 MTVfUkVBRChMQ1BMTDFfQ1RMKSAmIExDUExMX1BMTF9FTkFCTEUpKSB7Cj4gIAkJLyogZW5hYmxl IERQTEwwICovCj4gLQkJcmVxdWlyZWRfdmNvID0gc2tsX2NkY2xrX2dldF92Y28oZGV2X3ByaXYt PnNrbF9ib290X2NkY2xrKTsKPiAtCQlza2xfZHBsbDBfZW5hYmxlKGRldl9wcml2LCByZXF1aXJl ZF92Y28pOwo+ICsJCWlmIChkZXZfcHJpdi0+c2tsX3Zjb19mcmVxICE9IDg2NDApIHsKPiArCQkJ ZGV2X3ByaXYtPnNrbF92Y29fZnJlcSA9IDgxMDA7Cj4gKwkJfQo+ICsJCXNrbF9kcGxsMF9lbmFi bGUoZGV2X3ByaXYsIGRldl9wcml2LT5za2xfdmNvX2ZyZXEpOwo+ICAJfQo+ICAKPiAgCS8qIHNl dCBDRENMSyB0byB0aGUgZnJlcXVlbmN5IHRoZSBCSU9TIGNob3NlICovCj4gLQlza2xfc2V0X2Nk Y2xrKGRldl9wcml2LCBkZXZfcHJpdi0+c2tsX2Jvb3RfY2RjbGspOwo+ICsJc2tsX3NldF9jZGNs ayhkZXZfcHJpdiwgKGRldl9wcml2LT5za2xfdmNvX2ZyZXEgPT0gODEwMCkgPyAzMzc1MDAgOiAz MDg1NzAgKTsKPiAgCj4gIAkvKiBlbmFibGUgREJVRiBwb3dlciAqLwo+ICAJSTkxNV9XUklURShE QlVGX0NUTCwgSTkxNV9SRUFEKERCVUZfQ1RMKSB8IERCVUZfUE9XRVJfUkVRVUVTVCk7Cj4gQEAg LTU4NTUsNyArNTg1NSw3IEBAIGludCBza2xfc2FuaXRpemVfY2RjbGsoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KQo+ICB7Cj4gIAl1aW50MzJfdCBsY3BsbDEgPSBJOTE1X1JFQUQo TENQTEwxX0NUTCk7Cj4gIAl1aW50MzJfdCBjZGN0bCA9IEk5MTVfUkVBRChDRENMS19DVEwpOwo+ IC0JaW50IGZyZXEgPSBkZXZfcHJpdi0+c2tsX2Jvb3RfY2RjbGs7Cj4gKwlpbnQgZnJlcSA9IGRl dl9wcml2LT5jZGNsa19mcmVxOwo+ICAKPiAgCS8qCj4gIAkgKiBjaGVjayBpZiB0aGUgcHJlLW9z IGludGlhbGl6ZWQgdGhlIGRpc3BsYXkKPiBAQCAtNTg3OSwxMSArNTg3OSw3IEBAIGludCBza2xf c2FuaXRpemVfY2RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAJCS8q IEFsbCB3ZWxsOyBub3RoaW5nIHRvIHNhbml0aXplICovCj4gIAkJcmV0dXJuIGZhbHNlOwo+ICBz YW5pdGl6ZToKPiAtCS8qCj4gLQkgKiBBcyBvZiBub3cgaW5pdGlhbGl6ZSB3aXRoIG1heCBjZGNs ayB0aWxsCj4gLQkgKiB3ZSBnZXQgZHluYW1pYyBjZGNsayBzdXBwb3J0Cj4gLQkgKiAqLwo+IC0J ZGV2X3ByaXYtPnNrbF9ib290X2NkY2xrID0gZGV2X3ByaXYtPm1heF9jZGNsa19mcmVxOwo+ICsK PiAgCXNrbF9pbml0X2NkY2xrKGRldl9wcml2KTsKPiAgCj4gIAkvKiB3ZSBkaWQgaGF2ZSB0byBz YW5pdGl6ZSAqLwo+IEBAIC05ODA1LDYgKzk4MDEsNjQgQEAgc3RhdGljIHZvaWQgYnJvYWR3ZWxs X21vZGVzZXRfY29tbWl0X2NkY2xrKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpvbGRfc3RhdGUp Cj4gIAlicm9hZHdlbGxfc2V0X2NkY2xrKGRldiwgcmVxX2NkY2xrKTsKPiAgfQo+ICAKPiArc3Rh dGljIGludCBza2xfbW9kZXNldF9jYWxjX2NkY2xrKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpz dGF0ZSkKPiArewo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShzdGF0ZS0+ZGV2KTsKPiArCWludCBtYXhfcGl4Y2xrID0gaWxrX21heF9waXhlbF9yYXRlKHN0 YXRlKTsKPiArCWludCBjZGNsazsKPiArCQo+ICsJLyoKPiArCSogRklYTUUgc2hvdWxkIGFsc28g YWNjb3VudCBmb3IgcGxhbmUgcmF0aW8KPiArCSogb25jZSA2NGJwcCBwaXhlbCBmb3JtYXRzIGFy ZSBzdXBwb3J0ZWQuCj4gKwkqLwo+ICsKPiArCWlmIChkZXZfcHJpdi0+c2tsX3Zjb19mcmVxID09 IDg2NDApIHsKPiArCQkvKiB2Y28gODY0MCAqLwo+ICsJCWlmIChtYXhfcGl4Y2xrID4gNTQwMDAw KQo+ICsJCQljZGNsayA9IDYxNzE0MDsKPiArCQllbHNlIGlmIChtYXhfcGl4Y2xrID4gNDMyMDAw KQo+ICsJCQljZGNsayA9IDU0MDAwMDsKPiArCQllbHNlIGlmIChtYXhfcGl4Y2xrID4gMzA4NTcw KQo+ICsJCQljZGNsayA9IDQzMjAwMDsKPiArCQllbHNlCj4gKwkJCWNkY2xrID0gMzA4NTcwOwo+ ICsJfQo+ICsJZWxzZSB7Cj4gKwkJLyogVkNPIDgxMDAgKi8KPiArCQlpZiAobWF4X3BpeGNsayA+ IDU0MDAwMCkKPiArCQkJY2RjbGsgPSA2NzUwMDA7Cj4gKwkJZWxzZSBpZiAobWF4X3BpeGNsayA+ IDQ1MDAwMCkKPiArCQkJY2RjbGsgPSA1NDAwMDA7Cj4gKwkJZWxzZSBpZiAobWF4X3BpeGNsayA+ IDMzNzUwMCkKPiArCQkJY2RjbGsgPSA0NTAwMDA7Cj4gKwkJZWxzZQo+ICsJCQljZGNsayA9IDMz NzUwMDsKPiArCX0KPiArCj4gKwkvKgo+ICsJICogRklYTUUgbW92ZSB0aGUgY2RjbGsgY2FjbHVs YXRpb24gdG8KPiArCSAqIGNvbXB1dGVfY29uZmlnKCkgc28gd2UgY2FuIGZhaWwgZ3JhY2VndWxs eS4KPiArCSAqLwo+ICsJaWYgKGNkY2xrID4gZGV2X3ByaXYtPm1heF9jZGNsa19mcmVxKSB7Cj4g KwkJRFJNX0VSUk9SKCJyZXF1ZXN0ZWQgY2RjbGsgKCVkIGtIeikgZXhjZWVkcyBtYXggKCVkIGtI eilcbiIsCj4gKwkJCSAgY2RjbGssIGRldl9wcml2LT5tYXhfY2RjbGtfZnJlcSk7Cj4gKwkJY2Rj bGsgPSBkZXZfcHJpdi0+bWF4X2NkY2xrX2ZyZXE7Cj4gKwl9Cj4gKwo+ICsJdG9faW50ZWxfYXRv bWljX3N0YXRlKHN0YXRlKS0+Y2RjbGsgPSBjZGNsazsKPiArCj4gKwlyZXR1cm4gMDsKPiArfQo+ ICsKPiArc3RhdGljIHZvaWQgc2tsX21vZGVzZXRfY29tbWl0X2NkY2xrKHN0cnVjdCBkcm1fYXRv bWljX3N0YXRlICpvbGRfc3RhdGUpCj4gK3sKPiArCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBv bGRfc3RhdGUtPmRldjsKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRl di0+ZGV2X3ByaXZhdGU7Cj4gKwl1bnNpZ25lZCBpbnQgcmVxX2NkY2xrID0gdG9faW50ZWxfYXRv bWljX3N0YXRlKG9sZF9zdGF0ZSktPmNkY2xrOwo+ICsKPiArCXNrbF9zZXRfY2RjbGsoZGV2X3By aXYsIHJlcV9jZGNsayk7Cj4gK30KPiArCj4gIHN0YXRpYyBpbnQgaGFzd2VsbF9jcnRjX2NvbXB1 dGVfY2xvY2soc3RydWN0IGludGVsX2NydGMgKmNydGMsCj4gIAkJCQkgICAgICBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiAgewo+IEBAIC0xNDk0NSw2ICsxNDk5OSwxMSBA QCBzdGF0aWMgdm9pZCBpbnRlbF9pbml0X2Rpc3BsYXkoc3RydWN0IGRybV9kZXZpY2UgKmRldikK PiAgCQkJYnJveHRvbl9tb2Rlc2V0X2NvbW1pdF9jZGNsazsKPiAgCQlkZXZfcHJpdi0+ZGlzcGxh eS5tb2Rlc2V0X2NhbGNfY2RjbGsgPQo+ICAJCQlicm94dG9uX21vZGVzZXRfY2FsY19jZGNsazsK PiArCX0gZWxzZSBpZiAoSVNfU0tZTEFLRShkZXYpIHx8IElTX0tBQllMQUtFKGRldikpIHsKPiAr CQlkZXZfcHJpdi0+ZGlzcGxheS5tb2Rlc2V0X2NvbW1pdF9jZGNsayA9Cj4gKwkJCXNrbF9tb2Rl c2V0X2NvbW1pdF9jZGNsazsKPiArCQlkZXZfcHJpdi0+ZGlzcGxheS5tb2Rlc2V0X2NhbGNfY2Rj bGsgPQo+ICsJCQlza2xfbW9kZXNldF9jYWxjX2NkY2xrOwo+ICAJfQo+ICAKPiAgCXN3aXRjaCAo SU5URUxfSU5GTyhkZXYpLT5nZW4pIHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiBpbmRleCBm MzM1YzkyLi5lODdhZGNiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gQEAgLTEyMjAs OSArMTIyMCwxMCBAQCBpbnRlbF9kcF9jb25uZWN0b3JfdW5yZWdpc3RlcihzdHJ1Y3QgaW50ZWxf Y29ubmVjdG9yICppbnRlbF9jb25uZWN0b3IpCj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lkCj4gLXNr bF9lZHBfc2V0X3BsbF9jb25maWcoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmln KQo+ICtza2xfZWRwX3NldF9wbGxfY29uZmlnKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQo+ICB7Cj4gIAl1MzIg Y3RybDE7Cj4gKwl1MzIgdmNvID0gODEwMDsKPiAgCj4gIAltZW1zZXQoJnBpcGVfY29uZmlnLT5k cGxsX2h3X3N0YXRlLCAwLAo+ICAJICAgICAgIHNpemVvZihwaXBlX2NvbmZpZy0+ZHBsbF9od19z dGF0ZSkpOwo+IEBAIC0xMjU1LDEzICsxMjU2LDE3IEBAIHNrbF9lZHBfc2V0X3BsbF9jb25maWco c3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQo+ICAJY2FzZSAxMDgwMDA6Cj4g IAkJY3RybDEgfD0gRFBMTF9DVFJMMV9MSU5LX1JBVEUoRFBMTF9DVFJMMV9MSU5LX1JBVEVfMTA4 MCwKPiAgCQkJCQkgICAgICBTS0xfRFBMTDApOwo+ICsJCXZjbyA9IDg2NDA7Cj4gIAkJYnJlYWs7 Cj4gIAljYXNlIDIxNjAwMDoKPiAgCQljdHJsMSB8PSBEUExMX0NUUkwxX0xJTktfUkFURShEUExM X0NUUkwxX0xJTktfUkFURV8yMTYwLAo+ICAJCQkJCSAgICAgIFNLTF9EUExMMCk7Cj4gKwkJdmNv ID0gODY0MDsKPiAgCQlicmVhazsKPiAgCj4gIAl9Cj4gKwo+ICsJZGV2X3ByaXYtPnNrbF92Y29f ZnJlcSA9IHZjbzsKCkkgdGhpbmsgd2Ugd291bGQgbmVlZCB0byBpbmNsdWRlIHRoaXMgYWxzbyBp biB0aGUgcGlwZV9jb25maWcsIGNvbXB1dGUKdGhhdCBpbiBpbnRlbF9kcF9jb21wdXRlX2NvbmZp ZygpIGJhc2VkIG9uIHRoZSByZXF1aXJlZCBsaW5rIGZyZXF1ZW5jeSwKYW5kIHRoZW4gdXNlIHRo YXQgaW4gdGhlIGNhbGNfY2RjbGsgZnVuY3Rpb24uIFRoYXQgd2F5IHdlJ2xsIGNvbXB1dGUgdGhl CnJpZ2h0IGNkY2xrLCBhbmQgZm9yY2UgYSBtb2Rlc2V0IGFjcm9zcyBhbGwgcGlwZXMgaWYgaXQg bmVlZHMgdG8gY2hhbmdlLgoKT25lIGV4dHJhIGNvbXBsaWNhdGlvbiBpcyB0aGF0IGluIHRoZW9y eSB3ZSdsbCBuZWVkIHRvIGFjY291bnQgZm9yIGFsbAp0aGUgcGlwZSdzIGNvbXB1dGVkIHZjbyBm cmVxdWVuY3kuIEZvciBub24tZURQIEkgdGhpbmsgd2UnbGwgd2FudCB0aGUKY29tcHV0ZV9jb25m aWcgdG8gc2V0IHRoZSBwaXBlX2NvbmZpZyBlYXJnZXQgdmNvIHRvIDAsIGFuZCB3ZSdsbCB0YWtl CnRoYXQgdG8gbWVhbiAiZG9uJ3QgY2FyZSIuIFRoZW4gdGhlIGNkY2xrIGNvbXB1dGF0aW9uIGNh biBmaXJzdCB3YWxrCmFsbCB0aGUgY3J0YyBzdGF0ZXMgKGxpa2UgaWxrX21heF9waXhlbF9yYXRl KCkpIHRvIGZpbmQgdGhlIGFjdHVhbApyZXF1ZXN0ZWQgdmNvIChhbmQgaWYgdGhhdCdzIDAsIHRo ZW4gd2UgY2FuIGtlZXAgdXNpbmcgdGhlIGN1cnJlbnQKdmNvKSwgYWJvcnRpbmcgaWYgdGhlcmUn cyBhIGNvbmZsaWN0IGJldHdlZW4gdHdvIHN0YXRlcy4gV2UgY2FuIHRoZW4Kc3R1ZmYgdGhlIHJl c3VsdCBpbnRvIHRoZSB0b3AgbGV2ZWwgaW50ZWxfYXRvbWljX3N0YXRlIGZvciBsYXRlciB1c2UK bGlrZSB3ZSBkbyB3aXRoIHRoZSBjZGNsay4KCmludGVsX21vZGVzZXRfY2hlY2tzKCkgd2lsbCB0 aGVuIGhhdmUgdG8gY2hlY2sgaWYgZGV2X3ByaXYtPnNrbF92Y29fZnJlcQpkaWZmZXJzIGZyb20g dGhlIG9uZSB3ZSBjb21wdXRlZCBzbyB0aGF0IHdlJ2xsIGFsc28gZm9yY2UgYSBtb2Rlc2V0IGlu CmNhc2UgY2RjbGsgcmVtYWlucyB0aGUgc2FtZSBidXQgdGhlIHZjbyBtdXN0IGJlIGNoYW5nZWQg KG5lZWRlZCBzaW5jZQo1NDBNSHogY2FuIGJlIGRvbmUgd2l0aCBlaXRoZXIgdmNvKS4KClRoZW4g b25jZSB3ZSBhY3R1YWxseSBzZXQgdGhlIGNkY2xrIHdlIGFsc28gdXBkYXRlCmRldl9wcml2LT5z a2xfdmNvX2ZyZXEgd2l0aCB3aGF0ZXZlciB3ZSBjYWxjdWxhdGVkLiBBY3R1YWxseSB3ZSBzaG91 bGQKaGFuZGtlIGl0IHNhbWUgd2F5IHdlIGhhbmRsZSBjZGNsaywgYW5kIGFjdHVhbGx5IHJlYWQg aXQgb3V0IGZyb20gRFBMTDAuCgo+ICAJcGlwZV9jb25maWctPmRwbGxfaHdfc3RhdGUuY3RybDEg PSBjdHJsMTsKPiAgfQo+ICAKPiBAQCAtMTY0Miw3ICsxNjQ3LDcgQEAgZm91bmQ6Cj4gIAl9Cj4g IAo+ICAJaWYgKChJU19TS1lMQUtFKGRldikgIHx8IElTX0tBQllMQUtFKGRldikpICYmIGlzX2Vk cChpbnRlbF9kcCkpCj4gLQkJc2tsX2VkcF9zZXRfcGxsX2NvbmZpZyhwaXBlX2NvbmZpZyk7Cj4g KwkJc2tsX2VkcF9zZXRfcGxsX2NvbmZpZyhkZXZfcHJpdiwgcGlwZV9jb25maWcpOwo+ICAJZWxz ZSBpZiAoSVNfQlJPWFRPTihkZXYpKQo+ICAJCS8qIGhhbmRsZWQgaW4gZGRpICovOwo+ICAJZWxz ZSBpZiAoSVNfSEFTV0VMTChkZXYpIHx8IElTX0JST0FEV0VMTChkZXYpKQo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rydi5oCj4gaW5kZXggODk2M2E4YS4uNTU0ZDU4NyAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rydi5oCj4gQEAgLTExODIsNiArMTE4Miw3IEBAIHZvaWQgYnh0X2Rpc2FibGVfZGM5 KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4gIHZvaWQgc2tsX2luaXRfY2Rj bGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPiAgaW50IHNrbF9zYW5pdGl6 ZV9jZGNsayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ICB2b2lkIHNrbF91 bmluaXRfY2RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPiArdW5zaWdu ZWQgaW50IHNrbF9jZGNsa19nZXRfdmNvKHVuc2lnbmVkIGludCBmcmVxKTsKPiAgdm9pZCBza2xf ZW5hYmxlX2RjNihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ICB2b2lkIHNr bF9kaXNhYmxlX2RjNihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ICB2b2lk IGludGVsX2RwX2dldF9tX24oc3RydWN0IGludGVsX2NydGMgKmNydGMsCj4gLS0gCj4gMS43Ljku NQo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4g SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK PiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 CgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVsIE9UQwpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=