From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [BXT MIPI PATCH v3 06/14] drm/i915/bxt: DSI enable for BXT Date: Fri, 18 Sep 2015 16:17:11 +0300 Message-ID: <87r3lvrhns.fsf@intel.com> References: <1441116710-14118-1-git-send-email-uma.shankar@intel.com> <1441116710-14118-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 mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 2B13C6E6F1 for ; Fri, 18 Sep 2015 06:13:57 -0700 (PDT) In-Reply-To: <1441116710-14118-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 T24gVHVlLCAwMSBTZXAgMjAxNSwgVW1hIFNoYW5rYXIgPHVtYS5zaGFua2FyQGludGVsLmNvbT4g d3JvdGU6Cj4gRnJvbTogU2hhc2hhbmsgU2hhcm1hIDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29t Pgo+Cj4gVGhpcyBwYXRjaCBjb250YWlucyBmb2xsb3dpbmcgY2hhbmdlczoKPiAxLiBNSVBJIGRl dmljZSByZWFkeSBjaGFuZ2VzIHRvIHN1cHBvcnQgZHNpX3ByZV9lbmFibGUuIENoYW5nZXMKPiAg ICBhcmUgc3BlY2lmaWMgdG8gQlhUIGRldmljZSByZWFkeSBzZXF1ZW5jZS4gQWRkZWQgY2hlY2sg Zm9yCj4gICAgVUxQUyBtb2RlKE5vIGVmZmVjdHMgb24gVkxWKS4KPiAyLiBDaGFuZ2VzIGluIGRz aV9lbmFibGUgdG8gcGljayBCWFQgcG9ydCBjb250cm9sIHJlZ2lzdGVyLgo+IDMuIENoYW5nZXMg aW4gZHNpX3ByZV9lbmFibGUgdG8gcmVzdHJpY3QgRFBJTyBwcm9ncmFtbWluZyBmb3IgVkxWCj4K PiB2MjogRml4ZWQgSmFuaSdzIHJldmlldyBjb21tZW50cy4gUmVtb3ZlZCB0aGUgY2hhbmdlcyBp biBWTFYvQ0hWCj4gICAgIGNvZGUuIEZpeGVkIHRoZSBtYWNyb3MgdG8gZ2V0IHByb3BlciBwb3J0 IG9mZnNldHMuCj4KPiB2MzogUmViYXNlZCBvbiBsYXRlc3QgZHJtLW5pZ2h0bHkgYnJhbmNoLiBG aXhlZCBKYW5pJ3MgcmV2aWV3IGNvbW1lbnRzLgo+Cj4gU2lnbmVkLW9mZi1ieTogU2hhc2hhbmsg U2hhcm1hIDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IFVtYSBT aGFua2FyIDx1bWEuc2hhbmthckBpbnRlbC5jb20+CgpSZXZpZXdlZC1ieTogSmFuaSBOaWt1bGEg PGphbmkubmlrdWxhQGludGVsLmNvbT4KCldoZW4geW91IGxvb2sgYXQgdGhlIGNvbW1pdHMgYmVm b3JlIHNlbmRpbmcsIHlvdSBzaG91bGQgcGF5IG1vcmUKYXR0ZW50aW9uIHRvIHdoYXQgdGhlIGRp ZmZzIGVuZCB1cCBsb29raW5nIGxpa2UuIEluIHRoaXMgY2FzZSwgdGhlCnJldmlldyBiZWNvbWVz IHVubmVjZXNzYXJpbHkgaGFyZCBqdXN0IGJlY2F1c2UgeW91J3ZlIG1vdmVkIGNvZGUKKGludGVs X2RzaV9wb3J0X2VuYWJsZSkgYXJvdW5kIGZvciBubyBhcHBhcmVudCByZWFzb24sIGFuZCB0aGUg ZGlmZgpzZWVtcyBsaWtlIGludGVsX2RzaV9wb3J0X2VuYWJsZSBpcyByZXdyaXR0ZW4gaW50bwpi eHRfZHNpX2RldmljZV9yZWFkeS4gSXQgc2hvdWxkIGJlIGEgaGludCB0byAqbm90KiBjb21iaW5l IGNvZGUgbW92ZW1lbnQKaW50byB0aGUgc2FtZSBwYXRjaC4KCgo+IC0tLQo+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3JlZy5oICB8ICAgIDcgKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHNpLmMgfCAgMTY1ICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0t Cj4gIDIgZmlsZXMgY2hhbmdlZCwgMTE5IGluc2VydGlvbnMoKyksIDUzIGRlbGV0aW9ucygtKQo+ Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gaW5kZXggOTk3YTk5OS4uNTdjNWRiZiAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+IEBAIC03NDAzLDYgKzc0MDMsMTMgQEAgZW51bSBza2xf ZGlzcF9wb3dlcl93ZWxscyB7Cj4gICNkZWZpbmUgX01JUElBX1BPUlRfQ1RSTAkJCShWTFZfRElT UExBWV9CQVNFICsgMHg2MTE5MCkKPiAgI2RlZmluZSBfTUlQSUNfUE9SVF9DVFJMCQkJKFZMVl9E SVNQTEFZX0JBU0UgKyAweDYxNzAwKQo+ICAjZGVmaW5lIE1JUElfUE9SVF9DVFJMKHBvcnQpCV9N SVBJX1BPUlQocG9ydCwgX01JUElBX1BPUlRfQ1RSTCwgX01JUElDX1BPUlRfQ1RSTCkKPiArCj4g KyAvKiBCWFQgcG9ydCBjb250cm9sICovCj4gKyNkZWZpbmUgX0JYVF9NSVBJQV9QT1JUX0NUUkwJ CQkJMHg2QjBDMAo+ICsjZGVmaW5lIF9CWFRfTUlQSUNfUE9SVF9DVFJMCQkJCTB4NkI4QzAKPiAr I2RlZmluZSBCWFRfTUlQSV9QT1JUX0NUUkwodGMpCV9NSVBJX1BPUlQodGMsIF9CWFRfTUlQSUFf UE9SVF9DVFJMLCBcCj4gKwkJCQkJCV9CWFRfTUlQSUNfUE9SVF9DVFJMKQo+ICsKPiAgI2RlZmlu ZSAgRFBJX0VOQUJMRQkJCQkJKDEgPDwgMzEpIC8qIEEgKyBDICovCj4gICNkZWZpbmUgIE1JUElB X01JUEk0RFBIWV9ERUxBWV9DT1VOVF9TSElGVAkJMjcKPiAgI2RlZmluZSAgTUlQSUFfTUlQSTRE UEhZX0RFTEFZX0NPVU5UX01BU0sJCSgweGYgPDwgMjcpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RzaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNp LmMKPiBpbmRleCA2ZDBjOTkyLi41YTQyZjg3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RzaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNp LmMKPiBAQCAtMjg2LDU4ICsyODYsNDYgQEAgc3RhdGljIGJvb2wgaW50ZWxfZHNpX2NvbXB1dGVf Y29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJcmV0dXJuIHRydWU7Cj4g IH0KPiAgCj4gLXN0YXRpYyB2b2lkIGludGVsX2RzaV9wb3J0X2VuYWJsZShzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlcikKPiArc3RhdGljIHZvaWQgYnh0X2RzaV9kZXZpY2VfcmVhZHkoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCj4gIHsKPiAtCXN0cnVjdCBkcm1fZGV2aWNlICpk ZXYgPSBlbmNvZGVyLT5iYXNlLmRldjsKPiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0 YyA9IHRvX2ludGVsX2NydGMoZW5jb2Rlci0+YmFzZS5jcnRjKTsKPiArCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IGVuY29kZXItPmJhc2UuZGV2LT5kZXZfcHJpdmF0ZTsKPiAg CXN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSA9IGVuY190b19pbnRlbF9kc2koJmVuY29kZXIt PmJhc2UpOwo+ICAJZW51bSBwb3J0IHBvcnQ7Cj4gLQl1MzIgdGVtcDsKPiArCXUzMiB2YWw7Cj4g IAo+IC0JaWYgKGludGVsX2RzaS0+ZHVhbF9saW5rID09IERTSV9EVUFMX0xJTktfRlJPTlRfQkFD Sykgewo+IC0JCXRlbXAgPSBJOTE1X1JFQUQoVkxWX0NISUNLRU5fMyk7Cj4gLQkJdGVtcCAmPSB+ UElYRUxfT1ZFUkxBUF9DTlRfTUFTSyB8Cj4gLQkJCQkJaW50ZWxfZHNpLT5waXhlbF9vdmVybGFw IDw8Cj4gLQkJCQkJUElYRUxfT1ZFUkxBUF9DTlRfU0hJRlQ7Cj4gLQkJSTkxNV9XUklURShWTFZf Q0hJQ0tFTl8zLCB0ZW1wKTsKPiAtCX0KPiArCURSTV9ERUJVR19LTVMoIlxuIik7Cj4gIAo+ICsJ LyogRXhpdCBMb3cgcG93ZXIgc3RhdGUgaW4gNCBzdGVwcyovCj4gIAlmb3JfZWFjaF9kc2lfcG9y dChwb3J0LCBpbnRlbF9kc2ktPnBvcnRzKSB7Cj4gLQkJdGVtcCA9IEk5MTVfUkVBRChNSVBJX1BP UlRfQ1RSTChwb3J0KSk7Cj4gLQkJdGVtcCAmPSB+TEFORV9DT05GSUdVUkFUSU9OX01BU0s7Cj4g LQkJdGVtcCAmPSB+RFVBTF9MSU5LX01PREVfTUFTSzsKPiAgCj4gLQkJaWYgKGludGVsX2RzaS0+ cG9ydHMgPT0gKCgxIDw8IFBPUlRfQSkgfCAoMSA8PCBQT1JUX0MpKSkgewo+IC0JCQl0ZW1wIHw9 IChpbnRlbF9kc2ktPmR1YWxfbGluayAtIDEpCj4gLQkJCQkJCTw8IERVQUxfTElOS19NT0RFX1NI SUZUOwo+IC0JCQl0ZW1wIHw9IGludGVsX2NydGMtPnBpcGUgPwo+IC0JCQkJCUxBTkVfQ09ORklH VVJBVElPTl9EVUFMX0xJTktfQiA6Cj4gLQkJCQkJTEFORV9DT05GSUdVUkFUSU9OX0RVQUxfTElO S19BOwo+IC0JCX0KPiAtCQkvKiBhc3NlcnQgaXBfdGdfZW5hYmxlIHNpZ25hbCAqLwo+IC0JCUk5 MTVfV1JJVEUoTUlQSV9QT1JUX0NUUkwocG9ydCksIHRlbXAgfCBEUElfRU5BQkxFKTsKPiAtCQlQ T1NUSU5HX1JFQUQoTUlQSV9QT1JUX0NUUkwocG9ydCkpOwo+IC0JfQo+IC19Cj4gKwkJLyogMS4g RW5hYmxlIE1JUEkgUEhZIHRyYW5zcGFyZW50IGxhdGNoICovCj4gKwkJdmFsID0gSTkxNV9SRUFE KEJYVF9NSVBJX1BPUlRfQ1RSTChwb3J0KSk7Cj4gKwkJSTkxNV9XUklURShCWFRfTUlQSV9QT1JU X0NUUkwocG9ydCksIHZhbCB8IExQX09VVFBVVF9IT0xEKTsKPiArCQl1c2xlZXBfcmFuZ2UoMjAw MCwgMjUwMCk7Cj4gIAo+IC1zdGF0aWMgdm9pZCBpbnRlbF9kc2lfcG9ydF9kaXNhYmxlKHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+IC17Cj4gLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 ID0gZW5jb2Rlci0+YmFzZS5kZXY7Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSBkZXYtPmRldl9wcml2YXRlOwo+IC0Jc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpID0g ZW5jX3RvX2ludGVsX2RzaSgmZW5jb2Rlci0+YmFzZSk7Cj4gLQllbnVtIHBvcnQgcG9ydDsKPiAt CXUzMiB0ZW1wOwo+ICsJCS8qIDIuIEVudGVyIFVMUFMgKi8KPiArCQl2YWwgPSBJOTE1X1JFQUQo TUlQSV9ERVZJQ0VfUkVBRFkocG9ydCkpOwo+ICsJCXZhbCAmPSB+VUxQU19TVEFURV9NQVNLOwo+ ICsJCXZhbCB8PSAoVUxQU19TVEFURV9FTlRFUiB8IERFVklDRV9SRUFEWSk7Cj4gKwkJSTkxNV9X UklURShNSVBJX0RFVklDRV9SRUFEWShwb3J0KSwgdmFsKTsKPiArCQl1c2xlZXBfcmFuZ2UoMiwg Myk7Cj4gKwo+ICsJCS8qIDMuIEV4aXQgVUxQUyAqLwo+ICsJCXZhbCA9IEk5MTVfUkVBRChNSVBJ X0RFVklDRV9SRUFEWShwb3J0KSk7Cj4gKwkJdmFsICY9IH5VTFBTX1NUQVRFX01BU0s7Cj4gKwkJ dmFsIHw9IChVTFBTX1NUQVRFX0VYSVQgfCBERVZJQ0VfUkVBRFkpOwo+ICsJCUk5MTVfV1JJVEUo TUlQSV9ERVZJQ0VfUkVBRFkocG9ydCksIHZhbCk7Cj4gKwkJdXNsZWVwX3JhbmdlKDEwMDAsIDE1 MDApOwo+ICAKPiAtCWZvcl9lYWNoX2RzaV9wb3J0KHBvcnQsIGludGVsX2RzaS0+cG9ydHMpIHsK PiAtCQkvKiBkZS1hc3NlcnQgaXBfdGdfZW5hYmxlIHNpZ25hbCAqLwo+IC0JCXRlbXAgPSBJOTE1 X1JFQUQoTUlQSV9QT1JUX0NUUkwocG9ydCkpOwo+IC0JCUk5MTVfV1JJVEUoTUlQSV9QT1JUX0NU UkwocG9ydCksIHRlbXAgJiB+RFBJX0VOQUJMRSk7Cj4gLQkJUE9TVElOR19SRUFEKE1JUElfUE9S VF9DVFJMKHBvcnQpKTsKPiArCQkvKiBDbGVhciBVTFBTIGFuZCBzZXQgZGV2aWNlIHJlYWR5ICov Cj4gKwkJdmFsID0gSTkxNV9SRUFEKE1JUElfREVWSUNFX1JFQURZKHBvcnQpKTsKPiArCQl2YWwg Jj0gflVMUFNfU1RBVEVfTUFTSzsKPiArCQl2YWwgfD0gREVWSUNFX1JFQURZOwo+ICsJCUk5MTVf V1JJVEUoTUlQSV9ERVZJQ0VfUkVBRFkocG9ydCksIHZhbCk7Cj4gIAl9Cj4gIH0KPiAgCj4gLXN0 YXRpYyB2b2lkIGludGVsX2RzaV9kZXZpY2VfcmVhZHkoc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIpCj4gK3N0YXRpYyB2b2lkIHZsdl9kc2lfZGV2aWNlX3JlYWR5KHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSBlbmNvZGVyLT5iYXNlLmRldi0+ZGV2X3ByaXZhdGU7Cj4gIAlzdHJ1Y3QgaW50ZWxfZHNp ICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKCZlbmNvZGVyLT5iYXNlKTsKPiBAQCAtMzc2 LDYgKzM2NCw3MiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kc2lfZGV2aWNlX3JlYWR5KHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ICAJfQo+ICB9Cj4gIAo+ICtzdGF0aWMgdm9pZCBpbnRl bF9kc2lfZGV2aWNlX3JlYWR5KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ICt7Cj4g KwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rlci0+YmFzZS5kZXY7Cj4gKwo+ICsJaWYg KElTX1ZBTExFWVZJRVcoZGV2KSkKPiArCQl2bHZfZHNpX2RldmljZV9yZWFkeShlbmNvZGVyKTsK PiArCWVsc2UgaWYgKElTX0JST1hUT04oZGV2KSkKPiArCQlieHRfZHNpX2RldmljZV9yZWFkeShl bmNvZGVyKTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgaW50ZWxfZHNpX3BvcnRfZW5hYmxlKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ICt7Cj4gKwlzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2ID0gZW5jb2Rlci0+YmFzZS5kZXY7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICsJc3RydWN0IGludGVsX2NydGMgKmludGVsX2Ny dGMgPSB0b19pbnRlbF9jcnRjKGVuY29kZXItPmJhc2UuY3J0Yyk7Cj4gKwlzdHJ1Y3QgaW50ZWxf ZHNpICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKCZlbmNvZGVyLT5iYXNlKTsKPiArCWVu dW0gcG9ydCBwb3J0Owo+ICsJdTMyIHRlbXA7Cj4gKwl1MzIgcG9ydF9jdHJsOwo+ICsKPiArCWlm IChpbnRlbF9kc2ktPmR1YWxfbGluayA9PSBEU0lfRFVBTF9MSU5LX0ZST05UX0JBQ0spIHsKPiAr CQl0ZW1wID0gSTkxNV9SRUFEKFZMVl9DSElDS0VOXzMpOwo+ICsJCXRlbXAgJj0gflBJWEVMX09W RVJMQVBfQ05UX01BU0sgfAo+ICsJCQkJCWludGVsX2RzaS0+cGl4ZWxfb3ZlcmxhcCA8PAo+ICsJ CQkJCVBJWEVMX09WRVJMQVBfQ05UX1NISUZUOwo+ICsJCUk5MTVfV1JJVEUoVkxWX0NISUNLRU5f MywgdGVtcCk7Cj4gKwl9Cj4gKwo+ICsJZm9yX2VhY2hfZHNpX3BvcnQocG9ydCwgaW50ZWxfZHNp LT5wb3J0cykgewo+ICsJCXBvcnRfY3RybCA9IElTX0JST1hUT04oZGV2KSA/IEJYVF9NSVBJX1BP UlRfQ1RSTChwb3J0KSA6Cj4gKwkJCQkJCU1JUElfUE9SVF9DVFJMKHBvcnQpOwo+ICsKPiArCQl0 ZW1wID0gSTkxNV9SRUFEKHBvcnRfY3RybCk7Cj4gKwo+ICsJCXRlbXAgJj0gfkxBTkVfQ09ORklH VVJBVElPTl9NQVNLOwo+ICsJCXRlbXAgJj0gfkRVQUxfTElOS19NT0RFX01BU0s7Cj4gKwo+ICsJ CWlmIChpbnRlbF9kc2ktPnBvcnRzID09ICgoMSA8PCBQT1JUX0EpIHwgKDEgPDwgUE9SVF9DKSkp IHsKPiArCQkJdGVtcCB8PSAoaW50ZWxfZHNpLT5kdWFsX2xpbmsgLSAxKQo+ICsJCQkJCQk8PCBE VUFMX0xJTktfTU9ERV9TSElGVDsKPiArCQkJdGVtcCB8PSBpbnRlbF9jcnRjLT5waXBlID8KPiAr CQkJCQlMQU5FX0NPTkZJR1VSQVRJT05fRFVBTF9MSU5LX0IgOgo+ICsJCQkJCUxBTkVfQ09ORklH VVJBVElPTl9EVUFMX0xJTktfQTsKPiArCQl9Cj4gKwkJLyogYXNzZXJ0IGlwX3RnX2VuYWJsZSBz aWduYWwgKi8KPiArCQlJOTE1X1dSSVRFKHBvcnRfY3RybCwgdGVtcCB8IERQSV9FTkFCTEUpOwo+ ICsJCVBPU1RJTkdfUkVBRChwb3J0X2N0cmwpOwo+ICsJfQo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9p ZCBpbnRlbF9kc2lfcG9ydF9kaXNhYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ ICt7Cj4gKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rlci0+YmFzZS5kZXY7Cj4gKwlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICsJ c3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaSgmZW5jb2Rlci0+ YmFzZSk7Cj4gKwllbnVtIHBvcnQgcG9ydDsKPiArCXUzMiB0ZW1wOwo+ICsKPiArCWZvcl9lYWNo X2RzaV9wb3J0KHBvcnQsIGludGVsX2RzaS0+cG9ydHMpIHsKPiArCQkvKiBkZS1hc3NlcnQgaXBf dGdfZW5hYmxlIHNpZ25hbCAqLwo+ICsJCXRlbXAgPSBJOTE1X1JFQUQoTUlQSV9QT1JUX0NUUkwo cG9ydCkpOwo+ICsJCUk5MTVfV1JJVEUoTUlQSV9QT1JUX0NUUkwocG9ydCksIHRlbXAgJiB+RFBJ X0VOQUJMRSk7Cj4gKwkJUE9TVElOR19SRUFEKE1JUElfUE9SVF9DVFJMKHBvcnQpKTsKPiArCX0K PiArfQo+ICsKPiAgc3RhdGljIHZvaWQgaW50ZWxfZHNpX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlcikKPiAgewo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXIt PmJhc2UuZGV2Owo+IEBAIC00MTUsMTkgKzQ2OSwyNCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kc2lf cHJlX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKPiAgCj4gIAlEUk1fREVC VUdfS01TKCJcbiIpOwo+ICAKPiAtCS8qIERpc2FibGUgRFBPdW5pdCBjbG9jayBnYXRpbmcsIGNh biBzdGFsbCBwaXBlCj4gLQkgKiBhbmQgd2UgbmVlZCBEUExMIFJFRkEgYWx3YXlzIGVuYWJsZWQg Ki8KPiAtCXRtcCA9IEk5MTVfUkVBRChEUExMKHBpcGUpKTsKPiAtCXRtcCB8PSBEUExMX1JFRkFf Q0xLX0VOQUJMRV9WTFY7Cj4gLQlJOTE1X1dSSVRFKERQTEwocGlwZSksIHRtcCk7Cj4gLQo+IC0J LyogdXBkYXRlIHRoZSBodyBzdGF0ZSBmb3IgRFBMTCAqLwo+IC0JaW50ZWxfY3J0Yy0+Y29uZmln LT5kcGxsX2h3X3N0YXRlLmRwbGwgPSBEUExMX0lOVEVHUkFURURfQ0xPQ0tfVkxWIHwKPiAtCQlE UExMX1JFRkFfQ0xLX0VOQUJMRV9WTFY7Cj4gLQo+IC0JdG1wID0gSTkxNV9SRUFEKERTUENMS19H QVRFX0QpOwo+IC0JdG1wIHw9IERQT1VOSVRfQ0xPQ0tfR0FURV9ESVNBQkxFOwo+IC0JSTkxNV9X UklURShEU1BDTEtfR0FURV9ELCB0bXApOwo+ICsJaWYgKElTX1ZBTExFWVZJRVcoZGV2KSkgewo+ ICsJCS8qCj4gKwkJICogRGlzYWJsZSBEUE91bml0IGNsb2NrIGdhdGluZywgY2FuIHN0YWxsIHBp cGUKPiArCQkgKiBhbmQgd2UgbmVlZCBEUExMIFJFRkEgYWx3YXlzIGVuYWJsZWQKPiArCQkgKi8K PiArCQl0bXAgPSBJOTE1X1JFQUQoRFBMTChwaXBlKSk7Cj4gKwkJdG1wIHw9IERQTExfUkVGQV9D TEtfRU5BQkxFX1ZMVjsKPiArCQlJOTE1X1dSSVRFKERQTEwocGlwZSksIHRtcCk7Cj4gKwo+ICsJ CS8qIHVwZGF0ZSB0aGUgaHcgc3RhdGUgZm9yIERQTEwgKi8KPiArCQlpbnRlbF9jcnRjLT5jb25m aWctPmRwbGxfaHdfc3RhdGUuZHBsbCA9Cj4gKwkJCQlEUExMX0lOVEVHUkFURURfQ0xPQ0tfVkxW IHwKPiArCQkJCQlEUExMX1JFRkFfQ0xLX0VOQUJMRV9WTFY7Cj4gKwo+ICsJCXRtcCA9IEk5MTVf UkVBRChEU1BDTEtfR0FURV9EKTsKPiArCQl0bXAgfD0gRFBPVU5JVF9DTE9DS19HQVRFX0RJU0FC TEU7Cj4gKwkJSTkxNV9XUklURShEU1BDTEtfR0FURV9ELCB0bXApOwo+ICsJfQo+ICAKPiAgCS8q IHB1dCBkZXZpY2UgaW4gcmVhZHkgc3RhdGUgKi8KPiAgCWludGVsX2RzaV9kZXZpY2VfcmVhZHko ZW5jb2Rlcik7Cj4gLS0gCj4gMS43LjkuNQo+CgotLSAKSmFuaSBOaWt1bGEsIEludGVsIE9wZW4g U291cmNlIFRlY2hub2xvZ3kgQ2VudGVyCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaW50ZWwtZ2Z4Cg==