From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joonas Lahtinen Subject: Re: [PATCH 12/18] drm/i915: Unify request submission Date: Fri, 22 Jul 2016 11:03:19 +0300 Message-ID: <1469174599.5916.8.camel@linux.intel.com> References: <1469020330-1071-1-git-send-email-chris@chris-wilson.co.uk> <1469020330-1071-13-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 947116EABA for ; Fri, 22 Jul 2016 08:03:23 +0000 (UTC) In-Reply-To: <1469020330-1071-13-git-send-email-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 , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24ga2UsIDIwMTYtMDctMjAgYXQgMTQ6MTIgKzAxMDAsIENocmlzIFdpbHNvbiB3cm90ZToKPiBN b3ZlIHJlcXVlc3Qgc3VibWlzc2lvbiBmcm9tIGVtaXRfcmVxdWVzdCBpbnRvIGl0cyBvd24gY29t bW9uIHZmdW5jCj4gZnJvbSBpOTE1X2FkZF9yZXF1ZXN0KCkuCj4gCj4gU2lnbmVkLW9mZi1ieTog Q2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4gLS0tCj4gwqBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmPCoMKgwqDCoHzCoMKgNyArKystLS0tCj4g wqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMgfMKgwqA5ICsrKysr Ky0tLQo+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmjCoMKgwqDCoMKgwqDCoMKg wqDCoMKgfMKgwqAxIC0KPiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jwqDCoMKg wqDCoMKgwqDCoMKgwqDCoHwgMTAgKysrLS0tLS0tLQo+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcmluZ2J1ZmZlci5jwqDCoMKgwqB8IDI2ICsrKysrKysrKystLS0tLS0tLS0tLS0tLS0t Cj4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmjCoMKgwqDCoHwgMjMg KysrKysrKysrKystLS0tLS0tLS0tLS0KPiDCoDYgZmlsZXMgY2hhbmdlZCwgMzMgaW5zZXJ0aW9u cygrKSwgNDMgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX3JlcXVlc3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3Jl cXVlc3QuYwo+IGluZGV4IDQwOGYzOTBhNGM5OC4uM2U2MzNiNDcyMTNjIDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYwo+IEBAIC00NjksMTIgKzQ2OSwxMCBAQCB2 b2lkIF9faTkxNV9hZGRfcmVxdWVzdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVl c3QsCj4gwqAJwqAqLwo+IMKgCXJlcXVlc3QtPnBvc3RmaXggPSBpbnRlbF9yaW5nX2dldF90YWls KHJpbmcpOwo+IMKgCj4gLQlpZiAoaTkxNS5lbmFibGVfZXhlY2xpc3RzKQo+IC0JCXJldCA9IGVu Z2luZS0+ZW1pdF9yZXF1ZXN0KHJlcXVlc3QpOwo+IC0JZWxzZQo+IC0JCXJldCA9IGVuZ2luZS0+ YWRkX3JlcXVlc3QocmVxdWVzdCk7Cj4gwqAJLyogTm90IGFsbG93ZWQgdG8gZmFpbCEgKi8KPiAr CXJldCA9IGVuZ2luZS0+ZW1pdF9yZXF1ZXN0KHJlcXVlc3QpOwo+IMKgCVdBUk4ocmV0LCAiZW1p dHxhZGRfcmVxdWVzdCBmYWlsZWQ6ICVkIVxuIiwgcmV0KTsKCllvdSBzaG91bGQgZml4IHRoZSBt ZXNzYWdlIHRvbzsgcy98YWRkLy8KCj4gKwo+IMKgCS8qIFNhbml0eSBjaGVjayB0aGF0IHRoZSBy ZXNlcnZlZCBzaXplIHdhcyBsYXJnZSBlbm91Z2guICovCj4gwqAJcmV0ID0gaW50ZWxfcmluZ19n ZXRfdGFpbChyaW5nKSAtIHJlcXVlc3Rfc3RhcnQ7Cj4gwqAJaWYgKHJldCA8IDApCj4gQEAgLTQ4 NSw2ICs0ODMsNyBAQCB2b2lkIF9faTkxNV9hZGRfcmVxdWVzdChzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X3JlcXVlc3QgKnJlcXVlc3QsCj4gwqAJCcKgwqByZXNlcnZlZF90YWlsLCByZXQpOwo+IMKgCj4g wqAJaTkxNV9nZW1fbWFya19idXN5KGVuZ2luZSk7Cj4gKwllbmdpbmUtPnN1Ym1pdF9yZXF1ZXN0 KHJlcXVlc3QpOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgdW5zaWduZWQgbG9uZyBsb2NhbF9jbG9j a191cyh1bnNpZ25lZCBpbnQgKmNwdSkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNf c3VibWlzc2lvbi5jCj4gaW5kZXggZWNjZDM0ODMyZmU2Li4zMmQwZTE4OTA5NTAgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCj4gQEAgLTU4NSw3ICs1 ODUsNyBAQCBzdGF0aWMgaW50IGd1Y19yaW5nX2Rvb3JiZWxsKHN0cnVjdCBpOTE1X2d1Y19jbGll bnQgKmdjKQo+IMKgICogVGhlIG9ubHkgZXJyb3IgaGVyZSBhcmlzZXMgaWYgdGhlIGRvb3JiZWxs IGhhcmR3YXJlIGlzbid0IGZ1bmN0aW9uaW5nCj4gwqAgKiBhcyBleHBlY3RlZCwgd2hpY2ggcmVh bGx5IHNob3Vsbid0IGhhcHBlbi4KPiDCoCAqLwo+IC1pbnQgaTkxNV9ndWNfc3VibWl0KHN0cnVj dCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcnEpCj4gK3N0YXRpYyB2b2lkIGk5MTVfZ3VjX3N1Ym1p dChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJxKQo+IMKgewo+IMKgCXVuc2lnbmVkIGlu dCBlbmdpbmVfaWQgPSBycS0+ZW5naW5lLT5pZDsKPiDCoAlzdHJ1Y3QgaW50ZWxfZ3VjICpndWMg PSAmcnEtPmk5MTUtPmd1YzsKPiBAQCAtNjAyLDggKzYwMiw2IEBAIGludCBpOTE1X2d1Y19zdWJt aXQoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpycSkKPiDCoAo+IMKgCWd1Yy0+c3VibWlz c2lvbnNbZW5naW5lX2lkXSArPSAxOwo+IMKgCWd1Yy0+bGFzdF9zZXFub1tlbmdpbmVfaWRdID0g cnEtPmZlbmNlLnNlcW5vOwo+IC0KPiAtCXJldHVybiBiX3JldDsKCk1heWJlIHdlIHNob3VsZCBo YXZlIFdBUk4oYl9yZXQsICJzdW10aGluZyIpPyBBbHRob3VnaCBJIHNlZSB0aGUgcmV0dXJuCnZh bHVlIHdhcyBub3QgaGFuZGxlZCBwcmV2aW91c2x5LiBDQydpbmcgRGF2ZSB0byBjb21tZW50IG9u IHRvby4KCj4gwqB9Cj4gwqAKPiDCoC8qCj4gQEAgLTk5Miw2ICs5OTAsNyBAQCBpbnQgaTkxNV9n dWNfc3VibWlzc2lvbl9lbmFibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ IMKgewo+IMKgCXN0cnVjdCBpbnRlbF9ndWMgKmd1YyA9ICZkZXZfcHJpdi0+Z3VjOwo+IMKgCXN0 cnVjdCBpOTE1X2d1Y19jbGllbnQgKmNsaWVudDsKPiArCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KmVuZ2luZTsKPiDCoAo+IMKgCS8qIGNsaWVudCBmb3IgZXhlY2J1ZiBzdWJtaXNzaW9uICovCj4g wqAJY2xpZW50ID0gZ3VjX2NsaWVudF9hbGxvYyhkZXZfcHJpdiwKPiBAQCAtMTAwNiw2ICsxMDA1 LDEwIEBAIGludCBpOTE1X2d1Y19zdWJtaXNzaW9uX2VuYWJsZShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCj4gwqAJaG9zdDJndWNfc2FtcGxlX2ZvcmNld2FrZShndWMsIGNsaWVu dCk7Cj4gwqAJZ3VjX2luaXRfZG9vcmJlbGxfaHcoZ3VjKTsKPiDCoAo+ICsJLyogVGFrZSBvdmVy IGZyb20gbWFudWFsIGNvbnRyb2wgb2YgRUxTUCAoZXhlY2xpc3RzKSAqLwo+ICsJZm9yX2VhY2hf ZW5naW5lKGVuZ2luZSwgZGV2X3ByaXYpCj4gKwkJZW5naW5lLT5zdWJtaXRfcmVxdWVzdCA9IGk5 MTVfZ3VjX3N1Ym1pdDsKPiArCj4gwqAJcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9ndWMuaAo+IGluZGV4IDNlM2U3NDM3NDBjMC4uNjIzY2YyNmNkNzg0IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKPiBAQCAtMTYwLDcgKzE2MCw2IEBAIGV4dGVybiBpbnQg aW50ZWxfZ3VjX3Jlc3VtZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiDCoGludCBpOTE1X2d1 Y19zdWJtaXNzaW9uX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPiDC oGludCBpOTE1X2d1Y19zdWJtaXNzaW9uX2VuYWJsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpOwo+IMKgaW50IGk5MTVfZ3VjX3dxX2NoZWNrX3NwYWNlKHN0cnVjdCBkcm1faTkx NV9nZW1fcmVxdWVzdCAqcnEpOwo+IC1pbnQgaTkxNV9ndWNfc3VibWl0KHN0cnVjdCBkcm1faTkx NV9nZW1fcmVxdWVzdCAqcnEpOwo+IMKgdm9pZCBpOTE1X2d1Y19zdWJtaXNzaW9uX2Rpc2FibGUo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPiDCoHZvaWQgaTkxNV9ndWNfc3Vi bWlzc2lvbl9maW5pKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4gwqAKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9scmMuYwo+IGluZGV4IGQxN2ExOTNlOGVhZi4uNTJlZGJjYzliY2Ew IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiBAQCAtNzczLDEyICs3NzMsNiBAQCBp bnRlbF9sb2dpY2FsX3JpbmdfYWR2YW5jZV9hbmRfc3VibWl0KHN0cnVjdCBkcm1faTkxNV9nZW1f cmVxdWVzdCAqcmVxdWVzdCkKPiDCoAnCoCovCj4gwqAJcmVxdWVzdC0+cHJldmlvdXNfY29udGV4 dCA9IGVuZ2luZS0+bGFzdF9jb250ZXh0Owo+IMKgCWVuZ2luZS0+bGFzdF9jb250ZXh0ID0gcmVx dWVzdC0+Y3R4Owo+IC0KPiAtCWlmIChpOTE1LmVuYWJsZV9ndWNfc3VibWlzc2lvbikKPiAtCQlp OTE1X2d1Y19zdWJtaXQocmVxdWVzdCk7Cj4gLQllbHNlCj4gLQkJZXhlY2xpc3RzX2NvbnRleHRf cXVldWUocmVxdWVzdCk7Cj4gLQoKRnVuY3Rpb24gbmFtZSBpcyBzdGlsbCBhZHZhbmNlX2FuZF9z dWJtaXQsIGFuZCBub3cgdGhlIGNhbGwgdG8gc3VibWl0CmlzIG1vdmVkIHRvIGFkZF9yZXF1ZXN0 LCBJJ20gY29uZnVzZWQuCgo+IMKgCXJldHVybiAwOwo+IMKgfQo+IMKgCj4gQEAgLTE5MDQsOCAr MTg5OCwxMCBAQCBsb2dpY2FsX3JpbmdfZGVmYXVsdF92ZnVuY3Moc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqZW5naW5lKQo+IMKgewo+IMKgCS8qIERlZmF1bHQgdmZ1bmNzIHdoaWNoIGNhbiBiZSBv dmVycmlkZW4gYnkgZWFjaCBlbmdpbmUuICovCj4gwqAJZW5naW5lLT5pbml0X2h3ID0gZ2VuOF9p bml0X2NvbW1vbl9yaW5nOwo+IC0JZW5naW5lLT5lbWl0X3JlcXVlc3QgPSBnZW44X2VtaXRfcmVx dWVzdDsKPiDCoAllbmdpbmUtPmVtaXRfZmx1c2ggPSBnZW44X2VtaXRfZmx1c2g7Cj4gKwllbmdp bmUtPmVtaXRfcmVxdWVzdCA9IGdlbjhfZW1pdF9yZXF1ZXN0Owo+ICsJZW5naW5lLT5zdWJtaXRf cmVxdWVzdCA9IGV4ZWNsaXN0c19jb250ZXh0X3F1ZXVlOwoKZXhlY2xpc3RzX2NvbnRleHRfcXVl dWUgbmFtZSBjb3VsZCBiZSBjaGFuZ2VkIHRvbywganVzdCBkZWZpbmVkIGFuZCBvbmUKY2FsbGlu ZyBzaXRlLgoKPiArCj4gwqAJZW5naW5lLT5pcnFfZW5hYmxlID0gZ2VuOF9sb2dpY2FsX3Jpbmdf ZW5hYmxlX2lycTsKPiDCoAllbmdpbmUtPmlycV9kaXNhYmxlID0gZ2VuOF9sb2dpY2FsX3Jpbmdf ZGlzYWJsZV9pcnE7Cj4gwqAJZW5naW5lLT5lbWl0X2JiX3N0YXJ0ID0gZ2VuOF9lbWl0X2JiX3N0 YXJ0Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVy LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKPiBpbmRleCA0M2Rm YTRiZTFjZmQuLjkwN2Q5MzNkNjJhYSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9yaW5nYnVmZmVyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9y aW5nYnVmZmVyLmMKPiBAQCAtMTQyNywxNSArMTQyNywxNCBAQCBzdGF0aWMgaW50IGdlbjZfc2ln bmFsKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqc2lnbmFsbGVyX3JlcSwKPiDCoH0KPiDC oAo+IMKgLyoqCj4gLSAqIGdlbjZfYWRkX3JlcXVlc3QgLSBVcGRhdGUgdGhlIHNlbWFwaG9yZSBt YWlsYm94IHJlZ2lzdGVycwo+ICsgKiBnZW42X2VtaXRfcmVxdWVzdCAtIFVwZGF0ZSB0aGUgc2Vt YXBob3JlIG1haWxib3ggcmVnaXN0ZXJzCj4gwqAgKgo+IMKgICogQHJlcXVlc3QgLSByZXF1ZXN0 IHRvIHdyaXRlIHRvIHRoZSByaW5nCj4gwqAgKgo+IMKgICogVXBkYXRlIHRoZSBtYWlsYm94IHJl Z2lzdGVycyBpbiB0aGUgKm90aGVyKiByaW5ncyB3aXRoIHRoZSBjdXJyZW50IHNlcW5vLgo+IMKg ICogVGhpcyBhY3RzIGxpa2UgYSBzaWduYWwgaW4gdGhlIGNhbm9uaWNhbCBzZW1hcGhvcmUuCj4g wqAgKi8KPiAtc3RhdGljIGludAo+IC1nZW42X2FkZF9yZXF1ZXN0KHN0cnVjdCBkcm1faTkxNV9n ZW1fcmVxdWVzdCAqcmVxKQo+ICtzdGF0aWMgaW50IGdlbjZfZW1pdF9yZXF1ZXN0KHN0cnVjdCBk cm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKQo+IMKgewo+IMKgCXN0cnVjdCBpbnRlbF9yaW5nICpy aW5nID0gcmVxLT5yaW5nOwo+IMKgCWludCByZXQ7Cj4gQEAgLTE0NTYsMTMgKzE0NTUsMTAgQEAg Z2VuNl9hZGRfcmVxdWVzdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKPiDCoAo+ IMKgCXJlcS0+dGFpbCA9IGludGVsX3JpbmdfZ2V0X3RhaWwocmluZyk7Cj4gwqAKPiAtCXJlcS0+ ZW5naW5lLT5zdWJtaXRfcmVxdWVzdChyZXEpOwo+IC0KPiDCoAlyZXR1cm4gMDsKPiDCoH0KPiDC oAo+IC1zdGF0aWMgaW50Cj4gLWdlbjhfcmVuZGVyX2FkZF9yZXF1ZXN0KHN0cnVjdCBkcm1faTkx NV9nZW1fcmVxdWVzdCAqcmVxKQo+ICtzdGF0aWMgaW50IGdlbjhfcmVuZGVyX2VtaXRfcmVxdWVz dChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKPiDCoHsKPiDCoAlzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICplbmdpbmUgPSByZXEtPmVuZ2luZTsKPiDCoAlzdHJ1Y3QgaW50ZWxfcmlu ZyAqcmluZyA9IHJlcS0+cmluZzsKPiBAQCAtMTQ4Niw4ICsxNDgyLDkgQEAgZ2VuOF9yZW5kZXJf YWRkX3JlcXVlc3Qoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCj4gwqAJaW50ZWxf cmluZ19lbWl0KHJpbmcsIDApOwo+IMKgCWludGVsX3JpbmdfZW1pdChyaW5nLCBNSV9VU0VSX0lO VEVSUlVQVCk7Cj4gwqAJaW50ZWxfcmluZ19lbWl0KHJpbmcsIE1JX05PT1ApOwo+ICsJaW50ZWxf cmluZ19hZHZhbmNlKHJpbmcpOwo+IMKgCj4gLQlyZXEtPmVuZ2luZS0+c3VibWl0X3JlcXVlc3Qo cmVxKTsKPiArCXJlcS0+dGFpbCA9IGludGVsX3JpbmdfZ2V0X3RhaWwocmluZyk7CgpEaXR0byBy ZXEtPnRhaWwgPSByaW5nLT50YWlsOwoKPiDCoAo+IMKgCXJldHVybiAwOwo+IMKgfQo+IEBAIC0x NjkyLDggKzE2ODksNyBAQCBic2RfcmluZ19mbHVzaChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVl c3QgKnJlcSwKPiDCoAlyZXR1cm4gMDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50Cj4gLWk5eHhf YWRkX3JlcXVlc3Qoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCj4gK3N0YXRpYyBp bnQgaTl4eF9lbWl0X3JlcXVlc3Qoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCj4g wqB7Cj4gwqAJc3RydWN0IGludGVsX3JpbmcgKnJpbmcgPSByZXEtPnJpbmc7Cj4gwqAJaW50IHJl dDsKPiBAQCAtMTcxMCw4ICsxNzA2LDYgQEAgaTl4eF9hZGRfcmVxdWVzdChzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX3JlcXVlc3QgKnJlcSkKPiDCoAo+IMKgCXJlcS0+dGFpbCA9IGludGVsX3JpbmdfZ2V0 X3RhaWwocmluZyk7Cj4gwqAKPiAtCXJlcS0+ZW5naW5lLT5zdWJtaXRfcmVxdWVzdChyZXEpOwo+ IC0KPiDCoAlyZXR1cm4gMDsKPiDCoH0KPiDCoAo+IEBAIC0yODEzLDExICsyODA3LDExIEBAIHN0 YXRpYyB2b2lkIGludGVsX3JpbmdfZGVmYXVsdF92ZnVuY3Moc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LAo+IMKgCQkJCcKgwqDCoMKgwqDCoHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KmVuZ2luZSkKPiDCoHsKPiDCoAllbmdpbmUtPmluaXRfaHcgPSBpbml0X3JpbmdfY29tbW9uOwo+ IC0JZW5naW5lLT5zdWJtaXRfcmVxdWVzdCA9IGk5eHhfc3VibWl0X3JlcXVlc3Q7Cj4gwqAKPiAt CWVuZ2luZS0+YWRkX3JlcXVlc3QgPSBpOXh4X2FkZF9yZXF1ZXN0Owo+ICsJZW5naW5lLT5lbWl0 X3JlcXVlc3QgPSBpOXh4X2VtaXRfcmVxdWVzdDsKPiDCoAlpZiAoSU5URUxfR0VOKGRldl9wcml2 KSA+PSA2KQo+IC0JCWVuZ2luZS0+YWRkX3JlcXVlc3QgPSBnZW42X2FkZF9yZXF1ZXN0Owo+ICsJ CWVuZ2luZS0+ZW1pdF9yZXF1ZXN0ID0gZ2VuNl9lbWl0X3JlcXVlc3Q7Cj4gKwllbmdpbmUtPnN1 Ym1pdF9yZXF1ZXN0ID0gaTl4eF9zdWJtaXRfcmVxdWVzdDsKPiDCoAo+IMKgCWlmIChJTlRFTF9H RU4oZGV2X3ByaXYpID49IDgpCj4gwqAJCWVuZ2luZS0+ZW1pdF9iYl9zdGFydCA9IGdlbjhfZW1p dF9iYl9zdGFydDsKPiBAQCAtMjg0Niw3ICsyODQwLDcgQEAgaW50IGludGVsX2luaXRfcmVuZGVy X3JpbmdfYnVmZmVyKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiDCoAo+IMKgCWlm IChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDgpIHsKPiDCoAkJZW5naW5lLT5pbml0X2NvbnRleHQg PSBpbnRlbF9yY3NfY3R4X2luaXQ7Cj4gLQkJZW5naW5lLT5hZGRfcmVxdWVzdCA9IGdlbjhfcmVu ZGVyX2FkZF9yZXF1ZXN0Owo+ICsJCWVuZ2luZS0+ZW1pdF9yZXF1ZXN0ID0gZ2VuOF9yZW5kZXJf ZW1pdF9yZXF1ZXN0Owo+IMKgCQllbmdpbmUtPmVtaXRfZmx1c2ggPSBnZW44X3JlbmRlcl9yaW5n X2ZsdXNoOwo+IMKgCQlpZiAoaTkxNS5zZW1hcGhvcmVzKQo+IMKgCQkJZW5naW5lLT5zZW1hcGhv cmUuc2lnbmFsID0gZ2VuOF9yY3Nfc2lnbmFsOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9y aW5nYnVmZmVyLmgKPiBpbmRleCAxYTM4YzM4MzMyN2UuLjg1NmI3MzJkZGJiZCAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKPiBAQCAtMjA0LDcgKzIwNCwxNyBA QCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzIHsKPiDCoAo+IMKgCWludAkJKCppbml0X2NvbnRleHQp KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKTsKPiDCoAo+IC0JaW50CQkoKmFkZF9y ZXF1ZXN0KShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSk7Cj4gKwlpbnQJCSgqZW1p dF9mbHVzaCkoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0LAo+ICsJCQkJwqDC oMKgwqDCoMKgdTMyIGludmFsaWRhdGVfZG9tYWlucywKPiArCQkJCcKgwqDCoMKgwqDCoHUzMiBm bHVzaF9kb21haW5zKTsKPiArCWludAkJKCplbWl0X2JiX3N0YXJ0KShzdHJ1Y3QgZHJtX2k5MTVf Z2VtX3JlcXVlc3QgKnJlcSwKPiArCQkJCQnCoHU2NCBvZmZzZXQsIHUzMiBsZW5ndGgsCj4gKwkJ CQkJwqB1bnNpZ25lZCBpbnQgZGlzcGF0Y2hfZmxhZ3MpOwo+ICsjZGVmaW5lIEk5MTVfRElTUEFU Q0hfU0VDVVJFIDB4MQo+ICsjZGVmaW5lIEk5MTVfRElTUEFUQ0hfUElOTkVEIDB4Mgo+ICsjZGVm aW5lIEk5MTVfRElTUEFUQ0hfUlPCoMKgwqDCoMKgMHg0CgpTYW1lIGhlcmUsIG1heWJlIEJJVCgw KSBldGM/CgpSZWFsbHkgbGlrZSBob3cgdGhlIGNvZGUgbG9va3MgbW9yZSBjb25zaXN0ZW50IG5v dyEKClJlZ2FyZHMsIEpvb25hcwoKPiArCWludAkJKCplbWl0X3JlcXVlc3QpKHN0cnVjdCBkcm1f aTkxNV9nZW1fcmVxdWVzdCAqcmVxKTsKPiArCXZvaWQJCSgqc3VibWl0X3JlcXVlc3QpKHN0cnVj dCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKTsKPiDCoAkvKiBTb21lIGNoaXBzZXRzIGFyZSBu b3QgcXVpdGUgYXMgY29oZXJlbnQgYXMgYWR2ZXJ0aXNlZCBhbmQgbmVlZAo+IMKgCcKgKiBhbiBl eHBlbnNpdmUga2ljayB0byBmb3JjZSBhIHRydWUgcmVhZCBvZiB0aGUgdXAtdG8tZGF0ZSBzZXFu by4KPiDCoAnCoCogSG93ZXZlciwgdGhlIHVwLXRvLWRhdGUgc2Vxbm8gaXMgbm90IGFsd2F5cyBy ZXF1aXJlZCBhbmQgdGhlIGxhc3QKPiBAQCAtMjgyLDE3ICsyOTIsNiBAQCBzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzIHsKPiDCoAl1bnNpZ25lZCBpbnQgaWRsZV9saXRlX3Jlc3RvcmVfd2E7Cj4gwqAJ Ym9vbCBkaXNhYmxlX2xpdGVfcmVzdG9yZV93YTsKPiDCoAl1MzIgY3R4X2Rlc2NfdGVtcGxhdGU7 Cj4gLQlpbnQJCSgqZW1pdF9yZXF1ZXN0KShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJl cXVlc3QpOwo+IC0JaW50CQkoKmVtaXRfZmx1c2gpKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVz dCAqcmVxdWVzdCwKPiAtCQkJCcKgwqDCoMKgwqDCoHUzMiBpbnZhbGlkYXRlX2RvbWFpbnMsCj4g LQkJCQnCoMKgwqDCoMKgwqB1MzIgZmx1c2hfZG9tYWlucyk7Cj4gLQlpbnQJCSgqZW1pdF9iYl9z dGFydCkoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCj4gLQkJCQkJwqB1NjQgb2Zm c2V0LCB1MzIgbGVuZ3RoLAo+IC0JCQkJCcKgdW5zaWduZWQgaW50IGRpc3BhdGNoX2ZsYWdzKTsK PiAtI2RlZmluZSBJOTE1X0RJU1BBVENIX1NFQ1VSRSAweDEKPiAtI2RlZmluZSBJOTE1X0RJU1BB VENIX1BJTk5FRCAweDIKPiAtI2RlZmluZSBJOTE1X0RJU1BBVENIX1JTwqDCoMKgwqDCoDB4NAo+ IC0Jdm9pZAkJKCpzdWJtaXRfcmVxdWVzdCkoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpy ZXEpOwo+IMKgCj4gwqAJLyoqCj4gwqAJwqAqIExpc3Qgb2Ygb2JqZWN0cyBjdXJyZW50bHkgaW52 b2x2ZWQgaW4gcmVuZGVyaW5nIGZyb20gdGhlCi0tIApKb29uYXMgTGFodGluZW4KT3BlbiBTb3Vy Y2UgVGVjaG5vbG9neSBDZW50ZXIKSW50ZWwgQ29ycG9yYXRpb24KX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==