From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Souza, Jose" Subject: Re: [PATCH v4 1/4] drm/i915/tc: Update DP_MODE programming Date: Thu, 26 Sep 2019 19:35:16 +0000 Message-ID: References: <20190925234509.29505-1-jose.souza@intel.com> <20190925234509.29505-2-jose.souza@intel.com> <20190926120200.GA20817@ideak-desk.fi.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8038B6EDF6 for ; Thu, 26 Sep 2019 19:35:18 +0000 (UTC) In-Reply-To: <20190926120200.GA20817@ideak-desk.fi.intel.com> Content-Language: en-US Content-ID: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Deak, Imre" Cc: "intel-gfx@lists.freedesktop.org" , "De Marchi, Lucas" List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCAyMDE5LTA5LTI2IGF0IDE1OjAyICswMzAwLCBJbXJlIERlYWsgd3JvdGU6DQo+IE9u IFdlZCwgU2VwIDI1LCAyMDE5IGF0IDA0OjQ1OjA2UE0gLTA3MDAsIEpvc8OpIFJvYmVydG8gZGUg U291emENCj4gd3JvdGU6DQo+ID4gRnJvbTogQ2xpbnRvbiBBIFRheWxvciA8Y2xpbnRvbi5hLnRh eWxvckBpbnRlbC5jb20+DQo+ID4gDQo+ID4gQlNwZWMgd2FzIHVwZGF0ZWQocjE0NjU0OCkgd2l0 aCBhIG5ldyBNR19EUF9NT0RFIFByb2dyYW1taW5nIHRhYmxlLA0KPiA+IG5vdyB0YWtpbmcgaW4g Y29uc2lkZXJhdGlvbiB0aGUgcGluIGFzc2lnbm1lbnQgYW5kIGFsbG93aW5nIHVzIHRvDQo+ID4g b3B0aW1pemUgcG93ZXIgYnkgc2h1dHRpbmcgZG93biBhdmFpbGFibGUgYnV0IG5vdCBuZWVkZWQg bGFuZXMuDQo+ID4gDQo+ID4gSXQgd2FzIHRlc3RlZCBvbiBJQ0wgYW5kIFRHTCwgd2l0aCBhZGFw dG9ycyB0aGF0IHVzZWQgcGluDQo+ID4gYXNzaWdubWVudA0KPiA+IEMgYW5kIEIsIHJldmVyc2lu ZyB0aGUgY29ubmVjdG9yIGFuZCBnb2luZyB0byBkaWZmZXJlbnQgbW9kZXMNCj4gPiB0ZXN0aW5n DQo+ID4gdGhlIG5vdCBuZWVkZWQgbGFuZSBzaHV0ZG93bi4NCj4gPiANCj4gPiBCU3BlYzogMjE3 MzUNCj4gPiBCU3BlYzogNDkyOTINCj4gPiANCj4gPiBDYzogSW1yZSBEZWFrIDxpbXJlLmRlYWtA aW50ZWwuY29tPg0KPiA+IENjOiBMdWNhcyBEZSBNYXJjaGkgPGx1Y2FzLmRlbWFyY2hpQGludGVs LmNvbT4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBDbGludG9uIEEgVGF5bG9yIDxjbGludG9uLmEudGF5 bG9yQGludGVsLmNvbT4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBKb3PDqSBSb2JlcnRvIGRlIFNvdXph IDxqb3NlLnNvdXphQGludGVsLmNvbT4NCj4gPiAtLS0NCj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9kZGkuYyB8IDgyICsrKysrKysrKysrKystLS0tLS0tDQo+ID4gLS0t LQ0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3RjLmMgIHwgMTUgKysr KysNCj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF90Yy5oICB8ICAxICsN Cj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgICAgICB8ICA1ICsrDQo+ ID4gIDQgZmlsZXMgY2hhbmdlZCwgNjYgaW5zZXJ0aW9ucygrKSwgMzcgZGVsZXRpb25zKC0pDQo+ ID4gDQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf ZGRpLmMNCj4gPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMNCj4g PiBpbmRleCBhYTQ3MGM3MGExOTguLjMxNmNlZGIxNjkzNSAxMDA2NDQNCj4gPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jDQo+ID4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGkuYw0KPiA+IEBAIC0zMDk1LDcgKzMwOTUsOCBA QCBzdGF0aWMgdm9pZCBpY2xfcHJvZ3JhbV9tZ19kcF9tb2RlKHN0cnVjdA0KPiA+IGludGVsX2Rp Z2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQpDQo+ID4gIHsNCj4gPiAgCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoaW50ZWxfZGlnX3BvcnQtDQo+ID4gPmJhc2Uu YmFzZS5kZXYpOw0KPiA+ICAJZW51bSBwb3J0IHBvcnQgPSBpbnRlbF9kaWdfcG9ydC0+YmFzZS5w b3J0Ow0KPiA+IC0JdTMyIGxuMCwgbG4xLCBsYW5lX21hc2s7DQo+ID4gKwl1MzIgbG4wLCBsbjEs IHBpbl9hc3NpZ25tZW50Ow0KPiA+ICsJdTggd2lkdGg7DQo+ID4gIA0KPiA+ICAJaWYgKGludGVs X2RpZ19wb3J0LT50Y19tb2RlID09IFRDX1BPUlRfVEJUX0FMVCkNCj4gPiAgCQlyZXR1cm47DQo+ ID4gQEAgLTMxMDMsNTAgKzMxMDQsNTcgQEAgc3RhdGljIHZvaWQgaWNsX3Byb2dyYW1fbWdfZHBf bW9kZShzdHJ1Y3QNCj4gPiBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0KQ0KPiA+ ICAJbG4wID0gSTkxNV9SRUFEKE1HX0RQX01PREUoMCwgcG9ydCkpOw0KPiA+ICAJbG4xID0gSTkx NV9SRUFEKE1HX0RQX01PREUoMSwgcG9ydCkpOw0KPiA+ICANCj4gPiAtCXN3aXRjaCAoaW50ZWxf ZGlnX3BvcnQtPnRjX21vZGUpIHsNCj4gPiAtCWNhc2UgVENfUE9SVF9EUF9BTFQ6DQo+ID4gLQkJ bG4wICY9IH4oTUdfRFBfTU9ERV9DRkdfRFBfWDFfTU9ERSB8DQo+ID4gTUdfRFBfTU9ERV9DRkdf RFBfWDJfTU9ERSk7DQo+ID4gLQkJbG4xICY9IH4oTUdfRFBfTU9ERV9DRkdfRFBfWDFfTU9ERSB8 DQo+ID4gTUdfRFBfTU9ERV9DRkdfRFBfWDJfTU9ERSk7DQo+ID4gKwlsbjAgJj0gfihNR19EUF9N T0RFX0NGR19EUF9YMV9NT0RFIHwNCj4gPiBNR19EUF9NT0RFX0NGR19EUF9YMV9NT0RFKTsNCj4g PiArCWxuMSAmPSB+KE1HX0RQX01PREVfQ0ZHX0RQX1gxX01PREUgfA0KPiA+IE1HX0RQX01PREVf Q0ZHX0RQX1gyX01PREUpOw0KPiA+ICANCj4gPiAtCQlsYW5lX21hc2sgPQ0KPiA+IGludGVsX3Rj X3BvcnRfZ2V0X2xhbmVfbWFzayhpbnRlbF9kaWdfcG9ydCk7DQo+ID4gKwkvKiBEUFBBVEMgKi8N Cj4gPiArCXBpbl9hc3NpZ25tZW50ID0NCj4gPiBpbnRlbF90Y19wb3J0X2dldF9waW5fYXNzaWdu bWVudF9tYXNrKGludGVsX2RpZ19wb3J0KTsNCj4gPiArCXdpZHRoID0gaW50ZWxfZGlnX3BvcnQt PmRwLmxhbmVfY291bnQ7DQo+IA0KPiBTaG91bGQgYmUgY3J0Y19zdGF0ZS0+bGFuZV9jb3VudC4g KGRwLmxhbmVfY291bnQgbWFrZXMgbm8gc2Vuc2UgZm9yDQo+IEhETUkNCj4gYW5kIGl0J3MgYWxz byBvbmx5IHNldCBmb3IgbGluayB0cmFpbmluZykNCg0KRG9uZQ0KDQo+IA0KPiA+ICANCj4gPiAt CQlzd2l0Y2ggKGxhbmVfbWFzaykgew0KPiA+IC0JCWNhc2UgMHgxOg0KPiA+IC0JCWNhc2UgMHg0 Og0KPiA+IC0JCQlicmVhazsNCj4gPiAtCQljYXNlIDB4MjoNCj4gPiArCXN3aXRjaCAocGluX2Fz c2lnbm1lbnQpIHsNCj4gPiArCWNhc2UgMHgwOg0KPiA+ICsJCVdBUk5fT04oaW50ZWxfZGlnX3Bv cnQtPnRjX21vZGUgIT0gVENfUE9SVF9MRUdBQ1kpOw0KPiA+ICsJCWlmICh3aWR0aCA9PSAxKSB7 DQo+ID4gKwkJCWxuMSB8PSBNR19EUF9NT0RFX0NGR19EUF9YMV9NT0RFOw0KPiA+ICsJCX0gZWxz ZSB7DQo+ID4gKwkJCWxuMCB8PSBNR19EUF9NT0RFX0NGR19EUF9YMl9NT0RFOw0KPiA+ICsJCQls bjEgfD0gTUdfRFBfTU9ERV9DRkdfRFBfWDJfTU9ERTsNCj4gPiArCQl9DQo+ID4gKwkJYnJlYWs7 DQo+ID4gKwljYXNlIDB4MToNCj4gPiArCQlpZiAod2lkdGggPT0gNCkgew0KPiA+ICsJCQlsbjAg fD0gTUdfRFBfTU9ERV9DRkdfRFBfWDJfTU9ERTsNCj4gPiArCQkJbG4xIHw9IE1HX0RQX01PREVf Q0ZHX0RQX1gyX01PREU7DQo+ID4gKwkJfQ0KPiA+ICsJCWJyZWFrOw0KPiA+ICsJY2FzZSAweDI6 DQo+ID4gKwkJaWYgKHdpZHRoID09IDIpIHsNCj4gPiArCQkJbG4wIHw9IE1HX0RQX01PREVfQ0ZH X0RQX1gyX01PREU7DQo+ID4gKwkJCWxuMSB8PSBNR19EUF9NT0RFX0NGR19EUF9YMl9NT0RFOw0K PiA+ICsJCX0NCj4gDQo+IG5pdDogV0FSTl9PTih3aWR0aD09NCk/DQoNClRoaXMgbGFuZSBhc3Np Z25tZW50IG9ubHkgaGFzIDIgbGFuZXMsIHNvIGl0IHdpbGwgbmV2ZXIgYmUgNC4NCg0KPiANCj4g PiArCQlicmVhazsNCj4gPiArCWNhc2UgMHgzOg0KPiA+ICsJY2FzZSAweDU6DQo+ID4gKwkJaWYg KHdpZHRoID09IDEpIHsNCj4gPiAgCQkJbG4wIHw9IE1HX0RQX01PREVfQ0ZHX0RQX1gxX01PREU7 DQo+ID4gLQkJCWJyZWFrOw0KPiA+IC0JCWNhc2UgMHgzOg0KPiA+IC0JCQlsbjAgfD0gTUdfRFBf TU9ERV9DRkdfRFBfWDFfTU9ERSB8DQo+ID4gLQkJCSAgICAgICBNR19EUF9NT0RFX0NGR19EUF9Y Ml9NT0RFOw0KPiA+IC0JCQlicmVhazsNCj4gPiAtCQljYXNlIDB4ODoNCj4gPiAgCQkJbG4xIHw9 IE1HX0RQX01PREVfQ0ZHX0RQX1gxX01PREU7DQo+ID4gLQkJCWJyZWFrOw0KPiA+IC0JCWNhc2Ug MHhDOg0KPiA+IC0JCQlsbjEgfD0gTUdfRFBfTU9ERV9DRkdfRFBfWDFfTU9ERSB8DQo+ID4gLQkJ CSAgICAgICBNR19EUF9NT0RFX0NGR19EUF9YMl9NT0RFOw0KPiA+IC0JCQlicmVhazsNCj4gPiAt CQljYXNlIDB4RjoNCj4gPiAtCQkJbG4wIHw9IE1HX0RQX01PREVfQ0ZHX0RQX1gxX01PREUgfA0K PiA+IC0JCQkgICAgICAgTUdfRFBfTU9ERV9DRkdfRFBfWDJfTU9ERTsNCj4gPiAtCQkJbG4xIHw9 IE1HX0RQX01PREVfQ0ZHX0RQX1gxX01PREUgfA0KPiA+IC0JCQkgICAgICAgTUdfRFBfTU9ERV9D RkdfRFBfWDJfTU9ERTsNCj4gPiAtCQkJYnJlYWs7DQo+ID4gLQkJZGVmYXVsdDoNCj4gPiAtCQkJ TUlTU0lOR19DQVNFKGxhbmVfbWFzayk7DQo+ID4gKwkJfSBlbHNlIHsNCj4gPiArCQkJbG4wIHw9 IE1HX0RQX01PREVfQ0ZHX0RQX1gyX01PREU7DQo+ID4gKwkJCWxuMSB8PSBNR19EUF9NT0RFX0NG R19EUF9YMl9NT0RFOw0KPiA+ICAJCX0NCj4gPiAgCQlicmVhazsNCj4gPiAtDQo+ID4gLQljYXNl IFRDX1BPUlRfTEVHQUNZOg0KPiA+IC0JCWxuMCB8PSBNR19EUF9NT0RFX0NGR19EUF9YMV9NT0RF IHwNCj4gPiBNR19EUF9NT0RFX0NGR19EUF9YMl9NT0RFOw0KPiA+IC0JCWxuMSB8PSBNR19EUF9N T0RFX0NGR19EUF9YMV9NT0RFIHwNCj4gPiBNR19EUF9NT0RFX0NGR19EUF9YMl9NT0RFOw0KPiA+ ICsJY2FzZSAweDQ6DQo+ID4gKwljYXNlIDB4NjoNCj4gPiArCQlpZiAod2lkdGggPT0gMSkgew0K PiA+ICsJCQlsbjAgfD0gTUdfRFBfTU9ERV9DRkdfRFBfWDFfTU9ERTsNCj4gPiArCQkJbG4xIHw9 IE1HX0RQX01PREVfQ0ZHX0RQX1gxX01PREU7DQo+ID4gKwkJfSBlbHNlIHsNCj4gPiArCQkJbG4w IHw9IE1HX0RQX01PREVfQ0ZHX0RQX1gyX01PREU7DQo+ID4gKwkJCWxuMSB8PSBNR19EUF9NT0RF X0NGR19EUF9YMl9NT0RFOw0KPiA+ICsJCX0NCj4gDQo+IFdBUk5fT04od2lkdGg9PTQpPw0KDQpT YW1lIGFzIGFib3ZlLg0KDQo+IA0KPiBXaXRoIHRoZSBsYW5lX2NvdW50IGZpeDoNCj4gUmV2aWV3 ZWQtYnk6IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4NCg0KVGhhbmtzDQoNCj4gDQo+ ID4gIAkJYnJlYWs7DQo+ID4gLQ0KPiA+ICAJZGVmYXVsdDoNCj4gPiAtCQlNSVNTSU5HX0NBU0Uo aW50ZWxfZGlnX3BvcnQtPnRjX21vZGUpOw0KPiA+IC0JCXJldHVybjsNCj4gPiArCQlNSVNTSU5H X0NBU0UocGluX2Fzc2lnbm1lbnQpOw0KPiA+ICAJfQ0KPiA+ICANCj4gPiAgCUk5MTVfV1JJVEUo TUdfRFBfTU9ERSgwLCBwb3J0KSwgbG4wKTsNCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF90Yy5jDQo+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX3RjLmMNCj4gPiBpbmRleCBmOTIzZjljYmQzM2MuLjc3NzMxNjliNzMzMSAx MDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3RjLmMN Cj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3RjLmMNCj4gPiBA QCAtNjcsNiArNjcsMjEgQEAgdTMyIGludGVsX3RjX3BvcnRfZ2V0X2xhbmVfbWFzayhzdHJ1Y3QN Cj4gPiBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0KQ0KPiA+ICAJcmV0dXJuIGxhbmVfbWFz ayA+PiBEUF9MQU5FX0FTU0lHTk1FTlRfU0hJRlQoZGlnX3BvcnQtDQo+ID4gPnRjX3BoeV9maWFf aWR4KTsNCj4gPiAgfQ0KPiA+ICANCj4gPiArdTMyIGludGVsX3RjX3BvcnRfZ2V0X3Bpbl9hc3Np Z25tZW50X21hc2soc3RydWN0DQo+ID4gaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCkNCj4g PiArew0KPiA+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0b19pOTE1KGRpZ19w b3J0LQ0KPiA+ID5iYXNlLmJhc2UuZGV2KTsNCj4gPiArCXN0cnVjdCBpbnRlbF91bmNvcmUgKnVu Y29yZSA9ICZpOTE1LT51bmNvcmU7DQo+ID4gKwl1MzIgcGluX21hc2s7DQo+ID4gKw0KPiA+ICsJ cGluX21hc2sgPSBpbnRlbF91bmNvcmVfcmVhZCh1bmNvcmUsDQo+ID4gKwkJCQkgICAgIFBPUlRf VFhfREZMRVhQQTEoZGlnX3BvcnQtDQo+ID4gPnRjX3BoeV9maWEpKTsNCj4gPiArDQo+ID4gKwlX QVJOX09OKHBpbl9tYXNrID09IDB4ZmZmZmZmZmYpOw0KPiA+ICsNCj4gPiArCXJldHVybiAocGlu X21hc2sgJiBEUF9QSU5fQVNTSUdOTUVOVF9NQVNLKGRpZ19wb3J0LQ0KPiA+ID50Y19waHlfZmlh X2lkeCkpID4+DQo+ID4gKwkgICAgICAgRFBfUElOX0FTU0lHTk1FTlRfU0hJRlQoZGlnX3BvcnQt PnRjX3BoeV9maWFfaWR4KTsNCj4gPiArfQ0KPiA+ICsNCj4gPiAgaW50IGludGVsX3RjX3BvcnRf ZmlhX21heF9sYW5lX2NvdW50KHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQNCj4gPiAqZGlnX3Bv cnQpDQo+ID4gIHsNCj4gPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gdG9faTkx NShkaWdfcG9ydC0NCj4gPiA+YmFzZS5iYXNlLmRldik7DQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfdGMuaA0KPiA+IGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF90Yy5oDQo+ID4gaW5kZXggNzgzZDc1NTMxNDM1Li40NjNmMWIz YzgzNmYgMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF90Yy5oDQo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF90Yy5o DQo+ID4gQEAgLTEzLDYgKzEzLDcgQEAgc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydDsNCj4gPiAg DQo+ID4gIGJvb2wgaW50ZWxfdGNfcG9ydF9jb25uZWN0ZWQoc3RydWN0IGludGVsX2RpZ2l0YWxf cG9ydCAqZGlnX3BvcnQpOw0KPiA+ICB1MzIgaW50ZWxfdGNfcG9ydF9nZXRfbGFuZV9tYXNrKHN0 cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQNCj4gPiAqZGlnX3BvcnQpOw0KPiA+ICt1MzIgaW50ZWxf dGNfcG9ydF9nZXRfcGluX2Fzc2lnbm1lbnRfbWFzayhzdHJ1Y3QNCj4gPiBpbnRlbF9kaWdpdGFs X3BvcnQgKmRpZ19wb3J0KTsNCj4gPiAgaW50IGludGVsX3RjX3BvcnRfZmlhX21heF9sYW5lX2Nv dW50KHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQNCj4gPiAqZGlnX3BvcnQpOw0KPiA+ICB2b2lk IGludGVsX3RjX3BvcnRfc2V0X2ZpYV9sYW5lX2NvdW50KHN0cnVjdCBpbnRlbF9kaWdpdGFsX3Bv cnQNCj4gPiAqZGlnX3BvcnQsDQo+ID4gIAkJCQkgICAgICBpbnQgcmVxdWlyZWRfbGFuZXMpOw0K PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oDQo+ID4gYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oDQo+ID4gaW5kZXggZTc1MmRlOTQ3MGJkLi5i Y2Y0NDljMWQxNTIgMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZWcuaA0KPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgNCj4gPiBAQCAt MTE4NTcsNiArMTE4NTcsMTEgQEAgZW51bSBza2xfcG93ZXJfZ2F0ZSB7DQo+ID4gICNkZWZpbmUg UE9SVF9UWF9ERkxFWERQQ1NTUyhmaWEpCQlfTU1JT19GSUEoKGZpYSksDQo+ID4gMHgwMDg5NCkN Cj4gPiAgI2RlZmluZSAgIERQX1BIWV9NT0RFX1NUQVRVU19OT1RfU0FGRShpZHgpCSgxIDw8IChp ZHgpKQ0KPiA+ICANCj4gPiArI2RlZmluZSBQT1JUX1RYX0RGTEVYUEExKGZpYSkJCQlfTU1JT19G SUEoKGZpYSkNCj4gPiAsIDB4MDA4ODApDQo+ID4gKyNkZWZpbmUgICBEUF9QSU5fQVNTSUdOTUVO VF9TSElGVChpZHgpCQkoKGlkeCkgKiA0KQ0KPiA+ICsjZGVmaW5lICAgRFBfUElOX0FTU0lHTk1F TlRfTUFTSyhpZHgpCQkoMHhmIDw8ICgoaWR4KQ0KPiA+ICogNCkpDQo+ID4gKyNkZWZpbmUgICBE UF9QSU5fQVNTSUdOTUVOVChpZHgsIHgpCQkoKHgpIDw8ICgoaWR4KQ0KPiA+ICogNCkpDQo+ID4g Kw0KPiA+ICAvKiBUaGlzIHJlZ2lzdGVyIGNvbnRyb2xzIHRoZSBEaXNwbGF5IFN0YXRlIEJ1ZmZl ciAoRFNCKSBlbmdpbmVzLg0KPiA+ICovDQo+ID4gICNkZWZpbmUgX0RTQlNMX0lOU1RBTkNFX0JB U0UJCTB4NzBCMDANCj4gPiAgI2RlZmluZSBEU0JTTF9JTlNUQU5DRShwaXBlLCBpZCkJKF9EU0JT TF9JTlNUQU5DRV9CQVNFICsgXA0KPiA+IC0tIA0KPiA+IDIuMjMuMA0KPiA+IA0KX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4