From mboxrd@z Thu Jan 1 00:00:00 1970 From: Clint Taylor Subject: Re: [PATCH V3] drm/i915/skl: SKL CDCLK change on modeset tracking VCO Date: Wed, 10 Feb 2016 14:58:59 -0800 Message-ID: <56BBC0B3.7070503@intel.com> References: <1449620105-32754-1-git-send-email-clinton.a.taylor@intel.com> <1455064107-32242-1-git-send-email-clinton.a.taylor@intel.com> <56BAAE81.4040108@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTP id 1BD986E782 for ; Wed, 10 Feb 2016 15:02:27 -0800 (PST) In-Reply-To: <56BAAE81.4040108@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Thulasimani, Sivakumar" , Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gMDIvMDkvMjAxNiAwNzoyOSBQTSwgVGh1bGFzaW1hbmksIFNpdmFrdW1hciB3cm90ZToKPiBj b3VwbGUgb2YgcXVlc3Rpb25zIHNpbmNlIGkgYW0gbG9va2luZyBhdCBTS0wgY29kZSBmb3IgdGhl IGZpcnN0IHRpbWUKPiAgPiBzZWVtcyB3ZSBhcmUgbm90IHJlYWRpbmcgbWF4IGNkIGNsb2NrIGZy b20gVkJJT1MgbGlrZSBCRFcKPiAgICAgICAgZXZlbiB0aG91Z2ggU0tMIGhhcyBsaW1pdCByZWdp c3RlciB0byBzYXkgbWF4IGNkIGNsb2NrIGkgZG9udCB0aGluawo+ICAgICAgICBpdCBpcyB3b3Jr aW5nLCBzbyBWQklPUyBzYXZlcyB0aGUgdmFsdWUgZHVyaW5nIGJvb3QganVzdCBsaWtlIGluIEJE Vwo+ICAgICAgICBhbmQgd2UgYXJlIHN1cHBvc2VkIHRvIHVzZSBpdC4gcGxlYXNlIGNoZWNrIFZC VCBzcGVjIGZvciB0aGUgZGV0YWlscwoKU291bmRzIGxpa2UgeW91IG1pZ2h0IGhhdmUgZm91bmQg YSBidWcuIFN1Ym1pdCBhIHBhdGNoLgoKPiAgPiB3aHkgc2hvdWxkIHdlIHN0b3JlIHZjbyBpbiBh IHNlcGFyYXRlIHZhcmlhYmxlIHdoZW4gaXQgaXMgYWxyZWFkeQo+ICAgICBhdmFpbGFibGUgYXMg cGFydCBvZiAicGlwZV9jb25maWctPmRwbGxfaHdfc3RhdGUuY3RybDEiCgpXZSBhcmUgZ29pbmcg dG8gbmVlZCB0byBrbm93IGN1cnJlbnQgVkNPIGFuZCB0YXJnZXQgVkNPLiBDdXJyZW50IFZDTyAK d2lsbCBoYXZlIHRoZSBleGlzdGluZyBWQ08gaW4gdXNlIGFuZCB0YXJnZXQgVkNPIHdpbGwgYmUg Y29tcGFyZWQgdG8gCmV4aXN0aW5nIHRvIHNlZSBpbiB3ZSBuZWVkIGEgbW9kZXNldCBhY3Jvc3Mg YWxsIENSVENzLiBjdHJsMSB3aWxsIG9ubHkgCmNvbnRhaW4gdGhlIG5ldyBWQ08gc2V0dGluZy4g VjQgb2YgdGhlIHBhdGNoIGlzIGluIHByb2Nlc3MuCgo+ICA+IHN0aWxsIHRyeWluZyB0byB1bmRl cnN0YW5kIHRoZSBmbG93IGJ1dCBpcyAiY3RybDEiLyJWQ08iIGluIHRoaXMgcGF0Y2gKPiAgICAg d3JpdHRlbiB0byAgIERQTExfQ1RSTDEgYmVmb3JlIHdlIGNoYW5nZSB0aGUgQ0QgQ2xvY2sgPyBp ZiBub3QgdGhlbgo+ICAgICBpdCBtaWdodCBiZSBhIGJ1ZyBhbmQgbXVzdCBiZSBmaXhlZCBhcyBw YXJ0IG9mIGNoYW5nZXMKPiAgICAgaGVyZS4KPgo+IHJlZ2FyZHMsCj4gU2l2YWt1bWFyCj4KPiBP biAyLzEwLzIwMTYgNTo1OCBBTSwgY2xpbnRvbi5hLnRheWxvckBpbnRlbC5jb20gd3JvdGU6Cj4+ IEZyb206IENsaW50IFRheWxvciA8Y2xpbnRvbi5hLnRheWxvckBpbnRlbC5jb20+Cj4+Cj4+IFRy YWNrIFZDTyBmcmVxdWVuY3kgb2YgU0tMIGluc3RlYWQgb2YgdGhlIGJvb3QgQ0RDTEsgYW5kIGFs bG93IG1vZGVzZXQKPj4gdG8gc2V0IGNkY2xrIGJhc2VkIG9uIHRoZSBtYXggcmVxdWlyZWQgcGl4 ZWwgY2xvY2sgYmFzZWQgb24gVkNPCj4+IHNlbGVjdGVkLgo+Pgo+PiBUaGUgdmNvIHNob3VsZCBi ZSB0cmFja2VkIGF0IHRoZSBhdG9taWMgbGV2ZWwgYW5kIGFsbCBDUlRDcyB1cGRhdGVkIGlmCj4+ IHRoZSByZXF1aXJlZCB2Y28gaXMgY2hhbmdlZC4gQXQgdGhpcyB0aW1lIHRoZSBlRFAgcGxsIGlz IGNvbmZpZ3VyZWQKPj4gaW5zaWRlIHRoZSBlbmNvZGVyIHdoaWNoIGhhcyBubyB2aXNpYmlsaXR5 IGludG8gdGhlIGF0b21pYyBzdGF0ZS4gV2hlbgo+PiBlRFAgdjEuNCBwYW5lbCB0aGF0IHJlcXVp cmUgdGhlIDg2NDAgdmNvIGFyZSBhdmFpbGFibGUgdGhpcyBtYXkgbmVlZAo+PiB0byBiZSBpbnZl c3RpZ2F0ZWQuCj4+Cj4+IFYxOiBpbml0aWFsIHZlcnNpb24KPj4gVjI6IGFkZCB2Y28gdHJhY2tp bmcgaW4gaW50ZWxfZHBfY29tcHV0ZV9jb25maWcoKSwgcmVuYW1lCj4+IHNrbF9ib290X2NkY2xr Lgo+PiBWMzogcmViYXNlLCBWMiBmZWVkYmFjayBub3QgcG9zc2libGUgYXMgZW5jb2RlcnMgYXJl IG5vdCBhd2FyZSBvZgo+PiBhdG9taWMuCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IENsaW50IFRheWxv ciA8Y2xpbnRvbi5hLnRheWxvckBpbnRlbC5jb20+Cj4+IENjOiBWaWxsZSA9P2lzby04ODU5LTE/ UT9TeXJqPUU0bD1FND89IDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPj4KPj4gLS0t Cj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgIHwgICAgMiArLQo+PiAg IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jICAgICB8ICAgIDIgKy0KPj4gICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAgIDgzCj4+ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrLS0tLS0KPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5j ICAgICAgfCAgICA5ICsrKy0KPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAg ICAgfCAgICAxICsKPj4gICA1IGZpbGVzIGNoYW5nZWQsIDgxIGluc2VydGlvbnMoKyksIDE2IGRl bGV0aW9ucygtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPj4gaW5kZXggODIxNjY2 NS4uZjY1ZGQxYSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4+IEBAIC0xODIyLDcg KzE4MjIsNyBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSB7Cj4+ICAgICAgIGludCBudW1fZmVu Y2VfcmVnczsgLyogOCBvbiBwcmUtOTY1LCAxNiBvdGhlcndpc2UgKi8KPj4gICAgICAgdW5zaWdu ZWQgaW50IGZzYl9mcmVxLCBtZW1fZnJlcSwgaXNfZGRyMzsKPj4gLSAgICB1bnNpZ25lZCBpbnQg c2tsX2Jvb3RfY2RjbGs7Cj4+ICsgICAgdW5zaWduZWQgaW50IHNrbF92Y29fZnJlcTsKPj4gICAg ICAgdW5zaWduZWQgaW50IGNkY2xrX2ZyZXEsIG1heF9jZGNsa19mcmVxLCBhdG9taWNfY2RjbGtf ZnJlcTsKPj4gICAgICAgdW5zaWduZWQgaW50IG1heF9kb3RjbGtfZnJlcTsKPj4gICAgICAgdW5z aWduZWQgaW50IGhwbGxfZnJlcTsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RkaS5jCj4+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPj4gaW5k ZXggNmQ1YjA5Zi4uMjg1YWRhYiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGRpLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPj4g QEAgLTI5NTgsNyArMjk1OCw3IEBAIHZvaWQgaW50ZWxfZGRpX3BsbF9pbml0KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpCj4+ICAgICAgICAgICBpbnQgY2RjbGtfZnJlcTsKPj4gICAgICAgICAgIGNk Y2xrX2ZyZXEgPSBkZXZfcHJpdi0+ZGlzcGxheS5nZXRfZGlzcGxheV9jbG9ja19zcGVlZChkZXYp Owo+PiAtICAgICAgICBkZXZfcHJpdi0+c2tsX2Jvb3RfY2RjbGsgPSBjZGNsa19mcmVxOwo+PiAr ICAgICAgICBkZXZfcHJpdi0+c2tsX3Zjb19mcmVxID0gc2tsX2NkY2xrX2dldF92Y28oY2RjbGtf ZnJlcSk7Cj4+ICAgICAgICAgICBpZiAoc2tsX3Nhbml0aXplX2NkY2xrKGRldl9wcml2KSkKPj4g ICAgICAgICAgICAgICBEUk1fREVCVUdfS01TKCJTYW5pdGl6ZWQgY2RjbGsgcHJvZ3JhbW1lZCBi eSBwcmUtb3NcbiIpOwo+PiAgICAgICAgICAgaWYgKCEoSTkxNV9SRUFEKExDUExMMV9DVEwpICYg TENQTExfUExMX0VOQUJMRSkpCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMKPj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMK Pj4gaW5kZXggOWUyMjczYi4uMzcyYTY4ZiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYwo+PiBAQCAtNTY2Myw3ICs1NjYzLDcgQEAgc3RhdGljIHVuc2lnbmVkIGludCBz a2xfY2RjbGtfZGVjaW1hbCh1bnNpZ25lZAo+PiBpbnQgZnJlcSkKPj4gICAgICAgcmV0dXJuIChm cmVxIC0gMTAwMCkgLyA1MDA7Cj4+ICAgfQo+PiAtc3RhdGljIHVuc2lnbmVkIGludCBza2xfY2Rj bGtfZ2V0X3Zjbyh1bnNpZ25lZCBpbnQgZnJlcSkKPj4gK3Vuc2lnbmVkIGludCBza2xfY2RjbGtf Z2V0X3Zjbyh1bnNpZ25lZCBpbnQgZnJlcSkKPj4gICB7Cj4+ICAgICAgIHVuc2lnbmVkIGludCBp Owo+PiBAQCAtNTgyMSwxNyArNTgyMSwxNyBAQCB2b2lkIHNrbF91bmluaXRfY2RjbGsoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUKPj4gKmRldl9wcml2KQo+PiAgIHZvaWQgc2tsX2luaXRfY2RjbGso c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+PiAgIHsKPj4gLSAgICB1bnNpZ25l ZCBpbnQgcmVxdWlyZWRfdmNvOwo+PiAtCj4+ICAgICAgIC8qIERQTEwwIG5vdCBlbmFibGVkICho YXBwZW5zIG9uIGVhcmx5IEJJT1MgdmVyc2lvbnMpICovCj4+ICAgICAgIGlmICghKEk5MTVfUkVB RChMQ1BMTDFfQ1RMKSAmIExDUExMX1BMTF9FTkFCTEUpKSB7Cj4+ICAgICAgICAgICAvKiBlbmFi bGUgRFBMTDAgKi8KPj4gLSAgICAgICAgcmVxdWlyZWRfdmNvID0gc2tsX2NkY2xrX2dldF92Y28o ZGV2X3ByaXYtPnNrbF9ib290X2NkY2xrKTsKPj4gLSAgICAgICAgc2tsX2RwbGwwX2VuYWJsZShk ZXZfcHJpdiwgcmVxdWlyZWRfdmNvKTsKPj4gKyAgICAgICAgaWYgKGRldl9wcml2LT5za2xfdmNv X2ZyZXEgIT0gODY0MCkgewo+PiArICAgICAgICAgICAgZGV2X3ByaXYtPnNrbF92Y29fZnJlcSA9 IDgxMDA7Cj4+ICsgICAgICAgIH0KPj4gKyAgICAgICAgc2tsX2RwbGwwX2VuYWJsZShkZXZfcHJp diwgZGV2X3ByaXYtPnNrbF92Y29fZnJlcSk7Cj4+ICAgICAgIH0KPj4gICAgICAgLyogc2V0IENE Q0xLIHRvIHRoZSBmcmVxdWVuY3kgdGhlIEJJT1MgY2hvc2UgKi8KPj4gLSAgICBza2xfc2V0X2Nk Y2xrKGRldl9wcml2LCBkZXZfcHJpdi0+c2tsX2Jvb3RfY2RjbGspOwo+PiArICAgIHNrbF9zZXRf Y2RjbGsoZGV2X3ByaXYsIChkZXZfcHJpdi0+c2tsX3Zjb19mcmVxID09IDgxMDApID8gMzM3NTAw Cj4+IDogMzA4NTcwICk7Cj4+ICAgICAgIC8qIGVuYWJsZSBEQlVGIHBvd2VyICovCj4+ICAgICAg IEk5MTVfV1JJVEUoREJVRl9DVEwsIEk5MTVfUkVBRChEQlVGX0NUTCkgfCBEQlVGX1BPV0VSX1JF UVVFU1QpOwo+PiBAQCAtNTg0Nyw3ICs1ODQ3LDcgQEAgaW50IHNrbF9zYW5pdGl6ZV9jZGNsayhz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZQo+PiAqZGV2X3ByaXYpCj4+ICAgewo+PiAgICAgICB1aW50 MzJfdCBsY3BsbDEgPSBJOTE1X1JFQUQoTENQTEwxX0NUTCk7Cj4+ICAgICAgIHVpbnQzMl90IGNk Y3RsID0gSTkxNV9SRUFEKENEQ0xLX0NUTCk7Cj4+IC0gICAgaW50IGZyZXEgPSBkZXZfcHJpdi0+ c2tsX2Jvb3RfY2RjbGs7Cj4+ICsgICAgaW50IGZyZXEgPSBkZXZfcHJpdi0+Y2RjbGtfZnJlcTsK Pj4gICAgICAgLyoKPj4gICAgICAgICogY2hlY2sgaWYgdGhlIHByZS1vcyBpbnRpYWxpemVkIHRo ZSBkaXNwbGF5Cj4+IEBAIC01ODcxLDExICs1ODcxLDcgQEAgaW50IHNrbF9zYW5pdGl6ZV9jZGNs ayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZQo+PiAqZGV2X3ByaXYpCj4+ICAgICAgICAgICAvKiBB bGwgd2VsbDsgbm90aGluZyB0byBzYW5pdGl6ZSAqLwo+PiAgICAgICAgICAgcmV0dXJuIGZhbHNl Owo+PiAgIHNhbml0aXplOgo+PiAtICAgIC8qCj4+IC0gICAgICogQXMgb2Ygbm93IGluaXRpYWxp emUgd2l0aCBtYXggY2RjbGsgdGlsbAo+PiAtICAgICAqIHdlIGdldCBkeW5hbWljIGNkY2xrIHN1 cHBvcnQKPj4gLSAgICAgKiAqLwo+PiAtICAgIGRldl9wcml2LT5za2xfYm9vdF9jZGNsayA9IGRl dl9wcml2LT5tYXhfY2RjbGtfZnJlcTsKPj4gKwo+PiAgICAgICBza2xfaW5pdF9jZGNsayhkZXZf cHJpdik7Cj4+ICAgICAgIC8qIHdlIGRpZCBoYXZlIHRvIHNhbml0aXplICovCj4+IEBAIC05ODQ1 LDYgKzk4NDEsNjQgQEAgc3RhdGljIHZvaWQKPj4gYnJvYWR3ZWxsX21vZGVzZXRfY29tbWl0X2Nk Y2xrKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpvbGRfc3RhdGUpCj4+ICAgICAgIGJyb2Fkd2Vs bF9zZXRfY2RjbGsoZGV2LCByZXFfY2RjbGspOwo+PiAgIH0KPj4gK3N0YXRpYyBpbnQgc2tsX21v ZGVzZXRfY2FsY19jZGNsayhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4+ICt7Cj4+ ICsgICAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShzdGF0ZS0+ ZGV2KTsKPj4gKyAgICBpbnQgbWF4X3BpeGNsayA9IGlsa19tYXhfcGl4ZWxfcmF0ZShzdGF0ZSk7 Cj4+ICsgICAgaW50IGNkY2xrOwo+PiArCj4+ICsgICAgLyoKPj4gKyAgICAqIEZJWE1FIHNob3Vs ZCBhbHNvIGFjY291bnQgZm9yIHBsYW5lIHJhdGlvCj4+ICsgICAgKiBvbmNlIDY0YnBwIHBpeGVs IGZvcm1hdHMgYXJlIHN1cHBvcnRlZC4KPj4gKyAgICAqLwo+PiArCj4+ICsgICAgaWYgKGRldl9w cml2LT5za2xfdmNvX2ZyZXEgPT0gODY0MCkgewo+PiArICAgICAgICAvKiB2Y28gODY0MCAqLwo+ PiArICAgICAgICBpZiAobWF4X3BpeGNsayA+IDU0MDAwMCkKPj4gKyAgICAgICAgICAgIGNkY2xr ID0gNjE3MTQwOwo+PiArICAgICAgICBlbHNlIGlmIChtYXhfcGl4Y2xrID4gNDMyMDAwKQo+PiAr ICAgICAgICAgICAgY2RjbGsgPSA1NDAwMDA7Cj4+ICsgICAgICAgIGVsc2UgaWYgKG1heF9waXhj bGsgPiAzMDg1NzApCj4+ICsgICAgICAgICAgICBjZGNsayA9IDQzMjAwMDsKPj4gKyAgICAgICAg ZWxzZQo+PiArICAgICAgICAgICAgY2RjbGsgPSAzMDg1NzA7Cj4+ICsgICAgfQo+PiArICAgIGVs c2Ugewo+PiArICAgICAgICAvKiBWQ08gODEwMCAqLwo+PiArICAgICAgICBpZiAobWF4X3BpeGNs ayA+IDU0MDAwMCkKPj4gKyAgICAgICAgICAgIGNkY2xrID0gNjc1MDAwOwo+PiArICAgICAgICBl bHNlIGlmIChtYXhfcGl4Y2xrID4gNDUwMDAwKQo+PiArICAgICAgICAgICAgY2RjbGsgPSA1NDAw MDA7Cj4+ICsgICAgICAgIGVsc2UgaWYgKG1heF9waXhjbGsgPiAzMzc1MDApCj4+ICsgICAgICAg ICAgICBjZGNsayA9IDQ1MDAwMDsKPj4gKyAgICAgICAgZWxzZQo+PiArICAgICAgICAgICAgY2Rj bGsgPSAzMzc1MDA7Cj4+ICsgICAgfQo+PiArCj4+ICsgICAgLyoKPj4gKyAgICAgKiBGSVhNRSBt b3ZlIHRoZSBjZGNsayBjYWNsdWxhdGlvbiB0bwo+PiArICAgICAqIGNvbXB1dGVfY29uZmlnKCkg c28gd2UgY2FuIGZhaWwgZ3JhY2VndWxseS4KPj4gKyAgICAgKi8KPj4gKyAgICBpZiAoY2RjbGsg PiBkZXZfcHJpdi0+bWF4X2NkY2xrX2ZyZXEpIHsKPj4gKyAgICAgICAgRFJNX0VSUk9SKCJyZXF1 ZXN0ZWQgY2RjbGsgKCVkIGtIeikgZXhjZWVkcyBtYXggKCVkIGtIeilcbiIsCj4+ICsgICAgICAg ICAgICAgIGNkY2xrLCBkZXZfcHJpdi0+bWF4X2NkY2xrX2ZyZXEpOwo+PiArICAgICAgICBjZGNs ayA9IGRldl9wcml2LT5tYXhfY2RjbGtfZnJlcTsKPj4gKyAgICB9Cj4+ICsKPj4gKyAgICB0b19p bnRlbF9hdG9taWNfc3RhdGUoc3RhdGUpLT5jZGNsayA9IGNkY2xrOwo+PiArCj4+ICsgICAgcmV0 dXJuIDA7Cj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyB2b2lkIHNrbF9tb2Rlc2V0X2NvbW1pdF9jZGNs ayhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqb2xkX3N0YXRlKQo+PiArewo+PiArICAgIHN0cnVj dCBkcm1fZGV2aWNlICpkZXYgPSBvbGRfc3RhdGUtPmRldjsKPj4gKyAgICBzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+PiArICAgIHVuc2lnbmVk IGludCByZXFfY2RjbGsgPSB0b19pbnRlbF9hdG9taWNfc3RhdGUob2xkX3N0YXRlKS0+Y2RjbGs7 Cj4+ICsKPj4gKyAgICBza2xfc2V0X2NkY2xrKGRldl9wcml2LCByZXFfY2RjbGspOwo+PiArfQo+ PiArCj4+ICAgc3RhdGljIGludCBoYXN3ZWxsX2NydGNfY29tcHV0ZV9jbG9jayhzdHJ1Y3QgaW50 ZWxfY3J0YyAqY3J0YywKPj4gICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKmNydGNfc3RhdGUpCj4+ICAgewo+PiBAQCAtMTUwMDIsNiArMTUwNTYsMTEgQEAg c3RhdGljIHZvaWQgaW50ZWxfaW5pdF9kaXNwbGF5KHN0cnVjdAo+PiBkcm1fZGV2aWNlICpkZXYp Cj4+ICAgICAgICAgICAgICAgYnJveHRvbl9tb2Rlc2V0X2NvbW1pdF9jZGNsazsKPj4gICAgICAg ICAgIGRldl9wcml2LT5kaXNwbGF5Lm1vZGVzZXRfY2FsY19jZGNsayA9Cj4+ICAgICAgICAgICAg ICAgYnJveHRvbl9tb2Rlc2V0X2NhbGNfY2RjbGs7Cj4+ICsgICAgfSBlbHNlIGlmIChJU19TS1lM QUtFKGRldikgfHwgSVNfS0FCWUxBS0UoZGV2KSkgewo+PiArICAgICAgICBkZXZfcHJpdi0+ZGlz cGxheS5tb2Rlc2V0X2NvbW1pdF9jZGNsayA9Cj4+ICsgICAgICAgICAgICBza2xfbW9kZXNldF9j b21taXRfY2RjbGs7Cj4+ICsgICAgICAgIGRldl9wcml2LT5kaXNwbGF5Lm1vZGVzZXRfY2FsY19j ZGNsayA9Cj4+ICsgICAgICAgICAgICBza2xfbW9kZXNldF9jYWxjX2NkY2xrOwo+PiAgICAgICB9 Cj4+ICAgICAgIHN3aXRjaCAoSU5URUxfSU5GTyhkZXYpLT5nZW4pIHsKPj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcC5jCj4+IGluZGV4IGEwNzNmMDQuLjBlZDI1YTggMTAwNjQ0Cj4+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHAuYwo+PiBAQCAtMTI0Miw5ICsxMjQyLDEwIEBAIGludGVsX2RwX2Nvbm5lY3Rv cl91bnJlZ2lzdGVyKHN0cnVjdAo+PiBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3RvcikK Pj4gICB9Cj4+ICAgc3RhdGljIHZvaWQKPj4gLXNrbF9lZHBfc2V0X3BsbF9jb25maWcoc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQo+PiArc2tsX2VkcF9zZXRfcGxsX2NvbmZp ZyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHN0cnVjdAo+PiBpbnRlbF9jcnRj X3N0YXRlICpwaXBlX2NvbmZpZykKPj4gICB7Cj4+ICAgICAgIHUzMiBjdHJsMTsKPj4gKyAgICB1 MzIgdmNvID0gODEwMDsKPj4gICAgICAgbWVtc2V0KCZwaXBlX2NvbmZpZy0+ZHBsbF9od19zdGF0 ZSwgMCwKPj4gICAgICAgICAgICAgIHNpemVvZihwaXBlX2NvbmZpZy0+ZHBsbF9od19zdGF0ZSkp Owo+PiBAQCAtMTI3NywxMyArMTI3OCwxNyBAQCBza2xfZWRwX3NldF9wbGxfY29uZmlnKHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlCj4+ICpwaXBlX2NvbmZpZykKPj4gICAgICAgY2FzZSAxMDgwMDA6 Cj4+ICAgICAgICAgICBjdHJsMSB8PSBEUExMX0NUUkwxX0xJTktfUkFURShEUExMX0NUUkwxX0xJ TktfUkFURV8xMDgwLAo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0tMX0RQTEwwKTsK Pj4gKyAgICAgICAgdmNvID0gODY0MDsKPj4gICAgICAgICAgIGJyZWFrOwo+PiAgICAgICBjYXNl IDIxNjAwMDoKPj4gICAgICAgICAgIGN0cmwxIHw9IERQTExfQ1RSTDFfTElOS19SQVRFKERQTExf Q1RSTDFfTElOS19SQVRFXzIxNjAsCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTS0xf RFBMTDApOwo+PiArICAgICAgICB2Y28gPSA4NjQwOwo+PiAgICAgICAgICAgYnJlYWs7Cj4+ICAg ICAgIH0KPj4gKwo+PiArICAgIGRldl9wcml2LT5za2xfdmNvX2ZyZXEgPSB2Y287Cj4+ICAgICAg IHBpcGVfY29uZmlnLT5kcGxsX2h3X3N0YXRlLmN0cmwxID0gY3RybDE7Cj4+ICAgfQo+PiBAQCAt MTY2NCw3ICsxNjY5LDcgQEAgZm91bmQ6Cj4+ICAgICAgIH0KPj4gICAgICAgaWYgKChJU19TS1lM QUtFKGRldikgIHx8IElTX0tBQllMQUtFKGRldikpICYmIGlzX2VkcChpbnRlbF9kcCkpCj4+IC0g ICAgICAgIHNrbF9lZHBfc2V0X3BsbF9jb25maWcocGlwZV9jb25maWcpOwo+PiArICAgICAgICBz a2xfZWRwX3NldF9wbGxfY29uZmlnKGRldl9wcml2LCBwaXBlX2NvbmZpZyk7Cj4+ICAgICAgIGVs c2UgaWYgKElTX0JST1hUT04oZGV2KSkKPj4gICAgICAgICAgIC8qIGhhbmRsZWQgaW4gZGRpICov Owo+PiAgICAgICBlbHNlIGlmIChJU19IQVNXRUxMKGRldikgfHwgSVNfQlJPQURXRUxMKGRldikp Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+PiBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4+IGluZGV4IDg3ODE3MmEuLjFhY2ZkZjkg MTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4+IEBAIC0xMTkxLDYgKzExOTEsNyBA QCB2b2lkIGJ4dF9kaXNhYmxlX2RjOShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZQo+PiAqZGV2X3By aXYpOwo+PiAgIHZvaWQgc2tsX2luaXRfY2RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KTsKPj4gICBpbnQgc2tsX3Nhbml0aXplX2NkY2xrKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdik7Cj4+ICAgdm9pZCBza2xfdW5pbml0X2NkY2xrKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdik7Cj4+ICt1bnNpZ25lZCBpbnQgc2tsX2NkY2xrX2dldF92Y28o dW5zaWduZWQgaW50IGZyZXEpOwo+PiAgIHZvaWQgc2tsX2VuYWJsZV9kYzYoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPj4gICB2b2lkIHNrbF9kaXNhYmxlX2RjNihzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+PiAgIHZvaWQgaW50ZWxfZHBfZ2V0X21fbihz dHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKPgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4Cg==