From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9A41B88EB4 for ; Mon, 8 Apr 2019 19:04:27 +0000 (UTC) Date: Mon, 8 Apr 2019 12:06:37 -0700 From: Manasi Navare Message-ID: <20190408190636.GA23276@intel.com> References: <20190405225549.7306-1-manasi.d.navare@intel.com> <20190408120805.GC4786@ideak-desk.fi.intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20190408120805.GC4786@ideak-desk.fi.intel.com> Subject: Re: [igt-dev] [PATCH i-g-t v2] tests/kms_dp_dsc: Force a full modeset when we force dsc enable List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Imre Deak Cc: igt-dev@lists.freedesktop.org, Anusha Srivatsa , Petri Latvala List-ID: T24gTW9uLCBBcHIgMDgsIDIwMTkgYXQgMDM6MDg6MDVQTSArMDMwMCwgSW1yZSBEZWFrIHdyb3Rl Ogo+IE9uIEZyaSwgQXByIDA1LCAyMDE5IGF0IDAzOjU1OjQ5UE0gLTA3MDAsIE1hbmFzaSBOYXZh cmUgd3JvdGU6Cj4gPiBEU0MgZW5hYmxlIGdldHMgY29uZmlndXJlZCBkdXJpbmcgY29tcHV0ZV9j b25maWcgYW5kIG5lZWRzCj4gPiBhIGZ1bGwgbW9kZXNldCB0byBmb3JjZSBEU0MuCj4gPiBTb21l dGltZXMgaW4gYmV0d2VlbiB0aGUgdGVzdHMsIGlmIHRoZSBpbml0aWFsIG91dHB1dCBpcyBzYW1l IGFzIHRoZQo+ID4gbW9kZSBiZWluZyBzZXQgZm9yIERTQyB0aGVuIGl0IHdpbGwgbm90IGRvIGEg ZnVsbCBtb2Rlc2V0Lgo+ID4gU28gd2UgZGlzYWJsZSB0aGUgb3V0cHV0IGJlZm9yZSBmb3JjaW5n IGEgbW9kZSB3aXRoIERTQyBlbmFibGUuCj4gPiAKPiA+IFlvdSBuZWVkIHRoZSBrZXJuZWwgcGF0 Y2g6Cj4gPiBodHRwczovL3BhdGNod29yay5mcmVlZGVza3RvcC5vcmcvc2VyaWVzLzU5MDg0Lwo+ ID4gCj4gPiB2MjoKPiA+ICogUmVzdG9yZSB0aGUgdmFsdWUgb2YgZm9yY2UgZHNjIGVuYWJsZSBh ZnRlciB0aGUgdGVzdCBhbmQgaW4gaWd0X2V4aXRfaGFuZGxlcgo+ID4gKiBBZGQgaWd0X2luc3Rh bGxfZXhpdF9oYW5kbGVyIHRvIHJlc3RvcmUgdmFsdWVzIG9uIGZhaWwvZXhpdAo+ID4gCj4gPiBG aXhlczogZGIxOWJjY2MxYzIyICgidGVzdC9rbXNfZHBfZHNjOiBCYXNpYyBLTVMgdGVzdCB0byB2 YWxpZGF0ZSBWRVNBIERTQyBvbiBEUC9lRFAiKQo+ID4gQ2M6IFBldHJpIExhdHZhbGEgPHBldHJp LmxhdHZhbGFAaW50ZWwuY29tPgo+ID4gQ2M6IEFudXNoYSBTcml2YXRzYSA8YW51c2hhLnNyaXZh dHNhQGludGVsLmNvbT4KPiA+IENjOiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+Cj4g PiBTaWduZWQtb2ZmLWJ5OiBNYW5hc2kgTmF2YXJlIDxtYW5hc2kuZC5uYXZhcmVAaW50ZWwuY29t Pgo+ID4gLS0tCj4gPiAgdGVzdHMva21zX2RwX2RzYy5jIHwgMTMzICsrKysrKysrKysrKysrKysr KysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gIDEgZmlsZSBjaGFuZ2VkLCA4MSBpbnNl cnRpb25zKCspLCA1MiBkZWxldGlvbnMoLSkKPiA+IAo+ID4gZGlmZiAtLWdpdCBhL3Rlc3RzL2tt c19kcF9kc2MuYyBiL3Rlc3RzL2ttc19kcF9kc2MuYwo+ID4gaW5kZXggZGE5M2NkNzQuLmFjYWVl ODkwIDEwMDY0NAo+ID4gLS0tIGEvdGVzdHMva21zX2RwX2RzYy5jCj4gPiArKysgYi90ZXN0cy9r bXNfZHBfZHNjLmMKPiA+IEBAIC02MywxMTkgKzYzLDE0NyBAQCB0eXBlZGVmIHN0cnVjdCB7Cj4g PiAgCWludCBjcnRjOwo+ID4gIAllbnVtIHBpcGUgcGlwZTsKPiA+ICAJY2hhciBjb25uX25hbWVb MTI4XTsKPiA+ICsJYm9vbCBmb3JjZV9kc2NfZW47Cj4gCj4gZm9yY2VfZHNjX2VuX29yaWc/CgpT dXJlLCBJIHdpbGwgcmVuYW1lIHRoaXMKCj4gCj4gPiAgfSBkYXRhX3Q7Cj4gPiAgCj4gPiArZGF0 YV90IGRhdGEgPSB7fTsKPiA+ICsKPiAKPiBNYXliZSBtYWtlIG9ubHkgZGVidWdmc19mZCBhbmQg Zm9yY2VfZHNjX2VuX29yaWcgZ2xvYmFsIHRvIHJlZHVjZSB0aGUKPiBjaHVybj8gQWxzbyBpbml0 IGRlYnVnZnNfZmQgdG8gLTEsIHNvIHRoZSBleGl0IGhhbmRsZXIga25vd3MgaWYgaXQncwo+IGJl ZW4gY2xvc2VkIGFscmVhZHkuCgpCdXQgdGhlbiBmb3IgcmVzdG9yZSBJIGFsc28gbmVlZCBkYXRh LmNvbm5fbmFtZS4gU28gaSB0aG91Z2h0IEkgd291bGQgbWFrZQp0aGUgd2hvbGUgdGhpbmcgZ2xv YmFsLgoKPiAKPiA+ICBzdGF0aWMgaW5saW5lIHZvaWQgbWFudWFsKGNvbnN0IGNoYXIgKmV4cGVj dGVkKQo+ID4gIHsKPiA+ICAJaWd0X2RlYnVnX21hbnVhbF9jaGVjaygiYWxsIiwgZXhwZWN0ZWQp Owo+ID4gIH0KPiA+ICAKPiA+IC1zdGF0aWMgYm9vbCBpc19kcF9kc2Nfc3VwcG9ydGVkKGRhdGFf dCAqZGF0YSkKPiA+ICtzdGF0aWMgYm9vbCBpc19kcF9kc2Nfc3VwcG9ydGVkKHZvaWQpCj4gPiAg ewo+ID4gIAljaGFyIGZpbGVfbmFtZVsxMjhdID0gezB9Owo+ID4gIAljaGFyIGJ1Zls1MTJdOwo+ ID4gIAo+ID4gLQlzdHJjcHkoZmlsZV9uYW1lLCBkYXRhLT5jb25uX25hbWUpOwo+ID4gKwlzdHJj cHkoZmlsZV9uYW1lLCBkYXRhLmNvbm5fbmFtZSk7Cj4gPiAgCXN0cmNhdChmaWxlX25hbWUsICIv aTkxNV9kc2NfZmVjX3N1cHBvcnQiKTsKPiA+IC0JaWd0X3JlcXVpcmUoaWd0X2RlYnVnZnNfc2lt cGxlX3JlYWQoZGF0YS0+ZGVidWdmc19mZCwgZmlsZV9uYW1lLCBidWYsCj4gPiArCWlndF9yZXF1 aXJlKGlndF9kZWJ1Z2ZzX3NpbXBsZV9yZWFkKGRhdGEuZGVidWdmc19mZCwgZmlsZV9uYW1lLCBi dWYsCj4gPiAgCQkJCQkgICAgc2l6ZW9mKGJ1ZikpID4gMCk7Cj4gPiAtCWlndF9kZWJ1Z2ZzX3Jl YWQoZGF0YS0+ZHJtX2ZkLCBmaWxlX25hbWUsIGJ1Zik7Cj4gPiArCWlndF9kZWJ1Z2ZzX3JlYWQo ZGF0YS5kcm1fZmQsIGZpbGVfbmFtZSwgYnVmKTsKPiA+ICAKPiA+ICAJcmV0dXJuIHN0cnN0cihi dWYsICJEU0NfU2lua19TdXBwb3J0OiB5ZXMiKTsKPiA+ICB9Cj4gPiAgCj4gPiAtc3RhdGljIGJv b2wgaXNfZHBfZmVjX3N1cHBvcnRlZChkYXRhX3QgKmRhdGEpCj4gPiArc3RhdGljIGJvb2wgaXNf ZHBfZmVjX3N1cHBvcnRlZCh2b2lkKQo+ID4gIHsKPiA+ICAJY2hhciBmaWxlX25hbWVbMTI4XSA9 IHswfTsKPiA+ICAJY2hhciBidWZbNTEyXTsKPiA+ICAKPiA+IC0Jc3RyY3B5KGZpbGVfbmFtZSwg ZGF0YS0+Y29ubl9uYW1lKTsKPiA+ICsJc3RyY3B5KGZpbGVfbmFtZSwgZGF0YS5jb25uX25hbWUp Owo+ID4gIAlzdHJjYXQoZmlsZV9uYW1lLCAiL2k5MTVfZHNjX2ZlY19zdXBwb3J0Iik7Cj4gPiAt CWlndF9kZWJ1Z2ZzX3JlYWQoZGF0YS0+ZHJtX2ZkLCBmaWxlX25hbWUsIGJ1Zik7Cj4gPiArCWln dF9kZWJ1Z2ZzX3JlYWQoZGF0YS5kcm1fZmQsIGZpbGVfbmFtZSwgYnVmKTsKPiA+ICAKPiA+ICAJ cmV0dXJuIHN0cnN0cihidWYsICJGRUNfU2lua19TdXBwb3J0OiB5ZXMiKTsKPiA+ICB9Cj4gPiAg Cj4gPiAtc3RhdGljIGJvb2wgaXNfZHBfZHNjX2VuYWJsZWQoZGF0YV90ICpkYXRhKQo+ID4gK3N0 YXRpYyBib29sIGlzX2RwX2RzY19lbmFibGVkKHZvaWQpCj4gPiAgewo+ID4gIAljaGFyIGZpbGVf bmFtZVsxMjhdID0gezB9Owo+ID4gIAljaGFyIGJ1Zls1MTJdOwo+ID4gIAo+ID4gLQlzdHJjcHko ZmlsZV9uYW1lLCBkYXRhLT5jb25uX25hbWUpOwo+ID4gKwlzdHJjcHkoZmlsZV9uYW1lLCBkYXRh LmNvbm5fbmFtZSk7Cj4gPiAgCXN0cmNhdChmaWxlX25hbWUsICIvaTkxNV9kc2NfZmVjX3N1cHBv cnQiKTsKPiA+IC0JaWd0X2RlYnVnZnNfcmVhZChkYXRhLT5kcm1fZmQsIGZpbGVfbmFtZSwgYnVm KTsKPiA+ICsJaWd0X2RlYnVnZnNfcmVhZChkYXRhLmRybV9mZCwgZmlsZV9uYW1lLCBidWYpOwo+ ID4gIAo+ID4gIAlyZXR1cm4gc3Ryc3RyKGJ1ZiwgIkRTQ19FbmFibGVkOiB5ZXMiKTsKPiA+ICB9 Cj4gPiAgCj4gPiAtc3RhdGljIHZvaWQgZm9yY2VfZHBfZHNjX2VuYWJsZShkYXRhX3QgKmRhdGEp Cj4gPiArc3RhdGljIGJvb2wgaXNfZm9yY2VfZHNjX2VuYWJsZWQodm9pZCkKPiA+ICt7Cj4gPiAr CWNoYXIgZmlsZV9uYW1lWzEyOF0gPSB7MH07Cj4gPiArCWNoYXIgYnVmWzUxMl07Cj4gPiArCj4g PiArCXN0cmNweShmaWxlX25hbWUsIGRhdGEuY29ubl9uYW1lKTsKPiA+ICsJc3RyY2F0KGZpbGVf bmFtZSwgIi9pOTE1X2RzY19mZWNfc3VwcG9ydCIpOwo+ID4gKwlpZ3RfZGVidWdmc19yZWFkKGRh dGEuZHJtX2ZkLCBmaWxlX25hbWUsIGJ1Zik7Cj4gPiArCj4gPiArCXJldHVybiBzdHJzdHIoYnVm LCAiRm9yY2VfRFNDX0VuYWJsZTogeWVzIik7Cj4gPiArfQo+ID4gKwo+ID4gK3N0YXRpYyB2b2lk IGZvcmNlX2RwX2RzY19lbmFibGUodm9pZCkKPiA+ICB7Cj4gPiAgCWNoYXIgZmlsZV9uYW1lWzEy OF0gPSB7MH07Cj4gPiAgCWludCByZXQ7Cj4gPiAgCj4gPiAtCXN0cmNweShmaWxlX25hbWUsIGRh dGEtPmNvbm5fbmFtZSk7Cj4gPiArCXN0cmNweShmaWxlX25hbWUsIGRhdGEuY29ubl9uYW1lKTsK PiA+ICAJc3RyY2F0KGZpbGVfbmFtZSwgIi9pOTE1X2RzY19mZWNfc3VwcG9ydCIpOwo+ID4gLQlp Z3RfZGVidWcgKCJGb3JjaW5nIERTQyBlbmFibGUgb24gJXNcbiIsIGRhdGEtPmNvbm5fbmFtZSk7 Cj4gPiAtCXJldCA9IGlndF9zeXNmc193cml0ZShkYXRhLT5kZWJ1Z2ZzX2ZkLCBmaWxlX25hbWUs ICIxIiwgMSk7Cj4gPiArCWlndF9kZWJ1ZyAoIkZvcmNpbmcgRFNDIGVuYWJsZSBvbiAlc1xuIiwg ZGF0YS5jb25uX25hbWUpOwo+ID4gKwlyZXQgPSBpZ3Rfc3lzZnNfd3JpdGUoZGF0YS5kZWJ1Z2Zz X2ZkLCBmaWxlX25hbWUsICIxIiwgMSk7Cj4gPiAgCWlndF9hc3NlcnRfZihyZXQgPiAwLCAiZGVi dWdmc193cml0ZSBmYWlsZWQiKTsKPiA+ICB9Cj4gPiAgCj4gPiAtc3RhdGljIHZvaWQgY2xlYXJf ZHBfZHNjX2VuYWJsZShkYXRhX3QgKmRhdGEpCj4gPiArc3RhdGljIHZvaWQgcmVzdG9yZV9kcF9k c2NfZW5hYmxlKHZvaWQpCj4gCj4gQmV0dGVyIG5hbWVkIGFzIHJlc3RvcmVfZm9yY2VfZHNjX2Vu KCk/CgpPawoKPiAKPiA+ICB7Cj4gPiAgCWNoYXIgZmlsZV9uYW1lWzEyOF0gPSB7MH07Cj4gPiAg CWludCByZXQ7Cj4gPiAgCj4gCj4gWW91IG5lZWQgdG8gY2hlY2sgaWYgdGhlIHNpZyBoYW5kbGVy IHdhcyBjYWxsZWQgbXVsdGlwbGUgdGltZXMgZm9yIHNvbWUKPiByZWFzb246Cj4gCj4gCWlmIChk ZWJ1Z2ZzX2ZkIDwgMCkKPiAJCXJldHVybjsKCk9rIHdpbGwgYWRkIHRoaXMgY2hlY2sgaGVyZQoK PiAKPiA+IC0Jc3RyY3B5KGZpbGVfbmFtZSwgZGF0YS0+Y29ubl9uYW1lKTsKPiA+ICsJc3RyY3B5 KGZpbGVfbmFtZSwgZGF0YS5jb25uX25hbWUpOwo+ID4gIAlzdHJjYXQoZmlsZV9uYW1lLCAiL2k5 MTVfZHNjX2ZlY19zdXBwb3J0Iik7Cj4gPiAtCWlndF9kZWJ1ZyAoIkNsZWFyaW5nIERTQyBlbmFi bGUgb24gJXNcbiIsIGRhdGEtPmNvbm5fbmFtZSk7Cj4gPiAtCXJldCA9IGlndF9zeXNmc193cml0 ZShkYXRhLT5kZWJ1Z2ZzX2ZkLCBmaWxlX25hbWUsICIwIiwgMSk7Cj4gPiArCWlndF9kZWJ1ZyAo IlJlc3RvcmluZyBEU0MgZW5hYmxlIG9uICVzXG4iLCBkYXRhLmNvbm5fbmFtZSk7Cj4gPiArCXJl dCA9IGlndF9zeXNmc193cml0ZShkYXRhLmRlYnVnZnNfZmQsIGZpbGVfbmFtZSwKPiA+ICsJCQkg ICAgICBkYXRhLmZvcmNlX2RzY19lbiA/ICIxIiA6ICIwIiwgMSk7Cj4gCj4gCWNsb3NlKGRlYnVn ZnNfZmQpOwo+IAlkZWJ1Z2ZzX2ZkID0gLTE7CgpCdXQgaWYgSSBjbG9zZSBpdCBoZXJlLCBJIGNh bnQgY2FsbCByZXN0b3JlIGZ1bmN0aW9uIGluIHVwZGF0ZV9kaXNwbGF5KCkgYWZ0ZXIgdGhlIHRl c3QgaXMgY29tcGxldGVkLgpQcm9iYWJseSBpIGRvbnQgbmVlZCBpdCB0aGVyZT8KCj4gCQo+ID4g IAlpZ3RfYXNzZXJ0X2YocmV0ID4gMCwgImRlYnVnZnNfd3JpdGUgZmFpbGVkIik7Cj4gPiAgfQo+ ID4gIAo+ID4gLXN0YXRpYyB2b2lkIHRlc3RfY2xlYW51cChkYXRhX3QgKmRhdGEpIHsKPiA+ICtz dGF0aWMgdm9pZCB0ZXN0X2NsZWFudXAodm9pZCkgewo+ID4gIAlpZ3RfcGxhbmVfdCAqcHJpbWFy eTsKPiA+ICAKPiA+IC0JaWYgKGRhdGEtPm91dHB1dCkgewo+ID4gLQkJcHJpbWFyeSA9IGlndF9v dXRwdXRfZ2V0X3BsYW5lX3R5cGUoZGF0YS0+b3V0cHV0LAo+ID4gKwlpZiAoZGF0YS5vdXRwdXQp IHsKPiA+ICsJCXByaW1hcnkgPSBpZ3Rfb3V0cHV0X2dldF9wbGFuZV90eXBlKGRhdGEub3V0cHV0 LAo+ID4gIAkJCQkJCSAgICBEUk1fUExBTkVfVFlQRV9QUklNQVJZKTsKPiA+ICAJCWlndF9wbGFu ZV9zZXRfZmIocHJpbWFyeSwgTlVMTCk7Cj4gPiAtCQlpZ3RfZGlzcGxheV9jb21taXQoJmRhdGEt PmRpc3BsYXkpOwo+ID4gLQkJaWd0X3JlbW92ZV9mYihkYXRhLT5kcm1fZmQsICZkYXRhLT5mYl90 ZXN0X3BhdHRlcm4pOwo+ID4gKwkJaWd0X2Rpc3BsYXlfY29tbWl0KCZkYXRhLmRpc3BsYXkpOwo+ ID4gKwkJaWd0X3JlbW92ZV9mYihkYXRhLmRybV9mZCwgJmRhdGEuZmJfdGVzdF9wYXR0ZXJuKTsK PiA+ICAJfQo+ID4gIH0KPiA+ICAKPiA+ICtzdGF0aWMgdm9pZCBrbXNfZHBfZHNjX2V4aXRfaGFu ZGxlcihpbnQgc2lnKSB7Cj4gPiArCj4gPiArCXJlc3RvcmVfZHBfZHNjX2VuYWJsZSgpOwo+ID4g K30KPiA+ICsKPiA+ICAKPiA+ICAvKgo+ID4gICAqIFJlLXByb2JlIGNvbm5lY3RvcnMgYW5kIGRv IGEgbW9kZXNldCB3aXRoIERTQwo+ID4gICAqCj4gPiAgICovCj4gPiAtc3RhdGljIHZvaWQgdXBk YXRlX2Rpc3BsYXkoZGF0YV90ICpkYXRhLCBlbnVtIGRzY190ZXN0X3R5cGUgdGVzdF90eXBlKQo+ ID4gK3N0YXRpYyB2b2lkIHVwZGF0ZV9kaXNwbGF5KGVudW0gZHNjX3Rlc3RfdHlwZSB0ZXN0X3R5 cGUpCj4gPiAgewo+ID4gIAlpZ3RfcGxhbmVfdCAqcHJpbWFyeTsKPiA+IC0JZGF0YS0+bW9kZSA9 IGlndF9vdXRwdXRfZ2V0X21vZGUoZGF0YS0+b3V0cHV0KTsKPiA+IC0JZGF0YS0+Y29ubmVjdG9y ID0gZGF0YS0+b3V0cHV0LT5jb25maWcuY29ubmVjdG9yOwo+ID4gKwlkYXRhLm1vZGUgPSBpZ3Rf b3V0cHV0X2dldF9tb2RlKGRhdGEub3V0cHV0KTsKPiA+ICsJZGF0YS5jb25uZWN0b3IgPSBkYXRh Lm91dHB1dC0+Y29uZmlnLmNvbm5lY3RvcjsKPiA+ICAKPiA+IC0JaWYgKGRhdGEtPmNvbm5lY3Rv ci0+Y29ubmVjdG9yX3R5cGUgPT0gRFJNX01PREVfQ09OTkVDVE9SX0Rpc3BsYXlQb3J0ICYmCj4g PiAtCSAgICBkYXRhLT5waXBlID09IFBJUEVfQSkgewo+ID4gKwlpZiAoZGF0YS5jb25uZWN0b3It PmNvbm5lY3Rvcl90eXBlID09IERSTV9NT0RFX0NPTk5FQ1RPUl9EaXNwbGF5UG9ydCAmJgo+ID4g KwkgICAgZGF0YS5waXBlID09IFBJUEVfQSkgewo+ID4gIAkJaWd0X2RlYnVnKCJEU0Mgbm90IHN1 cHBvcnRlZCBvbiBQaXBlIEEgb24gZXh0ZXJuYWwgRFBcbiIpOwo+ID4gIAkJcmV0dXJuOwo+ID4g IAl9Cj4gPiAgCj4gPiArCS8qIERpc2FibGUgdGhlIG91dHB1dCBmaXJzdCAqLwo+ID4gKwlpZ3Rf b3V0cHV0X3NldF9waXBlKGRhdGEub3V0cHV0LCBQSVBFX05PTkUpOwo+ID4gKwlpZ3RfZGlzcGxh eV9jb21taXQoJmRhdGEuZGlzcGxheSk7Cj4gPiArCj4gPiAgCWlmICh0ZXN0X3R5cGUgPT0gdGVz dF9iYXNpY19kc2NfZW5hYmxlKSB7Cj4gPiAgCQlib29sIGVuYWJsZWQ7Cj4gPiAgCj4gPiAtCQlp Z3RfZGVidWcoIkRTQyBpcyBzdXBwb3J0ZWQgb24gJXNcbiIsIGRhdGEtPmNvbm5fbmFtZSk7Cj4g PiAtCQlmb3JjZV9kcF9kc2NfZW5hYmxlKGRhdGEpOwo+ID4gKwkJaWd0X2RlYnVnKCJEU0MgaXMg c3VwcG9ydGVkIG9uICVzXG4iLCBkYXRhLmNvbm5fbmFtZSk7Cj4gPiArCQlmb3JjZV9kcF9kc2Nf ZW5hYmxlKCk7Cj4gPiAgCj4gPiAtCQlpZ3RfY3JlYXRlX3BhdHRlcm5fZmIoZGF0YS0+ZHJtX2Zk LCBkYXRhLT5tb2RlLT5oZGlzcGxheSwKPiA+IC0JCQkJICAgICAgZGF0YS0+bW9kZS0+dmRpc3Bs YXksCj4gPiArCQlpZ3Rfb3V0cHV0X3NldF9waXBlKGRhdGEub3V0cHV0LCBkYXRhLnBpcGUpOwo+ ID4gKwkJaWd0X2NyZWF0ZV9wYXR0ZXJuX2ZiKGRhdGEuZHJtX2ZkLCBkYXRhLm1vZGUtPmhkaXNw bGF5LAo+ID4gKwkJCQkgICAgICBkYXRhLm1vZGUtPnZkaXNwbGF5LAo+ID4gIAkJCQkgICAgICBE Uk1fRk9STUFUX1hSR0I4ODg4LAo+ID4gIAkJCQkgICAgICBMT0NBTF9EUk1fRk9STUFUX01PRF9O T05FLAo+ID4gLQkJCQkgICAgICAmZGF0YS0+ZmJfdGVzdF9wYXR0ZXJuKTsKPiA+IC0JCXByaW1h cnkgPSBpZ3Rfb3V0cHV0X2dldF9wbGFuZV90eXBlKGRhdGEtPm91dHB1dCwKPiA+ICsJCQkJICAg ICAgJmRhdGEuZmJfdGVzdF9wYXR0ZXJuKTsKPiA+ICsJCXByaW1hcnkgPSBpZ3Rfb3V0cHV0X2dl dF9wbGFuZV90eXBlKGRhdGEub3V0cHV0LAo+ID4gIAkJCQkJCSAgICBEUk1fUExBTkVfVFlQRV9Q UklNQVJZKTsKPiA+IC0JCWlndF9wbGFuZV9zZXRfZmIocHJpbWFyeSwgJmRhdGEtPmZiX3Rlc3Rf cGF0dGVybik7Cj4gPiAtCQlpZ3RfZGlzcGxheV9jb21taXQoJmRhdGEtPmRpc3BsYXkpOwo+ID4g Kwo+ID4gKwkJLyogTm93IHNldCB0aGUgb3V0cHV0IHRvIHRoZSBkZXNpcmVkIG1vZGUgKi8KPiA+ ICsJCWlndF9wbGFuZV9zZXRfZmIocHJpbWFyeSwgJmRhdGEuZmJfdGVzdF9wYXR0ZXJuKTsKPiA+ ICsJCWlndF9kaXNwbGF5X2NvbW1pdCgmZGF0YS5kaXNwbGF5KTsKPiA+ICAKPiA+ICAJCS8qCj4g PiAgCQkgKiBVbnRpbCB3ZSBoYXZlIENSQyBjaGVjayBzdXBwb3J0LCBtYW51YWxseSBjaGVjayBp ZiBSR0IgdGVzdAo+ID4gQEAgLTE4MywzOCArMjExLDM3IEBAIHN0YXRpYyB2b2lkIHVwZGF0ZV9k aXNwbGF5KGRhdGFfdCAqZGF0YSwgZW51bSBkc2NfdGVzdF90eXBlIHRlc3RfdHlwZSkKPiA+ICAJ CSAqLwo+ID4gIAkJbWFudWFsKCJSR0IgdGVzdCBwYXR0ZXJuIHdpdGhvdXQgY29ycnVwdGlvbiIp Owo+ID4gIAo+ID4gLQkJZW5hYmxlZCA9IGlzX2RwX2RzY19lbmFibGVkKGRhdGEpOwo+ID4gLQkJ Y2xlYXJfZHBfZHNjX2VuYWJsZShkYXRhKTsKPiA+ICsJCWVuYWJsZWQgPSBpc19kcF9kc2NfZW5h YmxlZCgpOwo+ID4gKwkJcmVzdG9yZV9kcF9kc2NfZW5hYmxlKCk7Cj4gPiAgCj4gPiAgCQlpZ3Rf YXNzZXJ0X2YoZW5hYmxlZCwKPiA+IC0JCQkgICAgICJEZWZhdWx0IERTQyBlbmFibGUgZmFpbGVk IG9uIENvbm5lY3RvcjogJXMgUGlwZTogJXMiLAo+ID4gLQkJCSAgICAgZGF0YS0+Y29ubl9uYW1l LAo+ID4gLQkJCSAgICAga21zdGVzdF9waXBlX25hbWUoZGF0YS0+cGlwZSkpOwo+ID4gKwkJCSAg ICAgIkRlZmF1bHQgRFNDIGVuYWJsZSBmYWlsZWQgb24gQ29ubmVjdG9yOiAlcyBQaXBlOiAlc1xu IiwKPiA+ICsJCQkgICAgIGRhdGEuY29ubl9uYW1lLAo+ID4gKwkJCSAgICAga21zdGVzdF9waXBl X25hbWUoZGF0YS5waXBlKSk7Cj4gPiAgCX0gZWxzZSB7Cj4gPiAgCQlpZ3RfYXNzZXJ0KCEiVW5r bm93biB0ZXN0IHR5cGVcbiIpOwo+ID4gIAl9Cj4gPiAgfQo+ID4gIAo+ID4gLXN0YXRpYyB2b2lk IHJ1bl90ZXN0KGRhdGFfdCAqZGF0YSwgaWd0X291dHB1dF90ICpvdXRwdXQsCj4gPiArc3RhdGlj IHZvaWQgcnVuX3Rlc3QoaWd0X291dHB1dF90ICpvdXRwdXQsCj4gPiAgCQkgICAgIGVudW0gZHNj X3Rlc3RfdHlwZSB0ZXN0X3R5cGUpCj4gPiAgewo+ID4gIAllbnVtIHBpcGUgcGlwZTsKPiA+ICAK PiA+IC0JZm9yX2VhY2hfcGlwZSgmZGF0YS0+ZGlzcGxheSwgcGlwZSkgewo+ID4gKwlmb3JfZWFj aF9waXBlKCZkYXRhLmRpc3BsYXksIHBpcGUpIHsKPiA+ICAKPiA+ICAJCWlmIChpZ3RfcGlwZV9j b25uZWN0b3JfdmFsaWQocGlwZSwgb3V0cHV0KSkgewo+ID4gLQkJCWlndF9vdXRwdXRfc2V0X3Bp cGUob3V0cHV0LCBwaXBlKTsKPiA+IC0JCQlkYXRhLT5waXBlID0gcGlwZTsKPiA+IC0JCQlkYXRh LT5vdXRwdXQgPSBvdXRwdXQ7Cj4gPiAtCQkJdXBkYXRlX2Rpc3BsYXkoZGF0YSwgdGVzdF90eXBl KTsKPiA+IC0JCQl0ZXN0X2NsZWFudXAoZGF0YSk7Cj4gPiArCQkJZGF0YS5waXBlID0gcGlwZTsK PiA+ICsJCQlkYXRhLm91dHB1dCA9IG91dHB1dDsKPiA+ICsJCQl1cGRhdGVfZGlzcGxheSh0ZXN0 X3R5cGUpOwo+ID4gKwkJCXRlc3RfY2xlYW51cCgpOwo+ID4gIAkJfQo+ID4gIAl9Cj4gPiAgfQo+ ID4gIAo+ID4gIGlndF9tYWluCj4gPiAgewo+ID4gLQlkYXRhX3QgZGF0YSA9IHt9Owo+ID4gKwkv L2RhdGFfdCBkYXRhID0ge307Cj4gCj4gTGVmdG92ZXIgbGluZS4KClllcywgc29ycnkgYWJvdXQg dGhhdCwgd2lsbCBjbGVhbiBpdCB1cAoKPiAKPiA+ICAJaWd0X291dHB1dF90ICpvdXRwdXQ7Cj4g PiAgCWRybU1vZGVSZXMgKnJlczsKPiA+ICAJZHJtTW9kZUNvbm5lY3RvciAqY29ubmVjdG9yOwo+ ID4gQEAgLTIyNSw2ICsyNTIsNyBAQCBpZ3RfbWFpbgo+ID4gIAkJZGF0YS5kcm1fZmQgPSBkcm1f b3Blbl9kcml2ZXJfbWFzdGVyKERSSVZFUl9BTlkpOwo+ID4gIAkJZGF0YS5kZWJ1Z2ZzX2ZkID0g aWd0X2RlYnVnZnNfZGlyKGRhdGEuZHJtX2ZkKTsKPiA+ICAJCWttc3Rlc3Rfc2V0X3Z0X2dyYXBo aWNzX21vZGUoKTsKPiA+ICsJCWlndF9pbnN0YWxsX2V4aXRfaGFuZGxlcihrbXNfZHBfZHNjX2V4 aXRfaGFuZGxlcik7Cj4gCj4gQmVmb3JlIHRoaXMgeW91IG5lZWQgdG8gYWN0dWFsbHkgc2F2ZSB0 aGUgb3JpZ2luYWwgdmFsdWUsIG90aGVyd2lzZSB0aGUKPiBleGl0IGhhbmRsZXIgbWF5IHJlc3Rv cmUgYW4gdW5pbml0aWFsaXplZCB2YWx1ZSBpbiBjYXNlIGl0J3MgY2FsbGVkCj4gYmVmb3JlIHlv dSBzYXZlIGl0LgoKU2luY2UgdGhlIHZhbHVlIGlzIHBlciBjb25uZWN0b3IsIEkgY2FudCBzYXZl IGl0IHVudGlsIEkgaGF2ZSBnb25lIHRocm91Z2ggdGhlIHdob2xlIGNvbm5lY3RvciB0eXBlIGNo ZWNrcy4KSSB3aWxsIG1vdmUgdGhlIGlndF9pbnN0YWxsX2V4aXRfaGFuZGxlcihrbXNfZHBfZHNj X2V4aXRfaGFuZGxlcik7IHRvIGJlZm9yZSBydW5fdGVzdCBjYWxsIHRoZW4/CgoKPiAKPiA+ICAJ CWlndF9kaXNwbGF5X3JlcXVpcmUoJmRhdGEuZGlzcGxheSwgZGF0YS5kcm1fZmQpOwo+ID4gIAkJ aWd0X3JlcXVpcmUocmVzID0gZHJtTW9kZUdldFJlc291cmNlcyhkYXRhLmRybV9mZCkpOwo+ID4g IAl9Cj4gPiBAQCAtMjQ1LDE5ICsyNzMsMjAgQEAgaWd0X21haW4KPiA+ICAJCQkJc3ByaW50Zihk YXRhLmNvbm5fbmFtZSwgIiVzLSVkIiwKPiA+ICAJCQkJCWttc3Rlc3RfY29ubmVjdG9yX3R5cGVf c3RyKGNvbm5lY3Rvci0+Y29ubmVjdG9yX3R5cGUpLAo+ID4gIAkJCQkJY29ubmVjdG9yLT5jb25u ZWN0b3JfdHlwZV9pZCk7Cj4gPiAtCQkJCWlmKCFpc19kcF9kc2Nfc3VwcG9ydGVkKCZkYXRhKSkg ewo+ID4gKwkJCQlpZighaXNfZHBfZHNjX3N1cHBvcnRlZCgpKSB7Cj4gPiAgCQkJCQlpZ3RfZGVi dWcoIkRTQyBub3Qgc3VwcG9ydGVkIG9uIGNvbm5lY3RvciAlcyBcbiIsCj4gPiAgCQkJCQkJICBk YXRhLmNvbm5fbmFtZSk7Cj4gPiAgCQkJCQljb250aW51ZTsKPiA+ICAJCQkJfQo+ID4gIAkJCQlp ZiAoY29ubmVjdG9yLT5jb25uZWN0b3JfdHlwZSA9PSBEUk1fTU9ERV9DT05ORUNUT1JfRGlzcGxh eVBvcnQgJiYKPiA+IC0JCQkJICAgICFpc19kcF9mZWNfc3VwcG9ydGVkKCZkYXRhKSkgewo+ID4g KwkJCQkgICAgIWlzX2RwX2ZlY19zdXBwb3J0ZWQoKSkgewo+ID4gIAkJCQkJaWd0X2RlYnVnKCJE U0MgY2Fubm90IGJlIGVuYWJsZWQgd2l0aG91dCBGRUMgb24gJXNcbiIsCj4gPiAgCQkJCQkJICBk YXRhLmNvbm5fbmFtZSk7Cj4gPiAgCQkJCQljb250aW51ZTsKPiA+ICAJCQkJfQo+ID4gIAkJCQl0 ZXN0X2Nvbm5fY250Kys7Cj4gPiAtCQkJCXJ1bl90ZXN0KCZkYXRhLCBvdXRwdXQsIHRlc3RfYmFz aWNfZHNjX2VuYWJsZSk7Cj4gPiArCQkJCWRhdGEuZm9yY2VfZHNjX2VuID0gaXNfZm9yY2VfZHNj X2VuYWJsZWQoKTsKPiA+ICsJCQkJcnVuX3Rlc3Qob3V0cHV0LCB0ZXN0X2Jhc2ljX2RzY19lbmFi bGUpOwo+ID4gIAkJCX0KPiA+ICAJCQlpZ3Rfc2tpcF9vbih0ZXN0X2Nvbm5fY250ID09IDApOwo+ ID4gIAkJfQo+IAo+IFVuZGVyIGlndF9maXh0dXJlIHlvdSBjbG9zZSBkZWJ1Z2ZzX2ZkLCBidXQg dGhhdCdzIG5vdCBnb29kLCBzaW5jZSB0aGUKPiBleGl0IGhhbmRsZXIgd2lsbCBiZSBjYWxsZWQg ZXZlbiBkdXJpbmcgbm9ybWFsIHByb2Nlc3MgZXhpdCwgYW5kIHNvIHRoZQo+IGV4aXQgaGFuZGxl ciB3aWxsIGZpbmQgdW5leHBlY3RlZGx5IHRoYXQgdGhlIGZkIGl0IG5lZWRzIGlzIGNsb3NlZC4K PiAKPiBKdXN0IGxlYXZlIHRoZSBjbG9zaW5nIHVwIHRvIHRoZSBleGl0IGhhbmRsZXIgYXMgSSBj b21tZW50ZWQgYWJvdmUsCj4gbGVhdmluZyBhIGNvbW1lbnQgYWJvdXQgdGhpcyBmYWN0IHVuZGVy IGlndF9maXh0dXJlLgoKT2sgd2lsbCByZW1vdmUgdGhlIGRlYnVnZnMgZmQgZnJvbSB0aGUgaWd0 X2ZpeHR1cmUoKQoKTWFuYXNpCj4gCj4gLS1JbXJlCj4gCj4gPiAtLSAKPiA+IDIuMTkuMQo+ID4g Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYg bWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldg==