From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [PATCH 2/2] drm/i915/lspcon: Add workaround for resuming in PCON mode Date: Fri, 21 Oct 2016 10:20:47 +0300 Message-ID: <1477034447.28449.23.camel@intel.com> References: <1476983187-27216-1-git-send-email-imre.deak@intel.com> <1476983187-27216-2-git-send-email-imre.deak@intel.com> <87y41iq3vm.fsf@intel.com> <87r37aq0wp.fsf@intel.com> <1476992610.15304.29.camel@intel.com> <87oa2epwwx.fsf@intel.com> <1476999650.15304.50.camel@intel.com> Reply-To: imre.deak@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 A08F26EC7A for ; Fri, 21 Oct 2016 07:26:59 +0000 (UTC) In-Reply-To: <1476999650.15304.50.camel@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jani Nikula , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCAyMDE2LTEwLTIxIGF0IDAwOjQwICswMzAwLCBJbXJlIERlYWsgd3JvdGU6Cj4gT24g VGh1LCAyMDE2LTEwLTIwIGF0IDIzOjUwICswMzAwLCBKYW5pIE5pa3VsYSB3cm90ZToKPiA+IE9u IFRodSwgMjAgT2N0IDIwMTYsIEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4gd3JvdGU6 Cj4gPiA+IE9uIFRodSwgMjAxNi0xMC0yMCBhdCAyMjoyNCArMDMwMCwgSmFuaSBOaWt1bGEgd3Jv dGU6Cj4gPiA+ID4gT24gVGh1LCAyMCBPY3QgMjAxNiwgSmFuaSBOaWt1bGEgPGphbmkubmlrdWxh QGludGVsLmNvbT4gd3JvdGU6Cj4gPiA+ID4gPiBPbiBUaHUsIDIwIE9jdCAyMDE2LCBJbXJlIERl YWsgPGltcmUuZGVha0BpbnRlbC5jb20+IHdyb3RlOgo+ID4gPiA+ID4gPiBPbiBteSBBUEwgdGhl IExTUENPTiBmaXJtd2FyZSByZXN1bWVzIGluIFBDT04gbW9kZSBhcwo+ID4gPiA+ID4gPiBvcHBv c2VkIHRvIHRoZQo+ID4gPiA+ID4gPiBleHBlY3RlZCBMUyBtb2RlLiBJdCBhbHNvIGFwcGVhcnMg dG8gYmUgaW4gYSBzdGF0ZSB3aGVyZQo+ID4gPiA+ID4gPiBBVVggRFBDRCByZWFkcwo+ID4gPiA+ ID4gPiB3aWxsIHN1Y2NlZWQgYnV0IHJldHVybiBnYXJiYWdlIHJlY292ZXJpbmcgb25seSBhZnRl ciBhIGZldwo+ID4gPiA+ID4gPiBodW5kcmVkcyBvZgo+ID4gPiA+ID4gPiBtaWxsaXNlY29uZHMu IEFmdGVyIHRoZSByZWNvdmVyeSB0aW1lIERQQ0QgcmVhZHMgd2lsbAo+ID4gPiA+ID4gPiByZXN1 bHQgaW4gdGhlCj4gPiA+ID4gPiA+IGNvcnJlY3QgdmFsdWVzIGFuZCB0aGluZ3Mgd2lsbCBjb250 aW51ZSB0byB3b3JrLiBJZiBJMkMKPiA+ID4gPiA+ID4gb3ZlciBBVVggaXMKPiA+ID4gPiA+ID4g YXR0ZW1wdGVkIGR1cmluZyB0aGlzIHJlY292ZXJ5IHRpbWUgKGltcGx5aW5nIGFuIEFVWCB3cml0 ZQo+ID4gPiA+ID4gPiB0cmFuc2FjdGlvbikKPiA+ID4gPiA+ID4gdGhlIGZpcm13YXJlIHdvbid0 IHJlY292ZXIgYW5kIHdpbGwgc3RheSBpbiB0aGlzIGJyb2tlbgo+ID4gPiA+ID4gPiBzdGF0ZS4K PiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+IEFzIGEgd29ya2Fyb3VuZCBjaGVjayBpZiB0aGUgZmly bXdhcmUgaXMgaW4gUENPTiBzdGF0ZQo+ID4gPiA+ID4gPiBhZnRlciByZXN1bWUgYW5kCj4gPiA+ ID4gPiA+IGlmIHNvIHdhaXQgdW50aWwgdGhlIGNvcnJlY3QgRFBDRCB2YWx1ZXMgYXJlIHJldHVy bmVkLiBGb3IKPiA+ID4gPiA+ID4gdGhpcyB3ZQo+ID4gPiA+ID4gPiBjb21wYXJlIHRoZSBicmFu Y2ggZGVzY3JpcHRvciB3aXRoIHRoZSBvbmUgd2UgY2FjaGVkIGR1cmluZwo+ID4gPiA+ID4gPiBp bml0IHRpbWUuCj4gPiA+ID4gPiA+IElmIHRoZSBmaXJtd2FyZSB3YXMgaW4gdGhlIExTIHN0YXRl LCB3ZSBza2lwIHRoZSB3L2EgYW5kCj4gPiA+ID4gPiA+IGNvbnRpbnVlIGFzCj4gPiA+ID4gPiA+ IGJlZm9yZS4KPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+IENjOiBTaGFzaGFuayBTaGFybWEgPHNo YXNoYW5rLnNoYXJtYUBpbnRlbC5jb20+Cj4gPiA+ID4gPiA+IENjOiBWaWxsZSBTeXJqw6Rsw6Qg PHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ID4gPiA+ID4gPiBDYzogSmFuaSBOaWt1 bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4KPiA+ID4gPiA+ID4gU2lnbmVkLW9mZi1ieTogSW1y ZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPgo+ID4gPiA+ID4gPiAtLS0KPiA+ID4gPiA+ID4g wqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jwqDCoMKgwqDCoHzCoMKgMiArLQo+ID4g PiA+ID4gPiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5owqDCoMKgwqB8wqDCoDYg KysrKy0KPiA+ID4gPiA+ID4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sc3Bjb24uYyB8 IDUyCj4gPiA+ID4gPiA+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0KPiA+ ID4gPiA+ID4gwqAzIGZpbGVzIGNoYW5nZWQsIDQ4IGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9u cygtKQo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RwLmMKPiA+ID4gPiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcC5jCj4gPiA+ID4gPiA+IGluZGV4IGU5MDIxMWUuLmVjMDMxZGIgMTAwNjQ0Cj4gPiA+ID4g PiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiA+ID4gPiA+ID4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ID4gPiA+ID4gPiBAQCAtMzQ4Nyw3 ICszNDg3LDcgQEAgaW50ZWxfZHBfbGlua19kb3duKHN0cnVjdCBpbnRlbF9kcAo+ID4gPiA+ID4g PiAqaW50ZWxfZHApCj4gPiA+ID4gPiA+IMKgCWludGVsX2RwLT5EUCA9IERQOwo+ID4gPiA+ID4g PiDCoH0KPiA+ID4gPiA+ID4gwqAKPiA+ID4gPiA+ID4gLXN0YXRpYyBib29sCj4gPiA+ID4gPiA+ ICtib29sCj4gPiA+ID4gPiA+IMKgaW50ZWxfZHBfcmVhZF9kcGNkKHN0cnVjdCBpbnRlbF9kcCAq aW50ZWxfZHApCj4gPiA+ID4gPiA+IMKgewo+ID4gPiA+ID4gPiDCoAlpZiAoZHJtX2RwX2RwY2Rf cmVhZCgmaW50ZWxfZHAtPmF1eCwgMHgwMDAsCj4gPiA+ID4gPiA+IGludGVsX2RwLT5kcGNkLAo+ ID4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgK PiA+ID4gPiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4gPiA+ID4g PiBpbmRleCBhMzVlMjQxLi45YTIzNjZlIDEwMDY0NAo+ID4gPiA+ID4gPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4gPiA+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4gPiA+ID4gPiBAQCAtOTcyLDcgKzk3Miw5IEBAIHN0cnVj dCBpbnRlbF9kcCB7Cj4gPiA+ID4gPiA+IMKgc3RydWN0IGludGVsX2xzcGNvbiB7Cj4gPiA+ID4g PiA+IMKgCWJvb2wgYWN0aXZlOwo+ID4gPiA+ID4gPiDCoAllbnVtIGRybV9sc3Bjb25fbW9kZSBt b2RlOwo+ID4gPiA+ID4gPiAtCXN0cnVjdCBkcm1fZHBfYXV4ICphdXg7Cj4gPiA+ID4gPiA+ICsJ c3RydWN0IGludGVsX2RwICppbnRlbF9kcDsKPiA+ID4gPiA+ID4gKwlib29sIGRlc2NfdmFsaWQ7 Cj4gPiA+ID4gPiA+ICsJc3RydWN0IGludGVsX2RwX2Rlc2MgZGVzYzsKPiA+ID4gPiA+IAo+ID4g PiA+ID4gSSBndWVzcyB3ZSBjb3VsZCBjYWNoZSB0aGUgZGVzYyBpbiBpbnRlbF9kcCBkaXJlY3Rs eS4KPiA+ID4gPiA+IEluZGVwZW5kZW50IG9mCj4gPiA+ID4gPiB0aGlzIHBhdGNoLgo+ID4gPiA+ ID4gCj4gPiA+ID4gPiBBbHNvLCBJJ20gd29uZGVyaW5nIGlmIHdlIGNvdWxkIHN0aWNrIHdpdGgg anVzdCBhdXggaGVyZSwgYW5kCj4gPiA+ID4gPiByZWFkCj4gPiA+ID4gPiBzb21ldGhpbmcgZWxz ZSBmcm9tIGRwY2QgaW5zdGVhZC4KPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiDCoH07Cj4gPiA+ID4g PiA+IMKgCj4gPiA+ID4gPiA+IMKgc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCB7Cj4gPiA+ID4g PiA+IEBAIC0xNDY5LDYgKzE0NzEsOCBAQCBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludAo+ID4g PiA+ID4gPiBpbnRlbF9kcF91bnVzZWRfbGFuZV9tYXNrKGludCBsYW5lX2NvdW50KQo+ID4gPiA+ ID4gPiDCoH0KPiA+ID4gPiA+ID4gwqAKPiA+ID4gPiA+ID4gwqBib29sCj4gPiA+ID4gPiA+ICtp bnRlbF9kcF9yZWFkX2RwY2Qoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCk7Cj4gPiA+ID4gPiA+ ICtib29sCj4gPiA+ID4gPiA+IMKgaW50ZWxfZHBfcmVhZF9kZXNjKHN0cnVjdCBpbnRlbF9kcCAq aW50ZWxfZHAsIHN0cnVjdAo+ID4gPiA+ID4gPiBpbnRlbF9kcF9kZXNjICpkZXNjKTsKPiA+ID4g PiA+ID4gwqB2b2lkCj4gPiA+ID4gPiA+IMKgaW50ZWxfZHBfcHJpbnRfZGVzYyhzdHJ1Y3QgaW50 ZWxfZHAgKmludGVsX2RwLCBzdHJ1Y3QKPiA+ID4gPiA+ID4gaW50ZWxfZHBfZGVzYyAqZGVzYyk7 Cj4gPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sc3Bj b24uYwo+ID4gPiA+ID4gPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xzcGNvbi5jCj4g PiA+ID4gPiA+IGluZGV4IGQyYzhjYjIuLjU0YzYxNzMgMTAwNjQ0Cj4gPiA+ID4gPiA+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xzcGNvbi5jCj4gPiA+ID4gPiA+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xzcGNvbi5jCj4gPiA+ID4gPiA+IEBAIC0zMCw3ICsz MCw3IEBACj4gPiA+ID4gPiA+IMKgc3RhdGljIGVudW0gZHJtX2xzcGNvbl9tb2RlIGxzcGNvbl9n ZXRfY3VycmVudF9tb2RlKHN0cnVjdAo+ID4gPiA+ID4gPiBpbnRlbF9sc3Bjb24gKmxzcGNvbikK PiA+ID4gPiA+ID4gwqB7Cj4gPiA+ID4gPiA+IMKgCWVudW0gZHJtX2xzcGNvbl9tb2RlIGN1cnJl bnRfbW9kZSA9Cj4gPiA+ID4gPiA+IERSTV9MU1BDT05fTU9ERV9JTlZBTElEOwo+ID4gPiA+ID4g PiAtCXN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciA9ICZsc3Bjb24tPmF1eC0+ZGRjOwo+ID4g PiA+ID4gPiArCXN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciA9ICZsc3Bjb24tPmludGVsX2Rw LQo+ID4gPiA+ID4gPiA+YXV4LmRkYzsKPiA+ID4gPiA+ID4gwqAKPiA+ID4gPiA+ID4gwqAJaWYg KGRybV9sc3Bjb25fZ2V0X21vZGUoYWRhcHRlciwgwqR0X21vZGUpKQo+ID4gPiA+ID4gPiDCoAkJ RFJNX0VSUk9SKCJFcnJvciByZWFkaW5nIExTUENPTiBtb2RlXG4iKTsKPiA+ID4gPiA+ID4gQEAg LTQ1LDcgKzQ1LDcgQEAgc3RhdGljIGludCBsc3Bjb25fY2hhbmdlX21vZGUoc3RydWN0Cj4gPiA+ ID4gPiA+IGludGVsX2xzcGNvbiAqbHNwY29uLAo+ID4gPiA+ID4gPiDCoHsKPiA+ID4gPiA+ID4g wqAJaW50IGVycjsKPiA+ID4gPiA+ID4gwqAJZW51bSBkcm1fbHNwY29uX21vZGUgY3VycmVudF9t b2RlOwo+ID4gPiA+ID4gPiAtCXN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciA9ICZsc3Bjb24t PmF1eC0+ZGRjOwo+ID4gPiA+ID4gPiArCXN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciA9ICZs c3Bjb24tPmludGVsX2RwLQo+ID4gPiA+ID4gPiA+YXV4LmRkYzsKPiA+ID4gPiA+ID4gwqAKPiA+ ID4gPiA+ID4gwqAJZXJyID0gZHJtX2xzcGNvbl9nZXRfbW9kZShhZGFwdGVyLCDCpHRfbW9kZSk7 Cj4gPiA+ID4gPiA+IMKgCWlmIChlcnIpIHsKPiA+ID4gPiA+ID4gQEAgLTcyLDcgKzcyLDcgQEAg c3RhdGljIGludCBsc3Bjb25fY2hhbmdlX21vZGUoc3RydWN0Cj4gPiA+ID4gPiA+IGludGVsX2xz cGNvbiAqbHNwY29uLAo+ID4gPiA+ID4gPiDCoHN0YXRpYyBib29sIGxzcGNvbl9wcm9iZShzdHJ1 Y3QgaW50ZWxfbHNwY29uICpsc3Bjb24pCj4gPiA+ID4gPiA+IMKgewo+ID4gPiA+ID4gPiDCoAll bnVtIGRybV9kcF9kdWFsX21vZGVfdHlwZSBhZGFwdG9yX3R5cGU7Cj4gPiA+ID4gPiA+IC0Jc3Ry dWN0IGkyY19hZGFwdGVyICphZGFwdGVyID0gJmxzcGNvbi0+YXV4LT5kZGM7Cj4gPiA+ID4gPiA+ ICsJc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyID0gJmxzcGNvbi0+aW50ZWxfZHAtCj4gPiA+ ID4gPiA+ID5hdXguZGRjOwo+ID4gPiA+ID4gPiDCoAo+ID4gPiA+ID4gPiDCoAkvKiBMZXRzIHBy b2JlIHRoZSBhZGFwdG9yIGFuZCBjaGVjayBpdHMgdHlwZSAqLwo+ID4gPiA+ID4gPiDCoAlhZGFw dG9yX3R5cGUgPSBkcm1fZHBfZHVhbF9tb2RlX2RldGVjdChhZGFwdGVyKTsKPiA+ID4gPiA+ID4g QEAgLTg5LDggKzg5LDQyIEBAIHN0YXRpYyBib29sIGxzcGNvbl9wcm9iZShzdHJ1Y3QKPiA+ID4g PiA+ID4gaW50ZWxfbHNwY29uICpsc3Bjb24pCj4gPiA+ID4gPiA+IMKgCXJldHVybiB0cnVlOwo+ ID4gPiA+ID4gPiDCoH0KPiA+ID4gPiA+ID4gwqAKPiA+ID4gPiA+ID4gK3N0YXRpYyB2b2lkIGxz cGNvbl9yZXN1bWVfaW5fcGNvbl93YShzdHJ1Y3QgaW50ZWxfbHNwY29uCj4gPiA+ID4gPiA+ICps c3Bjb24pCj4gPiA+ID4gPiA+ICt7Cj4gPiA+ID4gPiA+ICsJdW5zaWduZWQgbG9uZyBzdGFydCA9 IGppZmZpZXM7Cj4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gKwlpZiAoIWxzcGNvbi0+ZGVzY192 YWxpZCkKPiA+ID4gPiA+ID4gKwkJcmV0dXJuOwo+ID4gPiA+ID4gPiArCj4gPiA+ID4gPiA+ICsJ d2hpbGUgKDEpIHsKPiA+ID4gPiA+ID4gKwkJc3RydWN0IGludGVsX2RwX2Rlc2MgZGVzYzsKPiA+ ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiArCQkvKgo+ID4gPiA+ID4gPiArCQnCoCogVGhlIHcvYSBv bmx5IGFwcGxpZXMgaW4gUENPTiBtb2RlIGFuZAo+ID4gPiA+ID4gPiB3ZSBkb24ndCBleHBlY3Qg YW55Cj4gPiA+ID4gPiA+ICsJCcKgKiBBVVggZXJyb3JzLgo+ID4gPiA+ID4gPiArCQnCoCovCj4g PiA+ID4gPiA+ICsJCWlmICghaW50ZWxfZHBfcmVhZF9kZXNjKGxzcGNvbi0+aW50ZWxfZHAsCj4g PiA+ID4gPiA+ICZkZXNjKSkKPiA+ID4gPiA+ID4gKwkJCXJldHVybjsKPiA+ID4gPiA+ID4gKwo+ ID4gPiA+ID4gPiArCQlpZiAoIW1lbWNtcCgmbHNwY29uLT5kZXNjLCAmZGVzYywKPiA+ID4gPiA+ ID4gc2l6ZW9mKGRlc2MpKSkgewo+ID4gPiA+ID4gPiArCQkJRFJNX0RFQlVHX0tNUygiTFNQQ09O IHJlY292ZXJpbmcKPiA+ID4gPiA+ID4gaW4gUENPTiBtb2RlIGFmdGVyICV1IG1zXG4iLAo+ID4g PiA+ID4gPiArCQkJCcKgwqDCoMKgwqDCoGppZmZpZXNfdG9fbXNlY3MoamlmCj4gPiA+ID4gPiA+ IGZpZXMgLSBzdGFydCkpOwo+ID4gPiA+ID4gPiArCQkJcmV0dXJuOwo+ID4gPiA+ID4gPiArCQl9 Cj4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gKwkJaWYgKHRpbWVfYWZ0ZXIoamlmZmllcywgc3Rh cnQgKwo+ID4gPiA+ID4gPiBtc2Vjc190b19qaWZmaWVzKDEwMDApKSkKPiA+ID4gPiA+ID4gKwkJ CWJyZWFrOwo+ID4gPiA+ID4gPiArCj4gPiA+ID4gPiA+ICsJCW1zbGVlcCgxMCk7Cj4gPiA+ID4g PiA+ICsJfQo+ID4gPiA+ID4gPiArCj4gPiA+ID4gPiA+ICsJRFJNX0RFQlVHX0tNUygiTFNQQ09O IERQIGRlc2NyaXB0b3IgbWlzbWF0Y2ggYWZ0ZXIKPiA+ID4gPiA+ID4gcmVzdW1lXG4iKTsKPiA+ ID4gPiA+ID4gK30KPiA+ID4gPiA+IAo+ID4gPiA+ID4gSSB0aGluayB3ZSBuZWVkIHRvIGdvIHRo cm91Z2ggdGhlIExTUENPTiBzcGVjIG9uY2UgbW9yZQo+ID4gPiA+ID4gYmVmb3JlIHdlIG1lcmdl Cj4gPiA+ID4gPiB0aGlzLiBNYXliZSB3ZSBkb24ndCByZXNldCB0aGUgTFNQQ09OIHByb3Blcmx5 LiBNYXliZSB3ZQo+ID4gPiA+ID4gZG9uJ3QgaGFuZGxlCj4gPiA+ID4gPiB0aGUgcmVzdW1lIHBy b3Blcmx5LiBNYXliZSB0aGlzIGlzbid0IGEgIndvcmthcm91bmQiIGFmdGVyCj4gPiA+ID4gPiBh bGwuCj4gPiA+ID4gCj4gPiA+ID4gTG9va3MgbGlrZSB0aGlzIHN0dWZmIGlzIG5vcm1hbCBiZWhh dmlvdXIgaWYgdGhlIExTUENPTiBoYXMKPiA+ID4gPiBiZWVuIGluIGxvdwo+ID4gPiA+IHBvd2Vy IHN0YXRlLCBhbmQgd2UgbmVlZCB0byB3YWtlIGl0IHVwLiBJbiBQQ09OIG1vZGUsIHRoaXMgaXMK PiA+ID4gPiBkb25lIHVzaW5nCj4gPiA+ID4gRFBfU0VUX1BPV0VSLiBBbmQgd2hpbGUgd2FraW5n IHVwLCBpdCdsbCBpc3N1ZSBBVVggREVGRVIsIGFzIHdlCj4gPiA+ID4gY2FuIHNlZQo+ID4gPiA+ IGZyb20gdGhlIGxvZ3MuCj4gPiA+IAo+ID4gPiBJIGRpZCB0aGluayBhYm91dCB0aGF0LCBidXQg d2FraW5nIHRoZSBkZXZpY2UgdmlhCj4gPiA+IERQX1NFVF9QT1dFUihEMCkKPiA+ID4gZGlkbid0 IGhlbHAuIERvaW5nIGFueSBBVVggd3JpdGUgdHJhbnNhY3Rpb25zIGFjdHVhbGx5IGdldHMgdGhl Cj4gPiA+IGRldmljZQo+ID4gPiBpbnRvIGEgc3R1Y2sgc3RhdGUgZm9yIGdvb2QgKHVudGlsIG5l eHQgcmVib290IG9uIEFQTCkuCj4gPiA+IAo+ID4gPiBNb3JlIG92ZXIsIHdlIGRvbid0IGdldCBB VVggREVGRVJzIHRoZSBBVVggdHJhbnNhY3Rpb25zIHN1Y2NlZWQsCj4gPiA+IGl0J3MKPiA+ID4g b25seSB0aGF0IHJlYWRzIHdpbGwgcmV0dXJuIGNvcnJ1cHRlZCB2YWx1ZXMgZm9yIHRoZSBnaXZl biB0aW1lCj4gPiA+IHBlcmlvZC4KPiA+IAo+ID4gVGhlIGJ1ZyBhdCBoYW5kIGhhcyBuYXRpdmUg ZGVmZXJzCj4gPiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD05 ODM1Mwo+IAo+IEZvciBJMkMtb3Zlci1BVVggSSBhbHNvIGdldCBkZWZlcnMsIGJ1dCBub3QgZm9y IERQQ0QgdHJhbnNhY3Rpb25zIGZvcgo+IG5hdGl2ZSBBVVggcmVnaXN0ZXJzIGZvciBpbnN0YW5j ZSBEUF9TRVRfUE9XRVIgb3IgdGhlIE9VSSwgZGV2aWNlLUlECj4gcmVnaXN0ZXJzLiBJIGFsc28g dHJpZWQgdGhlIExTIG1vZGUgd2FrZS11cCBzZXF1ZW5jZSB2aWEKPiBJMkMtb3Zlci1BVVggKG9m ZnNldCAweDIwKSwgYnV0IGRpZG4ndCBoZWxwIGVpdGhlci4KPiAKPiBUaGUgYnVnIGFib3ZlIGNv dWxkIGJlIGEgZGlmZmVyZW50IGlzc3VlLCBhbHRob3VnaCBJIGRpZCBzZWUgdGhpcwo+IHBhcnRp Y3VsYXIgc2NlbmFyaW8gZ2V0dGluZyBmaXhlZCBvbiB0aGUgc2FtZSBtYWNoaW5lIHNlZQo+IC9h cmNoaXZlL3Jlc3VsdHMvQ0lfSUdUX3Rlc3QvUGF0Y2h3b3JrXzI3NzgvCgpJIHRyaWVkIHRoaXMg bm93IG9uIHRoZSBmaS1za2wtNjcwMGhxIG1hY2hpbmUgaW4gdGhlIGJ1ZyByZXBvcnQgYW5kIGl0 CnNlZW1zIHRvIGJlIHRoZSBzYW1lIGZhaWx1cmUgbW9kZSBhcyB0aGUgQVBMIG9uZS4gVGhlcmUg aXMgb25lCmRpZmZlcmVuY2UgaW4gdGhhdCBvbiB0aGUgU0tMIG1hY2hpbmUgb25jZSB0aGUgZmly bXdhcmUgaXMgaW4gdGhlIHN0dWNrCnN0YXRlIGFmdGVyIHN1c3BlbmQvcmVzdW1lLCBhIHdhcm0g cmVib290IG1heSBub3QgcmVjb3ZlciBpdCwgc28gZHVyaW5nCnRoZSBuZXh0IGJvb3QgdGhlIExT UENPTiBwcm9iZSB3aWxsIGZhaWwuIEkgZ3Vlc3MgdGhhdCBkdXJpbmcgd2FybQpyZWJvb3QgTFNQ Q09OIG1heSBjb250aW51ZSB0byBiZSBwb3dlcmVkLCBzbyB0byBmdWxseSByZXNldCBpdCBhIHBv d2VyCmN5Y2xlIGlzIG5lZWRlZC4gSW4gYW55IGNhc2UgdGhpcyBwYXRjaCBmaXhlcyByZXN1bWUg b24gdGhhdCBtYWNoaW5lCnRvbywgc28gSSBjb3VsZG4ndCByZXByb2R1Y2UgdGhlIHByb2JsZW0g d2l0aCBpdCBldmVuIGFjcm9zcyBtdWx0aXBsZQpyZWJvb3RzLCB3aGVyZWFzIHdpdGhvdXQgaXQg aXQncyAxMDAlIHJlcHJvZHVjaWJsZS4KCi0tSW1yZQpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngK