From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E1579E706F8 for ; Thu, 21 Sep 2023 09:15:44 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 9FC3F10E59E; Thu, 21 Sep 2023 09:15:44 +0000 (UTC) Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id C9A9A10E59E for ; Thu, 21 Sep 2023 09:15:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1695287743; x=1726823743; h=message-id:subject:from:to:date:in-reply-to:references: content-transfer-encoding:mime-version; bh=nayTQwvB10pHSs5RmagAZqlEb4ZeSzSkf6ycneha0Is=; b=lxMtcDoNl5iW536W/++4H0TJ7mUguDJCk2qEfNUNn7VplYk+u29tkkWV fEtR8FVbTXRxoyH5KRGFktGiJySrk7kQZgoeBZqhvTdv3wFQEXcSuomfj YmdreBhBC3ZF9qjMHo5gJbF8HtqGGvSeIrZILYTqYxtRqyqGM3ynogu/A MFhVlW/f7yRiI+0GbGdT6Ded1tKWDinuE1n6iuHAudIirQj1dyN15X5xm IYlvv9vbvEhPWFmf5anOVyc78WPSYmMUrbdoAM4FZb4c2b71xx9z3S05Q TCit2gA0x9bDg5p/bJruXS4NsZE4YpswaPVoBepDPnLkNHx4m5RN2uG91 A==; X-IronPort-AV: E=McAfee;i="6600,9927,10839"; a="379352711" X-IronPort-AV: E=Sophos;i="6.03,165,1694761200"; d="scan'208";a="379352711" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Sep 2023 02:15:42 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10839"; a="723670382" X-IronPort-AV: E=Sophos;i="6.03,165,1694761200"; d="scan'208";a="723670382" Received: from kinstrum-mobl.ger.corp.intel.com (HELO [10.249.254.152]) ([10.249.254.152]) by orsmga006-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Sep 2023 02:15:41 -0700 Message-ID: <8be4caca148bc8b2ab2584942af79582e441538a.camel@linux.intel.com> From: Thomas =?ISO-8859-1?Q?Hellstr=F6m?= To: Matthew Brost , intel-xe@lists.freedesktop.org Date: Thu, 21 Sep 2023 11:15:38 +0200 In-Reply-To: <20230914204053.2220281-5-matthew.brost@intel.com> References: <20230914204053.2220281-1-matthew.brost@intel.com> <20230914204053.2220281-5-matthew.brost@intel.com> Organization: Intel Sweden AB, Registration Number: 556189-6027 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) MIME-Version: 1.0 Subject: Re: [Intel-xe] [PATCH 4/6] drm/xe: Fix VM bind out-sync signaling ordering X-BeenThere: intel-xe@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel Xe graphics driver List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-xe-bounces@lists.freedesktop.org Sender: "Intel-xe" T24gVGh1LCAyMDIzLTA5LTE0IGF0IDEzOjQwIC0wNzAwLCBNYXR0aGV3IEJyb3N0IHdyb3RlOgo+ IEEgY2FzZSBleGlzdGVkIHdoZXJlIGFuIG91dC1zeW5jIG9mIGEgbGF0ZXIgVk0gYmluZCBvcGVy YXRpb24gY291bGQKPiBzaWduYWwgYmVmb3JlIGEgcHJldmlvdXMgb25lIGlmIHRoZSBsYXRlciBv cGVyYXRpb24gcmVzdWx0cyBpbiBhIE5PUAo+IChlLmcuIGEgdW5iaW5kIG9yIHByZWZldGNoIHRv IGEgVkEgcmFuZ2Ugd2l0aG91dCBhbnkgbWFwcGluZ3MpLiBUaGlzCj4gYnJlYWtzIHRoZSBvcmRl cmluZyBydWxlcywgZml4IHRoaXMuIFRoaXMgcGF0Y2ggYWxzbyBsYXlzIHRoZQo+IGdyb3VuZHdv cmsKPiBmb3IgdXNlcnMgdG8gcGFzcyBpbiBudW1fYmluZHMgPT0gMCBhbmQgb3V0LXN5bmNzLgo+ IAo+IFNpZ25lZC1vZmYtYnk6IE1hdHRoZXcgQnJvc3QgPG1hdHRoZXcuYnJvc3RAaW50ZWwuY29t PgoKUmV2aWV3ZWQtYnk6IFRob21hcyBIZWxsc3Ryw7ZtIDx0aG9tYXMuaGVsbHN0cm9tQGxpbnV4 LmludGVsLmNvbT4KCj4gLS0tCj4gwqBkcml2ZXJzL2dwdS9kcm0veGUveGVfZXhlY19xdWV1ZS5j wqDCoMKgwqDCoMKgIHwgNzUKPiArKysrKysrKysrKysrKysrKysrKysrKysKPiDCoGRyaXZlcnMv Z3B1L2RybS94ZS94ZV9leGVjX3F1ZXVlLmjCoMKgwqDCoMKgwqAgfMKgIDcgKysrCj4gwqBkcml2 ZXJzL2dwdS9kcm0veGUveGVfZXhlY19xdWV1ZV90eXBlcy5oIHzCoCA2ICsrCj4gwqBkcml2ZXJz L2dwdS9kcm0veGUveGVfdm0uY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0NSArKysr KysrKysrKy0tLQo+IMKgNCBmaWxlcyBjaGFuZ2VkLCAxMjUgaW5zZXJ0aW9ucygrKSwgOCBkZWxl dGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2V4ZWNfcXVl dWUuYwo+IGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2V4ZWNfcXVldWUuYwo+IGluZGV4IGU5NTBj OWVmOWQ0MC4uODcyMmFiNmJhMDBhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94 ZV9leGVjX3F1ZXVlLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZXhlY19xdWV1ZS5j Cj4gQEAgLTE1Niw2ICsxNTYsNyBAQCB2b2lkIHhlX2V4ZWNfcXVldWVfZGVzdHJveShzdHJ1Y3Qg a3JlZiAqcmVmKQo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgeGVfZXhlY19xdWV1ZSAqcSA9IGNv bnRhaW5lcl9vZihyZWYsIHN0cnVjdAo+IHhlX2V4ZWNfcXVldWUsIHJlZmNvdW50KTsKPiDCoMKg wqDCoMKgwqDCoMKgc3RydWN0IHhlX2V4ZWNfcXVldWUgKmVxLCAqbmV4dDsKPiDCoAo+ICvCoMKg wqDCoMKgwqDCoHhlX2V4ZWNfcXVldWVfbGFzdF9mZW5jZV9wdXRfdW5sb2NrZWQocSk7Cj4gwqDC oMKgwqDCoMKgwqDCoGlmICghKHEtPmZsYWdzICYgRVhFQ19RVUVVRV9GTEFHX0JJTkRfRU5HSU5F X0NISUxEKSkgewo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgbGlzdF9mb3JfZWFj aF9lbnRyeV9zYWZlKGVxLCBuZXh0LCAmcS0+bXVsdGlfZ3RfbGlzdCwKPiDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBtdWx0aV9ndF9saW5rKQo+IEBAIC05NTksMyArOTYwLDc3IEBAIGludCB4ZV9l eGVjX3F1ZXVlX3NldF9wcm9wZXJ0eV9pb2N0bChzdHJ1Y3QKPiBkcm1fZGV2aWNlICpkZXYsIHZv aWQgKmRhdGEsCj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0KPiArCj4g K3N0YXRpYyB2b2lkIHhlX2V4ZWNfcXVldWVfbGFzdF9mZW5jZV9sb2NrZGVwX2Fzc2VydChzdHJ1 Y3QKPiB4ZV9leGVjX3F1ZXVlICpxLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHN0cnVjdCB4ZV92bSAqdm0pCj4gK3sKPiArwqDCoMKgwqDCoMKgwqBsb2Nr ZGVwX2Fzc2VydF9oZWxkX3dyaXRlKCZ2bS0+bG9jayk7Cj4gK30KPiArCj4gKy8qKgo+ICsgKiB4 ZV9leGVjX3F1ZXVlX2xhc3RfZmVuY2VfcHV0KCkgLSBEcm9wIHJlZiB0byBsYXN0IGZlbmNlCj4g KyAqIEBxOiBUaGUgZXhlYyBxdWV1ZQo+ICsgKiBAdm06IFRoZSBWTSB0aGUgZW5naW5lIGRvZXMg YSBiaW5kIG9yIGV4ZWMgZm9yCj4gKyAqLwo+ICt2b2lkIHhlX2V4ZWNfcXVldWVfbGFzdF9mZW5j ZV9wdXQoc3RydWN0IHhlX2V4ZWNfcXVldWUgKnEsIHN0cnVjdAo+IHhlX3ZtICp2bSkKPiArewo+ ICvCoMKgwqDCoMKgwqDCoHhlX2V4ZWNfcXVldWVfbGFzdF9mZW5jZV9sb2NrZGVwX2Fzc2VydChx LCB2bSk7Cj4gKwo+ICvCoMKgwqDCoMKgwqDCoGlmIChxLT5sYXN0X2ZlbmNlKSB7Cj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRtYV9mZW5jZV9wdXQocS0+bGFzdF9mZW5jZSk7Cj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHEtPmxhc3RfZmVuY2UgPSBOVUxMOwo+ICvC oMKgwqDCoMKgwqDCoH0KPiArfQo+ICsKPiArLyoqCj4gKyAqIHhlX2V4ZWNfcXVldWVfbGFzdF9m ZW5jZV9wdXRfdW5sb2NrZWQoKSAtIERyb3AgcmVmIHRvIGxhc3QgZmVuY2UKPiB1bmxvY2tlZAo+ ICsgKiBAcTogVGhlIGV4ZWMgcXVldWUKPiArICoKPiArICogT25seSBzYWZlIHRvIGJlIGNhbGxl ZCBmcm9tIHhlX2V4ZWNfcXVldWVfZGVzdHJveSgpLgo+ICsgKi8KPiArdm9pZCB4ZV9leGVjX3F1 ZXVlX2xhc3RfZmVuY2VfcHV0X3VubG9ja2VkKHN0cnVjdCB4ZV9leGVjX3F1ZXVlICpxKQo+ICt7 Cj4gK8KgwqDCoMKgwqDCoMKgaWYgKHEtPmxhc3RfZmVuY2UpIHsKPiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgZG1hX2ZlbmNlX3B1dChxLT5sYXN0X2ZlbmNlKTsKPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgcS0+bGFzdF9mZW5jZSA9IE5VTEw7Cj4gK8KgwqDCoMKgwqDC oMKgfQo+ICt9Cj4gKwo+ICsvKioKPiArICogeGVfZXhlY19xdWV1ZV9sYXN0X2ZlbmNlX2dldCgp IC0gR2V0IGxhc3QgZmVuY2UKPiArICogQHE6IFRoZSBleGVjIHF1ZXVlCj4gKyAqIEB2bTogVGhl IFZNIHRoZSBlbmdpbmUgZG9lcyBhIGJpbmQgb3IgZXhlYyBmb3IKPiArICoKPiArICogR2V0IGxh c3QgZmVuY2UsIGRvZXMgbm90IHRha2UgYSByZWYKPiArICoKPiArICogUmV0dXJuczogbGFzdCBm ZW5jZSBpZiBub3Qgc2lnbmFsZWQsIGRtYSBmZW5jZSBzdHViIGlmIHNpZ25hbGVkCj4gKyAqLwo+ ICtzdHJ1Y3QgZG1hX2ZlbmNlICp4ZV9leGVjX3F1ZXVlX2xhc3RfZmVuY2VfZ2V0KHN0cnVjdCB4 ZV9leGVjX3F1ZXVlCj4gKnEsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBz dHJ1Y3QgeGVfdm0gKnZtKQo+ICt7Cj4gK8KgwqDCoMKgwqDCoMKgeGVfZXhlY19xdWV1ZV9sYXN0 X2ZlbmNlX2xvY2tkZXBfYXNzZXJ0KHEsIHZtKTsKPiArCj4gK8KgwqDCoMKgwqDCoMKgaWYgKHEt Pmxhc3RfZmVuY2UgJiYKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqAgdGVzdF9iaXQoRE1BX0ZFTkNF X0ZMQUdfU0lHTkFMRURfQklULCAmcS0+bGFzdF9mZW5jZS0KPiA+ZmxhZ3MpKQo+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB4ZV9leGVjX3F1ZXVlX2xhc3RfZmVuY2VfcHV0KHEsIHZt KTsKPiArCj4gK8KgwqDCoMKgwqDCoMKgcmV0dXJuIHEtPmxhc3RfZmVuY2UgPyBxLT5sYXN0X2Zl bmNlIDogZG1hX2ZlbmNlX2dldF9zdHViKCk7Cj4gK30KPiArCj4gKy8qKgo+ICsgKiB4ZV9leGVj X3F1ZXVlX2xhc3RfZmVuY2Vfc2V0KCkgLSBTZXQgbGFzdCBmZW5jZQo+ICsgKiBAcTogVGhlIGV4 ZWMgcXVldWUKPiArICogQHZtOiBUaGUgVk0gdGhlIGVuZ2luZSBkb2VzIGEgYmluZCBvciBleGVj IGZvcgo+ICsgKiBAZmVuY2U6IFRoZSBmZW5jZQo+ICsgKgo+ICsgKiBTZXQgdGhlIGxhc3QgZmVu Y2UgZm9yIHRoZSBlbmdpbmUuIEluY3JlYXNlcyByZWZlcmVuY2UgY291bnQgZm9yCj4gZmVuY2Us IHdoZW4KPiArICogY2xvc2luZyBlbmdpbmUgeGVfZXhlY19xdWV1ZV9sYXN0X2ZlbmNlX3B1dCBz aG91bGQgYmUgY2FsbGVkLgo+ICsgKi8KPiArdm9pZCB4ZV9leGVjX3F1ZXVlX2xhc3RfZmVuY2Vf c2V0KHN0cnVjdCB4ZV9leGVjX3F1ZXVlICpxLCBzdHJ1Y3QKPiB4ZV92bSAqdm0sCj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgc3RydWN0IGRtYV9mZW5jZSAqZmVuY2UpCj4gK3sKPiArwqDCoMKgwqDCoMKgwqB4ZV9leGVj X3F1ZXVlX2xhc3RfZmVuY2VfbG9ja2RlcF9hc3NlcnQocSwgdm0pOwo+ICsKPiArwqDCoMKgwqDC oMKgwqB4ZV9leGVjX3F1ZXVlX2xhc3RfZmVuY2VfcHV0KHEsIHZtKTsKPiArwqDCoMKgwqDCoMKg wqBxLT5sYXN0X2ZlbmNlID0gZG1hX2ZlbmNlX2dldChmZW5jZSk7Cj4gK30KPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2V4ZWNfcXVldWUuaAo+IGIvZHJpdmVycy9ncHUvZHJt L3hlL3hlX2V4ZWNfcXVldWUuaAo+IGluZGV4IGNlMWVjMjI0M2I2YS4uNTlhNTRiZmI5YThjIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9leGVjX3F1ZXVlLmgKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0veGUveGVfZXhlY19xdWV1ZS5oCj4gQEAgLTYxLDQgKzYxLDExIEBAIGlu dCB4ZV9leGVjX3F1ZXVlX2dldF9wcm9wZXJ0eV9pb2N0bChzdHJ1Y3QKPiBkcm1fZGV2aWNlICpk ZXYsIHZvaWQgKmRhdGEsCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSk7 Cj4gwqBlbnVtIGRybV9zY2hlZF9wcmlvcml0eSB4ZV9leGVjX3F1ZXVlX2RldmljZV9nZXRfbWF4 X3ByaW9yaXR5KHN0cnVjdAo+IHhlX2RldmljZSAqeGUpOwo+IMKgCj4gK3ZvaWQgeGVfZXhlY19x dWV1ZV9sYXN0X2ZlbmNlX3B1dChzdHJ1Y3QgeGVfZXhlY19xdWV1ZSAqZSwgc3RydWN0Cj4geGVf dm0gKnZtKTsKPiArdm9pZCB4ZV9leGVjX3F1ZXVlX2xhc3RfZmVuY2VfcHV0X3VubG9ja2VkKHN0 cnVjdCB4ZV9leGVjX3F1ZXVlICplKTsKPiArc3RydWN0IGRtYV9mZW5jZSAqeGVfZXhlY19xdWV1 ZV9sYXN0X2ZlbmNlX2dldChzdHJ1Y3QgeGVfZXhlY19xdWV1ZQo+ICplLAo+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IHhlX3ZtICp2bSk7Cj4gK3ZvaWQgeGVfZXhl Y19xdWV1ZV9sYXN0X2ZlbmNlX3NldChzdHJ1Y3QgeGVfZXhlY19xdWV1ZSAqZSwgc3RydWN0Cj4g eGVfdm0gKnZtLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlKTsKPiArCj4gwqAj ZW5kaWYKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2V4ZWNfcXVldWVfdHlw ZXMuaAo+IGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2V4ZWNfcXVldWVfdHlwZXMuaAo+IGluZGV4 IGI4MjhkOGE2MGFkZi4uNzFlZDhkMjJhOGExIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS94ZS94ZV9leGVjX3F1ZXVlX3R5cGVzLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVf ZXhlY19xdWV1ZV90eXBlcy5oCj4gQEAgLTUyLDYgKzUyLDEyIEBAIHN0cnVjdCB4ZV9leGVjX3F1 ZXVlIHsKPiDCoMKgwqDCoMKgwqDCoMKgLyoqIEBmZW5jZV9pcnE6IGZlbmNlIElSUSB1c2VkIHRv IHNpZ25hbCBqb2IgY29tcGxldGlvbiAqLwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgeGVfaHdf ZmVuY2VfaXJxICpmZW5jZV9pcnE7Cj4gwqAKPiArwqDCoMKgwqDCoMKgwqAvKioKPiArwqDCoMKg wqDCoMKgwqAgKiBAbGFzdF9mZW5jZTogbGFzdCBmZW5jZSBvbiBlbmdpbmUsIHByb3RlY3RlZCBi eSB2bS0+bG9jawo+IGluIHdyaXRlCj4gK8KgwqDCoMKgwqDCoMKgICogbW9kZSBpZiBiaW5kIGVu Z2luZQo+ICvCoMKgwqDCoMKgwqDCoCAqLwo+ICvCoMKgwqDCoMKgwqDCoHN0cnVjdCBkbWFfZmVu Y2UgKmxhc3RfZmVuY2U7Cj4gKwo+IMKgLyogcXVldWUgbm8gbG9uZ2VyIGFsbG93ZWQgdG8gc3Vi bWl0ICovCj4gwqAjZGVmaW5lIEVYRUNfUVVFVUVfRkxBR19CQU5ORUTCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgQklUKDApCj4gwqAvKiBxdWV1ZSB1c2VkIGZvciBrZXJuZWwgc3Vi bWlzc2lvbiBvbmx5ICovCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV92bS5j IGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3ZtLmMKPiBpbmRleCBmOWRjOWJmNmIzNmIuLjQ5Yzc0 NWQ1M2I0MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfdm0uYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS94ZS94ZV92bS5jCj4gQEAgLTEzNjIsNiArMTM2MiwxMyBAQCB2b2lk IHhlX3ZtX2Nsb3NlX2FuZF9wdXQoc3RydWN0IHhlX3ZtICp2bSkKPiDCoMKgwqDCoMKgwqDCoMKg aWYgKHhlX3ZtX2luX2NvbXB1dGVfbW9kZSh2bSkpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqBmbHVzaF93b3JrKCZ2bS0+cHJlZW1wdC5yZWJpbmRfd29yayk7Cj4gwqAKPiArwqDC oMKgwqDCoMKgwqBkb3duX3dyaXRlKCZ2bS0+bG9jayk7Cj4gK8KgwqDCoMKgwqDCoMKgZm9yX2Vh Y2hfdGlsZSh0aWxlLCB4ZSwgaWQpIHsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg aWYgKHZtLT5xW2lkXSkKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoHhlX2V4ZWNfcXVldWVfbGFzdF9mZW5jZV9wdXQodm0tPnFbaWRdLCB2bSk7Cj4gK8Kg wqDCoMKgwqDCoMKgfQo+ICvCoMKgwqDCoMKgwqDCoHVwX3dyaXRlKCZ2bS0+bG9jayk7Cj4gKwo+ IMKgwqDCoMKgwqDCoMKgwqBmb3JfZWFjaF90aWxlKHRpbGUsIHhlLCBpZCkgewo+IMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWYgKHZtLT5xW2lkXSkgewo+IMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHhlX2V4ZWNfcXVldWVfa2lsbCh2bS0+ cVtpZF0pOwo+IEBAIC0xNTEzLDE2ICsxNTIwLDIzIEBAIHU2NCB4ZV92bV9wZHA0X2Rlc2NyaXB0 b3Ioc3RydWN0IHhlX3ZtICp2bSwKPiBzdHJ1Y3QgeGVfdGlsZSAqdGlsZSkKPiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBYRV9DQUNIRV9X Qik7Cj4gwqB9Cj4gwqAKPiArc3RhdGljIHN0cnVjdCB4ZV9leGVjX3F1ZXVlICoKPiArdG9fd2Fp dF9leGVjX3F1ZXVlKHN0cnVjdCB4ZV92bSAqdm0sIHN0cnVjdCB4ZV9leGVjX3F1ZXVlICpxKQo+ ICt7Cj4gK8KgwqDCoMKgwqDCoMKgcmV0dXJuIHEgPyBxIDogdm0tPnFbMF07Cj4gK30KPiArCj4g wqBzdGF0aWMgc3RydWN0IGRtYV9mZW5jZSAqCj4gwqB4ZV92bV91bmJpbmRfdm1hKHN0cnVjdCB4 ZV92bWEgKnZtYSwgc3RydWN0IHhlX2V4ZWNfcXVldWUgKnEsCj4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgc3RydWN0IHhlX3N5bmNfZW50cnkgKnN5bmNzLCB1MzIgbnVtX3N5bmNz LAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGJvb2wgZmlyc3Rfb3AsIGJvb2wg bGFzdF9vcCkKPiDCoHsKPiArwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgeGVfdm0gKnZtID0geGVfdm1h X3ZtKHZtYSk7Cj4gK8KgwqDCoMKgwqDCoMKgc3RydWN0IHhlX2V4ZWNfcXVldWUgKndhaXRfZXhl Y19xdWV1ZSA9Cj4gdG9fd2FpdF9leGVjX3F1ZXVlKHZtLCBxKTsKPiDCoMKgwqDCoMKgwqDCoMKg c3RydWN0IHhlX3RpbGUgKnRpbGU7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBkbWFfZmVuY2Ug KmZlbmNlID0gTlVMTDsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGRtYV9mZW5jZSAqKmZlbmNl cyA9IE5VTEw7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBkbWFfZmVuY2VfYXJyYXkgKmNmID0g TlVMTDsKPiAtwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgeGVfdm0gKnZtID0geGVfdm1hX3ZtKHZtYSk7 Cj4gwqDCoMKgwqDCoMKgwqDCoGludCBjdXJfZmVuY2UgPSAwLCBpOwo+IMKgwqDCoMKgwqDCoMKg wqBpbnQgbnVtYmVyX3RpbGVzID0gaHdlaWdodDgodm1hLT50aWxlX3ByZXNlbnQpOwo+IMKgwqDC oMKgwqDCoMKgwqBpbnQgZXJyOwo+IEBAIC0xNTc0LDcgKzE1ODgsOCBAQCB4ZV92bV91bmJpbmRf dm1hKHN0cnVjdCB4ZV92bWEgKnZtYSwgc3RydWN0Cj4geGVfZXhlY19xdWV1ZSAqcSwKPiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNmID8gJmNmLT5iYXNlIDogZmVuY2UpOwo+IMKg wqDCoMKgwqDCoMKgwqB9Cj4gwqAKPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gY2YgPyAmY2YtPmJh c2UgOiAhZmVuY2UgPyBkbWFfZmVuY2VfZ2V0X3N0dWIoKSA6Cj4gZmVuY2U7Cj4gK8KgwqDCoMKg wqDCoMKgcmV0dXJuIGNmID8gJmNmLT5iYXNlIDogIWZlbmNlID8KPiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgeGVfZXhlY19xdWV1ZV9sYXN0X2ZlbmNlX2dldCh3YWl0X2V4ZWNfcXVl dWUsIHZtKSA6Cj4gZmVuY2U7Cj4gwqAKPiDCoGVycl9mZW5jZXM6Cj4gwqDCoMKgwqDCoMKgwqDC oGlmIChmZW5jZXMpIHsKPiBAQCAtMTY3Myw2ICsxNjg4LDcgQEAgc3RhdGljIGludCBfX3hlX3Zt X2JpbmQoc3RydWN0IHhlX3ZtICp2bSwKPiBzdHJ1Y3QgeGVfdm1hICp2bWEsCj4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgYm9vbCBsYXN0X29wKQo+IMKg ewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZTsKPiArwqDCoMKgwqDC oMKgwqBzdHJ1Y3QgeGVfZXhlY19xdWV1ZSAqd2FpdF9leGVjX3F1ZXVlID0KPiB0b193YWl0X2V4 ZWNfcXVldWUodm0sIHEpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHhlX3ZtX2Fzc2VydF9oZWxk KHZtKTsKPiDCoAo+IEBAIC0xNjg2LDEzICsxNzAyLDE1IEBAIHN0YXRpYyBpbnQgX194ZV92bV9i aW5kKHN0cnVjdCB4ZV92bSAqdm0sCj4gc3RydWN0IHhlX3ZtYSAqdm1hLAo+IMKgCj4gwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB4ZV9hc3NlcnQodm0tPnhlLCB4ZV92bV9pbl9mYXVs dF9tb2RlKHZtKSk7Cj4gwqAKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZmVuY2Ug PSBkbWFfZmVuY2VfZ2V0X3N0dWIoKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg ZmVuY2UgPSB4ZV9leGVjX3F1ZXVlX2xhc3RfZmVuY2VfZ2V0KHdhaXRfZXhlY19xdWV1ZSwKPiB2 bSk7Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZiAobGFzdF9vcCkgewo+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGZvciAoaSA9IDA7 IGkgPCBudW1fc3luY3M7IGkrKykKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgeGVfc3luY19lbnRyeV9zaWduYWwoJnN5bmNz W2ldLCBOVUxMLAo+IGZlbmNlKTsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoH0K PiDCoMKgwqDCoMKgwqDCoMKgfQo+IMKgCj4gK8KgwqDCoMKgwqDCoMKgaWYgKGxhc3Rfb3ApCj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHhlX2V4ZWNfcXVldWVfbGFzdF9mZW5jZV9z ZXQod2FpdF9leGVjX3F1ZXVlLCB2bSwKPiBmZW5jZSk7Cj4gwqDCoMKgwqDCoMKgwqDCoGlmIChs YXN0X29wICYmIHhlX3ZtX3N5bmNfbW9kZSh2bSwgcSkpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqBkbWFfZmVuY2Vfd2FpdChmZW5jZSwgdHJ1ZSk7Cj4gwqDCoMKgwqDCoMKgwqDC oGRtYV9mZW5jZV9wdXQoZmVuY2UpOwo+IEBAIC0xNzI1LDYgKzE3NDMsNyBAQCBzdGF0aWMgaW50 IHhlX3ZtX3VuYmluZChzdHJ1Y3QgeGVfdm0gKnZtLAo+IHN0cnVjdCB4ZV92bWEgKnZtYSwKPiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB1MzIgbnVtX3N5 bmNzLCBib29sIGZpcnN0X29wLCBib29sIGxhc3Rfb3ApCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDC oHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlOwo+ICvCoMKgwqDCoMKgwqDCoHN0cnVjdCB4ZV9leGVj X3F1ZXVlICp3YWl0X2V4ZWNfcXVldWUgPQo+IHRvX3dhaXRfZXhlY19xdWV1ZSh2bSwgcSk7Cj4g wqAKPiDCoMKgwqDCoMKgwqDCoMKgeGVfdm1fYXNzZXJ0X2hlbGQodm0pOwo+IMKgwqDCoMKgwqDC oMKgwqB4ZV9ib19hc3NlcnRfaGVsZCh4ZV92bWFfYm8odm1hKSk7Cj4gQEAgLTE3MzQsNiArMTc1 Myw4IEBAIHN0YXRpYyBpbnQgeGVfdm1fdW5iaW5kKHN0cnVjdCB4ZV92bSAqdm0sCj4gc3RydWN0 IHhlX3ZtYSAqdm1hLAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIFBU Ul9FUlIoZmVuY2UpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHhlX3ZtYV9kZXN0cm95KHZtYSwg ZmVuY2UpOwo+ICvCoMKgwqDCoMKgwqDCoGlmIChsYXN0X29wKQo+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqB4ZV9leGVjX3F1ZXVlX2xhc3RfZmVuY2Vfc2V0KHdhaXRfZXhlY19xdWV1 ZSwgdm0sCj4gZmVuY2UpOwo+IMKgwqDCoMKgwqDCoMKgwqBpZiAobGFzdF9vcCAmJiB4ZV92bV9z eW5jX21vZGUodm0sIHEpKQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZG1hX2Zl bmNlX3dhaXQoZmVuY2UsIHRydWUpOwo+IMKgwqDCoMKgwqDCoMKgwqBkbWFfZmVuY2VfcHV0KGZl bmNlKTsKPiBAQCAtMTg3Niw2ICsxODk3LDcgQEAgc3RhdGljIGludCB4ZV92bV9wcmVmZXRjaChz dHJ1Y3QgeGVfdm0gKnZtLAo+IHN0cnVjdCB4ZV92bWEgKnZtYSwKPiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgeGVfc3luY19lbnRyeSAq c3luY3MsIHUzMiBudW1fc3luY3MsCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgYm9vbCBmaXJzdF9vcCwgYm9vbCBsYXN0X29wKQo+IMKgewo+ICvC oMKgwqDCoMKgwqDCoHN0cnVjdCB4ZV9leGVjX3F1ZXVlICp3YWl0X2V4ZWNfcXVldWUgPQo+IHRv X3dhaXRfZXhlY19xdWV1ZSh2bSwgcSk7Cj4gwqDCoMKgwqDCoMKgwqDCoGludCBlcnI7Cj4gwqAK PiDCoMKgwqDCoMKgwqDCoMKgeGVfYXNzZXJ0KHZtLT54ZSwgcmVnaW9uIDw9IEFSUkFZX1NJWkUo cmVnaW9uX3RvX21lbV90eXBlKSk7Cj4gQEAgLTE4OTQsOSArMTkxNiwxMiBAQCBzdGF0aWMgaW50 IHhlX3ZtX3ByZWZldGNoKHN0cnVjdCB4ZV92bSAqdm0sCj4gc3RydWN0IHhlX3ZtYSAqdm1hLAo+ IMKgCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAvKiBOb3RoaW5nIHRvIGRvLCBz aWduYWwgZmVuY2VzIG5vdyAqLwo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWYg KGxhc3Rfb3ApIHsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoGZvciAoaSA9IDA7IGkgPCBudW1fc3luY3M7IGkrKykKPiAtwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB4ZV9zeW5jX2VudHJ5 X3NpZ25hbCgmc3luY3NbaV0sIE5VTEwsCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoAo+IGRtYV9mZW5jZV9nZXRfc3R1YigpKTsKPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGZvciAoaSA9IDA7IGkgPCBudW1fc3lu Y3M7IGkrKykgewo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlID0KPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgeGVfZXhlY19xdWV1ZV9sYXN0X2ZlbmNlX2dldCgKPiB3YWl0X2V4ZWNfcXVl dWUsIHZtKTsKPiArCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgeGVfc3luY19lbnRyeV9zaWduYWwoJnN5bmNzW2ldLCBOVUxM LAo+IGZlbmNlKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoH0KPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoH0KPiDCoAo+IMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gQEAgLTI5NTEsOCArMjk3NiwxMiBA QCBpbnQgeGVfdm1fYmluZF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+IHZvaWQgKmRh dGEsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSkKPiDCoHVud2luZF9vcHM6Cj4gwqDCoMKgwqDCoMKg wqDCoHZtX2JpbmRfaW9jdGxfb3BzX3Vud2luZCh2bSwgb3BzLCBhcmdzLT5udW1fYmluZHMpOwo+ IMKgZnJlZV9zeW5jczoKPiAtwqDCoMKgwqDCoMKgwqBmb3IgKGkgPSAwOyBlcnIgPT0gLUVOT0RB VEEgJiYgaSA8IG51bV9zeW5jczsgaSsrKQo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqB4ZV9zeW5jX2VudHJ5X3NpZ25hbCgmc3luY3NbaV0sIE5VTEwsCj4gZG1hX2ZlbmNlX2dldF9z dHViKCkpOwo+ICvCoMKgwqDCoMKgwqDCoGZvciAoaSA9IDA7IGVyciA9PSAtRU5PREFUQSAmJiBp IDwgbnVtX3N5bmNzOyBpKyspIHsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgc3Ry dWN0IGRtYV9mZW5jZSAqZmVuY2UgPQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgeGVfZXhlY19xdWV1ZV9sYXN0X2ZlbmNlX2dldCh0b193YWl0X2V4ZWNf cXVlCj4gdWUodm0sIHEpLCB2bSk7Cj4gKwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqB4ZV9zeW5jX2VudHJ5X3NpZ25hbCgmc3luY3NbaV0sIE5VTEwsIGZlbmNlKTsKPiArwqDCoMKg wqDCoMKgwqB9Cj4gwqDCoMKgwqDCoMKgwqDCoHdoaWxlIChudW1fc3luY3MtLSkKPiDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHhlX3N5bmNfZW50cnlfY2xlYW51cCgmc3luY3NbbnVt X3N5bmNzXSk7Cj4gwqAKCg==