From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kahola Subject: Re: [PATCH i-g-t v4 4/7] lib/igt_kms: Rework connector properties to be more atomic, v2. Date: Mon, 02 Oct 2017 15:22:05 +0300 Message-ID: <1506946925.3274.26.camel@intel.com> References: <20170929095937.15702-1-maarten.lankhorst@linux.intel.com> <20170929095937.15702-5-maarten.lankhorst@linux.intel.com> Reply-To: mika.kahola@intel.com Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8069C6E011 for ; Mon, 2 Oct 2017 12:20:10 +0000 (UTC) In-Reply-To: <20170929095937.15702-5-maarten.lankhorst@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Maarten Lankhorst , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCAyMDE3LTA5LTI5IGF0IDExOjU5ICswMjAwLCBNYWFydGVuIExhbmtob3JzdCB3cm90 ZToKPiBJbiB0aGUgZnV0dXJlIEkgd2FudCB0byBhbGxvdyB0ZXN0cyB0byBjb21taXQgbW9yZSBw cm9wZXJ0aWVzLAo+IGJ1dCBmb3IgdGhpcyB0byB3b3JrIEkgaGF2ZSB0byBmaXggYWxsIHByb3Bl cnRpZXMgdG8gd29yayBiZXR0ZXIKPiB3aXRoIGF0b21pYyBjb21taXQuIEluc3RlYWQgb2Ygc3Bl Y2lhbCBjYXNpbmcgZWFjaAo+IHByb3BlcnR5IG1ha2UgYSBiaXRtYXNrIGZvciBhbGwgcHJvcGVy dHkgY2hhbmdlZCBmbGFncywgYW5kIHRyeSB0bwo+IGNvbW1pdCBhbGwgcHJvcGVydGllcy4KPiAK PiBDaGFuZ3Mgc2luY2UgdjE6Cj4gLSBNZW50aW9uIHdoaWNoIHByb3BlcnRpZXMgd2Ugc2V0IHRv IHdoYXQuCj4gLSBBc3NlcnQgdGhlIHByb3BlcnR5IHRvIGJlIHNldCBpcyB2YWxpZC4KPiAKPiBT aWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXgu aW50ZWwuY29tPgpSZXZpZXdlZC1ieTogTWlrYSBLYWhvbGEgPG1pa2Eua2Fob2xhQGludGVsLmNv bT4KCj4gLS0tCj4gwqBsaWIvaWd0X2ttcy5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoHwgNDQgKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCj4gLS0tLS0tLS0t LQo+IMKgbGliL2lndF9rbXMuaMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqB8IDM1ICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQo+IC0tCj4gwqB0ZXN0cy9rbXNf YXRvbWljX2ludGVycnVwdGlibGUuYyB8wqDCoDQgKystLQo+IMKgdGVzdHMva21zX3BhbmVsX2Zp dHRpbmcuY8KgwqDCoMKgwqDCoMKgwqB8wqDCoDIgKy0KPiDCoDQgZmlsZXMgY2hhbmdlZCwgNDUg aW5zZXJ0aW9ucygrKSwgNDAgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2xpYi9pZ3Rf a21zLmMgYi9saWIvaWd0X2ttcy5jCj4gaW5kZXggZDI1MDkwYjA1YzcwLi4wN2QyMDc0YzJiMWEg MTAwNjQ0Cj4gLS0tIGEvbGliL2lndF9rbXMuYwo+ICsrKyBiL2xpYi9pZ3Rfa21zLmMKPiBAQCAt MjQ4LDcgKzI0OCw3IEBAIGlndF9hdG9taWNfZmlsbF9jb25uZWN0b3JfcHJvcHMoaWd0X2Rpc3Bs YXlfdAo+ICpkaXNwbGF5LCBpZ3Rfb3V0cHV0X3QgKm91dHB1dCwKPiDCoAkJCWlmIChzdHJjbXAo cHJvcC0+bmFtZSwgY29ubl9wcm9wX25hbWVzW2pdKQo+ICE9IDApCj4gwqAJCQkJY29udGludWU7 Cj4gwqAKPiAtCQkJb3V0cHV0LT5jb25maWcuYXRvbWljX3Byb3BzX2Nvbm5lY3RvcltqXSA9Cj4g cHJvcHMtPnByb3BzW2ldOwo+ICsJCQlvdXRwdXQtPnByb3BzW2pdID0gcHJvcHMtPnByb3BzW2ld Owo+IMKgCQkJYnJlYWs7Cj4gwqAJCX0KPiDCoAo+IEBAIC0xODM0LDcgKzE4MzQsNyBAQCB2b2lk IGlndF9kaXNwbGF5X2luaXQoaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSwKPiBpbnQgZHJtX2ZkKQo+ IMKgCj4gwqAJCWlndF9vdXRwdXRfcmVmcmVzaChvdXRwdXQpOwo+IMKgCj4gLQkJb3V0cHV0LT5j b25maWcucGlwZV9jaGFuZ2VkID0gdHJ1ZTsKPiArCQlpZ3Rfb3V0cHV0X3NldF9wcm9wX2NoYW5n ZWQob3V0cHV0LAo+IElHVF9DT05ORUNUT1JfQ1JUQ19JRCk7Cj4gwqAJfQo+IMKgCj4gwqAJZHJt TW9kZUZyZWVQbGFuZVJlc291cmNlcyhwbGFuZV9yZXNvdXJjZXMpOwo+IEBAIC0yNTE0LDIzICsy NTE0LDI0IEBAIHN0YXRpYyB2b2lkCj4gaWd0X2F0b21pY19wcmVwYXJlX2NydGNfY29tbWl0KGln dF9waXBlX3QgKnBpcGVfb2JqLCBkcm1Nb2RlQXRvbWljUmUKPiDCoHN0YXRpYyB2b2lkIGlndF9h dG9taWNfcHJlcGFyZV9jb25uZWN0b3JfY29tbWl0KGlndF9vdXRwdXRfdAo+ICpvdXRwdXQsIGRy bU1vZGVBdG9taWNSZXEgKnJlcSkKPiDCoHsKPiDCoAo+IC0Jc3RydWN0IGttc3Rlc3RfY29ubmVj dG9yX2NvbmZpZyAqY29uZmlnID0gJm91dHB1dC0+Y29uZmlnOwo+ICsJaW50IGk7Cj4gwqAKPiAt CWlmIChjb25maWctPmNvbm5lY3Rvcl9zY2FsaW5nX21vZGVfY2hhbmdlZCkKPiAtCQlpZ3RfYXRv bWljX3BvcHVsYXRlX2Nvbm5lY3Rvcl9yZXEocmVxLCBvdXRwdXQsCj4gSUdUX0NPTk5FQ1RPUl9T Q0FMSU5HX01PREUsIGNvbmZpZy0+Y29ubmVjdG9yX3NjYWxpbmdfbW9kZSk7Cj4gKwlmb3IgKGkg PSAwOyBpIDwgSUdUX05VTV9DT05ORUNUT1JfUFJPUFM7IGkrKykgewo+ICsJCWlmICghaWd0X291 dHB1dF9pc19wcm9wX2NoYW5nZWQob3V0cHV0LCBpKSkKPiArCQkJY29udGludWU7Cj4gwqAKPiAt CWlmIChjb25maWctPnBpcGVfY2hhbmdlZCkgewo+IC0JCXVpbnQzMl90IGNydGNfaWQgPSAwOwo+ ICsJCS8qIGl0J3MgYW4gZXJyb3IgdG8gdHJ5IGFuIHVuc3VwcG9ydGVkIGZlYXR1cmUgKi8KPiAr CQlpZ3RfYXNzZXJ0KG91dHB1dC0+cHJvcHNbaV0pOwo+IMKgCj4gLQkJaWYgKG91dHB1dC0+Y29u ZmlnLnBpcGUgIT0gUElQRV9OT05FKQo+IC0JCQljcnRjX2lkID0gb3V0cHV0LT5jb25maWcuY3J0 Yy0+Y3J0Y19pZDsKPiArCQlpZ3RfZGVidWcoIiVzOiBTZXR0aW5nIHByb3BlcnR5IFwiJXNcIiB0 bwo+IDB4JSJQUkl4NjQiLyUiUFJJaTY0IlxuIiwKPiArCQkJwqDCoGlndF9vdXRwdXRfbmFtZShv dXRwdXQpLAo+IGlndF9jb25uZWN0b3JfcHJvcF9uYW1lc1tpXSwKPiArCQkJwqDCoG91dHB1dC0+ dmFsdWVzW2ldLCBvdXRwdXQtPnZhbHVlc1tpXSk7Cj4gwqAKPiAtCQlpZ3RfYXRvbWljX3BvcHVs YXRlX2Nvbm5lY3Rvcl9yZXEocmVxLCBvdXRwdXQsCj4gSUdUX0NPTk5FQ1RPUl9DUlRDX0lELCBj cnRjX2lkKTsKPiArCQlpZ3RfYXNzZXJ0X2x0KDAsIGRybU1vZGVBdG9taWNBZGRQcm9wZXJ0eShy ZXEsCj4gKwkJCQkJwqDCoG91dHB1dC0+Y29uZmlnLmNvbm5lY3Rvci0KPiA+Y29ubmVjdG9yX2lk LAo+ICsJCQkJCcKgwqBvdXRwdXQtPnByb3BzW2ldLAo+ICsJCQkJCcKgwqBvdXRwdXQtPnZhbHVl c1tpXSkpOwo+IMKgCX0KPiAtCS8qCj4gLQnCoCoJVE9ETzogQWRkIGFsbCBvdGhlciBjb25uZWN0 b3IgbGV2ZWwgcHJvcGVydGllcwo+IGhlcmUKPiAtCcKgKi8KPiAtCj4gwqB9Cj4gwqAKPiDCoC8q Cj4gQEAgLTI2MjUsMTEgKzI2MjYsMTAgQEAgZGlzcGxheV9jb21taXRfY2hhbmdlZChpZ3RfZGlz cGxheV90Cj4gKmRpc3BsYXksIGVudW0gaWd0X2NvbW1pdF9zdHlsZSBzKQo+IMKgCWZvciAoaSA9 IDA7IGkgPCBkaXNwbGF5LT5uX291dHB1dHM7IGkrKykgewo+IMKgCQlpZ3Rfb3V0cHV0X3QgKm91 dHB1dCA9ICZkaXNwbGF5LT5vdXRwdXRzW2ldOwo+IMKgCj4gLQkJaWYgKHMgIT0gQ09NTUlUX1VO SVZFUlNBTCkKPiAtCQkJb3V0cHV0LT5jb25maWcucGlwZV9jaGFuZ2VkID0gZmFsc2U7Cj4gLQo+ IMKgCQlpZiAocyA9PSBDT01NSVRfQVRPTUlDKQo+IC0JCQlvdXRwdXQtCj4gPmNvbmZpZy5jb25u ZWN0b3Jfc2NhbGluZ19tb2RlX2NoYW5nZWQgPSBmYWxzZTsKPiArCQkJb3V0cHV0LT5jaGFuZ2Vk ID0gMDsKPiArCQllbHNlIGlmIChzICE9IENPTU1JVF9VTklWRVJTQUwpCj4gKwkJCWlndF9vdXRw dXRfY2xlYXJfcHJvcF9jaGFuZ2VkKG91dHB1dCwKPiBJR1RfQ09OTkVDVE9SX0NSVENfSUQpOwo+ IMKgCX0KPiDCoH0KPiDCoAo+IEBAIC0yODczLDE4ICsyODczLDE2IEBAIHZvaWQgaWd0X291dHB1 dF9zZXRfcGlwZShpZ3Rfb3V0cHV0X3QKPiAqb3V0cHV0LCBlbnVtIHBpcGUgcGlwZSkKPiDCoAlp ZiAocGlwZSAhPSBQSVBFX05PTkUpCj4gwqAJCWRpc3BsYXktPnBpcGVzW3BpcGVdLm1vZGVfY2hh bmdlZCA9IHRydWU7Cj4gwqAKPiAtCW91dHB1dC0+Y29uZmlnLnBpcGVfY2hhbmdlZCA9IHRydWU7 Cj4gKwlpZ3Rfb3V0cHV0X3NldF9wcm9wX3ZhbHVlKG91dHB1dCwgSUdUX0NPTk5FQ1RPUl9DUlRD X0lELAo+IHBpcGUgPT0gUElQRV9OT05FID8gMCA6IGRpc3BsYXktPnBpcGVzW3BpcGVdLmNydGNf aWQpOwo+IMKgCj4gwqAJaWd0X291dHB1dF9yZWZyZXNoKG91dHB1dCk7Cj4gwqB9Cj4gwqAKPiDC oHZvaWQgaWd0X291dHB1dF9zZXRfc2NhbGluZ19tb2RlKGlndF9vdXRwdXRfdCAqb3V0cHV0LCB1 aW50NjRfdAo+IHNjYWxpbmdfbW9kZSkKPiDCoHsKPiAtCW91dHB1dC0+Y29uZmlnLmNvbm5lY3Rv cl9zY2FsaW5nX21vZGVfY2hhbmdlZCA9IHRydWU7Cj4gLQo+IC0Jb3V0cHV0LT5jb25maWcuY29u bmVjdG9yX3NjYWxpbmdfbW9kZSA9IHNjYWxpbmdfbW9kZTsKPiArCWlndF9vdXRwdXRfc2V0X3By b3BfdmFsdWUob3V0cHV0LAo+IElHVF9DT05ORUNUT1JfU0NBTElOR19NT0RFLCBzY2FsaW5nX21v ZGUpOwo+IMKgCj4gLQlpZ3RfcmVxdWlyZShvdXRwdXQtCj4gPmNvbmZpZy5hdG9taWNfcHJvcHNf Y29ubmVjdG9yW0lHVF9DT05ORUNUT1JfU0NBTElOR19NT0RFXSk7Cj4gKwlpZ3RfcmVxdWlyZShv dXRwdXQtPnByb3BzW0lHVF9DT05ORUNUT1JfU0NBTElOR19NT0RFXSk7Cj4gwqB9Cj4gwqAKPiDC oGlndF9wbGFuZV90ICppZ3Rfb3V0cHV0X2dldF9wbGFuZShpZ3Rfb3V0cHV0X3QgKm91dHB1dCwg aW50Cj4gcGxhbmVfaWR4KQo+IGRpZmYgLS1naXQgYS9saWIvaWd0X2ttcy5oIGIvbGliL2lndF9r bXMuaAo+IGluZGV4IDhkYzExOGM5NjFiNy4uMWVmMTBlN2Q1MjVjIDEwMDY0NAo+IC0tLSBhL2xp Yi9pZ3Rfa21zLmgKPiArKysgYi9saWIvaWd0X2ttcy5oCj4gQEAgLTEzMSwxMCArMTMxLDcgQEAg c3RydWN0IGttc3Rlc3RfY29ubmVjdG9yX2NvbmZpZyB7Cj4gwqAJZHJtTW9kZUNvbm5lY3RvciAq Y29ubmVjdG9yOwo+IMKgCWRybU1vZGVFbmNvZGVyICplbmNvZGVyOwo+IMKgCWRybU1vZGVNb2Rl SW5mbyBkZWZhdWx0X21vZGU7Cj4gLQl1aW50NjRfdCBjb25uZWN0b3Jfc2NhbGluZ19tb2RlOwo+ IC0JYm9vbCBjb25uZWN0b3Jfc2NhbGluZ19tb2RlX2NoYW5nZWQ7Cj4gLQlib29sIHBpcGVfY2hh bmdlZDsKPiAtCXVpbnQzMl90IGF0b21pY19wcm9wc19jb25uZWN0b3JbSUdUX05VTV9DT05ORUNU T1JfUFJPUFNdOwo+ICsKPiDCoAlpbnQgcGlwZTsKPiDCoAl1bnNpZ25lZCB2YWxpZF9jcnRjX2lk eF9tYXNrOwo+IMKgfTsKPiBAQCAtMzY0LDYgKzM2MSwxMiBAQCB0eXBlZGVmIHN0cnVjdCB7Cj4g wqAJZW51bSBwaXBlIHBlbmRpbmdfcGlwZTsKPiDCoAlib29sIHVzZV9vdmVycmlkZV9tb2RlOwo+ IMKgCWRybU1vZGVNb2RlSW5mbyBvdmVycmlkZV9tb2RlOwo+ICsKPiArCS8qIGJpdG1hc2sgb2Yg Y2hhbmdlZCBwcm9wZXJ0aWVzICovCj4gKwl1aW50NjRfdCBjaGFuZ2VkOwo+ICsKPiArCXVpbnQz Ml90IHByb3BzW0lHVF9OVU1fQ09OTkVDVE9SX1BST1BTXTsKPiArCXVpbnQ2NF90IHZhbHVlc1tJ R1RfTlVNX0NPTk5FQ1RPUl9QUk9QU107Cj4gwqB9IGlndF9vdXRwdXRfdDsKPiDCoAo+IMKgc3Ry dWN0IGlndF9kaXNwbGF5IHsKPiBAQCAtNTQ1LDE2ICs1NDgsMjAgQEAgc3RhdGljIGlubGluZSBi b29sCj4gaWd0X291dHB1dF9pc19jb25uZWN0ZWQoaWd0X291dHB1dF90ICpvdXRwdXQpCj4gwqAj ZGVmaW5lIGlndF9hdG9taWNfcG9wdWxhdGVfY3J0Y19yZXEocmVxLCBwaXBlLCBwcm9wLCB2YWx1 ZSkgXAo+IMKgCWlndF9hc3NlcnRfbHQoMCwgZHJtTW9kZUF0b21pY0FkZFByb3BlcnR5KHJlcSwg cGlwZS0KPiA+Y3J0Y19pZCxcCj4gwqAJCQkJCQnCoMKgcGlwZS0KPiA+YXRvbWljX3Byb3BzX2Ny dGNbcHJvcF0sIHZhbHVlKSkKPiAtLyoqCj4gLSAqIGlndF9hdG9taWNfcG9wdWxhdGVfY29ubmVj dG9yX3JlcToKPiAtICogQHJlcTogQSBwb2ludGVyIHRvIGRybU1vZGVBdG9taWNSZXEKPiAtICog QG91dHB1dDogQSBwb2ludGVyIGlndF9vdXRwdXRfdAo+IC0gKiBAcHJvcDogb25lIG9mIGlndF9h dG9taWNfY29ubmVjdG9yX3Byb3BlcnRpZXMKPiAtICogQHZhbHVlOiB0aGUgdmFsdWUgdG8gYWRk Cj4gLSAqLwo+IC0jZGVmaW5lIGlndF9hdG9taWNfcG9wdWxhdGVfY29ubmVjdG9yX3JlcShyZXEs IG91dHB1dCwgcHJvcCwgdmFsdWUpCj4gXAo+IC0JaWd0X2Fzc2VydF9sdCgwLCBkcm1Nb2RlQXRv bWljQWRkUHJvcGVydHkocmVxLCBvdXRwdXQtCj4gPmNvbmZpZy5jb25uZWN0b3ItPmNvbm5lY3Rv cl9pZCxcCj4gLQkJCQkJCcKgwqBvdXRwdXQtCj4gPmNvbmZpZy5hdG9taWNfcHJvcHNfY29ubmVj dG9yW3Byb3BdLCB2YWx1ZSkpCj4gKwo+ICsjZGVmaW5lIGlndF9vdXRwdXRfaXNfcHJvcF9jaGFu Z2VkKG91dHB1dCwgcHJvcCkgXAo+ICsJKCEhKChvdXRwdXQpLT5jaGFuZ2VkICYgKDEgPDwgKHBy b3ApKSkpCj4gKyNkZWZpbmUgaWd0X291dHB1dF9zZXRfcHJvcF9jaGFuZ2VkKG91dHB1dCwgcHJv cCkgXAo+ICsJKG91dHB1dCktPmNoYW5nZWQgfD0gMSA8PCAocHJvcCkKPiArCj4gKyNkZWZpbmUg aWd0X291dHB1dF9jbGVhcl9wcm9wX2NoYW5nZWQob3V0cHV0LCBwcm9wKSBcCj4gKwkob3V0cHV0 KS0+Y2hhbmdlZCAmPSB+KDEgPDwgKHByb3ApKQo+ICsKPiArI2RlZmluZSBpZ3Rfb3V0cHV0X3Nl dF9wcm9wX3ZhbHVlKG91dHB1dCwgcHJvcCwgdmFsdWUpIFwKPiArCWRvIHsgXAo+ICsJCShvdXRw dXQpLT52YWx1ZXNbcHJvcF0gPSAodmFsdWUpOyBcCj4gKwkJaWd0X291dHB1dF9zZXRfcHJvcF9j aGFuZ2VkKG91dHB1dCwgcHJvcCk7IFwKPiArCX0gd2hpbGUgKDApCj4gwqAKPiDCoC8qCj4gwqAg KiBpZ3RfcGlwZV9yZWZyZXNoOgo+IGRpZmYgLS1naXQgYS90ZXN0cy9rbXNfYXRvbWljX2ludGVy cnVwdGlibGUuYwo+IGIvdGVzdHMva21zX2F0b21pY19pbnRlcnJ1cHRpYmxlLmMKPiBpbmRleCA0 ZTA2ZWU0ZTJkNmIuLjJkMTlmZTk2NzgwOSAxMDA2NDQKPiAtLS0gYS90ZXN0cy9rbXNfYXRvbWlj X2ludGVycnVwdGlibGUuYwo+ICsrKyBiL3Rlc3RzL2ttc19hdG9taWNfaW50ZXJydXB0aWJsZS5j Cj4gQEAgLTE1OSw3ICsxNTksNyBAQCBzdGF0aWMgdm9pZCBydW5fcGxhbmVfdGVzdChpZ3RfZGlz cGxheV90Cj4gKmRpc3BsYXksIGVudW0gcGlwZSBwaXBlLCBpZ3Rfb3V0cHV0X3QKPiDCoAkJCQkJ cGxhbmUtPnBpcGUtCj4gPmF0b21pY19wcm9wc19jcnRjW0lHVF9DUlRDX01PREVfSURdLAo+IMKg CQkJCQlwbGFuZS0+cGlwZS0KPiA+YXRvbWljX3Byb3BzX2NydGNbSUdUX0NSVENfQUNUSVZFXSwK PiDCoAkJCQkJLyogY29ubmVjdG9yOiAxIHByb3AgKi8KPiAtCQkJCQlvdXRwdXQtCj4gPmNvbmZp Zy5hdG9taWNfcHJvcHNfY29ubmVjdG9yW0lHVF9DT05ORUNUT1JfQ1JUQ19JRF0sCj4gKwkJCQkJ b3V0cHV0LQo+ID5wcm9wc1tJR1RfQ09OTkVDVE9SX0NSVENfSURdLAo+IMKgCQkJCQkvKiBwbGFu ZTogcmVtYWluZGVyIHByb3BzICovCj4gwqAJCQkJCXBsYW5lLQo+ID5hdG9taWNfcHJvcHNfcGxh bmVbSUdUX1BMQU5FX0NSVENfSURdLAo+IMKgCQkJCQlwbGFuZS0KPiA+YXRvbWljX3Byb3BzX3Bs YW5lW0lHVF9QTEFORV9GQl9JRF0sCj4gQEAgLTIwNCw3ICsyMDQsNyBAQCBzdGF0aWMgdm9pZCBy dW5fcGxhbmVfdGVzdChpZ3RfZGlzcGxheV90Cj4gKmRpc3BsYXksIGVudW0gcGlwZSBwaXBlLCBp Z3Rfb3V0cHV0X3QKPiDCoAkJCWNhc2UgdGVzdF9sZWdhY3lfZHBtczogewo+IMKgCQkJCXN0cnVj dAo+IGRybV9tb2RlX2Nvbm5lY3Rvcl9zZXRfcHJvcGVydHkgcHJvcCA9IHsKPiDCoAkJCQkJLnZh bHVlID0gRFJNX01PREVfRFBNU19PRkYsCj4gLQkJCQkJLnByb3BfaWQgPSBvdXRwdXQtCj4gPmNv bmZpZy5hdG9taWNfcHJvcHNfY29ubmVjdG9yW0lHVF9DT05ORUNUT1JfRFBNU10sCj4gKwkJCQkJ LnByb3BfaWQgPSBvdXRwdXQtCj4gPnByb3BzW0lHVF9DT05ORUNUT1JfRFBNU10sCj4gwqAJCQkJ CS5jb25uZWN0b3JfaWQgPSBvdXRwdXQtPmlkLAo+IMKgCQkJCX07Cj4gwqAKPiBkaWZmIC0tZ2l0 IGEvdGVzdHMva21zX3BhbmVsX2ZpdHRpbmcuYyBiL3Rlc3RzL2ttc19wYW5lbF9maXR0aW5nLmMK PiBpbmRleCA4NWEyMzFlNjBlYTIuLmU0ZWEzNTU2MTFjMyAxMDA2NDQKPiAtLS0gYS90ZXN0cy9r bXNfcGFuZWxfZml0dGluZy5jCj4gKysrIGIvdGVzdHMva21zX3BhbmVsX2ZpdHRpbmcuYwo+IEBA IC0yNzUsNyArMjc1LDcgQEAgc3RhdGljIHZvaWQgdGVzdF9hdG9taWNfZmFzdHNldChpZ3RfZGlz cGxheV90Cj4gKmRpc3BsYXkpCj4gwqAJaWd0X3JlcXVpcmUoaW50ZWxfZ2VuKGludGVsX2dldF9k cm1fZGV2aWQoZGlzcGxheS0+ZHJtX2ZkKSkKPiA+PSA1KTsKPiDCoAo+IMKgCWZvcl9lYWNoX3Bp cGVfd2l0aF92YWxpZF9vdXRwdXQoZGlzcGxheSwgcGlwZSwgb3V0cHV0KSB7Cj4gLQkJaWYgKCFv dXRwdXQtCj4gPmNvbmZpZy5hdG9taWNfcHJvcHNfY29ubmVjdG9yW0lHVF9DT05ORUNUT1JfU0NB TElOR19NT0RFXSkKPiArCQlpZiAoIW91dHB1dC0+cHJvcHNbSUdUX0NPTk5FQ1RPUl9TQ0FMSU5H X01PREVdKQo+IMKgCQkJY29udGludWU7Cj4gwqAKPiDCoAkJdGVzdF9wYW5lbF9maXR0aW5nX2Zh c3RzZXQoZGlzcGxheSwgcGlwZSwgb3V0cHV0KTsKLS0gCk1pa2EgS2Fob2xhIC0gSW50ZWwgT1RD CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK