From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paulo Zanoni Subject: Re: [PATCH 1/8] drm/i915/icl: Check for fused-off VDBOX and VEBOX instances Date: Tue, 27 Mar 2018 15:42:27 -0700 Message-ID: <1522190547.2643.0.camel@intel.com> References: <20180316121456.11577-1-mika.kuoppala@linux.intel.com> <771b0d51-c765-4e39-d604-691bb41d6820@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5D46F6E6A8 for ; Tue, 27 Mar 2018 22:42:28 +0000 (UTC) In-Reply-To: <771b0d51-c765-4e39-d604-691bb41d6820@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Lionel Landwerlin , Mika Kuoppala , intel-gfx@lists.freedesktop.org Cc: Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org RW0gU2V4LCAyMDE4LTAzLTIzIMOgcyAxNjoyOCArMDAwMCwgTGlvbmVsIExhbmR3ZXJsaW4gZXNj cmV2ZXU6Cj4gSGkgTWlrYSwKPiAKPiBFdmVuIGFmdGVyIHRoaXMgc2VyaWVzLCB3ZSdyZSBzdGls bCBtaXNzaW5nIHN1cHBvcnQgZm9yIHJlYWRpbmcgdGhlIAo+IHRpbWVzdGFtcCBmcmVxdWVuY3kg KHJlYWRfdGltZXN0YW1wX2ZyZXF1ZW5jeSBpbgo+IGludGVsX2RldmljZV9pbmZvLmMpLgo+IEkn bSBwcmV0dHkgc3VyZSBzb21lb25lIHdyb3RlIGEgcGF0Y2ggZm9yIGl0LiBEbyB5b3UgYW55IGlk ZWE/Cj4gCj4gSWYgbm90LCBJIGNhbiBzZW5kIHNvbWV0aGluZy4KClllcywgd2UgaGF2ZSB0aGVt LiBJJ2xsIHNlZSBpZiBJIG1pc3NlZCB0aGVtIHdoaWxlIHVwc3RyZWFtaW5nIGFuZApyZXNlbmQg aW4gdGhhdCBjYXNlLgoKPiAKPiBUaGFua3MsCj4gCj4gLQo+IExpb25lbAo+IAo+IE9uIDE2LzAz LzE4IDEyOjE0LCBNaWthIEt1b3BwYWxhIHdyb3RlOgo+ID4gRnJvbTogT3NjYXIgTWF0ZW8gPG9z Y2FyLm1hdGVvQGludGVsLmNvbT4KPiA+IAo+ID4gSW4gR2VuMTEsIHRoZSBWaWRlbyBEZWNvZGUg ZW5naW5lcyAoYWthIFZEQk9YLCBha2EgVkNTLCBha2EgQlNEKQo+ID4gYW5kIHRoZQo+ID4gVmlk ZW8gRW5oYW5jZW1lbnQgZW5naW5lcyAoYWthIFZFQk9YLCBha2EgVkVDUykgY291bGQgYmUgZnVz ZWQgb2ZmLgo+ID4gQWxzbywKPiA+IGVhY2ggVkRCT1ggYW5kIFZFQk9YIGhhcyBpdHMgb3duIHBv d2VyIHdlbGwsIHdoaWNoIG9ubHkgZXhpc3QgaWYKPiA+IHRoZSByZWxhdGVkCj4gPiBlbmdpbmUg ZXhpc3RzIGluIHRoZSBIVy4KPiA+IAo+ID4gVW5mb3J0dW5hdGVseSwgd2UgaGF2ZSBhIENhdGNo LTIyIHNpdHVhdGlvbiBnb2luZyBvbjogd2UgbmVlZCB0aGUKPiA+IGJsaXR0ZXIKPiA+IGZvcmNl d2FrZSB0byByZWFkIHRoZSByZWdpc3RlciB3aXRoIHRoZSBmdXNlIGluZm8sIGJ1dCB3ZSBjYW5u b3QKPiA+IGluaXRpYWxpemUKPiA+IHRoZSBmb3JjZXdha2UgZG9tYWlucyB3aXRob3V0IGtub3dp biBhYm91dCB0aGUgZW5naW5lcyBwcmVzZW50IGluCj4gPiB0aGUgSFcuCj4gPiBXZSB3b3JrYXJv dW5kIHRoaXMgcHJvYmxlbSBieSBhbGxvd2luZyB0aGUgaW5pdGlhbGl6YXRpb24gb2YgYWxsCj4g PiBmb3JjZXdha2UKPiA+IGRvbWFpbnMgYW5kIHRoZW4gcHJ1bmluZyB0aGUgZnVzZWQgb2ZmIG9u ZXMsIGFzIHBlciB0aGUgZnVzZQo+ID4gaW5mb3JtYXRpb24uCj4gPiAKPiA+IEJzcGVjOiAyMDY4 MAo+ID4gCj4gPiB2MjogV2Ugd2VyZSBzaGlmdGluZyBpbmNvcnJlY3RseSBmb3IgdmVib3ggZGlz YWJsZSAoVmluYXkpCj4gPiAKPiA+IHYzOiBBc3NlcnQgbW1pbyBpcyByZWFkeSBhbmQgd2FybiBp ZiB3ZSBoYXZlIGF0dGVtcHRlZCB0bwo+ID4gaW5pdGlhbGl6ZQo+ID4gICAgICBmb3JjZXdha2Ug Zm9yIGZ1c2VkLW9mZiBlbmdpbmVzIChQYXVsbykKPiA+IAo+ID4gdjQ6Cj4gPiAgICAtIFVzZSBJ TlRFTF9HRU4gaW4gbmV3IGNvZGUgKFR2cnRrbykKPiA+ICAgIC0gU2hvcnRlciBsb2NhbCB2YXJp YWJsZSAoVHZydGtvLCBNaWNoYWwpCj4gPiAgICAtIEtlZXAgImlmICghLi4uKSBjb250aW51ZSIg c3R5bGUgKFR2cnRrbykKPiA+ICAgIC0gTm8gdW5uZWNlc3NhcnkgQlVHX09OIChUdnJ0a28pCj4g PiAgICAtIFdBUk5fT04gYW5kIGNsZWFudXAgaWYgd3JvbmcgbWFzayAoVHZydGtvLCBNaWNoYWwp Cj4gPiAgICAtIFVzZSBJOTE1X1JFQURfRlcgKE1pY2hhbCkKPiA+ICAgIC0gVXNlIEk5MTVfTUFY X1ZDUy9WRUNTIG1hY3JvcyAoTWljaGFsKQo+ID4gCj4gPiB2NTogUmViYXNlZCBieSBSb2RyaWdv IGZpeGluZyBjb25mbGljdHMgb24gdG9wIG9mOgo+ID4gICAgICBjb21taXQgMzNkZWYxZmY3YjAg KCJkcm0vaTkxNTogU2ltcGxpZnkgaW50ZWxfZW5naW5lc19pbml0IikKPiA+IAo+ID4gdjY6IEZp eCB2NS4gUmVtb3ZlIGluZm8tPm51bV9yaW5ncy4gKGJ5IE9zY2FyKQo+ID4gCj4gPiB2NzogUmVi YXNlIChSb2RyaWdvKS4KPiA+IAo+ID4gdjg6Cj4gPiAgICAtCj4gPiBzL2ludGVsX2RldmljZV9p bmZvX2Z1c2VkX29mZl9lbmdpbmVzL2ludGVsX2RldmljZV9pbmZvX2luaXRfbW1pbwo+ID4gKENo cmlzKQo+ID4gICAgLSBNYWtlIHZkYm94X2Rpc2FibGUgJiB2ZWJveF9kaXNhYmxlIGxvY2FsIHZh cmlhYmxlcyAoQ2hyaXMpCj4gPiAKPiA+IHY5Ogo+ID4gICAgLSBNb3ZlIGZ1bmN0aW9uIGRlY2xh cmF0aW9uIHRvIGludGVsX2RldmljZV9pbmZvLmggKE1pY2hhbCkKPiA+ICAgIC0gTWlzc2luZyBp bmRlbnQgaW4gYml0IGZpZWxkcyBkZWZpbml0aW9ucyAoTWljaGFsKQo+ID4gICAgLSBXaGVuIFJD NiBpcyBlbmFibGVkIGJ5IEJJT1MsIHRoZSBmdXNlIHJlZ2lzdGVyIGNhbm5vdCBiZSByZWFkCj4g PiB1bnRpbAo+ID4gICAgICB0aGUgYmxpdHRlciBwb3dlcndlbGwgaXMgYXdha2UuIFNodWZmbGUg d2hlcmUgdGhlIGZ1c2UgaXMKPiA+IHJlYWQsIHBydW5lCj4gPiAgICAgIHRoZSBmb3JjZXdha2Ug ZG9tYWlucyBhZnRlciB0aGUgZmFjdCBhbmQgY2hhbmdlIHRoZSBjb21taXQKPiA+IG1lc3NhZ2UK PiA+ICAgICAgYWNjb3JkaW5nbHkgKFZpbmF5LCBTYWdhciwgQ2hyaXMpLgo+ID4gCj4gPiB2MTA6 Cj4gPiAgICAtIEltcHJvdmVkIGNvbW1pdCBtZXNzYWdlIChTYWdhcikKPiA+ICAgIC0gTmV3IGxp bmUgaW4gaGVhZGVyIGZpbGUgKFNhZ2FyKQo+ID4gICAgLSBTcGVjaWZ5IHRoZSBtZXNzYWdlIGlu IGZ3X2RvbWFpbl9yZXNldCBhcHBsaWVzIHRvIElDTCsgKFNhZ2FyKQo+ID4gCj4gPiBDYzogUGF1 bG8gWmFub25pIDxwYXVsby5yLnphbm9uaUBpbnRlbC5jb20+Cj4gPiBDYzogVmluYXkgQmVsZ2F1 bWthciA8dmluYXkuYmVsZ2F1bWthckBpbnRlbC5jb20+Cj4gPiBDYzogVHZydGtvIFVyc3VsaW4g PHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KPiA+IENjOiBNaWNoYWwgV2FqZGVjemtvIDxtaWNo YWwud2FqZGVjemtvQGludGVsLmNvbT4KPiA+IENjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlz LXdpbHNvbi5jby51az4KPiA+IENjOiBEYW5pZWxlIENlcmFvbG8gU3B1cmlvIDxkYW5pZWxlLmNl cmFvbG9zcHVyaW9AaW50ZWwuY29tPgo+ID4gQ2M6IFNhZ2FyIEFydW4gS2FtYmxlIDxzYWdhci5h LmthbWJsZUBpbnRlbC5jb20+Cj4gPiBTaWduZWQtb2ZmLWJ5OiBSb2RyaWdvIFZpdmkgPHJvZHJp Z28udml2aUBpbnRlbC5jb20+Cj4gPiBTaWduZWQtb2ZmLWJ5OiBPc2NhciBNYXRlbyA8b3NjYXIu bWF0ZW9AaW50ZWwuY29tPgo+ID4gLS0tCj4gPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmMgICAgICAgICAgfCAgNCArKysKPiA+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZWcuaCAgICAgICAgICB8ICA1ICsrKwo+ID4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k ZXZpY2VfaW5mby5jIHwgNDcKPiA+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4gICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5mby5oIHwgIDIgKysKPiA+ICAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMgICAgICB8IDU2Cj4gPiArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKwo+ID4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91 bmNvcmUuaCAgICAgIHwgIDEgKwo+ID4gICA2IGZpbGVzIGNoYW5nZWQsIDExNSBpbnNlcnRpb25z KCspCj4gPiAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5j Cj4gPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKPiA+IGluZGV4IDNkZjUxOTM0 ODdmMy4uODNkZjhlMjFjZWMwIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwo+ID4g QEAgLTEwMzMsNiArMTAzMywxMCBAQCBzdGF0aWMgaW50IGk5MTVfZHJpdmVyX2luaXRfbW1pbyhz dHJ1Y3QKPiA+IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ID4gICAKPiA+ICAgCWludGVs X3VuY29yZV9pbml0KGRldl9wcml2KTsKPiA+ICAgCj4gPiArCWludGVsX2RldmljZV9pbmZvX2lu aXRfbW1pbyhkZXZfcHJpdik7Cj4gPiArCj4gPiArCWludGVsX3VuY29yZV9wcnVuZShkZXZfcHJp dik7Cj4gPiArCj4gPiAgIAlpbnRlbF91Y19pbml0X21taW8oZGV2X3ByaXYpOwo+ID4gICAKPiA+ ICAgCXJldCA9IGludGVsX2VuZ2luZXNfaW5pdF9tbWlvKGRldl9wcml2KTsKPiA+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gPiBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcmVnLmgKPiA+IGluZGV4IGNmN2M4MzdkNmEwOS4uOTgyZTcyZTczZTk5IDEw MDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ID4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ID4gQEAgLTI1NDUsNiArMjU0NSwxMSBA QCBlbnVtIGk5MTVfcG93ZXJfd2VsbF9pZCB7Cj4gPiAgICNkZWZpbmUgR0VOMTBfRVVfRElTQUJM RTMJCV9NTUlPKDB4OTE0MCkKPiA+ICAgI2RlZmluZSAgIEdFTjEwX0VVX0RJU19TU19NQVNLCQkw eGZmCj4gPiAgIAo+ID4gKyNkZWZpbmUgR0VOMTFfR1RfVkVCT1hfVkRCT1hfRElTQUJMRQlfTU1J TygweDkxNDApCj4gPiArI2RlZmluZSAgIEdFTjExX0dUX1ZEQk9YX0RJU0FCTEVfTUFTSwkweGZm Cj4gPiArI2RlZmluZSAgIEdFTjExX0dUX1ZFQk9YX0RJU0FCTEVfU0hJRlQJMTYKPiA+ICsjZGVm aW5lICAgR0VOMTFfR1RfVkVCT1hfRElTQUJMRV9NQVNLCSgweGZmIDw8Cj4gPiBHRU4xMV9HVF9W RUJPWF9ESVNBQkxFX1NISUZUKQo+ID4gKwo+ID4gICAjZGVmaW5lIEdFTjZfQlNEX1NMRUVQX1BT TUlfQ09OVFJPTAlfTU1JTygweDEyMDUwKQo+ID4gICAjZGVmaW5lICAgR0VONl9CU0RfU0xFRVBf TVNHX0RJU0FCTEUJKDEgPDwgMCkKPiA+ICAgI2RlZmluZSAgIEdFTjZfQlNEX1NMRUVQX0ZMVVNI X0RJU0FCTEUJKDEgPDwgMikKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kZXZpY2VfaW5mby5jCj4gPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rldmlj ZV9pbmZvLmMKPiA+IGluZGV4IDNkZDM1MGY3YjhlNi4uNGJhYmZjNmVlNDViIDEwMDY0NAo+ID4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uYwo+ID4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uYwo+ID4gQEAgLTc4MCwzICs3 ODAsNTAgQEAgdm9pZCBpbnRlbF9kcml2ZXJfY2Fwc19wcmludChjb25zdCBzdHJ1Y3QKPiA+IGlu dGVsX2RyaXZlcl9jYXBzICpjYXBzLAo+ID4gICB7Cj4gPiAgIAlkcm1fcHJpbnRmKHAsICJzY2hl ZHVsZXI6ICV4XG4iLCBjYXBzLT5zY2hlZHVsZXIpOwo+ID4gICB9Cj4gPiArCj4gPiArLyoKPiA+ ICsgKiBEZXRlcm1pbmUgd2hpY2ggZW5naW5lcyBhcmUgZnVzZWQgb2ZmIGluIG91ciBwYXJ0aWN1 bGFyCj4gPiBoYXJkd2FyZS4gU2luY2UgdGhlCj4gPiArICogZnVzZSByZWdpc3RlciBpcyBpbiB0 aGUgYmxpdHRlciBwb3dlcndlbGwsIHdlIG5lZWQgZm9yY2V3YWtlIHRvCj4gPiBiZSByZWFkeSBh dAo+ID4gKyAqIHRoaXMgcG9pbnQgKGJ1dCBsYXRlciB3ZSBuZWVkIHRvIHBydW5lIHRoZSBmb3Jj ZXdha2UgZG9tYWlucwo+ID4gZm9yIGVuZ2luZXMgdGhhdAo+ID4gKyAqIGFyZSBpbmRlZWQgZnVz ZWQgb2ZmKS4KPiA+ICsgKi8KPiA+ICt2b2lkIGludGVsX2RldmljZV9pbmZvX2luaXRfbW1pbyhz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZQo+ID4gKmRldl9wcml2KQo+ID4gK3sKPiA+ICsJc3RydWN0 IGludGVsX2RldmljZV9pbmZvICppbmZvID0KPiA+IG1rd3JpdGVfZGV2aWNlX2luZm8oZGV2X3By aXYpOwo+ID4gKwl1OCB2ZGJveF9kaXNhYmxlLCB2ZWJveF9kaXNhYmxlOwo+ID4gKwl1MzIgbWVk aWFfZnVzZTsKPiA+ICsJaW50IGk7Cj4gPiArCj4gPiArCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYp IDwgMTEpCj4gPiArCQlyZXR1cm47Cj4gPiArCj4gPiArCW1lZGlhX2Z1c2UgPSBJOTE1X1JFQUQo R0VOMTFfR1RfVkVCT1hfVkRCT1hfRElTQUJMRSk7Cj4gPiArCj4gPiArCXZkYm94X2Rpc2FibGUg PSBtZWRpYV9mdXNlICYgR0VOMTFfR1RfVkRCT1hfRElTQUJMRV9NQVNLOwo+ID4gKwl2ZWJveF9k aXNhYmxlID0gKG1lZGlhX2Z1c2UgJiBHRU4xMV9HVF9WRUJPWF9ESVNBQkxFX01BU0spCj4gPiA+ Pgo+ID4gKwkJCUdFTjExX0dUX1ZFQk9YX0RJU0FCTEVfU0hJRlQ7Cj4gPiArCj4gPiArCURSTV9E RUJVR19EUklWRVIoInZkYm94IGRpc2FibGU6ICUwNHhcbiIsIHZkYm94X2Rpc2FibGUpOwo+ID4g Kwlmb3IgKGkgPSAwOyBpIDwgSTkxNV9NQVhfVkNTOyBpKyspIHsKPiA+ICsJCWlmICghSEFTX0VO R0lORShkZXZfcHJpdiwgX1ZDUyhpKSkpCj4gPiArCQkJY29udGludWU7Cj4gPiArCj4gPiArCQlp ZiAoIShCSVQoaSkgJiB2ZGJveF9kaXNhYmxlKSkKPiA+ICsJCQljb250aW51ZTsKPiA+ICsKPiA+ ICsJCWluZm8tPnJpbmdfbWFzayAmPSB+RU5HSU5FX01BU0soX1ZDUyhpKSk7Cj4gPiArCQlEUk1f REVCVUdfRFJJVkVSKCJ2Y3MldSBmdXNlZCBvZmZcbiIsIGkpOwo+ID4gKwl9Cj4gPiArCj4gPiAr CURSTV9ERUJVR19EUklWRVIoInZlYm94IGRpc2FibGU6ICUwNHhcbiIsIHZlYm94X2Rpc2FibGUp Owo+ID4gKwlmb3IgKGkgPSAwOyBpIDwgSTkxNV9NQVhfVkVDUzsgaSsrKSB7Cj4gPiArCQlpZiAo IUhBU19FTkdJTkUoZGV2X3ByaXYsIF9WRUNTKGkpKSkKPiA+ICsJCQljb250aW51ZTsKPiA+ICsK PiA+ICsJCWlmICghKEJJVChpKSAmIHZlYm94X2Rpc2FibGUpKQo+ID4gKwkJCWNvbnRpbnVlOwo+ ID4gKwo+ID4gKwkJaW5mby0+cmluZ19tYXNrICY9IH5FTkdJTkVfTUFTSyhfVkVDUyhpKSk7Cj4g PiArCQlEUk1fREVCVUdfRFJJVkVSKCJ2ZWNzJXUgZnVzZWQgb2ZmXG4iLCBpKTsKPiA+ICsJfQo+ ID4gK30KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2Vf aW5mby5oCj4gPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmgKPiA+ IGluZGV4IDA4MzU3NTJjOGIyMi4uMGNiYjkyMjIzMDEzIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uaAo+ID4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uaAo+ID4gQEAgLTI0Nyw2ICsyNDcsOCBAQCB2b2lk IGludGVsX2RldmljZV9pbmZvX2R1bXBfcnVudGltZShjb25zdAo+ID4gc3RydWN0IGludGVsX2Rl dmljZV9pbmZvICppbmZvLAo+ID4gICB2b2lkIGludGVsX2RldmljZV9pbmZvX2R1bXBfdG9wb2xv Z3koY29uc3Qgc3RydWN0IHNzZXVfZGV2X2luZm8KPiA+ICpzc2V1LAo+ID4gICAJCQkJICAgICBz dHJ1Y3QgZHJtX3ByaW50ZXIgKnApOwo+ID4gICAKPiA+ICt2b2lkIGludGVsX2RldmljZV9pbmZv X2luaXRfbW1pbyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZQo+ID4gKmRldl9wcml2KTsKPiA+ICsK PiA+ICAgdm9pZCBpbnRlbF9kcml2ZXJfY2Fwc19wcmludChjb25zdCBzdHJ1Y3QgaW50ZWxfZHJp dmVyX2NhcHMKPiA+ICpjYXBzLAo+ID4gICAJCQkgICAgIHN0cnVjdCBkcm1fcHJpbnRlciAqcCk7 Cj4gPiAgIAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29y ZS5jCj4gPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCj4gPiBpbmRleCA0 ZGY3YzJlZjg1NzYuLjRjNjE2ZDA3NGE5NyAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3VuY29yZS5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF91bmNvcmUuYwo+ID4gQEAgLTYyLDYgKzYyLDExIEBAIHN0YXRpYyBpbmxpbmUgdm9pZAo+ID4g ICBmd19kb21haW5fcmVzZXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCj4gPiAgIAkJ Y29uc3Qgc3RydWN0IGludGVsX3VuY29yZV9mb3JjZXdha2VfZG9tYWluICpkKQo+ID4gICB7Cj4g PiArCS8qCj4gPiArCSAqIFdlIGRvbid0IHJlYWxseSBrbm93IGlmIHRoZSBwb3dlcndlbGwgZm9y IHRoZSBmb3JjZXdha2UKPiA+IGRvbWFpbiB3ZSBhcmUKPiA+ICsJICogdHJ5aW5nIHRvIHJlc2V0 IGhlcmUgZG9lcyBleGlzdCBhdCB0aGlzIHBvaW50IChlbmdpbmVzCj4gPiBjb3VsZCBiZSBmdXNl ZAo+ID4gKwkgKiBvZmYgaW4gSUNMKyksIHNvIG5vIHdhaXRpbmcgZm9yIGFja3MKPiA+ICsJICov Cj4gPiAgIAlfX3Jhd19pOTE1X3dyaXRlMzIoaTkxNSwgZC0+cmVnX3NldCwgaTkxNS0KPiA+ID51 bmNvcmUuZndfcmVzZXQpOwo+ID4gICB9Cj4gPiAgIAo+ID4gQEAgLTEzNTMsNiArMTM1OCwyMyBA QCBzdGF0aWMgdm9pZCBmd19kb21haW5faW5pdChzdHJ1Y3QKPiA+IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAo+ID4gICAJZndfZG9tYWluX3Jlc2V0KGRldl9wcml2LCBkKTsKPiA+ICAgfQo+ ID4gICAKPiA+ICtzdGF0aWMgdm9pZCBmd19kb21haW5fZmluaShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsCj4gPiArCQkJICAgZW51bSBmb3JjZXdha2VfZG9tYWluX2lkIGRvbWFp bl9pZCkKPiA+ICt7Cj4gPiArCXN0cnVjdCBpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2RvbWFpbiAq ZDsKPiA+ICsKPiA+ICsJaWYgKFdBUk5fT04oZG9tYWluX2lkID49IEZXX0RPTUFJTl9JRF9DT1VO VCkpCj4gPiArCQlyZXR1cm47Cj4gPiArCj4gPiArCWQgPSAmZGV2X3ByaXYtPnVuY29yZS5md19k b21haW5bZG9tYWluX2lkXTsKPiA+ICsKPiA+ICsJV0FSTl9PTihkLT53YWtlX2NvdW50KTsKPiA+ ICsJV0FSTl9PTihocnRpbWVyX2NhbmNlbCgmZC0+dGltZXIpKTsKPiA+ICsJbWVtc2V0KGQsIDAs IHNpemVvZigqZCkpOwo+ID4gKwo+ID4gKwlkZXZfcHJpdi0+dW5jb3JlLmZ3X2RvbWFpbnMgJj0g fkJJVChkb21haW5faWQpOwo+ID4gK30KPiA+ICsKPiA+ICAgc3RhdGljIHZvaWQgaW50ZWxfdW5j b3JlX2Z3X2RvbWFpbnNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZQo+ID4gKmRldl9wcml2 KQo+ID4gICB7Cj4gPiAgIAlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA8PSA1IHx8Cj4gPiBpbnRl bF92Z3B1X2FjdGl2ZShkZXZfcHJpdikpCj4gPiBAQCAtMTU2NSw2ICsxNTg3LDQwIEBAIHZvaWQg aW50ZWxfdW5jb3JlX2luaXQoc3RydWN0Cj4gPiBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikK PiA+ICAgCQkmZGV2X3ByaXYtPnVuY29yZS5wbWljX2J1c19hY2Nlc3NfbmIpOwo+ID4gICB9Cj4g PiAgIAo+ID4gKy8qCj4gPiArICogV2UgbWlnaHQgaGF2ZSBkZXRlY3RlZCB0aGF0IHNvbWUgZW5n aW5lcyBhcmUgZnVzZWQgb2ZmIGFmdGVyIHdlCj4gPiBpbml0aWFsaXplZAo+ID4gKyAqIHRoZSBm b3JjZXdha2UgZG9tYWlucy4gUHJ1bmUgdGhlbSwgdG8gbWFrZSBzdXJlIHRoZXkgb25seQo+ID4g cmVmZXJlbmNlIGV4aXN0aW5nCj4gPiArICogZW5naW5lcy4KPiA+ICsgKi8KPiA+ICt2b2lkIGlu dGVsX3VuY29yZV9wcnVuZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gPiAr ewo+ID4gKwlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMSkgewo+ID4gKwkJZW51bSBmb3Jj ZXdha2VfZG9tYWlucyBmd19kb21haW5zID0gZGV2X3ByaXYtCj4gPiA+dW5jb3JlLmZ3X2RvbWFp bnM7Cj4gPiArCQllbnVtIGZvcmNld2FrZV9kb21haW5faWQgZG9tYWluX2lkOwo+ID4gKwkJaW50 IGk7Cj4gPiArCj4gPiArCQlmb3IgKGkgPSAwOyBpIDwgSTkxNV9NQVhfVkNTOyBpKyspIHsKPiA+ ICsJCQlkb21haW5faWQgPSBGV19ET01BSU5fSURfTUVESUFfVkRCT1gwICsgaTsKPiA+ICsKPiA+ ICsJCQlpZiAoSEFTX0VOR0lORShkZXZfcHJpdiwgX1ZDUyhpKSkpCj4gPiArCQkJCWNvbnRpbnVl Owo+ID4gKwo+ID4gKwkJCWlmIChmd19kb21haW5zICYgQklUKGRvbWFpbl9pZCkpCj4gPiArCQkJ CWZ3X2RvbWFpbl9maW5pKGRldl9wcml2LAo+ID4gZG9tYWluX2lkKTsKPiA+ICsJCX0KPiA+ICsK PiA+ICsJCWZvciAoaSA9IDA7IGkgPCBJOTE1X01BWF9WRUNTOyBpKyspIHsKPiA+ICsJCQlkb21h aW5faWQgPSBGV19ET01BSU5fSURfTUVESUFfVkVCT1gwICsgaTsKPiA+ICsKPiA+ICsJCQlpZiAo SEFTX0VOR0lORShkZXZfcHJpdiwgX1ZFQ1MoaSkpKQo+ID4gKwkJCQljb250aW51ZTsKPiA+ICsK PiA+ICsJCQlpZiAoZndfZG9tYWlucyAmIEJJVChkb21haW5faWQpKQo+ID4gKwkJCQlmd19kb21h aW5fZmluaShkZXZfcHJpdiwKPiA+IGRvbWFpbl9pZCk7Cj4gPiArCQl9Cj4gPiArCX0KPiA+ICt9 Cj4gPiArCj4gPiAgIHZvaWQgaW50ZWxfdW5jb3JlX2Zpbmkoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQo+ID4gICB7Cj4gPiAgIAkvKiBQYXJhbm9pYTogbWFrZSBzdXJlIHdlIGhh dmUgZGlzYWJsZWQgZXZlcnl0aGluZyBiZWZvcmUKPiA+IHdlIGV4aXQuICovCj4gPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmgKPiA+IGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmgKPiA+IGluZGV4IGRmZGY0NDRlNGJjYy4uNDc0Nzhk NjA5NjMwIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3Jl LmgKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5oCj4gPiBAQCAt MTQwLDYgKzE0MCw3IEBAIHN0cnVjdCBpbnRlbF91bmNvcmUgewo+ID4gICAKPiA+ICAgdm9pZCBp bnRlbF91bmNvcmVfc2FuaXRpemUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsK PiA+ICAgdm9pZCBpbnRlbF91bmNvcmVfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpOwo+ID4gK3ZvaWQgaW50ZWxfdW5jb3JlX3BydW5lKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdik7Cj4gPiAgIGJvb2wgaW50ZWxfdW5jb3JlX3VuY2xhaW1lZF9tbWlvKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlCj4gPiAqZGV2X3ByaXYpOwo+ID4gICBib29sIGludGVsX3Vu Y29yZV9hcm1fdW5jbGFpbWVkX21taW9fZGV0ZWN0aW9uKHN0cnVjdAo+ID4gZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpOwo+ID4gICB2b2lkIGludGVsX3VuY29yZV9maW5pKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4gCj4gCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=