From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v4] drm/i915/guc: Clean up locks in GuC Date: Thu, 3 Dec 2015 08:52:59 +0100 Message-ID: <20151203075259.GF10243@phenom.ffwll.local> References: <1448319778-29282-1-git-send-email-yu.dai@intel.com> <1449104189-27591-1-git-send-email-yu.dai@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-f41.google.com (mail-wm0-f41.google.com [74.125.82.41]) by gabe.freedesktop.org (Postfix) with ESMTPS id 189566E2DE for ; Wed, 2 Dec 2015 23:53:04 -0800 (PST) Received: by wmww144 with SMTP id w144so10471159wmw.0 for ; Wed, 02 Dec 2015 23:53:02 -0800 (PST) Content-Disposition: inline In-Reply-To: <1449104189-27591-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: yu.dai@intel.com Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBEZWMgMDIsIDIwMTUgYXQgMDQ6NTY6MjlQTSAtMDgwMCwgeXUuZGFpQGludGVsLmNv bSB3cm90ZToKPiBGcm9tOiBBbGV4IERhaSA8eXUuZGFpQGludGVsLmNvbT4KPiAKPiBGb3Igbm93 LCByZW1vdmUgdGhlIHNwaW5sb2NrcyB0aGF0IHByb3RlY3RlZCB0aGUgR3VDJ3MKPiBzdGF0aXN0 aWNzIGJsb2NrIGFuZCB3b3JrIHF1ZXVlOyB0aGV5IGFyZSBvbmx5IGFjY2Vzc2VkCj4gYnkgY29k ZSB0aGF0IGFscmVhZHkgaG9sZHMgdGhlIGdsb2JhbCBzdHJ1Y3RfbXV0ZXgsIGFuZAo+IHNvIGFy ZSByZWR1bmRhbnQgKHVudGlsIHRoZSBiaWcgc3RydWN0X211dGV4IHJld3JpdGUhKS4KPiAKPiBU aGUgc3BlY2lmaWMgcHJvYmxlbSB0aGF0IHRoZSBzcGlubG9ja3MgY2F1c2VkIHdhcyB0aGF0Cj4g aWYgdGhlIHdvcmsgcXVldWUgd2FzIGZ1bGwsIHRoZSBkcml2ZXIgd291bGQgdHJ5IHRvCj4gc3Bp bndhaXQgZm9yIG9uZSBqaWZmeSwgYnV0IHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZCB0aGUKPiBq aWZmeSBjb3VudCB3b3VsZCBub3QgYWR2YW5jZSwgbGVhZGluZyB0byBhIHN5c3RlbSBoYW5nLgo+ IFRoZSBpc3N1ZSB3YXMgZm91bmQgdXNpbmcgdGVzdCBjYXNlIGlndC9nZW1fY2xvc2VfcmFjZS4K PiAKPiBUaGUgbmV3IHZlcnNpb24gd2lsbCB1c2xlZXAoKSBpbnN0ZWFkLCBzdGlsbCBob2xkaW5n Cj4gdGhlIHN0cnVjdF9tdXRleCBidXQgd2l0aG91dCBhbnkgc3BpbmxvY2tzLgo+IAo+IHY0OiBS ZW9yZ2FuaXplIGNvbW1pdCBtZXNzYWdlIChEYXZlIEdvcmRvbikKPiB2MzogUmVtb3ZlIHVubmVj ZXNzYXJ5IHdoaXRlc3BhY2UgY2h1cm4KPiB2MjogQ2xlYW4gdXAgd3FfbG9jayB0b28KPiB2MTog Q2xlYW4gdXAgaG9zdDJndWMgbG9jayBhcyB3ZWxsCj4gCj4gU2lnbmVkLW9mZi1ieTogQWxleCBE YWkgPHl1LmRhaUBpbnRlbC5jb20+CgpQbGVhc2UgYWRkIHRoZSByLWIgeW91cnNlbGYgd2hlbiBy ZXNlbmRpbmcgYW5kIHlvdSBoYXZlIG9uZSwgZm9yIG5leHQgdGltZQphcm91bmQuCgpRdWV1ZWQg Zm9yIC1uZXh0LCB0aGFua3MgZm9yIHRoZSBwYXRjaC4KLURhbmllbAo+IC0tLQo+ICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyAgICAgICAgfCAxMiArKysrKystLS0tLS0KPiAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jIHwgMzEgKysrKysrLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5o ICAgICAgICAgICB8ICA0IC0tLS0KPiAgMyBmaWxlcyBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCsp LCAzNSBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+IGlu ZGV4IGE3MjhmZjEuLmQ2Yjc4MTcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kZWJ1Z2ZzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMu Ywo+IEBAIC0yNDczLDE1ICsyNDczLDE1IEBAIHN0YXRpYyBpbnQgaTkxNV9ndWNfaW5mbyhzdHJ1 Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKmRhdGEpCj4gIAlpZiAoIUhBU19HVUNfU0NIRUQoZGV2X3By aXYtPmRldikpCj4gIAkJcmV0dXJuIDA7Cj4gIAo+ICsJaWYgKG11dGV4X2xvY2tfaW50ZXJydXB0 aWJsZSgmZGV2LT5zdHJ1Y3RfbXV0ZXgpKQo+ICsJCXJldHVybiAwOwo+ICsKPiAgCS8qIFRha2Ug YSBsb2NhbCBjb3B5IG9mIHRoZSBHdUMgZGF0YSwgc28gd2UgY2FuIGR1bXAgaXQgYXQgbGVpc3Vy ZSAqLwo+IC0Jc3Bpbl9sb2NrKCZkZXZfcHJpdi0+Z3VjLmhvc3QyZ3VjX2xvY2spOwo+ICAJZ3Vj ID0gZGV2X3ByaXYtPmd1YzsKPiAtCWlmIChndWMuZXhlY2J1Zl9jbGllbnQpIHsKPiAtCQlzcGlu X2xvY2soJmd1Yy5leGVjYnVmX2NsaWVudC0+d3FfbG9jayk7Cj4gKwlpZiAoZ3VjLmV4ZWNidWZf Y2xpZW50KQo+ICAJCWNsaWVudCA9ICpndWMuZXhlY2J1Zl9jbGllbnQ7Cj4gLQkJc3Bpbl91bmxv Y2soJmd1Yy5leGVjYnVmX2NsaWVudC0+d3FfbG9jayk7Cj4gLQl9Cj4gLQlzcGluX3VubG9jaygm ZGV2X3ByaXYtPmd1Yy5ob3N0Mmd1Y19sb2NrKTsKPiArCj4gKwltdXRleF91bmxvY2soJmRldi0+ c3RydWN0X211dGV4KTsKPiAgCj4gIAlzZXFfcHJpbnRmKG0sICJHdUMgdG90YWwgYWN0aW9uIGNv dW50OiAlbGx1XG4iLCBndWMuYWN0aW9uX2NvdW50KTsKPiAgCXNlcV9wcmludGYobSwgIkd1QyBh Y3Rpb24gZmFpbHVyZSBjb3VudDogJXVcbiIsIGd1Yy5hY3Rpb25fZmFpbCk7Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwo+IGluZGV4IGVkOWYxMDAuLmE3Zjk3 ODUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lv bi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCj4g QEAgLTg2LDcgKzg2LDYgQEAgc3RhdGljIGludCBob3N0Mmd1Y19hY3Rpb24oc3RydWN0IGludGVs X2d1YyAqZ3VjLCB1MzIgKmRhdGEsIHUzMiBsZW4pCj4gIAkJcmV0dXJuIC1FSU5WQUw7Cj4gIAo+ ICAJaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9nZXQoZGV2X3ByaXYsIEZPUkNFV0FLRV9BTEwpOwo+ IC0Jc3Bpbl9sb2NrKCZkZXZfcHJpdi0+Z3VjLmhvc3QyZ3VjX2xvY2spOwo+ICAKPiAgCWRldl9w cml2LT5ndWMuYWN0aW9uX2NvdW50ICs9IDE7Cj4gIAlkZXZfcHJpdi0+Z3VjLmFjdGlvbl9jbWQg PSBkYXRhWzBdOwo+IEBAIC0xMTksNyArMTE4LDYgQEAgc3RhdGljIGludCBob3N0Mmd1Y19hY3Rp b24oc3RydWN0IGludGVsX2d1YyAqZ3VjLCB1MzIgKmRhdGEsIHUzMiBsZW4pCj4gIAl9Cj4gIAlk ZXZfcHJpdi0+Z3VjLmFjdGlvbl9zdGF0dXMgPSBzdGF0dXM7Cj4gIAo+IC0Jc3Bpbl91bmxvY2so JmRldl9wcml2LT5ndWMuaG9zdDJndWNfbG9jayk7Cj4gIAlpbnRlbF91bmNvcmVfZm9yY2V3YWtl X3B1dChkZXZfcHJpdiwgRk9SQ0VXQUtFX0FMTCk7Cj4gIAo+ICAJcmV0dXJuIHJldDsKPiBAQCAt MjkyLDE2ICsyOTAsMTIgQEAgc3RhdGljIHVpbnQzMl90IHNlbGVjdF9kb29yYmVsbF9jYWNoZWxp bmUoc3RydWN0IGludGVsX2d1YyAqZ3VjKQo+ICAJY29uc3QgdWludDMyX3QgY2FjaGVsaW5lX3Np emUgPSBjYWNoZV9saW5lX3NpemUoKTsKPiAgCXVpbnQzMl90IG9mZnNldDsKPiAgCj4gLQlzcGlu X2xvY2soJmd1Yy0+aG9zdDJndWNfbG9jayk7Cj4gLQo+ICAJLyogRG9vcmJlbGwgdXNlcyBhIHNp bmdsZSBjYWNoZSBsaW5lIHdpdGhpbiBhIHBhZ2UgKi8KPiAgCW9mZnNldCA9IG9mZnNldF9pbl9w YWdlKGd1Yy0+ZGJfY2FjaGVsaW5lKTsKPiAgCj4gIAkvKiBNb3ZpbmcgdG8gbmV4dCBjYWNoZSBs aW5lIHRvIHJlZHVjZSBjb250ZW50aW9uICovCj4gIAlndWMtPmRiX2NhY2hlbGluZSArPSBjYWNo ZWxpbmVfc2l6ZTsKPiAgCj4gLQlzcGluX3VubG9jaygmZ3VjLT5ob3N0Mmd1Y19sb2NrKTsKPiAt Cj4gIAlEUk1fREVCVUdfRFJJVkVSKCJzZWxlY3RlZCBkb29yYmVsbCBjYWNoZWxpbmUgMHgleCwg bmV4dCAweCV4LCBsaW5lc2l6ZSAldVxuIiwKPiAgCQkJb2Zmc2V0LCBndWMtPmRiX2NhY2hlbGlu ZSwgY2FjaGVsaW5lX3NpemUpOwo+ICAKPiBAQCAtMzIyLDEzICszMTYsMTEgQEAgc3RhdGljIHVp bnQxNl90IGFzc2lnbl9kb29yYmVsbChzdHJ1Y3QgaW50ZWxfZ3VjICpndWMsIHVpbnQzMl90IHBy aW9yaXR5KQo+ICAJY29uc3QgdWludDE2X3QgZW5kID0gc3RhcnQgKyBoYWxmOwo+ICAJdWludDE2 X3QgaWQ7Cj4gIAo+IC0Jc3Bpbl9sb2NrKCZndWMtPmhvc3QyZ3VjX2xvY2spOwo+ICAJaWQgPSBm aW5kX25leHRfemVyb19iaXQoZ3VjLT5kb29yYmVsbF9iaXRtYXAsIGVuZCwgc3RhcnQpOwo+ICAJ aWYgKGlkID09IGVuZCkKPiAgCQlpZCA9IEdVQ19JTlZBTElEX0RPT1JCRUxMX0lEOwo+ICAJZWxz ZQo+ICAJCWJpdG1hcF9zZXQoZ3VjLT5kb29yYmVsbF9iaXRtYXAsIGlkLCAxKTsKPiAtCXNwaW5f dW5sb2NrKCZndWMtPmhvc3QyZ3VjX2xvY2spOwo+ICAKPiAgCURSTV9ERUJVR19EUklWRVIoImFz c2lnbmVkICVzIHByaW9yaXR5IGRvb3JiZWxsIGlkIDB4JXhcbiIsCj4gIAkJCWhpX3ByaSA/ICJo aWdoIiA6ICJub3JtYWwiLCBpZCk7Cj4gQEAgLTMzOCw5ICszMzAsNyBAQCBzdGF0aWMgdWludDE2 X3QgYXNzaWduX2Rvb3JiZWxsKHN0cnVjdCBpbnRlbF9ndWMgKmd1YywgdWludDMyX3QgcHJpb3Jp dHkpCj4gIAo+ICBzdGF0aWMgdm9pZCByZWxlYXNlX2Rvb3JiZWxsKHN0cnVjdCBpbnRlbF9ndWMg Kmd1YywgdWludDE2X3QgaWQpCj4gIHsKPiAtCXNwaW5fbG9jaygmZ3VjLT5ob3N0Mmd1Y19sb2Nr KTsKPiAgCWJpdG1hcF9jbGVhcihndWMtPmRvb3JiZWxsX2JpdG1hcCwgaWQsIDEpOwo+IC0Jc3Bp bl91bmxvY2soJmd1Yy0+aG9zdDJndWNfbG9jayk7Cj4gIH0KPiAgCj4gIC8qCj4gQEAgLTQ4Nywx NiArNDc3LDEzIEBAIHN0YXRpYyBpbnQgZ3VjX2dldF93b3JrcXVldWVfc3BhY2Uoc3RydWN0IGk5 MTVfZ3VjX2NsaWVudCAqZ2MsIHUzMiAqb2Zmc2V0KQo+ICAJc3RydWN0IGd1Y19wcm9jZXNzX2Rl c2MgKmRlc2M7Cj4gIAl2b2lkICpiYXNlOwo+ICAJdTMyIHNpemUgPSBzaXplb2Yoc3RydWN0IGd1 Y193cV9pdGVtKTsKPiAtCWludCByZXQgPSAwLCB0aW1lb3V0X2NvdW50ZXIgPSAyMDA7Cj4gKwlp bnQgcmV0ID0gLUVUSU1FRE9VVCwgdGltZW91dF9jb3VudGVyID0gMjAwOwo+ICAKPiAgCWJhc2Ug PSBrbWFwX2F0b21pYyhpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2UoZ2MtPmNsaWVudF9vYmosIDAp KTsKPiAgCWRlc2MgPSBiYXNlICsgZ2MtPnByb2NfZGVzY19vZmZzZXQ7Cj4gIAo+ICAJd2hpbGUg KHRpbWVvdXRfY291bnRlci0tID4gMCkgewo+IC0JCXJldCA9IHdhaXRfZm9yX2F0b21pYyhDSVJD X1NQQUNFKGdjLT53cV90YWlsLCBkZXNjLT5oZWFkLAo+IC0JCQkJZ2MtPndxX3NpemUpID49IHNp emUsIDEpOwo+IC0KPiAtCQlpZiAoIXJldCkgewo+ICsJCWlmIChDSVJDX1NQQUNFKGdjLT53cV90 YWlsLCBkZXNjLT5oZWFkLCBnYy0+d3Ffc2l6ZSkgPj0gc2l6ZSkgewo+ICAJCQkqb2Zmc2V0ID0g Z2MtPndxX3RhaWw7Cj4gIAo+ICAJCQkvKiBhZHZhbmNlIHRoZSB0YWlsIGZvciBuZXh0IHdvcmtx dWV1ZSBpdGVtICovCj4gQEAgLTUwNSw3ICs0OTIsMTEgQEAgc3RhdGljIGludCBndWNfZ2V0X3dv cmtxdWV1ZV9zcGFjZShzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpnYywgdTMyICpvZmZzZXQpCj4g IAo+ICAJCQkvKiB0aGlzIHdpbGwgYnJlYWsgdGhlIGxvb3AgKi8KPiAgCQkJdGltZW91dF9jb3Vu dGVyID0gMDsKPiArCQkJcmV0ID0gMDsKPiAgCQl9Cj4gKwo+ICsJCWlmICh0aW1lb3V0X2NvdW50 ZXIpCj4gKwkJCXVzbGVlcF9yYW5nZSgxMDAwLCAyMDAwKTsKPiAgCX07Cj4gIAo+ICAJa3VubWFw X2F0b21pYyhiYXNlKTsKPiBAQCAtNTk3LDE1ICs1ODgsMTIgQEAgaW50IGk5MTVfZ3VjX3N1Ym1p dChzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpjbGllbnQsCj4gIHsKPiAgCXN0cnVjdCBpbnRlbF9n dWMgKmd1YyA9IGNsaWVudC0+Z3VjOwo+ICAJZW51bSBpbnRlbF9yaW5nX2lkIHJpbmdfaWQgPSBy cS0+cmluZy0+aWQ7Cj4gLQl1bnNpZ25lZCBsb25nIGZsYWdzOwo+ICAJaW50IHFfcmV0LCBiX3Jl dDsKPiAgCj4gIAkvKiBOZWVkIHRoaXMgYmVjYXVzZSBvZiB0aGUgZGVmZXJyZWQgcGluIGN0eCBh bmQgcmluZyAqLwo+ICAJLyogU2hhbGwgd2UgbW92ZSB0aGlzIHJpZ2h0IGFmdGVyIHJpbmcgaXMg cGlubmVkPyAqLwo+ICAJbHJfY29udGV4dF91cGRhdGUocnEpOwo+ICAKPiAtCXNwaW5fbG9ja19p cnFzYXZlKCZjbGllbnQtPndxX2xvY2ssIGZsYWdzKTsKPiAtCj4gIAlxX3JldCA9IGd1Y19hZGRf d29ya3F1ZXVlX2l0ZW0oY2xpZW50LCBycSk7Cj4gIAlpZiAocV9yZXQgPT0gMCkKPiAgCQliX3Jl dCA9IGd1Y19yaW5nX2Rvb3JiZWxsKGNsaWVudCk7Cj4gQEAgLTYyMCwxMiArNjA4LDggQEAgaW50 IGk5MTVfZ3VjX3N1Ym1pdChzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpjbGllbnQsCj4gIAl9IGVs c2Ugewo+ICAJCWNsaWVudC0+cmV0Y29kZSA9IDA7Cj4gIAl9Cj4gLQlzcGluX3VubG9ja19pcnFy ZXN0b3JlKCZjbGllbnQtPndxX2xvY2ssIGZsYWdzKTsKPiAtCj4gLQlzcGluX2xvY2soJmd1Yy0+ aG9zdDJndWNfbG9jayk7Cj4gIAlndWMtPnN1Ym1pc3Npb25zW3JpbmdfaWRdICs9IDE7Cj4gIAln dWMtPmxhc3Rfc2Vxbm9bcmluZ19pZF0gPSBycS0+c2Vxbm87Cj4gLQlzcGluX3VubG9jaygmZ3Vj LT5ob3N0Mmd1Y19sb2NrKTsKPiAgCj4gIAlyZXR1cm4gcV9yZXQ7Cj4gIH0KPiBAQCAtNzY4LDcg Kzc1Miw2IEBAIHN0YXRpYyBzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpndWNfY2xpZW50X2FsbG9j KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAljbGllbnQtPmNsaWVudF9vYmogPSBvYmo7Cj4g IAljbGllbnQtPndxX29mZnNldCA9IEdVQ19EQl9TSVpFOwo+ICAJY2xpZW50LT53cV9zaXplID0g R1VDX1dRX1NJWkU7Cj4gLQlzcGluX2xvY2tfaW5pdCgmY2xpZW50LT53cV9sb2NrKTsKPiAgCj4g IAljbGllbnQtPmRvb3JiZWxsX29mZnNldCA9IHNlbGVjdF9kb29yYmVsbF9jYWNoZWxpbmUoZ3Vj KTsKPiAgCj4gQEAgLTg3MSw4ICs4NTQsNiBAQCBpbnQgaTkxNV9ndWNfc3VibWlzc2lvbl9pbml0 KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAlpZiAoIWd1Yy0+Y3R4X3Bvb2xfb2JqKQo+ICAJ CXJldHVybiAtRU5PTUVNOwo+ICAKPiAtCXNwaW5fbG9ja19pbml0KCZkZXZfcHJpdi0+Z3VjLmhv c3QyZ3VjX2xvY2spOwo+IC0KPiAgCWlkYV9pbml0KCZndWMtPmN0eF9pZHMpOwo+ICAKPiAgCWd1 Y19jcmVhdGVfbG9nKGd1Yyk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2d1Yy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKPiBpbmRleCA1YmE1 ODY2Li44MjI5NTIyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1 Yy5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKPiBAQCAtNDIsOCAr NDIsNiBAQCBzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50IHsKPiAgCj4gIAl1aW50MzJfdCB3cV9vZmZz ZXQ7Cj4gIAl1aW50MzJfdCB3cV9zaXplOwo+IC0KPiAtCXNwaW5sb2NrX3Qgd3FfbG9jazsJCS8q IFByb3RlY3RzIGFsbCBkYXRhIGJlbG93CSovCj4gIAl1aW50MzJfdCB3cV90YWlsOwo+ICAKPiAg CS8qIEd1QyBzdWJtaXNzaW9uIHN0YXRpc3RpY3MgJiBzdGF0dXMgKi8KPiBAQCAtOTUsOCArOTMs NiBAQCBzdHJ1Y3QgaW50ZWxfZ3VjIHsKPiAgCj4gIAlzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpl eGVjYnVmX2NsaWVudDsKPiAgCj4gLQlzcGlubG9ja190IGhvc3QyZ3VjX2xvY2s7CS8qIFByb3Rl Y3RzIGFsbCBkYXRhIGJlbG93CSovCj4gLQo+ICAJREVDTEFSRV9CSVRNQVAoZG9vcmJlbGxfYml0 bWFwLCBHVUNfTUFYX0RPT1JCRUxMUyk7Cj4gIAl1aW50MzJfdCBkYl9jYWNoZWxpbmU7CQkvKiBD eWNsaWMgY291bnRlciBtb2QgcGFnZXNpemUJKi8KPiAgCj4gLS0gCj4gMi41LjAKPiAKCi0tIApE YW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8v YmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eAo=