From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [BXT MIPI PATCH v2 06/13] drm/i915/bxt: DSI enable for BXT Date: Mon, 17 Aug 2015 14:33:36 +0300 Message-ID: <87si7ino8f.fsf@intel.com> References: <1437899840-32153-1-git-send-email-uma.shankar@intel.com> <1437899840-32153-7-git-send-email-uma.shankar@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 ESMTP id 27C476E8E4 for ; Mon, 17 Aug 2015 04:30:39 -0700 (PDT) In-Reply-To: <1437899840-32153-7-git-send-email-uma.shankar@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Uma Shankar , intel-gfx@lists.freedesktop.org Cc: shobhit.kumar@intel.com List-Id: intel-gfx@lists.freedesktop.org T24gU3VuLCAyNiBKdWwgMjAxNSwgVW1hIFNoYW5rYXIgPHVtYS5zaGFua2FyQGludGVsLmNvbT4g d3JvdGU6Cj4gRnJvbTogU2hhc2hhbmsgU2hhcm1hIDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29t Pgo+Cj4gVGhpcyBwYXRjaCBjb250YWlucyBmb2xsb3dpbmcgY2hhbmdlczoKPiAxLiBNSVBJIGRl dmljZSByZWFkeSBjaGFuZ2VzIHRvIHN1cHBvcnQgZHNpX3ByZV9lbmFibGUuIENoYW5nZXMKPiAg ICBhcmUgc3BlY2lmaWMgdG8gQlhUIGRldmljZSByZWFkeSBzZXF1ZW5jZS4gQWRkZWQgY2hlY2sg Zm9yCj4gICAgVUxQUyBtb2RlKE5vIGVmZmVjdHMgb24gVkxWKS4KPiAyLiBDaGFuZ2VzIGluIGRz aV9lbmFibGUgdG8gcGljayBCWFQgcG9ydCBjb250cm9sIHJlZ2lzdGVyLgo+IDMuIENoYW5nZXMg aW4gZHNpX3ByZV9lbmFibGUgdG8gcmVzdHJpY3QgRFBJTyBwcm9ncmFtbWluZyBmb3IgVkxWCj4K PiB2MjogRml4ZWQgSmFuaSdzIHJldmlldyBjb21tZW50cy4gUmVtb3ZlZCB0aGUgY2hhbmdlcyBp biBWTFYvQ0hWCj4gICAgIGNvZGUuIEZpeGVkIHRoZSBtYWNyb3MgdG8gZ2V0IHByb3BlciBwb3J0 IG9mZnNldHMuCj4KPiBTaWduZWQtb2ZmLWJ5OiBTaGFzaGFuayBTaGFybWEgPHNoYXNoYW5rLnNo YXJtYUBpbnRlbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogVW1hIFNoYW5rYXIgPHVtYS5zaGFua2Fy QGludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgfCAg ICA5ICsrKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYyB8ICAxNTYgKysrKysr KysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KPiAgMiBmaWxlcyBjaGFuZ2VkLCAxMTUg aW5zZXJ0aW9ucygrKSwgNTAgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgK PiBpbmRleCA4Nzk2YjI1Li43NTU5MDYyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcmVnLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4g QEAgLTc0ODcsNiArNzQ4NywxNSBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2Rl ZmluZSBfTUlQSUFfUE9SVF9DVFJMCQkJKFZMVl9ESVNQTEFZX0JBU0UgKyAweDYxMTkwKQo+ICAj ZGVmaW5lIF9NSVBJQ19QT1JUX0NUUkwJCQkoVkxWX0RJU1BMQVlfQkFTRSArIDB4NjE3MDApCj4g ICNkZWZpbmUgTUlQSV9QT1JUX0NUUkwocG9ydCkJX01JUElfUE9SVChwb3J0LCBfTUlQSUFfUE9S VF9DVFJMLCBfTUlQSUNfUE9SVF9DVFJMKQo+ICsKPiArIC8qIEJYVCBwb3J0IGNvbnRyb2wgKi8K PiArI2RlZmluZSBfQlhUX01JUElBX1BPUlRfQ1RSTAkJCQkweDZCMEMwCj4gKyNkZWZpbmUgX0JY VF9NSVBJQ19QT1JUX0NUUkwJCQkJMHg2QjhDMAo+ICsjZGVmaW5lIEJYVF9NSVBJX1BPUlRfQ1RS TCh0YykJX01JUElfUE9SVCh0YywgX0JYVF9NSVBJQV9QT1JUX0NUUkwsIFwKPiArCQkJCQkJX0JY VF9NSVBJQ19QT1JUX0NUUkwpCj4gKyNkZWZpbmUgR0VUX0RTSV9QT1JUX0NUUkwoZGV2KSAoSVNf QlJPWFRPTihkZXYpID8gQlhUX01JUElfUE9SVF9DVFJMKHBvcnQpIDogXAo+ICsJCQkJCQlNSVBJ X1BPUlRfQ1RSTChwb3J0KSkKCkkgdGhpbmsgeW91IHNob3VsZCBqdXN0IGxlYXZlIHRoYXQgSVNf QlJPWFRPTiBjaGVjayBpbiB0aGUgY29kZSwgYW5kCmRyb3AgdGhlIEdFVF9EU0lfUE9SVF9DVFJM IG1hY3JvLiBXZSBoYXZlbid0IHJlYWxseSBkb25lIHRoaXMgc29ydCBvZgp0aGluZywgYW5kIHBh cnQgb2YgdGhlIHJlYXNvbiAoQUZBSUNTKSBpcyB0aGF0IGl0J3MgbW9yZSBvYnZpb3VzIHRvIHJl YWQKdGhlIGNvZGUgd2hlbiB5b3Uga25vdyB3aGljaCByZWdpc3RlciB3aWxsIGJlIHVzZWQuCgo+ ICsKPiAgI2RlZmluZSAgRFBJX0VOQUJMRQkJCQkJKDEgPDwgMzEpIC8qIEEgKyBDICovCj4gICNk ZWZpbmUgIE1JUElBX01JUEk0RFBIWV9ERUxBWV9DT1VOVF9TSElGVAkJMjcKPiAgI2RlZmluZSAg TUlQSUFfTUlQSTREUEhZX0RFTEFZX0NPVU5UX01BU0sJCSgweGYgPDwgMjcpCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHNpLmMKPiBpbmRleCAwYjIwNTM0Li5jNTg4OWM0IDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHNpLmMKPiBAQCAtMjgxLDYgKzI4MSw4NSBAQCBzdGF0aWMgYm9vbCBpbnRlbF9k c2lfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAlyZXR1 cm4gdHJ1ZTsKPiAgfQo+ICAKPiArc3RhdGljIHZvaWQgYnh0X2RzaV9kZXZpY2VfcmVhZHkoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCj4gK3sKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IGVuY29kZXItPmJhc2UuZGV2LT5kZXZfcHJpdmF0ZTsKPiArCXN0cnVj dCBpbnRlbF9kc2kgKmludGVsX2RzaSA9IGVuY190b19pbnRlbF9kc2koJmVuY29kZXItPmJhc2Up Owo+ICsJZW51bSBwb3J0IHBvcnQ7Cj4gKwl1MzIgdmFsOwo+ICsKPiArCURSTV9ERUJVR19LTVMo IlxuIik7Cj4gKwo+ICsJLyogRXhpdCBMb3cgcG93ZXIgc3RhdGUgaW4gNCBzdGVwcyovCj4gKwlm b3JfZWFjaF9kc2lfcG9ydChwb3J0LCBpbnRlbF9kc2ktPnBvcnRzKSB7Cj4gKwo+ICsJCS8qIDEu IEVuYWJsZSBNSVBJIFBIWSB0cmFuc3BhcmVudCBsYXRjaCAqLwo+ICsJCXZhbCA9IEk5MTVfUkVB RChCWFRfTUlQSV9QT1JUX0NUUkwocG9ydCkpOwo+ICsJCUk5MTVfV1JJVEUoQlhUX01JUElfUE9S VF9DVFJMKHBvcnQpLCB2YWwgfCBMUF9PVVRQVVRfSE9MRCk7Cj4gKwkJdXNsZWVwX3JhbmdlKDIw MDAsIDI1MDApOwo+ICsKPiArCQkvKiAyLiBFbnRlciBVTFBTICovCj4gKwkJdmFsID0gSTkxNV9S RUFEKE1JUElfREVWSUNFX1JFQURZKHBvcnQpKTsKPiArCQl2YWwgJj0gflVMUFNfU1RBVEVfTUFT SzsKPiArCQl2YWwgfD0gKFVMUFNfU1RBVEVfRU5URVIgfCBERVZJQ0VfUkVBRFkpOwo+ICsJCUk5 MTVfV1JJVEUoTUlQSV9ERVZJQ0VfUkVBRFkocG9ydCksIHZhbCk7Cj4gKwkJdXNsZWVwX3Jhbmdl KDIsIDMpOwo+ICsKPiArCQkvKiAzLiBFeGl0IFVMUFMgKi8KPiArCQl2YWwgPSBJOTE1X1JFQUQo TUlQSV9ERVZJQ0VfUkVBRFkocG9ydCkpOwo+ICsJCXZhbCAmPSB+VUxQU19TVEFURV9NQVNLOwo+ ICsJCXZhbCB8PSAoVUxQU19TVEFURV9FWElUIHwgREVWSUNFX1JFQURZKTsKPiArCQlJOTE1X1dS SVRFKE1JUElfREVWSUNFX1JFQURZKHBvcnQpLCB2YWwpOwo+ICsJCXVzbGVlcF9yYW5nZSgxMDAw LCAxNTAwKTsKPiArCj4gKwkJLyogQ2xlYXIgVUxQUyBhbmQgc2V0IGRldmljZSByZWFkeSAqLwo+ ICsJCXZhbCA9IEk5MTVfUkVBRChNSVBJX0RFVklDRV9SRUFEWShwb3J0KSk7Cj4gKwkJdmFsICY9 IH5VTFBTX1NUQVRFX01BU0s7Cj4gKwkJdmFsIHw9IERFVklDRV9SRUFEWTsKPiArCQlJOTE1X1dS SVRFKE1JUElfREVWSUNFX1JFQURZKHBvcnQpLCB2YWwpOwo+ICsJfQo+ICt9Cj4gKwo+ICtzdGF0 aWMgdm9pZCB2bHZfZHNpX2RldmljZV9yZWFkeShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rl cikKPiArewo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZW5jb2Rlci0+ YmFzZS5kZXYtPmRldl9wcml2YXRlOwo+ICsJc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpID0g ZW5jX3RvX2ludGVsX2RzaSgmZW5jb2Rlci0+YmFzZSk7Cj4gKwllbnVtIHBvcnQgcG9ydDsKPiAr CXUzMiB2YWw7Cj4gKwo+ICsJRFJNX0RFQlVHX0tNUygiXG4iKTsKPiArCj4gKwltdXRleF9sb2Nr KCZkZXZfcHJpdi0+c2JfbG9jayk7Cj4gKwkvKiBwcm9ncmFtIHJjb21wIGZvciBjb21wbGlhbmNl LCByZWR1Y2UgZnJvbSA1MCBvaG1zIHRvIDQ1IG9obXMKPiArCSAqIG5lZWRlZCBldmVyeXRpbWUg YWZ0ZXIgcG93ZXIgZ2F0ZSAqLwo+ICsJdmx2X2ZsaXNkc2lfd3JpdGUoZGV2X3ByaXYsIDB4MDQs IDB4MDAwNCk7Cj4gKwltdXRleF91bmxvY2soJmRldl9wcml2LT5zYl9sb2NrKTsKPiArCj4gKwkv KiBiYW5kZ2FwIHJlc2V0IGlzIG5lZWRlZCBhZnRlciBldmVyeXRpbWUgd2UgZG8gcG93ZXIgZ2F0 ZSAqLwo+ICsJYmFuZF9nYXBfcmVzZXQoZGV2X3ByaXYpOwo+ICsKPiArCWZvcl9lYWNoX2RzaV9w b3J0KHBvcnQsIGludGVsX2RzaS0+cG9ydHMpIHsKPiArCj4gKwkJSTkxNV9XUklURShNSVBJX0RF VklDRV9SRUFEWShwb3J0KSwgVUxQU19TVEFURV9FTlRFUik7Cj4gKwkJdXNsZWVwX3JhbmdlKDI1 MDAsIDMwMDApOwo+ICsKPiArCQkvKiBFbmFibGUgTUlQSSBQSFkgdHJhbnNwYXJlbnQgbGF0Y2gK PiArCQkgKiBDb21tb24gYml0IGZvciBib3RoIE1JUEkgUG9ydCBBICYgTUlQSSBQb3J0IEMKPiAr CQkgKiBObyBzaW1pbGFyIGJpdCBpbiBNSVBJIFBvcnQgQyByZWcKPiArCQkgKi8KPiArCQl2YWwg PSBJOTE1X1JFQUQoTUlQSV9QT1JUX0NUUkwoUE9SVF9BKSk7Cj4gKwkJSTkxNV9XUklURShNSVBJ X1BPUlRfQ1RSTChQT1JUX0EpLCB2YWwgfCBMUF9PVVRQVVRfSE9MRCk7Cj4gKwkJdXNsZWVwX3Jh bmdlKDEwMDAsIDE1MDApOwo+ICsKPiArCQlJOTE1X1dSSVRFKE1JUElfREVWSUNFX1JFQURZKHBv cnQpLCBVTFBTX1NUQVRFX0VYSVQpOwo+ICsJCXVzbGVlcF9yYW5nZSgyNTAwLCAzMDAwKTsKPiAr Cj4gKwkJSTkxNV9XUklURShNSVBJX0RFVklDRV9SRUFEWShwb3J0KSwgREVWSUNFX1JFQURZKTsK PiArCQl1c2xlZXBfcmFuZ2UoMjUwMCwgMzAwMCk7Cj4gKwl9Cj4gK30KCkknZCBwcmVmZXIgeW91 IHB1dCB0aGVzZSBmdW5jdGlvbnMgd2hlcmUgdGhlIGludGVsX2RzaV9kZXZpY2VfcmVhZHkKZnVu Y3Rpb24gaXMgbm93IGluc3RlYWQgb2Ygc2VwYXJhdGluZyB0aGVzZSBmcm9tIGl0LiBZb3UnbGwg YWxzbyBnZXQgYQpuaWNlIGRpZmYgd2hlcmUgeW91IHNlZSB0aGF0IHRoaW5ncyBhcmUgbm90IGNo YW5nZWQgZm9yIHZsdi4KCj4gKwo+ICsKPiAgc3RhdGljIHZvaWQgaW50ZWxfZHNpX3BvcnRfZW5h YmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2ID0gZW5jb2Rlci0+YmFzZS5kZXY7Cj4gQEAgLTI4OSw2ICszNjgsNyBAQCBzdGF0 aWMgdm9pZCBpbnRlbF9kc2lfcG9ydF9lbmFibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29k ZXIpCj4gIAlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKCZl bmNvZGVyLT5iYXNlKTsKPiAgCWVudW0gcG9ydCBwb3J0Owo+ICAJdTMyIHRlbXA7Cj4gKwl1MzIg cG9ydF9jdHJsOwo+ICAKPiAgCWlmIChpbnRlbF9kc2ktPmR1YWxfbGluayA9PSBEU0lfRFVBTF9M SU5LX0ZST05UX0JBQ0spIHsKPiAgCQl0ZW1wID0gSTkxNV9SRUFEKFZMVl9DSElDS0VOXzMpOwo+ IEBAIC0yOTksNyArMzc5LDkgQEAgc3RhdGljIHZvaWQgaW50ZWxfZHNpX3BvcnRfZW5hYmxlKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ICAJfQo+ICAKPiAgCWZvcl9lYWNoX2RzaV9w b3J0KHBvcnQsIGludGVsX2RzaS0+cG9ydHMpIHsKPiAtCQl0ZW1wID0gSTkxNV9SRUFEKE1JUElf UE9SVF9DVFJMKHBvcnQpKTsKPiArCQlwb3J0X2N0cmwgPSBHRVRfRFNJX1BPUlRfQ1RSTChkZXYp Owo+ICsJCXRlbXAgPSBJOTE1X1JFQUQocG9ydF9jdHJsKTsKPiArCj4gIAkJdGVtcCAmPSB+TEFO RV9DT05GSUdVUkFUSU9OX01BU0s7Cj4gIAkJdGVtcCAmPSB+RFVBTF9MSU5LX01PREVfTUFTSzsK PiAgCj4gQEAgLTMxMSw4ICszOTMsOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kc2lfcG9ydF9lbmFi bGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCj4gIAkJCQkJTEFORV9DT05GSUdVUkFU SU9OX0RVQUxfTElOS19BOwo+ICAJCX0KPiAgCQkvKiBhc3NlcnQgaXBfdGdfZW5hYmxlIHNpZ25h bCAqLwo+IC0JCUk5MTVfV1JJVEUoTUlQSV9QT1JUX0NUUkwocG9ydCksIHRlbXAgfCBEUElfRU5B QkxFKTsKPiAtCQlQT1NUSU5HX1JFQUQoTUlQSV9QT1JUX0NUUkwocG9ydCkpOwo+ICsJCUk5MTVf V1JJVEUocG9ydF9jdHJsLCB0ZW1wIHwgRFBJX0VOQUJMRSk7Cj4gKwkJUE9TVElOR19SRUFEKHBv cnRfY3RybCk7Cj4gIAl9Cj4gIH0KPiAgCj4gQEAgLTMzNCw0MSArNDE2LDEyIEBAIHN0YXRpYyB2 b2lkIGludGVsX2RzaV9wb3J0X2Rpc2FibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIp Cj4gIAo+ICBzdGF0aWMgdm9pZCBpbnRlbF9kc2lfZGV2aWNlX3JlYWR5KHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyKQo+ICB7Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSBlbmNvZGVyLT5iYXNlLmRldi0+ZGV2X3ByaXZhdGU7Cj4gLQlzdHJ1Y3QgaW50ZWxfZHNp ICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKCZlbmNvZGVyLT5iYXNlKTsKPiAtCWVudW0g cG9ydCBwb3J0Owo+IC0JdTMyIHZhbDsKPiAtCj4gLQlEUk1fREVCVUdfS01TKCJcbiIpOwo+IC0K PiAtCW11dGV4X2xvY2soJmRldl9wcml2LT5zYl9sb2NrKTsKPiAtCS8qIHByb2dyYW0gcmNvbXAg Zm9yIGNvbXBsaWFuY2UsIHJlZHVjZSBmcm9tIDUwIG9obXMgdG8gNDUgb2htcwo+IC0JICogbmVl ZGVkIGV2ZXJ5dGltZSBhZnRlciBwb3dlciBnYXRlICovCj4gLQl2bHZfZmxpc2RzaV93cml0ZShk ZXZfcHJpdiwgMHgwNCwgMHgwMDA0KTsKPiAtCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPnNiX2xv Y2spOwo+IC0KPiAtCS8qIGJhbmRnYXAgcmVzZXQgaXMgbmVlZGVkIGFmdGVyIGV2ZXJ5dGltZSB3 ZSBkbyBwb3dlciBnYXRlICovCj4gLQliYW5kX2dhcF9yZXNldChkZXZfcHJpdik7Cj4gLQo+IC0J Zm9yX2VhY2hfZHNpX3BvcnQocG9ydCwgaW50ZWxfZHNpLT5wb3J0cykgewo+IC0KPiAtCQlJOTE1 X1dSSVRFKE1JUElfREVWSUNFX1JFQURZKHBvcnQpLCBVTFBTX1NUQVRFX0VOVEVSKTsKPiAtCQl1 c2xlZXBfcmFuZ2UoMjUwMCwgMzAwMCk7Cj4gLQo+IC0JCS8qIEVuYWJsZSBNSVBJIFBIWSB0cmFu c3BhcmVudCBsYXRjaAo+IC0JCSAqIENvbW1vbiBiaXQgZm9yIGJvdGggTUlQSSBQb3J0IEEgJiBN SVBJIFBvcnQgQwo+IC0JCSAqIE5vIHNpbWlsYXIgYml0IGluIE1JUEkgUG9ydCBDIHJlZwo+IC0J CSAqLwo+IC0JCXZhbCA9IEk5MTVfUkVBRChNSVBJX1BPUlRfQ1RSTChQT1JUX0EpKTsKPiAtCQlJ OTE1X1dSSVRFKE1JUElfUE9SVF9DVFJMKFBPUlRfQSksIHZhbCB8IExQX09VVFBVVF9IT0xEKTsK PiAtCQl1c2xlZXBfcmFuZ2UoMTAwMCwgMTUwMCk7Cj4gLQo+IC0JCUk5MTVfV1JJVEUoTUlQSV9E RVZJQ0VfUkVBRFkocG9ydCksIFVMUFNfU1RBVEVfRVhJVCk7Cj4gLQkJdXNsZWVwX3JhbmdlKDI1 MDAsIDMwMDApOwo+ICsJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmJhc2UuZGV2 Owo+ICAKPiAtCQlJOTE1X1dSSVRFKE1JUElfREVWSUNFX1JFQURZKHBvcnQpLCBERVZJQ0VfUkVB RFkpOwo+IC0JCXVzbGVlcF9yYW5nZSgyNTAwLCAzMDAwKTsKPiAtCX0KPiArCWlmIChJU19WQUxM RVlWSUVXKGRldikpCj4gKwkJdmx2X2RzaV9kZXZpY2VfcmVhZHkoZW5jb2Rlcik7Cj4gKwllbHNl IGlmIChJU19CUk9YVE9OKGRldikpCj4gKwkJYnh0X2RzaV9kZXZpY2VfcmVhZHkoZW5jb2Rlcik7 Cj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lkIGludGVsX2RzaV9lbmFibGUoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIpCj4gQEAgLTQxMCwxOSArNDYzLDIyIEBAIHN0YXRpYyB2b2lkIGludGVs X2RzaV9wcmVfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ICAKPiAgCURS TV9ERUJVR19LTVMoIlxuIik7Cj4gIAo+IC0JLyogRGlzYWJsZSBEUE91bml0IGNsb2NrIGdhdGlu ZywgY2FuIHN0YWxsIHBpcGUKPiAtCSAqIGFuZCB3ZSBuZWVkIERQTEwgUkVGQSBhbHdheXMgZW5h YmxlZCAqLwo+IC0JdG1wID0gSTkxNV9SRUFEKERQTEwocGlwZSkpOwo+IC0JdG1wIHw9IERQTExf UkVGX0NMS19FTkFCTEVfVkxWOwo+IC0JSTkxNV9XUklURShEUExMKHBpcGUpLCB0bXApOwo+IC0K PiAtCS8qIHVwZGF0ZSB0aGUgaHcgc3RhdGUgZm9yIERQTEwgKi8KPiAtCWludGVsX2NydGMtPmNv bmZpZy0+ZHBsbF9od19zdGF0ZS5kcGxsID0gRFBMTF9JTlRFR1JBVEVEX1JFRl9DTEtfVkxWIHwK PiAtCQlEUExMX1JFRl9DTEtfRU5BQkxFX1ZMViB8IERQTExfVkdBX01PREVfRElTOwo+IC0KPiAt CXRtcCA9IEk5MTVfUkVBRChEU1BDTEtfR0FURV9EKTsKPiAtCXRtcCB8PSBEUE9VTklUX0NMT0NL X0dBVEVfRElTQUJMRTsKPiAtCUk5MTVfV1JJVEUoRFNQQ0xLX0dBVEVfRCwgdG1wKTsKPiArCWlm IChJU19WQUxMRVlWSUVXKGRldikpIHsKPiArCQkvKiBEaXNhYmxlIERQT3VuaXQgY2xvY2sgZ2F0 aW5nLCBjYW4gc3RhbGwgcGlwZQo+ICsJCSAqIGFuZCB3ZSBuZWVkIERQTEwgUkVGQSBhbHdheXMg ZW5hYmxlZCAqLwo+ICsJCXRtcCA9IEk5MTVfUkVBRChEUExMKHBpcGUpKTsKPiArCQl0bXAgfD0g RFBMTF9SRUZfQ0xLX0VOQUJMRV9WTFY7Cj4gKwkJSTkxNV9XUklURShEUExMKHBpcGUpLCB0bXAp Owo+ICsKPiArCQkvKiB1cGRhdGUgdGhlIGh3IHN0YXRlIGZvciBEUExMICovCj4gKwkJaW50ZWxf Y3J0Yy0+Y29uZmlnLT5kcGxsX2h3X3N0YXRlLmRwbGwgPQo+ICsJCQlEUExMX0lOVEVHUkFURURf UkVGX0NMS19WTFYgfAo+ICsJCQlEUExMX1JFRl9DTEtfRU5BQkxFX1ZMViB8IERQTExfVkdBX01P REVfRElTOwo+ICsKPiArCQl0bXAgPSBJOTE1X1JFQUQoRFNQQ0xLX0dBVEVfRCk7Cj4gKwkJdG1w IHw9IERQT1VOSVRfQ0xPQ0tfR0FURV9ESVNBQkxFOwo+ICsJCUk5MTVfV1JJVEUoRFNQQ0xLX0dB VEVfRCwgdG1wKTsKPiArCX0KPiAgCj4gIAkvKiBwdXQgZGV2aWNlIGluIHJlYWR5IHN0YXRlICov Cj4gIAlpbnRlbF9kc2lfZGV2aWNlX3JlYWR5KGVuY29kZXIpOwo+IC0tIAo+IDEuNy45LjUKPgoK LS0gCkphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNobm9sb2d5IENlbnRlcgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=