From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: Re: [PATCH 10/21] drm/i915: Mark up all locked waiters Date: Tue, 06 Sep 2016 12:24:10 +0300 Message-ID: <87wpip8jph.fsf@gaia.fi.intel.com> References: <20160905130438.31046-1-chris@chris-wilson.co.uk> <20160905130438.31046-11-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2FD616E56B for ; Tue, 6 Sep 2016 09:25:09 +0000 (UTC) In-Reply-To: <20160905130438.31046-11-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 Q2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+IHdyaXRlczoKCj4gSW4gdGhl IG5leHQgcGF0Y2ggd2Ugd2FudCB0byBoYW5kbGUgcmVzZXQgZGlyZWN0bHkgYnkgYSBsb2NrZWQg d2FpdGVyIGluCj4gb3JkZXIgdG8gYXZvaWQgaXNzdWVzIHdpdGggcmV0dXJuaW5nIGJlZm9yZSB0 aGUgcmVzZXQgaXMgaGFuZGxlZC4gVG8KPiBoYW5kbGUgdGhlIHJlc2V0LCB3ZSBtdXN0IGZpcnN0 IGtub3cgd2hldGhlciB3ZSBob2xkIHRoZSBzdHJ1Y3RfbXV0ZXguCj4gSWYgd2UgZG8gbm90IGhv bGQgdGhlIHN0cnVjdF9tdHVleCB3ZSBjYW4gbm90IHBlcmZvcm0gdGhlIHJlc2V0LCBidXQgd2Ug ZG8KPiBub3QgYmxvY2sgdGhlIHJlc2V0IHdvcmtlciBlaXRoZXIgKGFuZCBzbyB3ZSBjYW4ganVz dCBjb250aW51ZSB0byB3YWl0IGZvcgo+IHJlcXVlc3QgY29tcGxldGlvbikgLSBvdGhlcndpc2Ug d2UgbXVzdCByZWxpbnF1aXNoIHRoZSBtdXRleC4KPgo+IFNpZ25lZC1vZmYtYnk6IENocmlzIFdp bHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgoKUmV2aWV3ZWQtYnk6IE1pa2EgS3VvcHBh bGEgPG1pa2Eua3VvcHBhbGFAaW50ZWwuY29tPgoKPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kZWJ1Z2ZzLmMgICAgICB8ICA0ICsrKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW0uYyAgICAgICAgICB8ICA3ICsrKysrLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fZXZpY3QuYyAgICB8ICA4ICsrKysrKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX2d0dC5jICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9yZXF1ZXN0LmMgIHwgMTUgKysrKysrKysrKysrLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX3JlcXVlc3QuaCAgfCAxMSArKysrKysrKy0tLQo+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9zaHJpbmtlci5jIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcmluZ2J1ZmZlci5jICB8ICAzICsrLQo+ICA4IGZpbGVzIGNoYW5nZWQsIDM4IGlu c2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1 Z2ZzLmMKPiBpbmRleCBmNjFkN2Q1ODRmM2YuLjhlYTY0YWEwYTI4MiAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gQEAgLTQ4MDMsNyArNDgwMyw5IEBAIGk5MTVfZHJvcF9j YWNoZXNfc2V0KHZvaWQgKmRhdGEsIHU2NCB2YWwpCj4gIAkJcmV0dXJuIHJldDsKPiAgCj4gIAlp ZiAodmFsICYgRFJPUF9BQ1RJVkUpIHsKPiAtCQlyZXQgPSBpOTE1X2dlbV93YWl0X2Zvcl9pZGxl KGRldl9wcml2LCBJOTE1X1dBSVRfSU5URVJSVVBUSUJMRSk7Cj4gKwkJcmV0ID0gaTkxNV9nZW1f d2FpdF9mb3JfaWRsZShkZXZfcHJpdiwKPiArCQkJCQkgICAgIEk5MTVfV0FJVF9JTlRFUlJVUFRJ QkxFIHwKPiArCQkJCQkgICAgIEk5MTVfV0FJVF9MT0NLRUQpOwo+ICAJCWlmIChyZXQpCj4gIAkJ CWdvdG8gdW5sb2NrOwo+ICAJfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+IGluZGV4IDQ2MTcy NTBjMzAwMC4uMjMwNjlhMmQyODUwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gQEAg LTI4MDIsNyArMjgwMiw4IEBAIF9faTkxNV9nZW1fb2JqZWN0X3N5bmMoc3RydWN0IGRybV9pOTE1 X2dlbV9yZXF1ZXN0ICp0bywKPiAgCj4gIAlpZiAoIWk5MTUuc2VtYXBob3Jlcykgewo+ICAJCXJl dCA9IGk5MTVfd2FpdF9yZXF1ZXN0KGZyb20sCj4gLQkJCQkJZnJvbS0+aTkxNS0+bW0uaW50ZXJy dXB0aWJsZSwKPiArCQkJCQlmcm9tLT5pOTE1LT5tbS5pbnRlcnJ1cHRpYmxlIHwKPiArCQkJCQlJ OTE1X1dBSVRfTE9DS0VELAo+ICAJCQkJCU5VTEwsCj4gIAkJCQkJTk9fV0FJVEJPT1NUKTsKPiAg CQlpZiAocmV0KQo+IEBAIC00MzA0LDcgKzQzMDUsOSBAQCBpbnQgaTkxNV9nZW1fc3VzcGVuZChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJaWYgKHJldCkKPiAgCQlnb3RvIGVycjsKPiAgCj4g LQlyZXQgPSBpOTE1X2dlbV93YWl0X2Zvcl9pZGxlKGRldl9wcml2LCBJOTE1X1dBSVRfSU5URVJS VVBUSUJMRSk7Cj4gKwlyZXQgPSBpOTE1X2dlbV93YWl0X2Zvcl9pZGxlKGRldl9wcml2LAo+ICsJ CQkJICAgICBJOTE1X1dBSVRfSU5URVJSVVBUSUJMRSB8Cj4gKwkJCQkgICAgIEk5MTVfV0FJVF9M T0NLRUQpOwo+ICAJaWYgKHJldCkKPiAgCQlnb3RvIGVycjsKPiAgCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V2aWN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9ldmljdC5jCj4gaW5kZXggMTAzMDg1MjQ2OTc1Li41YjZmODFjMWRiY2EgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXZpY3QuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V2aWN0LmMKPiBAQCAtMTcwLDcgKzE3MCw5 IEBAIHNlYXJjaF9hZ2FpbjoKPiAgCWlmIChyZXQpCj4gIAkJcmV0dXJuIHJldDsKPiAgCj4gLQly ZXQgPSBpOTE1X2dlbV93YWl0X2Zvcl9pZGxlKGRldl9wcml2LCBJOTE1X1dBSVRfSU5URVJSVVBU SUJMRSk7Cj4gKwlyZXQgPSBpOTE1X2dlbV93YWl0X2Zvcl9pZGxlKGRldl9wcml2LAo+ICsJCQkJ ICAgICBJOTE1X1dBSVRfSU5URVJSVVBUSUJMRSB8Cj4gKwkJCQkgICAgIEk5MTVfV0FJVF9MT0NL RUQpOwo+ICAJaWYgKHJldCkKPiAgCQlyZXR1cm4gcmV0Owo+ICAKPiBAQCAtMjc1LDcgKzI3Nyw5 IEBAIGludCBpOTE1X2dlbV9ldmljdF92bShzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwg Ym9vbCBkb19pZGxlKQo+ICAJCQkJcmV0dXJuIHJldDsKPiAgCQl9Cj4gIAo+IC0JCXJldCA9IGk5 MTVfZ2VtX3dhaXRfZm9yX2lkbGUoZGV2X3ByaXYsIEk5MTVfV0FJVF9JTlRFUlJVUFRJQkxFKTsK PiArCQlyZXQgPSBpOTE1X2dlbV93YWl0X2Zvcl9pZGxlKGRldl9wcml2LAo+ICsJCQkJCSAgICAg STkxNV9XQUlUX0lOVEVSUlVQVElCTEUgfAo+ICsJCQkJCSAgICAgSTkxNV9XQUlUX0xPQ0tFRCk7 Cj4gIAkJaWYgKHJldCkKPiAgCQkJcmV0dXJuIHJldDsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fZ3R0LmMKPiBpbmRleCA1NzZhMTE0NTRkMTguLjkwNGM1ZTNmMTk3NCAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCj4gQEAgLTI2ODAsNyArMjY4MCw3IEBAIHZvaWQg aTkxNV9nZW1fZ3R0X2ZpbmlzaF9vYmplY3Qoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9i aikKPiAgCXN0cnVjdCBpOTE1X2dndHQgKmdndHQgPSAmZGV2X3ByaXYtPmdndHQ7Cj4gIAo+ICAJ aWYgKHVubGlrZWx5KGdndHQtPmRvX2lkbGVfbWFwcykpIHsKPiAtCQlpZiAoaTkxNV9nZW1fd2Fp dF9mb3JfaWRsZShkZXZfcHJpdiwgMCkpIHsKPiArCQlpZiAoaTkxNV9nZW1fd2FpdF9mb3JfaWRs ZShkZXZfcHJpdiwgSTkxNV9XQUlUX0xPQ0tFRCkpIHsKPiAgCQkJRFJNX0VSUk9SKCJGYWlsZWQg dG8gd2FpdCBmb3IgaWRsZTsgVlQnZCBtYXkgaGFuZy5cbiIpOwo+ICAJCQkvKiBXYWl0IGEgYml0 LCBpbiBob3BlcyBpdCBhdm9pZHMgdGhlIGhhbmcgKi8KPiAgCQkJdWRlbGF5KDEwKTsKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jCj4gaW5kZXggZjRjMTVmMzE5ZDA4Li5m ODU4OWVmZWMzMTAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f cmVxdWVzdC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5j Cj4gQEAgLTI2MCw3ICsyNjAsOSBAQCBzdGF0aWMgaW50IGk5MTVfZ2VtX2luaXRfc2Vxbm8oc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1MzIgc2Vxbm8pCj4gIAo+ICAJLyogQ2Fy ZWZ1bGx5IHJldGlyZSBhbGwgcmVxdWVzdHMgd2l0aG91dCB3cml0aW5nIHRvIHRoZSByaW5ncyAq Lwo+ICAJZm9yX2VhY2hfZW5naW5lKGVuZ2luZSwgZGV2X3ByaXYpIHsKPiAtCQlyZXQgPSBpbnRl bF9lbmdpbmVfaWRsZShlbmdpbmUsIEk5MTVfV0FJVF9JTlRFUlJVUFRJQkxFKTsKPiArCQlyZXQg PSBpbnRlbF9lbmdpbmVfaWRsZShlbmdpbmUsCj4gKwkJCQkJSTkxNV9XQUlUX0lOVEVSUlVQVElC TEUgfAo+ICsJCQkJCUk5MTVfV0FJVF9MT0NLRUQpOwo+ICAJCWlmIChyZXQpCj4gIAkJCXJldHVy biByZXQ7Cj4gIAl9Cj4gQEAgLTYyNSw2ICs2MjcsMTAgQEAgaW50IGk5MTVfd2FpdF9yZXF1ZXN0 KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAo+ICAJaW50IHJldCA9IDA7Cj4gIAo+ ICAJbWlnaHRfc2xlZXAoKTsKPiArI2lmIElTX0VOQUJMRUQoQ09ORklHX0xPQ0tERVApCj4gKwlH RU1fQlVHX09OKCEhbG9ja2RlcF9pc19oZWxkKCZyZXEtPmk5MTUtPmRybS5zdHJ1Y3RfbXV0ZXgp ICE9Cj4gKwkJICAgISEoZmxhZ3MgJiBJOTE1X1dBSVRfTE9DS0VEKSk7Cj4gKyNlbmRpZgo+ICAK PiAgCWlmIChpOTE1X2dlbV9yZXF1ZXN0X2NvbXBsZXRlZChyZXEpKQo+ICAJCXJldHVybiAwOwo+ IEBAIC02NjcsNyArNjczLDggQEAgaW50IGk5MTVfd2FpdF9yZXF1ZXN0KHN0cnVjdCBkcm1faTkx NV9nZW1fcmVxdWVzdCAqcmVxLAo+ICAJCWdvdG8gY29tcGxldGU7Cj4gIAo+ICAJc2V0X2N1cnJl bnRfc3RhdGUoc3RhdGUpOwo+IC0JYWRkX3dhaXRfcXVldWUoJnJlcS0+aTkxNS0+Z3B1X2Vycm9y LndhaXRfcXVldWUsICZyZXNldCk7Cj4gKwlpZiAoZmxhZ3MgJiBJOTE1X1dBSVRfTE9DS0VEKQo+ ICsJCWFkZF93YWl0X3F1ZXVlKCZyZXEtPmk5MTUtPmdwdV9lcnJvci53YWl0X3F1ZXVlLCAmcmVz ZXQpOwo+ICAKPiAgCWludGVsX3dhaXRfaW5pdCgmd2FpdCwgcmVxLT5mZW5jZS5zZXFubyk7Cj4g IAlpZiAoaW50ZWxfZW5naW5lX2FkZF93YWl0KHJlcS0+ZW5naW5lLCAmd2FpdCkpCj4gQEAgLTcw Nyw3ICs3MTQsOSBAQCB3YWtldXA6Cj4gIAkJaWYgKGk5MTVfc3Bpbl9yZXF1ZXN0KHJlcSwgc3Rh dGUsIDIpKQo+ICAJCQlicmVhazsKPiAgCX0KPiAtCXJlbW92ZV93YWl0X3F1ZXVlKCZyZXEtPmk5 MTUtPmdwdV9lcnJvci53YWl0X3F1ZXVlLCAmcmVzZXQpOwo+ICsKPiArCWlmIChmbGFncyAmIEk5 MTVfV0FJVF9MT0NLRUQpCj4gKwkJcmVtb3ZlX3dhaXRfcXVldWUoJnJlcS0+aTkxNS0+Z3B1X2Vy cm9yLndhaXRfcXVldWUsICZyZXNldCk7Cj4gIAo+ICAJaW50ZWxfZW5naW5lX3JlbW92ZV93YWl0 KHJlcS0+ZW5naW5lLCAmd2FpdCk7Cj4gIAlfX3NldF9jdXJyZW50X3N0YXRlKFRBU0tfUlVOTklO Ryk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3Qu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuaAo+IGluZGV4IDQ3OTg5 NmVmNzkxZS4uZGVmMzU3MjFlOWVkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX3JlcXVlc3QuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X3JlcXVlc3QuaAo+IEBAIC0yMjIsNyArMjIyLDggQEAgaW50IGk5MTVfd2FpdF9yZXF1ZXN0KHN0 cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAo+ICAJCSAgICAgIHM2NCAqdGltZW91dCwK PiAgCQkgICAgICBzdHJ1Y3QgaW50ZWxfcnBzX2NsaWVudCAqcnBzKQo+ICAJX19hdHRyaWJ1dGVf Xygobm9ubnVsbCgxKSkpOwo+IC0jZGVmaW5lIEk5MTVfV0FJVF9JTlRFUlJVUFRJQkxFIEJJVCgw KQo+ICsjZGVmaW5lIEk5MTVfV0FJVF9JTlRFUlJVUFRJQkxFCUJJVCgwKQo+ICsjZGVmaW5lIEk5 MTVfV0FJVF9MT0NLRUQJQklUKDEpIC8qIHN0cnVjdF9tdXRleCBoZWxkLCBoYW5kbGUgR1BVIHJl c2V0ICovCj4gIAo+ICBzdGF0aWMgaW5saW5lIHUzMiBpbnRlbF9lbmdpbmVfZ2V0X3NlcW5vKHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSk7Cj4gIAo+IEBAIC01NzYsNyArNTc3LDkgQEAg aTkxNV9nZW1fYWN0aXZlX3dhaXQoY29uc3Qgc3RydWN0IGk5MTVfZ2VtX2FjdGl2ZSAqYWN0aXZl LCBzdHJ1Y3QgbXV0ZXggKm11dGV4KQo+ICAJaWYgKCFyZXF1ZXN0KQo+ICAJCXJldHVybiAwOwo+ ICAKPiAtCXJldHVybiBpOTE1X3dhaXRfcmVxdWVzdChyZXF1ZXN0LCBJOTE1X1dBSVRfSU5URVJS VVBUSUJMRSwgTlVMTCwgTlVMTCk7Cj4gKwlyZXR1cm4gaTkxNV93YWl0X3JlcXVlc3QocmVxdWVz dCwKPiArCQkJCSBJOTE1X1dBSVRfSU5URVJSVVBUSUJMRSB8IEk5MTVfV0FJVF9MT0NLRUQsCj4g KwkJCQkgTlVMTCwgTlVMTCk7Cj4gIH0KPiAgCj4gIC8qKgo+IEBAIC02MzksNyArNjQyLDkgQEAg aTkxNV9nZW1fYWN0aXZlX3JldGlyZShzdHJ1Y3QgaTkxNV9nZW1fYWN0aXZlICphY3RpdmUsCj4g IAlpZiAoIXJlcXVlc3QpCj4gIAkJcmV0dXJuIDA7Cj4gIAo+IC0JcmV0ID0gaTkxNV93YWl0X3Jl cXVlc3QocmVxdWVzdCwgSTkxNV9XQUlUX0lOVEVSUlVQVElCTEUsIE5VTEwsIE5VTEwpOwo+ICsJ cmV0ID0gaTkxNV93YWl0X3JlcXVlc3QocmVxdWVzdCwKPiArCQkJCUk5MTVfV0FJVF9JTlRFUlJV UFRJQkxFIHwgSTkxNV9XQUlUX0xPQ0tFRCwKPiArCQkJCU5VTEwsIE5VTEwpOwo+ICAJaWYgKHJl dCkKPiAgCQlyZXR1cm4gcmV0Owo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fc2hyaW5rZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3No cmlua2VyLmMKPiBpbmRleCAzNWEwNWY0YzUxYzEuLjFjMjM3ZDAyZjMwYiAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9zaHJpbmtlci5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc2hyaW5rZXIuYwo+IEBAIC00MTQsNyArNDE0LDcgQEAg aTkxNV9nZW1fc2hyaW5rZXJfdm1hcChzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iLCB1bnNpZ25l ZCBsb25nIGV2ZW50LCB2b2lkICpwdHIKPiAgCQlyZXR1cm4gTk9USUZZX0RPTkU7Cj4gIAo+ICAJ LyogRm9yY2UgZXZlcnl0aGluZyBvbnRvIHRoZSBpbmFjdGl2ZSBsaXN0cyAqLwo+IC0JcmV0ID0g aTkxNV9nZW1fd2FpdF9mb3JfaWRsZShkZXZfcHJpdiwgMCk7Cj4gKwlyZXQgPSBpOTE1X2dlbV93 YWl0X2Zvcl9pZGxlKGRldl9wcml2LCBJOTE1X1dBSVRfTE9DS0VEKTsKPiAgCWlmIChyZXQpCj4g IAkJZ290byBvdXQ7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9yaW5nYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMK PiBpbmRleCA5ZDc2YmY5Y2M3OGEuLmVhZTI2MWU2MmI4YiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKPiBAQCAtMjIyMyw3ICsyMjIzLDggQEAgc3RhdGljIGlu dCB3YWl0X2Zvcl9zcGFjZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwgaW50IGJ5 dGVzKQo+ICAJaWYgKFdBUk5fT04oJnRhcmdldC0+cmluZ19saW5rID09ICZyaW5nLT5yZXF1ZXN0 X2xpc3QpKQo+ICAJCXJldHVybiAtRU5PU1BDOwo+ICAKPiAtCXJldCA9IGk5MTVfd2FpdF9yZXF1 ZXN0KHRhcmdldCwgSTkxNV9XQUlUX0lOVEVSUlVQVElCTEUsCj4gKwlyZXQgPSBpOTE1X3dhaXRf cmVxdWVzdCh0YXJnZXQsCj4gKwkJCQlJOTE1X1dBSVRfSU5URVJSVVBUSUJMRSB8IEk5MTVfV0FJ VF9MT0NLRUQsCj4gIAkJCQlOVUxMLCBOT19XQUlUQk9PU1QpOwo+ICAJaWYgKHJldCkKPiAgCQly ZXR1cm4gcmV0Owo+IC0tIAo+IDIuOS4zCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeAo=