From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Paul Subject: Re: [PATCH i-g-t 1/4] lib/igt_kms: Add igt_display_reset function. Date: Fri, 17 Nov 2017 19:00:50 -0500 Message-ID: <1510963250.22441.2.camel@redhat.com> References: <20171116124522.4673-1-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by gabe.freedesktop.org (Postfix) with ESMTPS id 577A96E509 for ; Sat, 18 Nov 2017 00:00:53 +0000 (UTC) In-Reply-To: <20171116124522.4673-1-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 UmV2aWV3ZWQtYnk6IEx5dWRlIFBhdWwgPGx5dWRlQHJlZGhhdC5jb20+CgpPbiBUaHUsIDIwMTct MTEtMTYgYXQgMTM6NDUgKzAxMDAsIE1hYXJ0ZW4gTGFua2hvcnN0IHdyb3RlOgo+IEEgbG90IG9m IGNvZGUgZHVwbGljYXRlcyB0aGlzLCBidXQgaXQgc2hvdWxkIGJlIGhhbmRsZWQgaW4gdGhlIGNv cmUuCj4gQWRkIGl0IGFuZCB1c2UgaXQgYWZ0ZXIgaWd0X2Rpc3BsYXlfaW5pdCgpLCB0aGUgdGVz dHMgaGF2ZSB0byBiZQo+IGNvbnZlcnRlZCBvbmUgYnkgb25lLgo+IAo+IFNpZ25lZC1vZmYtYnk6 IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cj4g LS0tCj4gIGxpYi9pZ3Rfa21zLmMgfCAxNjIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKy0tLS0tLS0tLS0tLS0tLS0KPiAtLS0tLQo+ICBsaWIvaWd0X2ttcy5oIHwgICAxICsK PiAgMiBmaWxlcyBjaGFuZ2VkLCAxMDQgaW5zZXJ0aW9ucygrKSwgNTkgZGVsZXRpb25zKC0pCj4g Cj4gZGlmZiAtLWdpdCBhL2xpYi9pZ3Rfa21zLmMgYi9saWIvaWd0X2ttcy5jCj4gaW5kZXggMWQy NmI4ZGRiZjQzLi4yMzlmNGYxN2QyMmUgMTAwNjQ0Cj4gLS0tIGEvbGliL2lndF9rbXMuYwo+ICsr KyBiL2xpYi9pZ3Rfa21zLmMKPiBAQCAtMTU0OSwyOSArMTU0OSwxNCBAQCBzdGF0aWMgdm9pZCBp Z3Rfb3V0cHV0X3JlZnJlc2goaWd0X291dHB1dF90ICpvdXRwdXQpCj4gIAkJCSAgICAgICAtMSk7 Cj4gIAl9Cj4gIAo+IC0JaWYgKG91dHB1dC0+Y29uZmlnLmNvbm5lY3Rvcikgewo+ICsJaWYgKG91 dHB1dC0+Y29uZmlnLmNvbm5lY3RvcikKPiAgCQlpZ3RfYXRvbWljX2ZpbGxfY29ubmVjdG9yX3By b3BzKGRpc3BsYXksIG91dHB1dCwKPiAgCQkJSUdUX05VTV9DT05ORUNUT1JfUFJPUFMsIGlndF9j b25uZWN0b3JfcHJvcF9uYW1lcyk7Cj4gIAo+IC0JCWlmIChvdXRwdXQtPnByb3BzW0lHVF9DT05O RUNUT1JfQlJPQURDQVNUX1JHQl0pCj4gLQkJCWlndF9vdXRwdXRfc2V0X3Byb3BfdmFsdWUob3V0 cHV0LAo+IC0JCQkJCQkgIElHVF9DT05ORUNUT1JfQlJPQURDQVNUX1IKPiBHQiwKPiAtCQkJCQkJ ICBCUk9BRENBU1RfUkdCX0ZVTEwpOwo+IC0JfQo+IC0KPiAgCUxPRyhkaXNwbGF5LCAiJXM6IFNl bGVjdGluZyBwaXBlICVzXG4iLCBvdXRwdXQtPm5hbWUsCj4gIAkgICAga21zdGVzdF9waXBlX25h bWUob3V0cHV0LT5wZW5kaW5nX3BpcGUpKTsKPiAgfQo+ICAKPiAtc3RhdGljIGJvb2wKPiAtZ2V0 X3BsYW5lX3Byb3BlcnR5KGludCBkcm1fZmQsIHVpbnQzMl90IHBsYW5lX2lkLCBjb25zdCBjaGFy ICpuYW1lLAo+IC0JCSAgIHVpbnQzMl90ICpwcm9wX2lkIC8qIG91dCAqLywgdWludDY0X3QgKnZh bHVlIC8qIG91dCAqLywKPiAtCQkgICBkcm1Nb2RlUHJvcGVydHlQdHIgKnByb3AgLyogb3V0ICov KQo+IC17Cj4gLQlyZXR1cm4ga21zdGVzdF9nZXRfcHJvcGVydHkoZHJtX2ZkLCBwbGFuZV9pZCwK PiBEUk1fTU9ERV9PQkpFQ1RfUExBTkUsCj4gLQkJCQkgICAgbmFtZSwgcHJvcF9pZCwgdmFsdWUs IHByb3ApOwo+IC19Cj4gLQo+ICBzdGF0aWMgaW50Cj4gIGlndF9wbGFuZV9zZXRfcHJvcGVydHko aWd0X3BsYW5lX3QgKnBsYW5lLCB1aW50MzJfdCBwcm9wX2lkLCB1aW50NjRfdAo+IHZhbHVlKQo+ ICB7Cj4gQEAgLTE1ODIsMTUgKzE1NjcsNiBAQCBpZ3RfcGxhbmVfc2V0X3Byb3BlcnR5KGlndF9w bGFuZV90ICpwbGFuZSwgdWludDMyX3QKPiBwcm9wX2lkLCB1aW50NjRfdCB2YWx1ZSkKPiAgCQkJ CSBEUk1fTU9ERV9PQkpFQ1RfUExBTkUsIHByb3BfaWQsIHZhbHVlKTsKPiAgfQo+ICAKPiAtc3Rh dGljIGJvb2wKPiAtZ2V0X2NydGNfcHJvcGVydHkoaW50IGRybV9mZCwgdWludDMyX3QgY3J0Y19p ZCwgY29uc3QgY2hhciAqbmFtZSwKPiAtCQkgICB1aW50MzJfdCAqcHJvcF9pZCAvKiBvdXQgKi8s IHVpbnQ2NF90ICp2YWx1ZSAvKiBvdXQgKi8sCj4gLQkJICAgZHJtTW9kZVByb3BlcnR5UHRyICpw cm9wIC8qIG91dCAqLykKPiAtewo+IC0JcmV0dXJuIGttc3Rlc3RfZ2V0X3Byb3BlcnR5KGRybV9m ZCwgY3J0Y19pZCwgRFJNX01PREVfT0JKRUNUX0NSVEMsCj4gLQkJCQkgICAgbmFtZSwgcHJvcF9p ZCwgdmFsdWUsIHByb3ApOwo+IC19Cj4gLQo+ICAvKgo+ICAgKiBXYWxrIGEgcGxhbmUncyBwcm9w ZXJ0eSBsaXN0IHRvIGRldGVybWluZSBpdHMgdHlwZS4gIElmIHdlIGRvbid0Cj4gICAqIGZpbmQg YSB0eXBlIHByb3BlcnR5LCB0aGVuIHRoZSBrZXJuZWwgZG9lc24ndCBzdXBwb3J0IHVuaXZlcnNh bAo+IEBAIC0xNjAxLDE0ICsxNTc3LDExMCBAQCBzdGF0aWMgaW50IGdldF9kcm1fcGxhbmVfdHlw ZShpbnQgZHJtX2ZkLCB1aW50MzJfdAo+IHBsYW5lX2lkKQo+ICAJdWludDY0X3QgdmFsdWU7Cj4g IAlib29sIGhhc19wcm9wOwo+ICAKPiAtCWhhc19wcm9wID0gZ2V0X3BsYW5lX3Byb3BlcnR5KGRy bV9mZCwgcGxhbmVfaWQsICJ0eXBlIiwKPiAtCQkJCSAgICAgIE5VTEwgLyogcHJvcF9pZCAqLywg JnZhbHVlLCBOVUxMKTsKPiArCWhhc19wcm9wID0ga21zdGVzdF9nZXRfcHJvcGVydHkoZHJtX2Zk LCBwbGFuZV9pZCwKPiBEUk1fTU9ERV9PQkpFQ1RfUExBTkUsCj4gKwkJCQkJInR5cGUiLCBOVUxM LCAmdmFsdWUsIE5VTEwpOwo+ICAJaWYgKGhhc19wcm9wKQo+ICAJCXJldHVybiAoaW50KXZhbHVl Owo+ICAKPiAgCXJldHVybiBEUk1fUExBTkVfVFlQRV9PVkVSTEFZOwo+ICB9Cj4gIAo+ICtzdGF0 aWMgdm9pZCBpZ3RfcGxhbmVfcmVzZXQoaWd0X3BsYW5lX3QgKnBsYW5lKQo+ICt7Cj4gKwkvKiBS ZXNldCBzcmMgY29vcmRpbmF0ZXMuICovCj4gKwlpZ3RfcGxhbmVfc2V0X3Byb3BfdmFsdWUocGxh bmUsIElHVF9QTEFORV9TUkNfWCwgMCk7Cj4gKwlpZ3RfcGxhbmVfc2V0X3Byb3BfdmFsdWUocGxh bmUsIElHVF9QTEFORV9TUkNfWSwgMCk7Cj4gKwlpZ3RfcGxhbmVfc2V0X3Byb3BfdmFsdWUocGxh bmUsIElHVF9QTEFORV9TUkNfVywgMCk7Cj4gKwlpZ3RfcGxhbmVfc2V0X3Byb3BfdmFsdWUocGxh bmUsIElHVF9QTEFORV9TUkNfSCwgMCk7Cj4gKwo+ICsJLyogUmVzZXQgY3J0YyBjb29yZGluYXRl cy4gKi8KPiArCWlndF9wbGFuZV9zZXRfcHJvcF92YWx1ZShwbGFuZSwgSUdUX1BMQU5FX0NSVENf WCwgMCk7Cj4gKwlpZ3RfcGxhbmVfc2V0X3Byb3BfdmFsdWUocGxhbmUsIElHVF9QTEFORV9DUlRD X1ksIDApOwo+ICsJaWd0X3BsYW5lX3NldF9wcm9wX3ZhbHVlKHBsYW5lLCBJR1RfUExBTkVfQ1JU Q19XLCAwKTsKPiArCWlndF9wbGFuZV9zZXRfcHJvcF92YWx1ZShwbGFuZSwgSUdUX1BMQU5FX0NS VENfSCwgMCk7Cj4gKwo+ICsJLyogUmVzZXQgYmluZGluZyB0byBmYiBhbmQgY3J0Yy4gKi8KPiAr CWlndF9wbGFuZV9zZXRfcHJvcF92YWx1ZShwbGFuZSwgSUdUX1BMQU5FX0ZCX0lELCAwKTsKPiAr CWlndF9wbGFuZV9zZXRfcHJvcF92YWx1ZShwbGFuZSwgSUdUX1BMQU5FX0NSVENfSUQsIDApOwo+ ICsKPiArCS8qIFVzZSBkZWZhdWx0IHJvdGF0aW9uICovCj4gKwlpZiAoaWd0X3BsYW5lX2hhc19w cm9wKHBsYW5lLCBJR1RfUExBTkVfUk9UQVRJT04pKQo+ICsJCWlndF9wbGFuZV9zZXRfcHJvcF92 YWx1ZShwbGFuZSwgSUdUX1BMQU5FX1JPVEFUSU9OLAo+ICsJCQkJCSBJR1RfUk9UQVRJT05fMCk7 Cj4gKwo+ICsJaWd0X3BsYW5lX2NsZWFyX3Byb3BfY2hhbmdlZChwbGFuZSwgSUdUX1BMQU5FX0lO X0ZFTkNFX0ZEKTsKPiArCXBsYW5lLT52YWx1ZXNbSUdUX1BMQU5FX0lOX0ZFTkNFX0ZEXSA9IH4w VUxMOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBpZ3RfcGlwZV9yZXNldChpZ3RfcGlwZV90ICpw aXBlKQo+ICt7Cj4gKwlpZ3RfcGlwZV9vYmpfc2V0X3Byb3BfdmFsdWUocGlwZSwgSUdUX0NSVENf TU9ERV9JRCwgMCk7Cj4gKwlpZ3RfcGlwZV9vYmpfc2V0X3Byb3BfdmFsdWUocGlwZSwgSUdUX0NS VENfQUNUSVZFLCAwKTsKPiArCWlndF9waXBlX29ial9jbGVhcl9wcm9wX2NoYW5nZWQocGlwZSwg SUdUX0NSVENfT1VUX0ZFTkNFX1BUUik7Cj4gKwo+ICsJcGlwZS0+b3V0X2ZlbmNlX2ZkID0gLTE7 Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIGlndF9vdXRwdXRfcmVzZXQoaWd0X291dHB1dF90ICpv dXRwdXQpCj4gK3sKPiArCW91dHB1dC0+cGVuZGluZ19waXBlID0gUElQRV9OT05FOwo+ICsJb3V0 cHV0LT51c2Vfb3ZlcnJpZGVfbW9kZSA9IGZhbHNlOwo+ICsJbWVtc2V0KCZvdXRwdXQtPm92ZXJy aWRlX21vZGUsIDAsIHNpemVvZihvdXRwdXQtPm92ZXJyaWRlX21vZGUpKTsKPiArCj4gKwlpZ3Rf b3V0cHV0X3NldF9wcm9wX3ZhbHVlKG91dHB1dCwgSUdUX0NPTk5FQ1RPUl9DUlRDX0lELCAwKTsK PiArCj4gKwlpZiAoaWd0X291dHB1dF9oYXNfcHJvcChvdXRwdXQsIElHVF9DT05ORUNUT1JfQlJP QURDQVNUX1JHQikpCj4gKwkJaWd0X291dHB1dF9zZXRfcHJvcF92YWx1ZShvdXRwdXQsCj4gSUdU X0NPTk5FQ1RPUl9CUk9BRENBU1RfUkdCLAo+ICsJCQkJCSAgQlJPQURDQVNUX1JHQl9GVUxMKTsK PiArfQo+ICsKPiArLyoqCj4gKyAqIGlndF9kaXNwbGF5X3Jlc2V0Ogo+ICsgKiBAZGlzcGxheTog YSBwb2ludGVyIHRvIGFuICNpZ3RfZGlzcGxheV90IHN0cnVjdHVyZQo+ICsgKgo+ICsgKiBSZXNl dCBiYXNpYyBwaXBlcywgY29ubmVjdG9ycyBhbmQgcGxhbmVzIG9uIEBkaXNwbGF5IGJhY2sgdG8g ZGVmYXVsdAo+IHZhbHVlcy4KPiArICogSW4gcGFydGljdWxhciwgdGhlIGZvbGxvd2luZyBwcm9w ZXJ0aWVzIHdpbGwgYmUgcmVzZXQ6Cj4gKyAqCj4gKyAqIEZvciBvdXRwdXRzOgo+ICsgKiAtICVJ R1RfQ09OTkVDVE9SX0NSVENfSUQKPiArICogLSAlSUdUX0NPTk5FQ1RPUl9CUk9BRENBU1RfUkdC IChpZiBhcHBsaWNhYmxlKQo+ICsgKiAtIGlndF9vdXRwdXRfb3ZlcnJpZGVfbW9kZSgpIHRvIGRl ZmF1bHQuCj4gKyAqCj4gKyAqIEZvciBwaXBlczoKPiArICogLSAlSUdUX0NSVENfTU9ERV9JRCAo bGVha2VkKQo+ICsgKiAtICVJR1RfQ1JUQ19BQ1RJVkUKPiArICogLSAlSUdUX0NSVENfT1VUX0ZF TkNFX1BUUgo+ICsgKgo+ICsgKiBGb3IgcGxhbmVzOgo+ICsgKiAtICVJR1RfUExBTkVfU1JDXyoK PiArICogLSAlSUdUX1BMQU5FX0NSVENfKgo+ICsgKiAtICVJR1RfUExBTkVfRkJfSUQKPiArICog LSAlSUdUX1BMQU5FX0NSVENfSUQKPiArICogLSAlSUdUX1BMQU5FX1JPVEFUSU9OCj4gKyAqIC0g JUlHVF9QTEFORV9JTl9GRU5DRV9GRAo+ICsgKi8KPiArdm9pZCBpZ3RfZGlzcGxheV9yZXNldChp Z3RfZGlzcGxheV90ICpkaXNwbGF5KQo+ICt7Cj4gKwllbnVtIHBpcGUgcGlwZTsKPiArCWludCBp Owo+ICsKPiArCWZvcl9lYWNoX3BpcGUoZGlzcGxheSwgcGlwZSkgewo+ICsJCWlndF9waXBlX3Qg KnBpcGVfb2JqID0gJmRpc3BsYXktPnBpcGVzW3BpcGVdOwo+ICsJCWlndF9wbGFuZV90ICpwbGFu ZTsKPiArCj4gKwkJZm9yX2VhY2hfcGxhbmVfb25fcGlwZShkaXNwbGF5LCBwaXBlLCBwbGFuZSkK PiArCQkJaWd0X3BsYW5lX3Jlc2V0KHBsYW5lKTsKPiArCj4gKwkJaWd0X3BpcGVfcmVzZXQocGlw ZV9vYmopOwo+ICsJfQo+ICsKPiArCWZvciAoaSA9IDA7IGkgPCBkaXNwbGF5LT5uX291dHB1dHM7 IGkrKykgewo+ICsJCWlndF9vdXRwdXRfdCAqb3V0cHV0ID0gJmRpc3BsYXktPm91dHB1dHNbaV07 Cj4gKwo+ICsJCWlndF9vdXRwdXRfcmVzZXQob3V0cHV0KTsKPiArCX0KPiArfQo+ICsKPiAgLyoq Cj4gICAqIGlndF9kaXNwbGF5X2luaXQ6Cj4gICAqIEBkaXNwbGF5OiBhIHBvaW50ZXIgdG8gYW4g I2lndF9kaXNwbGF5X3Qgc3RydWN0dXJlCj4gQEAgLTE2NDgsNyArMTcyMCw3IEBAIHZvaWQgaWd0 X2Rpc3BsYXlfaW5pdChpZ3RfZGlzcGxheV90ICpkaXNwbGF5LCBpbnQKPiBkcm1fZmQpCj4gIAlw bGFuZV9yZXNvdXJjZXMgPSBkcm1Nb2RlR2V0UGxhbmVSZXNvdXJjZXMoZGlzcGxheS0+ZHJtX2Zk KTsKPiAgCWlndF9hc3NlcnQocGxhbmVfcmVzb3VyY2VzKTsKPiAgCj4gLQlmb3IgKGkgPSAwOyBp IDwgZGlzcGxheS0+bl9waXBlczsgaSsrKSB7Cj4gKwlmb3JfZWFjaF9waXBlKGRpc3BsYXksIGkp IHsKPiAgCQlpZ3RfcGlwZV90ICpwaXBlID0gJmRpc3BsYXktPnBpcGVzW2ldOwo+ICAJCWlndF9w bGFuZV90ICpwbGFuZTsKPiAgCQlpbnQgcCA9IDE7Cj4gQEAgLTE2NjEsMTkgKzE3MzMsOSBAQCB2 b2lkIGlndF9kaXNwbGF5X2luaXQoaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSwgaW50Cj4gZHJtX2Zk KQo+ICAJCXBpcGUtPnBsYW5lX2N1cnNvciA9IC0xOwo+ICAJCXBpcGUtPnBsYW5lX3ByaW1hcnkg PSAtMTsKPiAgCQlwaXBlLT5wbGFuZXMgPSBOVUxMOwo+IC0JCXBpcGUtPm91dF9mZW5jZV9mZCA9 IC0xOwo+ICAKPiAgCQlpZ3RfZmlsbF9waXBlX3Byb3BzKGRpc3BsYXksIHBpcGUsIElHVF9OVU1f Q1JUQ19QUk9QUywKPiBpZ3RfY3J0Y19wcm9wX25hbWVzKTsKPiAgCj4gLQkJLyogRm9yY2UgbW9k ZXNldCBkaXNhYmxlIG9uIGZpcnN0IGNvbW1pdCAqLwo+IC0JCWlndF9waXBlX29ial9zZXRfcHJv cF9jaGFuZ2VkKHBpcGUsIElHVF9DUlRDX01PREVfSUQpOwo+IC0JCWlndF9waXBlX29ial9zZXRf cHJvcF9jaGFuZ2VkKHBpcGUsIElHVF9DUlRDX0FDVElWRSk7Cj4gLQo+IC0JCWdldF9jcnRjX3By b3BlcnR5KGRpc3BsYXktPmRybV9mZCwgcGlwZS0+Y3J0Y19pZCwKPiAtCQkJCSAgICAiYmFja2dy b3VuZF9jb2xvciIsIE5VTEwsCj4gLQkJCQkgICAgJnBpcGUtPnZhbHVlc1tJR1RfQ1JUQ19CQUNL R1JPVU5EXSwKPiAtCQkJCSAgICBOVUxMKTsKPiAtCj4gIAkJLyogY291bnQgbnVtYmVyIG9mIHZh bGlkIHBsYW5lcyAqLwo+ICAJCWZvciAoaiA9IDA7IGogPCBwbGFuZV9yZXNvdXJjZXMtPmNvdW50 X3BsYW5lczsgaisrKSB7Cj4gIAkJCWRybU1vZGVQbGFuZSAqZHJtX3BsYW5lOwo+IEBAIC0xNzMw LDI0ICsxNzkyLDYgQEAgdm9pZCBpZ3RfZGlzcGxheV9pbml0KGlndF9kaXNwbGF5X3QgKmRpc3Bs YXksIGludAo+IGRybV9mZCkKPiAgCQkJcGxhbmUtPnZhbHVlc1tJR1RfUExBTkVfSU5fRkVOQ0Vf RkRdID0gfjBVTEw7Cj4gIAo+ICAJCQlpZ3RfZmlsbF9wbGFuZV9wcm9wcyhkaXNwbGF5LCBwbGFu ZSwKPiBJR1RfTlVNX1BMQU5FX1BST1BTLCBpZ3RfcGxhbmVfcHJvcF9uYW1lcyk7Cj4gLQo+IC0J CQlnZXRfcGxhbmVfcHJvcGVydHkoZGlzcGxheS0+ZHJtX2ZkLCBkcm1fcGxhbmUtCj4gPnBsYW5l X2lkLAo+IC0JCQkJCSAgICJyb3RhdGlvbiIsCj4gLQkJCQkJICAgJnBsYW5lLQo+ID5wcm9wc1tJ R1RfUExBTkVfUk9UQVRJT05dLAo+IC0JCQkJCSAgICZwbGFuZS0KPiA+dmFsdWVzW0lHVF9QTEFO RV9ST1RBVElPTl0sCj4gLQkJCQkJICAgTlVMTCk7Cj4gLQo+IC0JCQkvKiBDbGVhciBhbnkgcmVz aWR1YWwgZnJhbWVidWZmZXIgaW5mbyBvbiBmaXJzdAo+IGNvbW1pdC4gKi8KPiAtCQkJaWd0X3Bs YW5lX3NldF9wcm9wX2NoYW5nZWQocGxhbmUsIElHVF9QTEFORV9GQl9JRCk7Cj4gLQkJCWlndF9w bGFuZV9zZXRfcHJvcF9jaGFuZ2VkKHBsYW5lLAo+IElHVF9QTEFORV9DUlRDX0lEKTsKPiAtCj4g LQkJCS8qCj4gLQkJCSAqIENSVENfWC9ZIGFyZSBub3QgY2hhbmdlZCBpbiBpZ3RfcGxhbmVfc2V0 X2ZiLCBzbwo+IC0JCQkgKiBmb3JjZSB0aGVtIHRvIGJlIHNhbml0aXplZCBpbiBjYXNlIHRoZXkg Y29udGFpbgo+IC0JCQkgKiBnYXJiYWdlLgo+IC0JCQkgKi8KPiAtCQkJaWd0X3BsYW5lX3NldF9w cm9wX2NoYW5nZWQocGxhbmUsCj4gSUdUX1BMQU5FX0NSVENfWCk7Cj4gLQkJCWlndF9wbGFuZV9z ZXRfcHJvcF9jaGFuZ2VkKHBsYW5lLAo+IElHVF9QTEFORV9DUlRDX1kpOwo+ICAJCX0KPiAgCj4g IAkJLyoKPiBAQCAtMTc4MiwxOCArMTgyNiwxOCBAQCB2b2lkIGlndF9kaXNwbGF5X2luaXQoaWd0 X2Rpc3BsYXlfdCAqZGlzcGxheSwgaW50Cj4gZHJtX2ZkKQo+ICAJCSAqIGEgcGlwZSBpcyBzZXQg d2l0aCBpZ3Rfb3V0cHV0X3NldF9waXBlKCkuCj4gIAkJICovCj4gIAkJb3V0cHV0LT5mb3JjZV9y ZXByb2JlID0gdHJ1ZTsKPiAtCQlvdXRwdXQtPnBlbmRpbmdfcGlwZSA9IFBJUEVfTk9ORTsKPiAg CQlvdXRwdXQtPmlkID0gcmVzb3VyY2VzLT5jb25uZWN0b3JzW2ldOwo+ICAJCW91dHB1dC0+ZGlz cGxheSA9IGRpc3BsYXk7Cj4gIAo+ICAJCWlndF9vdXRwdXRfcmVmcmVzaChvdXRwdXQpOwo+IC0K PiAtCQlpZ3Rfb3V0cHV0X3NldF9wcm9wX2NoYW5nZWQob3V0cHV0LCBJR1RfQ09OTkVDVE9SX0NS VENfSUQpOwo+ICAJfQo+ICAKPiAgCWRybU1vZGVGcmVlUGxhbmVSZXNvdXJjZXMocGxhbmVfcmVz b3VyY2VzKTsKPiAgCWRybU1vZGVGcmVlUmVzb3VyY2VzKHJlc291cmNlcyk7Cj4gIAo+ICsJLyog U2V0IHJlYXNvbmFibGUgZGVmYXVsdCB2YWx1ZXMgZm9yIGV2ZXJ5IG9iamVjdCBpbiB0aGUgZGlz cGxheS4KPiAqLwo+ICsJaWd0X2Rpc3BsYXlfcmVzZXQoZGlzcGxheSk7Cj4gKwo+ICAJTE9HX1VO SU5ERU5UKGRpc3BsYXkpOwo+ICB9Cj4gIAo+IGRpZmYgLS1naXQgYS9saWIvaWd0X2ttcy5oIGIv bGliL2lndF9rbXMuaAo+IGluZGV4IGFjYzgyOTEzZTBiNy4uZTE4ODNiZjFiOGEzIDEwMDY0NAo+ IC0tLSBhL2xpYi9pZ3Rfa21zLmgKPiArKysgYi9saWIvaWd0X2ttcy5oCj4gQEAgLTM1Myw2ICsz NTMsNyBAQCBzdHJ1Y3QgaWd0X2Rpc3BsYXkgewo+ICAKPiAgdm9pZCBpZ3RfZGlzcGxheV9pbml0 KGlndF9kaXNwbGF5X3QgKmRpc3BsYXksIGludCBkcm1fZmQpOwo+ICB2b2lkIGlndF9kaXNwbGF5 X2ZpbmkoaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSk7Cj4gK3ZvaWQgaWd0X2Rpc3BsYXlfcmVzZXQo aWd0X2Rpc3BsYXlfdCAqZGlzcGxheSk7Cj4gIGludCAgaWd0X2Rpc3BsYXlfY29tbWl0MihpZ3Rf ZGlzcGxheV90ICpkaXNwbGF5LCBlbnVtIGlndF9jb21taXRfc3R5bGUgcyk7Cj4gIGludCAgaWd0 X2Rpc3BsYXlfY29tbWl0KGlndF9kaXNwbGF5X3QgKmRpc3BsYXkpOwo+ICBpbnQgIGlndF9kaXNw bGF5X3RyeV9jb21taXRfYXRvbWljKGlndF9kaXNwbGF5X3QgKmRpc3BsYXksIHVpbnQzMl90IGZs YWdzLAo+IHZvaWQgKnVzZXJfZGF0YSk7Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeAo=