From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sagar Arun Kamble Subject: Re: [PATCH v9] drm/i915/icl: Check for fused-off VDBOX and VEBOX instances Date: Thu, 22 Feb 2018 11:47:26 +0530 Message-ID: <36515b7e-cac7-a2eb-b48e-49c7ff2e2128@intel.com> References: <062784b1-5a93-880a-358d-0aae4bdd0c69@intel.com> <1519256134-653-1-git-send-email-oscar.mateo@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 26EB96EBE7 for ; Thu, 22 Feb 2018 06:17:29 +0000 (UTC) In-Reply-To: <1519256134-653-1-git-send-email-oscar.mateo@intel.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Oscar Mateo , intel-gfx@lists.freedesktop.org Cc: Paulo Zanoni , Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org TG9va3MgZ29vZCB0byBtZS4gRmV3IGNvc21ldGljIGNoYW5nZXMgc3VnZ2VzdGVkIGJlbG93LiBX aXRoIHRob3NlIAphZGRyZXNzZWQ6ClJldmlld2VkLWJ5OiBTYWdhciBBcnVuIEthbWJsZSA8c2Fn YXIuYS5rYW1ibGVAaW50ZWwuY29tPgoKT24gMi8yMi8yMDE4IDU6MDUgQU0sIE9zY2FyIE1hdGVv IHdyb3RlOgo+IEluIEdlbjExLCB0aGUgVmlkZW8gRGVjb2RlIGVuZ2luZXMgKGFrYSBWREJPWCwg YWthIFZDUywgYWthIEJTRCkgYW5kIHRoZQo+IFZpZGVvIEVuaGFuY2VtZW50IGVuZ2luZXMgKGFr YSBWRUJPWCwgYWthIFZFQ1MpIGNvdWxkIGJlIGZ1c2VkIG9mZi4gQWxzbywKPiBlYWNoIFZEQk9Y IGFuZCBWRUJPWCBoYXMgaXRzIG93biBwb3dlciB3ZWxsLCB3aGljaCBvbmx5IGV4aXN0IGlmIHRo ZSByZWxhdGVkCj4gZW5naW5lIGV4aXN0cyBpbiB0aGUgSFcuCj4KPiBVbmZvcnR1bmF0ZWx5LCB3 ZSBoYXZlIGEgQ2F0Y2gtMjIgc2l0dWF0aW9uIGdvaW5nIG9uOiB3ZSBuZWVkIHRoZSBibGl0dGVy Cj4gZm9yY2V3YWtlIHRvIHJlYWQgdGhlIHJlZ2lzdGVyIHdpdGggdGhlIGZ1c2UgaW5mbywgYnV0 IHdlIGNhbm5vdCBpbml0aWFsaXplCj4gdGhlIGZvcmNld2FrZSBkb21haW5zIHdpdGhvdXQga25v d2luIGFib3V0IHRoZSBlbmdpbmVzIHByZXNlbnQgaW4gdGhlIEhXLgoqa25vd2luZwo+IFdlIHdv cmthcm91bmQgdGhpcyBwcm9ibGVtIGJ5IHBydW5pbmcgdGhlIGZvcmNld2FrZSBkb21haW5zIGFm dGVyIHJlYWRpbmcKPiB0aGUgZnVzZSBpbmZvcm1hdGlvbi4KVGhpcyBsaW5lIGNhbiBiZSByZS1m cmFtZWQgbGlrZToKIldlIHdvcmthcm91bmQgdGhpcyBwcm9ibGVtIGJ5IGFsbG93aW5nIGluaXRp YWxpemF0aW9uIG9mIGFsbCBmb3JjZXdha2UgCmRvbWFpbnMgYW5kIHRoZW4gcHJ1bmluZyB0aGUg ZnVzZWQgb2ZmIGZvcmNld2FrZSBkb21haW5zCmJhc2VkIG9uIGZ1c2UgaW5mbyB3aGljaCBjYW4g YmUgcmVhZCBhY3F1aXJpbmcgYmxpdHRlciBmb3JjZXdha2UiCj4KPiBCc3BlYzogMjA2ODAKPgo+ IHYyOiBXZSB3ZXJlIHNoaWZ0aW5nIGluY29ycmVjdGx5IGZvciB2ZWJveCBkaXNhYmxlIChWaW5h eSkKPgo+IHYzOiBBc3NlcnQgbW1pbyBpcyByZWFkeSBhbmQgd2FybiBpZiB3ZSBoYXZlIGF0dGVt cHRlZCB0byBpbml0aWFsaXplCj4gICAgICBmb3JjZXdha2UgZm9yIGZ1c2VkLW9mZiBlbmdpbmVz IChQYXVsbykKPgo+IHY0Ogo+ICAgIC0gVXNlIElOVEVMX0dFTiBpbiBuZXcgY29kZSAoVHZydGtv KQo+ICAgIC0gU2hvcnRlciBsb2NhbCB2YXJpYWJsZSAoVHZydGtvLCBNaWNoYWwpCj4gICAgLSBL ZWVwICJpZiAoIS4uLikgY29udGludWUiIHN0eWxlIChUdnJ0a28pCj4gICAgLSBObyB1bm5lY2Vz c2FyeSBCVUdfT04gKFR2cnRrbykKPiAgICAtIFdBUk5fT04gYW5kIGNsZWFudXAgaWYgd3Jvbmcg bWFzayAoVHZydGtvLCBNaWNoYWwpCj4gICAgLSBVc2UgSTkxNV9SRUFEX0ZXIChNaWNoYWwpCj4g ICAgLSBVc2UgSTkxNV9NQVhfVkNTL1ZFQ1MgbWFjcm9zIChNaWNoYWwpCj4KPiB2NTogUmViYXNl ZCBieSBSb2RyaWdvIGZpeGluZyBjb25mbGljdHMgb24gdG9wIG9mOgo+ICAgICAgY29tbWl0IDMz ZGVmMWZmN2IwICgiZHJtL2k5MTU6IFNpbXBsaWZ5IGludGVsX2VuZ2luZXNfaW5pdCIpCj4KPiB2 NjogRml4IHY1LiBSZW1vdmUgaW5mby0+bnVtX3JpbmdzLiAoYnkgT3NjYXIpCj4KPiB2NzogUmVi YXNlIChSb2RyaWdvKS4KPgo+IHY4Ogo+ICAgIC0gcy9pbnRlbF9kZXZpY2VfaW5mb19mdXNlZF9v ZmZfZW5naW5lcy9pbnRlbF9kZXZpY2VfaW5mb19pbml0X21taW8gKENocmlzKQo+ICAgIC0gTWFr ZSB2ZGJveF9kaXNhYmxlICYgdmVib3hfZGlzYWJsZSBsb2NhbCB2YXJpYWJsZXMgKENocmlzKQo+ Cj4gdjk6Cj4gICAgLSBNb3ZlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIHRvIGludGVsX2RldmljZV9p bmZvLmggKE1pY2hhbCkKPiAgICAtIE1pc3NpbmcgaW5kZW50IGluIGJpdCBmaWVsZHMgZGVmaW5p dGlvbnMgKE1pY2hhbCkKPiAgICAtIFdoZW4gUkM2IGlzIGVuYWJsZWQgYnkgQklPUywgdGhlIGZ1 c2UgcmVnaXN0ZXIgY2Fubm90IGJlIHJlYWQgdW50aWwKPiAgICAgIHRoZSBibGl0dGVyIHBvd2Vy d2VsbCBpcyBhd2FrZS4gU2h1ZmZsZSB3aGVyZSB0aGUgZnVzZSBpcyByZWFkLCBwcnVuZQo+ICAg ICAgdGhlIGZvcmNld2FrZSBkb21haW5zIGFmdGVyIHRoZSBmYWN0IGFuZCBjaGFuZ2UgdGhlIGNv bW1pdCBtZXNzYWdlCj4gICAgICBhY2NvcmRpbmdseSAoVmluYXksIFNhZ2FyLCBDaHJpcykuCj4K PiBDYzogUGF1bG8gWmFub25pIDxwYXVsby5yLnphbm9uaUBpbnRlbC5jb20+Cj4gQ2M6IFZpbmF5 IEJlbGdhdW1rYXIgPHZpbmF5LmJlbGdhdW1rYXJAaW50ZWwuY29tPgo+IENjOiBUdnJ0a28gVXJz dWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgo+IENjOiBNaWNoYWwgV2FqZGVjemtvIDxt aWNoYWwud2FqZGVjemtvQGludGVsLmNvbT4KPiBDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJp cy13aWxzb24uY28udWs+Cj4gQ2M6IERhbmllbGUgQ2VyYW9sbyBTcHVyaW8gPGRhbmllbGUuY2Vy YW9sb3NwdXJpb0BpbnRlbC5jb20+Cj4gQ2M6IFNhZ2FyIEFydW4gS2FtYmxlIDxzYWdhci5hLmth bWJsZUBpbnRlbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZp dmlAaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IE9zY2FyIE1hdGVvIDxvc2Nhci5tYXRlb0Bp bnRlbC5jb20+Cj4gLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jICAgICAg ICAgIHwgIDQgKysrCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICAgICAgICAg IHwgIDUgKysrCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5mby5jIHwg NDcgKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kZXZpY2VfaW5mby5oIHwgIDEgKwo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf dW5jb3JlLmMgICAgICB8IDU1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuaCAgICAgIHwgIDEgKwo+ICAgNiBmaWxl cyBjaGFuZ2VkLCAxMTMgaW5zZXJ0aW9ucygrKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCj4g aW5kZXggZDA5ZjhlNi4uMjI2OWI1NiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwo+IEBA IC0xMDMxLDYgKzEwMzEsMTAgQEAgc3RhdGljIGludCBpOTE1X2RyaXZlcl9pbml0X21taW8oc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAgCj4gICAJaW50ZWxfdW5jb3JlX2lu aXQoZGV2X3ByaXYpOwo+ICAgCj4gKwlpbnRlbF9kZXZpY2VfaW5mb19pbml0X21taW8oZGV2X3By aXYpOwo+ICsKPiArCWludGVsX3VuY29yZV9wcnVuZShkZXZfcHJpdik7Cj4gKwo+ICAgCWludGVs X3VjX2luaXRfbW1pbyhkZXZfcHJpdik7Cj4gICAKPiAgIAlyZXQgPSBpbnRlbF9lbmdpbmVzX2lu aXRfbW1pbyhkZXZfcHJpdik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gaW5kZXggNzg0ZDc5 Yy4uZTZhMGQ4NCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5o Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+IEBAIC0yODU0LDYgKzI4 NTQsMTEgQEAgZW51bSBpOTE1X3Bvd2VyX3dlbGxfaWQgewo+ICAgI2RlZmluZSBHRU4xMF9FVV9E SVNBQkxFMwkJX01NSU8oMHg5MTQwKQo+ICAgI2RlZmluZSAgIEdFTjEwX0VVX0RJU19TU19NQVNL CQkweGZmCj4gICAKPiArI2RlZmluZSBHRU4xMV9HVF9WRUJPWF9WREJPWF9ESVNBQkxFCV9NTUlP KDB4OTE0MCkKPiArI2RlZmluZSAgIEdFTjExX0dUX1ZEQk9YX0RJU0FCTEVfTUFTSwkweGZmCj4g KyNkZWZpbmUgICBHRU4xMV9HVF9WRUJPWF9ESVNBQkxFX1NISUZUCTE2Cj4gKyNkZWZpbmUgICBH RU4xMV9HVF9WRUJPWF9ESVNBQkxFX01BU0sJKDB4ZmYgPDwgR0VOMTFfR1RfVkVCT1hfRElTQUJM RV9TSElGVCkKPiArCj4gICAjZGVmaW5lIEdFTjZfQlNEX1NMRUVQX1BTTUlfQ09OVFJPTAlfTU1J TygweDEyMDUwKQo+ICAgI2RlZmluZSAgIEdFTjZfQlNEX1NMRUVQX01TR19ESVNBQkxFCSgxIDw8 IDApCj4gICAjZGVmaW5lICAgR0VONl9CU0RfU0xFRVBfRkxVU0hfRElTQUJMRQkoMSA8PCAyKQo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5mby5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uYwo+IGluZGV4IDkzNTJmMzQu LjcwZWE2NTQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNl X2luZm8uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmMK PiBAQCAtNTk1LDMgKzU5NSw1MCBAQCB2b2lkIGludGVsX2RyaXZlcl9jYXBzX3ByaW50KGNvbnN0 IHN0cnVjdCBpbnRlbF9kcml2ZXJfY2FwcyAqY2FwcywKPiAgIHsKPiAgIAlkcm1fcHJpbnRmKHAs ICJzY2hlZHVsZXI6ICV4XG4iLCBjYXBzLT5zY2hlZHVsZXIpOwo+ICAgfQo+ICsKPiArLyoKPiAr ICogRGV0ZXJtaW5lIHdoaWNoIGVuZ2luZXMgYXJlIGZ1c2VkIG9mZiBpbiBvdXIgcGFydGljdWxh ciBoYXJkd2FyZS4gU2luY2UgdGhlCj4gKyAqIGZ1c2UgcmVnaXN0ZXIgaXMgaW4gdGhlIGJsaXR0 ZXIgcG93ZXJ3ZWxsLCB3ZSBuZWVkIGZvcmNld2FrZSB0byBiZSByZWFkeSBhdAo+ICsgKiB0aGlz IHBvaW50IChidXQgbGF0ZXIgd2UgbmVlZCB0byBwcnVuZSB0aGUgZm9yY2V3YWtlIGRvbWFpbnMg Zm9yIGVuZ2luZXMgdGhhdAo+ICsgKiBhcmUgaW5kZWVkIGZ1c2VkIG9mZikuCj4gKyAqLwo+ICt2 b2lkIGludGVsX2RldmljZV9pbmZvX2luaXRfbW1pbyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCj4gK3sKPiArCXN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyAqaW5mbyA9IG1rd3Jp dGVfZGV2aWNlX2luZm8oZGV2X3ByaXYpOwo+ICsJdTggdmRib3hfZGlzYWJsZSwgdmVib3hfZGlz YWJsZTsKPiArCXUzMiBtZWRpYV9mdXNlOwo+ICsJaW50IGk7Cj4gKwo+ICsJaWYgKElOVEVMX0dF TihkZXZfcHJpdikgPCAxMSkKPiArCQlyZXR1cm47Cj4gKwo+ICsJbWVkaWFfZnVzZSA9IEk5MTVf UkVBRChHRU4xMV9HVF9WRUJPWF9WREJPWF9ESVNBQkxFKTsKPiArCj4gKwl2ZGJveF9kaXNhYmxl ID0gbWVkaWFfZnVzZSAmIEdFTjExX0dUX1ZEQk9YX0RJU0FCTEVfTUFTSzsKPiArCXZlYm94X2Rp c2FibGUgPSAobWVkaWFfZnVzZSAmIEdFTjExX0dUX1ZFQk9YX0RJU0FCTEVfTUFTSykgPj4KPiAr CQkJR0VOMTFfR1RfVkVCT1hfRElTQUJMRV9TSElGVDsKPiArCj4gKwlEUk1fREVCVUdfRFJJVkVS KCJ2ZGJveCBkaXNhYmxlOiAlMDR4XG4iLCB2ZGJveF9kaXNhYmxlKTsKPiArCWZvciAoaSA9IDA7 IGkgPCBJOTE1X01BWF9WQ1M7IGkrKykgewo+ICsJCWlmICghSEFTX0VOR0lORShkZXZfcHJpdiwg X1ZDUyhpKSkpCj4gKwkJCWNvbnRpbnVlOwo+ICsKPiArCQlpZiAoIShCSVQoaSkgJiB2ZGJveF9k aXNhYmxlKSkKPiArCQkJY29udGludWU7Cj4gKwo+ICsJCWluZm8tPnJpbmdfbWFzayAmPSB+RU5H SU5FX01BU0soX1ZDUyhpKSk7Cj4gKwkJRFJNX0RFQlVHX0RSSVZFUigidmNzJXUgZnVzZWQgb2Zm XG4iLCBpKTsKPiArCX0KPiArCj4gKwlEUk1fREVCVUdfRFJJVkVSKCJ2ZWJveCBkaXNhYmxlOiAl MDR4XG4iLCB2ZWJveF9kaXNhYmxlKTsKPiArCWZvciAoaSA9IDA7IGkgPCBJOTE1X01BWF9WRUNT OyBpKyspIHsKPiArCQlpZiAoIUhBU19FTkdJTkUoZGV2X3ByaXYsIF9WRUNTKGkpKSkKPiArCQkJ Y29udGludWU7Cj4gKwo+ICsJCWlmICghKEJJVChpKSAmIHZlYm94X2Rpc2FibGUpKQo+ICsJCQlj b250aW51ZTsKPiArCj4gKwkJaW5mby0+cmluZ19tYXNrICY9IH5FTkdJTkVfTUFTSyhfVkVDUyhp KSk7Cj4gKwkJRFJNX0RFQlVHX0RSSVZFUigidmVjcyV1IGZ1c2VkIG9mZlxuIiwgaSk7Cj4gKwl9 Cj4gK30KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2lu Zm8uaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmgKPiBpbmRleCA0 YzZmODNiLi4yMjMzYTJmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RldmljZV9pbmZvLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2Vf aW5mby5oCj4gQEAgLTE4Nyw2ICsxODcsNyBAQCB2b2lkIGludGVsX2RldmljZV9pbmZvX2R1bXBf ZmxhZ3MoY29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvICppbmZvLAo+ICAgCQkJCSAgc3Ry dWN0IGRybV9wcmludGVyICpwKTsKPiAgIHZvaWQgaW50ZWxfZGV2aWNlX2luZm9fZHVtcF9ydW50 aW1lKGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyAqaW5mbywKPiAgIAkJCQkgICAgc3Ry dWN0IGRybV9wcmludGVyICpwKTsKTWF5IGJlIHdlIG5lZWQgdG8gYWRkIGV4dHJhIGxpbmUgdG8g ZGlmZmVyZW50aWF0ZSBmcm9tIAoiZGV2aWNlX2luZm9fKl9ydW50aW1lXyoiIGZ1bmN0aW9uIGRl Y2xhcmF0aW9ucy4KPiArdm9pZCBpbnRlbF9kZXZpY2VfaW5mb19pbml0X21taW8oc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPiAgIAo+ICAgdm9pZCBpbnRlbF9kcml2ZXJfY2Fw c19wcmludChjb25zdCBzdHJ1Y3QgaW50ZWxfZHJpdmVyX2NhcHMgKmNhcHMsCj4gICAJCQkgICAg IHN0cnVjdCBkcm1fcHJpbnRlciAqcCk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3VuY29yZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMK PiBpbmRleCA1YWU5YTYyLi41ZGUwZDI2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3VuY29yZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5j b3JlLmMKPiBAQCAtNTYsNiArNTYsMTAgQEAKPiAgIGZ3X2RvbWFpbl9yZXNldChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqaTkxNSwKPiAgIAkJY29uc3Qgc3RydWN0IGludGVsX3VuY29yZV9mb3Jj ZXdha2VfZG9tYWluICpkKQo+ICAgewo+ICsJLyoKPiArCSAqIFdlIGRvbid0IHJlYWxseSBrbm93 IGlmIHRoZSBwb3dlcndlbGwgZm9yIHRoZSBmb3JjZXdha2UgZG9tYWluIHdlIGFyZQo+ICsJICog dHJ5aW5nIHRvIHJlc2V0IGhlcmUgZG9lcyBleGlzdCBhdCB0aGlzIHBvaW50LCBzbyBubyB3YWl0 aW5nIGZvciBhY2tzCj4gKwkgKi8KV2Ugc2hvdWxkIGFsc28gYWRkIHRoYXQgdGhpcyBhcHBsaWVz IHRvIElDTC4KPiAgIAlfX3Jhd19pOTE1X3dyaXRlMzIoaTkxNSwgZC0+cmVnX3NldCwgaTkxNS0+ dW5jb3JlLmZ3X3Jlc2V0KTsKPiAgIH0KPiAgIAo+IEBAIC0xMjUxLDYgKzEyNTUsMjMgQEAgc3Rh dGljIHZvaWQgZndfZG9tYWluX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LAo+ICAgCWZ3X2RvbWFpbl9yZXNldChkZXZfcHJpdiwgZCk7Cj4gICB9Cj4gICAKPiArc3RhdGlj IHZvaWQgZndfZG9tYWluX2Zpbmkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ ICsJCQkgICBlbnVtIGZvcmNld2FrZV9kb21haW5faWQgZG9tYWluX2lkKQo+ICt7Cj4gKwlzdHJ1 Y3QgaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9kb21haW4gKmQ7Cj4gKwo+ICsJaWYgKFdBUk5fT04o ZG9tYWluX2lkID49IEZXX0RPTUFJTl9JRF9DT1VOVCkpCj4gKwkJcmV0dXJuOwo+ICsKPiArCWQg PSAmZGV2X3ByaXYtPnVuY29yZS5md19kb21haW5bZG9tYWluX2lkXTsKPiArCj4gKwlXQVJOX09O KGQtPndha2VfY291bnQpOwo+ICsJV0FSTl9PTihocnRpbWVyX2NhbmNlbCgmZC0+dGltZXIpKTsK PiArCW1lbXNldChkLCAwLCBzaXplb2YoKmQpKTsKPiArCj4gKwlkZXZfcHJpdi0+dW5jb3JlLmZ3 X2RvbWFpbnMgJj0gfkJJVChkb21haW5faWQpOwo+ICt9Cj4gKwo+ICAgc3RhdGljIHZvaWQgaW50 ZWxfdW5jb3JlX2Z3X2RvbWFpbnNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYpCj4gICB7Cj4gICAJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPD0gNSB8fCBpbnRlbF92Z3B1 X2FjdGl2ZShkZXZfcHJpdikpCj4gQEAgLTE0MzIsNiArMTQ1Myw0MCBAQCB2b2lkIGludGVsX3Vu Y29yZV9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgIAkJJmRldl9w cml2LT51bmNvcmUucG1pY19idXNfYWNjZXNzX25iKTsKPiAgIH0KPiAgIAo+ICsvKgo+ICsgKiBX ZSBtaWdodCBoYXZlIGRldGVjdGVkIHRoYXQgc29tZSBlbmdpbmVzIGFyZSBmdXNlZCBvZmYgYWZ0 ZXIgd2UgaW5pdGlhbGl6ZWQKPiArICogdGhlIGZvcmNld2FrZSBkb21haW5zLiBQcnVuZSB0aGVt LCB0byBtYWtlIHN1cmUgdGhleSBvbmx5IHJlZmVyZW5jZSBleGlzdGluZwo+ICsgKiBlbmdpbmVz Lgo+ICsgKi8KPiArdm9pZCBpbnRlbF91bmNvcmVfcHJ1bmUoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQo+ICt7Cj4gKwlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMSkgewo+ ICsJCWVudW0gZm9yY2V3YWtlX2RvbWFpbnMgZndfZG9tYWlucyA9IGRldl9wcml2LT51bmNvcmUu ZndfZG9tYWluczsKPiArCQllbnVtIGZvcmNld2FrZV9kb21haW5faWQgZG9tYWluX2lkOwo+ICsJ CWludCBpOwo+ICsKPiArCQlmb3IgKGkgPSAwOyBpIDwgSTkxNV9NQVhfVkNTOyBpKyspIHsKPiAr CQkJZG9tYWluX2lkID0gRldfRE9NQUlOX0lEX01FRElBX1ZEQk9YMCArIGk7Cj4gKwo+ICsJCQlp ZiAoSEFTX0VOR0lORShkZXZfcHJpdiwgX1ZDUyhpKSkpCj4gKwkJCQljb250aW51ZTsKPiArCj4g KwkJCWlmIChmd19kb21haW5zICYgQklUKGRvbWFpbl9pZCkpCmZ3X2RvbWFpbnMgY2hlY2sgc2Vl bXMgcmVkdW5kYW50IGFzIGl0IGlzIGluaXRpYWxpemVkIGJhc2VkIG9uIEhBU19FTkdJTkUuCndl IGNhbiBqdXN0IGhhdmUKaWYgKCFIQVNfRU5HSU5FKGRldl9wcml2LCBfVkNTKGkpKSkKIMKgwqDC oCBmd19kb21haW5fZmluaShkZXZfcHJpdiwgZG9tYWluX2lkKTsKPiArCQkJCWZ3X2RvbWFpbl9m aW5pKGRldl9wcml2LCBkb21haW5faWQpOwo+ICsJCX0KPiArCj4gKwkJZm9yIChpID0gMDsgaSA8 IEk5MTVfTUFYX1ZFQ1M7IGkrKykgewo+ICsJCQlkb21haW5faWQgPSBGV19ET01BSU5fSURfTUVE SUFfVkVCT1gwICsgaTsKPiArCj4gKwkJCWlmIChIQVNfRU5HSU5FKGRldl9wcml2LCBfVkVDUyhp KSkpCj4gKwkJCQljb250aW51ZTsKPiArCj4gKwkJCWlmIChmd19kb21haW5zICYgQklUKGRvbWFp bl9pZCkpCj4gKwkJCQlmd19kb21haW5fZmluaShkZXZfcHJpdiwgZG9tYWluX2lkKTsKPiArCQl9 Cj4gKwl9Cj4gK30KPiArCj4gICB2b2lkIGludGVsX3VuY29yZV9maW5pKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikKPiAgIHsKPiAgIAkvKiBQYXJhbm9pYTogbWFrZSBzdXJlIHdl IGhhdmUgZGlzYWJsZWQgZXZlcnl0aGluZyBiZWZvcmUgd2UgZXhpdC4gKi8KPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmggYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF91bmNvcmUuaAo+IGluZGV4IDUzZWY3N2QuLjI4ZmVhYmYgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmgKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuaAo+IEBAIC0xMjksNiArMTI5LDcgQEAgc3RydWN0IGlu dGVsX3VuY29yZSB7Cj4gICAKPiAgIHZvaWQgaW50ZWxfdW5jb3JlX3Nhbml0aXplKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4gICB2b2lkIGludGVsX3VuY29yZV9pbml0KHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4gK3ZvaWQgaW50ZWxfdW5jb3JlX3By dW5lKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4gICBib29sIGludGVsX3Vu Y29yZV91bmNsYWltZWRfbW1pbyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ ICAgYm9vbCBpbnRlbF91bmNvcmVfYXJtX3VuY2xhaW1lZF9tbWlvX2RldGVjdGlvbihzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ICAgdm9pZCBpbnRlbF91bmNvcmVfZmluaShz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwoKLS0gClRoYW5rcywKU2FnYXIKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=