From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [GLK MIPI DSI V2 3/9] drm/i915/glk: Add MIPIIO Enable/disable sequence Date: Tue, 27 Dec 2016 14:34:20 +0200 Message-ID: <87h95p4kkz.fsf@intel.com> References: <1481792500-30863-1-git-send-email-madhav.chauhan@intel.com> <1481792500-30863-4-git-send-email-madhav.chauhan@intel.com> <87wpeqka8y.fsf@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 ESMTPS id 0AFC889872 for ; Tue, 27 Dec 2016 12:34:28 +0000 (UTC) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Chauhan, Madhav" , "intel-gfx@lists.freedesktop.org" Cc: "Conselvan De Oliveira, Ander" , Deepak M , "Kumar, Shobhit" List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCAyNiBEZWMgMjAxNiwgIkNoYXVoYW4sIE1hZGhhdiIgPG1hZGhhdi5jaGF1aGFuQGlu dGVsLmNvbT4gd3JvdGU6Cj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4+IEZyb206IE5p a3VsYSwgSmFuaQo+PiBTZW50OiBGcmlkYXksIERlY2VtYmVyIDIzLCAyMDE2IDc6NDAgUE0KPj4g VG86IENoYXVoYW4sIE1hZGhhdiA8bWFkaGF2LmNoYXVoYW5AaW50ZWwuY29tPjsgaW50ZWwtCj4+ IGdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPj4gQ2M6IENvbnNlbHZhbiBEZSBPbGl2ZWlyYSwg QW5kZXIgPGFuZGVyLmNvbnNlbHZhbi5kZS5vbGl2ZWlyYUBpbnRlbC5jb20+Owo+PiBTYWFyaW5l biwgSmFuaSA8amFuaS5zYWFyaW5lbkBpbnRlbC5jb20+OyBLb25kdXJ1LCBDaGFuZHJhCj4+IDxj aGFuZHJhLmtvbmR1cnVAaW50ZWwuY29tPjsgU2hhbmthciwgVW1hIDx1bWEuc2hhbmthckBpbnRl bC5jb20+Owo+PiBNdWtoZXJqZWUsIEluZHJhbmlsIDxpbmRyYW5pbC5tdWtoZXJqZWVAaW50ZWwu Y29tPjsgS3VtYXIsIFNob2JoaXQKPj4gPHNob2JoaXQua3VtYXJAaW50ZWwuY29tPjsgRGVlcGFr IE0gPG0uZGVlcGFrQGludGVsLmNvbT47IENoYXVoYW4sCj4+IE1hZGhhdiA8bWFkaGF2LmNoYXVo YW5AaW50ZWwuY29tPgo+PiBTdWJqZWN0OiBSZTogW0dMSyBNSVBJIERTSSBWMiAzLzldIGRybS9p OTE1L2dsazogQWRkIE1JUElJTyBFbmFibGUvZGlzYWJsZQo+PiBzZXF1ZW5jZQo+PiAKPj4gT24g VGh1LCAxNSBEZWMgMjAxNiwgTWFkaGF2IENoYXVoYW4gPG1hZGhhdi5jaGF1aGFuQGludGVsLmNv bT4KPj4gd3JvdGU6Cj4+ID4gRnJvbTogRGVlcGFrIE0gPG0uZGVlcGFrQGludGVsLmNvbT4KPj4g Pgo+PiA+IHYyOiBBZGRyZXNzZWQgSmFuaSdzIFJldmlldyBjb21tZW50cyhyZW5hbWVkIGJpdCBm aWVsZCBtYWNyb3MpCj4+ID4KPj4gPiBTaWduZWQtb2ZmLWJ5OiBEZWVwYWsgTSA8bS5kZWVwYWtA aW50ZWwuY29tPgo+PiA+IFNpZ25lZC1vZmYtYnk6IE1hZGhhdiBDaGF1aGFuIDxtYWRoYXYuY2hh dWhhbkBpbnRlbC5jb20+Cj4+ID4gLS0tCj4+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RzaS5jIHwgMTM0Cj4+ID4gKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Cj4+ID4gIDEgZmlsZSBjaGFuZ2VkLCAxMzQgaW5zZXJ0aW9ucygrKQo+PiA+Cj4+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jCj4+ID4gYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kc2kuYwo+PiA+IGluZGV4IGI3OGM2ODYuLmMwNjk3ZTkgMTAwNjQ0 Cj4+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMKPj4gPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYwo+PiA+IEBAIC0zNTcsNiArMzU3LDEzNCBA QCBzdGF0aWMgYm9vbCBpbnRlbF9kc2lfY29tcHV0ZV9jb25maWcoc3RydWN0Cj4+IGludGVsX2Vu Y29kZXIgKmVuY29kZXIsCj4+ID4gIAlyZXR1cm4gdHJ1ZTsKPj4gPiAgfQo+PiA+Cj4+ID4gK3N0 YXRpYyB2b2lkIGludGVsX2RzaV9kaXNhYmxlX21pcGlpbyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq ZW5jb2Rlcikgewo+PiA+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShlbmNvZGVyLT5iYXNlLmRldik7Cj4+ID4gKwlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9k c2kgPSBlbmNfdG9faW50ZWxfZHNpKCZlbmNvZGVyLT5iYXNlKTsKPj4gPiArCWVudW0gcG9ydCBw b3J0Owo+PiA+ICsJdTMyIHRtcDsKPj4gPiArCj4+ID4gKwkvKiBQdXQgdGhlIElPIGludG8gcmVz ZXQgKi8KPj4gPiArCXRtcCA9IEk5MTVfUkVBRChNSVBJX0NUUkwoUE9SVF9BKSk7Cj4+ID4gKwl0 bXAgJj0gfkdMS19NSVBJSU9fUkVTRVRfUkVMRUFTRUQ7Cj4+ID4gKwlJOTE1X1dSSVRFKE1JUElf Q1RSTChQT1JUX0EpLCB0bXApOwo+PiA+ICsKPj4gPiArCS8qIFdhaXQgZm9yIE1JUEkgUEhZIHN0 YXR1cyBiaXQgdG8gdW5zZXQgKi8KPj4gPiArCWZvcl9lYWNoX2RzaV9wb3J0KHBvcnQsIGludGVs X2RzaS0+cG9ydHMpIHsKPj4gPiArCQlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoZGV2X3By aXYsCj4+ID4gKwkJCQlNSVBJX0NUUkwocG9ydCksCj4+ID4gKwkJCQlHTEtfUEhZX1NUQVRVU19Q T1JUX1JFQURZLCAwLCAyMCkpCj4+ID4gKwkJCURSTV9FUlJPUigiUEhZIGlzIG5vdCB0dXJuaW5n IE9GRlxuIik7Cj4+ID4gKwl9Cj4+ID4gKwo+PiA+ICsJLyogQ2xlYXIgTUlQSSBtb2RlICovCj4+ ID4gKwlmb3JfZWFjaF9kc2lfcG9ydChwb3J0LCBpbnRlbF9kc2ktPnBvcnRzKSB7Cj4+ID4gKwkJ dG1wID0gSTkxNV9SRUFEKE1JUElfQ1RSTChwb3J0KSk7Cj4+ID4gKwkJdG1wICY9IH5HTEtfTUlQ SUlPX0VOQUJMRTsKPj4gPiArCQlJOTE1X1dSSVRFKE1JUElfQ1RSTChwb3J0KSwgdG1wKTsKPj4g PiArCX0KPj4gPiArfQo+PiA+ICsKPj4gPiArc3RhdGljIHZvaWQgaW50ZWxfZHNpX2VuYWJsZV9t aXBpaW8oc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpIHsKPj4gPiArCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwo+PiA+ ICsJc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaSgmZW5jb2Rl ci0+YmFzZSk7Cj4+ID4gKwllbnVtIHBvcnQgcG9ydDsKPj4gPiArCXUzMiB0bXAsIHZhbDsKPj4g PiArCj4+ID4gKwkvKiBQdXQgdGhlIElPIGludG8gcmVzZXQgKi8KPj4gPiArCXRtcCA9IEk5MTVf UkVBRChNSVBJX0NUUkwoUE9SVF9BKSk7Cj4+ID4gKwl0bXAgJj0gfkdMS19NSVBJSU9fUkVTRVRf UkVMRUFTRUQ7Cj4+ID4gKwlJOTE1X1dSSVRFKE1JUElfQ1RSTChQT1JUX0EpLCB0bXApOwo+PiA+ ICsKPj4gPiArCS8qIFByb2dyYW0gTFAgV2FrZSAqLwo+PiA+ICsJZm9yX2VhY2hfZHNpX3BvcnQo cG9ydCwgaW50ZWxfZHNpLT5wb3J0cykgewo+PiA+ICsJCXRtcCA9IEk5MTVfUkVBRChNSVBJX0NU UkwocG9ydCkpOwo+PiA+ICsJCXRtcCAmPSB+R0xLX0xQX1dBS0U7Cj4+ID4gKwkJSTkxNV9XUklU RShNSVBJX0NUUkwocG9ydCksIHRtcCk7Cj4+ID4gKwl9Cj4+ID4gKwo+PiA+ICsJLyogU2V0IHRo ZSBNSVBJIG1vZGUgKi8KPj4gPiArCWZvcl9lYWNoX2RzaV9wb3J0KHBvcnQsIGludGVsX2RzaS0+ cG9ydHMpIHsKPj4gPiArCQl0bXAgPSBJOTE1X1JFQUQoTUlQSV9DVFJMKHBvcnQpKTsKPj4gPiAr CQlJOTE1X1dSSVRFKE1JUElfQ1RSTChwb3J0KSwgdG1wIHwgR0xLX01JUElJT19FTkFCTEUpOwo+ PiA+ICsJfQo+PiA+ICsKPj4gPiArCS8qIFdhaXQgZm9yIFB3ciBBQ0sgKi8KPj4gPiArCWZvcl9l YWNoX2RzaV9wb3J0KHBvcnQsIGludGVsX2RzaS0+cG9ydHMpIHsKPj4gPiArCQlpZiAoaW50ZWxf d2FpdF9mb3JfcmVnaXN0ZXIoZGV2X3ByaXYsCj4+ID4gKwkJCQlNSVBJX0NUUkwocG9ydCksCj4+ IEdMS19NSVBJSU9fUE9SVF9QT1dFUkVELAo+PiA+ICsJCQkJR0xLX01JUElJT19QT1JUX1BPV0VS RUQsIDIwKSkKPj4gPiArCQkJRFJNX0VSUk9SKCJQb3dlciBBQ0sgbm90IHJlY2VpdmVkXG4iKTsK Pj4gPiArCX0KPj4gPiArCj4+ID4gKwkvKiBXYWl0IGZvciBNSVBJIFBIWSBzdGF0dXMgYml0IHRv IHNldCAqLwo+PiA+ICsJZm9yX2VhY2hfZHNpX3BvcnQocG9ydCwgaW50ZWxfZHNpLT5wb3J0cykg ewo+PiA+ICsJCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcihkZXZfcHJpdiwKPj4gPiArCQkJ CU1JUElfQ1RSTChwb3J0KSwKPj4gR0xLX01JUElJT19QT1JUX1BPV0VSRUQsCj4+ID4gKwkJCQlH TEtfTUlQSUlPX1BPUlRfUE9XRVJFRCwgMjApKQo+PiA+ICsJCQlEUk1fRVJST1IoIlBIWSBpcyBu b3QgT05cbiIpOwo+PiA+ICsJfQo+PiA+ICsKPj4gPiArCS8qIEdldCBJTyBvdXQgb2YgcmVzZXQg Ki8KPj4gPiArCXRtcCA9IEk5MTVfUkVBRChNSVBJX0NUUkwoUE9SVF9BKSk7Cj4+ID4gKwlJOTE1 X1dSSVRFKE1JUElfQ1RSTChQT1JUX0EpLCB0bXAgfAo+PiBHTEtfTUlQSUlPX1JFU0VUX1JFTEVB U0VEKTsKPj4gPiArCj4+ID4gKwkvKiBHZXQgSU8gb3V0IG9mIExvdyBwb3dlciBzdGF0ZSovCj4+ ID4gKwlmb3JfZWFjaF9kc2lfcG9ydChwb3J0LCBpbnRlbF9kc2ktPnBvcnRzKSB7Cj4+ID4gKwkJ aWYgKCEoSTkxNV9SRUFEKE1JUElfREVWSUNFX1JFQURZKHBvcnQpKSAmCj4+IERFVklDRV9SRUFE WSkpIHsKPj4gPiArCQkJdmFsID0gSTkxNV9SRUFEKE1JUElfREVWSUNFX1JFQURZKHBvcnQpKTsK Pj4gPiArCQkJdmFsICY9IH5VTFBTX1NUQVRFX01BU0s7Cj4+ID4gKwkJCXZhbCB8PSBERVZJQ0Vf UkVBRFk7Cj4+ID4gKwkJCUk5MTVfV1JJVEUoTUlQSV9ERVZJQ0VfUkVBRFkocG9ydCksIHZhbCk7 Cj4+ID4gKwkJCXVzbGVlcF9yYW5nZSgxMCwgMTUpOwo+PiA+ICsJCX0KPj4gPiArCj4+ID4gKwkJ LyogRW50ZXIgVUxQUyAqLwo+PiA+ICsJCXZhbCA9IEk5MTVfUkVBRChNSVBJX0RFVklDRV9SRUFE WShwb3J0KSk7Cj4+ID4gKwkJdmFsICY9IH5VTFBTX1NUQVRFX01BU0s7Cj4+ID4gKwkJdmFsIHw9 IChVTFBTX1NUQVRFX0VOVEVSIHwgREVWSUNFX1JFQURZKTsKPj4gPiArCQlJOTE1X1dSSVRFKE1J UElfREVWSUNFX1JFQURZKHBvcnQpLCB2YWwpOwo+PiA+ICsKPj4gPiArCQkvKiBXYWl0IGZvciBV TFBTIE5vdCBhY3RpdmUgKi8KPj4gPiArCQlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoZGV2 X3ByaXYsCj4+ID4gKwkJCQlNSVBJX0NUUkwocG9ydCksIEdMS19VTFBTX05PVF9BQ1RJVkUsCj4+ ID4gKwkJCQlHTEtfVUxQU19OT1RfQUNUSVZFLCAyMCkpCj4+ID4gKwo+PiA+ICsJCS8qIEV4aXQg VUxQUyAqLwo+PiA+ICsJCXZhbCA9IEk5MTVfUkVBRChNSVBJX0RFVklDRV9SRUFEWShwb3J0KSk7 Cj4+ID4gKwkJdmFsICY9IH5VTFBTX1NUQVRFX01BU0s7Cj4+ID4gKwkJdmFsIHw9IChVTFBTX1NU QVRFX0VYSVQgfCBERVZJQ0VfUkVBRFkpOwo+PiA+ICsJCUk5MTVfV1JJVEUoTUlQSV9ERVZJQ0Vf UkVBRFkocG9ydCksIHZhbCk7Cj4+ID4gKwo+PiA+ICsJCS8qIEVudGVyIE5vcm1hbCBNb2RlICov Cj4+ID4gKwkJdmFsID0gSTkxNV9SRUFEKE1JUElfREVWSUNFX1JFQURZKHBvcnQpKTsKPj4gPiAr CQl2YWwgJj0gflVMUFNfU1RBVEVfTUFTSzsKPj4gPiArCQl2YWwgfD0gKFVMUFNfU1RBVEVfTk9S TUFMX09QRVJBVElPTiB8IERFVklDRV9SRUFEWSk7Cj4+ID4gKwkJSTkxNV9XUklURShNSVBJX0RF VklDRV9SRUFEWShwb3J0KSwgdmFsKTsKPj4gPiArCj4+ID4gKwkJdG1wID0gSTkxNV9SRUFEKE1J UElfQ1RSTChwb3J0KSk7Cj4+ID4gKwkJdG1wICY9IH5HTEtfTFBfV0FLRTsKPj4gPiArCQlJOTE1 X1dSSVRFKE1JUElfQ1RSTChwb3J0KSwgdG1wKTsKPj4gPiArCX0KPj4gPiArCj4+ID4gKwkvKiBX YWl0IGZvciBTdG9wIHN0YXRlICovCj4+ID4gKwlmb3JfZWFjaF9kc2lfcG9ydChwb3J0LCBpbnRl bF9kc2ktPnBvcnRzKSB7Cj4+ID4gKwkJaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKGRldl9w cml2LAo+PiA+ICsJCQkJTUlQSV9DVFJMKHBvcnQpLAo+PiBHTEtfREFUQV9MQU5FX1NUT1BfU1RB VEUsCj4+ID4gKwkJCQlHTEtfREFUQV9MQU5FX1NUT1BfU1RBVEUsIDIwKSkKPj4gPiArCQkJRFJN X0VSUk9SKCJEYXRlIGxhbmUgbm90IGluIFNUT1Agc3RhdGVcbiIpOwo+PiA+ICsJfQo+PiA+ICsK Pj4gPiArCS8qIFdhaXQgZm9yIEFGRSBMQVRDSCAqLwo+PiA+ICsJZm9yX2VhY2hfZHNpX3BvcnQo cG9ydCwgaW50ZWxfZHNpLT5wb3J0cykgewo+PiA+ICsJCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdp c3RlcihkZXZfcHJpdiwKPj4gPiArCQkJCUJYVF9NSVBJX1BPUlRfQ1RSTChwb3J0KSwgQUZFX0xB VENIT1VULAo+PiA+ICsJCQkJQUZFX0xBVENIT1VULCAyMCkpCj4+ID4gKwkJCURSTV9FUlJPUigi RC1QSFkgbm90IGVudGVyaW5nIExQLTExIHN0YXRlXG4iKTsKPj4gPiArCX0KPj4gPiArfQo+PiA+ ICsKPj4gCj4+IEknbSB3b25kZXJpbmcgaWYgdGhlc2Ugc2hvdWxkIGp1c3QgYmUgR0xLIHZlcnNp b25zIG9mIGludGVsX2RzaV9kZXZpY2VfcmVhZHkKPj4gYW5kIGludGVsX2RzaV9jbGVhcl9kZXZp Y2VfcmVhZHkuIEl0IHNlZW1zIHRvdGFsbHkgd3JvbmcgdGhhdCB5b3UncmUgZG9pbmcKPj4gZGV2 aWNlIHJlYWR5IHN0dWZmIHR3aWNlIG9uIEdMSy4uLgo+Cj4gQWdyZWUuIERvbid0IG5lZWQgdG8g Y2FsbCBpbnRlbF9kc2lfZGV2aWNlX3JlYWR5IGZvciBHTEssIGFzIGRldmljZSByZWFkeSBpcyBh bHJlYWR5IGRvbmUgaW5zaWRlIGVuYWJsZV9pby4KPiBXaWxsIGRvIGZvbGxvd2luZyA6Cj4gSWYo IUlTX0dFTUlOSUxBS0UoZGV2X3ByaXYpCj4gaW50ZWxfZHNpX2RldmljZV9yZWFkeShlbmNvZGVy KTsKPgo+PiAKPj4gCj4+ID4gIHN0YXRpYyB2b2lkIGJ4dF9kc2lfZGV2aWNlX3JlYWR5KHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKSAgewo+PiA+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Cj4+IEBACj4+ID4gLTU1 OSw2ICs2ODcsOSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kc2lfcHJlX2VuYWJsZShzdHJ1Y3QgaW50 ZWxfZW5jb2Rlcgo+PiA+ICplbmNvZGVyLAo+PiA+Cj4+ID4gIAlpbnRlbF9kc2lfcHJlcGFyZShl bmNvZGVyLCBwaXBlX2NvbmZpZyk7Cj4+ID4KPj4gPiArCWlmIChJU19HRU1JTklMQUtFKGRldl9w cml2KSkKPj4gPiArCQlpbnRlbF9kc2lfZW5hYmxlX21pcGlpbyhlbmNvZGVyKTsKPj4gPiArCj4+ ID4gIAkvKiBQYW5lbCBFbmFibGUgb3ZlciBDUkMgUE1JQyAqLwo+PiA+ICAJaWYgKGludGVsX2Rz aS0+Z3Bpb19wYW5lbCkKPj4gPiAgCQlncGlvZF9zZXRfdmFsdWVfY2Fuc2xlZXAoaW50ZWxfZHNp LT5ncGlvX3BhbmVsLCAxKTsgQEAgLQo+PiA2OTksNgo+PiA+ICs4MzAsOSBAQCBzdGF0aWMgdm9p ZCBpbnRlbF9kc2lfY2xlYXJfZGV2aWNlX3JlYWR5KHN0cnVjdCBpbnRlbF9lbmNvZGVyCj4+ICpl bmNvZGVyKQo+PiA+ICAJCXVzbGVlcF9yYW5nZSgyMDAwLCAyNTAwKTsKPj4gPiAgCX0KPj4gPgo+ PiA+ICsJaWYgKElTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKQo+PiA+ICsJCWludGVsX2RzaV9kaXNh YmxlX21pcGlpbyhlbmNvZGVyKTsKPj4gPiArCj4+IAo+PiBXaGVuIHlvdSdyZSBkb2luZyBlbmFi bGUvZGlzYWJsZSBvZiBzb21ldGhpbmcsIHRoZXkgc2hvdWxkIGJlIGNhbGxlZCBmcm9tCj4+IHRo ZSBjb3JyZXNwb25kaW5nIGZ1bmN0aW9ucyBpbiB0aGUgZW5hYmxlL2Rpc2FibGUgcGF0aHMuIEJ1 dCB0aGlzIGlzIGp1c3QgYQo+PiBnZW5lcmFsIHJlbWFyaywgaWYgd2UgY29uY2x1ZGUgdGhhdCB0 aGVzZSBzaG91bGQgYmUgYWx0ZXJuYXRpdmUgZGV2aWNlCj4+IHJlYWR5L3VucmVhZHkgY2FsbHMg aW5zdGVhZC4KPgo+IFllcyBhZ3JlZSwgaW50ZWxfZHNpX2Rpc2FibGVfbWlwaWlvIHNob3VsZCBi ZSBjYWxsZWQgZnJvbSBpbnRlbF9kc2lfcG9zdF9kaXNhYmxlIGFmdGVyIGludGVsX2RzaV9jbGVh cl9kZXZpY2VfcmVhZHkgYW5kIGJlZm9yZSBpbnRlbF9kaXNhYmxlX2RzaV9wbGwKPiBXaWxsIGRv IHRoZXNlIGNoYW5nZXMgaW4gbmV4dCBzZXJpZXMuCgpJIG1lYW50LCBob3cgYWJvdXQgcmVuYW1p bmcgaW50ZWxfZHNpX2VuYWJsZV9taXBpaW8gdG8KZ2xrX2RzaV9kZXZpY2VfcmVhZHksIGFuZCBt YWtpbmcgaW50ZWxfZHNpX2RldmljZV9yZWFkeSBjYWxsCmdsa19kc2lfZGV2aWNlX3JlYWR5IGZv ciBHTEsuCgpUaGVuIHJlbmFtZSBpbnRlbF9kc2lfY2xlYXJfZGV2aWNlX3JlYWR5IHRvIHZsdl9k c2lfY2xlYXJfZGV2aWNlX3JlYWR5CmFuZCBpbnRlbF9kc2lfZGlzYWJsZV9taXBpaW8gdG8gZ2xr X2RzaV9jbGVhcl9kZXZpY2VfcmVhZHksIGFuZCBhZGQgYQpuZXcgaW50ZWxfZHNpX2NsZWFyX2Rl dmljZV9yZWFkeSB3cmFwcGVyIHRvIGNhbGwKdmx2X2RzaV9jbGVhcl9kZXZpY2VfcmVhZHkgZm9y IFZMVi9DSFYvQlhULCBhbmQKZ2xrX2RzaV9jbGVhcl9kZXZpY2VfcmVhZHkgZm9yIEdMSy4KCkhv dyBkb2VzIHRoYXQgc291bmQ/CgoKQlIsCkphbmkuCgo+PiAKPj4gQlIsCj4+IEphbmkuCj4+IAo+ PiAKPj4gPiAgCWludGVsX2Rpc2FibGVfZHNpX3BsbChlbmNvZGVyKTsKPj4gPiAgfQo+PiAKPj4g LS0KPj4gSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIFRlY2hub2xvZ3kgQ2VudGVyCgot LSAKSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIFRlY2hub2xvZ3kgQ2VudGVyCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=