From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm/i915/ehl: Add support for DPLL4 (v10) Date: Wed, 10 Jul 2019 21:47:52 +0300 Message-ID: <20190710184752.GL5942@intel.com> References: <20190703230353.24059-1-vivek.kasireddy@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id E6EFF6E11E for ; Wed, 10 Jul 2019 18:47:56 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190703230353.24059-1-vivek.kasireddy@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Vivek Kasireddy Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBKdWwgMDMsIDIwMTkgYXQgMDQ6MDM6NTNQTSAtMDcwMCwgVml2ZWsgS2FzaXJlZGR5 IHdyb3RlOgo+IFRoaXMgcGF0Y2ggYWRkcyBzdXBwb3J0IGZvciBEUExMNCBvbiBFSEwgdGhhdCBp bmNsdWRlIHRoZQo+IGZvbGxvd2luZyByZXN0cmljdGlvbnM6Cj4gCj4gLSBEUExMNCBjYW5ub3Qg YmUgdXNlZCB3aXRoIERESUEgKGNvbWJvIHBvcnQgQSBpbnRlcm5hbCBlRFAgdXNhZ2UpLgo+ICAg RFBMTDQgY2FuIGJlIHVzZWQgd2l0aCBvdGhlciBERElzLCBpbmNsdWRpbmcgRERJRAo+ICAgKGNv bWJvIHBvcnQgQSBleHRlcm5hbCB1c2FnZSkuCj4gCj4gLSBEUExMNCBjYW5ub3QgYmUgZW5hYmxl ZCB3aGVuIERDNSBvciBEQzYgYXJlIGVuYWJsZWQuCj4gCj4gLSBUaGUgRFBMTDQgZW5hYmxlLCBs b2NrLCBwb3dlciBlbmFibGVkLCBhbmQgcG93ZXIgc3RhdGUgYXJlIGNvbm5lY3RlZAo+ICAgdG8g dGhlIE1HUExMMV9FTkFCTEUgcmVnaXN0ZXIuCj4gCj4gdjI6IChzdWdnZXN0aW9ucyBmcm9tIEJv YiBQYWF1d2UpCj4gLSBSZXdvcmsgZWhsX2dldF9kcGxsKCkgZnVuY3Rpb24gdG8gY2FsbCBpbnRl bF9maW5kX3NoYXJlZF9kcGxsKCkgYW5kCj4gICBpdGVyYXRlIHR3aWNlOiBvbmNlIGZvciBDb21i byBwbGxzIGFuZCBvbmNlIGZvciBNRyBwbGxzLgo+IAo+IC0gVXNlIE1HIHBsbCBmdW5jcyBmb3Ig RFBMTDQgaW5zdGVhZCBvZiBjcmVhdGluZyBuZXcgb25lcyBhbmQgbW9kaWZ5Cj4gICBtZ19wbGxf ZW5hYmxlIHRvIGluY2x1ZGUgdGhlIHJlc3RyaWN0aW9ucyBmb3IgRUhMLgo+IAo+IHYzOiBGaXgg Y29tcGlsYXRpb24gZXJyb3IKPiAKPiB2NDogKHN1Z2dlc3Rpb25zIGZyb20gTHVjYXMgYW5kIFZp bGxlKQo+IC0gVHJlYXQgRFBMTDQgYXMgYSBjb21ibyBwaHkgUExMIGFuZCBub3QgYXMgTUcgUExM Cj4gLSBEaXNhYmxlIERDIHN0YXRlcyB3aGVuIHRoaXMgRFBMTCBpcyBiZWluZyBlbmFibGVkCj4g LSBSZXVzZSBpY2xfZ2V0X2RwbGwgaW5zdGVhZCBvZiBjcmVhdGluZyBhIHNlcGFyYXRlIG9uZSBm b3IgRUhMCj4gCj4gdjU6IChzdWdnZXN0aW9uIGZyb20gVmlsbGUpCj4gLSBSZWZjb3VudCB0aGUg REMgT0ZGIHBvd2VyIGRvbWFpbnMgZHVyaW5nIHRoZSBlbmFibGluZyBhbmQgZGlzYWJsaW5nCj4g ICBvZiB0aGlzIERQTEwuCj4gCj4gdjY6IHJlYmFzZQo+IAo+IHY3OiAoc3VnZ2VzdGlvbiBmcm9t IEltcmUpCj4gLSBBZGQgYSBuZXcgcG93ZXIgZG9tYWluIGluc3RlYWQgb2YgaXRlcmF0aW5nIG92 ZXIgdGhlIGRvbWFpbnMKPiAgIGFzc29pY2F0ZWQgd2l0aCBEQyBPRkYgcG93ZXIgd2VsbC4KPiAK PiB2ODogKFZpbGxlIGFuZCBJbXJlKQo+IC0gUmVuYW1lIFBPV0VSX0RPTUFJTl9EUExMNCBUTyBQ T1dFUl9ET01BSU5fRFBMTF9EQ19PRkYKPiAtIEdyYWIgYSByZWZlcmVuY2UgaW4gaW50ZWxfbW9k ZXNldF9zZXR1cF9od19zdGF0ZSgpIGlmIHRoaXMKPiAgIERQTEwgd2FzIGFscmVhZHkgZW5hYmxl ZCBwZXJoYXBzIGJ5IEJJT1MuCj4gLSBDaGVjayBmb3IgdGhlIHBvcnQgdHlwZSBpbnN0ZWFkIG9m IHRoZSBlbmNvZGVyCj4gCj4gdjk6IChWaWxsZSkKPiAtIE1vdmUgdGhlIGJsb2NrIG9mIGNvZGUg dGhhdCBncmFicyBhIHJlZmVyZW5jZSB0byB0aGUgcG93ZXIgZG9tYWluCj4gICBQT1dFUl9ET01B SU5fRFBMTF9EQ19PRkYgdG8gaW50ZWxfbW9kZXNldF9yZWFkb3V0X2h3X3N0YXRlKCkgdG8gZW5z dXJlCj4gICB0aGF0IHRoZXJlIGlzIGEgcmVmZXJlbmNlIHByZXNlbnQgYmVmb3JlIHRoaXMgRFBM TCBtaWdodCBnZXQgZGlzYWJsZWQuCj4gCj4gdjEwOiByZWJhc2UKPiAKPiBDYzogSm9zw6kgUm9i ZXJ0byBkZSBTb3V6YSA8am9zZS5zb3V6YUBpbnRlbC5jb20+Cj4gQ2M6IFZpbGxlIFN5cmrDpGzD pCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gQ2M6IE1hdHQgUm9wZXIgPG1hdHRo ZXcuZC5yb3BlckBpbnRlbC5jb20+Cj4gQ2M6IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNv bT4KPiBTaWduZWQtb2ZmLWJ5OiBWaXZlayBLYXNpcmVkZHkgPHZpdmVrLmthc2lyZWRkeUBpbnRl bC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxh eS5jICB8ICA3ICsrKwo+ICAuLi4vZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3Bvd2Vy LmMgICAgfCAgMyArKwo+ICAuLi4vZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3Bvd2Vy LmggICAgfCAgMSArCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHBsbF9t Z3IuYyB8IDQ3ICsrKysrKysrKysrKysrKysrLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9kcGxsX21nci5oIHwgIDYgKysrCj4gIDUgZmlsZXMgY2hhbmdlZCwgNjAgaW5z ZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX2Rpc3BsYXkuYwo+IGluZGV4IDkxOWY1YWM4NDRjOC4uNTU3NDYyMjA4NDYy IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxh eS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMK PiBAQCAtMTY2NTMsNiArMTY2NTMsMTMgQEAgc3RhdGljIHZvaWQgaW50ZWxfbW9kZXNldF9yZWFk b3V0X2h3X3N0YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAo+ICAJCXBsbC0+b24gPSBw bGwtPmluZm8tPmZ1bmNzLT5nZXRfaHdfc3RhdGUoZGV2X3ByaXYsIHBsbCwKPiAgCQkJCQkJCSZw bGwtPnN0YXRlLmh3X3N0YXRlKTsKPiArCj4gKwkJaWYgKElTX0VMS0hBUlRMQUtFKGRldl9wcml2 KSAmJiBwbGwtPm9uICYmCj4gKwkJICAgIHBsbC0+aW5mby0+aWQgPT0gRFBMTF9JRF9FSExfRFBM TDQpIHsKPiArCQkJcGxsLT53YWtlcmVmID0gaW50ZWxfZGlzcGxheV9wb3dlcl9nZXQoZGV2X3By aXYsCj4gKwkJCQkJCQkgICAgICAgUE9XRVJfRE9NQUlOX0RQTExfRENfT0ZGKTsKPiArCQl9Cj4g Kwo+ICAJCXBsbC0+c3RhdGUuY3J0Y19tYXNrID0gMDsKPiAgCQlmb3JfZWFjaF9pbnRlbF9jcnRj KGRldiwgY3J0Yykgewo+ICAJCQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSA9 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxh eV9wb3dlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3Bv d2VyLmMKPiBpbmRleCBjMTliOTU4NDYxY2EuLjc0MzdmYzcxZDI4OSAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfcG93ZXIuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9wb3dlci5jCj4gQEAg LTExOCw2ICsxMTgsOCBAQCBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbl9zdHIoZW51bSBpbnRl bF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiBkb21haW4pCj4gIAkJcmV0dXJuICJNT0RFU0VUIjsKPiAg CWNhc2UgUE9XRVJfRE9NQUlOX0dUX0lSUToKPiAgCQlyZXR1cm4gIkdUX0lSUSI7Cj4gKwljYXNl IFBPV0VSX0RPTUFJTl9EUExMX0RDX09GRjoKPiArCQlyZXR1cm4gIkRQTExfRENfT0ZGIjsKPiAg CWRlZmF1bHQ6Cj4gIAkJTUlTU0lOR19DQVNFKGRvbWFpbik7Cj4gIAkJcmV0dXJuICI/IjsKPiBA QCAtMjQ1NSw2ICsyNDU3LDcgQEAgdm9pZCBpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAlJQ0xfUFdfMl9QT1dFUl9ET01BSU5TIHwJ CQlcCj4gIAlCSVRfVUxMKFBPV0VSX0RPTUFJTl9NT0RFU0VUKSB8CQkJXAo+ICAJQklUX1VMTChQ T1dFUl9ET01BSU5fQVVYX0EpIHwJCQlcCj4gKwlCSVRfVUxMKFBPV0VSX0RPTUFJTl9EUExMX0RD X09GRikgfAkJCVwKPiAgCUJJVF9VTEwoUE9XRVJfRE9NQUlOX0lOSVQpKQo+ICAKPiAgI2RlZmlu ZSBJQ0xfRERJX0lPX0FfUE9XRVJfRE9NQUlOUyAoCQkJXAo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfcG93ZXIuaCBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9wb3dlci5oCj4gaW5kZXggZmY1N2IwYTdm ZTU5Li44ZjQzZjcwNTFhMTYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9kaXNwbGF5X3Bvd2VyLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX2Rpc3BsYXlfcG93ZXIuaAo+IEBAIC01OSw2ICs1OSw3IEBAIGVudW0gaW50 ZWxfZGlzcGxheV9wb3dlcl9kb21haW4gewo+ICAJUE9XRVJfRE9NQUlOX0dNQlVTLAo+ICAJUE9X RVJfRE9NQUlOX01PREVTRVQsCj4gIAlQT1dFUl9ET01BSU5fR1RfSVJRLAo+ICsJUE9XRVJfRE9N QUlOX0RQTExfRENfT0ZGLAo+ICAJUE9XRVJfRE9NQUlOX0lOSVQsCj4gIAo+ICAJUE9XRVJfRE9N QUlOX05VTSwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9kcGxsX21nci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcGxsX21n ci5jCj4gaW5kZXggZjk1Mzk3MWU3YzNiLi42N2NmZTgzNjI4NmUgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcGxsX21nci5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcGxsX21nci5jCj4gQEAgLTI5MDUsNiArMjkw NSw5IEBAIHN0YXRpYyBib29sIGljbF9nZXRfY29tYm9fcGh5X2RwbGwoc3RydWN0IGludGVsX2F0 b21pY19zdGF0ZSAqc3RhdGUsCj4gIAkJaW50ZWxfYXRvbWljX2dldF9uZXdfY3J0Y19zdGF0ZShz dGF0ZSwgY3J0Yyk7Cj4gIAlzdHJ1Y3QgaWNsX3BvcnRfZHBsbCAqcG9ydF9kcGxsID0KPiAgCQkm Y3J0Y19zdGF0ZS0+aWNsX3BvcnRfZHBsbHNbSUNMX1BPUlRfRFBMTF9ERUZBVUxUXTsKPiArCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYp Owo+ICsJZW51bSBwb3J0IHBvcnQgPSBlbmNvZGVyLT5wb3J0Owo+ICsJYm9vbCBoYXNfZHBsbDQg PSBmYWxzZTsKPiAgCj4gIAlpZiAoIWljbF9jYWxjX2RwbGxfc3RhdGUoY3J0Y19zdGF0ZSwgZW5j b2RlciwgJnBvcnRfZHBsbC0+aHdfc3RhdGUpKSB7Cj4gIAkJRFJNX0RFQlVHX0tNUygiQ291bGQg bm90IGNhbGN1bGF0ZSBjb21ibyBQSFkgUExMIHN0YXRlLlxuIik7Cj4gQEAgLTI5MTIsMTAgKzI5 MTUsMTQgQEAgc3RhdGljIGJvb2wgaWNsX2dldF9jb21ib19waHlfZHBsbChzdHJ1Y3QgaW50ZWxf YXRvbWljX3N0YXRlICpzdGF0ZSwKPiAgCQlyZXR1cm4gZmFsc2U7Cj4gIAl9Cj4gIAo+ICsJaWYg KElTX0VMS0hBUlRMQUtFKGRldl9wcml2KSAmJiBwb3J0ICE9IFBPUlRfQSkKPiArCQloYXNfZHBs bDQgPSB0cnVlOwo+ICsKPiAgCXBvcnRfZHBsbC0+cGxsID0gaW50ZWxfZmluZF9zaGFyZWRfZHBs bChzdGF0ZSwgY3J0YywKPiAgCQkJCQkJJnBvcnRfZHBsbC0+aHdfc3RhdGUsCj4gIAkJCQkJCURQ TExfSURfSUNMX0RQTEwwLAo+IC0JCQkJCQlEUExMX0lEX0lDTF9EUExMMSk7Cj4gKwkJCQkJCWhh c19kcGxsNCA/IERQTExfSURfRUhMX0RQTEw0Cj4gKwkJCQkJCQkgIDogRFBMTF9JRF9JQ0xfRFBM TDEpOwo+ICAJaWYgKCFwb3J0X2RwbGwtPnBsbCkgewo+ICAJCURSTV9ERUJVR19LTVMoIk5vIGNv bWJvIFBIWSBQTEwgZm91bmQgZm9yIHBvcnQgJWNcbiIsCj4gIAkJCSAgICAgIHBvcnRfbmFtZShl bmNvZGVyLT5wb3J0KSk7Cj4gQEAgLTMxMTksOCArMzEyNiwxNCBAQCBzdGF0aWMgYm9vbCBjb21i b19wbGxfZ2V0X2h3X3N0YXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAg CQkJCSAgIHN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqcGxsLAo+ICAJCQkJICAgc3RydWN0IGlu dGVsX2RwbGxfaHdfc3RhdGUgKmh3X3N0YXRlKQo+ICB7Cj4gLQlyZXR1cm4gaWNsX3BsbF9nZXRf aHdfc3RhdGUoZGV2X3ByaXYsIHBsbCwgaHdfc3RhdGUsCj4gLQkJCQkgICAgQ05MX0RQTExfRU5B QkxFKHBsbC0+aW5mby0+aWQpKTsKPiArCWk5MTVfcmVnX3QgZW5hYmxlX3JlZyA9IENOTF9EUExM X0VOQUJMRShwbGwtPmluZm8tPmlkKTsKPiArCj4gKwlpZiAoSVNfRUxLSEFSVExBS0UoZGV2X3By aXYpICYmCj4gKwkgICAgcGxsLT5pbmZvLT5pZCA9PSBEUExMX0lEX0VITF9EUExMNCkgewo+ICsJ CWVuYWJsZV9yZWcgPSBNR19QTExfRU5BQkxFKDApOwo+ICsJfQo+ICsKPiArCXJldHVybiBpY2xf cGxsX2dldF9od19zdGF0ZShkZXZfcHJpdiwgcGxsLCBod19zdGF0ZSwgZW5hYmxlX3JlZyk7Cj4g IH0KPiAgCj4gIHN0YXRpYyBib29sIHRidF9wbGxfZ2V0X2h3X3N0YXRlKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwKPiBAQCAtMzIzMSw2ICszMjQ0LDE5IEBAIHN0YXRpYyB2b2lk IGNvbWJvX3BsbF9lbmFibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICB7 Cj4gIAlpOTE1X3JlZ190IGVuYWJsZV9yZWcgPSBDTkxfRFBMTF9FTkFCTEUocGxsLT5pbmZvLT5p ZCk7Cj4gIAo+ICsJaWYgKElTX0VMS0hBUlRMQUtFKGRldl9wcml2KSAmJgo+ICsJICAgIHBsbC0+ aW5mby0+aWQgPT0gRFBMTF9JRF9FSExfRFBMTDQpIHsKPiArCQllbmFibGVfcmVnID0gTUdfUExM X0VOQUJMRSgwKTsKPiArCj4gKwkJLyoKPiArCQkgKiBXZSBuZWVkIHRvIGRpc2FibGUgREMgc3Rh dGVzIHdoZW4gdGhpcyBEUExMIGlzIGVuYWJsZWQuCj4gKwkJICogVGhpcyBjYW4gYmUgZG9uZSBi eSB0YWtpbmcgYSByZWZlcmVuY2Ugb24gRFBMTDQgcG93ZXIKPiArCQkgKiBkb21haW4uCj4gKwkJ ICovCj4gKwkJcGxsLT53YWtlcmVmID0gaW50ZWxfZGlzcGxheV9wb3dlcl9nZXQoZGV2X3ByaXYs Cj4gKwkJCQkJCSAgICAgICBQT1dFUl9ET01BSU5fRFBMTF9EQ19PRkYpOwo+ICsJfQo+ICsKPiAg CWljbF9wbGxfcG93ZXJfZW5hYmxlKGRldl9wcml2LCBwbGwsIGVuYWJsZV9yZWcpOwo+ICAKPiAg CWljbF9kcGxsX3dyaXRlKGRldl9wcml2LCBwbGwpOwo+IEBAIC0zMzI2LDcgKzMzNTIsMTkgQEAg c3RhdGljIHZvaWQgaWNsX3BsbF9kaXNhYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwKPiAgc3RhdGljIHZvaWQgY29tYm9fcGxsX2Rpc2FibGUoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LAo+ICAJCQkgICAgICBzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwgKnBs bCkKPiAgewo+IC0JaWNsX3BsbF9kaXNhYmxlKGRldl9wcml2LCBwbGwsIENOTF9EUExMX0VOQUJM RShwbGwtPmluZm8tPmlkKSk7Cj4gKwlpOTE1X3JlZ190IGVuYWJsZV9yZWcgPSBDTkxfRFBMTF9F TkFCTEUocGxsLT5pbmZvLT5pZCk7Cj4gKwo+ICsJaWYgKElTX0VMS0hBUlRMQUtFKGRldl9wcml2 KSAmJgo+ICsJICAgIHBsbC0+aW5mby0+aWQgPT0gRFBMTF9JRF9FSExfRFBMTDQpIHsKPiArCQll bmFibGVfcmVnID0gTUdfUExMX0VOQUJMRSgwKTsKPiArCQlpY2xfcGxsX2Rpc2FibGUoZGV2X3By aXYsIHBsbCwgZW5hYmxlX3JlZyk7Cj4gKwo+ICsJCWludGVsX2Rpc3BsYXlfcG93ZXJfcHV0KGRl dl9wcml2LCBQT1dFUl9ET01BSU5fRFBMTF9EQ19PRkYsCj4gKwkJCQkJcGxsLT53YWtlcmVmKTsK PiArCQlyZXR1cm47Cj4gKwl9Cj4gKwo+ICsJaWNsX3BsbF9kaXNhYmxlKGRldl9wcml2LCBwbGws IGVuYWJsZV9yZWcpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgdm9pZCB0YnRfcGxsX2Rpc2FibGUoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+IEBAIC0zNDA2LDYgKzM0NDQsNyBAQCBz dGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RwbGxfbWdyIGljbF9wbGxfbWdyID0gewo+ICBzdGF0 aWMgY29uc3Qgc3RydWN0IGRwbGxfaW5mbyBlaGxfcGxsc1tdID0gewo+ICAJeyAiRFBMTCAwIiwg JmNvbWJvX3BsbF9mdW5jcywgRFBMTF9JRF9JQ0xfRFBMTDAsIDAgfSwKPiAgCXsgIkRQTEwgMSIs ICZjb21ib19wbGxfZnVuY3MsIERQTExfSURfSUNMX0RQTEwxLCAwIH0sCj4gKwl7ICJEUExMIDQi LCAmY29tYm9fcGxsX2Z1bmNzLCBEUExMX0lEX0VITF9EUExMNCwgMCB9LAo+ICAJeyB9LAo+ICB9 Owo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9k cGxsX21nci5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcGxsX21nci5o Cj4gaW5kZXggMTY2OGY4MTE2OTA4Li40YzJjNWU5M2FmZjMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcGxsX21nci5oCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcGxsX21nci5oCj4gQEAgLTI4LDYgKzI4LDcgQEAK PiAgI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+Cj4gIAo+ICAjaW5jbHVkZSAiaW50ZWxfZGlzcGxh eS5oIgo+ICsjaW5jbHVkZSAiaW50ZWxfd2FrZXJlZi5oIgo+ICAKPiAgLypGSVhNRTogTW92ZSB0 aGlzIHRvIGEgbW9yZSBhcHByb3ByaWF0ZSBwbGFjZS4gKi8KPiAgI2RlZmluZSBhYnNfZGlmZihh LCBiKSAoewkJCVwKPiBAQCAtMTE4LDYgKzExOSwxMCBAQCBlbnVtIGludGVsX2RwbGxfaWQgewo+ ICAJICogQERQTExfSURfSUNMX0RQTEwxOiBJQ0wgY29tYm8gUEhZIERQTEwxCj4gIAkgKi8KPiAg CURQTExfSURfSUNMX0RQTEwxID0gMSwKPiArCS8qKgo+ICsJICogQERQTExfSURfRUhMX0RQTEw0 OiBFSEwgY29tYm8gUEhZIERQTEw0Cj4gKwkgKi8KPiArCURQTExfSURfRUhMX0RQTEw0ID0gMiwK CldoaWxlIGxvb2tpbmcgYXQgdGhlIFRHTCBzdHVmZiBJIG5vdGljZWQgdGhhdCB0aGlzIElEIHNl ZW1zIHRvIGJlIHdyb25nLgpXZSB1c2UgdGhpcyB0byBnZW5lcmF0ZSB0aGUgcmVnaXN0ZXIgb2Zm c2V0cyBidXQgdGhlIGRvY3Mgc2hvdyB0aGUKZm9sbG93aW5nOgoKRFBMTDBfQ0ZHQ1IwICAweDE2 NDAwMApEUExMMV9DRkdDUjAgIDB4MTY0MDgwClRCVFBMTF9DRkdDUjAgMHgxNjQxMDAKRFBMTDRf Q0ZHQ1IwICAweDE2NDIwMAoKU28gdGhlIERQTEw0IGFjY2Vzc2VzIHdpbGwgbm93IGxhbmQgb24g VEJUUExMLiBUaGUgSUQgaWYgRFBMTDQgc2hvdWxkCnJlYWxseSBiZSA0IEkgZ3Vlc3MuCgo+ICAJ LyoqCj4gIAkgKiBARFBMTF9JRF9JQ0xfVEJUUExMOiBJQ0wgVEJUIFBMTAo+ICAJICovCj4gQEAg LTMyMCw2ICszMjUsNyBAQCBzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwgewo+ICAJICogQGluZm86 IHBsYXRmb3JtIHNwZWNpZmljIGluZm8KPiAgCSAqLwo+ICAJY29uc3Qgc3RydWN0IGRwbGxfaW5m byAqaW5mbzsKPiArCWludGVsX3dha2VyZWZfdCB3YWtlcmVmOwo+ICB9Owo+ICAKPiAgI2RlZmlu ZSBTS0xfRFBMTDAgMAo+IC0tIAo+IDIuMjEuMAoKLS0gClZpbGxlIFN5cmrDpGzDpApJbnRlbApf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=