From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Gordon Subject: Re: [PATCH v3] drm/i915/guc: Clean up locks in GuC Date: Wed, 2 Dec 2015 19:50:26 +0000 Message-ID: <565F4B82.4040604@intel.com> References: <1448319778-29282-1-git-send-email-yu.dai@intel.com> <1448928919-12372-1-git-send-email-yu.dai@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 277936EAAB for ; Wed, 2 Dec 2015 11:50:29 -0800 (PST) In-Reply-To: <1448928919-12372-1-git-send-email-yu.dai@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Dai, Yu" , "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org T24gMDEvMTIvMTUgMDA6MTUsIERhaSwgWXUgd3JvdGU6Cj4gRnJvbTogQWxleCBEYWkgPHl1LmRh aUBpbnRlbC5jb20+Cj4KPiBXaGVuIEd1QyBXb3JrIFF1ZXVlIGlzIGZ1bGwsIGRyaXZlciB3aWxs IHdhaXQgR3VDIGZvciBhdmFsaWFibGUKPiBzcGFjZSBieSBkZWxheWluZyAxbXMuIFRoZSB3YWl0 IG5lZWRzIHRvIGJlIG91dCBvZiBzcGlubG9ja2lycSAvCj4gdW5sb2NrLiBPdGhlcndpc2UsIGxv Y2t1cCBoYXBwZW5zIGJlY2F1c2UgamlmZmllcyB3b24ndCBiZSB1cGRhdGVkCj4gZHVlIHRvIGly cSBpcyBkaXNhYmxlZC4gVGhlIHVubmVjZXNzYXJ5IGxvY2tzIGhhcyBiZWVuIGNsZWFyZWQuCj4g ZGV2LT5zdHJ1Y3RfbXV0ZXggaXMgdXNlZCBpbnN0ZWFkIHdoZXJlIG5lZWRlZC4KPgo+IElzc3Vl IGlzIGZvdW5kIGluIGlndC9nZW1fY2xvc2VfcmFjZS4KPgo+IHYzOiBSZW1vdmUgdW5uZWNlc3Nh cnkgd2hpdGVzcGFjZSBjaHVybgo+IHYyOiBDbGVhbiB1cCB3cV9sb2NrIHRvbwo+IHYxOiBDbGVh biB1cCBob3N0Mmd1YyBsb2NrIGFzIHdlbGwKPgo+IFNpZ25lZC1vZmYtYnk6IEFsZXggRGFpIDx5 dS5kYWlAaW50ZWwuY29tPgoKQSBmZXcgdHlwb3MgaW4gdGhlIGNvbW1pdCBtZXNzYWdlLCBhcyBw b2ludGVkIG91dCBieSBOaWNrIGluIHRoZSAKcHJldmlvdXMgcmV2aWV3IGN5Y2xlLCBidXQgdGhl IGNvZGUgbG9va3MgT0sgc28KClJldmlld2VkLWJ5OiBEYXZlIEdvcmRvbiA8ZGF2aWQucy5nb3Jk b25AaW50ZWwuY29tPgoKYW5kIGhlcmUncyBhIHN1Z2dlc3Rpb24gZm9yIHRoZSBjb21taXQgbWVz c2FnZSwgd2l0aCBhCmJpdCBtb3JlIGJhY2tncm91bmQgYW5kIG1vcmUgJ3doeScgcmF0aGVyIHRo YW4gJ3doYXQnOgoKOiBGb3Igbm93LCByZW1vdmUgdGhlIHNwaW5sb2NrcyB0aGF0IHByb3RlY3Rl ZCB0aGUgR3VDJ3MKOiBzdGF0aXN0aWNzIGJsb2NrIGFuZCB3b3JrIHF1ZXVlOyB0aGV5IGFyZSBv bmx5IGFjY2Vzc2VkCjogYnkgY29kZSB0aGF0IGFscmVhZHkgaG9sZHMgdGhlIGdsb2JhbCBzdHJ1 Y3RfbXV0ZXgsIGFuZAo6IHNvIGFyZSByZWR1bmRhbnQgKHVudGlsIHRoZSBiaWcgc3RydWN0X211 dGV4IHJld3JpdGUhKS4KOgo6IFRoZSBzcGVjaWZpYyBwcm9ibGVtIHRoYXQgdGhlIHNwaW5sb2Nr cyBjYXVzZWQgd2FzIHRoYXQKOiBpZiB0aGUgd29yayBxdWV1ZSB3YXMgZnVsbCwgdGhlIGRyaXZl ciB3b3VsZCB0cnkgdG8KOiBzcGlud2FpdCBmb3Igb25lIGppZmZ5LCBidXQgd2l0aCBpbnRlcnJ1 cHRzIGRpc2FibGVkIHRoZQo6IGppZmZ5IGNvdW50IHdvdWxkIG5vdCBhZHZhbmNlLCBsZWFkaW5n IHRvIGEgc3lzdGVtIGhhbmcuCjogVGhlIGlzc3VlIHdhcyBmb3VuZCB1c2luZyB0ZXN0IGNhc2Ug aWd0L2dlbV9jbG9zZV9yYWNlLgo6CjogVGhlIG5ldyB2ZXJzaW9uIHdpbGwgdXNsZWVwKCkgaW5z dGVhZCwgc3RpbGwgaG9sZGluZwo6IHRoZSBzdHJ1Y3RfbXV0ZXggYnV0IHdpdGhvdXQgYW55IHNw aW5sb2Nrcy4KCj4gLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyAg ICAgICAgfCAxMiArKysrKystLS0tLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3Vj X3N1Ym1pc3Npb24uYyB8IDMxICsrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmggICAgICAgICAgIHwgIDQgLS0tLQo+ICAgMyBm aWxlcyBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCAzNSBkZWxldGlvbnMoLSkKPgo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gaW5kZXggYTcyOGZmMS4uZDZiNzgxNyAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gQEAgLTI0NzMsMTUgKzI0NzMsMTUgQEAg c3RhdGljIGludCBpOTE1X2d1Y19pbmZvKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqZGF0YSkK PiAgIAlpZiAoIUhBU19HVUNfU0NIRUQoZGV2X3ByaXYtPmRldikpCj4gICAJCXJldHVybiAwOwo+ Cj4gKwlpZiAobXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKCZkZXYtPnN0cnVjdF9tdXRleCkpCj4g KwkJcmV0dXJuIDA7Cj4gKwo+ICAgCS8qIFRha2UgYSBsb2NhbCBjb3B5IG9mIHRoZSBHdUMgZGF0 YSwgc28gd2UgY2FuIGR1bXAgaXQgYXQgbGVpc3VyZSAqLwo+IC0Jc3Bpbl9sb2NrKCZkZXZfcHJp di0+Z3VjLmhvc3QyZ3VjX2xvY2spOwo+ICAgCWd1YyA9IGRldl9wcml2LT5ndWM7Cj4gLQlpZiAo Z3VjLmV4ZWNidWZfY2xpZW50KSB7Cj4gLQkJc3Bpbl9sb2NrKCZndWMuZXhlY2J1Zl9jbGllbnQt PndxX2xvY2spOwo+ICsJaWYgKGd1Yy5leGVjYnVmX2NsaWVudCkKPiAgIAkJY2xpZW50ID0gKmd1 Yy5leGVjYnVmX2NsaWVudDsKPiAtCQlzcGluX3VubG9jaygmZ3VjLmV4ZWNidWZfY2xpZW50LT53 cV9sb2NrKTsKPiAtCX0KPiAtCXNwaW5fdW5sb2NrKCZkZXZfcHJpdi0+Z3VjLmhvc3QyZ3VjX2xv Y2spOwo+ICsKPiArCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+Cj4gICAJc2Vx X3ByaW50ZihtLCAiR3VDIHRvdGFsIGFjdGlvbiBjb3VudDogJWxsdVxuIiwgZ3VjLmFjdGlvbl9j b3VudCk7Cj4gICAJc2VxX3ByaW50ZihtLCAiR3VDIGFjdGlvbiBmYWlsdXJlIGNvdW50OiAldVxu IiwgZ3VjLmFjdGlvbl9mYWlsKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9ndWNfc3VibWlzc2lvbi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3Vi bWlzc2lvbi5jCj4gaW5kZXggZWQ5ZjEwMC4uYTdmOTc4NSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMKPiBAQCAtODYsNyArODYsNiBAQCBzdGF0aWMg aW50IGhvc3QyZ3VjX2FjdGlvbihzdHJ1Y3QgaW50ZWxfZ3VjICpndWMsIHUzMiAqZGF0YSwgdTMy IGxlbikKPiAgIAkJcmV0dXJuIC1FSU5WQUw7Cj4KPiAgIAlpbnRlbF91bmNvcmVfZm9yY2V3YWtl X2dldChkZXZfcHJpdiwgRk9SQ0VXQUtFX0FMTCk7Cj4gLQlzcGluX2xvY2soJmRldl9wcml2LT5n dWMuaG9zdDJndWNfbG9jayk7Cj4KPiAgIAlkZXZfcHJpdi0+Z3VjLmFjdGlvbl9jb3VudCArPSAx Owo+ICAgCWRldl9wcml2LT5ndWMuYWN0aW9uX2NtZCA9IGRhdGFbMF07Cj4gQEAgLTExOSw3ICsx MTgsNiBAQCBzdGF0aWMgaW50IGhvc3QyZ3VjX2FjdGlvbihzdHJ1Y3QgaW50ZWxfZ3VjICpndWMs IHUzMiAqZGF0YSwgdTMyIGxlbikKPiAgIAl9Cj4gICAJZGV2X3ByaXYtPmd1Yy5hY3Rpb25fc3Rh dHVzID0gc3RhdHVzOwo+Cj4gLQlzcGluX3VubG9jaygmZGV2X3ByaXYtPmd1Yy5ob3N0Mmd1Y19s b2NrKTsKPiAgIAlpbnRlbF91bmNvcmVfZm9yY2V3YWtlX3B1dChkZXZfcHJpdiwgRk9SQ0VXQUtF X0FMTCk7Cj4KPiAgIAlyZXR1cm4gcmV0Owo+IEBAIC0yOTIsMTYgKzI5MCwxMiBAQCBzdGF0aWMg dWludDMyX3Qgc2VsZWN0X2Rvb3JiZWxsX2NhY2hlbGluZShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMp Cj4gICAJY29uc3QgdWludDMyX3QgY2FjaGVsaW5lX3NpemUgPSBjYWNoZV9saW5lX3NpemUoKTsK PiAgIAl1aW50MzJfdCBvZmZzZXQ7Cj4KPiAtCXNwaW5fbG9jaygmZ3VjLT5ob3N0Mmd1Y19sb2Nr KTsKPiAtCj4gICAJLyogRG9vcmJlbGwgdXNlcyBhIHNpbmdsZSBjYWNoZSBsaW5lIHdpdGhpbiBh IHBhZ2UgKi8KPiAgIAlvZmZzZXQgPSBvZmZzZXRfaW5fcGFnZShndWMtPmRiX2NhY2hlbGluZSk7 Cj4KPiAgIAkvKiBNb3ZpbmcgdG8gbmV4dCBjYWNoZSBsaW5lIHRvIHJlZHVjZSBjb250ZW50aW9u ICovCj4gICAJZ3VjLT5kYl9jYWNoZWxpbmUgKz0gY2FjaGVsaW5lX3NpemU7Cj4KPiAtCXNwaW5f dW5sb2NrKCZndWMtPmhvc3QyZ3VjX2xvY2spOwo+IC0KPiAgIAlEUk1fREVCVUdfRFJJVkVSKCJz ZWxlY3RlZCBkb29yYmVsbCBjYWNoZWxpbmUgMHgleCwgbmV4dCAweCV4LCBsaW5lc2l6ZSAldVxu IiwKPiAgIAkJCW9mZnNldCwgZ3VjLT5kYl9jYWNoZWxpbmUsIGNhY2hlbGluZV9zaXplKTsKPgo+ IEBAIC0zMjIsMTMgKzMxNiwxMSBAQCBzdGF0aWMgdWludDE2X3QgYXNzaWduX2Rvb3JiZWxsKHN0 cnVjdCBpbnRlbF9ndWMgKmd1YywgdWludDMyX3QgcHJpb3JpdHkpCj4gICAJY29uc3QgdWludDE2 X3QgZW5kID0gc3RhcnQgKyBoYWxmOwo+ICAgCXVpbnQxNl90IGlkOwo+Cj4gLQlzcGluX2xvY2so Jmd1Yy0+aG9zdDJndWNfbG9jayk7Cj4gICAJaWQgPSBmaW5kX25leHRfemVyb19iaXQoZ3VjLT5k b29yYmVsbF9iaXRtYXAsIGVuZCwgc3RhcnQpOwo+ICAgCWlmIChpZCA9PSBlbmQpCj4gICAJCWlk ID0gR1VDX0lOVkFMSURfRE9PUkJFTExfSUQ7Cj4gICAJZWxzZQo+ICAgCQliaXRtYXBfc2V0KGd1 Yy0+ZG9vcmJlbGxfYml0bWFwLCBpZCwgMSk7Cj4gLQlzcGluX3VubG9jaygmZ3VjLT5ob3N0Mmd1 Y19sb2NrKTsKPgo+ICAgCURSTV9ERUJVR19EUklWRVIoImFzc2lnbmVkICVzIHByaW9yaXR5IGRv b3JiZWxsIGlkIDB4JXhcbiIsCj4gICAJCQloaV9wcmkgPyAiaGlnaCIgOiAibm9ybWFsIiwgaWQp Owo+IEBAIC0zMzgsOSArMzMwLDcgQEAgc3RhdGljIHVpbnQxNl90IGFzc2lnbl9kb29yYmVsbChz dHJ1Y3QgaW50ZWxfZ3VjICpndWMsIHVpbnQzMl90IHByaW9yaXR5KQo+Cj4gICBzdGF0aWMgdm9p ZCByZWxlYXNlX2Rvb3JiZWxsKHN0cnVjdCBpbnRlbF9ndWMgKmd1YywgdWludDE2X3QgaWQpCj4g ICB7Cj4gLQlzcGluX2xvY2soJmd1Yy0+aG9zdDJndWNfbG9jayk7Cj4gICAJYml0bWFwX2NsZWFy KGd1Yy0+ZG9vcmJlbGxfYml0bWFwLCBpZCwgMSk7Cj4gLQlzcGluX3VubG9jaygmZ3VjLT5ob3N0 Mmd1Y19sb2NrKTsKPiAgIH0KPgo+ICAgLyoKPiBAQCAtNDg3LDE2ICs0NzcsMTMgQEAgc3RhdGlj IGludCBndWNfZ2V0X3dvcmtxdWV1ZV9zcGFjZShzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpnYywg dTMyICpvZmZzZXQpCj4gICAJc3RydWN0IGd1Y19wcm9jZXNzX2Rlc2MgKmRlc2M7Cj4gICAJdm9p ZCAqYmFzZTsKPiAgIAl1MzIgc2l6ZSA9IHNpemVvZihzdHJ1Y3QgZ3VjX3dxX2l0ZW0pOwo+IC0J aW50IHJldCA9IDAsIHRpbWVvdXRfY291bnRlciA9IDIwMDsKPiArCWludCByZXQgPSAtRVRJTUVE T1VULCB0aW1lb3V0X2NvdW50ZXIgPSAyMDA7Cj4KPiAgIAliYXNlID0ga21hcF9hdG9taWMoaTkx NV9nZW1fb2JqZWN0X2dldF9wYWdlKGdjLT5jbGllbnRfb2JqLCAwKSk7Cj4gICAJZGVzYyA9IGJh c2UgKyBnYy0+cHJvY19kZXNjX29mZnNldDsKPgo+ICAgCXdoaWxlICh0aW1lb3V0X2NvdW50ZXIt LSA+IDApIHsKPiAtCQlyZXQgPSB3YWl0X2Zvcl9hdG9taWMoQ0lSQ19TUEFDRShnYy0+d3FfdGFp bCwgZGVzYy0+aGVhZCwKPiAtCQkJCWdjLT53cV9zaXplKSA+PSBzaXplLCAxKTsKPiAtCj4gLQkJ aWYgKCFyZXQpIHsKPiArCQlpZiAoQ0lSQ19TUEFDRShnYy0+d3FfdGFpbCwgZGVzYy0+aGVhZCwg Z2MtPndxX3NpemUpID49IHNpemUpIHsKPiAgIAkJCSpvZmZzZXQgPSBnYy0+d3FfdGFpbDsKPgo+ ICAgCQkJLyogYWR2YW5jZSB0aGUgdGFpbCBmb3IgbmV4dCB3b3JrcXVldWUgaXRlbSAqLwo+IEBA IC01MDUsNyArNDkyLDExIEBAIHN0YXRpYyBpbnQgZ3VjX2dldF93b3JrcXVldWVfc3BhY2Uoc3Ry dWN0IGk5MTVfZ3VjX2NsaWVudCAqZ2MsIHUzMiAqb2Zmc2V0KQo+Cj4gICAJCQkvKiB0aGlzIHdp bGwgYnJlYWsgdGhlIGxvb3AgKi8KPiAgIAkJCXRpbWVvdXRfY291bnRlciA9IDA7Cj4gKwkJCXJl dCA9IDA7Cj4gICAJCX0KPiArCj4gKwkJaWYgKHRpbWVvdXRfY291bnRlcikKPiArCQkJdXNsZWVw X3JhbmdlKDEwMDAsIDIwMDApOwo+ICAgCX07Cj4KPiAgIAlrdW5tYXBfYXRvbWljKGJhc2UpOwo+ IEBAIC01OTcsMTUgKzU4OCwxMiBAQCBpbnQgaTkxNV9ndWNfc3VibWl0KHN0cnVjdCBpOTE1X2d1 Y19jbGllbnQgKmNsaWVudCwKPiAgIHsKPiAgIAlzdHJ1Y3QgaW50ZWxfZ3VjICpndWMgPSBjbGll bnQtPmd1YzsKPiAgIAllbnVtIGludGVsX3JpbmdfaWQgcmluZ19pZCA9IHJxLT5yaW5nLT5pZDsK PiAtCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Cj4gICAJaW50IHFfcmV0LCBiX3JldDsKPgo+ICAgCS8q IE5lZWQgdGhpcyBiZWNhdXNlIG9mIHRoZSBkZWZlcnJlZCBwaW4gY3R4IGFuZCByaW5nICovCj4g ICAJLyogU2hhbGwgd2UgbW92ZSB0aGlzIHJpZ2h0IGFmdGVyIHJpbmcgaXMgcGlubmVkPyAqLwo+ ICAgCWxyX2NvbnRleHRfdXBkYXRlKHJxKTsKPgo+IC0Jc3Bpbl9sb2NrX2lycXNhdmUoJmNsaWVu dC0+d3FfbG9jaywgZmxhZ3MpOwo+IC0KPiAgIAlxX3JldCA9IGd1Y19hZGRfd29ya3F1ZXVlX2l0 ZW0oY2xpZW50LCBycSk7Cj4gICAJaWYgKHFfcmV0ID09IDApCj4gICAJCWJfcmV0ID0gZ3VjX3Jp bmdfZG9vcmJlbGwoY2xpZW50KTsKPiBAQCAtNjIwLDEyICs2MDgsOCBAQCBpbnQgaTkxNV9ndWNf c3VibWl0KHN0cnVjdCBpOTE1X2d1Y19jbGllbnQgKmNsaWVudCwKPiAgIAl9IGVsc2Ugewo+ICAg CQljbGllbnQtPnJldGNvZGUgPSAwOwo+ICAgCX0KPiAtCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUo JmNsaWVudC0+d3FfbG9jaywgZmxhZ3MpOwo+IC0KPiAtCXNwaW5fbG9jaygmZ3VjLT5ob3N0Mmd1 Y19sb2NrKTsKPiAgIAlndWMtPnN1Ym1pc3Npb25zW3JpbmdfaWRdICs9IDE7Cj4gICAJZ3VjLT5s YXN0X3NlcW5vW3JpbmdfaWRdID0gcnEtPnNlcW5vOwo+IC0Jc3Bpbl91bmxvY2soJmd1Yy0+aG9z dDJndWNfbG9jayk7Cj4KPiAgIAlyZXR1cm4gcV9yZXQ7Cj4gICB9Cj4gQEAgLTc2OCw3ICs3NTIs NiBAQCBzdGF0aWMgc3RydWN0IGk5MTVfZ3VjX2NsaWVudCAqZ3VjX2NsaWVudF9hbGxvYyhzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAgCWNsaWVudC0+Y2xpZW50X29iaiA9IG9iajsKPiAgIAlj bGllbnQtPndxX29mZnNldCA9IEdVQ19EQl9TSVpFOwo+ICAgCWNsaWVudC0+d3Ffc2l6ZSA9IEdV Q19XUV9TSVpFOwo+IC0Jc3Bpbl9sb2NrX2luaXQoJmNsaWVudC0+d3FfbG9jayk7Cj4KPiAgIAlj bGllbnQtPmRvb3JiZWxsX29mZnNldCA9IHNlbGVjdF9kb29yYmVsbF9jYWNoZWxpbmUoZ3VjKTsK Pgo+IEBAIC04NzEsOCArODU0LDYgQEAgaW50IGk5MTVfZ3VjX3N1Ym1pc3Npb25faW5pdChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAgCWlmICghZ3VjLT5jdHhfcG9vbF9vYmopCj4gICAJCXJl dHVybiAtRU5PTUVNOwo+Cj4gLQlzcGluX2xvY2tfaW5pdCgmZGV2X3ByaXYtPmd1Yy5ob3N0Mmd1 Y19sb2NrKTsKPiAtCj4gICAJaWRhX2luaXQoJmd1Yy0+Y3R4X2lkcyk7Cj4KPiAgIAlndWNfY3Jl YXRlX2xvZyhndWMpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9n dWMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oCj4gaW5kZXggNWJhNTg2Ni4u ODIyOTUyMiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaAo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oCj4gQEAgLTQyLDggKzQyLDYg QEAgc3RydWN0IGk5MTVfZ3VjX2NsaWVudCB7Cj4KPiAgIAl1aW50MzJfdCB3cV9vZmZzZXQ7Cj4g ICAJdWludDMyX3Qgd3Ffc2l6ZTsKPiAtCj4gLQlzcGlubG9ja190IHdxX2xvY2s7CQkvKiBQcm90 ZWN0cyBhbGwgZGF0YSBiZWxvdwkqLwo+ICAgCXVpbnQzMl90IHdxX3RhaWw7Cj4KPiAgIAkvKiBH dUMgc3VibWlzc2lvbiBzdGF0aXN0aWNzICYgc3RhdHVzICovCj4gQEAgLTk1LDggKzkzLDYgQEAg c3RydWN0IGludGVsX2d1YyB7Cj4KPiAgIAlzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpleGVjYnVm X2NsaWVudDsKPgo+IC0Jc3BpbmxvY2tfdCBob3N0Mmd1Y19sb2NrOwkvKiBQcm90ZWN0cyBhbGwg ZGF0YSBiZWxvdwkqLwo+IC0KPiAgIAlERUNMQVJFX0JJVE1BUChkb29yYmVsbF9iaXRtYXAsIEdV Q19NQVhfRE9PUkJFTExTKTsKPiAgIAl1aW50MzJfdCBkYl9jYWNoZWxpbmU7CQkvKiBDeWNsaWMg Y291bnRlciBtb2QgcGFnZXNpemUJKi8KPgo+CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAo=