From mboxrd@z Thu Jan 1 00:00:00 1970 From: Clint Taylor Subject: Re: [PATCH V11] drm/i915/skl: SKL CDCLK change on modeset tracking VCO Date: Wed, 16 Mar 2016 16:28:44 -0700 Message-ID: <56E9EC2C.8070702@intel.com> References: <1449620105-32754-1-git-send-email-clinton.a.taylor@intel.com> <1458077645-12657-1-git-send-email-clinton.a.taylor@intel.com> <20160316072718.GM14170@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 30EEE6E1D9 for ; Wed, 16 Mar 2016 23:32:57 +0000 (UTC) In-Reply-To: <20160316072718.GM14170@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter Cc: Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gMDMvMTYvMjAxNiAxMjoyNyBBTSwgRGFuaWVsIFZldHRlciB3cm90ZToKPiBPbiBUdWUsIE1h ciAxNSwgMjAxNiBhdCAwMjozNDowNVBNIC0wNzAwLCBjbGludG9uLmEudGF5bG9yQGludGVsLmNv bSB3cm90ZToKPj4gRnJvbTogQ2xpbnQgVGF5bG9yIDxjbGludG9uLmEudGF5bG9yQGludGVsLmNv bT4KPj4KPj4gV0FSTklORzogVXNpbmcgQ2hyb21lT1Mgd2l0aCBhbiBlRFAgcGFuZWwgYW5kIGEg NEtANjAgRFAgbW9uaXRvciBjb25uZWN0ZWQKPj4gdG8gRERJMSB0aGUgc3lzdGVtIHdpbGwgaGFy ZCBoYW5nIGR1cmluZyBhIGNvbGQgYm9vdC4gT2NjdXJzIHdoZW4gRERJMQo+PiBpcyBlbmFibGVk IHdoZW4gdGhlIGNkY2xrIGlzIGxlc3MgdGhlbiByZXF1aXJlZC4gRFAgY29ubmVjdGVkIHRvIERE STIKPj4gYW5kIEhQRCBvbiBlaXRoZXIgcG9ydCB3b3JrcyBjb3JyZWN0bHkuCj4KPiBTbyB0aGlz IHBhdGNoIGhhcmQtaGFuZ3MgbWFjaGluZXM/CgpUaGUgaGFyZC1oYW5nIG9ubHkgb2NjdXJzIGlu IGRldmVsb3BlciBtb2RlIENocm9tZU9TIHdpdGggQ29yZWJvb3QgKEZTUCAKdmVyc2lvbiA8IDEu OSkgdXNpbmcgRFAgb24gRERJMSB1c2luZyBhIFVTQi1DLT5EUCBjb252ZXJ0ZXIuCgpXZSBoYXZl IG5vdCBiZWVuIGFibGUgdG8gcmVwcm9kdWNlIHRoaXMgaXNzdWUgc2luY2UgdXBkYXRpbmcgdG8g RlNQIDEuOSAKYW5kIHdhcyBuZXZlciBhYmxlIHRvIHJlcGxpY2F0ZSB0aGUgaXNzdWUgd2l0aCBV RUZJIGFuZCBTS0wgUlZQLiBUaGUgCndhcm5pbmcgd2FzIGFkZGVkIHRvIHRoZSBjb21taXQgbWVz c2FnZSBkdXJpbmcgZGV2ZWxvcG1lbnQgdG8gbWFrZSAKZXZlcnlvbmUgYXdhcmUgb2YgdGhlIGlz c3VlLgoKPgo+Pgo+PiBTZXQgY2RjbGsgYmFzZWQgb24gdGhlIG1heCByZXF1aXJlZCBwaXhlbCBj bG9jayBiYXNlZCBvbiBWQ08KPj4gc2VsZWN0ZWQuIFRyYWNrIGJvb3QgdmNvIGluc3RlYWQgb2Yg Ym9vdCBjZGNsay4KPj4KPj4gVGhlIHZjbyBpcyBub3cgdHJhY2tlZCBhdCB0aGUgYXRvbWljIGxl dmVsIGFuZCBhbGwgQ1JUQ3MgdXBkYXRlZCBpZgo+PiB0aGUgcmVxdWlyZWQgdmNvIGlzIGNoYW5n ZWQuIE5vdCB0ZXN0ZWQgd2l0aCBlRFAgdjEuNCBwYW5lbHMgdGhhdAo+PiByZXF1aXJlIDg2NDAg dmNvIGR1ZSB0byBhdmFpbGFiaWxpdHkuCj4+Cj4+IFYxOiBpbml0aWFsIHZlcnNpb24KPj4gVjI6 IGFkZCB2Y28gdHJhY2tpbmcgaW4gaW50ZWxfZHBfY29tcHV0ZV9jb25maWcoKSwgcmVuYW1lCj4+ IHNrbF9ib290X2NkY2xrLgo+PiBWMzogcmViYXNlLCBWMiBmZWVkYmFjayBub3QgcG9zc2libGUg YXMgZW5jb2RlcnMgYXJlIG5vdCBhd2FyZSBvZgo+PiBhdG9taWMuCj4+IFY0OiB0cmFjayB0YXJn ZXQgdmNvIGlzIGF0b21pYyBzdGF0ZS4gbW9kZXNldCBhbGwgQ1JUQ3MgaWYgdmNvIGNoYW5nZXMK Pj4gVjU6IHJlbmFtZSBhdG9taWMgdmFyaWFibGUsIGNsZWFuZXIgaWYvZWxzZSBsb2dpYywgdXNl IGV4aXN0aW5nIHZjbyBpZgo+PiAgICAgICAgZW5jb2RlciBkb2VzIG5vdCByZXR1cm4gYSBuZXcg dmNvIHZhbHVlLiBjaGVja19wYXRjaC5wbCBjbGVhbnVwCj4+IFY2OiBzaW1wbGlmeSBsb2dpYyBp biBpbnRlbF9tb2Rlc2V0X2NoZWNrcy4KPj4gVjc6IHJlb3JkZXIgYW4gSUYgZm9yIHJlYWRhYmls aXR5IGFuZCB3aGl0ZXNwYWNlIGZpeC4KPj4gVjg6IHVzZSBkZXZfY2RjbGsgZm9yIHRyYWNraW5n IG5ldyBjZGNsayBkdXJpbmcgYXRvbWljCj4+IFY5OiBjb3JyZWN0bHkgaGFuZGxlIHZjbyA4NjQw IHdoZW4gY3J0Y3M9PTAKPj4gVjEwOiBDbGVhbiB1cCBpZiBlbHNlIGluIGNydGNzPT0wCj4+IFYx MTogUmViYXNlIGZvciBuZXcgaW50ZWxfZHBsbF9tZ3IuYwo+Pgo+PiBSZXZpZXdlZC1ieTogVmls bGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPgo+IElzIHRoZSBy LWIgZnJvbSBWaWxsZSByZWFsbHkgZm9yIHYxMT8KCnItYiBpcyBmcm9tIHBhdGNoIFY5IGFuZCBv bmx5IGhpcyBWOCBjb21tZW50IGNoYW5nZSBhbmQgYSByZWJhc2UgaGFzIApvY2N1cmVkIHNpbmNl LiBJIHdpbGwgc3VibWl0IGEgVjEyIHdpdGggdGhlIHdhcm5pbmcgYW5kIHItYiByZW1vdmVkIGlm IApuZWNlc3NhcnkuCgo+IC1EYW5pZWwKPgo+PiBTaWduZWQtb2ZmLWJ5OiBDbGludCBUYXlsb3Ig PGNsaW50b24uYS50YXlsb3JAaW50ZWwuY29tPgo+PiAtLS0KPj4gICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oICAgICAgIHwgICAgMiArLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYyAgfCAgMTExICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0t LQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwbGxfbWdyLmMgfCAgICA5ICstLQo+ PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICAgfCAgICA1ICsrCj4+ICAg NCBmaWxlcyBjaGFuZ2VkLCAxMDYgaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCj4+Cj4+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+PiBpbmRleCA4MGIxNGYxLi5iZjg3ZTYyIDEwMDY0NAo+ PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPj4gQEAgLTE3NTksNyArMTc1OSw3IEBAIHN0cnVjdCBk cm1faTkxNV9wcml2YXRlIHsKPj4gICAJaW50IG51bV9mZW5jZV9yZWdzOyAvKiA4IG9uIHByZS05 NjUsIDE2IG90aGVyd2lzZSAqLwo+Pgo+PiAgIAl1bnNpZ25lZCBpbnQgZnNiX2ZyZXEsIG1lbV9m cmVxLCBpc19kZHIzOwo+PiAtCXVuc2lnbmVkIGludCBza2xfYm9vdF9jZGNsazsKPj4gKwl1bnNp Z25lZCBpbnQgc2tsX3Zjb19mcmVxOwo+PiAgIAl1bnNpZ25lZCBpbnQgY2RjbGtfZnJlcSwgbWF4 X2NkY2xrX2ZyZXEsIGF0b21pY19jZGNsa19mcmVxOwo+PiAgIAl1bnNpZ25lZCBpbnQgbWF4X2Rv dGNsa19mcmVxOwo+PiAgIAl1bnNpZ25lZCBpbnQgcmF3Y2xrX2ZyZXE7Cj4+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMKPj4gaW5kZXggY2U1NWYwYi4uZmM1MjY4YyAxMDA2NDQKPj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+PiBAQCAtNTU4NCw3ICs1NTg0LDcgQEAg c3RhdGljIHVuc2lnbmVkIGludCBza2xfY2RjbGtfZGVjaW1hbCh1bnNpZ25lZCBpbnQgZnJlcSkK Pj4gICAJcmV0dXJuIChmcmVxIC0gMTAwMCkgLyA1MDA7Cj4+ICAgfQo+Pgo+PiAtc3RhdGljIHVu c2lnbmVkIGludCBza2xfY2RjbGtfZ2V0X3Zjbyh1bnNpZ25lZCBpbnQgZnJlcSkKPj4gK3Vuc2ln bmVkIGludCBza2xfY2RjbGtfZ2V0X3Zjbyh1bnNpZ25lZCBpbnQgZnJlcSkKPj4gICB7Cj4+ICAg CXVuc2lnbmVkIGludCBpOwo+Pgo+PiBAQCAtNTc0MiwxNyArNTc0MiwyMSBAQCB2b2lkIHNrbF91 bmluaXRfY2RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+Pgo+PiAgIHZv aWQgc2tsX2luaXRfY2RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+PiAg IHsKPj4gLQl1bnNpZ25lZCBpbnQgcmVxdWlyZWRfdmNvOwo+PiArCXVuc2lnbmVkIGludCBjZGNs azsKPj4KPj4gICAJLyogRFBMTDAgbm90IGVuYWJsZWQgKGhhcHBlbnMgb24gZWFybHkgQklPUyB2 ZXJzaW9ucykgKi8KPj4gICAJaWYgKCEoSTkxNV9SRUFEKExDUExMMV9DVEwpICYgTENQTExfUExM X0VOQUJMRSkpIHsKPj4gICAJCS8qIGVuYWJsZSBEUExMMCAqLwo+PiAtCQlyZXF1aXJlZF92Y28g PSBza2xfY2RjbGtfZ2V0X3ZjbyhkZXZfcHJpdi0+c2tsX2Jvb3RfY2RjbGspOwo+PiAtCQlza2xf ZHBsbDBfZW5hYmxlKGRldl9wcml2LCByZXF1aXJlZF92Y28pOwo+PiArCQlpZiAoZGV2X3ByaXYt PnNrbF92Y29fZnJlcSAhPSA4NjQwKQo+PiArCQkJZGV2X3ByaXYtPnNrbF92Y29fZnJlcSA9IDgx MDA7Cj4+ICsJCXNrbF9kcGxsMF9lbmFibGUoZGV2X3ByaXYsIGRldl9wcml2LT5za2xfdmNvX2Zy ZXEpOwo+PiArCQljZGNsayA9ICgoZGV2X3ByaXYtPnNrbF92Y29fZnJlcSA9PSA4MTAwKSA/IDMz NzUwMCA6IDMwODU3MCk7Cj4+ICsJfSBlbHNlIHsKPj4gKwkJY2RjbGsgPSBkZXZfcHJpdi0+Y2Rj bGtfZnJlcTsKPj4gICAJfQo+Pgo+PiAtCS8qIHNldCBDRENMSyB0byB0aGUgZnJlcXVlbmN5IHRo ZSBCSU9TIGNob3NlICovCj4+IC0Jc2tsX3NldF9jZGNsayhkZXZfcHJpdiwgZGV2X3ByaXYtPnNr bF9ib290X2NkY2xrKTsKPj4gKwkvKiBzZXQgQ0RDTEsgdG8gdGhlIGxvd2VzdCBmcmVxdWVuY3ks IE1vZGVzZXQgZm9sbG93cyAqLwo+PiArCXNrbF9zZXRfY2RjbGsoZGV2X3ByaXYsIGNkY2xrKTsK Pj4KPj4gICAJLyogZW5hYmxlIERCVUYgcG93ZXIgKi8KPj4gICAJSTkxNV9XUklURShEQlVGX0NU TCwgSTkxNV9SRUFEKERCVUZfQ1RMKSB8IERCVUZfUE9XRVJfUkVRVUVTVCk7Cj4+IEBAIC01NzY4 LDcgKzU3NzIsNyBAQCBpbnQgc2tsX3Nhbml0aXplX2NkY2xrKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdikKPj4gICB7Cj4+ICAgCXVpbnQzMl90IGxjcGxsMSA9IEk5MTVfUkVBRChM Q1BMTDFfQ1RMKTsKPj4gICAJdWludDMyX3QgY2RjdGwgPSBJOTE1X1JFQUQoQ0RDTEtfQ1RMKTsK Pj4gLQlpbnQgZnJlcSA9IGRldl9wcml2LT5za2xfYm9vdF9jZGNsazsKPj4gKwlpbnQgZnJlcSA9 IGRldl9wcml2LT5jZGNsa19mcmVxOwo+Pgo+PiAgIAkvKgo+PiAgIAkgKiBjaGVjayBpZiB0aGUg cHJlLW9zIGludGlhbGl6ZWQgdGhlIGRpc3BsYXkKPj4gQEAgLTU3OTIsMTEgKzU3OTYsNyBAQCBp bnQgc2tsX3Nhbml0aXplX2NkY2xrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikK Pj4gICAJCS8qIEFsbCB3ZWxsOyBub3RoaW5nIHRvIHNhbml0aXplICovCj4+ICAgCQlyZXR1cm4g ZmFsc2U7Cj4+ICAgc2FuaXRpemU6Cj4+IC0JLyoKPj4gLQkgKiBBcyBvZiBub3cgaW5pdGlhbGl6 ZSB3aXRoIG1heCBjZGNsayB0aWxsCj4+IC0JICogd2UgZ2V0IGR5bmFtaWMgY2RjbGsgc3VwcG9y dAo+PiAtCSAqICovCj4+IC0JZGV2X3ByaXYtPnNrbF9ib290X2NkY2xrID0gZGV2X3ByaXYtPm1h eF9jZGNsa19mcmVxOwo+PiArCj4+ICAgCXNrbF9pbml0X2NkY2xrKGRldl9wcml2KTsKPj4KPj4g ICAJLyogd2UgZGlkIGhhdmUgdG8gc2FuaXRpemUgKi8KPj4gQEAgLTk3NTMsNiArOTc1Myw3MyBA QCBzdGF0aWMgdm9pZCBicm9hZHdlbGxfbW9kZXNldF9jb21taXRfY2RjbGsoc3RydWN0IGRybV9h dG9taWNfc3RhdGUgKm9sZF9zdGF0ZSkKPj4gICAJYnJvYWR3ZWxsX3NldF9jZGNsayhkZXYsIHJl cV9jZGNsayk7Cj4+ICAgfQo+Pgo+PiArc3RhdGljIGludCBza2xfbW9kZXNldF9jYWxjX2NkY2xr KHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKPj4gK3sKPj4gKwlzdHJ1Y3QgaW50ZWxf YXRvbWljX3N0YXRlICppbnRlbF9zdGF0ZSA9IHRvX2ludGVsX2F0b21pY19zdGF0ZShzdGF0ZSk7 Cj4+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShzdGF0ZS0+ ZGV2KTsKPj4gKwljb25zdCBpbnQgbWF4X3BpeGNsayA9IGlsa19tYXhfcGl4ZWxfcmF0ZShzdGF0 ZSk7Cj4+ICsJaW50IGNkY2xrOwo+PiArCj4+ICsJLyoKPj4gKwkgKiBGSVhNRSBzaG91bGQgYWxz byBhY2NvdW50IGZvciBwbGFuZSByYXRpbwo+PiArCSAqIG9uY2UgNjRicHAgcGl4ZWwgZm9ybWF0 cyBhcmUgc3VwcG9ydGVkLgo+PiArCSAqLwo+PiArCj4+ICsJaWYgKGludGVsX3N0YXRlLT5jZGNs a19wbGxfdmNvID09IDg2NDApIHsKPj4gKwkJLyogdmNvIDg2NDAgKi8KPj4gKwkJaWYgKG1heF9w aXhjbGsgPiA1NDAwMDApCj4+ICsJCQljZGNsayA9IDYxNzE0MDsKPj4gKwkJZWxzZSBpZiAobWF4 X3BpeGNsayA+IDQzMjAwMCkKPj4gKwkJCWNkY2xrID0gNTQwMDAwOwo+PiArCQllbHNlIGlmICht YXhfcGl4Y2xrID4gMzA4NTcwKQo+PiArCQkJY2RjbGsgPSA0MzIwMDA7Cj4+ICsJCWVsc2UKPj4g KwkJCWNkY2xrID0gMzA4NTcwOwo+PiArCX0gZWxzZSB7Cj4+ICsJCS8qIFZDTyA4MTAwICovCj4+ ICsJCWlmIChtYXhfcGl4Y2xrID4gNTQwMDAwKQo+PiArCQkJY2RjbGsgPSA2NzUwMDA7Cj4+ICsJ CWVsc2UgaWYgKG1heF9waXhjbGsgPiA0NTAwMDApCj4+ICsJCQljZGNsayA9IDU0MDAwMDsKPj4g KwkJZWxzZSBpZiAobWF4X3BpeGNsayA+IDMzNzUwMCkKPj4gKwkJCWNkY2xrID0gNDUwMDAwOwo+ PiArCQllbHNlCj4+ICsJCQljZGNsayA9IDMzNzUwMDsKPj4gKwl9Cj4+ICsKPj4gKwkvKgo+PiAr CSAqIEZJWE1FIG1vdmUgdGhlIGNkY2xrIGNhY2x1bGF0aW9uIHRvCj4+ICsJICogY29tcHV0ZV9j b25maWcoKSBzbyB3ZSBjYW4gZmFpbCBncmFjZWd1bGx5Lgo+PiArCSAqLwo+PiArCWlmIChjZGNs ayA+IGRldl9wcml2LT5tYXhfY2RjbGtfZnJlcSkgewo+PiArCQlEUk1fRVJST1IoInJlcXVlc3Rl ZCBjZGNsayAoJWQga0h6KSBleGNlZWRzIG1heCAoJWQga0h6KVxuIiwKPj4gKwkJCSAgY2RjbGss IGRldl9wcml2LT5tYXhfY2RjbGtfZnJlcSk7Cj4+ICsJCWNkY2xrID0gZGV2X3ByaXYtPm1heF9j ZGNsa19mcmVxOwo+PiArCX0KPj4gKwo+PiArCWludGVsX3N0YXRlLT5jZGNsayA9IGludGVsX3N0 YXRlLT5kZXZfY2RjbGsgPSBjZGNsazsKPj4gKwlpZiAoIWludGVsX3N0YXRlLT5hY3RpdmVfY3J0 Y3MpCj4+ICsJCWludGVsX3N0YXRlLT5kZXZfY2RjbGsgPSAoKGludGVsX3N0YXRlLT5jZGNsa19w bGxfdmNvID09IDg2NDApID8KPj4gKwkJCQkJICAgMzA4NTcwIDogMzM3NTAwKTsKPj4gKwo+PiAr Cj4+ICsJcmV0dXJuIDA7Cj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyB2b2lkIHNrbF9tb2Rlc2V0X2Nv bW1pdF9jZGNsayhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqb2xkX3N0YXRlKQo+PiArewo+PiAr CXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBvbGRfc3RhdGUtPmRldjsKPj4gKwlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+PiArCXVuc2lnbmVk IGludCByZXFfY2RjbGsgPSB0b19pbnRlbF9hdG9taWNfc3RhdGUob2xkX3N0YXRlKS0+ZGV2X2Nk Y2xrOwo+PiArCj4+ICsJLyoKPj4gKwkgKiBGSVhNRSBkaXNhYmxlL2VuYWJsZSBQTEwgc2hvdWxk IHdyYXAgc2V0X2NkY2xrKCkKPj4gKwkgKi8KPj4gKwlza2xfc2V0X2NkY2xrKGRldl9wcml2LCBy ZXFfY2RjbGspOwo+PiArCj4+ICsJZGV2X3ByaXYtPnNrbF92Y29fZnJlcSA9IHRvX2ludGVsX2F0 b21pY19zdGF0ZShvbGRfc3RhdGUpLT5jZGNsa19wbGxfdmNvOwo+PiArfQo+PiArCj4+ICAgc3Rh dGljIGludCBoYXN3ZWxsX2NydGNfY29tcHV0ZV9jbG9jayhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YywKPj4gICAJCQkJICAgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4+ ICAgewo+PiBAQCAtMTMyMTQsOSArMTMyODEsMTUgQEAgc3RhdGljIGludCBpbnRlbF9tb2Rlc2V0 X2NoZWNrcyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4+ICAgCSAqIGFkanVzdGVk X21vZGUgYml0cyBpbiB0aGUgY3J0YyBkaXJlY3RseS4KPj4gICAJICovCj4+ICAgCWlmIChkZXZf cHJpdi0+ZGlzcGxheS5tb2Rlc2V0X2NhbGNfY2RjbGspIHsKPj4gKwkJaWYgKCFpbnRlbF9zdGF0 ZS0+Y2RjbGtfcGxsX3ZjbykKPj4gKwkJCWludGVsX3N0YXRlLT5jZGNsa19wbGxfdmNvID0gZGV2 X3ByaXYtPnNrbF92Y29fZnJlcTsKPj4gKwo+PiAgIAkJcmV0ID0gZGV2X3ByaXYtPmRpc3BsYXku bW9kZXNldF9jYWxjX2NkY2xrKHN0YXRlKTsKPj4gKwkJaWYgKHJldCA8IDApCj4+ICsJCQlyZXR1 cm4gcmV0Owo+Pgo+PiAtCQlpZiAoIXJldCAmJiBpbnRlbF9zdGF0ZS0+ZGV2X2NkY2xrICE9IGRl dl9wcml2LT5jZGNsa19mcmVxKQo+PiArCQlpZiAoaW50ZWxfc3RhdGUtPmRldl9jZGNsayAhPSBk ZXZfcHJpdi0+Y2RjbGtfZnJlcSB8fAo+PiArCQkgICAgaW50ZWxfc3RhdGUtPmNkY2xrX3BsbF92 Y28gIT0gZGV2X3ByaXYtPnNrbF92Y29fZnJlcSkKPj4gICAJCQlyZXQgPSBpbnRlbF9tb2Rlc2V0 X2FsbF9waXBlcyhzdGF0ZSk7Cj4+Cj4+ICAgCQlpZiAocmV0IDwgMCkKPj4gQEAgLTEzNTg4LDcg KzEzNjYxLDggQEAgc3RhdGljIGludCBpbnRlbF9hdG9taWNfY29tbWl0KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCj4+ICAgCQlkcm1fYXRvbWljX2hlbHBlcl91cGRhdGVfbGVnYWN5X21vZGVzZXRf c3RhdGUoc3RhdGUtPmRldiwgc3RhdGUpOwo+Pgo+PiAgIAkJaWYgKGRldl9wcml2LT5kaXNwbGF5 Lm1vZGVzZXRfY29tbWl0X2NkY2xrICYmCj4+IC0JCSAgICBpbnRlbF9zdGF0ZS0+ZGV2X2NkY2xr ICE9IGRldl9wcml2LT5jZGNsa19mcmVxKQo+PiArCQkgICAgKGludGVsX3N0YXRlLT5kZXZfY2Rj bGsgIT0gZGV2X3ByaXYtPmNkY2xrX2ZyZXEgfHwKPj4gKwkJICAgIGludGVsX3N0YXRlLT5jZGNs a19wbGxfdmNvICE9IGRldl9wcml2LT5za2xfdmNvX2ZyZXEpKQo+PiAgIAkJCWRldl9wcml2LT5k aXNwbGF5Lm1vZGVzZXRfY29tbWl0X2NkY2xrKHN0YXRlKTsKPj4gICAJfQo+Pgo+PiBAQCAtMTQ5 NjQsOCArMTUwMzgsMTIgQEAgc3RhdGljIHZvaWQgaW50ZWxfaW5pdF9kaXNwbGF5KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpCj4+ICAgCQkJYnJveHRvbl9tb2Rlc2V0X2NvbW1pdF9jZGNsazsKPj4g ICAJCWRldl9wcml2LT5kaXNwbGF5Lm1vZGVzZXRfY2FsY19jZGNsayA9Cj4+ICAgCQkJYnJveHRv bl9tb2Rlc2V0X2NhbGNfY2RjbGs7Cj4+ICsJfSBlbHNlIGlmIChJU19TS1lMQUtFKGRldikgfHwg SVNfS0FCWUxBS0UoZGV2KSkgewo+PiArCQlkZXZfcHJpdi0+ZGlzcGxheS5tb2Rlc2V0X2NvbW1p dF9jZGNsayA9Cj4+ICsJCQlza2xfbW9kZXNldF9jb21taXRfY2RjbGs7Cj4+ICsJCWRldl9wcml2 LT5kaXNwbGF5Lm1vZGVzZXRfY2FsY19jZGNsayA9Cj4+ICsJCQlza2xfbW9kZXNldF9jYWxjX2Nk Y2xrOwo+PiAgIAl9Cj4+IC0KPj4gICAJc3dpdGNoIChJTlRFTF9JTkZPKGRldiktPmdlbikgewo+ PiAgIAljYXNlIDI6Cj4+ICAgCQlkZXZfcHJpdi0+ZGlzcGxheS5xdWV1ZV9mbGlwID0gaW50ZWxf Z2VuMl9xdWV1ZV9mbGlwOwo+PiBAQCAtMTU2NzIsNyArMTU3NTAsOCBAQCBzdGF0aWMgdm9pZCBp bnRlbF9tb2Rlc2V0X3JlYWRvdXRfaHdfc3RhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPj4g ICAJCWlmIChjcnRjX3N0YXRlLT5iYXNlLmFjdGl2ZSkgewo+PiAgIAkJCWRldl9wcml2LT5hY3Rp dmVfY3J0Y3MgfD0gMSA8PCBjcnRjLT5waXBlOwo+Pgo+PiAtCQkJaWYgKElTX0JST0FEV0VMTChk ZXZfcHJpdikpIHsKPj4gKwkJCWlmIChJU19CUk9BRFdFTEwoZGV2X3ByaXYpIHx8IElTX1NLWUxB S0UoZGV2X3ByaXYpIHx8Cj4+ICsJCQkgICAgSVNfS0FCWUxBS0UoZGV2X3ByaXYpKSB7Cj4+ICAg CQkJCXBpeGNsayA9IGlsa19waXBlX3BpeGVsX3JhdGUoY3J0Y19zdGF0ZSk7Cj4+Cj4+ICAgCQkJ CS8qIHBpeGVsIHJhdGUgbXVzdG4ndCBleGNlZWQgOTUlIG9mIGNkY2xrIHdpdGggSVBTIG9uIEJE VyAqLwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3Iu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwbGxfbWdyLmMKPj4gaW5kZXggNGI2MzZj NC4uYTU2NDJiMSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBs bF9tZ3IuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxsX21nci5jCj4+ IEBAIC0xMTgzLDYgKzExODMsNyBAQCBza2xfZ2V0X2RwbGwoc3RydWN0IGludGVsX2NydGMgKmNy dGMsIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+PiAgIAlzdHJ1Y3QgaW50 ZWxfc2hhcmVkX2RwbGwgKnBsbDsKPj4gICAJdWludDMyX3QgY3RybDEsIGNmZ2NyMSwgY2ZnY3Iy Owo+PiAgIAlpbnQgY2xvY2sgPSBjcnRjX3N0YXRlLT5wb3J0X2Nsb2NrOwo+PiArCXVpbnQzMl90 IHZjbyA9IDgxMDA7Cj4+Cj4+ICAgCS8qCj4+ICAgCSAqIFNlZSBjb21tZW50IGluIGludGVsX2Rw bGxfaHdfc3RhdGUgdG8gdW5kZXJzdGFuZCB3aHkgd2UgYWx3YXlzIHVzZSAwCj4+IEBAIC0xMjI1 LDE3ICsxMjI2LDE3IEBAIHNrbF9nZXRfZHBsbChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0Yywgc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4+ICAgCQljYXNlIDE2MjAwMDoKPj4g ICAJCQljdHJsMSB8PSBEUExMX0NUUkwxX0xJTktfUkFURShEUExMX0NUUkwxX0xJTktfUkFURV8x NjIwLCAwKTsKPj4gICAJCQlicmVhazsKPj4gLQkJLyogVEJEOiBGb3IgRFAgbGluayByYXRlcyAy LjE2IEdIeiBhbmQgNC4zMiBHSHosIFZDTyBpcyA4NjQwIHdoaWNoCj4+IC0JCXJlc3VsdHMgaW4g Q0RDTEsgY2hhbmdlLiBOZWVkIHRvIGhhbmRsZSB0aGUgY2hhbmdlIG9mIENEQ0xLIGJ5Cj4+IC0J CWRpc2FibGluZyBwaXBlcyBhbmQgcmUtZW5hYmxpbmcgdGhlbSAqLwo+PiAgIAkJY2FzZSAxMDgw MDA6Cj4+ICAgCQkJY3RybDEgfD0gRFBMTF9DVFJMMV9MSU5LX1JBVEUoRFBMTF9DVFJMMV9MSU5L X1JBVEVfMTA4MCwgMCk7Cj4+ICsJCQl2Y28gPSA4NjQwOwo+PiAgIAkJCWJyZWFrOwo+PiAgIAkJ Y2FzZSAyMTYwMDA6Cj4+ICAgCQkJY3RybDEgfD0gRFBMTF9DVFJMMV9MSU5LX1JBVEUoRFBMTF9D VFJMMV9MSU5LX1JBVEVfMjE2MCwgMCk7Cj4+ICsJCQl2Y28gPSA4NjQwOwo+PiAgIAkJCWJyZWFr Owo+PiAgIAkJfQo+Pgo+PiArCQl0b19pbnRlbF9hdG9taWNfc3RhdGUoY3J0Y19zdGF0ZS0+YmFz ZS5zdGF0ZSktPmNkY2xrX3BsbF92Y28gPSB2Y287Cj4+ICAgCQljZmdjcjEgPSBjZmdjcjIgPSAw Owo+PiAgIAl9IGVsc2Ugewo+PiAgIAkJcmV0dXJuIE5VTEw7Cj4+IEBAIC0xNjI4LDcgKzE2Mjks NyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfcGxsX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRl dikKPj4gICAJCWludCBjZGNsa19mcmVxOwo+Pgo+PiAgIAkJY2RjbGtfZnJlcSA9IGRldl9wcml2 LT5kaXNwbGF5LmdldF9kaXNwbGF5X2Nsb2NrX3NwZWVkKGRldik7Cj4+IC0JCWRldl9wcml2LT5z a2xfYm9vdF9jZGNsayA9IGNkY2xrX2ZyZXE7Cj4+ICsJCWRldl9wcml2LT5za2xfdmNvX2ZyZXEg PSBza2xfY2RjbGtfZ2V0X3ZjbyhjZGNsa19mcmVxKTsKPj4gICAJCWlmIChza2xfc2FuaXRpemVf Y2RjbGsoZGV2X3ByaXYpKQo+PiAgIAkJCURSTV9ERUJVR19LTVMoIlNhbml0aXplZCBjZGNsayBw cm9ncmFtbWVkIGJ5IHByZS1vc1xuIik7Cj4+ICAgCQlpZiAoIShJOTE1X1JFQUQoTENQTEwxX0NU TCkgJiBMQ1BMTF9QTExfRU5BQkxFKSkKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPj4gaW5k ZXggMDJiM2QyMi4uYjIzYjEyOSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHJ2LmgKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPj4g QEAgLTMwMSw2ICszMDEsMTAgQEAgc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSB7Cj4+ICAgCSAq IGRvbid0IGJvdGhlciBjYWxjdWxhdGluZyBpbnRlcm1lZGlhdGUgd2F0ZXJtYXJrcy4KPj4gICAJ ICovCj4+ICAgCWJvb2wgc2tpcF9pbnRlcm1lZGlhdGVfd207Cj4+ICsKPj4gKwkvKiBTS0wvS0JM IE9ubHkgKi8KPj4gKwl1bnNpZ25lZCBpbnQgY2RjbGtfcGxsX3ZjbzsKPj4gKwo+PiAgIH07Cj4+ Cj4+ICAgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlIHsKPj4gQEAgLTEyMzksNiArMTI0Myw3IEBA IHZvaWQgYnh0X2Rpc2FibGVfZGM5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7 Cj4+ICAgdm9pZCBza2xfaW5pdF9jZGNsayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYpOwo+PiAgIGludCBza2xfc2FuaXRpemVfY2RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KTsKPj4gICB2b2lkIHNrbF91bmluaXRfY2RjbGsoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2KTsKPj4gK3Vuc2lnbmVkIGludCBza2xfY2RjbGtfZ2V0X3Zjbyh1bnNp Z25lZCBpbnQgZnJlcSk7Cj4+ICAgdm9pZCBza2xfZW5hYmxlX2RjNihzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpOwo+PiAgIHZvaWQgc2tsX2Rpc2FibGVfZGM2KHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4+ICAgdm9pZCBpbnRlbF9kcF9nZXRfbV9uKHN0cnVj dCBpbnRlbF9jcnRjICpjcnRjLAo+PiAtLQo+PiAxLjcuOS41Cj4+Cj4+IF9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+IEludGVsLWdmeCBtYWlsaW5nIGxp c3QKPj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+PiBodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo+CgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK