From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v2] drm/i915: Don't spew errors when resetting HDMI scrambling/bit clock ratio fails Date: Thu, 22 Mar 2018 17:27:59 +0200 Message-ID: <20180322152759.GK5453@intel.com> References: <20180322132227.23810-1-ville.syrjala@linux.intel.com> <20180322140528.17134-1-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 351A96E03E for ; Thu, 22 Mar 2018 15:28:03 +0000 (UTC) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Sharma, Shashank" Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBNYXIgMjIsIDIwMTggYXQgMDg6NDI6MjZQTSArMDUzMCwgU2hhcm1hLCBTaGFzaGFu ayB3cm90ZToKPiBSZWdhcmRzCj4gCj4gU2hhc2hhbmsKPiAKPiAKPiBPbiAzLzIyLzIwMTggNzoz NSBQTSwgVmlsbGUgU3lyamFsYSB3cm90ZToKPiA+IEZyb206IFZpbGxlIFN5cmrDpGzDpCA8dmls bGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gPgo+ID4gV2hlbiB3ZSdyZSBkaXNhYmxpbmcg dGhlIEhETUkgbGluayB3ZSB0cnkgdG8gcmVzZXQgdGhlIHNjcmFtYmxpbmcgYW5kCj4gPiBUTURT IGJpdCBjbG9jayByYXRpbyBiYWNrIHRvIHRoZSBkZWZhdWx0IHZhbHVlcy4gVGhpcyB3aWxsIGZh aWwgaWYgdGhlCj4gPiBzaW5rIGhhcyBhbHJlYWR5IGJlZW4gZGlzY29ubmVjdGVkLiBUaHVzIHdl IHNob3VsZCBub3QgcHJpbnQgYW4gZXJyb3IKPiA+IG1lc3NhZ2Ugd2hlbiByZXNldHRpbmcgdGhl IHNjcmFtYmxpbmcvVE1EUyBiaXQgY2xvY2sgcmF0aW8gZmFpbCBkdXJpbmcKPiA+IGRpc2FibGUu IER1cmluZyBlbmFibGUgd2UgZG8gd2FudCB0aGUgZXJyb3IsIGFuZCBkdXJpbmcgZGlzYWJsZSB3 ZSBtYXkKPiA+IHN0aWxsIHdhbnQgdG8ga25vdyB3aGF0IGhhcHBlbmRlZCBmb3IgZGVidWcgcHVy cG9zZXMgc28gbGV0J3MgdXNlCj4gPiBEUk1fREVCVUdfS01TKCkgdGhlcmUuCj4gWWVwLCB0aGlz IHJlbWluZHMgbWUgb2YgaW5pdGlhbCBwYXRjaCBzZXQgb2Ygc2NyYW1ibGluZyBzZXJpZXMgOi0p Cj4gPgo+ID4gdjI6IFJlbWVtYmVyIHRoZW0gY29uc3RzCj4gPgo+ID4gQ2M6IFNoYXNoYW5rIFNo YXJtYSA8c2hhc2hhbmsuc2hhcm1hQGludGVsLmNvbT4KPiA+IEJ1Z3ppbGxhOiBodHRwczovL2J1 Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU2NDQKPiA+IEJ1Z3ppbGxhOiBo dHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU2NTUKPiA+IFNp Z25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5j b20+Cj4gPiAtLS0KPiA+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgIHwgIDEx ICsrLS0KPiA+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggIHwgIDEwICsrLS0K PiA+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jIHwgMTA0ICsrKysrKysrKysr KysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCj4gPiAgIDMgZmlsZXMgY2hhbmdlZCwgNzggaW5z ZXJ0aW9ucygrKSwgNDcgZGVsZXRpb25zKC0pCj4gPgo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RkaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRp LmMKPiA+IGluZGV4IDhjMmQ3Nzg1NjBmMC4uZTE1MWMwNzNkZWJiIDEwMDY0NAo+ID4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RkaS5jCj4gPiBAQCAtMjQyNiwxMCArMjQyNiw4IEBAIHN0YXRpYyB2b2lk IGludGVsX2VuYWJsZV9kZGlfaGRtaShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+ ICAgCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0ID0gZW5jX3RvX2RpZ19wb3J0 KCZlbmNvZGVyLT5iYXNlKTsKPiA+ICAgCWVudW0gcG9ydCBwb3J0ID0gZW5jb2Rlci0+cG9ydDsK PiA+ICAgCj4gPiAtCWludGVsX2hkbWlfaGFuZGxlX3Npbmtfc2NyYW1ibGluZyhlbmNvZGVyLAo+ ID4gLQkJCQkJICBjb25uX3N0YXRlLT5jb25uZWN0b3IsCj4gPiAtCQkJCQkgIGNydGNfc3RhdGUt PmhkbWlfaGlnaF90bWRzX2Nsb2NrX3JhdGlvLAo+ID4gLQkJCQkJICBjcnRjX3N0YXRlLT5oZG1p X3NjcmFtYmxpbmcpOwo+ID4gKwlpbnRlbF9oZG1pX3Npbmtfc2NyYW1ibGluZ19lbmFibGUoZW5j b2RlciwKPiA+ICsJCQkJCSAgY3J0Y19zdGF0ZSwgY29ubl9zdGF0ZSk7Cj4gPiAgIAo+ID4gICAJ LyogRGlzcGxheSBXQSAjMTE0Mzogc2tsLGtibCxjZmwgKi8KPiA+ICAgCWlmIChJU19HRU45X0JD KGRldl9wcml2KSkgewo+ID4gQEAgLTI1MjQsOSArMjUyMiw4IEBAIHN0YXRpYyB2b2lkIGludGVs X2Rpc2FibGVfZGRpX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPiAgIAkJ aW50ZWxfYXVkaW9fY29kZWNfZGlzYWJsZShlbmNvZGVyLAo+ID4gICAJCQkJCSAgb2xkX2NydGNf c3RhdGUsIG9sZF9jb25uX3N0YXRlKTsKPiA+ICAgCj4gPiAtCWludGVsX2hkbWlfaGFuZGxlX3Np bmtfc2NyYW1ibGluZyhlbmNvZGVyLAo+ID4gLQkJCQkJICBvbGRfY29ubl9zdGF0ZS0+Y29ubmVj dG9yLAo+ID4gLQkJCQkJICBmYWxzZSwgZmFsc2UpOwo+ID4gKwlpbnRlbF9oZG1pX3Npbmtfc2Ny YW1ibGluZ19lbmFibGUoZW5jb2RlciwKPiA+ICsJCQkJCSAgb2xkX2NydGNfc3RhdGUsIG9sZF9j b25uX3N0YXRlKTsKPiBDYWxsaW5nIGVuYWJsZSBhZ2FpbiA/IHRoaXMgbXVzdCBiZSBhIGRpc2Fi bGUgY2FsbC4KCkRvaC4KCj4gPiAgIH0KPiA+ICAgCj4gPiAgIHN0YXRpYyB2b2lkIGludGVsX2Rp c2FibGVfZGRpKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ID4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHJ2LmgKPiA+IGluZGV4IGEyMTVhYTc4YjBiZS4uNjNmMDkxOWFhN2M4IDEwMDY0NAo+ ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiBAQCAtMTc4MywxMCArMTc4MywxMiBAQCBz dHJ1Y3QgaW50ZWxfaGRtaSAqZW5jX3RvX2ludGVsX2hkbWkoc3RydWN0IGRybV9lbmNvZGVyICpl bmNvZGVyKTsKPiA+ICAgYm9vbCBpbnRlbF9oZG1pX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyLAo+ID4gICAJCQkgICAgICAgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKnBpcGVfY29uZmlnLAo+ID4gICAJCQkgICAgICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3Rh dGUgKmNvbm5fc3RhdGUpOwo+ID4gLXZvaWQgaW50ZWxfaGRtaV9oYW5kbGVfc2lua19zY3JhbWJs aW5nKHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyLAo+ID4gLQkJCQkgICAgICAg c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiA+IC0JCQkJICAgICAgIGJvb2wgaGln aF90bWRzX2Nsb2NrX3JhdGlvLAo+ID4gLQkJCQkgICAgICAgYm9vbCBzY3JhbWJsaW5nKTsKPiA+ ICt2b2lkIGludGVsX2hkbWlfc2lua19zY3JhbWJsaW5nX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlciwKPiA+ICsJCQkJICAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpjcnRjX3N0YXRlLAo+ID4gKwkJCQkgICAgICAgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0 b3Jfc3RhdGUgKmNvbm5fc3RhdGUpOwo+ID4gK3ZvaWQgaW50ZWxfaGRtaV9zaW5rX3NjcmFtYmxp bmdfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+ICsJCQkJCWNvbnN0 IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwKPiA+ICsJCQkJCWNvbnN0 IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpvbGRfY29ubl9zdGF0ZSk7Cj4gPiAgIHZvaWQg aW50ZWxfZHBfZHVhbF9tb2RlX3NldF90bWRzX291dHB1dChzdHJ1Y3QgaW50ZWxfaGRtaSAqaGRt aSwgYm9vbCBlbmFibGUpOwo+ID4gICB2b2lkIGludGVsX2luZm9mcmFtZV9pbml0KHN0cnVjdCBp bnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0KTsKPiA+ICAgCj4gPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfaGRtaS5jCj4gPiBpbmRleCAxYmFlZjRhYzdlY2IuLjZiNjFiM2QxYWMwOCAxMDA2 NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+ID4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4gPiBAQCAtMjA2OCw1NSArMjA2OCw4 NyBAQCBpbnRlbF9oZG1pX2FkZF9wcm9wZXJ0aWVzKHN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9o ZG1pLCBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqYwo+ID4gICAJY29ubmVjdG9yLT5zdGF0ZS0+cGlj dHVyZV9hc3BlY3RfcmF0aW8gPSBIRE1JX1BJQ1RVUkVfQVNQRUNUX05PTkU7Cj4gPiAgIH0KPiA+ ICAgCj4gPiAtLyoKPiA+IC0gKiBpbnRlbF9oZG1pX2hhbmRsZV9zaW5rX3NjcmFtYmxpbmc6IGhh bmRsZSBzaW5rIHNjcmFtYmxpbmcvY2xvY2sgcmF0aW8gc2V0dXAKPiA+IC0gKiBAZW5jb2Rlcjog aW50ZWxfZW5jb2Rlcgo+ID4gLSAqIEBjb25uZWN0b3I6IGRybV9jb25uZWN0b3IKPiA+IC0gKiBA aGlnaF90bWRzX2Nsb2NrX3JhdGlvID0gYm9vbCB0byBpbmRpY2F0ZSBpZiB0aGUgZnVuY3Rpb24g bmVlZHMgdG8gc2V0Cj4gPiAtICogIG9yIHJlc2V0IHRoZSBoaWdoIHRtZHMgY2xvY2sgcmF0aW8g Zm9yIHNjcmFtYmxpbmcKPiA+IC0gKiBAc2NyYW1ibGluZzogYm9vbCB0byBJbmRpY2F0ZSBpZiB0 aGUgZnVuY3Rpb24gbmVlZHMgdG8gc2V0IG9yIHJlc2V0Cj4gPiAtICogIHNpbmsgc2NyYW1ibGlu Zwo+ID4gLSAqCj4gPiAtICogVGhpcyBmdW5jdGlvbiBoYW5kbGVzIHNjcmFtYmxpbmcgb24gSERN SSAyLjAgY2FwYWJsZSBzaW5rcy4KPiA+IC0gKiBJZiByZXF1aXJlZCBjbG9jayByYXRlIGlzID4g MzQwIE1oeiAmJiBzY3JhbWJsaW5nIGlzIHN1cHBvcnRlZCBieSBzaW5rCj4gPiAtICogaXQgZW5h YmxlcyBzY3JhbWJsaW5nLiBUaGlzIHNob3VsZCBiZSBjYWxsZWQgYmVmb3JlIGVuYWJsaW5nIHRo ZSBIRE1JCj4gPiAtICogMi4wIHBvcnQsIGFzIHRoZSBzaW5rIGNhbiBjaG9vc2UgdG8gZGlzYWJs ZSB0aGUgc2NyYW1ibGluZyBpZiBpdCBkb2Vzbid0Cj4gPiAtICogZGV0ZWN0IGEgc2NyYW1ibGVk IGNsb2NrIHdpdGhpbiAxMDAgbXMuCj4gPiAtICovCj4gPiAtdm9pZCBpbnRlbF9oZG1pX2hhbmRs ZV9zaW5rX3NjcmFtYmxpbmcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPiAtCQkJ CSAgICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ID4gLQkJCQkgICAgICAg Ym9vbCBoaWdoX3RtZHNfY2xvY2tfcmF0aW8sCj4gPiAtCQkJCSAgICAgICBib29sIHNjcmFtYmxp bmcpCj4gPiArc3RhdGljIGludCBpbnRlbF9oZG1pX2hhbmRsZV9zaW5rX3NjcmFtYmxpbmcoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPiArCQkJCQkgICAgIHN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3IsCj4gPiArCQkJCQkgICAgIGJvb2wgaGlnaF90bWRzX2Nsb2NrX3Jh dGlvLAo+ID4gKwkJCQkJICAgICBib29sIHNjcmFtYmxpbmcpCj4gPiAgIHsKPiA+ICsJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7 Cj4gPiAgIAlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaSA9IGVuY190b19pbnRlbF9oZG1p KCZlbmNvZGVyLT5iYXNlKTsKPiA+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gY29ubmVjdG9yLT5kZXYtPmRldl9wcml2YXRlOwo+ID4gICAJc3RydWN0IGRybV9zY3JhbWJs aW5nICpzaW5rX3NjcmFtYmxpbmcgPQo+ID4gICAJCQkJJmNvbm5lY3Rvci0+ZGlzcGxheV9pbmZv LmhkbWkuc2NkYy5zY3JhbWJsaW5nOwo+ID4gLQlzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkcHRyID0g aW50ZWxfZ21idXNfZ2V0X2FkYXB0ZXIoZGV2X3ByaXYsCj4gPiAtCQkJCQkJCSAgIGludGVsX2hk bWktPmRkY19idXMpOwo+ID4gKwlzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIgPQo+ID4gKwkJ aW50ZWxfZ21idXNfZ2V0X2FkYXB0ZXIoZGV2X3ByaXYsIGludGVsX2hkbWktPmRkY19idXMpOwo+ ID4gICAJYm9vbCByZXQ7Cj4gPiAgIAo+ID4gICAJaWYgKCFzaW5rX3NjcmFtYmxpbmctPnN1cHBv cnRlZCkKPiA+IC0JCXJldHVybjsKPiA+ICsJCXJldHVybiAwOwo+ID4gICAKPiA+IC0JRFJNX0RF QlVHX0tNUygiU2V0dGluZyBzaW5rIHNjcmFtYmxpbmcgZm9yIGVuYzolcyBjb25uZWN0b3I6JXNc biIsCj4gPiAtCQkgICAgICBlbmNvZGVyLT5iYXNlLm5hbWUsIGNvbm5lY3Rvci0+bmFtZSk7Cj4g PiArCURSTV9ERUJVR19LTVMoIltDT05ORUNUT1I6JWQ6JXNdIHNjcmFtYmxpbmc9JXMsIFRNRFMg Yml0IGNsb2NrIHJhdGlvPTEvJWRYXG4iLAo+ID4gKwkJICAgICAgY29ubmVjdG9yLT5iYXNlLmlk LCBjb25uZWN0b3ItPm5hbWUsCj4gPiArCQkgICAgICB5ZXNubyhzY3JhbWJsaW5nKSwgaGlnaF90 bWRzX2Nsb2NrX3JhdGlvID8gNDAgOiAxMCk7Cj4gPiAgIAo+ID4gICAJLyogU2V0IFRNRFMgYml0 IGNsb2NrIHJhdGlvIHRvIDEvNDAgb3IgMS8xMCAqLwo+ID4gLQlyZXQgPSBkcm1fc2NkY19zZXRf aGlnaF90bWRzX2Nsb2NrX3JhdGlvKGFkcHRyLCBoaWdoX3RtZHNfY2xvY2tfcmF0aW8pOwo+ID4g LQlpZiAoIXJldCkgewo+ID4gLQkJRFJNX0VSUk9SKCJTZXQgVE1EUyByYXRpbyBmYWlsZWRcbiIp Owo+ID4gLQkJcmV0dXJuOwo+ID4gLQl9Cj4gPiArCXJldCA9IGRybV9zY2RjX3NldF9oaWdoX3Rt ZHNfY2xvY2tfcmF0aW8oYWRhcHRlciwKPiA+ICsJCQkJCQkgaGlnaF90bWRzX2Nsb2NrX3JhdGlv KTsKPiA+ICsJaWYgKHJldCkKPiA+ICsJCXJldHVybiByZXQ7Cj4gPiAgIAo+ID4gICAJLyogRW5h YmxlL2Rpc2FibGUgc2luayBzY3JhbWJsaW5nICovCj4gPiAtCXJldCA9IGRybV9zY2RjX3NldF9z Y3JhbWJsaW5nKGFkcHRyLCBzY3JhbWJsaW5nKTsKPiA+IC0JaWYgKCFyZXQpIHsKPiA+IC0JCURS TV9FUlJPUigiU2V0IHNpbmsgc2NyYW1ibGluZyBmYWlsZWRcbiIpOwo+ID4gLQkJcmV0dXJuOwo+ ID4gLQl9Cj4gPiArCXJldCA9IGRybV9zY2RjX3NldF9zY3JhbWJsaW5nKGFkYXB0ZXIsIHNjcmFt YmxpbmcpOwo+ID4gKwlpZiAocmV0KQo+ID4gKwkJcmV0dXJuIHJldDsKPiA+ICsKPiA+ICsJcmV0 dXJuIDA7Cj4gPiArfQo+ID4gICAKPiA+IC0JRFJNX0RFQlVHX0tNUygic2luayBzY3JhbWJsaW5n IGhhbmRsZWRcbiIpOwo+ID4gKy8qCj4gPiArICogaW50ZWxfaGRtaV9zaW5rX3NjcmFtYmxpbmdf ZW5hYmxlOiBjb25maWd1cmUgc2luayBzY3JhbWJsaW5nL1RNRFMgYml0IGNsb2NrIHJhdGlvCj4g PiArICogQGNydGNfc3RhdGU6IG5ldyBjcnRjIHN0YXRlCj4gPiArICogQGNvbm5fc3RhdGU6IG5l dyBjb25uZWN0b3Igc3RhdGUKPiA+ICsgKgo+ID4gKyAqIENvbmZpZ3VyZSBzY3JhbWJsaW5nIGFu ZCBUTURTIGJpdCBjbG9jayByYXRpbyBvbiBIRE1JIDIuMCBjYXBhYmxlIHNpbmtzLgo+ID4gKyAq IElmIHJlcXVpcmVkIGNsb2NrIHJhdGUgaXMgPiAzNDAgTWh6ICYmIHNjcmFtYmxpbmcgaXMgc3Vw cG9ydGVkIGJ5IHNpbmsKPiA+ICsgKiBpdCBlbmFibGVzIHNjcmFtYmxpbmcuIFRoaXMgc2hvdWxk IGJlIGNhbGxlZCBiZWZvcmUgZW5hYmxpbmcgdGhlIEhETUkKPiA+ICsgKiAyLjAgcG9ydCwgYXMg dGhlIHNpbmsgY2FuIGNob29zZSB0byBkaXNhYmxlIHRoZSBzY3JhbWJsaW5nIGlmIGl0IGRvZXNu J3QKPiA+ICsgKiBkZXRlY3QgYSBzY3JhbWJsZWQgY2xvY2sgd2l0aGluIDEwMCBtcy4KPiA+ICsg Ki8KPiA+ICt2b2lkIGludGVsX2hkbWlfc2lua19zY3JhbWJsaW5nX2VuYWJsZShzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+ICsJCQkJICAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ID4gKwkJCQkgICAgICAgY29uc3Qgc3RydWN0IGRybV9j b25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCj4gPiArewo+ID4gKwlzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yID0gY29ubl9zdGF0ZS0+Y29ubmVjdG9yOwo+ID4gKwlpbnQgcmV0Owo+ ID4gKwo+ID4gKwlyZXQgPSBpbnRlbF9oZG1pX2hhbmRsZV9zaW5rX3NjcmFtYmxpbmcoZW5jb2Rl ciwgY29ubmVjdG9yLAo+ID4gKwkJCQkJCWNydGNfc3RhdGUtPmhkbWlfaGlnaF90bWRzX2Nsb2Nr X3JhdGlvLAo+ID4gKwkJCQkJCWNydGNfc3RhdGUtPmhkbWlfc2NyYW1ibGluZyk7Cj4gPiArCWlm IChyZXQpCj4gPiArCQlEUk1fRVJST1IoIltDT05ORUNUT1I6JWQ6JXNdIEZhaWxlZCB0byBjb25m aWd1cmUgc2luayBzY3JhbWJsaW5nL1RNRFMgYml0IGNsb2NrIHJhdGlvXG4iLAo+ID4gKwkJCSAg Y29ubmVjdG9yLT5iYXNlLmlkLCBjb25uZWN0b3ItPm5hbWUpOwo+ID4gK30KPiA+ICsKPiA+ICsv Kgo+ID4gKyAqIGludGVsX2hkbWlfc2lua19zY3JhbWJsaW5nX2Rpc2FibGU6IGhhbmRsZSBzaW5r IHNjcmFtYmxpbmcvY2xvY2sgcmF0aW8gc2V0dXAgZHVyaW5nIGRpc2FibGUKPiA+ICsgKiBAb2xk X2NydGNfc3RhdGU6IG9sZCBjcnRjIHN0YXRlCj4gPiArICogQG9sZF9jb25uX3N0YXRlOiBvbGQg Y29ubmVjdG9yIHN0YXRlCj4gPiArICoKPiA+ICsgKiBSZXNldCBzY3JhbWJsaW5nIGFuZCBUTURT IGJpdCBjbG9jayByYXRpbyBvbiBIRE1JIDIuMCBjYXBhYmxlIHNpbmtzLgo+ID4gKyAqIFdlIGRv IHRoaXMgdG8gbWFrZSBzdXJlIHRoZSBzaW5rIHJldHVybnMgdG8gdGhlIGRlZmF1bHQgc2V0dGlu Z3Mgb25jZQo+ID4gKyAqIHdlJ3JlIGRvbmUgdXNpbmcgaXQuCj4gPiArICovCj4gPiArdm9pZCBp bnRlbF9oZG1pX3Npbmtfc2NyYW1ibGluZ19kaXNhYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyLAo+ID4gKwkJCQkJY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRj X3N0YXRlLAo+ID4gKwkJCQkJY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKm9sZF9j b25uX3N0YXRlKQo+ID4gK3sKPiA+ICsJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciA9 IG9sZF9jb25uX3N0YXRlLT5jb25uZWN0b3I7Cj4gPiArCWludCByZXQ7Cj4gPiArCj4gPiArCXJl dCA9IGludGVsX2hkbWlfaGFuZGxlX3Npbmtfc2NyYW1ibGluZyhlbmNvZGVyLCBjb25uZWN0b3Is Cj4gPiArCQkJCQkJZmFsc2UsIGZhbHNlKTsKPiA+ICsJaWYgKHJldCkKPiA+ICsJCURSTV9ERUJV R19LTVMoIltDT05ORUNUT1I6JWQ6JXNdIEZhaWxlZCB0byByZXNldCBzaW5rIHNjcmFtYmxpbmcv VE1EUyBiaXQgY2xvY2sgcmF0aW9cbiIsCj4gPiArCQkJICAgICAgY29ubmVjdG9yLT5iYXNlLmlk LCBjb25uZWN0b3ItPm5hbWUpOwo+ID4gICB9Cj4gSSB0aGluayB3ZSBjYW4gc3RpbGwga2VlcCBv bmx5IGludGVsX2hkbWlfaGFuZGxlX3Npbmtfc2NyYW1ibGluZygpIAo+IGZ1bmN0aW9uIGluc3Rl YWQgb2YgaGF2aW5nIHNlcGFyYXRlIGRpc2FibGUoKSBhbmQgZW5hYmxlKCkgZnVuY3Rpb25zLCBh cyAKPiB0aGUgb25seSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIHR3byBpcyBvbmUgaXMgcHJpbnRp bmcgZXJyb3IsIG90aGVyIGlzIAo+IGttcygpLiBIb3cgYWJvdXQKPiAtIGtlZXAgb25seSBpbnRl bF9oZG1pX2hhbmRsZV9zaW5rX3NjcmFtYmxpbmcsIGJ1dCByZW1vdmUgYW55IGVycm9yIAo+IG1l c3NnZXMsIGFuZCByZXR1cm4gcmV0IGFzIHlvdSBoYXZlIGRvbmUgaW4gdGhpcyBwYXRjaC4KPiAt IHRyYW5zZmVyIHRoZSBlcnJvciBtZXNzYWdlIGludG8gZGRpX2VuYWJsZV9oZG1pKGVycm9yIGhl cmUpIGFuZCAKPiBkZGlfZGlzYWJsZV9oZG1pKGttcyBoZXJlKQoKSSBzdXBwb3NlIHRoYXQnZCB3 b3JrIGZpbmUgc2luY2Ugd2UgZG9uJ3QgaGF2ZSBvdGhlciB1c2VycyBmb3IgdGhpcy4KCi0tIApW aWxsZSBTeXJqw6Rsw6QKSW50ZWwgT1RDCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeAo=