From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joonas Lahtinen Subject: Re: [PATCH v6 13/25] drm/i915: Remove the identical implementations of request space reservation Date: Wed, 27 Apr 2016 13:27:37 +0300 Message-ID: <1461752857.3986.25.camel@linux.intel.com> References: <1461701180-895-1-git-send-email-chris@chris-wilson.co.uk> <1461701180-895-14-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 mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id CC42489F1B for ; Wed, 27 Apr 2016 10:26:12 +0000 (UTC) In-Reply-To: <1461701180-895-14-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 T24gdGksIDIwMTYtMDQtMjYgYXQgMjE6MDYgKzAxMDAsIENocmlzIFdpbHNvbiB3cm90ZToKPiBO b3cgdGhhdCB3ZSBzaGFyZSBpbnRlbF9yaW5nX2JlZ2luKCksIHJlc2VydmluZyBzcGFjZSBmb3Ig dGhlIHRhaWwgb2YKPiB0aGUgcmVxdWVzdCBpcyBpZGVudGljYWwgYmV0d2VlbiBsZWdhY3kvZXhl Y2xpc3RzIGFuZCBzbyB0aGUgdGF1dG9sb2d5Cj4gY2FuIGJlIHJlbW92ZWQuIEluIHRoZSBwcm9j ZXNzLCB3ZSBtb3ZlIHRoZSByZXNlcnZlZCBzcGFjZSB0cmFja2luZwo+IGZyb20gdGhlIHJpbmdi dWZmZXIgb24gdG8gdGhlIHJlcXVlc3QuIFRoaXMgaXMgdG8gZW5hYmxlIHVzIHRvIHJlb3JkZXIK PiB0aGUgcmVzZXJ2ZWQgc3BhY2UgYWxsb2NhdGlvbiBpbiB0aGUgbmV4dCBwYXRjaC4KPiAKPiBT aWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPiBD YzogSm9vbmFzIExhaHRpbmVuIDxqb29uYXMubGFodGluZW5AbGludXguaW50ZWwuY29tPgo+IENj OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AbGludXguaW50ZWwuY29tPgoKU29tZSBj b21tZW50cyBiZWxvdy4KClJldmlld2VkLWJ5OiBKb29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0 aW5lbkBsaW51eC5pbnRlbC5jb20+Cgo+IC0tLQo+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgMyArKysKPiDCoGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtLmPCoMKgwqDCoMKgwqDCoMKgwqB8IDIxICsrKysrKysrKystLS0tLS0KPiDC oGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jwqDCoMKgwqDCoMKgwqDCoHwgMTUgLS0t LS0tLS0tLS0KPiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYyB8IDQ0 ICsrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+IMKgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcmluZ2J1ZmZlci5oIHwgMTcgLS0tLS0tLS0tLS0tLQo+IMKgNSBmaWxlcyBjaGFu Z2VkLCAxOSBpbnNlcnRpb25zKCspLCA4MSBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKPiBpbmRleCA0NDRhOGVhMGM1YzQuLjgzMWRhOWY0MzMyNCAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaAo+IEBAIC0yMjc4LDYgKzIyNzgsOSBAQCBzdHJ1Y3QgZHJtX2k5MTVf Z2VtX3JlcXVlc3Qgewo+IMKgCS8qKiBQb3NpdGlvbiBpbiB0aGUgcmluZ2J1ZmZlciBvZiB0aGUg ZW5kIG9mIHRoZSB3aG9sZSByZXF1ZXN0ICovCj4gwqAJdTMyIHRhaWw7Cj4gwqAKPiArCS8qKiBQ cmVhbGxvY2F0ZSBzcGFjZSBpbiB0aGUgcmluZ2J1ZmZlciBmb3IgdGhlIGVtaXR0aW5nIHRoZSBy ZXF1ZXN0ICovCj4gKwl1MzIgcmVzZXJ2ZWRfc3BhY2U7Cj4gKwo+IMKgCS8qKgo+IMKgCcKgKiBD b250ZXh0IGFuZCByaW5nIGJ1ZmZlciByZWxhdGVkIHRvIHRoaXMgcmVxdWVzdAo+IMKgCcKgKiBD b250ZXh0cyBhcmUgcmVmY291bnRlZCwgc28gd2hlbiB0aGlzIHJlcXVlc3QgaXMgYXNzb2NpYXRl ZCB3aXRoIGEKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiBpbmRleCA3MTEzNWMzY2U0NGUuLjBl Mjc0ODRiZDI4YSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+IEBAIC0yNTczLDYgKzI1 NzMsNyBAQCB2b2lkIF9faTkxNV9hZGRfcmVxdWVzdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVl c3QgKnJlcXVlc3QsCj4gwqAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2Owo+IMKg CXN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmOwo+IMKgCXUzMiByZXF1ZXN0X3N0YXJ0 Owo+ICsJdTMyIHJlc2VydmVkX3RhaWw7Cj4gwqAJaW50IHJldDsKPiDCoAo+IMKgCWlmIChXQVJO X09OKHJlcXVlc3QgPT0gTlVMTCkpCj4gQEAgLTI1ODcsOSArMjU4OCwxMCBAQCB2b2lkIF9faTkx NV9hZGRfcmVxdWVzdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3QsCj4gwqAJ wqAqIHNob3VsZCBhbHJlYWR5IGhhdmUgYmVlbiByZXNlcnZlZCBpbiB0aGUgcmluZyBidWZmZXIu IExldCB0aGUgcmluZwo+IMKgCcKgKiBrbm93IHRoYXQgaXQgaXMgdGltZSB0byB1c2UgdGhhdCBz cGFjZSB1cC4KPiDCoAnCoCovCj4gLQlpbnRlbF9yaW5nX3Jlc2VydmVkX3NwYWNlX3VzZShyaW5n YnVmKTsKPiAtCj4gwqAJcmVxdWVzdF9zdGFydCA9IGludGVsX3JpbmdfZ2V0X3RhaWwocmluZ2J1 Zik7Cj4gKwlyZXNlcnZlZF90YWlsID0gcmVxdWVzdC0+cmVzZXJ2ZWRfc3BhY2U7Cj4gKwlyZXF1 ZXN0LT5yZXNlcnZlZF9zcGFjZSA9IDA7Cj4gKwo+IMKgCS8qCj4gwqAJwqAqIEVtaXQgYW55IG91 dHN0YW5kaW5nIGZsdXNoZXMgLSBleGVjYnVmIGNhbiBmYWlsIHRvIGVtaXQgdGhlIGZsdXNoCj4g wqAJwqAqIGFmdGVyIGhhdmluZyBlbWl0dGVkIHRoZSBiYXRjaGJ1ZmZlciBjb21tYW5kLiBIZW5j ZSB3ZSBuZWVkIHRvIGZpeAo+IEBAIC0yNjUzLDcgKzI2NTUsMTMgQEAgdm9pZCBfX2k5MTVfYWRk X3JlcXVlc3Qoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0LAo+IMKgCWludGVs X21hcmtfYnVzeShkZXZfcHJpdi0+ZGV2KTsKPiDCoAo+IMKgCS8qIFNhbml0eSBjaGVjayB0aGF0 IHRoZSByZXNlcnZlZCBzaXplIHdhcyBsYXJnZSBlbm91Z2guICovCj4gLQlpbnRlbF9yaW5nX3Jl c2VydmVkX3NwYWNlX2VuZChyaW5nYnVmKTsKPiArCXJldCA9IGludGVsX3JpbmdfZ2V0X3RhaWwo cmluZ2J1ZikgLSByZXF1ZXN0X3N0YXJ0Owo+ICsJaWYgKHJldCA8IDApCj4gKwkJcmV0ICs9IHJp bmdidWYtPnNpemU7Cj4gKwlXQVJOX09OQ0UocmV0ID4gcmVzZXJ2ZWRfdGFpbCwKPiArCQnCoMKg Ik5vdCBlbm91Z2ggc3BhY2UgcmVzZXJ2ZWQgKCVkIGJ5dGVzKSAiCj4gKwkJwqDCoCJmb3IgYWRk aW5nIHRoZSByZXF1ZXN0ICglZCBieXRlcylcbiIsCj4gKwkJwqDCoHJlc2VydmVkX3RhaWwsIHJl dCk7CgpOb3Qgc3VyZSBpZiBJJ2QgcmF0aGVyIHByZWZlciB0aGlzIHRvIHN0YXkgaW4gYW4gZW5j bG9zZWQgZnVuY3Rpb24gYW5kCm5vdCBzcGlsbCByaW5nYnVmIHN0dWZmIGluIHRoZSBmdW5jdGlv bi4KCj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBib29sIGk5MTVfY29udGV4dF9pc19iYW5uZWQoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+IEBAIC0yNzc0LDE3ICsyNzgyLDE0IEBA IF9faTkxNV9nZW1fcmVxdWVzdF9hbGxvYyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUs Cj4gwqAJwqAqIHRvIGJlIHJlZG9uZSBpZiB0aGUgcmVxdWVzdCBpcyBub3QgYWN0dWFsbHkgc3Vi bWl0dGVkIHN0cmFpZ2h0Cj4gwqAJwqAqIGF3YXksIGUuZy4gYmVjYXVzZSBhIEdQVSBzY2hlZHVs ZXIgaGFzIGRlZmVycmVkIGl0Lgo+IMKgCcKgKi8KPiAtCWlmIChpOTE1LmVuYWJsZV9leGVjbGlz dHMpCj4gLQkJcmV0ID0gaW50ZWxfbG9naWNhbF9yaW5nX3Jlc2VydmVfc3BhY2UocmVxKTsKPiAt CWVsc2UKPiAtCQlyZXQgPSBpbnRlbF9yaW5nX3Jlc2VydmVfc3BhY2UocmVxKTsKPiArCXJlcS0+ cmVzZXJ2ZWRfc3BhY2UgPSBNSU5fU1BBQ0VfRk9SX0FERF9SRVFVRVNUOwo+ICsJcmV0ID0gaW50 ZWxfcmluZ19iZWdpbihyZXEsIDApOwo+IMKgCWlmIChyZXQpIHsKPiDCoAkJLyoKPiDCoAkJwqAq IEF0IHRoaXMgcG9pbnQsIHRoZSByZXF1ZXN0IGlzIGZ1bGx5IGFsbG9jYXRlZCBldmVuIGlmIG5v dAo+IMKgCQnCoCogZnVsbHkgcHJlcGFyZWQuIFRodXMgaXQgY2FuIGJlIGNsZWFuZWQgdXAgdXNp bmcgdGhlIHByb3Blcgo+IMKgCQnCoCogZnJlZSBjb2RlLgo+IMKgCQnCoCovCj4gLQkJaW50ZWxf cmluZ19yZXNlcnZlZF9zcGFjZV9jYW5jZWwocmVxLT5yaW5nYnVmKTsKCllvdSBjb3VsZCBhcHBl bmQgdGhpcyB0byB0aGUgYWJvdmUgY29tbWVudCB0aGF0IHRoZSByZXNydmVkIHNwYWNlIHdpbGwK YmUgcmVsZWFzZWQgYWxvbmcgaXQuCgo+IMKgCQlpOTE1X2dlbV9yZXF1ZXN0X3VucmVmZXJlbmNl KHJlcSk7Cj4gwqAJCXJldHVybiByZXQ7Cj4gwqAJfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9scmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5j Cj4gaW5kZXggYmE4N2M5NDkyOGU3Li45MTAwNDRjZjE0M2UgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9scmMuYwo+IEBAIC03NzIsMjEgKzc3Miw2IEBAIGludGVsX2xvZ2ljYWxfcmluZ19hZHZh bmNlX2FuZF9zdWJtaXQoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0KQo+IMKg CXJldHVybiAwOwo+IMKgfQo+IMKgCj4gLWludCBpbnRlbF9sb2dpY2FsX3JpbmdfcmVzZXJ2ZV9z cGFjZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3QpCj4gLXsKPiAtCS8qCj4g LQnCoCogVGhlIGZpcnN0IGNhbGwgbWVyZWx5IG5vdGVzIHRoZSByZXNlcnZlIHJlcXVlc3QgYW5k IGlzIGNvbW1vbiBmb3IKPiAtCcKgKiBhbGwgYmFjayBlbmRzLiBUaGUgc3Vic2VxdWVudCBsb2Nh bGlzZWQgX2JlZ2luKCkgY2FsbCBhY3R1YWxseQo+IC0JwqAqIGVuc3VyZXMgdGhhdCB0aGUgcmVz ZXJ2YXRpb24gaXMgYXZhaWxhYmxlLiBXaXRob3V0IHRoZSBiZWdpbiwgaWYKPiAtCcKgKiB0aGUg cmVxdWVzdCBjcmVhdG9yIGltbWVkaWF0ZWx5IHN1Ym1pdHRlZCB0aGUgcmVxdWVzdCB3aXRob3V0 Cj4gLQnCoCogYWRkaW5nIGFueSBjb21tYW5kcyB0byBpdCB0aGVuIHRoZXJlIG1pZ2h0IG5vdCBh Y3R1YWxseSBiZQo+IC0JwqAqIHN1ZmZpY2llbnQgcm9vbSBmb3IgdGhlIHN1Ym1pc3Npb24gY29t bWFuZHMuCj4gLQnCoCovCj4gLQlpbnRlbF9yaW5nX3Jlc2VydmVkX3NwYWNlX3Jlc2VydmUocmVx dWVzdC0+cmluZ2J1ZiwgTUlOX1NQQUNFX0ZPUl9BRERfUkVRVUVTVCk7Cj4gLQo+IC0JcmV0dXJu IGludGVsX3JpbmdfYmVnaW4ocmVxdWVzdCwgMCk7Cj4gLX0KPiAtCj4gwqAvKioKPiDCoCAqIGV4 ZWNsaXN0c19zdWJtaXNzaW9uKCkgLSBzdWJtaXQgYSBiYXRjaGJ1ZmZlciBmb3IgZXhlY3V0aW9u LCBFeGVjbGlzdHMgc3R5bGUKPiDCoCAqIEBkZXY6IERSTSBkZXZpY2UuCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYwo+IGluZGV4IDFkM2QyZWEzZTliYy4uYmE1OTQ2Yjlm YTA2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIu Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYwo+IEBAIC0y MzM2LDQ0ICsyMzM2LDYgQEAgaW50IGludGVsX3JpbmdfYWxsb2NfcmVxdWVzdF9leHRyYXMoc3Ry dWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0KQo+IMKgCXJldHVybiAwOwo+IMKgfQo+ IMKgCj4gLWludCBpbnRlbF9yaW5nX3Jlc2VydmVfc3BhY2Uoc3RydWN0IGRybV9pOTE1X2dlbV9y ZXF1ZXN0ICpyZXF1ZXN0KQo+IC17Cj4gLQkvKgo+IC0JwqAqIFRoZSBmaXJzdCBjYWxsIG1lcmVs eSBub3RlcyB0aGUgcmVzZXJ2ZSByZXF1ZXN0IGFuZCBpcyBjb21tb24gZm9yCj4gLQnCoCogYWxs IGJhY2sgZW5kcy4gVGhlIHN1YnNlcXVlbnQgbG9jYWxpc2VkIF9iZWdpbigpIGNhbGwgYWN0dWFs bHkKPiAtCcKgKiBlbnN1cmVzIHRoYXQgdGhlIHJlc2VydmF0aW9uIGlzIGF2YWlsYWJsZS4gV2l0 aG91dCB0aGUgYmVnaW4sIGlmCj4gLQnCoCogdGhlIHJlcXVlc3QgY3JlYXRvciBpbW1lZGlhdGVs eSBzdWJtaXR0ZWQgdGhlIHJlcXVlc3Qgd2l0aG91dAo+IC0JwqAqIGFkZGluZyBhbnkgY29tbWFu ZHMgdG8gaXQgdGhlbiB0aGVyZSBtaWdodCBub3QgYWN0dWFsbHkgYmUKPiAtCcKgKiBzdWZmaWNp ZW50IHJvb20gZm9yIHRoZSBzdWJtaXNzaW9uIGNvbW1hbmRzLgo+IC0JwqAqLwo+IC0JaW50ZWxf cmluZ19yZXNlcnZlZF9zcGFjZV9yZXNlcnZlKHJlcXVlc3QtPnJpbmdidWYsIE1JTl9TUEFDRV9G T1JfQUREX1JFUVVFU1QpOwo+IC0KPiAtCXJldHVybiBpbnRlbF9yaW5nX2JlZ2luKHJlcXVlc3Qs IDApOwo+IC19Cj4gLQo+IC12b2lkIGludGVsX3JpbmdfcmVzZXJ2ZWRfc3BhY2VfcmVzZXJ2ZShz dHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1ZiwgaW50IHNpemUpCj4gLXsKPiAtCUdFTV9C VUdfT04ocmluZ2J1Zi0+cmVzZXJ2ZWRfc2l6ZSk7Cj4gLQlyaW5nYnVmLT5yZXNlcnZlZF9zaXpl ID0gc2l6ZTsKPiAtfQo+IC0KPiAtdm9pZCBpbnRlbF9yaW5nX3Jlc2VydmVkX3NwYWNlX2NhbmNl bChzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1ZikKPiAtewo+IC0JR0VNX0JVR19PTigh cmluZ2J1Zi0+cmVzZXJ2ZWRfc2l6ZSk7Cj4gLQlyaW5nYnVmLT5yZXNlcnZlZF9zaXplwqDCoMKg PSAwOwo+IC19Cj4gLQo+IC12b2lkIGludGVsX3JpbmdfcmVzZXJ2ZWRfc3BhY2VfdXNlKHN0cnVj dCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmKQo+IC17Cj4gLQlHRU1fQlVHX09OKCFyaW5nYnVm LT5yZXNlcnZlZF9zaXplKTsKPiAtCXJpbmdidWYtPnJlc2VydmVkX3NpemXCoMKgwqA9IDA7Cj4g LX0KPiAtCj4gLXZvaWQgaW50ZWxfcmluZ19yZXNlcnZlZF9zcGFjZV9lbmQoc3RydWN0IGludGVs X3JpbmdidWZmZXIgKnJpbmdidWYpCj4gLXsKPiAtCUdFTV9CVUdfT04ocmluZ2J1Zi0+cmVzZXJ2 ZWRfc2l6ZSk7Cj4gLX0KPiAtCj4gwqBzdGF0aWMgaW50IHdhaXRfZm9yX3NwYWNlKHN0cnVjdCBk cm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLCBpbnQgYnl0ZXMpCj4gwqB7Cj4gwqAJc3RydWN0IGlu dGVsX3JpbmdidWZmZXIgKnJpbmdidWYgPSByZXEtPnJpbmdidWY7Cj4gQEAgLTIzODUsNyArMjM0 Nyw3IEBAIHN0YXRpYyBpbnQgd2FpdF9mb3Jfc3BhY2Uoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1 ZXN0ICpyZXEsIGludCBieXRlcykKPiDCoAkJcmV0dXJuIDA7Cj4gwqAKPiDCoAkvKiBUaGUgd2hv bGUgcG9pbnQgb2YgcmVzZXJ2aW5nIHNwYWNlIGlzIHRvIG5vdCB3YWl0ISAqLwo+IC0JR0VNX0JV R19PTighcmluZ2J1Zi0+cmVzZXJ2ZWRfc2l6ZSk7Cj4gKwlHRU1fQlVHX09OKCFyZXEtPnJlc2Vy dmVkX3NwYWNlKTsKPiDCoAo+IMKgCWxpc3RfZm9yX2VhY2hfZW50cnkodGFyZ2V0LCAmZW5naW5l LT5yZXF1ZXN0X2xpc3QsIGxpc3QpIHsKPiDCoAkJdW5zaWduZWQgc3BhY2U7Cj4gQEAgLTI0MjAs NyArMjM4Miw3IEBAIGludCBpbnRlbF9yaW5nX2JlZ2luKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVx dWVzdCAqcmVxLCBpbnQgbnVtX2R3b3JkcykKPiDCoAlpbnQgdG90YWxfYnl0ZXMsIHdhaXRfYnl0 ZXM7Cj4gwqAJYm9vbCBuZWVkX3dyYXAgPSBmYWxzZTsKPiDCoAo+IC0JdG90YWxfYnl0ZXMgPSBi eXRlcyArIHJpbmdidWYtPnJlc2VydmVkX3NpemU7Cj4gKwl0b3RhbF9ieXRlcyA9IGJ5dGVzICsg cmVxLT5yZXNlcnZlZF9zcGFjZTsKPiDCoAo+IMKgCWlmICh1bmxpa2VseShieXRlcyA+IHJlbWFp bl91c2FibGUpKSB7Cj4gwqAJCS8qCj4gQEAgLTI0MzYsNyArMjM5OCw3IEBAIGludCBpbnRlbF9y aW5nX2JlZ2luKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLCBpbnQgbnVtX2R3b3Jk cykKPiDCoAkJwqAqIGFuZCBvbmx5IG5lZWQgdG8gZWZmZWN0aXZlbHkgd2FpdCBmb3IgdGhlIHJl c2VydmVkCj4gwqAJCcKgKiBzaXplIHNwYWNlIGZyb20gdGhlIHN0YXJ0IG9mIHJpbmdidWZmZXIu Cj4gwqAJCcKgKi8KPiAtCQl3YWl0X2J5dGVzID0gcmVtYWluX2FjdHVhbCArIHJpbmdidWYtPnJl c2VydmVkX3NpemU7Cj4gKwkJd2FpdF9ieXRlcyA9IHJlbWFpbl9hY3R1YWwgKyByZXEtPnJlc2Vy dmVkX3NwYWNlOwo+IMKgCX0gZWxzZQo+IMKgCQkvKiBObyB3cmFwcGluZyByZXF1aXJlZCwganVz dCB3YWl0aW5nLiAqLwo+IMKgCQl3YWl0X2J5dGVzID0gdG90YWxfYnl0ZXM7Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAo+IGluZGV4IDIwMWU3NzUyZDc2NS4uMDM4OTE0 Y2NjNmZkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZm ZXIuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAo+IEBA IC0xMDcsNyArMTA3LDYgQEAgc3RydWN0IGludGVsX3JpbmdidWZmZXIgewo+IMKgCWludCBzcGFj ZTsKPiDCoAlpbnQgc2l6ZTsKPiDCoAlpbnQgZWZmZWN0aXZlX3NpemU7Cj4gLQlpbnQgcmVzZXJ2 ZWRfc2l6ZTsKPiDCoAo+IMKgCS8qKiBXZSB0cmFjayB0aGUgcG9zaXRpb24gb2YgdGhlIHJlcXVl c3RzIGluIHRoZSByaW5nIGJ1ZmZlciwgYW5kCj4gwqAJwqAqIHdoZW4gZWFjaCBpcyByZXRpcmVk IHdlIGluY3JlbWVudCBsYXN0X3JldGlyZWRfaGVhZCBhcyB0aGUgR1BVCj4gQEAgLTQ5MSwyMCAr NDkwLDQgQEAgc3RhdGljIGlubGluZSB1MzIgaW50ZWxfcmluZ19nZXRfdGFpbChzdHJ1Y3QgaW50 ZWxfcmluZ2J1ZmZlciAqcmluZ2J1ZikKPiDCoCAqLwo+IMKgI2RlZmluZSBNSU5fU1BBQ0VfRk9S X0FERF9SRVFVRVNUCTE2MAo+IMKgCj4gLS8qCj4gLSAqIFJlc2VydmUgc3BhY2UgaW4gdGhlIHJp bmcgdG8gZ3VhcmFudGVlIHRoYXQgdGhlIGk5MTVfYWRkX3JlcXVlc3QoKSBjYWxsCj4gLSAqIHdp bGwgYWx3YXlzIGhhdmUgc3VmZmljaWVudCByb29tIHRvIGRvIGl0cyBzdHVmZi4gVGhlIHJlcXVl c3QgY3JlYXRpb24KPiAtICogY29kZSBjYWxscyB0aGlzIGF1dG9tYXRpY2FsbHkuCj4gLSAqLwo+ IC12b2lkIGludGVsX3JpbmdfcmVzZXJ2ZWRfc3BhY2VfcmVzZXJ2ZShzdHJ1Y3QgaW50ZWxfcmlu Z2J1ZmZlciAqcmluZ2J1ZiwgaW50IHNpemUpOwo+IC0vKiBDYW5jZWwgdGhlIHJlc2VydmF0aW9u LCBlLmcuIGJlY2F1c2UgdGhlIHJlcXVlc3QgaXMgYmVpbmcgZGlzY2FyZGVkLiAqLwo+IC12b2lk IGludGVsX3JpbmdfcmVzZXJ2ZWRfc3BhY2VfY2FuY2VsKHN0cnVjdCBpbnRlbF9yaW5nYnVmZmVy ICpyaW5nYnVmKTsKPiAtLyogVXNlIHRoZSByZXNlcnZlZCBzcGFjZSAtIGZvciB1c2UgYnkgaTkx NV9hZGRfcmVxdWVzdCgpIG9ubHkuICovCj4gLXZvaWQgaW50ZWxfcmluZ19yZXNlcnZlZF9zcGFj ZV91c2Uoc3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWYpOwo+IC0vKiBGaW5pc2ggd2l0 aCB0aGUgcmVzZXJ2ZWQgc3BhY2UgLSBmb3IgdXNlIGJ5IGk5MTVfYWRkX3JlcXVlc3QoKSBvbmx5 LiAqLwo+IC12b2lkIGludGVsX3JpbmdfcmVzZXJ2ZWRfc3BhY2VfZW5kKHN0cnVjdCBpbnRlbF9y aW5nYnVmZmVyICpyaW5nYnVmKTsKPiAtCj4gLS8qIExlZ2FjeSByaW5nYnVmZmVyIHNwZWNpZmlj IHBvcnRpb24gb2YgcmVzZXJ2YXRpb24gY29kZTogKi8KPiAtaW50IGludGVsX3JpbmdfcmVzZXJ2 ZV9zcGFjZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3QpOwo+IC0KPiDCoCNl bmRpZiAvKiBfSU5URUxfUklOR0JVRkZFUl9IXyAqLwotLSAKSm9vbmFzIExhaHRpbmVuCk9wZW4g U291cmNlIFRlY2hub2xvZ3kgQ2VudGVyCkludGVsIENvcnBvcmF0aW9uCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QK SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=