From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 1/2] drm/i915/guc: Simplify code by keeping kmap of guc_client object Date: Fri, 12 Feb 2016 13:03:08 +0000 Message-ID: <56BDD80C.40908@linux.intel.com> References: <1455232153-334-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 B70076E01A for ; Fri, 12 Feb 2016 05:03:10 -0800 (PST) In-Reply-To: <1455232153-334-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, intel-gfx@lists.freedesktop.org Cc: daniel.vetter@ffwll.ch List-Id: intel-gfx@lists.freedesktop.org Ck9uIDExLzAyLzE2IDIzOjA5LCB5dS5kYWlAaW50ZWwuY29tIHdyb3RlOgo+IEZyb206IEFsZXgg RGFpIDx5dS5kYWlAaW50ZWwuY29tPgo+Cj4gR3VDIGNsaWVudCBvYmplY3QgaXMgYWx3YXlzIHBp bm5lZCBkdXJpbmcgaXRzIGxpZmUgY3ljbGUuIFdlIGNhY2hlCj4gdGhlIGttYXAgb2YgaXRzIGZp cnN0IHBhZ2UsIHdoaWNoIGluY2x1ZGVzIGd1Y19wcm9jZXNzX2Rlc2MgYW5kCj4gZG9vcmJlbGwu IEJ5IGRvaW5nIHNvLCB3ZSBjYW4gc2ltcGxpZnkgdGhlIGNvZGUgd2hlcmUgd2UgcmVhZCBmcm9t Cj4gdGhpcyBwYWdlIHRvIGdldCB3aGVyZSBHdUMgaXMgcHJvZ3Jlc3Npbmcgb24gd29yayBxdWV1 ZTsgYW5kIHRoZQo+IGNvZGUgd2hlcmUgZHJpdmVyIHByb2dyYW0gZG9vcmJlbGwgdG8gc2VuZCB3 b3JrIHF1ZXVlIGl0ZW0gdG8gR3VDLgo+Cj4gQXMgYSByZXN1bHQsIHRoaXMgcGF0Y2ggcmVtb3Zl cyB0aGUga21hcF9hdG9taWMgaW4gd3FfY2hlY2tfc3BhY2UsCj4gd2hlcmUgdXNsZWVwX3Jhbmdl IGNvdWxkIGJlIGNhbGxlZCB3aGlsZSBrbWFwX2F0b21pYyBpcyBoZWxkLiBUaGlzCj4gZml4ZXMg aXNzdWUgYmVsb3cuCj4KPiBbICAgMzQuMDk4Nzk4XSBCVUc6IHNjaGVkdWxpbmcgd2hpbGUgYXRv bWljOiBnZW1fY2xvc2VfcmFjZS8xOTQxLzB4MDAwMDAwMDIKPiBbICAgMzQuMDk4ODIyXSBNb2R1 bGVzIGxpbmtlZCBpbjogaGlkX2dlbmVyaWMgdXNiaGlkIGk5MTUgYXNpeCB1c2JuZXQgbGlicGh5 IG1paSBpMmNfYWxnb19iaXQgZHJtX2ttc19oZWxwZXIgY2ZiZmlsbHJlY3Qgc3lzY29weWFyZWEg Y2ZiaW1nYmx0IHN5c2ZpbGxyZWN0IHN5c2ltZ2JsdCBmYl9zeXNfZm9wcyBjZmJjb3B5YXJlYSBk cm0gY29yZXRlbXAgaTJjX2hpZCBoaWQgdmlkZW8gcGluY3RybF9zdW5yaXNlcG9pbnQgcGluY3Ry bF9pbnRlbCBhY3BpX3BhZCBubHNfaXNvODg1OV8xIGUxMDAwZSBwdHAgcHNtb3VzZSBwcHNfY29y ZSBhaGNpIGxpYmFoY2kKPiBbICAgMzQuMDk4ODI0XSBDUFU6IDAgUElEOiAxOTQxIENvbW06IGdl bV9jbG9zZV9yYWNlIFRhaW50ZWQ6IEcgICAgIFUgICAgICAgICAgNC40LjAtMTYwMTIxKyAjMTIz Cj4gWyAgIDM0LjA5ODgyNF0gSGFyZHdhcmUgbmFtZTogSW50ZWwgQ29ycG9yYXRpb24gU2t5bGFr ZSBDbGllbnQgcGxhdGZvcm0vU2t5bGFrZSBBSU8gRERSM0wgUlZQMTAsIEJJT1MgU0tMU0UyUjEu UjAwLlgxMDAuQjAxLjE1MDkyMjA1NTEgMDkvMjIvMjAxNQo+IFsgICAzNC4wOTg4MjVdICAwMDAw MDAwMDAwMDEzZTQwIGZmZmY4ODAxNjZjMjdhNzggZmZmZmZmZmY4MTI4MGQwMiBmZmZmODgwMTcy YzEzZTQwCj4gWyAgIDM0LjA5ODgyNl0gIGZmZmY4ODAxNjZjMjdhODggZmZmZmZmZmY4MTBjMjAz YSBmZmZmODgwMTY2YzI3YWM4IGZmZmZmZmZmODE0ZWM4MDgKPiBbICAgMzQuMDk4ODI3XSAgZmZm Zjg4MDE2YjdjNjAwMCBmZmZmODgwMTY2YzI4MDAwIDAwMDAwMDAwMDAwZjQyNDAgMDAwMDAwMDAw MDAwMDAwMQo+IFsgICAzNC4wOTg4MjddIENhbGwgVHJhY2U6Cj4gWyAgIDM0LjA5ODgzMV0gIFs8 ZmZmZmZmZmY4MTI4MGQwMj5dIGR1bXBfc3RhY2srMHg0Yi8weDc5Cj4gWyAgIDM0LjA5ODgzM10g IFs8ZmZmZmZmZmY4MTBjMjAzYT5dIF9fc2NoZWR1bGVfYnVnKzB4NDEvMHg0Zgo+IFsgICAzNC4w OTg4MzRdICBbPGZmZmZmZmZmODE0ZWM4MDg+XSBfX3NjaGVkdWxlKzB4NWE4LzB4NjkwCj4gWyAg IDM0LjA5ODgzNV0gIFs8ZmZmZmZmZmY4MTRlYzkyNz5dIHNjaGVkdWxlKzB4MzcvMHg4MAo+IFsg ICAzNC4wOTg4MzZdICBbPGZmZmZmZmZmODE0ZWYzZmQ+XSBzY2hlZHVsZV9ocnRpbWVvdXRfcmFu Z2VfY2xvY2srMHhhZC8weDEzMAo+IFsgICAzNC4wOTg4MzddICBbPGZmZmZmZmZmODEwOTBiZTA+ XSA/IGhydGltZXJfaW5pdCsweDEwLzB4MTAKPiBbICAgMzQuMDk4ODM4XSAgWzxmZmZmZmZmZjgx NGVmM2YxPl0gPyBzY2hlZHVsZV9ocnRpbWVvdXRfcmFuZ2VfY2xvY2srMHhhMS8weDEzMAo+IFsg ICAzNC4wOTg4MzldICBbPGZmZmZmZmZmODE0ZWY0OGU+XSBzY2hlZHVsZV9ocnRpbWVvdXRfcmFu Z2UrMHhlLzB4MTAKPiBbICAgMzQuMDk4ODQwXSAgWzxmZmZmZmZmZjgxNGVlZjliPl0gdXNsZWVw X3JhbmdlKzB4M2IvMHg0MAo+IFsgICAzNC4wOTg4NTNdICBbPGZmZmZmZmZmYTAxZWMxMDk+XSBp OTE1X2d1Y193cV9jaGVja19zcGFjZSsweDExOS8weDIxMCBbaTkxNV0KPiBbICAgMzQuMDk4ODYx XSAgWzxmZmZmZmZmZmEwMWRhNDdjPl0gaW50ZWxfbG9naWNhbF9yaW5nX2FsbG9jX3JlcXVlc3Rf ZXh0cmFzKzB4NWMvMHg3MCBbaTkxNV0KPiBbICAgMzQuMDk4ODY5XSAgWzxmZmZmZmZmZmEwMWNk YmYxPl0gaTkxNV9nZW1fcmVxdWVzdF9hbGxvYysweDkxLzB4MTcwIFtpOTE1XQo+IFsgICAzNC4w OTg4NzVdICBbPGZmZmZmZmZmYTAxYzFjMDc+XSBpOTE1X2dlbV9kb19leGVjYnVmZmVyLmlzcmEu MjUrMHhiYzcvMHgxMmEwIFtpOTE1XQo+IFsgICAzNC4wOTg4ODJdICBbPGZmZmZmZmZmYTAxY2I3 ODU+XSA/IGk5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXNfZ3R0KzB4MjI1LzB4M2MwIFtpOTE1XQo+ IFsgICAzNC4wOTg4ODldICBbPGZmZmZmZmZmYTAxZDFmYjY+XSA/IGk5MTVfZ2VtX3B3cml0ZV9p b2N0bCsweGQ2LzB4OWYwIFtpOTE1XQo+IFsgICAzNC4wOTg4OTVdICBbPGZmZmZmZmZmYTAxYzJl Njg+XSBpOTE1X2dlbV9leGVjYnVmZmVyMisweGE4LzB4MjUwIFtpOTE1XQo+IFsgICAzNC4wOTg5 MDBdICBbPGZmZmZmZmZmYTAwZjY1ZDg+XSBkcm1faW9jdGwrMHgyNTgvMHg0ZjAgW2RybV0KPiBb ICAgMzQuMDk4OTA2XSAgWzxmZmZmZmZmZmEwMWMyZGMwPl0gPyBpOTE1X2dlbV9leGVjYnVmZmVy KzB4MzQwLzB4MzQwIFtpOTE1XQo+IFsgICAzNC4wOTg5MDhdICBbPGZmZmZmZmZmODExMTU5MGQ+ XSBkb192ZnNfaW9jdGwrMHgyY2QvMHg0YTAKPiBbICAgMzQuMDk4OTA5XSAgWzxmZmZmZmZmZjgx MTFlYWMyPl0gPyBfX2ZnZXQrMHg3Mi8weGIwCj4gWyAgIDM0LjA5ODkxMF0gIFs8ZmZmZmZmZmY4 MTExNWIxYz5dIFN5U19pb2N0bCsweDNjLzB4NzAKPiBbICAgMzQuMDk4OTExXSAgWzxmZmZmZmZm ZjgxNGVmZmQ3Pl0gZW50cnlfU1lTQ0FMTF82NF9mYXN0cGF0aCsweDEyLzB4NmEKPiBbICAgMzQu MTAwMjA4XSAtLS0tLS0tLS0tLS1bIGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0KPgo+IEJ1Z3ppbGxh OiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD05Mzg0Nwo+IENj OiA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KPiBDYzogPHR2cnRrby51cnN1bGluQGludGVsLmNv bT4KPiBTaWduZWQtb2ZmLWJ5OiBBbGV4IERhaSA8eXUuZGFpQGludGVsLmNvbT4KPiAtLS0KPiAg IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYyB8IDM5ICsrKysrKysr Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3Vj LmggICAgICAgICAgIHwgIDMgKystCj4gICAyIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMo KyksIDI4IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1 Ym1pc3Npb24uYwo+IGluZGV4IGQ3NTQzZWYuLmQ1MTAxNWUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCj4gQEAgLTE5NSwxMSArMTk1LDkgQEAgc3Rh dGljIGludCBndWNfcmluZ19kb29yYmVsbChzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpnYykKPiAg IAlzdHJ1Y3QgZ3VjX3Byb2Nlc3NfZGVzYyAqZGVzYzsKPiAgIAl1bmlvbiBndWNfZG9vcmJlbGxf cXcgZGJfY21wLCBkYl9leGMsIGRiX3JldDsKPiAgIAl1bmlvbiBndWNfZG9vcmJlbGxfcXcgKmRi Owo+IC0Jdm9pZCAqYmFzZTsKPiAgIAlpbnQgYXR0ZW1wdCA9IDIsIHJldCA9IC1FQUdBSU47Cj4K PiAtCWJhc2UgPSBrbWFwX2F0b21pYyhpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2UoZ2MtPmNsaWVu dF9vYmosIDApKTsKPiAtCWRlc2MgPSBiYXNlICsgZ2MtPnByb2NfZGVzY19vZmZzZXQ7Cj4gKwlk ZXNjID0gZ2MtPmNsaWVudF9iYXNlICsgZ2MtPnByb2NfZGVzY19vZmZzZXQ7Cj4KPiAgIAkvKiBV cGRhdGUgdGhlIHRhaWwgc28gaXQgaXMgdmlzaWJsZSB0byBHdUMgKi8KPiAgIAlkZXNjLT50YWls ID0gZ2MtPndxX3RhaWw7Cj4gQEAgLTIxNSw3ICsyMTMsNyBAQCBzdGF0aWMgaW50IGd1Y19yaW5n X2Rvb3JiZWxsKHN0cnVjdCBpOTE1X2d1Y19jbGllbnQgKmdjKQo+ICAgCQlkYl9leGMuY29va2ll ID0gMTsKPgo+ICAgCS8qIHBvaW50ZXIgb2YgY3VycmVudCBkb29yYmVsbCBjYWNoZWxpbmUgKi8K PiAtCWRiID0gYmFzZSArIGdjLT5kb29yYmVsbF9vZmZzZXQ7Cj4gKwlkYiA9IGdjLT5jbGllbnRf YmFzZSArIGdjLT5kb29yYmVsbF9vZmZzZXQ7Cj4KPiAgIAl3aGlsZSAoYXR0ZW1wdC0tKSB7Cj4g ICAJCS8qIGxldHMgcmluZyB0aGUgZG9vcmJlbGwgKi8KPiBAQCAtMjQ0LDEwICsyNDIsNiBAQCBz dGF0aWMgaW50IGd1Y19yaW5nX2Rvb3JiZWxsKHN0cnVjdCBpOTE1X2d1Y19jbGllbnQgKmdjKQo+ ICAgCQkJZGJfZXhjLmNvb2tpZSA9IDE7Cj4gICAJfQo+Cj4gLQkvKiBGaW5hbGx5LCB1cGRhdGUg dGhlIGNhY2hlZCBjb3B5IG9mIHRoZSBHdUMncyBXUSBoZWFkICovCj4gLQlnYy0+d3FfaGVhZCA9 IGRlc2MtPmhlYWQ7CgpEaWQgeW91IG1lYW4gdG8gcmVtb3ZlIHRoZSBhYm92ZT8KCj4gLQo+IC0J a3VubWFwX2F0b21pYyhiYXNlKTsKPiAgIAlyZXR1cm4gcmV0Owo+ICAgfQo+Cj4gQEAgLTM0MSwx MCArMzM1LDggQEAgc3RhdGljIHZvaWQgZ3VjX2luaXRfcHJvY19kZXNjKHN0cnVjdCBpbnRlbF9n dWMgKmd1YywKPiAgIAkJCSAgICAgICBzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpjbGllbnQpCj4g ICB7Cj4gICAJc3RydWN0IGd1Y19wcm9jZXNzX2Rlc2MgKmRlc2M7Cj4gLQl2b2lkICpiYXNlOwo+ Cj4gLQliYXNlID0ga21hcF9hdG9taWMoaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlKGNsaWVudC0+ Y2xpZW50X29iaiwgMCkpOwo+IC0JZGVzYyA9IGJhc2UgKyBjbGllbnQtPnByb2NfZGVzY19vZmZz ZXQ7Cj4gKwlkZXNjID0gY2xpZW50LT5jbGllbnRfYmFzZSArIGNsaWVudC0+cHJvY19kZXNjX29m ZnNldDsKPgo+ICAgCW1lbXNldChkZXNjLCAwLCBzaXplb2YoKmRlc2MpKTsKPgo+IEBAIC0zNjEs OCArMzUzLDYgQEAgc3RhdGljIHZvaWQgZ3VjX2luaXRfcHJvY19kZXNjKHN0cnVjdCBpbnRlbF9n dWMgKmd1YywKPiAgIAlkZXNjLT53cV9zaXplX2J5dGVzID0gY2xpZW50LT53cV9zaXplOwo+ICAg CWRlc2MtPndxX3N0YXR1cyA9IFdRX1NUQVRVU19BQ1RJVkU7Cj4gICAJZGVzYy0+cHJpb3JpdHkg PSBjbGllbnQtPnByaW9yaXR5Owo+IC0KPiAtCWt1bm1hcF9hdG9taWMoYmFzZSk7Cj4gICB9Cj4K PiAgIC8qCj4gQEAgLTQ3NCwyNSArNDY0LDE2IEBAIHN0YXRpYyB2b2lkIGd1Y19maW5pX2N0eF9k ZXNjKHN0cnVjdCBpbnRlbF9ndWMgKmd1YywKPiAgIGludCBpOTE1X2d1Y193cV9jaGVja19zcGFj ZShzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpnYykKPiAgIHsKPiAgIAlzdHJ1Y3QgZ3VjX3Byb2Nl c3NfZGVzYyAqZGVzYzsKPiAtCXZvaWQgKmJhc2U7Cj4gICAJdTMyIHNpemUgPSBzaXplb2Yoc3Ry dWN0IGd1Y193cV9pdGVtKTsKPiAgIAlpbnQgcmV0ID0gLUVUSU1FRE9VVCwgdGltZW91dF9jb3Vu dGVyID0gMjAwOwo+Cj4gICAJaWYgKCFnYykKPiAgIAkJcmV0dXJuIDA7Cj4KPiAtCS8qIFF1aWNr bHkgcmV0dXJuIGlmIHdxIHNwYWNlIGlzIGF2YWlsYWJsZSBzaW5jZSBsYXN0IHRpbWUgd2UgY2Fj aGUgdGhlCj4gLQkgKiBoZWFkIHBvc2l0aW9uLiAqLwo+IC0JaWYgKENJUkNfU1BBQ0UoZ2MtPndx X3RhaWwsIGdjLT53cV9oZWFkLCBnYy0+d3Ffc2l6ZSkgPj0gc2l6ZSkKPiAtCQlyZXR1cm4gMDsK PiAtCj4gLQliYXNlID0ga21hcF9hdG9taWMoaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlKGdjLT5j bGllbnRfb2JqLCAwKSk7Cj4gLQlkZXNjID0gYmFzZSArIGdjLT5wcm9jX2Rlc2Nfb2Zmc2V0Owo+ ICsJZGVzYyA9IGdjLT5jbGllbnRfYmFzZSArIGdjLT5wcm9jX2Rlc2Nfb2Zmc2V0Owo+Cj4gICAJ d2hpbGUgKHRpbWVvdXRfY291bnRlci0tID4gMCkgewo+IC0JCWdjLT53cV9oZWFkID0gZGVzYy0+ aGVhZDsKPiAtCgpIbSBhZ2FpbiB3aGF0IGxvb2tzIGxpa2UgdW5yZWxhdGVkIGNoYW5nZSB0byBj YWNoaW5nIHRoZSBiYXNlPwoKPiAtCQlpZiAoQ0lSQ19TUEFDRShnYy0+d3FfdGFpbCwgZ2MtPndx X2hlYWQsIGdjLT53cV9zaXplKSA+PSBzaXplKSB7Cj4gKwkJaWYgKENJUkNfU1BBQ0UoZ2MtPndx X3RhaWwsIGRlc2MtPmhlYWQsIGdjLT53cV9zaXplKSA+PSBzaXplKSB7Cj4gICAJCQlyZXQgPSAw Owo+ICAgCQkJYnJlYWs7Cj4gICAJCX0KPiBAQCAtNTAxLDE5ICs0ODIsMTkgQEAgaW50IGk5MTVf Z3VjX3dxX2NoZWNrX3NwYWNlKHN0cnVjdCBpOTE1X2d1Y19jbGllbnQgKmdjKQo+ICAgCQkJdXNs ZWVwX3JhbmdlKDEwMDAsIDIwMDApOwo+ICAgCX07Cj4KPiAtCWt1bm1hcF9hdG9taWMoYmFzZSk7 Cj4gLQo+ICAgCXJldHVybiByZXQ7Cj4gICB9Cj4KPiAgIHN0YXRpYyBpbnQgZ3VjX2FkZF93b3Jr cXVldWVfaXRlbShzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpnYywKPiAgIAkJCQkgIHN0cnVjdCBk cm1faTkxNV9nZW1fcmVxdWVzdCAqcnEpCj4gICB7Cj4gKwlzdHJ1Y3QgZ3VjX3Byb2Nlc3NfZGVz YyAqZGVzYzsKPiAgIAlzdHJ1Y3QgZ3VjX3dxX2l0ZW0gKndxaTsKPiAgIAl2b2lkICpiYXNlOwo+ ICAgCXUzMiB0YWlsLCB3cV9sZW4sIHdxX29mZiwgc3BhY2U7Cj4KPiAtCXNwYWNlID0gQ0lSQ19T UEFDRShnYy0+d3FfdGFpbCwgZ2MtPndxX2hlYWQsIGdjLT53cV9zaXplKTsKPiArCWRlc2MgPSBn Yy0+Y2xpZW50X2Jhc2UgKyBnYy0+cHJvY19kZXNjX29mZnNldDsKPiArCXNwYWNlID0gQ0lSQ19T UEFDRShnYy0+d3FfdGFpbCwgZGVzYy0+aGVhZCwgZ2MtPndxX3NpemUpOwo+ICAgCWlmIChXQVJO X09OKHNwYWNlIDwgc2l6ZW9mKHN0cnVjdCBndWNfd3FfaXRlbSkpKQo+ICAgCQlyZXR1cm4gLUVO T1NQQzsgLyogc2hvdWxkbid0IGhhcHBlbiAqLwo+Cj4gQEAgLTY3NSw2ICs2NTYsOCBAQCBzdGF0 aWMgdm9pZCBndWNfY2xpZW50X2ZyZWUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgIAkgKiBC ZSBzdXJlIHRvIGRyb3AgYW55IGxvY2tzCj4gICAJICovCj4KPiArCWt1bm1hcChrbWFwX3RvX3Bh Z2UoY2xpZW50LT5jbGllbnRfYmFzZSkpOwo+ICsKPiAgIAlnZW1fcmVsZWFzZV9ndWNfb2JqKGNs aWVudC0+Y2xpZW50X29iaik7Cj4KPiAgIAlpZiAoY2xpZW50LT5jdHhfaW5kZXggIT0gR1VDX0lO VkFMSURfQ1RYX0lEKSB7Cj4gQEAgLTcyNyw2ICs3MTAsOCBAQCBzdGF0aWMgc3RydWN0IGk5MTVf Z3VjX2NsaWVudCAqZ3VjX2NsaWVudF9hbGxvYyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAg CWlmICghb2JqKQo+ICAgCQlnb3RvIGVycjsKPgo+ICsJY2xpZW50LT5jbGllbnRfYmFzZSA9IGtt YXAoaTkxNV9nZW1fb2JqZWN0X2dldF9kaXJ0eV9wYWdlKG9iaiwgMCkpOwoKV2FzIHRoaXMgYW5v dGhlciBidWcsIHRoYXQgdGhlIHBhZ2Uvb2JqZWN0IHdhc24ndCBkaXJ0aWVkIGJlZm9yZT8KCj4g Kwo+ICAgCWNsaWVudC0+Y2xpZW50X29iaiA9IG9iajsKPiAgIAljbGllbnQtPndxX29mZnNldCA9 IEdVQ19EQl9TSVpFOwo+ICAgCWNsaWVudC0+d3Ffc2l6ZSA9IEdVQ19XUV9TSVpFOwo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2d1Yy5oCj4gaW5kZXggNzMwMDJlOS4uOWYwOGJkNyAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2d1Yy5oCj4gQEAgLTM0LDYgKzM0LDggQEAgc3RydWN0IGk5MTVfZ3VjX2Ns aWVudCB7Cj4gICAJdWludDMyX3QgcHJpb3JpdHk7Cj4gICAJdWludDMyX3QgY3R4X2luZGV4Owo+ Cj4gKwl2b2lkICpjbGllbnRfYmFzZTsKPiArCj4gICAJdWludDMyX3QgcHJvY19kZXNjX29mZnNl dDsKPiAgIAl1aW50MzJfdCBkb29yYmVsbF9vZmZzZXQ7Cj4gICAJdWludDMyX3QgY29va2llOwo+ IEBAIC00Myw3ICs0NSw2IEBAIHN0cnVjdCBpOTE1X2d1Y19jbGllbnQgewo+ICAgCXVpbnQzMl90 IHdxX29mZnNldDsKPiAgIAl1aW50MzJfdCB3cV9zaXplOwo+ICAgCXVpbnQzMl90IHdxX3RhaWw7 Cj4gLQl1aW50MzJfdCB3cV9oZWFkOwoKSG0gb2sgSSBkb24ndCBnZXQgd2h5IGttYXAgY2FjaGlu ZyBtZWFucyByZW1vdmluZyB0aGlzIGFzIHdlbGw/CgpCdHcgSSBkb24ndCBzZWUgcGF0Y2ggMi8y ID8KClJlZ2FyZHMsCgpUdnJ0a28KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4Cg==