From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH 06/12] drm/i915/bxt: DSI enable for BXT Date: Mon, 25 May 2015 19:39:47 +0300 Message-ID: <87bnh8ipbg.fsf@intel.com> References: <1432310765-2218-1-git-send-email-uma.shankar@intel.com> <1432310765-2218-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 67ED56E214 for ; Mon, 25 May 2015 09:41:29 -0700 (PDT) In-Reply-To: <1432310765-2218-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 T24gRnJpLCAyMiBNYXkgMjAxNSwgVW1hIFNoYW5rYXIgPHVtYS5zaGFua2FyQGludGVsLmNvbT4g d3JvdGU6Cj4gRnJvbTogU2hhc2hhbmsgU2hhcm1hIDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29t Pgo+Cj4gVGhpcyBwYXRjaCBjb250YWlucyBmb2xsb3dpbmcgY2hhbmdlczoKPiAxLiBNSVBJIGRl dmljZSByZWFkeSBjaGFuZ2VzIHRvIHN1cHBvcnQgZHNpX3ByZV9lbmFibGUuIENoYW5nZXMKPiAg ICBhcmUgc3BlY2lmaWMgdG8gQlhUIGRldmljZSByZWFkeSBzZXF1ZW5jZS4gQWRkZWQgY2hlY2sg Zm9yCj4gICAgVUxQUyBtb2RlKE5vIGVmZmVjdHMgb24gVkxWKS4KPiAyLiBDaGFuZ2VzIGluIGRz aV9lbmFibGUgdG8gcGljayBCWFQgcG9ydCBjb250cm9sIHJlZ2lzdGVyLgo+IDMuIENoYW5nZXMg aW4gZHNpX3ByZV9lbmFibGUgdG8gcmVzdHJpY3QgRFBJTyBwcm9ncmFtbWluZyBmb3IgVkxWCj4K PiBTaWduZWQtb2ZmLWJ5OiBTaGFzaGFuayBTaGFybWEgPHNoYXNoYW5rLnNoYXJtYUBpbnRlbC5j b20+Cj4gU2lnbmVkLW9mZi1ieTogVW1hIFNoYW5rYXIgPHVtYS5zaGFua2FyQGludGVsLmNvbT4K PiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgfCAgICA3ICsrCj4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jIHwgIDE4NSArKysrKysrKysrKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tLQo+ICAyIGZpbGVzIGNoYW5nZWQsIDE0NCBpbnNlcnRpb25zKCsp LCA0OCBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+IGluZGV4IDU3YzNh NDguLjVlZWIyYjcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcu aAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiBAQCAtNzQwOCw2ICs3 NDA4LDEzIEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lIF9NSVBJQV9Q T1JUX0NUUkwJCQkoVkxWX0RJU1BMQVlfQkFTRSArIDB4NjExOTApCj4gICNkZWZpbmUgX01JUElD X1BPUlRfQ1RSTAkJCShWTFZfRElTUExBWV9CQVNFICsgMHg2MTcwMCkKPiAgI2RlZmluZSBNSVBJ X1BPUlRfQ1RSTChwb3J0KQlfTUlQSV9QT1JUKHBvcnQsIF9NSVBJQV9QT1JUX0NUUkwsIF9NSVBJ Q19QT1JUX0NUUkwpCj4gKwo+ICsgLyogQlhUIHBvcnQgY29udHJvbCAqLwo+ICsjZGVmaW5lIF9C WFRfTUlQSUFfUE9SVF9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2QjBDMAo+ICsj ZGVmaW5lIF9CWFRfTUlQSUNfUE9SVF9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2 QjhDMAo+ICsjZGVmaW5lIEJYVF9NSVBJX1BPUlRfQ1RSTCh0YykgICAgICAgICBfVFJBTlNDT0RF Uih0YywgX0JYVF9NSVBJQV9QT1JUX0NUUkwsIFwKPiArCQkJCQkJCV9CWFRfTUlQSUNfUE9SVF9D VFJMKQoKU2hvdWxkbid0IHRoaXMgdXNlIF9NSVBJX1BPUlQsIG5vdCBfVFJBTlNDT0RFUj8KCj4g Kwo+ICAjZGVmaW5lICBEUElfRU5BQkxFCQkJCQkoMSA8PCAzMSkgLyogQSArIEMgKi8KPiAgI2Rl ZmluZSAgTUlQSUFfTUlQSTREUEhZX0RFTEFZX0NPVU5UX1NISUZUCQkyNwo+ICAjZGVmaW5lICBN SVBJQV9NSVBJNERQSFlfREVMQVlfQ09VTlRfTUFTSwkJKDB4ZiA8PCAyNykKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kc2kuYwo+IGluZGV4IDg5MmI1MTguLjNhMWJiMDQgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kc2kuYwo+IEBAIC0yODYsNiArMjg2LDEwMSBAQCBzdGF0aWMgYm9vbCBpbnRlbF9k 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+ICsJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmJhc2UuZGV2Owo+ ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsK PiArCXN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSA9IGVuY190b19pbnRlbF9kc2koJmVuY29k ZXItPmJhc2UpOwo+ICsJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9j cnRjKGVuY29kZXItPmJhc2UuY3J0Yyk7Cj4gKwlpbnQgcGlwZSA9IGludGVsX2NydGMtPnBpcGU7 CgplbnVtIHBpcGUuCgo+ICsJdTMyIHZhbDsKPiArCWludCBjb3VudCA9IDE7Cj4gKwl1MzIgcmVn ID0gMDsKPiArCWJvb2wgYWZlX2xhdGNob3V0ID0gdHJ1ZTsKPiArCj4gKwlEUk1fREVCVUdfS01T KCJcbiIpOwo+ICsKPiArCXBpcGUgPSBpbnRlbF9jcnRjLT5waXBlOwo+ICsJcmVnID0gTUlQSV9Q T1JUX0NUUkwocGlwZSk7CgpUYWtlIGNhcmUgdG8gbm90IHVzZSBwaXBlIGZvciBwb3J0LiBQYXNz aW5nIFBJUEVfQiBhcyBwb3J0IHdpbGwgKm5vdCoKdXNlIFBPUlRfQy4KCj4gKwo+ICsJLyogQ2Vj ayBMUCBzdGF0ZSAqLwo+ICsJdmFsID0gSTkxNV9SRUFEKHJlZyk7Cj4gKwlhZmVfbGF0Y2hvdXQg PSAodmFsICYgQUZFX0xBVENIT1VUKTsKPiArCj4gKwkvKiBFbnRlciBsb3cgcG93ZXIgc3RhdGUs IGlmIG5vdCBhbHJlYWR5IGluICovCj4gKwlpZiAoYWZlX2xhdGNob3V0KSB7Cj4gKwkJLyogRW50 ZXIgVUxQUywgd2FpdCBmb3IgMi41IG1zICovCj4gKwkJcmVnID0gTUlQSV9ERVZJQ0VfUkVBRFko cGlwZSk7Cj4gKwkJSTkxNV9XUklURShyZWcsIHZhbCB8IFVMUFNfU1RBVEVfRU5URVIpOwo+ICsJ CXVzbGVlcF9yYW5nZSgyMDAwLCAyNTAwKTsKPiArCX0KPiArCj4gKwkvKiBFbmFibGUgdHJhbnNw YXJlbnQgbGF0Y2ggKi8KPiArCUk5MTVfV1JJVEUocmVnLCB2YWwgfCBMUF9PVVRQVVRfSE9MRCk7 Cj4gKwo+ICsJaWYgKGludGVsX2RzaS0+ZHVhbF9saW5rKSB7Cj4gKwkJY291bnQgPSAyOwo+ICsJ CXBpcGUgPSBQSVBFX0E7Cj4gKwl9Cj4gKwo+ICsJZG8gewo+ICsJCUk5MTVfV1JJVEUocmVnLCB2 YWwgfCBVTFBTX1NUQVRFX0VYSVQpOwo+ICsJCXVzbGVlcF9yYW5nZSgyMDAwLCAyNTAwKTsKPiAr CQkvKiBDbGVhciBVTFBTIHN0YXRlICovCj4gKwkJdmFsID0gSTkxNV9SRUFEKE1JUElfREVWSUNF X1JFQURZKHBpcGUpKSAmIH5VTFBTX1NUQVRFX01BU0s7Cj4gKwkJSTkxNV9XUklURShNSVBJX0RF VklDRV9SRUFEWShwaXBlKSwgdmFsKTsKPiArCQl1c2xlZXBfcmFuZ2UoMjAwMCwgMjUwMCk7Cj4g Kwo+ICsJCS8qIFNldCBkZXZpY2UgcmVhZHkgKi8KPiArCQl2YWwgfD0gREVWSUNFX1JFQURZOwo+ ICsJCUk5MTVfV1JJVEUoTUlQSV9ERVZJQ0VfUkVBRFkocGlwZSksIHZhbCk7Cj4gKwkJdXNsZWVw X3JhbmdlKDIwMDAsIDI1MDApOwo+ICsKPiArCQkvKiBGb3IgUG9ydCBDIGZvciBkdWFsIGxpbmsg Ki8KPiArCQlpZiAoaW50ZWxfZHNpLT5kdWFsX2xpbmspCj4gKwkJCXBpcGUgPSBQSVBFX0I7Cj4g Kwl9IHdoaWxlICgtLWNvdW50ID4gMCk7CgpZb3UncmUgbWFraW5nIGZ1bmN0aW9uYWwgY2hhbmdl cyB0byB0aGUgQllUL0JTVyBEU0kgY29kZS4gVGhlc2UgKm11c3QqCmJlIHNlcGFyYXRlZCB0byBp bmRlcGVuZGVudCBwYXRjaGVzLgoKQWRkaXRpb25hbGx5IHRoZSBsb29wIGlzIGhhcmQgdG8gZm9s bG93LiBJZiB5b3UgYWJzdHJhY3QgdGhlIGJsb2NrIGludG8KYSBzZXBhcmF0ZSBmdW5jdGlvbiwg eW91IGNhbiBqdXN0IGNhbGwgaXQgb25jZSBmb3Igc2luZ2xlIGxpbmssIGFuZAp0d2ljZSBmb3Ig ZHVhbCBsaW5rLCB3aXRoIGFwcHJvcHJpYXRlIHBhcmFtZXRlcnMuCgo+ICt9Cj4gKwo+ICBzdGF0 aWMgdm9pZCBpbnRlbF9kc2lfcG9ydF9lbmFibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29k ZXIpCj4gIHsKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5iYXNlLmRldjsK PiBAQCAtMjk0LDYgKzM4OSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2RzaV9wb3J0X2VuYWJsZShz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKPiAgCXN0cnVjdCBpbnRlbF9kc2kgKmludGVs X2RzaSA9IGVuY190b19pbnRlbF9kc2koJmVuY29kZXItPmJhc2UpOwo+ICAJZW51bSBwb3J0IHBv cnQ7Cj4gIAl1MzIgdGVtcDsKPiArCXUzMiBwb3J0X2N0cmw7Cj4gIAo+ICAJaWYgKGludGVsX2Rz aS0+ZHVhbF9saW5rID09IERTSV9EVUFMX0xJTktfRlJPTlRfQkFDSykgewo+ICAJCXRlbXAgPSBJ OTE1X1JFQUQoVkxWX0NISUNLRU5fMyk7Cj4gQEAgLTMwNCw3ICs0MDAsMTAgQEAgc3RhdGljIHZv aWQgaW50ZWxfZHNpX3BvcnRfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ ICAJfQo+ICAKPiAgCWZvcl9lYWNoX2RzaV9wb3J0KHBvcnQsIGludGVsX2RzaS0+cG9ydHMpIHsK PiAtCQl0ZW1wID0gSTkxNV9SRUFEKE1JUElfUE9SVF9DVFJMKHBvcnQpKTsKPiArCQlwb3J0X2N0 cmwgPSBJU19CUk9YVE9OKGRldikgPyBCWFRfTUlQSV9QT1JUX0NUUkwocG9ydCkgOgo+ICsJCQkJ CU1JUElfUE9SVF9DVFJMKHBvcnQpOwo+ICsJCXRlbXAgPSBJOTE1X1JFQUQocG9ydF9jdHJsKTsK PiArCj4gIAkJdGVtcCAmPSB+TEFORV9DT05GSUdVUkFUSU9OX01BU0s7Cj4gIAkJdGVtcCAmPSB+ RFVBTF9MSU5LX01PREVfTUFTSzsKPiAgCj4gQEAgLTMxNiw4ICs0MTUsOCBAQCBzdGF0aWMgdm9p ZCBpbnRlbF9kc2lfcG9ydF9lbmFibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCj4g IAkJCQkJTEFORV9DT05GSUdVUkFUSU9OX0RVQUxfTElOS19BOwo+ICAJCX0KPiAgCQkvKiBhc3Nl cnQgaXBfdGdfZW5hYmxlIHNpZ25hbCAqLwo+IC0JCUk5MTVfV1JJVEUoTUlQSV9QT1JUX0NUUkwo cG9ydCksIHRlbXAgfCBEUElfRU5BQkxFKTsKPiAtCQlQT1NUSU5HX1JFQUQoTUlQSV9QT1JUX0NU UkwocG9ydCkpOwo+ICsJCUk5MTVfV1JJVEUocG9ydF9jdHJsLCB0ZW1wIHwgRFBJX0VOQUJMRSk7 Cj4gKwkJUE9TVElOR19SRUFEKHBvcnRfY3RybCk7Cj4gIAl9Cj4gIH0KPiAgCj4gQEAgLTMzOSw0 MSArNDM4LDE1IEBAIHN0YXRpYyB2b2lkIGludGVsX2RzaV9wb3J0X2Rpc2FibGUoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIpCj4gIAo+ICBzdGF0aWMgdm9pZCBpbnRlbF9kc2lfZGV2aWNl X3JlYWR5KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ICB7Cj4gLQlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBlbmNvZGVyLT5iYXNlLmRldi0+ZGV2X3ByaXZhdGU7 Cj4gLQlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKCZlbmNv ZGVyLT5iYXNlKTsKPiAtCWVudW0gcG9ydCBwb3J0Owo+IC0JdTMyIHZhbDsKPiAtCj4gLQlEUk1f REVCVUdfS01TKCJcbiIpOwo+IC0KPiAtCW11dGV4X2xvY2soJmRldl9wcml2LT5kcGlvX2xvY2sp Owo+IC0JLyogcHJvZ3JhbSByY29tcCBmb3IgY29tcGxpYW5jZSwgcmVkdWNlIGZyb20gNTAgb2ht cyB0byA0NSBvaG1zCj4gLQkgKiBuZWVkZWQgZXZlcnl0aW1lIGFmdGVyIHBvd2VyIGdhdGUgKi8K PiAtCXZsdl9mbGlzZHNpX3dyaXRlKGRldl9wcml2LCAweDA0LCAweDAwMDQpOwo+IC0JbXV0ZXhf dW5sb2NrKCZkZXZfcHJpdi0+ZHBpb19sb2NrKTsKPiAtCj4gLQkvKiBiYW5kZ2FwIHJlc2V0IGlz IG5lZWRlZCBhZnRlciBldmVyeXRpbWUgd2UgZG8gcG93ZXIgZ2F0ZSAqLwo+IC0JYmFuZF9nYXBf cmVzZXQoZGV2X3ByaXYpOwo+IC0KPiAtCWZvcl9lYWNoX2RzaV9wb3J0KHBvcnQsIGludGVsX2Rz aS0+cG9ydHMpIHsKPiAtCj4gLQkJSTkxNV9XUklURShNSVBJX0RFVklDRV9SRUFEWShwb3J0KSwg VUxQU19TVEFURV9FTlRFUik7Cj4gLQkJdXNsZWVwX3JhbmdlKDI1MDAsIDMwMDApOwo+IC0KPiAt CQkvKiBFbmFibGUgTUlQSSBQSFkgdHJhbnNwYXJlbnQgbGF0Y2gKPiAtCQkgKiBDb21tb24gYml0 IGZvciBib3RoIE1JUEkgUG9ydCBBICYgTUlQSSBQb3J0IEMKPiAtCQkgKiBObyBzaW1pbGFyIGJp dCBpbiBNSVBJIFBvcnQgQyByZWcKPiAtCQkgKi8KPiAtCQl2YWwgPSBJOTE1X1JFQUQoTUlQSV9Q T1JUX0NUUkwoUE9SVF9BKSk7Cj4gLQkJSTkxNV9XUklURShNSVBJX1BPUlRfQ1RSTChQT1JUX0Ep LCB2YWwgfCBMUF9PVVRQVVRfSE9MRCk7Cj4gLQkJdXNsZWVwX3JhbmdlKDEwMDAsIDE1MDApOwo+ ICsJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmJhc2UuZGV2Owo+ICAKPiAtCQlJ OTE1X1dSSVRFKE1JUElfREVWSUNFX1JFQURZKHBvcnQpLCBVTFBTX1NUQVRFX0VYSVQpOwo+IC0J CXVzbGVlcF9yYW5nZSgyNTAwLCAzMDAwKTsKPiArCWlmIChJU19WQUxMRVlWSUVXKGRldikpCj4g KwkJdmx2X2RzaV9kZXZpY2VfcmVhZHkoZW5jb2Rlcik7Cj4gKwllbHNlIGlmIChJU19CUk9YVE9O KGRldikpCj4gKwkJYnh0X2RzaV9kZXZpY2VfcmVhZHkoZW5jb2Rlcik7Cj4gKwllbHNlCj4gKwkJ RFJNX0VSUk9SKCJJbnZhbGlkIERTSSBkZXZpY2UgdG8gZGV2aWNlIHJlYWR5XG4iKTsKClBsZWFz ZSByZW1vdmUgYWxsIHN1Y2ggZWxzZSBicmFuY2hlcy4KCj4gIAo+IC0JCUk5MTVfV1JJVEUoTUlQ SV9ERVZJQ0VfUkVBRFkocG9ydCksIERFVklDRV9SRUFEWSk7Cj4gLQkJdXNsZWVwX3JhbmdlKDI1 MDAsIDMwMDApOwo+IC0JfQo+ICB9Cj4gIAo+ICBzdGF0aWMgdm9pZCBpbnRlbF9kc2lfZW5hYmxl KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+IEBAIC00MTUsMTkgKzQ4OCwyMiBAQCBz dGF0aWMgdm9pZCBpbnRlbF9kc2lfcHJlX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlcikKPiAgCj4gIAlEUk1fREVCVUdfS01TKCJcbiIpOwo+ICAKPiAtCS8qIERpc2FibGUgRFBP dW5pdCBjbG9jayBnYXRpbmcsIGNhbiBzdGFsbCBwaXBlCj4gLQkgKiBhbmQgd2UgbmVlZCBEUExM IFJFRkEgYWx3YXlzIGVuYWJsZWQgKi8KPiAtCXRtcCA9IEk5MTVfUkVBRChEUExMKHBpcGUpKTsK PiAtCXRtcCB8PSBEUExMX1JFRkFfQ0xLX0VOQUJMRV9WTFY7Cj4gLQlJOTE1X1dSSVRFKERQTEwo cGlwZSksIHRtcCk7Cj4gKwlpZiAoSVNfVkFMTEVZVklFVyhkZXYpKSB7Cj4gKwkJLyogRGlzYWJs ZSBEUE91bml0IGNsb2NrIGdhdGluZywgY2FuIHN0YWxsIHBpcGUKPiArCQkgKiBhbmQgd2UgbmVl ZCBEUExMIFJFRkEgYWx3YXlzIGVuYWJsZWQKPiArCQkgKi8KPiArCQl0bXAgPSBJOTE1X1JFQUQo RFBMTChwaXBlKSk7Cj4gKwkJdG1wIHw9IERQTExfUkVGQV9DTEtfRU5BQkxFX1ZMVjsKPiArCQlJ OTE1X1dSSVRFKERQTEwocGlwZSksIHRtcCk7Cj4gIAo+IC0JLyogdXBkYXRlIHRoZSBodyBzdGF0 ZSBmb3IgRFBMTCAqLwo+IC0JaW50ZWxfY3J0Yy0+Y29uZmlnLT5kcGxsX2h3X3N0YXRlLmRwbGwg PSBEUExMX0lOVEVHUkFURURfQ0xPQ0tfVkxWIHwKPiAtCQlEUExMX1JFRkFfQ0xLX0VOQUJMRV9W TFY7Cj4gKwkJLyogdXBkYXRlIHRoZSBodyBzdGF0ZSBmb3IgRFBMTCAqLwo+ICsJCWludGVsX2Ny dGMtPmNvbmZpZy0+ZHBsbF9od19zdGF0ZS5kcGxsID0KPiArCQkJRFBMTF9JTlRFR1JBVEVEX0NM T0NLX1ZMViB8IERQTExfUkVGQV9DTEtfRU5BQkxFX1ZMVjsKPiAgCj4gLQl0bXAgPSBJOTE1X1JF QUQoRFNQQ0xLX0dBVEVfRCk7Cj4gLQl0bXAgfD0gRFBPVU5JVF9DTE9DS19HQVRFX0RJU0FCTEU7 Cj4gLQlJOTE1X1dSSVRFKERTUENMS19HQVRFX0QsIHRtcCk7Cj4gKwkJdG1wID0gSTkxNV9SRUFE KERTUENMS19HQVRFX0QpOwo+ICsJCXRtcCB8PSBEUE9VTklUX0NMT0NLX0dBVEVfRElTQUJMRTsK PiArCQlJOTE1X1dSSVRFKERTUENMS19HQVRFX0QsIHRtcCk7Cj4gKwl9Cj4gIAo+ICAJLyogcHV0 IGRldmljZSBpbiByZWFkeSBzdGF0ZSAqLwo+ICAJaW50ZWxfZHNpX2RldmljZV9yZWFkeShlbmNv ZGVyKTsKPiBAQCAtOTU5LDExICsxMDM1LDI0IEBAIHN0YXRpYyB2b2lkIGludGVsX2RzaV9wcmVw YXJlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyKQo+ICAKPiAgc3RhdGljIHZv aWQgaW50ZWxfZHNpX3ByZV9wbGxfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy KQo+ICB7Cj4gKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rlci0+YmFzZS5kZXY7Cj4g KwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ ICsKPiAgCURSTV9ERUJVR19LTVMoIlxuIik7Cj4gIAo+ICsJaWYgKElTX1ZBTExFWVZJRVcoZGV2 KSkgewo+ICsJCW11dGV4X2xvY2soJmRldl9wcml2LT5kcGlvX2xvY2spOwo+ICsJCS8qIHByb2dy YW0gcmNvbXAgZm9yIGNvbXBsaWFuY2UsIHJlZHVjZSBmcm9tIDUwIG9obXMgdG8gNDUgb2htcwo+ ICsJCSAqIG5lZWRlZCBldmVyeXRpbWUgYWZ0ZXIgcG93ZXIgZ2F0ZSAqLwo+ICsJCXZsdl9mbGlz ZHNpX3dyaXRlKGRldl9wcml2LCAweDA0LCAweDAwMDQpOwo+ICsJCW11dGV4X3VubG9jaygmZGV2 X3ByaXYtPmRwaW9fbG9jayk7Cj4gKwo+ICsJCS8qIGJhbmRnYXAgcmVzZXQgaXMgbmVlZGVkIGFm dGVyIGV2ZXJ5dGltZSB3ZSBkbyBwb3dlciBnYXRlICovCj4gKwkJYmFuZF9nYXBfcmVzZXQoZGV2 X3ByaXYpOwo+ICsJfQo+ICsKCllvdSdyZSBtYWtpbmcgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIEJZ VC9CU1cgRFNJIGNvZGUuIFRoZXNlICptdXN0KiBiZQpzZXBhcmF0ZWQgdG8gaW5kZXBlbmRlbnQg cGF0Y2hlcy4KCkJSLApKYW5pLgoKPiAgCWludGVsX2RzaV9wcmVwYXJlKGVuY29kZXIpOwo+ICAJ aW50ZWxfZW5hYmxlX2RzaV9wbGwoZW5jb2Rlcik7Cj4gLQo+ICB9Cj4gIAo+ICBzdGF0aWMgZW51 bSBkcm1fY29ubmVjdG9yX3N0YXR1cwo+IC0tIAo+IDEuNy45LjUKPgo+IF9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4CgotLSAKSmFuaSBOaWt1bGEsIElu dGVsIE9wZW4gU291cmNlIFRlY2hub2xvZ3kgQ2VudGVyCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==