From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 09/15] drm/i915: Add NV12 support to intel_framebuffer_init Date: Thu, 10 Sep 2015 22:46:55 +0300 Message-ID: <20150910194655.GF26517@intel.com> References: <1441420391-19109-10-git-send-email-chandra.konduru@intel.com> <1441839543-20005-1-git-send-email-chandra.konduru@intel.com> <20150910183459.GD26517@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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 E393B6ED3F for ; Thu, 10 Sep 2015 12:46:58 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20150910183459.GD26517@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chandra Konduru Cc: daniel.vetter@intel.com, intel-gfx@lists.freedesktop.org, ville.syrjala@intel.com List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBTZXAgMTAsIDIwMTUgYXQgMDk6MzQ6NTlQTSArMDMwMCwgVmlsbGUgU3lyasOkbMOk IHdyb3RlOgo+IE9uIFdlZCwgU2VwIDA5LCAyMDE1IGF0IDAzOjU5OjAzUE0gLTA3MDAsIENoYW5k cmEgS29uZHVydSB3cm90ZToKPiA+IFRoaXMgcGF0Y2ggYWRkcyBOVjEyIGFzIHN1cHBvcnRlZCBm b3JtYXQgdG8KPiA+IGludGVsX2ZyYW1lYnVmZmVyX2luaXQgYW5kIHBlcmZvcm1zIHZhcmlvdXMg Y2hlY2tzLgo+ID4gCj4gPiB2MjoKPiA+IC1GaXggYW4gaXNzdWUgaW4gY2hlY2tzIGFkZGVkICht ZSkKPiA+IAo+ID4gdjM6Cj4gPiAtY29zbWV0aWMgdXBkYXRlLCBzcGxpdCBjaGVja3MgaW50byB0 d28gKFZpbGxlKQo+ID4gCj4gPiB2NDoKPiA+IC1BZGQgc3RyaWRlIGFsaWdubWVudCBhbmQgbW9k aWZpZXIgY2hlY2tzIGZvciBVViBzdWJwbGFuZSAoVmlsbGUpCj4gPiAKPiA+IFNpZ25lZC1vZmYt Ynk6IENoYW5kcmEgS29uZHVydSA8Y2hhbmRyYS5rb25kdXJ1QGludGVsLmNvbT4KPiA+IFRlc3Rj YXNlOiBpZ3Qva21zX252MTIKPiA+IC0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYyB8ICAgNjcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLQo+ID4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICAgIDIgKy0KPiA+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYyAgfCAgICAyICstCj4gPiAgMyBmaWxlcyBj aGFuZ2VkLCA1NyBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKPiA+IAo+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4gaW5kZXggODRkYWQ5NS4uNjEyNDMzOSAxMDA2 NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gPiBAQCAtMjkwNiw5ICsy OTA2LDkgQEAgc3RhdGljIHZvaWQgaXJvbmxha2VfdXBkYXRlX3ByaW1hcnlfcGxhbmUoc3RydWN0 IGRybV9jcnRjICpjcnRjLAo+ID4gIH0KPiA+ICAKPiA+ICB1MzIgaW50ZWxfZmJfc3RyaWRlX2Fs aWdubWVudChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1aW50NjRfdCBmYl9tb2RpZmllciwKPiA+ IC0JCQkgICAgICB1aW50MzJfdCBwaXhlbF9mb3JtYXQpCj4gPiArCQkJICAgICAgdWludDMyX3Qg cGl4ZWxfZm9ybWF0LCBpbnQgcGxhbmUpCj4gPiAgewo+ID4gLQl1MzIgYml0c19wZXJfcGl4ZWwg PSBkcm1fZm9ybWF0X3BsYW5lX2NwcChwaXhlbF9mb3JtYXQsIDApICogODsKPiA+ICsJdTMyIGJp dHNfcGVyX3BpeGVsID0gZHJtX2Zvcm1hdF9wbGFuZV9jcHAocGl4ZWxfZm9ybWF0LCBwbGFuZSkg KiA4Owo+ID4gIAo+ID4gIAkvKgo+ID4gIAkgKiBUaGUgc3RyaWRlIGlzIGVpdGhlciBleHByZXNz ZWQgYXMgYSBtdWx0aXBsZSBvZiA2NCBieXRlcwo+ID4gQEAgLTMxMTcsNyArMzExNyw3IEBAIHN0 YXRpYyB2b2lkIHNreWxha2VfdXBkYXRlX3ByaW1hcnlfcGxhbmUoc3RydWN0IGRybV9jcnRjICpj cnRjLAo+ID4gIAo+ID4gIAlvYmogPSBpbnRlbF9mYl9vYmooZmIpOwo+ID4gIAlzdHJpZGVfZGl2 ID0gaW50ZWxfZmJfc3RyaWRlX2FsaWdubWVudChkZXYsIGZiLT5tb2RpZmllclswXSwKPiA+IC0J CQkJCSAgICAgICBmYi0+cGl4ZWxfZm9ybWF0KTsKPiA+ICsJCQkJCSAgICAgICBmYi0+cGl4ZWxf Zm9ybWF0LCAwKTsKPiA+ICAJc3VyZl9hZGRyID0gaW50ZWxfcGxhbmVfb2JqX29mZnNldCh0b19p bnRlbF9wbGFuZShwbGFuZSksIG9iaiwgMCk7Cj4gPiAgCj4gPiAgCS8qCj4gPiBAQCAtOTEwMSw3 ICs5MTAxLDcgQEAgc2t5bGFrZV9nZXRfaW5pdGlhbF9wbGFuZV9jb25maWcoc3RydWN0IGludGVs X2NydGMgKmNydGMsCj4gPiAgCj4gPiAgCXZhbCA9IEk5MTVfUkVBRChQTEFORV9TVFJJREUocGlw ZSwgMCkpOwo+ID4gIAlzdHJpZGVfbXVsdCA9IGludGVsX2ZiX3N0cmlkZV9hbGlnbm1lbnQoZGV2 LCBmYi0+bW9kaWZpZXJbMF0sCj4gPiAtCQkJCQkJZmItPnBpeGVsX2Zvcm1hdCk7Cj4gPiArCQkJ CQkJZmItPnBpeGVsX2Zvcm1hdCwgMCk7Cj4gPiAgCWZiLT5waXRjaGVzWzBdID0gKHZhbCAmIDB4 M2ZmKSAqIHN0cmlkZV9tdWx0Owo+ID4gIAo+ID4gIAlhbGlnbmVkX2hlaWdodCA9IGludGVsX2Zi X2FsaWduX2hlaWdodChkZXYsIGZiLT5oZWlnaHQsCj4gPiBAQCAtMTExNzIsNyArMTExNzIsNyBA QCBzdGF0aWMgdm9pZCBza2xfZG9fbW1pb19mbGlwKHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9j cnRjKQo+ID4gIAkgKi8KPiA+ICAJc3RyaWRlID0gZmItPnBpdGNoZXNbMF0gLwo+ID4gIAkJIGlu dGVsX2ZiX3N0cmlkZV9hbGlnbm1lbnQoZGV2LCBmYi0+bW9kaWZpZXJbMF0sCj4gPiAtCQkJCQkg ICBmYi0+cGl4ZWxfZm9ybWF0KTsKPiA+ICsJCQkJCSAgIGZiLT5waXhlbF9mb3JtYXQsIDApOwo+ ID4gIAo+ID4gIAkvKgo+ID4gIAkgKiBCb3RoIFBMQU5FX0NUTCBhbmQgUExBTkVfU1RSSURFIGFy ZSBub3QgdXBkYXRlZCBvbiB2YmxhbmsgYnV0IG9uCj4gPiBAQCAtMTQyMzgsNiArMTQyMzgsNyBA QCBzdGF0aWMgaW50IGludGVsX2ZyYW1lYnVmZmVyX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKPiA+ICB7Cj4gPiAgCXVuc2lnbmVkIGludCBhbGlnbmVkX2hlaWdodDsKPiA+ICAJaW50IHJl dDsKPiA+ICsJaW50IGk7Cj4gPiAgCXUzMiBwaXRjaF9saW1pdCwgc3RyaWRlX2FsaWdubWVudDsK PiA+ICAKPiA+ICAJV0FSTl9PTighbXV0ZXhfaXNfbG9ja2VkKCZkZXYtPnN0cnVjdF9tdXRleCkp Owo+ID4gQEAgLTE0Mjc3LDEyICsxNDI3OCwxNSBAQCBzdGF0aWMgaW50IGludGVsX2ZyYW1lYnVm ZmVyX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+ICAJCXJldHVybiAtRUlOVkFMOwo+ ID4gIAl9Cj4gPiAgCj4gPiAtCXN0cmlkZV9hbGlnbm1lbnQgPSBpbnRlbF9mYl9zdHJpZGVfYWxp Z25tZW50KGRldiwgbW9kZV9jbWQtPm1vZGlmaWVyWzBdLAo+ID4gLQkJCQkJCSAgICAgbW9kZV9j bWQtPnBpeGVsX2Zvcm1hdCk7Cj4gPiAtCWlmIChtb2RlX2NtZC0+cGl0Y2hlc1swXSAmIChzdHJp ZGVfYWxpZ25tZW50IC0gMSkpIHsKPiA+IC0JCURSTV9ERUJVRygicGl0Y2ggKCVkKSBtdXN0IGJl IGF0IGxlYXN0ICV1IGJ5dGUgYWxpZ25lZFxuIiwKPiA+IC0JCQkgIG1vZGVfY21kLT5waXRjaGVz WzBdLCBzdHJpZGVfYWxpZ25tZW50KTsKPiA+IC0JCXJldHVybiAtRUlOVkFMOwo+ID4gKwkvKiBj aGVjayBzdHJpZGUgYWxpZ25tZW50IGZvciBzdWItcGxhbmVzICovCj4gPiArCWZvciAoaSA9IDA7 IGkgPCBkcm1fZm9ybWF0X251bV9wbGFuZXMobW9kZV9jbWQtPnBpeGVsX2Zvcm1hdCk7IGkrKykg ewo+ID4gKwkJc3RyaWRlX2FsaWdubWVudCA9IGludGVsX2ZiX3N0cmlkZV9hbGlnbm1lbnQoZGV2 LCBtb2RlX2NtZC0+bW9kaWZpZXJbaV0sCj4gPiArCQkJCQkJICAgICBtb2RlX2NtZC0+cGl4ZWxf Zm9ybWF0LCBpKTsKPiA+ICsJCWlmIChtb2RlX2NtZC0+cGl0Y2hlc1tpXSAmIChzdHJpZGVfYWxp Z25tZW50IC0gMSkpIHsKPiA+ICsJCQlEUk1fREVCVUcoInN1YnBsYW5lICVkIHBpdGNoICglZCkg bXVzdCBiZSBhdCBsZWFzdCAldSBieXRlcyAiCj4gPiArCQkJCSJhbGlnbmVkXG4iLCBpLCBtb2Rl X2NtZC0+cGl0Y2hlc1tpXSwgc3RyaWRlX2FsaWdubWVudCk7Cj4gPiArCQkJcmV0dXJuIC1FSU5W QUw7Cj4gPiArCQl9Cj4gPiAgCX0KPiA+ICAKPiA+ICAJcGl0Y2hfbGltaXQgPSBpbnRlbF9mYl9w aXRjaF9saW1pdChkZXYsIG1vZGVfY21kLT5tb2RpZmllclswXSwKPiA+IEBAIC0xNDM0OSw5ICsx NDM1Myw0OCBAQCBzdGF0aWMgaW50IGludGVsX2ZyYW1lYnVmZmVyX2luaXQoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKPiA+ICAJCQlyZXR1cm4gLUVJTlZBTDsKPiA+ICAJCX0KPiA+ICAJCWJyZWFr Owo+ID4gKwljYXNlIERSTV9GT1JNQVRfTlYxMjoKPiA+ICsJCWlmIChJTlRFTF9JTkZPKGRldikt PmdlbiA8IDkpIHsKPiA+ICsJCQlEUk1fREVCVUcoInVuc3VwcG9ydGVkIHBpeGVsIGZvcm1hdDog JXNcbiIsCj4gPiArCQkJCWRybV9nZXRfZm9ybWF0X25hbWUobW9kZV9jbWQtPnBpeGVsX2Zvcm1h dCkpOwo+ID4gKwkJCXJldHVybiAtRUlOVkFMOwo+ID4gKwkJfQo+ID4gKwkJaWYgKG9iai0+dGls aW5nX21vZGUgPT0gSTkxNV9USUxJTkdfWCAmJgo+ID4gKwkJCSEobW9kZV9jbWQtPmZsYWdzICYg RFJNX01PREVfRkJfTU9ESUZJRVJTKSkgewo+IAo+IFlvdXIgZWRpdG9yIHN0aWxsIHNlZW1zIHRv IG1lc3MgdXAgdGhlIGluZGVudGF0aW9uIGluIHRoZXNlIGNhc2VzLiBDYW4KPiB5b3UgdHJ5IHRv IGZpeCB0aGF0Pwo+IAo+ID4gKwkJCW1vZGVfY21kLT5tb2RpZmllclsxXSA9IEk5MTVfRk9STUFU X01PRF9YX1RJTEVEOwo+ID4gKwkJfQo+IAo+IEhtbS4gVGhpcyBvYmogdGlsaW5nIC0+IG1vZGlm aWVyIGNvbnZlcnNpb24gc2hvdWxkIGJlIGEgZmFpcmx5IGdlbmVyaWMKPiB0aGluZyB0byBkbywg c28gSSBzdWdnZXN0IGRvaW5nIGl0IGZvciBhbGwgcGxhbmVzIGluIG9uZSBwbGFjZS4gTWF5YmUK PiBhZGQgYSBuZXcgZnVuY3Rpb24gaW50ZWxfZmJfb2JqX3RpbGluZ190b19tb2RpZmllcigpIG9y IHNvbWV0aGluZyBsaWtlCj4gdGhhdCBhbmQgbG9vcCBvdmVyIGFsbCB0aGUgcGxhbmVzIHRoZXJl Lgo+IAo+ID4gKwkJaWYgKCFtb2RlX2NtZC0+b2Zmc2V0c1sxXSkgewo+ID4gKwkJCURSTV9ERUJV RygidXYgc3RhcnQgb2Zmc2V0IG5vdCBzZXRcbiIpOwo+ID4gKwkJCXJldHVybiAtRUlOVkFMOwo+ ID4gKwkJfQo+IAo+IFN0aWxsIG5vdCByZWFsbHkgaGFwcHkgd2l0aCB0aGlzIGNoZWNrIHNpbmNl IGl0J3MgZWl0aGVyIHRvbyBsaW1pdGluZywgb3IKPiBub3QgcmVzdHJpY3RpdmUgZW5vdWdoLiBE ZXBlbmRpbmcgb24gaG93IHlvdSBsb29rIGF0IGl0LiBEbyB5b3Uga25vdwo+IGlmIHRoZSBoYXJk d2FyZSBnZXRzIHVwc2V0IGlmIHlvdSB0ZWxsIGl0IHVzZSBvdmVybGFwcGluZyBZIGFuZCBVVgo+ IHN1cmZhY2VzPwo+IAo+ID4gKwkJaWYgKG1vZGVfY21kLT5waXRjaGVzWzBdICE9IG1vZGVfY21k LT5waXRjaGVzWzFdKSB7Cj4gPiArCQkJRFJNX0RFQlVHKCJ5IGFuZCB1diBzdWJwbGFuZXMgaGF2 ZSBkaWZmZXJlbnQgcGl0Y2hlc1xuIik7Cj4gPiArCQkJcmV0dXJuIC1FSU5WQUw7Cj4gPiArCQl9 Cj4gPiArCQlpZiAobW9kZV9jbWQtPmhhbmRsZXNbMF0gIT0gbW9kZV9jbWQtPmhhbmRsZXNbMV0p IHsKPiA+ICsJCQlEUk1fREVCVUcoInkgYW5kIHV2IHN1YnBsYW5lcyBoYXZlIGRpZmZlcmVudCBo YW5kbGVzXG4iKTsKPiA+ICsJCQlyZXR1cm4gLUVJTlZBTDsKPiA+ICsJCX0KPiA+ICsJCWlmICht b2RlX2NtZC0+bW9kaWZpZXJbMF0gIT0gbW9kZV9jbWQtPm1vZGlmaWVyWzFdKSB7Cj4gPiArCQkJ RFJNX0RFQlVHKCJ5IGFuZCB1diBzdWJwbGFuZXMgaGF2ZSBkaWZmZXJlbnQgbW9kaWZpZXJzXG4i KTsKPiA+ICsJCQlyZXR1cm4gLUVJTlZBTDsKPiA+ICsJCX0KPiA+ICsJCWlmIChtb2RlX2NtZC0+ bW9kaWZpZXJbMV0gPT0gSTkxNV9GT1JNQVRfTU9EX1lmX1RJTEVEICYmCj4gPiArCQkJKG1vZGVf Y21kLT5vZmZzZXRzWzFdICYgMHhGRkYpKSB7Cj4gPiArCQkJRFJNX0RFQlVHKCJ0aWxlLVlmIHV2 IG9mZnNldCAweCV4IGlzbid0IHN0YXJ0aW5nIG9uIG5ldyB0aWxlLXJvd1xuIiwKPiA+ICsJCQkJ bW9kZV9jbWQtPm9mZnNldHNbMV0pOwo+ID4gKwkJCXJldHVybiAtRUlOVkFMOwo+ID4gKwkJfQo+ ID4gKwkJaWYgKG1vZGVfY21kLT5tb2RpZmllclsxXSA9PSBJOTE1X0ZPUk1BVF9NT0RfWV9USUxF RCAmJgo+ID4gKwkJCSgobW9kZV9jbWQtPm9mZnNldHNbMV0gLyBtb2RlX2NtZC0+cGl0Y2hlc1sx XSkgJSA0KSkgewo+ID4gKwkJCURSTV9ERUJVRygidGlsZS1ZIHV2IG9mZnNldCAweCV4IGlzbid0 IDQtbGluZSBhbGlnbmVkXG4iLAo+ID4gKwkJCQltb2RlX2NtZC0+b2Zmc2V0c1sxXSk7Cj4gPiAr CQkJcmV0dXJuIC1FSU5WQUw7Cj4gPiArCQl9Cj4gCj4gSSB3YXMgZ29pbmcgdG8gc2F5IEkgY2Fu J3QgZmluZCBhbnl0aGluZyBpbiB0aGUgc3BlYyB0byBzdXBwb3J0IHRoaXMsCj4gYnV0IGFmdGVy IHNvbWUgbW9yZSByZWFkaW5nIEkgZ290IGl0ICJUaGUgZGlzcGxheSBoYXJkd2FyZSByZXF1aXJl cwo+IHRoYXQgdGhlIFVWIHN1cmZhY2Ugc3RhcnQgc2F0aXNmaWVzIGZvdXIgbGluZSBhbGlnbm1l bnQgZnJvbSB0aGUKPiBiZWdpbmluZyBvZiB0aGUgcGFnZS4iIFNvIHRoZSBjaGVjayBzaG91bGQg YmUgc29tZXRoaW5nIGxpa2UKPiAoKG9mZnNldHNbMV0gJiAweGZmZikgLyBwaXRjaGVzWzFdICUg NC4KPiAKPiBIb3dldmVyIHdlIHNob3VsZCBhbnl3YXkgYmUgYWJsZSB0byBhZGp1c3QgdGhlIFgv WSBvZmZzZXRzIHRvIGFjY291bnQKPiBmb3IgbWlzYWxpZ25tZW50IG9mIG9mZnNldHNbMV0uIEkg dGhpbmsgdGhlIG9ubHkgdGhpbmcgd2Ugc2hvdWxkIG5lZWQKPiB0byBjaGVjayBpcyB0aGF0IG9m ZnNldHNbMV0gaXMgbWFjcm9waXhlbCBhbGlnbmVkLiBUaGUgcGF0Y2ggbGFja3Mgc3VjaAo+IGEg Y2hlY2sgaW4gZmFjdC4KPiAKPiBGZWVscyBsaWtlIGl0IHdvdWxkIGJlIHRpbWUgdG8gZXhwYW5k IGludGVsX2dlbjRfY29tcHV0ZV9wYWdlX29mZnNldCgpCj4gdG8gaGFuZGxlIHRoZSBuZXcgdGls aW5nIGZvcm1hdHMgYW5kIHN0YXJ0IHVzaW5nIGl0IGZvciBTS0wrLiBUaG91Z2gKPiByb3RhdGlv biBtYXkgbmVlZCBzb21lIGFkZGl0aW9uYWwgdGhvdWdodC4gQWxzbyBtYXliZSBpdCdzIHRpbWUg dG8KPiBkaWcgdXAgbXkgb2xkIG9mZnNldHNbMF0gaGFuZGxpbmcgcGF0Y2ggYW5kIHJlZnJlc2gg aXQgYSBiaXQgYW5kIHRyeQo+IHRvIGdldCBpdCBtZXJnZWQgYWdhaW4uCgpKdXN0IHRvIGNsYXJp ZnkgYSBiaXQuIEkgdGhpbmsgd2UgY2FuIGluaXRpYWxseSBnbyB3aXRoIHRoZSBjaGVja3MgaW4K cGxhY2UsIGFuZCB3ZSBjYW4gd29yayBvbiByZWZhY3RvcmluZyB0aGUgcGFnZSBvZmZzZXQgc3R1 ZmYgYWZ0ZXJ3YXJkcwpBY3R1YWxseSBJIGFscmVhZHkgc3RhcnRlZCB0byBza2V0Y2ggc29tZXRo aW5nIHRvZ2V0aGVyIGhlcmUgOikgc28gSQptaWdodCBoYXZlIGEgZmV3IHBhdGNoZXMgdG8gcG9z dCBzb29uZXIgcmF0aGVyIHRoYW4gbGF0ZXIuCgo+IAo+ID4gKwkJYnJlYWs7Cj4gPiAgCWRlZmF1 bHQ6Cj4gPiAgCQlEUk1fREVCVUcoInVuc3VwcG9ydGVkIHBpeGVsIGZvcm1hdDogJXNcbiIsCj4g PiAtCQkJICBkcm1fZ2V0X2Zvcm1hdF9uYW1lKG1vZGVfY21kLT5waXhlbF9mb3JtYXQpKTsKPiA+ ICsJCQlkcm1fZ2V0X2Zvcm1hdF9uYW1lKG1vZGVfY21kLT5waXhlbF9mb3JtYXQpKTsKPiA+ICAJ CXJldHVybiAtRUlOVkFMOwo+ID4gIAl9Cj4gPiAgCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYu aAo+ID4gaW5kZXggZDUwYjhjYi4uNjJkMmExMSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcnYuaAo+ID4gQEAgLTk4MCw3ICs5ODAsNyBAQCB1bnNpZ25lZCBpbnQgaW50ZWxfZmJfYWxp Z25faGVpZ2h0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gPiAgdm9pZCBpbnRlbF9mYl9vYmpf Zmx1c2goc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwgYm9vbCByZXRpcmUsCj4gPiAg CQkJZW51bSBmYl9vcF9vcmlnaW4gb3JpZ2luKTsKPiA+ICB1MzIgaW50ZWxfZmJfc3RyaWRlX2Fs aWdubWVudChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1aW50NjRfdCBmYl9tb2RpZmllciwKPiA+ IC0JCQkgICAgICB1aW50MzJfdCBwaXhlbF9mb3JtYXQpOwo+ID4gKwkJCSAgICAgIHVpbnQzMl90 IHBpeGVsX2Zvcm1hdCwgaW50IHBsYW5lKTsKPiA+ICAKPiA+ICAvKiBpbnRlbF9hdWRpby5jICov Cj4gPiAgdm9pZCBpbnRlbF9pbml0X2F1ZGlvKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ID4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKPiA+IGluZGV4IDc5NzU5NGUuLjQ5ZmVhZTAg MTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwo+ID4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKPiA+IEBAIC0yMDMsNyAr MjAzLDcgQEAgc2tsX3VwZGF0ZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpkcm1fcGxhbmUsIHN0 cnVjdCBkcm1fY3J0YyAqY3J0YywKPiA+ICAJCQkJICAgICAgIHNyY193ICE9IGNydGNfdyB8fCBz cmNfaCAhPSBjcnRjX2gpOwo+ID4gIAo+ID4gIAlzdHJpZGVfZGl2ID0gaW50ZWxfZmJfc3RyaWRl X2FsaWdubWVudChkZXYsIGZiLT5tb2RpZmllclswXSwKPiA+IC0JCQkJCSAgICAgICBmYi0+cGl4 ZWxfZm9ybWF0KTsKPiA+ICsJCQkJCSAgICAgICBmYi0+cGl4ZWxfZm9ybWF0LCAwKTsKPiA+ICAK PiA+ICAJc2NhbGVyX2lkID0gdG9faW50ZWxfcGxhbmVfc3RhdGUoZHJtX3BsYW5lLT5zdGF0ZSkt PnNjYWxlcl9pZDsKPiA+ICAKPiA+IC0tIAo+ID4gMS43LjkuNQo+ID4gCj4gPiBfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4gSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdAo+ID4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4gaHR0cDovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo+IAo+IC0tIAo+ IFZpbGxlIFN5cmrDpGzDpAo+IEludGVsIE9UQwo+IF9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4CgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVsIE9UQwpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=