From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH v2 2/2] drm/i915/guc: Simplify code by keeping vmap of guc_client object Date: Fri, 19 Feb 2016 11:10:00 +0000 Message-ID: <56C6F808.4060108@linux.intel.com> References: <1455820298-5463-1-git-send-email-yu.dai@intel.com> <1455820298-5463-3-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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 092606EEBC for ; Fri, 19 Feb 2016 11:10:02 +0000 (UTC) In-Reply-To: <1455820298-5463-3-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 CgpPbiAxOC8wMi8xNiAxODozMSwgeXUuZGFpQGludGVsLmNvbSB3cm90ZToKPiBGcm9tOiBBbGV4 IERhaSA8eXUuZGFpQGludGVsLmNvbT4KPgo+IEd1QyBjbGllbnQgb2JqZWN0IGlzIGFsd2F5cyBw aW5uZWQgZHVyaW5nIGl0cyBsaWZlIGN5Y2xlLiBXZSBjYWNoZQo+IHRoZSB2bWFwIG9mIGNsaWVu dCBvYmplY3QsIHdoaWNoIGluY2x1ZGVzIGd1Y19wcm9jZXNzX2Rlc2MsIGRvb3JiZWxsCj4gYW5k IHdvcmsgcXVldWUuIEJ5IGRvaW5nIHNvLCB3ZSBjYW4gc2ltcGxpZnkgdGhlIGNvZGUgd2hlcmUg ZHJpdmVyCj4gY29tbXVuaWNhdGUgd2l0aCBHdUMuCj4KPiBBcyBhIHJlc3VsdCwgdGhpcyBwYXRj aCByZW1vdmVzIHRoZSBrbWFwX2F0b21pYyBpbiB3cV9jaGVja19zcGFjZSwKPiB3aGVyZSB1c2xl ZXBfcmFuZ2UgY291bGQgYmUgY2FsbGVkIHdoaWxlIGttYXBfYXRvbWljIGlzIGhlbGQuIFRoaXMK PiBmaXhlcyBpc3N1ZSBiZWxvdy4KPgo+IHYyOiBQYXNzIHBhZ2UgYWN0dWFsIG51bWJlcnMgdG8g aTkxNV9nZW1fb2JqZWN0X3ZtYXAoKS4gQWxzbywgY2hlY2sKPiAgICAgIHJldHVybiB2YWx1ZSBm b3IgZXJyb3IgaGFuZGxpbmcuIChUdnJ0a28gVXJzdWxpbikKPiB2MTogdm1hcCBpcyBkb25lIGJ5 IGk5MTVfZ2VtX29iamVjdF92bWFwKCkuCgoKUmV2aWV3ZWQtYnk6IFR2cnRrbyBVcnN1bGluIDx0 dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+CgpSZWdhcmRzLAoKVHZydGtvCgo+IFsgICAzNC4wOTg3 OThdIEJVRzogc2NoZWR1bGluZyB3aGlsZSBhdG9taWM6IGdlbV9jbG9zZV9yYWNlLzE5NDEvMHgw MDAwMDAwMgo+IFsgICAzNC4wOTg4MjJdIE1vZHVsZXMgbGlua2VkIGluOiBoaWRfZ2VuZXJpYyB1 c2JoaWQgaTkxNSBhc2l4IHVzYm5ldCBsaWJwaHkgbWlpIGkyY19hbGdvX2JpdCBkcm1fa21zX2hl bHBlciBjZmJmaWxscmVjdCBzeXNjb3B5YXJlYSBjZmJpbWdibHQgc3lzZmlsbHJlY3Qgc3lzaW1n Ymx0IGZiX3N5c19mb3BzIGNmYmNvcHlhcmVhIGRybSBjb3JldGVtcCBpMmNfaGlkIGhpZCB2aWRl byBwaW5jdHJsX3N1bnJpc2Vwb2ludCBwaW5jdHJsX2ludGVsIGFjcGlfcGFkIG5sc19pc284ODU5 XzEgZTEwMDBlIHB0cCBwc21vdXNlIHBwc19jb3JlIGFoY2kgbGliYWhjaQo+IFsgICAzNC4wOTg4 MjRdIENQVTogMCBQSUQ6IDE5NDEgQ29tbTogZ2VtX2Nsb3NlX3JhY2UgVGFpbnRlZDogRyAgICAg VSAgICAgICAgICA0LjQuMC0xNjAxMjErICMxMjMKPiBbICAgMzQuMDk4ODI0XSBIYXJkd2FyZSBu YW1lOiBJbnRlbCBDb3Jwb3JhdGlvbiBTa3lsYWtlIENsaWVudCBwbGF0Zm9ybS9Ta3lsYWtlIEFJ TyBERFIzTCBSVlAxMCwgQklPUyBTS0xTRTJSMS5SMDAuWDEwMC5CMDEuMTUwOTIyMDU1MSAwOS8y Mi8yMDE1Cj4gWyAgIDM0LjA5ODgyNV0gIDAwMDAwMDAwMDAwMTNlNDAgZmZmZjg4MDE2NmMyN2E3 OCBmZmZmZmZmZjgxMjgwZDAyIGZmZmY4ODAxNzJjMTNlNDAKPiBbICAgMzQuMDk4ODI2XSAgZmZm Zjg4MDE2NmMyN2E4OCBmZmZmZmZmZjgxMGMyMDNhIGZmZmY4ODAxNjZjMjdhYzggZmZmZmZmZmY4 MTRlYzgwOAo+IFsgICAzNC4wOTg4MjddICBmZmZmODgwMTZiN2M2MDAwIGZmZmY4ODAxNjZjMjgw MDAgMDAwMDAwMDAwMDBmNDI0MCAwMDAwMDAwMDAwMDAwMDAxCj4gWyAgIDM0LjA5ODgyN10gQ2Fs bCBUcmFjZToKPiBbICAgMzQuMDk4ODMxXSAgWzxmZmZmZmZmZjgxMjgwZDAyPl0gZHVtcF9zdGFj aysweDRiLzB4NzkKPiBbICAgMzQuMDk4ODMzXSAgWzxmZmZmZmZmZjgxMGMyMDNhPl0gX19zY2hl ZHVsZV9idWcrMHg0MS8weDRmCj4gWyAgIDM0LjA5ODgzNF0gIFs8ZmZmZmZmZmY4MTRlYzgwOD5d IF9fc2NoZWR1bGUrMHg1YTgvMHg2OTAKPiBbICAgMzQuMDk4ODM1XSAgWzxmZmZmZmZmZjgxNGVj OTI3Pl0gc2NoZWR1bGUrMHgzNy8weDgwCj4gWyAgIDM0LjA5ODgzNl0gIFs8ZmZmZmZmZmY4MTRl ZjNmZD5dIHNjaGVkdWxlX2hydGltZW91dF9yYW5nZV9jbG9jaysweGFkLzB4MTMwCj4gWyAgIDM0 LjA5ODgzN10gIFs8ZmZmZmZmZmY4MTA5MGJlMD5dID8gaHJ0aW1lcl9pbml0KzB4MTAvMHgxMAo+ IFsgICAzNC4wOTg4MzhdICBbPGZmZmZmZmZmODE0ZWYzZjE+XSA/IHNjaGVkdWxlX2hydGltZW91 dF9yYW5nZV9jbG9jaysweGExLzB4MTMwCj4gWyAgIDM0LjA5ODgzOV0gIFs8ZmZmZmZmZmY4MTRl ZjQ4ZT5dIHNjaGVkdWxlX2hydGltZW91dF9yYW5nZSsweGUvMHgxMAo+IFsgICAzNC4wOTg4NDBd ICBbPGZmZmZmZmZmODE0ZWVmOWI+XSB1c2xlZXBfcmFuZ2UrMHgzYi8weDQwCj4gWyAgIDM0LjA5 ODg1M10gIFs8ZmZmZmZmZmZhMDFlYzEwOT5dIGk5MTVfZ3VjX3dxX2NoZWNrX3NwYWNlKzB4MTE5 LzB4MjEwIFtpOTE1XQo+IFsgICAzNC4wOTg4NjFdICBbPGZmZmZmZmZmYTAxZGE0N2M+XSBpbnRl bF9sb2dpY2FsX3JpbmdfYWxsb2NfcmVxdWVzdF9leHRyYXMrMHg1Yy8weDcwIFtpOTE1XQo+IFsg ICAzNC4wOTg4NjldICBbPGZmZmZmZmZmYTAxY2RiZjE+XSBpOTE1X2dlbV9yZXF1ZXN0X2FsbG9j KzB4OTEvMHgxNzAgW2k5MTVdCj4gWyAgIDM0LjA5ODg3NV0gIFs8ZmZmZmZmZmZhMDFjMWMwNz5d IGk5MTVfZ2VtX2RvX2V4ZWNidWZmZXIuaXNyYS4yNSsweGJjNy8weDEyYTAgW2k5MTVdCj4gWyAg IDM0LjA5ODg4Ml0gIFs8ZmZmZmZmZmZhMDFjYjc4NT5dID8gaTkxNV9nZW1fb2JqZWN0X2dldF9w YWdlc19ndHQrMHgyMjUvMHgzYzAgW2k5MTVdCj4gWyAgIDM0LjA5ODg4OV0gIFs8ZmZmZmZmZmZh MDFkMWZiNj5dID8gaTkxNV9nZW1fcHdyaXRlX2lvY3RsKzB4ZDYvMHg5ZjAgW2k5MTVdCj4gWyAg IDM0LjA5ODg5NV0gIFs8ZmZmZmZmZmZhMDFjMmU2OD5dIGk5MTVfZ2VtX2V4ZWNidWZmZXIyKzB4 YTgvMHgyNTAgW2k5MTVdCj4gWyAgIDM0LjA5ODkwMF0gIFs8ZmZmZmZmZmZhMDBmNjVkOD5dIGRy bV9pb2N0bCsweDI1OC8weDRmMCBbZHJtXQo+IFsgICAzNC4wOTg5MDZdICBbPGZmZmZmZmZmYTAx YzJkYzA+XSA/IGk5MTVfZ2VtX2V4ZWNidWZmZXIrMHgzNDAvMHgzNDAgW2k5MTVdCj4gWyAgIDM0 LjA5ODkwOF0gIFs8ZmZmZmZmZmY4MTExNTkwZD5dIGRvX3Zmc19pb2N0bCsweDJjZC8weDRhMAo+ IFsgICAzNC4wOTg5MDldICBbPGZmZmZmZmZmODExMWVhYzI+XSA/IF9fZmdldCsweDcyLzB4YjAK PiBbICAgMzQuMDk4OTEwXSAgWzxmZmZmZmZmZjgxMTE1YjFjPl0gU3lTX2lvY3RsKzB4M2MvMHg3 MAo+IFsgICAzNC4wOTg5MTFdICBbPGZmZmZmZmZmODE0ZWZmZDc+XSBlbnRyeV9TWVNDQUxMXzY0 X2Zhc3RwYXRoKzB4MTIvMHg2YQo+IFsgICAzNC4xMDAyMDhdIC0tLS0tLS0tLS0tLVsgY3V0IGhl cmUgXS0tLS0tLS0tLS0tLQo+Cj4gQnVnemlsbGE6IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5v cmcvc2hvd19idWcuY2dpP2lkPTkzODQ3Cj4gQ2M6IERhdmUgR29yZG9uIDxkYXZpZC5zLmdvcmRv bkBpbnRlbC5jb20+Cj4gQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+ Cj4gQ2M6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+Cj4gU2lnbmVk LW9mZi1ieTogQWxleCBEYWkgPHl1LmRhaUBpbnRlbC5jb20+Cj4gLS0tCj4gICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMgfCA1NiArKysrKysrKysrLS0tLS0tLS0t LS0tLS0tLS0tLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oICAgICAgICAg ICB8ICAzICstCj4gICAyIGZpbGVzIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDM4IGRlbGV0 aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1 Ym1pc3Npb24uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwo+ IGluZGV4IGQ3NTQzZWYuLjNlMmVhNDIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9ndWNfc3VibWlzc2lvbi5jCj4gQEAgLTE5NSwxMSArMTk1LDkgQEAgc3RhdGljIGludCBndWNf cmluZ19kb29yYmVsbChzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpnYykKPiAgIAlzdHJ1Y3QgZ3Vj X3Byb2Nlc3NfZGVzYyAqZGVzYzsKPiAgIAl1bmlvbiBndWNfZG9vcmJlbGxfcXcgZGJfY21wLCBk Yl9leGMsIGRiX3JldDsKPiAgIAl1bmlvbiBndWNfZG9vcmJlbGxfcXcgKmRiOwo+IC0Jdm9pZCAq YmFzZTsKPiAgIAlpbnQgYXR0ZW1wdCA9IDIsIHJldCA9IC1FQUdBSU47Cj4KPiAtCWJhc2UgPSBr bWFwX2F0b21pYyhpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2UoZ2MtPmNsaWVudF9vYmosIDApKTsK PiAtCWRlc2MgPSBiYXNlICsgZ2MtPnByb2NfZGVzY19vZmZzZXQ7Cj4gKwlkZXNjID0gZ2MtPmNs aWVudF9iYXNlICsgZ2MtPnByb2NfZGVzY19vZmZzZXQ7Cj4KPiAgIAkvKiBVcGRhdGUgdGhlIHRh aWwgc28gaXQgaXMgdmlzaWJsZSB0byBHdUMgKi8KPiAgIAlkZXNjLT50YWlsID0gZ2MtPndxX3Rh aWw7Cj4gQEAgLTIxNSw3ICsyMTMsNyBAQCBzdGF0aWMgaW50IGd1Y19yaW5nX2Rvb3JiZWxsKHN0 cnVjdCBpOTE1X2d1Y19jbGllbnQgKmdjKQo+ICAgCQlkYl9leGMuY29va2llID0gMTsKPgo+ICAg CS8qIHBvaW50ZXIgb2YgY3VycmVudCBkb29yYmVsbCBjYWNoZWxpbmUgKi8KPiAtCWRiID0gYmFz ZSArIGdjLT5kb29yYmVsbF9vZmZzZXQ7Cj4gKwlkYiA9IGdjLT5jbGllbnRfYmFzZSArIGdjLT5k b29yYmVsbF9vZmZzZXQ7Cj4KPiAgIAl3aGlsZSAoYXR0ZW1wdC0tKSB7Cj4gICAJCS8qIGxldHMg cmluZyB0aGUgZG9vcmJlbGwgKi8KPiBAQCAtMjQ0LDEwICsyNDIsNiBAQCBzdGF0aWMgaW50IGd1 Y19yaW5nX2Rvb3JiZWxsKHN0cnVjdCBpOTE1X2d1Y19jbGllbnQgKmdjKQo+ICAgCQkJZGJfZXhj LmNvb2tpZSA9IDE7Cj4gICAJfQo+Cj4gLQkvKiBGaW5hbGx5LCB1cGRhdGUgdGhlIGNhY2hlZCBj b3B5IG9mIHRoZSBHdUMncyBXUSBoZWFkICovCj4gLQlnYy0+d3FfaGVhZCA9IGRlc2MtPmhlYWQ7 Cj4gLQo+IC0Ja3VubWFwX2F0b21pYyhiYXNlKTsKPiAgIAlyZXR1cm4gcmV0Owo+ICAgfQo+Cj4g QEAgLTM0MSwxMCArMzM1LDggQEAgc3RhdGljIHZvaWQgZ3VjX2luaXRfcHJvY19kZXNjKHN0cnVj dCBpbnRlbF9ndWMgKmd1YywKPiAgIAkJCSAgICAgICBzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpj bGllbnQpCj4gICB7Cj4gICAJc3RydWN0IGd1Y19wcm9jZXNzX2Rlc2MgKmRlc2M7Cj4gLQl2b2lk ICpiYXNlOwo+Cj4gLQliYXNlID0ga21hcF9hdG9taWMoaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdl KGNsaWVudC0+Y2xpZW50X29iaiwgMCkpOwo+IC0JZGVzYyA9IGJhc2UgKyBjbGllbnQtPnByb2Nf ZGVzY19vZmZzZXQ7Cj4gKwlkZXNjID0gY2xpZW50LT5jbGllbnRfYmFzZSArIGNsaWVudC0+cHJv Y19kZXNjX29mZnNldDsKPgo+ICAgCW1lbXNldChkZXNjLCAwLCBzaXplb2YoKmRlc2MpKTsKPgo+ IEBAIC0zNjEsOCArMzUzLDYgQEAgc3RhdGljIHZvaWQgZ3VjX2luaXRfcHJvY19kZXNjKHN0cnVj dCBpbnRlbF9ndWMgKmd1YywKPiAgIAlkZXNjLT53cV9zaXplX2J5dGVzID0gY2xpZW50LT53cV9z aXplOwo+ICAgCWRlc2MtPndxX3N0YXR1cyA9IFdRX1NUQVRVU19BQ1RJVkU7Cj4gICAJZGVzYy0+ cHJpb3JpdHkgPSBjbGllbnQtPnByaW9yaXR5Owo+IC0KPiAtCWt1bm1hcF9hdG9taWMoYmFzZSk7 Cj4gICB9Cj4KPiAgIC8qCj4gQEAgLTQ3NCwyNSArNDY0LDE2IEBAIHN0YXRpYyB2b2lkIGd1Y19m aW5pX2N0eF9kZXNjKHN0cnVjdCBpbnRlbF9ndWMgKmd1YywKPiAgIGludCBpOTE1X2d1Y193cV9j aGVja19zcGFjZShzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpnYykKPiAgIHsKPiAgIAlzdHJ1Y3Qg Z3VjX3Byb2Nlc3NfZGVzYyAqZGVzYzsKPiAtCXZvaWQgKmJhc2U7Cj4gICAJdTMyIHNpemUgPSBz aXplb2Yoc3RydWN0IGd1Y193cV9pdGVtKTsKPiAgIAlpbnQgcmV0ID0gLUVUSU1FRE9VVCwgdGlt ZW91dF9jb3VudGVyID0gMjAwOwo+Cj4gICAJaWYgKCFnYykKPiAgIAkJcmV0dXJuIDA7Cj4KPiAt CS8qIFF1aWNrbHkgcmV0dXJuIGlmIHdxIHNwYWNlIGlzIGF2YWlsYWJsZSBzaW5jZSBsYXN0IHRp bWUgd2UgY2FjaGUgdGhlCj4gLQkgKiBoZWFkIHBvc2l0aW9uLiAqLwo+IC0JaWYgKENJUkNfU1BB Q0UoZ2MtPndxX3RhaWwsIGdjLT53cV9oZWFkLCBnYy0+d3Ffc2l6ZSkgPj0gc2l6ZSkKPiAtCQly ZXR1cm4gMDsKPiAtCj4gLQliYXNlID0ga21hcF9hdG9taWMoaTkxNV9nZW1fb2JqZWN0X2dldF9w YWdlKGdjLT5jbGllbnRfb2JqLCAwKSk7Cj4gLQlkZXNjID0gYmFzZSArIGdjLT5wcm9jX2Rlc2Nf b2Zmc2V0Owo+ICsJZGVzYyA9IGdjLT5jbGllbnRfYmFzZSArIGdjLT5wcm9jX2Rlc2Nfb2Zmc2V0 Owo+Cj4gICAJd2hpbGUgKHRpbWVvdXRfY291bnRlci0tID4gMCkgewo+IC0JCWdjLT53cV9oZWFk ID0gZGVzYy0+aGVhZDsKPiAtCj4gLQkJaWYgKENJUkNfU1BBQ0UoZ2MtPndxX3RhaWwsIGdjLT53 cV9oZWFkLCBnYy0+d3Ffc2l6ZSkgPj0gc2l6ZSkgewo+ICsJCWlmIChDSVJDX1NQQUNFKGdjLT53 cV90YWlsLCBkZXNjLT5oZWFkLCBnYy0+d3Ffc2l6ZSkgPj0gc2l6ZSkgewo+ICAgCQkJcmV0ID0g MDsKPiAgIAkJCWJyZWFrOwo+ICAgCQl9Cj4gQEAgLTUwMSwyNCArNDgyLDIzIEBAIGludCBpOTE1 X2d1Y193cV9jaGVja19zcGFjZShzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpnYykKPiAgIAkJCXVz bGVlcF9yYW5nZSgxMDAwLCAyMDAwKTsKPiAgIAl9Owo+Cj4gLQlrdW5tYXBfYXRvbWljKGJhc2Up Owo+IC0KPiAgIAlyZXR1cm4gcmV0Owo+ICAgfQo+Cj4gICBzdGF0aWMgaW50IGd1Y19hZGRfd29y a3F1ZXVlX2l0ZW0oc3RydWN0IGk5MTVfZ3VjX2NsaWVudCAqZ2MsCj4gICAJCQkJICBzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJxKQo+ICAgewo+ICsJc3RydWN0IGd1Y19wcm9jZXNzX2Rl c2MgKmRlc2M7Cj4gICAJc3RydWN0IGd1Y193cV9pdGVtICp3cWk7Cj4gLQl2b2lkICpiYXNlOwo+ IC0JdTMyIHRhaWwsIHdxX2xlbiwgd3Ffb2ZmLCBzcGFjZTsKPiArCXUzMiB0YWlsLCB3cV9sZW4s IHdxaV9vZmYsIHNwYWNlOwo+Cj4gLQlzcGFjZSA9IENJUkNfU1BBQ0UoZ2MtPndxX3RhaWwsIGdj LT53cV9oZWFkLCBnYy0+d3Ffc2l6ZSk7Cj4gKwlkZXNjID0gZ2MtPmNsaWVudF9iYXNlICsgZ2Mt PnByb2NfZGVzY19vZmZzZXQ7Cj4gKwlzcGFjZSA9IENJUkNfU1BBQ0UoZ2MtPndxX3RhaWwsIGRl c2MtPmhlYWQsIGdjLT53cV9zaXplKTsKPiAgIAlpZiAoV0FSTl9PTihzcGFjZSA8IHNpemVvZihz dHJ1Y3QgZ3VjX3dxX2l0ZW0pKSkKPiAgIAkJcmV0dXJuIC1FTk9TUEM7IC8qIHNob3VsZG4ndCBo YXBwZW4gKi8KPgo+ICAgCS8qIHBvc3RpbmNyZW1lbnQgV1EgdGFpbCBmb3IgbmV4dCB0aW1lICov Cj4gLQl3cV9vZmYgPSBnYy0+d3FfdGFpbDsKPiArCXdxaV9vZmYgPSBnYy0+d3FfdGFpbDsKPiAg IAlnYy0+d3FfdGFpbCArPSBzaXplb2Yoc3RydWN0IGd1Y193cV9pdGVtKTsKPiAgIAlnYy0+d3Ff dGFpbCAmPSBnYy0+d3Ffc2l6ZSAtIDE7Cj4KPiBAQCAtNTMwLDEzICs1MTAsMTAgQEAgc3RhdGlj IGludCBndWNfYWRkX3dvcmtxdWV1ZV9pdGVtKHN0cnVjdCBpOTE1X2d1Y19jbGllbnQgKmdjLAo+ ICAgCSAqIHdvcmtxdWV1ZSBidWZmZXIgZHcgYnkgZHcuCj4gICAJICovCj4gICAJV0FSTl9PTihz aXplb2Yoc3RydWN0IGd1Y193cV9pdGVtKSAhPSAxNik7Cj4gLQlXQVJOX09OKHdxX29mZiAmIDMp Owo+ICsJV0FSTl9PTih3cWlfb2ZmICYgMyk7Cj4KPiAgIAkvKiB3cSBzdGFydHMgZnJvbSB0aGUg cGFnZSBhZnRlciBkb29yYmVsbCAvIHByb2Nlc3NfZGVzYyAqLwo+IC0JYmFzZSA9IGttYXBfYXRv bWljKGk5MTVfZ2VtX29iamVjdF9nZXRfcGFnZShnYy0+Y2xpZW50X29iaiwKPiAtCQkJKHdxX29m ZiArIEdVQ19EQl9TSVpFKSA+PiBQQUdFX1NISUZUKSk7Cj4gLQl3cV9vZmYgJj0gUEFHRV9TSVpF IC0gMTsKPiAtCXdxaSA9IChzdHJ1Y3QgZ3VjX3dxX2l0ZW0gKikoKGNoYXIgKiliYXNlICsgd3Ff b2ZmKTsKPiArCXdxaSA9IGdjLT5jbGllbnRfYmFzZSArIGdjLT53cV9vZmZzZXQgKyB3cWlfb2Zm Owo+Cj4gICAJLyogbGVuIGRvZXMgbm90IGluY2x1ZGUgdGhlIGhlYWRlciAqLwo+ICAgCXdxX2xl biA9IHNpemVvZihzdHJ1Y3QgZ3VjX3dxX2l0ZW0pIC8gc2l6ZW9mKHUzMikgLSAxOwo+IEBAIC01 NTMsOCArNTMwLDYgQEAgc3RhdGljIGludCBndWNfYWRkX3dvcmtxdWV1ZV9pdGVtKHN0cnVjdCBp OTE1X2d1Y19jbGllbnQgKmdjLAo+ICAgCXdxaS0+cmluZ190YWlsID0gdGFpbCA8PCBXUV9SSU5H X1RBSUxfU0hJRlQ7Cj4gICAJd3FpLT5mZW5jZV9pZCA9IDA7IC8qWFhYOiB3aGF0IGZlbmNlIHRv IGJlIGhlcmUgKi8KPgo+IC0Ja3VubWFwX2F0b21pYyhiYXNlKTsKPiAtCj4gICAJcmV0dXJuIDA7 Cj4gICB9Cj4KPiBAQCAtNjc1LDYgKzY1MCw4IEBAIHN0YXRpYyB2b2lkIGd1Y19jbGllbnRfZnJl ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAgCSAqIEJlIHN1cmUgdG8gZHJvcCBhbnkgbG9j a3MKPiAgIAkgKi8KPgo+ICsJdnVubWFwKGNsaWVudC0+Y2xpZW50X2Jhc2UpOwo+ICsKPiAgIAln ZW1fcmVsZWFzZV9ndWNfb2JqKGNsaWVudC0+Y2xpZW50X29iaik7Cj4KPiAgIAlpZiAoY2xpZW50 LT5jdHhfaW5kZXggIT0gR1VDX0lOVkFMSURfQ1RYX0lEKSB7Cj4gQEAgLTcyNyw2ICs3MDQsMTEg QEAgc3RhdGljIHN0cnVjdCBpOTE1X2d1Y19jbGllbnQgKmd1Y19jbGllbnRfYWxsb2Moc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKPiAgIAlpZiAoIW9iaikKPiAgIAkJZ290byBlcnI7Cj4KPiArCWNs aWVudC0+Y2xpZW50X2Jhc2UgPSBpOTE1X2dlbV9vYmplY3Rfdm1hcChvYmosIDAsCj4gKwkJCW9i ai0+YmFzZS5zaXplID4+IFBBR0VfU0hJRlQpOwo+ICsJaWYgKGNsaWVudC0+Y2xpZW50X2Jhc2Ug PT0gTlVMTCkKPiArCQlnb3RvIGVycjsKPiArCj4gICAJY2xpZW50LT5jbGllbnRfb2JqID0gb2Jq Owo+ICAgCWNsaWVudC0+d3Ffb2Zmc2V0ID0gR1VDX0RCX1NJWkU7Cj4gICAJY2xpZW50LT53cV9z aXplID0gR1VDX1dRX1NJWkU7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2d1Yy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKPiBpbmRleCA3MzAw MmU5Li45ZjA4YmQ3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1 Yy5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKPiBAQCAtMzQsNiAr MzQsOCBAQCBzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50IHsKPiAgIAl1aW50MzJfdCBwcmlvcml0eTsK PiAgIAl1aW50MzJfdCBjdHhfaW5kZXg7Cj4KPiArCXZvaWQgKmNsaWVudF9iYXNlOwo+ICsKPiAg IAl1aW50MzJfdCBwcm9jX2Rlc2Nfb2Zmc2V0Owo+ICAgCXVpbnQzMl90IGRvb3JiZWxsX29mZnNl dDsKPiAgIAl1aW50MzJfdCBjb29raWU7Cj4gQEAgLTQzLDcgKzQ1LDYgQEAgc3RydWN0IGk5MTVf Z3VjX2NsaWVudCB7Cj4gICAJdWludDMyX3Qgd3Ffb2Zmc2V0Owo+ICAgCXVpbnQzMl90IHdxX3Np emU7Cj4gICAJdWludDMyX3Qgd3FfdGFpbDsKPiAtCXVpbnQzMl90IHdxX2hlYWQ7Cj4KPiAgIAkv KiBHdUMgc3VibWlzc2lvbiBzdGF0aXN0aWNzICYgc3RhdHVzICovCj4gICAJdWludDY0X3Qgc3Vi bWlzc2lvbnNbR1VDX01BWF9FTkdJTkVTX05VTV07Cj4KX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==