From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH V7] drm/i915/skl: SKL CDCLK change on modeset tracking VCO Date: Wed, 17 Feb 2016 18:56:23 +0200 Message-ID: <20160217165623.GI23290@intel.com> References: <1449620105-32754-1-git-send-email-clinton.a.taylor@intel.com> <1455644695-25174-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 B20606EA3D for ; Wed, 17 Feb 2016 16:56:32 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1455644695-25174-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 T24gVHVlLCBGZWIgMTYsIDIwMTYgYXQgMDk6NDQ6NTVBTSAtMDgwMCwgY2xpbnRvbi5hLnRheWxv ckBpbnRlbC5jb20gd3JvdGU6Cj4gRnJvbTogQ2xpbnQgVGF5bG9yIDxjbGludG9uLmEudGF5bG9y QGludGVsLmNvbT4KPiAKPiBTZXQgY2RjbGsgYmFzZWQgb24gdGhlIG1heCByZXF1aXJlZCBwaXhl bCBjbG9jayBiYXNlZCBvbiBWQ08KPiBzZWxlY3RlZC4gVHJhY2sgYm9vdCB2Y28gaW5zdGVhZCBv ZiBib290IGNkY2xrLgo+IAo+IFRoZSB2Y28gaXMgbm93IHRyYWNrZWQgYXQgdGhlIGF0b21pYyBs ZXZlbCBhbmQgYWxsIENSVENzIHVwZGF0ZWQgaWYKPiB0aGUgcmVxdWlyZWQgdmNvIGlzIGNoYW5n ZWQuIE5vdCB0ZXN0ZWQgd2l0aCBlRFAgdjEuNCBwYW5lbHMgdGhhdAo+IHJlcXVpcmUgODY0MCB2 Y28gZHVlIHRvIGF2YWlsYWJpbGl0eS4KPiAKPiBWMTogaW5pdGlhbCB2ZXJzaW9uCj4gVjI6IGFk ZCB2Y28gdHJhY2tpbmcgaW4gaW50ZWxfZHBfY29tcHV0ZV9jb25maWcoKSwgcmVuYW1lCj4gc2ts X2Jvb3RfY2RjbGsuCj4gVjM6IHJlYmFzZSwgVjIgZmVlZGJhY2sgbm90IHBvc3NpYmxlIGFzIGVu Y29kZXJzIGFyZSBub3QgYXdhcmUgb2YKPiBhdG9taWMuCj4gVjQ6IHRyYWNrIHRhcmdldCB2Y28g aXMgYXRvbWljIHN0YXRlLiBtb2Rlc2V0IGFsbCBDUlRDcyBpZiB2Y28gY2hhbmdlcwo+IFY1OiBy ZW5hbWUgYXRvbWljIHZhcmlhYmxlLCBjbGVhbmVyIGlmL2Vsc2UgbG9naWMsIHVzZSBleGlzdGlu ZyB2Y28gaWYKPiAgICAgZW5jb2RlciBkb2VzIG5vdCByZXR1cm4gYSBuZXcgdmNvIHZhbHVlLiBj aGVja19wYXRjaC5wbCBjbGVhbnVwCj4gVjY6IHNpbXBsaWZ5IGxvZ2ljIGluIGludGVsX21vZGVz ZXRfY2hlY2tzLgo+IFY3OiByZW9yZGVyIGFuIElGIGZvciByZWFkYWJpbGl0eSBhbmQgd2hpdGVz cGFjZSBmaXguCj4gCj4gU2lnbmVkLW9mZi1ieTogQ2xpbnQgVGF5bG9yIDxjbGludG9uLmEudGF5 bG9yQGludGVsLmNvbT4KPiBDYzogVmlsbGUgPT9pc28tODg1OS0xP1E/U3lyaj1FNGw9RTQ/PSA8 dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+CgpMb29rcyBwcmV0dHkgZ29vZCB0byBtZS4K UmV2aWV3ZWQtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5j b20+Cgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgfCAgICAy ICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jICAgICB8ICAgIDIgKy0KPiAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgIDEwMiArKysrKysrKysrKysr KysrKysrKysrKysrKysrKy0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMg ICAgICB8ICAgIDYgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgIHwg ICAgNCArKwo+ICA1IGZpbGVzIGNoYW5nZWQsIDk5IGluc2VydGlvbnMoKyksIDE3IGRlbGV0aW9u cygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IGluZGV4IDgyMTY2NjUuLmY2NWRkMWEg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBAQCAtMTgyMiw3ICsxODIyLDcgQEAgc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgewo+ICAJaW50IG51bV9mZW5jZV9yZWdzOyAvKiA4IG9uIHBy ZS05NjUsIDE2IG90aGVyd2lzZSAqLwo+ICAKPiAgCXVuc2lnbmVkIGludCBmc2JfZnJlcSwgbWVt X2ZyZXEsIGlzX2RkcjM7Cj4gLQl1bnNpZ25lZCBpbnQgc2tsX2Jvb3RfY2RjbGs7Cj4gKwl1bnNp Z25lZCBpbnQgc2tsX3Zjb19mcmVxOwo+ICAJdW5zaWduZWQgaW50IGNkY2xrX2ZyZXEsIG1heF9j ZGNsa19mcmVxLCBhdG9taWNfY2RjbGtfZnJlcTsKPiAgCXVuc2lnbmVkIGludCBtYXhfZG90Y2xr X2ZyZXE7Cj4gIAl1bnNpZ25lZCBpbnQgaHBsbF9mcmVxOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rk aS5jCj4gaW5kZXggNmQ1YjA5Zi4uMjg1YWRhYiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kZGkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rk aS5jCj4gQEAgLTI5NTgsNyArMjk1OCw3IEBAIHZvaWQgaW50ZWxfZGRpX3BsbF9pbml0KHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpCj4gIAkJaW50IGNkY2xrX2ZyZXE7Cj4gIAo+ICAJCWNkY2xrX2Zy ZXEgPSBkZXZfcHJpdi0+ZGlzcGxheS5nZXRfZGlzcGxheV9jbG9ja19zcGVlZChkZXYpOwo+IC0J CWRldl9wcml2LT5za2xfYm9vdF9jZGNsayA9IGNkY2xrX2ZyZXE7Cj4gKwkJZGV2X3ByaXYtPnNr bF92Y29fZnJlcSA9IHNrbF9jZGNsa19nZXRfdmNvKGNkY2xrX2ZyZXEpOwo+ICAJCWlmIChza2xf c2FuaXRpemVfY2RjbGsoZGV2X3ByaXYpKQo+ICAJCQlEUk1fREVCVUdfS01TKCJTYW5pdGl6ZWQg Y2RjbGsgcHJvZ3JhbW1lZCBieSBwcmUtb3NcbiIpOwo+ICAJCWlmICghKEk5MTVfUkVBRChMQ1BM TDFfQ1RMKSAmIExDUExMX1BMTF9FTkFCTEUpKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNw bGF5LmMKPiBpbmRleCA5ZTIyNzNiLi5lMTE4Y2UwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYwo+IEBAIC01NjYzLDcgKzU2NjMsNyBAQCBzdGF0aWMgdW5zaWduZWQgaW50 IHNrbF9jZGNsa19kZWNpbWFsKHVuc2lnbmVkIGludCBmcmVxKQo+ICAJcmV0dXJuIChmcmVxIC0g MTAwMCkgLyA1MDA7Cj4gIH0KPiAgCj4gLXN0YXRpYyB1bnNpZ25lZCBpbnQgc2tsX2NkY2xrX2dl dF92Y28odW5zaWduZWQgaW50IGZyZXEpCj4gK3Vuc2lnbmVkIGludCBza2xfY2RjbGtfZ2V0X3Zj byh1bnNpZ25lZCBpbnQgZnJlcSkKPiAgewo+ICAJdW5zaWduZWQgaW50IGk7Cj4gIAo+IEBAIC01 ODIxLDE3ICs1ODIxLDIxIEBAIHZvaWQgc2tsX3VuaW5pdF9jZGNsayhzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAo+ICB2b2lkIHNrbF9pbml0X2NkY2xrKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgewo+IC0JdW5zaWduZWQgaW50IHJlcXVpcmVkX3Zj bzsKPiArCXVuc2lnbmVkIGludCBjZGNsazsKPiAgCj4gIAkvKiBEUExMMCBub3QgZW5hYmxlZCAo aGFwcGVucyBvbiBlYXJseSBCSU9TIHZlcnNpb25zKSAqLwo+ICAJaWYgKCEoSTkxNV9SRUFEKExD UExMMV9DVEwpICYgTENQTExfUExMX0VOQUJMRSkpIHsKPiAgCQkvKiBlbmFibGUgRFBMTDAgKi8K PiAtCQlyZXF1aXJlZF92Y28gPSBza2xfY2RjbGtfZ2V0X3ZjbyhkZXZfcHJpdi0+c2tsX2Jvb3Rf Y2RjbGspOwo+IC0JCXNrbF9kcGxsMF9lbmFibGUoZGV2X3ByaXYsIHJlcXVpcmVkX3Zjbyk7Cj4g KwkJaWYgKGRldl9wcml2LT5za2xfdmNvX2ZyZXEgIT0gODY0MCkKPiArCQkJZGV2X3ByaXYtPnNr bF92Y29fZnJlcSA9IDgxMDA7Cj4gKwkJc2tsX2RwbGwwX2VuYWJsZShkZXZfcHJpdiwgZGV2X3By aXYtPnNrbF92Y29fZnJlcSk7Cj4gKwkJY2RjbGsgPSAoKGRldl9wcml2LT5za2xfdmNvX2ZyZXEg PT0gODEwMCkgPyAzMzc1MDAgOiAzMDg1NzApOwo+ICsJfSBlbHNlIHsKPiArCQljZGNsayA9IGRl dl9wcml2LT5jZGNsa19mcmVxOwo+ICAJfQo+ICAKPiAtCS8qIHNldCBDRENMSyB0byB0aGUgZnJl cXVlbmN5IHRoZSBCSU9TIGNob3NlICovCj4gLQlza2xfc2V0X2NkY2xrKGRldl9wcml2LCBkZXZf cHJpdi0+c2tsX2Jvb3RfY2RjbGspOwo+ICsJLyogc2V0IENEQ0xLIHRvIHRoZSBsb3dlc3QgZnJl cXVlbmN5LCBNb2Rlc2V0IGZvbGxvd3MgKi8KPiArCXNrbF9zZXRfY2RjbGsoZGV2X3ByaXYsIGNk Y2xrKTsKPiAgCj4gIAkvKiBlbmFibGUgREJVRiBwb3dlciAqLwo+ICAJSTkxNV9XUklURShEQlVG X0NUTCwgSTkxNV9SRUFEKERCVUZfQ1RMKSB8IERCVUZfUE9XRVJfUkVRVUVTVCk7Cj4gQEAgLTU4 NDcsNyArNTg1MSw3IEBAIGludCBza2xfc2FuaXRpemVfY2RjbGsoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2KQo+ICB7Cj4gIAl1aW50MzJfdCBsY3BsbDEgPSBJOTE1X1JFQUQoTENQ TEwxX0NUTCk7Cj4gIAl1aW50MzJfdCBjZGN0bCA9IEk5MTVfUkVBRChDRENMS19DVEwpOwo+IC0J aW50IGZyZXEgPSBkZXZfcHJpdi0+c2tsX2Jvb3RfY2RjbGs7Cj4gKwlpbnQgZnJlcSA9IGRldl9w cml2LT5jZGNsa19mcmVxOwo+ICAKPiAgCS8qCj4gIAkgKiBjaGVjayBpZiB0aGUgcHJlLW9zIGlu dGlhbGl6ZWQgdGhlIGRpc3BsYXkKPiBAQCAtNTg3MSwxMSArNTg3NSw3IEBAIGludCBza2xfc2Fu aXRpemVfY2RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAJCS8qIEFs bCB3ZWxsOyBub3RoaW5nIHRvIHNhbml0aXplICovCj4gIAkJcmV0dXJuIGZhbHNlOwo+ICBzYW5p dGl6ZToKPiAtCS8qCj4gLQkgKiBBcyBvZiBub3cgaW5pdGlhbGl6ZSB3aXRoIG1heCBjZGNsayB0 aWxsCj4gLQkgKiB3ZSBnZXQgZHluYW1pYyBjZGNsayBzdXBwb3J0Cj4gLQkgKiAqLwo+IC0JZGV2 X3ByaXYtPnNrbF9ib290X2NkY2xrID0gZGV2X3ByaXYtPm1heF9jZGNsa19mcmVxOwo+ICsKPiAg CXNrbF9pbml0X2NkY2xrKGRldl9wcml2KTsKPiAgCj4gIAkvKiB3ZSBkaWQgaGF2ZSB0byBzYW5p dGl6ZSAqLwo+IEBAIC05ODQ1LDYgKzk4NDUsNjggQEAgc3RhdGljIHZvaWQgYnJvYWR3ZWxsX21v ZGVzZXRfY29tbWl0X2NkY2xrKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpvbGRfc3RhdGUpCj4g IAlicm9hZHdlbGxfc2V0X2NkY2xrKGRldiwgcmVxX2NkY2xrKTsKPiAgfQo+ICAKPiArc3RhdGlj IGludCBza2xfbW9kZXNldF9jYWxjX2NkY2xrKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0 ZSkKPiArewo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShz dGF0ZS0+ZGV2KTsKPiArCWNvbnN0IGludCBtYXhfcGl4Y2xrID0gaWxrX21heF9waXhlbF9yYXRl KHN0YXRlKTsKPiArCWludCBjZGNsazsKPiArCj4gKwkvKgo+ICsJICogRklYTUUgc2hvdWxkIGFs c28gYWNjb3VudCBmb3IgcGxhbmUgcmF0aW8KPiArCSAqIG9uY2UgNjRicHAgcGl4ZWwgZm9ybWF0 cyBhcmUgc3VwcG9ydGVkLgo+ICsJICovCj4gKwo+ICsJaWYgKHRvX2ludGVsX2F0b21pY19zdGF0 ZShzdGF0ZSktPmNkY2xrX3BsbF92Y28gPT0gODY0MCkgewo+ICsJCS8qIHZjbyA4NjQwICovCj4g KwkJaWYgKG1heF9waXhjbGsgPiA1NDAwMDApCj4gKwkJCWNkY2xrID0gNjE3MTQwOwo+ICsJCWVs c2UgaWYgKG1heF9waXhjbGsgPiA0MzIwMDApCj4gKwkJCWNkY2xrID0gNTQwMDAwOwo+ICsJCWVs c2UgaWYgKG1heF9waXhjbGsgPiAzMDg1NzApCj4gKwkJCWNkY2xrID0gNDMyMDAwOwo+ICsJCWVs c2UKPiArCQkJY2RjbGsgPSAzMDg1NzA7Cj4gKwl9IGVsc2Ugewo+ICsJCS8qIFZDTyA4MTAwICov Cj4gKwkJaWYgKG1heF9waXhjbGsgPiA1NDAwMDApCj4gKwkJCWNkY2xrID0gNjc1MDAwOwo+ICsJ CWVsc2UgaWYgKG1heF9waXhjbGsgPiA0NTAwMDApCj4gKwkJCWNkY2xrID0gNTQwMDAwOwo+ICsJ CWVsc2UgaWYgKG1heF9waXhjbGsgPiAzMzc1MDApCj4gKwkJCWNkY2xrID0gNDUwMDAwOwo+ICsJ CWVsc2UKPiArCQkJY2RjbGsgPSAzMzc1MDA7Cj4gKwl9Cj4gKwo+ICsJLyoKPiArCSAqIEZJWE1F IG1vdmUgdGhlIGNkY2xrIGNhY2x1bGF0aW9uIHRvCj4gKwkgKiBjb21wdXRlX2NvbmZpZygpIHNv IHdlIGNhbiBmYWlsIGdyYWNlZ3VsbHkuCj4gKwkgKi8KPiArCWlmIChjZGNsayA+IGRldl9wcml2 LT5tYXhfY2RjbGtfZnJlcSkgewo+ICsJCURSTV9FUlJPUigicmVxdWVzdGVkIGNkY2xrICglZCBr SHopIGV4Y2VlZHMgbWF4ICglZCBrSHopXG4iLAo+ICsJCQkgIGNkY2xrLCBkZXZfcHJpdi0+bWF4 X2NkY2xrX2ZyZXEpOwo+ICsJCWNkY2xrID0gZGV2X3ByaXYtPm1heF9jZGNsa19mcmVxOwo+ICsJ fQo+ICsKPiArCXRvX2ludGVsX2F0b21pY19zdGF0ZShzdGF0ZSktPmNkY2xrID0gY2RjbGs7Cj4g Kwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIHNrbF9tb2Rlc2V0X2NvbW1p dF9jZGNsayhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqb2xkX3N0YXRlKQo+ICt7Cj4gKwlzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2ID0gb2xkX3N0YXRlLT5kZXY7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICsJdW5zaWduZWQgaW50IHJl cV9jZGNsayA9IHRvX2ludGVsX2F0b21pY19zdGF0ZShvbGRfc3RhdGUpLT5jZGNsazsKPiArCj4g KwkvKgo+ICsJICogRklYTUUgZGlzYWJsZS9lbmFibGUgUExMIHNob3VsZCB3cmFwIHNldF9jZGNs aygpCj4gKwkgKi8KPiArCXNrbF9zZXRfY2RjbGsoZGV2X3ByaXYsIHJlcV9jZGNsayk7Cj4gKwo+ ICsJZGV2X3ByaXYtPnNrbF92Y29fZnJlcSA9IHRvX2ludGVsX2F0b21pY19zdGF0ZShvbGRfc3Rh dGUpLT5jZGNsa19wbGxfdmNvOwo+ICt9Cj4gKwo+ICBzdGF0aWMgaW50IGhhc3dlbGxfY3J0Y19j b21wdXRlX2Nsb2NrKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAo+ICAJCQkJICAgICAgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gIHsKPiBAQCAtMTMyNDgsOSArMTMzMTAs MTUgQEAgc3RhdGljIGludCBpbnRlbF9tb2Rlc2V0X2NoZWNrcyhzdHJ1Y3QgZHJtX2F0b21pY19z dGF0ZSAqc3RhdGUpCj4gIAkgKiBhZGp1c3RlZF9tb2RlIGJpdHMgaW4gdGhlIGNydGMgZGlyZWN0 bHkuCj4gIAkgKi8KPiAgCWlmIChkZXZfcHJpdi0+ZGlzcGxheS5tb2Rlc2V0X2NhbGNfY2RjbGsp IHsKPiArCQlpZiAoIWludGVsX3N0YXRlLT5jZGNsa19wbGxfdmNvKQo+ICsJCQlpbnRlbF9zdGF0 ZS0+Y2RjbGtfcGxsX3ZjbyA9IGRldl9wcml2LT5za2xfdmNvX2ZyZXE7Cj4gKwo+ICAJCXJldCA9 IGRldl9wcml2LT5kaXNwbGF5Lm1vZGVzZXRfY2FsY19jZGNsayhzdGF0ZSk7Cj4gKwkJaWYgKHJl dCA8IDApCj4gKwkJCXJldHVybiByZXQ7Cj4gIAo+IC0JCWlmICghcmV0ICYmIGludGVsX3N0YXRl LT5kZXZfY2RjbGsgIT0gZGV2X3ByaXYtPmNkY2xrX2ZyZXEpCj4gKwkJaWYgKGludGVsX3N0YXRl LT5kZXZfY2RjbGsgIT0gZGV2X3ByaXYtPmNkY2xrX2ZyZXEgfHwKPiArCQkgICAgaW50ZWxfc3Rh dGUtPmNkY2xrX3BsbF92Y28gIT0gZGV2X3ByaXYtPnNrbF92Y29fZnJlcSkKPiAgCQkJcmV0ID0g aW50ZWxfbW9kZXNldF9hbGxfcGlwZXMoc3RhdGUpOwo+ICAKPiAgCQlpZiAocmV0IDwgMCkKPiBA QCAtMTUwMDIsNiArMTUwNzAsMTEgQEAgc3RhdGljIHZvaWQgaW50ZWxfaW5pdF9kaXNwbGF5KHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAkJCWJyb3h0b25fbW9kZXNldF9jb21taXRfY2RjbGs7 Cj4gIAkJZGV2X3ByaXYtPmRpc3BsYXkubW9kZXNldF9jYWxjX2NkY2xrID0KPiAgCQkJYnJveHRv bl9tb2Rlc2V0X2NhbGNfY2RjbGs7Cj4gKwl9IGVsc2UgaWYgKElTX1NLWUxBS0UoZGV2KSB8fCBJ U19LQUJZTEFLRShkZXYpKSB7Cj4gKwkJZGV2X3ByaXYtPmRpc3BsYXkubW9kZXNldF9jb21taXRf Y2RjbGsgPQo+ICsJCQlza2xfbW9kZXNldF9jb21taXRfY2RjbGs7Cj4gKwkJZGV2X3ByaXYtPmRp c3BsYXkubW9kZXNldF9jYWxjX2NkY2xrID0KPiArCQkJc2tsX21vZGVzZXRfY2FsY19jZGNsazsK PiAgCX0KPiAgCj4gIAlzd2l0Y2ggKElOVEVMX0lORk8oZGV2KS0+Z2VuKSB7Cj4gQEAgLTE1NzI1 LDcgKzE1Nzk4LDggQEAgc3RhdGljIHZvaWQgaW50ZWxfbW9kZXNldF9yZWFkb3V0X2h3X3N0YXRl KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAkJaWYgKGNydGNfc3RhdGUtPmJhc2UuYWN0aXZl KSB7Cj4gIAkJCWRldl9wcml2LT5hY3RpdmVfY3J0Y3MgfD0gMSA8PCBjcnRjLT5waXBlOwo+ICAK PiAtCQkJaWYgKElTX0JST0FEV0VMTChkZXZfcHJpdikpIHsKPiArCQkJaWYgKElTX0JST0FEV0VM TChkZXZfcHJpdikgfHwgSVNfU0tZTEFLRShkZXZfcHJpdikgfHwKPiArCQkJICAgIElTX0tBQllM QUtFKGRldl9wcml2KSkgewo+ICAJCQkJcGl4Y2xrID0gaWxrX3BpcGVfcGl4ZWxfcmF0ZShjcnRj X3N0YXRlKTsKPiAgCj4gIAkJCQkvKiBwaXhlbCByYXRlIG11c3RuJ3QgZXhjZWVkIDk1JSBvZiBj ZGNsayB3aXRoIElQUyBvbiBCRFcgKi8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiBpbmRleCBh MDczZjA0Li5hZmEyMWI2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gQEAgLTEyNDUs NiArMTI0NSw3IEBAIHN0YXRpYyB2b2lkCj4gIHNrbF9lZHBfc2V0X3BsbF9jb25maWcoc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQo+ICB7Cj4gIAl1MzIgY3RybDE7Cj4gKwl1 MzIgdmNvID0gODEwMDsKPiAgCj4gIAltZW1zZXQoJnBpcGVfY29uZmlnLT5kcGxsX2h3X3N0YXRl LCAwLAo+ICAJICAgICAgIHNpemVvZihwaXBlX2NvbmZpZy0+ZHBsbF9od19zdGF0ZSkpOwo+IEBA IC0xMjc3LDEzICsxMjc4LDE2IEBAIHNrbF9lZHBfc2V0X3BsbF9jb25maWcoc3RydWN0IGludGVs X2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQo+ICAJY2FzZSAxMDgwMDA6Cj4gIAkJY3RybDEgfD0g RFBMTF9DVFJMMV9MSU5LX1JBVEUoRFBMTF9DVFJMMV9MSU5LX1JBVEVfMTA4MCwKPiAgCQkJCQkg ICAgICBTS0xfRFBMTDApOwo+ICsJCXZjbyA9IDg2NDA7Cj4gIAkJYnJlYWs7Cj4gIAljYXNlIDIx NjAwMDoKPiAgCQljdHJsMSB8PSBEUExMX0NUUkwxX0xJTktfUkFURShEUExMX0NUUkwxX0xJTktf UkFURV8yMTYwLAo+ICAJCQkJCSAgICAgIFNLTF9EUExMMCk7Cj4gKwkJdmNvID0gODY0MDsKPiAg CQlicmVhazsKPiAtCj4gIAl9Cj4gKwo+ICsJdG9faW50ZWxfYXRvbWljX3N0YXRlKHBpcGVfY29u ZmlnLT5iYXNlLnN0YXRlKS0+Y2RjbGtfcGxsX3ZjbyA9IHZjbzsKPiAgCXBpcGVfY29uZmlnLT5k cGxsX2h3X3N0YXRlLmN0cmwxID0gY3RybDE7Cj4gIH0KPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmgKPiBpbmRleCA4NzgxNzJhLi40NzkzNmQ0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmgKPiBAQCAtMjYwLDYgKzI2MCw5IEBAIHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgewo+ ICAKPiAgCXN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbF9jb25maWcgc2hhcmVkX2RwbGxbSTkxNV9O VU1fUExMU107Cj4gIAlzdHJ1Y3QgaW50ZWxfd21fY29uZmlnIHdtX2NvbmZpZzsKPiArCj4gKwkv KiBTS0wvS0JMIE9ubHkgKi8KPiArCXVuc2lnbmVkIGludCBjZGNsa19wbGxfdmNvOwo+ICB9Owo+ ICAKPiAgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlIHsKPiBAQCAtMTE5MSw2ICsxMTk0LDcgQEAg dm9pZCBieHRfZGlzYWJsZV9kYzkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsK PiAgdm9pZCBza2xfaW5pdF9jZGNsayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp Owo+ICBpbnQgc2tsX3Nhbml0aXplX2NkY2xrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdik7Cj4gIHZvaWQgc2tsX3VuaW5pdF9jZGNsayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpOwo+ICt1bnNpZ25lZCBpbnQgc2tsX2NkY2xrX2dldF92Y28odW5zaWduZWQgaW50 IGZyZXEpOwo+ICB2b2lkIHNrbF9lbmFibGVfZGM2KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdik7Cj4gIHZvaWQgc2tsX2Rpc2FibGVfZGM2KHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdik7Cj4gIHZvaWQgaW50ZWxfZHBfZ2V0X21fbihzdHJ1Y3QgaW50ZWxfY3J0YyAq Y3J0YywKPiAtLSAKPiAxLjcuOS41CgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVsIE9UQwpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK