From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeff McGee Subject: Re: [PATCH 3/5] drm/i915: Move engine reset prepare/finish to backends Date: Thu, 22 Mar 2018 08:28:06 -0700 Message-ID: <20180322152806.GJ19343@jeffdesk> References: <20180320001848.4405-1-chris@chris-wilson.co.uk> <20180320001848.4405-3-chris@chris-wilson.co.uk> 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 1255D6ECB5 for ; Thu, 22 Mar 2018 15:43:03 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20180320001848.4405-3-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBNYXIgMjAsIDIwMTggYXQgMTI6MTg6NDZBTSArMDAwMCwgQ2hyaXMgV2lsc29uIHdy b3RlOgo+IEluIHByZXBhcmF0aW9uIHRvIG1vcmUgY2FyZWZ1bGx5IGhhbmRsaW5nIGluY29tcGxl dGUgcHJlZW1wdGlvbiBkdXJpbmcKPiByZXNldCBieSBleGVjbGlzdHMsIHdlIG1vdmUgdGhlIGV4 aXN0aW5nIGNvZGUgd2hvbGVzYWxlIHRvIHRoZSBiYWNrZW5kcwo+IHVuZGVyIGEgY291cGxlIG9m IG5ldyByZXNldCB2ZnVuY3MuCj4gCj4gU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJp c0BjaHJpcy13aWxzb24uY28udWs+Cj4gQ2M6IE1pY2hhxYIgV2luaWFyc2tpIDxtaWNoYWwud2lu aWFyc2tpQGludGVsLmNvbT4KPiBDQzogTWljaGVsIFRoaWVycnkgPG1pY2hlbC50aGllcnJ5QGlu dGVsLmNvbT4KPiBDYzogSmVmZiBNY0dlZSA8amVmZi5tY2dlZUBpbnRlbC5jb20+Cj4gLS0tCj4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAgICB8IDQyICsrKystLS0tLS0t LS0tLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jICAgICAg ICB8IDUyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQo+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMgfCAyMCArKysrKysrKysrKy0tCj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCB8ICA5ICsrKystLQo+ICA0IGZpbGVzIGNo YW5nZWQsIDc4IGluc2VydGlvbnMoKyksIDQ1IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW0uYwo+IGluZGV4IDgwMmRmOGUxYTU0NC4uMzhmNzE2MGQ5OWM5IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbS5jCj4gQEAgLTI5MTcsNyArMjkxNyw3IEBAIHN0YXRpYyBib29sIGVu Z2luZV9zdGFsbGVkKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAgc3RydWN0IGk5 MTVfcmVxdWVzdCAqCj4gIGk5MTVfZ2VtX3Jlc2V0X3ByZXBhcmVfZW5naW5lKHN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAgewo+IC0Jc3RydWN0IGk5MTVfcmVxdWVzdCAqcmVxdWVz dCA9IE5VTEw7Cj4gKwlzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpyZXF1ZXN0Owo+ICAKPiAgCS8qCj4g IAkgKiBEdXJpbmcgdGhlIHJlc2V0IHNlcXVlbmNlLCB3ZSBtdXN0IHByZXZlbnQgdGhlIGVuZ2lu ZSBmcm9tCj4gQEAgLTI5NDAsNDAgKzI5NDAsNyBAQCBpOTE1X2dlbV9yZXNldF9wcmVwYXJlX2Vu Z2luZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gIAkgKi8KPiAgCWt0aHJlYWRf cGFyayhlbmdpbmUtPmJyZWFkY3J1bWJzLnNpZ25hbGVyKTsKPiAgCj4gLQkvKgo+IC0JICogUHJl dmVudCByZXF1ZXN0IHN1Ym1pc3Npb24gdG8gdGhlIGhhcmR3YXJlIHVudGlsIHdlIGhhdmUKPiAt CSAqIGNvbXBsZXRlZCB0aGUgcmVzZXQgaW4gaTkxNV9nZW1fcmVzZXRfZmluaXNoKCkuIElmIGEg cmVxdWVzdAo+IC0JICogaXMgY29tcGxldGVkIGJ5IG9uZSBlbmdpbmUsIGl0IG1heSB0aGVuIHF1 ZXVlIGEgcmVxdWVzdAo+IC0JICogdG8gYSBzZWNvbmQgdmlhIGl0cyBleGVjbGlzdHMtPnRhc2ts ZXQgKmp1c3QqIGFzIHdlIGFyZQo+IC0JICogY2FsbGluZyBlbmdpbmUtPmluaXRfaHcoKSBhbmQg YWxzbyB3cml0aW5nIHRoZSBFTFNQLgo+IC0JICogVHVybmluZyBvZmYgdGhlIGV4ZWNsaXN0cy0+ dGFza2xldCB1bnRpbCB0aGUgcmVzZXQgaXMgb3Zlcgo+IC0JICogcHJldmVudHMgdGhlIHJhY2Uu Cj4gLQkgKgo+IC0JICogTm90ZSB0aGF0IHRoaXMgbmVlZHMgdG8gYmUgYSBzaW5nbGUgYXRvbWlj IG9wZXJhdGlvbiBvbiB0aGUKPiAtCSAqIHRhc2tsZXQgKGZsdXNoIGV4aXN0aW5nIHRhc2tzLCBw cmV2ZW50IG5ldyB0YXNrcykgdG8gcHJldmVudAo+IC0JICogYSByYWNlIGJldHdlZW4gcmVzZXQg YW5kIHNldC13ZWRnZWQuIEl0IGlzIG5vdCwgc28gd2UgZG8gdGhlIGJlc3QKPiAtCSAqIHdlIGNh biBhdG0gYW5kIG1ha2Ugc3VyZSB3ZSBkb24ndCBsb2NrIHRoZSBtYWNoaW5lIHVwIGluIHRoZSBt b3JlCj4gLQkgKiBjb21tb24gY2FzZSBvZiByZWN1cnNpdmVseSBiZWluZyBjYWxsZWQgZnJvbSBz ZXQtd2VkZ2VkIGZyb20gaW5zaWRlCj4gLQkgKiBpOTE1X3Jlc2V0Lgo+IC0JICovCj4gLQlpZiAo IWF0b21pY19yZWFkKCZlbmdpbmUtPmV4ZWNsaXN0cy50YXNrbGV0LmNvdW50KSkKPiAtCQl0YXNr bGV0X2tpbGwoJmVuZ2luZS0+ZXhlY2xpc3RzLnRhc2tsZXQpOwo+IC0JdGFza2xldF9kaXNhYmxl KCZlbmdpbmUtPmV4ZWNsaXN0cy50YXNrbGV0KTsKPiAtCj4gLQkvKgo+IC0JICogV2UncmUgdXNp bmcgd29ya2VyIHRvIHF1ZXVlIHByZWVtcHRpb24gcmVxdWVzdHMgZnJvbSB0aGUgdGFza2xldCBp bgo+IC0JICogR3VDIHN1Ym1pc3Npb24gbW9kZS4KPiAtCSAqIEV2ZW4gdGhvdWdoIHRhc2tsZXQg d2FzIGRpc2FibGVkLCB3ZSBtYXkgc3RpbGwgaGF2ZSBhIHdvcmtlciBxdWV1ZWQuCj4gLQkgKiBM ZXQncyBtYWtlIHN1cmUgdGhhdCBhbGwgd29ya2VycyBzY2hlZHVsZWQgYmVmb3JlIGRpc2FibGlu ZyB0aGUKPiAtCSAqIHRhc2tsZXQgYXJlIGNvbXBsZXRlZCBiZWZvcmUgY29udGludWluZyB3aXRo IHRoZSByZXNldC4KPiAtCSAqLwo+IC0JaWYgKGVuZ2luZS0+aTkxNS0+Z3VjLnByZWVtcHRfd3Ep Cj4gLQkJZmx1c2hfd29ya3F1ZXVlKGVuZ2luZS0+aTkxNS0+Z3VjLnByZWVtcHRfd3EpOwo+IC0K PiAtCWlmIChlbmdpbmUtPmlycV9zZXFub19iYXJyaWVyKQo+IC0JCWVuZ2luZS0+aXJxX3NlcW5v X2JhcnJpZXIoZW5naW5lKTsKPiAtCj4gLQlyZXF1ZXN0ID0gaTkxNV9nZW1fZmluZF9hY3RpdmVf cmVxdWVzdChlbmdpbmUpOwo+ICsJcmVxdWVzdCA9IGVuZ2luZS0+cmVzZXQucHJlcGFyZShlbmdp bmUpOwo+ICAJaWYgKHJlcXVlc3QgJiYgcmVxdWVzdC0+ZmVuY2UuZXJyb3IgPT0gLUVJTykKPiAg CQlyZXF1ZXN0ID0gRVJSX1BUUigtRUlPKTsgLyogUHJldmlvdXMgcmVzZXQgZmFpbGVkISAqLwo+ ICAKPiBAQCAtMzEyMCw3ICszMDg3LDcgQEAgdm9pZCBpOTE1X2dlbV9yZXNldF9lbmdpbmUoc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAo+ICAJfQo+ICAKPiAgCS8qIFNldHVwIHRoZSBD UyB0byByZXN1bWUgZnJvbSB0aGUgYnJlYWRjcnVtYiBvZiB0aGUgaHVuZyByZXF1ZXN0ICovCj4g LQllbmdpbmUtPnJlc2V0X2h3KGVuZ2luZSwgcmVxdWVzdCk7Cj4gKwllbmdpbmUtPnJlc2V0LnJl c2V0KGVuZ2luZSwgcmVxdWVzdCk7Cj4gIH0KPiAgCj4gIHZvaWQgaTkxNV9nZW1fcmVzZXQoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+IEBAIC0zMTcyLDcgKzMxMzksOCBAQCB2 b2lkIGk5MTVfZ2VtX3Jlc2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAg Cj4gIHZvaWQgaTkxNV9nZW1fcmVzZXRfZmluaXNoX2VuZ2luZShzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICplbmdpbmUpCj4gIHsKPiAtCXRhc2tsZXRfZW5hYmxlKCZlbmdpbmUtPmV4ZWNsaXN0cy50 YXNrbGV0KTsKPiArCWVuZ2luZS0+cmVzZXQuZmluaXNoKGVuZ2luZSk7Cj4gKwo+ICAJa3RocmVh ZF91bnBhcmsoZW5naW5lLT5icmVhZGNydW1icy5zaWduYWxlcik7Cj4gIAo+ICAJaW50ZWxfdW5j b3JlX2ZvcmNld2FrZV9wdXQoZW5naW5lLT5pOTE1LCBGT1JDRVdBS0VfQUxMKTsKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9scmMuYwo+IGluZGV4IDBiZmFlYjU2YjhjNy4uZjY2MmE5NTI0MjMzIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiBAQCAtMTY2Myw2ICsxNjYzLDQ0IEBAIHN0YXRp YyBpbnQgZ2VuOV9pbml0X3JlbmRlcl9yaW5nKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2lu ZSkKPiAgCXJldHVybiBpbml0X3dvcmthcm91bmRzX3JpbmcoZW5naW5lKTsKPiAgfQo+ICAKPiAr c3RhdGljIHN0cnVjdCBpOTE1X3JlcXVlc3QgKgo+ICtleGVjbGlzdHNfcmVzZXRfcHJlcGFyZShz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gK3sKPiArCXN0cnVjdCBpbnRlbF9lbmdp bmVfZXhlY2xpc3RzICogY29uc3QgZXhlY2xpc3RzID0gJmVuZ2luZS0+ZXhlY2xpc3RzOwo+ICsK PiArCS8qCj4gKwkgKiBQcmV2ZW50IHJlcXVlc3Qgc3VibWlzc2lvbiB0byB0aGUgaGFyZHdhcmUg dW50aWwgd2UgaGF2ZQo+ICsJICogY29tcGxldGVkIHRoZSByZXNldCBpbiBpOTE1X2dlbV9yZXNl dF9maW5pc2goKS4gSWYgYSByZXF1ZXN0Cj4gKwkgKiBpcyBjb21wbGV0ZWQgYnkgb25lIGVuZ2lu ZSwgaXQgbWF5IHRoZW4gcXVldWUgYSByZXF1ZXN0Cj4gKwkgKiB0byBhIHNlY29uZCB2aWEgaXRz IGV4ZWNsaXN0cy0+dGFza2xldCAqanVzdCogYXMgd2UgYXJlCj4gKwkgKiBjYWxsaW5nIGVuZ2lu ZS0+aW5pdF9odygpIGFuZCBhbHNvIHdyaXRpbmcgdGhlIEVMU1AuCj4gKwkgKiBUdXJuaW5nIG9m ZiB0aGUgZXhlY2xpc3RzLT50YXNrbGV0IHVudGlsIHRoZSByZXNldCBpcyBvdmVyCj4gKwkgKiBw cmV2ZW50cyB0aGUgcmFjZS4KPiArCSAqCj4gKwkgKiBOb3RlIHRoYXQgdGhpcyBuZWVkcyB0byBi ZSBhIHNpbmdsZSBhdG9taWMgb3BlcmF0aW9uIG9uIHRoZQo+ICsJICogdGFza2xldCAoZmx1c2gg ZXhpc3RpbmcgdGFza3MsIHByZXZlbnQgbmV3IHRhc2tzKSB0byBwcmV2ZW50Cj4gKwkgKiBhIHJh Y2UgYmV0d2VlbiByZXNldCBhbmQgc2V0LXdlZGdlZC4gSXQgaXMgbm90LCBzbyB3ZSBkbyB0aGUg YmVzdAo+ICsJICogd2UgY2FuIGF0bSBhbmQgbWFrZSBzdXJlIHdlIGRvbid0IGxvY2sgdGhlIG1h Y2hpbmUgdXAgaW4gdGhlIG1vcmUKPiArCSAqIGNvbW1vbiBjYXNlIG9mIHJlY3Vyc2l2ZWx5IGJl aW5nIGNhbGxlZCBmcm9tIHNldC13ZWRnZWQgZnJvbSBpbnNpZGUKPiArCSAqIGk5MTVfcmVzZXQu Cj4gKwkgKi8KPiArCWlmICghYXRvbWljX3JlYWQoJmV4ZWNsaXN0cy0+dGFza2xldC5jb3VudCkp Cj4gKwkJdGFza2xldF9raWxsKCZleGVjbGlzdHMtPnRhc2tsZXQpOwo+ICsJdGFza2xldF9kaXNh YmxlKCZleGVjbGlzdHMtPnRhc2tsZXQpOwo+ICsKPiArCS8qCj4gKwkgKiBXZSdyZSB1c2luZyB3 b3JrZXIgdG8gcXVldWUgcHJlZW1wdGlvbiByZXF1ZXN0cyBmcm9tIHRoZSB0YXNrbGV0IGluCj4g KwkgKiBHdUMgc3VibWlzc2lvbiBtb2RlLgo+ICsJICogRXZlbiB0aG91Z2ggdGFza2xldCB3YXMg ZGlzYWJsZWQsIHdlIG1heSBzdGlsbCBoYXZlIGEgd29ya2VyIHF1ZXVlZC4KPiArCSAqIExldCdz IG1ha2Ugc3VyZSB0aGF0IGFsbCB3b3JrZXJzIHNjaGVkdWxlZCBiZWZvcmUgZGlzYWJsaW5nIHRo ZQo+ICsJICogdGFza2xldCBhcmUgY29tcGxldGVkIGJlZm9yZSBjb250aW51aW5nIHdpdGggdGhl IHJlc2V0Lgo+ICsJICovCj4gKwlpZiAoZW5naW5lLT5pOTE1LT5ndWMucHJlZW1wdF93cSkKPiAr CQlmbHVzaF93b3JrcXVldWUoZW5naW5lLT5pOTE1LT5ndWMucHJlZW1wdF93cSk7Cj4gKwo+ICsJ cmV0dXJuIGk5MTVfZ2VtX2ZpbmRfYWN0aXZlX3JlcXVlc3QoZW5naW5lKTsKPiArfQo+ICsKPiAg c3RhdGljIHZvaWQgcmVzZXRfaXJxKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAg ewo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZW5naW5lLT5pOTE1Owo+ IEBAIC0xNjkyLDggKzE3MzAsOCBAQCBzdGF0aWMgdm9pZCByZXNldF9pcnEoc3RydWN0IGludGVs X2VuZ2luZV9jcyAqZW5naW5lKQo+ICAJY2xlYXJfYml0KEVOR0lORV9JUlFfRVhFQ0xJU1QsICZl bmdpbmUtPmlycV9wb3N0ZWQpOwo+ICB9Cj4gIAo+IC1zdGF0aWMgdm9pZCByZXNldF9jb21tb25f cmluZyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCj4gLQkJCSAgICAgIHN0cnVjdCBp OTE1X3JlcXVlc3QgKnJlcXVlc3QpCj4gK3N0YXRpYyB2b2lkIGV4ZWNsaXN0c19yZXNldChzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCj4gKwkJCSAgICBzdHJ1Y3QgaTkxNV9yZXF1ZXN0 ICpyZXF1ZXN0KQo+ICB7Cj4gIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2V4ZWNsaXN0cyAqIGNvbnN0 IGV4ZWNsaXN0cyA9ICZlbmdpbmUtPmV4ZWNsaXN0czsKPiAgCXN0cnVjdCBpbnRlbF9jb250ZXh0 ICpjZTsKPiBAQCAtMTc2Niw2ICsxODA0LDExIEBAIHN0YXRpYyB2b2lkIHJlc2V0X2NvbW1vbl9y aW5nKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKPiAgCXVud2luZF93YV90YWlsKHJl cXVlc3QpOwo+ICB9Cj4gIAo+ICtzdGF0aWMgdm9pZCBleGVjbGlzdHNfcmVzZXRfZmluaXNoKHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiArewo+ICsJdGFza2xldF9lbmFibGUoJmVu Z2luZS0+ZXhlY2xpc3RzLnRhc2tsZXQpOwo+ICt9Cj4gKwo+ICBzdGF0aWMgaW50IGludGVsX2xv Z2ljYWxfcmluZ19lbWl0X3BkcHMoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEpCj4gIHsKPiAgCXN0 cnVjdCBpOTE1X2h3X3BwZ3R0ICpwcGd0dCA9IHJxLT5jdHgtPnBwZ3R0Owo+IEBAIC0yMDkwLDcg KzIxMzMsMTAgQEAgbG9naWNhbF9yaW5nX2RlZmF1bHRfdmZ1bmNzKHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZSkKPiAgewo+ICAJLyogRGVmYXVsdCB2ZnVuY3Mgd2hpY2ggY2FuIGJlIG92 ZXJyaWRlbiBieSBlYWNoIGVuZ2luZS4gKi8KPiAgCWVuZ2luZS0+aW5pdF9odyA9IGdlbjhfaW5p dF9jb21tb25fcmluZzsKPiAtCWVuZ2luZS0+cmVzZXRfaHcgPSByZXNldF9jb21tb25fcmluZzsK PiArCj4gKwllbmdpbmUtPnJlc2V0LnByZXBhcmUgPSBleGVjbGlzdHNfcmVzZXRfcHJlcGFyZTsK PiArCWVuZ2luZS0+cmVzZXQucmVzZXQgPSBleGVjbGlzdHNfcmVzZXQ7Cj4gKwllbmdpbmUtPnJl c2V0LmZpbmlzaCA9IGV4ZWNsaXN0c19yZXNldF9maW5pc2g7Cj4gIAo+ICAJZW5naW5lLT5jb250 ZXh0X3BpbiA9IGV4ZWNsaXN0c19jb250ZXh0X3BpbjsKPiAgCWVuZ2luZS0+Y29udGV4dF91bnBp biA9IGV4ZWNsaXN0c19jb250ZXh0X3VucGluOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9y aW5nYnVmZmVyLmMKPiBpbmRleCAwNGQ5ZDlhOTQ2YTcuLmVlYmNjODc3ZWY2MCAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKPiBAQCAtNTMwLDggKzUzMCwxNiBA QCBzdGF0aWMgaW50IGluaXRfcmluZ19jb21tb24oc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5n aW5lKQo+ICAJcmV0dXJuIHJldDsKPiAgfQo+ICAKPiAtc3RhdGljIHZvaWQgcmVzZXRfcmluZ19j b21tb24oc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAo+IC0JCQkgICAgICBzdHJ1Y3Qg aTkxNV9yZXF1ZXN0ICpyZXF1ZXN0KQo+ICtzdGF0aWMgc3RydWN0IGk5MTVfcmVxdWVzdCAqcmVz ZXRfcHJlcGFyZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gK3sKPiArCWlmIChl bmdpbmUtPmlycV9zZXFub19iYXJyaWVyKQo+ICsJCWVuZ2luZS0+aXJxX3NlcW5vX2JhcnJpZXIo ZW5naW5lKTsKPiArCj4gKwlyZXR1cm4gaTkxNV9nZW1fZmluZF9hY3RpdmVfcmVxdWVzdChlbmdp bmUpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCByZXNldF9yaW5nKHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZSwKPiArCQkgICAgICAgc3RydWN0IGk5MTVfcmVxdWVzdCAqcmVxdWVzdCkK PiAgewo+ICAJLyoKPiAgCSAqIFJDNiBtdXN0IGJlIHByZXZlbnRlZCB1bnRpbCB0aGUgcmVzZXQg aXMgY29tcGxldGUgYW5kIHRoZSBlbmdpbmUKPiBAQCAtNTk1LDYgKzYwMywxMCBAQCBzdGF0aWMg dm9pZCByZXNldF9yaW5nX2NvbW1vbihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCj4g IAl9Cj4gIH0KPiAgCj4gK3N0YXRpYyB2b2lkIHJlc2V0X2ZpbmlzaChzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICplbmdpbmUpCj4gK3sKPiArfQo+ICsKPiAgc3RhdGljIGludCBpbnRlbF9yY3NfY3R4 X2luaXQoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEpCj4gIHsKPiAgCWludCByZXQ7Cj4gQEAgLTE5 ODcsNyArMTk5OSw5IEBAIHN0YXRpYyB2b2lkIGludGVsX3JpbmdfZGVmYXVsdF92ZnVuY3Moc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJaW50ZWxfcmluZ19pbml0X3NlbWFw aG9yZXMoZGV2X3ByaXYsIGVuZ2luZSk7Cj4gIAo+ICAJZW5naW5lLT5pbml0X2h3ID0gaW5pdF9y aW5nX2NvbW1vbjsKPiAtCWVuZ2luZS0+cmVzZXRfaHcgPSByZXNldF9yaW5nX2NvbW1vbjsKPiAr CWVuZ2luZS0+cmVzZXQucHJlcGFyZSA9IHJlc2V0X3ByZXBhcmU7Cj4gKwllbmdpbmUtPnJlc2V0 LnJlc2V0ID0gcmVzZXRfcmluZzsKPiArCWVuZ2luZS0+cmVzZXQuZmluaXNoID0gcmVzZXRfZmlu aXNoOwo+ICAKPiAgCWVuZ2luZS0+Y29udGV4dF9waW4gPSBpbnRlbF9yaW5nX2NvbnRleHRfcGlu Owo+ICAJZW5naW5lLT5jb250ZXh0X3VucGluID0gaW50ZWxfcmluZ19jb250ZXh0X3VucGluOwo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKPiBpbmRleCAxZjUwNzI3YTVk ZGIuLmUyNjgxMzAzY2UyMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9yaW5nYnVmZmVyLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVm ZmVyLmgKPiBAQCAtNDE4LDggKzQxOCwxMyBAQCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzIHsKPiAg CXZvaWQJCSgqaXJxX2Rpc2FibGUpKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSk7Cj4g IAo+ICAJaW50CQkoKmluaXRfaHcpKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSk7Cj4g LQl2b2lkCQkoKnJlc2V0X2h3KShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCj4gLQkJ CQkgICAgc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEpOwo+ICsKPiArCXN0cnVjdCB7Cj4gKwkJc3Ry dWN0IGk5MTVfcmVxdWVzdCAqKCpwcmVwYXJlKShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdp bmUpOwo+ICsJCXZvaWQgKCpyZXNldCkoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAo+ ICsJCQkgICAgICBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSk7Cj4gKwkJdm9pZCAoKmZpbmlzaCko c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKTsKPiArCX0gcmVzZXQ7Cj4gIAo+ICAJdm9p ZAkJKCpwYXJrKShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpOwo+ICAJdm9pZAkJKCp1 bnBhcmspKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSk7Cj4gLS0gCj4gMi4xNi4yCj4g CgpSZXZpZXdlZC1ieTogSmVmZiBNY0dlZSA8amVmZi5tY2dlZUBpbnRlbC5jb20+Cl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=