From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Malladi, Kausal" Subject: Re: [PATCH 11/16] drm/i915: Add pipe level Gamma correction for CHV/BSW Date: Tue, 21 Jul 2015 16:40:08 +0530 Message-ID: <55AE2890.9030801@intel.com> References: <1436965780-6061-1-git-send-email-Kausal.Malladi@intel.com> <1436965780-6061-12-git-send-email-Kausal.Malladi@intel.com> <20150721000332.GK18641@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20150721000332.GK18641@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Matt Roper Cc: dhanya.p.r@intel.com, annie.j.matheson@intel.com, dri-devel@lists.freedesktop.org, vijay.a.purushothaman@intel.com, hverkuil@xs4all.nl, jesse.barnes@intel.com, daniel.vetter@intel.com, susanta.bhattacharjee@intel.com, intel-gfx@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVHVlc2RheSAyMSBKdWx5IDIwMTUgMDU6MzMgQU0sIE1hdHQgUm9wZXIgd3JvdGU6Cj4gT24g V2VkLCBKdWwgMTUsIDIwMTUgYXQgMDY6Mzk6MzVQTSArMDUzMCwgS2F1c2FsIE1hbGxhZGkgd3Jv dGU6Cj4+IENIVi9CU1cgcGxhdGZvcm0gc3VwcG9ydHMgdmFyaW91cyBHYW1tYSBjb3JyZWN0aW9u IG1vZGVzLCB3aGljaCBhcmU6Cj4+IDEuIExlZ2FjeSA4LWJpdCBtb2RlCj4+IDIuIDEwLWJpdCBD R00gKENvbG9yIEdhbXV0IE1hcHBpbmcpIG1vZGUKPj4KPj4gVGhpcyBwYXRjaCBkb2VzIHRoZSBm b2xsb3dpbmc6Cj4+IDEuIEFkZHMgdGhlIGNvcmUgZnVuY3Rpb24gdG8gcHJvZ3JhbSBHYW1tYSBj b3JyZWN0aW9uIHZhbHVlcyBmb3IgQ0hWL0JTVwo+PiAgICAgcGxhdGZvcm0KPj4gMi4gQWRkcyBH YW1tYSBjb3JyZWN0aW9uIG1hY3Jvcy9kZWZpbmVzCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IFNoYXNo YW5rIFNoYXJtYSA8c2hhc2hhbmsuc2hhcm1hQGludGVsLmNvbT4KPj4gU2lnbmVkLW9mZi1ieTog S2F1c2FsIE1hbGxhZGkgPEthdXNhbC5NYWxsYWRpQGludGVsLmNvbT4KPj4gLS0tCj4+ICAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgICAgICAgIHwgIDEyICsrKwo+PiAgIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yX21hbmFnZXIuYyB8IDE0OSArKysrKysrKysr KysrKysrKysrKysrKysrKysrKwo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9y X21hbmFnZXIuaCB8ICAyMCArKysrCj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlz cGxheS5jICAgICAgIHwgICAzICsKPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYu aCAgICAgICAgICAgfCAgIDIgKwo+PiAgIDUgZmlsZXMgY2hhbmdlZCwgMTg2IGluc2VydGlvbnMo KykKPj4KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4+IGluZGV4IDA1OWRlMGYuLjRlYzJlNGYg MTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+PiBAQCAtNzkwNiw0ICs3OTA2LDE2IEBA IGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+PiAgICNkZWZpbmUgX1BBTEVUVEVfQSAoZGV2 X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4YTAwMCkKPj4gICAjZGVmaW5lIF9Q QUxFVFRFX0IgKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweGE4MDApCj4+ ICAgCj4+ICsvKiBDb2xvciBNYW5hZ2VtZW50ICovCj4+ICsjZGVmaW5lIFBJUEVBX0NHTV9DT05U Uk9MCQkJKFZMVl9ESVNQTEFZX0JBU0UgKyAweDY3QTAwKQo+PiArI2RlZmluZSBQSVBFQl9DR01f Q09OVFJPTAkJCShWTFZfRElTUExBWV9CQVNFICsgMHg2OUEwMCkKPj4gKyNkZWZpbmUgUElQRUNf Q0dNX0NPTlRST0wJCQkoVkxWX0RJU1BMQVlfQkFTRSArIDB4NkJBMDApCj4+ICsjZGVmaW5lIFBJ UEVBX0NHTV9HQU1NQQkJCQkoVkxWX0RJU1BMQVlfQkFTRSArIDB4NjcwMDApCj4+ICsjZGVmaW5l IFBJUEVCX0NHTV9HQU1NQQkJCQkoVkxWX0RJU1BMQVlfQkFTRSArIDB4NjkwMDApCj4+ICsjZGVm aW5lIFBJUEVDX0NHTV9HQU1NQQkJCQkoVkxWX0RJU1BMQVlfQkFTRSArIDB4NkIwMDApCj4+ICsj ZGVmaW5lIF9QSVBFX0NHTV9DT05UUk9MKHBpcGUpIFwKPj4gKwkoX1BJUEUzKHBpcGUsIFBJUEVB X0NHTV9DT05UUk9MLCBQSVBFQl9DR01fQ09OVFJPTCwgUElQRUNfQ0dNX0NPTlRST0wpKQo+PiAr I2RlZmluZSBfUElQRV9HQU1NQV9CQVNFKHBpcGUpIFwKPj4gKwkoX1BJUEUzKHBpcGUsIFBJUEVB X0NHTV9HQU1NQSwgUElQRUJfQ0dNX0dBTU1BLCBQSVBFQ19DR01fR0FNTUEpKQo+PiArCj4+ICAg I2VuZGlmIC8qIF9JOTE1X1JFR19IXyAqLwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfY29sb3JfbWFuYWdlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf Y29sb3JfbWFuYWdlci5jCj4+IGluZGV4IDcwYzBkNDIuLjdlOWU5MzQgMTAwNjQ0Cj4+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yX21hbmFnZXIuYwo+PiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvcl9tYW5hZ2VyLmMKPj4gQEAgLTI3LDYgKzI3LDE1 NSBAQAo+PiAgIAo+PiAgICNpbmNsdWRlICJpbnRlbF9jb2xvcl9tYW5hZ2VyLmgiCj4+ICAgCj4+ ICtpbnQgY2h2X3NldF9nYW1tYShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX3By b3BlcnR5X2Jsb2IgKmJsb2IsCj4+ICsJCSAgc3RydWN0IGRybV9jcnRjICpjcnRjKQo+PiArewo+ PiArCXN0cnVjdCBkcm1fcGFsZXR0ZSAqZ2FtbWFfZGF0YTsKPj4gKwlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+PiArCXN0cnVjdCBkcm1fbW9k ZV9jb25maWcgKmNvbmZpZyA9ICZkZXYtPm1vZGVfY29uZmlnOwo+PiArCXUzMiBjZ21fY29udHJv bF9yZWcgPSAwOwo+PiArCXUzMiBjZ21fZ2FtbWFfcmVnID0gMDsKPj4gKwllbnVtIHBpcGUgcGlw ZTsKPj4gKwl1MzIgcmVkLCBncmVlbiwgYmx1ZTsKPj4gKwl1OCByZWRfaW50LCBibHVlX2ludCwg Z3JlZW5faW50Owo+PiArCXUxNiByZWRfZnJhY3QsIGdyZWVuX2ZyYWN0LCBibHVlX2ZyYWN0Owo+ PiArCXUzMiBjb3VudCA9IDA7Cj4+ICsJc3RydWN0IGRybV9yMzJnMzJiMzIgKmNvcnJlY3Rpb25f dmFsdWVzID0gTlVMTDsKPj4gKwl1MzIgbnVtX3NhbXBsZXM7Cj4+ICsJdTMyIHdvcmQ7Cj4+ICsJ aW50IHJldCA9IDAsIGxlbmd0aCwgZmxhZyA9IDA7Cj4+ICsKPj4gKwlpZiAoIWJsb2IpIHsKPj4g KwkJRFJNX0VSUk9SKCJOVUxMIEJsb2JcbiIpOwo+PiArCQlyZXR1cm4gLUVJTlZBTDsKPj4gKwl9 Cj4+ICsKPj4gKwlnYW1tYV9kYXRhID0gKHN0cnVjdCBkcm1fcGFsZXR0ZSAqKWJsb2ItPmRhdGE7 Cj4+ICsKPj4gKwlpZiAoZ2FtbWFfZGF0YS0+dmVyc2lvbiAhPSBDSFZfR0FNTUFfREFUQV9TVFJV Q1RfVkVSU0lPTikgewo+PiArCQlEUk1fRVJST1IoIkludmFsaWQgR2FtbWEgRGF0YSBzdHJ1Y3Qg dmVyc2lvblxuIik7Cj4+ICsJCXJldHVybiAtRUlOVkFMOwo+PiArCX0KPj4gKwo+PiArCXBpcGUg PSB0b19pbnRlbF9jcnRjKGNydGMpLT5waXBlOwo+PiArCW51bV9zYW1wbGVzID0gZ2FtbWFfZGF0 YS0+bnVtX3NhbXBsZXM7Cj4+ICsJbGVuZ3RoID0gbnVtX3NhbXBsZXMgKiBzaXplb2Yoc3RydWN0 IGRybV9yMzJnMzJiMzIpOwo+PiArCj4+ICsJaWYgKG51bV9zYW1wbGVzID09IDApIHsKPj4gKwo+ PiArCQkvKiBEaXNhYmxlIEdhbW1hIGZ1bmN0aW9uYWxpdHkgb24gUGlwZSAtIENHTSBCbG9jayAq Lwo+PiArCQljZ21fY29udHJvbF9yZWcgPSBJOTE1X1JFQUQoX1BJUEVfQ0dNX0NPTlRST0wocGlw ZSkpOwo+PiArCQljZ21fY29udHJvbF9yZWcgJj0gfkNHTV9HQU1NQV9FTjsKPj4gKwkJSTkxNV9X UklURShfUElQRV9DR01fQ09OVFJPTChwaXBlKSwgY2dtX2NvbnRyb2xfcmVnKTsKPj4gKwo+PiAr CQlEUk1fREVCVUdfRFJJVkVSKCJHYW1tYSBkaXNhYmxlZCBvbiBQaXBlICVjXG4iLAo+PiArCQkJ CXBpcGVfbmFtZShwaXBlKSk7Cj4+ICsJCXJldCA9IDA7Cj4+ICsJfSBlbHNlIGlmIChudW1fc2Ft cGxlcyA9PSBDSFZfMTBCSVRfR0FNTUFfTUFYX1ZBTFMgfHwKPj4gKwkJCW51bV9zYW1wbGVzID09 IENIVl84QklUX0dBTU1BX01BWF9WQUxTKSB7Cj4+ICsJCWNnbV9nYW1tYV9yZWcgPSBfUElQRV9H QU1NQV9CQVNFKHBpcGUpOwo+PiArCj4+ICsJCWNvdW50ID0gMDsKPj4gKwkJY29ycmVjdGlvbl92 YWx1ZXMgPSAoc3RydWN0IGRybV9yMzJnMzJiMzIgKikmZ2FtbWFfZGF0YS0+bHV0Owo+PiArCQl3 aGlsZSAoY291bnQgPCBudW1fc2FtcGxlcykgewo+PiArCQkJYmx1ZSA9IGNvcnJlY3Rpb25fdmFs dWVzW2NvdW50XS5iMzI7Cj4+ICsJCQlncmVlbiA9IGNvcnJlY3Rpb25fdmFsdWVzW2NvdW50XS5n MzI7Cj4+ICsJCQlyZWQgPSBjb3JyZWN0aW9uX3ZhbHVlc1tjb3VudF0ucjMyOwo+PiArCj4+ICsJ CQlibHVlX2ludCA9IF9HQU1NQV9JTlRfUEFSVChibHVlKTsKPj4gKwkJCWlmIChibHVlX2ludCA+ IEdBTU1BX0lOVF9NQVgpCj4+ICsJCQkJYmx1ZSA9IENIVl9NQVhfR0FNTUE7Cj4+ICsJCQlncmVl bl9pbnQgPSBfR0FNTUFfSU5UX1BBUlQoZ3JlZW4pOwo+PiArCQkJaWYgKGdyZWVuX2ludCA+IEdB TU1BX0lOVF9NQVgpCj4+ICsJCQkJZ3JlZW4gPSBDSFZfTUFYX0dBTU1BOwo+PiArCQkJcmVkX2lu dCA9IF9HQU1NQV9JTlRfUEFSVChyZWQpOwo+PiArCQkJaWYgKHJlZF9pbnQgPiBHQU1NQV9JTlRf TUFYKQo+PiArCQkJCXJlZCA9IENIVl9NQVhfR0FNTUE7Cj4+ICsKPj4gKwkJCWJsdWVfZnJhY3Qg PSBfR0FNTUFfRlJBQ1RfUEFSVChibHVlKTsKPj4gKwkJCWdyZWVuX2ZyYWN0ID0gX0dBTU1BX0ZS QUNUX1BBUlQoZ3JlZW4pOwo+PiArCQkJcmVkX2ZyYWN0ID0gX0dBTU1BX0ZSQUNUX1BBUlQocmVk KTsKPj4gKwo+PiArCQkJYmx1ZV9mcmFjdCA+Pj0gQ0hWXzEwQklUX0dBTU1BX01TQl9TSElGVDsK Pj4gKwkJCWdyZWVuX2ZyYWN0ID4+PSBDSFZfMTBCSVRfR0FNTUFfTVNCX1NISUZUOwo+PiArCQkJ cmVkX2ZyYWN0ID4+PSBDSFZfMTBCSVRfR0FNTUFfTVNCX1NISUZUOwo+PiArCj4+ICsJCQkvKiBH cmVlbiAoMjU6MTYpIGFuZCBCbHVlICg5OjApIHRvIGJlIHdyaXR0ZW4gKi8KPj4gKwkJCXdvcmQg PSBncmVlbl9mcmFjdDsKPj4gKwkJCXdvcmQgPDw9IENIVl9HQU1NQV9TSElGVF9HUkVFTjsKPj4g KwkJCXdvcmQgPSB3b3JkIHwgYmx1ZV9mcmFjdDsKPj4gKwkJCUk5MTVfV1JJVEUoY2dtX2dhbW1h X3JlZywgd29yZCk7Cj4+ICsJCQljZ21fZ2FtbWFfcmVnICs9IDQ7Cj4+ICsKPj4gKwkJCS8qIFJl ZCAoOTowKSB0byBiZSB3cml0dGVuICovCj4+ICsJCQl3b3JkID0gcmVkX2ZyYWN0Owo+PiArCQkJ STkxNV9XUklURShjZ21fZ2FtbWFfcmVnLCB3b3JkKTsKPj4gKwo+PiArCQkJY2dtX2dhbW1hX3Jl ZyArPSA0Owo+PiArCQkJY291bnQrKzsKPj4gKwo+PiArCQkJLyoKPj4gKwkJCSAqIE9uIENIViwg dGhlIGJlc3Qgc3VwcG9ydGVkIEdhbW1hIGNhcGFiaWxpdHkgaXMKPj4gKwkJCSAqIENHTSBibG9j aywgdGhhdCB0YWtlcyAyNTcgc2FtcGxlcy4KPj4gKwkJCSAqIElmIHVzZXIgZ2l2ZXMgMjU2IHNh bXBsZXMgKGxlZ2FjeSBtb2RlKSwgdGhlbgo+PiArCQkJICogZHVwbGljYXRlIHRoZSAyNTZ0aCB2 YWx1ZSB0byAyNTd0aC4KPj4gKwkJCSAqICJmbGFnIiBpcyB1c2VkIHRvIG1ha2Ugc3VyZSBpdCBo YXBwZW5zIG9ubHkgb25jZQo+PiArCQkJICovCj4+ICsJCQlpZiAobnVtX3NhbXBsZXMgPT0gQ0hW XzhCSVRfR0FNTUFfTUFYX1ZBTFMKPj4gKwkJCQkJJiYgY291bnQgPT0gQ0hWXzhCSVRfR0FNTUFf TUFYX1ZBTFMKPj4gKwkJCQkJJiYgIWZsYWcpIHsKPj4gKwkJCQljb3VudC0tOwo+PiArCQkJCWZs YWcgPSAxOwo+PiArCQkJfQo+PiArCQl9Cj4+ICsKPj4gKwkJRFJNX0RFQlVHX0RSSVZFUigiR2Ft bWEgTFVUIGxvYWRlZCBzdWNjZXNzZnVsbHkgZm9yIFBpcGUgJWNcbiIsCj4+ICsJCQlwaXBlX25h bWUocGlwZSkpOwo+PiArCj4+ICsJCS8qIEVuYWJsZSAoQ0dNKSBHYW1tYSBvbiBQaXBlICovCj4+ ICsJCUk5MTVfV1JJVEUoX1BJUEVfQ0dNX0NPTlRST0wocGlwZSksCj4+ICsJCQlJOTE1X1JFQUQo X1BJUEVfQ0dNX0NPTlRST0wocGlwZSkpCj4+ICsJCQl8IENHTV9HQU1NQV9FTik7Cj4+ICsJCURS TV9ERUJVR19EUklWRVIoIkNHTSBHYW1tYSBlbmFibGVkIG9uIFBpcGUgJWNcbiIsCj4+ICsJCQkJ cGlwZV9uYW1lKHBpcGUpKTsKPj4gKwo+PiArCQlyZXQgPSAwOwo+PiArCX0gZWxzZSB7Cj4+ICsJ CURSTV9FUlJPUigiSW52YWxpZCBudW1iZXIgb2Ygc2FtcGxlcyBmb3IgR2FtbWEgTFVUXG4iKTsK Pj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4+ICsJfQo+PiArCj4+ICsJcmV0ID0gZHJtX3Byb3BlcnR5 X3JlcGxhY2VfZ2xvYmFsX2Jsb2IoZGV2LCAmYmxvYiwgbGVuZ3RoLAo+PiArCQkJKHZvaWQgKikg Z2FtbWFfZGF0YSwgJmNydGMtPmJhc2UsCj4+ICsJCQljb25maWctPnByb3BfcGFsZXR0ZV9hZnRl cl9jdG0pOwo+IElzIHRoaXMgc3VwcG9zZWQgdG8gYmUgaGVyZT8gIFRoaXMgZnVuY3Rpb24gc2Vl bXMgdG8gYmUgZm9yIGp1c3QKPiBwcm9ncmFtbWluZyB0aGUgaGFyZHdhcmUgd2l0aCB0aGUgY29u dGVudHMgb2YgdGhlIGN1cnJlbnQgYmxvYi4gIEknbSBub3QKPiBzdXJlIEkgdW5kZXJzdGFuZCB3 aHkgd2UgdHJ5IHRvIGFsdGVyIHRoZSBibG9iIGl0c2VsZiBhdCB0aGUgZW5kIG9mCj4gdGhhdC4g IEkgc2VlIHRoZSBzYW1lIGluIHlvdXIgZGVnYW1tYSBwYXRjaC4KCldlIHdlcmUgdHJ5aW5nIHRv IGZyZWUgdGhlIGV4aXN0aW5nIGJsb2IgYXNzdW1pbmcgaXQgY2FuIGNhdXNlIG1lbW9yeSAKbGVh aywgYnV0IGFmdGVyIHlvdXIgY29tbWVudCwgaXQgbWFrZXMgc2Vuc2UgdG8ga2VlcCB0aGUgYmxv YiBhcyBpdCBpcyAKY3JlYXRlZCBieSB0aGUgdXNlciBzcGFjZSBhbmQgaXQgbWlnaHQgd2FudCB0 byBjb250YWluIGl0LiBXZSB3aWxsIG1ha2UgCnRoaXMgY2hhbmdlLgo+Cj4+ICsKPj4gKwlpZiAo cmV0KSB7Cj4+ICsJCURSTV9FUlJPUigiRXJyb3IgdXBkYXRpbmcgR2FtbWEgYmxvYlxuIik7Cj4+ ICsJCXJldHVybiAtRUZBVUxUOwo+PiArCX0KPj4gKwo+PiArCXJldHVybiByZXQ7Cj4+ICt9Cj4+ ICsKPj4gK3ZvaWQgaW50ZWxfY29sb3JfbWFuYWdlcl9jcnRjX2NvbW1pdChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAo+PiArCQlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4+ICt7 Cj4+ICsJc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpibG9iOwo+PiArCXN0cnVjdCBkcm1fY3J0 YyAqY3J0YyA9IGNydGNfc3RhdGUtPmNydGM7Cj4+ICsJaW50IHJldCA9IDA7Cj4+ICsKPj4gKwlp ZiAoSVNfQ0hFUlJZVklFVyhkZXYpKSB7Cj4+ICsJCWJsb2IgPSBjcnRjX3N0YXRlLT5wYWxldHRl X2FmdGVyX2N0bV9ibG9iOwo+PiArCQlpZiAoYmxvYikgewo+PiArCQkJcmV0ID0gY2h2X3NldF9n YW1tYShkZXYsIGJsb2IsIGNydGMpOwo+PiArCQkJaWYgKCFyZXQpCj4+ICsJCQkJRFJNX0RFQlVH X0RSSVZFUigKPj4gKwkJCQkJIkdhbW1hIHJlZ2lzdGVycyBDb21taXQgc3VjY2VzcyFcbiIpOwo+ PiArCQl9Cj4+ICsKPj4gKwl9Cj4+ICt9Cj4+ICsKPj4gICBpbnQgaW50ZWxfY29sb3JfbWFuYWdl cl9zZXRfcGlwZV9nYW1tYShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+PiAgIAkJc3RydWN0IGRy bV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+PiAgIAkJc3RydWN0IGRybV9tb2RlX29iamVjdCAq b2JqLCB1aW50MzJfdCBibG9iX2lkKQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfY29sb3JfbWFuYWdlci5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29s b3JfbWFuYWdlci5oCj4+IGluZGV4IDUxYWViOTEuLjhiYmFjMjAgMTAwNjQ0Cj4+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yX21hbmFnZXIuaAo+PiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvcl9tYW5hZ2VyLmgKPj4gQEAgLTI4LDYgKzI4LDI2IEBA Cj4+ICAgI2luY2x1ZGUgPGRybS9kcm1fY3J0Y19oZWxwZXIuaD4KPj4gICAjaW5jbHVkZSAiaTkx NV9kcnYuaCIKPj4gICAKPj4gKyNkZWZpbmUgX0dBTU1BX0lOVF9QQVJUKHZhbHVlKQkJCSh2YWx1 ZSA+PiBHQU1NQV9JTlRfU0hJRlQpCj4+ICsjZGVmaW5lIF9HQU1NQV9GUkFDVF9QQVJUKHZhbHVl KQkJKHZhbHVlID4+IEdBTU1BX0ZSQUNUX1NISUZUKQo+PiArCj4+ICAgI2RlZmluZSBDSFZfUEFM RVRURV9TVFJVQ1RfVkVSU0lPTgkJMQo+PiAgICNkZWZpbmUgQ0hWX0RFR0FNTUFfTUFYX1ZBTFMJ CQk2NQo+PiAgICNkZWZpbmUgQ0hWXzEwQklUX0dBTU1BX01BWF9WQUxTCQkyNTcKPj4gKwo+PiAr LyogR2FtbWEgY29ycmVjdGlvbiAqLwo+PiArI2RlZmluZSBDSFZfR0FNTUFfREFUQV9TVFJVQ1Rf VkVSU0lPTgkJMQo+PiArI2RlZmluZSBDSFZfMTBCSVRfR0FNTUFfTUFYX1ZBTFMJCTI1Nwo+PiAr I2RlZmluZSBDSFZfOEJJVF9HQU1NQV9NQVhfVkFMUwkJCTI1Ngo+PiArI2RlZmluZSBDSFZfMTBC SVRfR0FNTUFfTVNCX1NISUZUCQk2Cj4+ICsjZGVmaW5lIENIVl9HQU1NQV9TSElGVF9HUkVFTgkJ CTE2Cj4+ICsvKiBHYW1tYSB2YWx1ZXMgYXJlIHU4LjI0IGZvcm1hdCAqLwo+PiArI2RlZmluZSBH QU1NQV9JTlRfU0hJRlQJCQkJMjQKPj4gKyNkZWZpbmUgR0FNTUFfRlJBQ1RfU0hJRlQJCQk4Cj4+ ICsvKiBNYXggaW50IHZhbHVlIGZvciBHYW1tYSBpcyAxICovCj4+ICsjZGVmaW5lIEdBTU1BX0lO VF9NQVgJCQkJMQo+PiArLyogTWF4IHZhbHVlIGZvciBHYW1tYSBvbiBDSFYgKi8KPj4gKyNkZWZp bmUgQ0hWX01BWF9HQU1NQQkJCQkweDEwMDAwCj4+ICsKPj4gKy8qIENIViBDR00gQmxvY2sgKi8K Pj4gKyNkZWZpbmUgQ0dNX0dBTU1BX0VOCQkJCSgxIDw8IDIpCj4+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMKPj4gaW5kZXggMTFkNDkxZS4uOWU5OTRmYyAxMDA2NDQKPj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+PiBAQCAtMTM3NzMsNiArMTM3NzMsOSBAQCBzdGF0 aWMgdm9pZCBpbnRlbF9iZWdpbl9jcnRjX2NvbW1pdChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4+ ICAgCj4+ICAgCWlmICghbmVlZHNfbW9kZXNldChjcnRjLT5zdGF0ZSkgJiYgSU5URUxfSU5GTyhk ZXYpLT5nZW4gPj0gOSkKPj4gICAJCXNrbF9kZXRhY2hfc2NhbGVycyhpbnRlbF9jcnRjKTsKPj4g Kwo+PiArCWlmICghbmVlZHNfbW9kZXNldChjcnRjLT5zdGF0ZSkpCj4+ICsJCWludGVsX2NvbG9y X21hbmFnZXJfY3J0Y19jb21taXQoZGV2LCBjcnRjLT5zdGF0ZSk7Cj4gSXQncyBub3QgaW1tZWRp YXRlbHkgY2xlYXIgdG8gbWUgd2h5IHRoaXMgaXMgb25seSBmb3IgdGhlCj4gJyFuZWVkc19tb2Rl c2V0JyBjYXNlLiAgRG9lcyBjb2xvciBtYW5hZ2VtZW50IGdldCBzZXR1cCBzb21ld2hlcmUgZWxz ZQo+IGluIGNhc2VzIHdoZXJlIGEgZGlzcGxheSB1cGRhdGUgZG9lcyBpbnZvbHZlIGEgbW9kZXNl dD8KVGhpcyBpcyBqdXN0IGFuIGV4dHJhIHByZWNhdXRpb24uIERvIHlvdSB0aGluayB0aGF0IHdl IHNob3VsZCByZW1vdmUgaXQ/CgpLYXVzYWwKPgo+Cj4gTWF0dAo+Cj4+ICAgfQo+PiAgIAo+PiAg IHN0YXRpYyB2b2lkIGludGVsX2ZpbmlzaF9jcnRjX2NvbW1pdChzdHJ1Y3QgZHJtX2NydGMgKmNy dGMpCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4+IGluZGV4IDQ1YzQyZjAuLmQ4ZDgzMjYg MTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4+IEBAIC0xNDU2LDUgKzE0NTYsNyBA QCB2b2lkIGludGVsX2F0dGFjaF9jb2xvcl9wcm9wZXJ0aWVzX3RvX2NydGMoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKPj4gICBpbnQgaW50ZWxfY29sb3JfbWFuYWdlcl9zZXRfcGlwZV9nYW1tYShz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+PiAgIAkJc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRj X3N0YXRlLAo+PiAgIAkJc3RydWN0IGRybV9tb2RlX29iamVjdCAqb2JqLCB1aW50MzJfdCBibG9i X2lkKTsKPj4gK3ZvaWQgaW50ZWxfY29sb3JfbWFuYWdlcl9jcnRjX2NvbW1pdChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LAo+PiArCQlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpOwo+ PiAgIAo+PiAgICNlbmRpZiAvKiBfX0lOVEVMX0RSVl9IX18gKi8KPj4gLS0gCj4+IDIuNC41Cj4+ CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=