From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: Re: [PATCH 11/16] drm/i915: Add pipe level Gamma correction for CHV/BSW Date: Mon, 20 Jul 2015 17:03:32 -0700 Message-ID: <20150721000332.GK18641@intel.com> References: <1436965780-6061-1-git-send-email-Kausal.Malladi@intel.com> <1436965780-6061-12-git-send-email-Kausal.Malladi@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1436965780-6061-12-git-send-email-Kausal.Malladi@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Kausal Malladi 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 T24gV2VkLCBKdWwgMTUsIDIwMTUgYXQgMDY6Mzk6MzVQTSArMDUzMCwgS2F1c2FsIE1hbGxhZGkg d3JvdGU6Cj4gQ0hWL0JTVyBwbGF0Zm9ybSBzdXBwb3J0cyB2YXJpb3VzIEdhbW1hIGNvcnJlY3Rp b24gbW9kZXMsIHdoaWNoIGFyZToKPiAxLiBMZWdhY3kgOC1iaXQgbW9kZQo+IDIuIDEwLWJpdCBD R00gKENvbG9yIEdhbXV0IE1hcHBpbmcpIG1vZGUKPiAKPiBUaGlzIHBhdGNoIGRvZXMgdGhlIGZv bGxvd2luZzoKPiAxLiBBZGRzIHRoZSBjb3JlIGZ1bmN0aW9uIHRvIHByb2dyYW0gR2FtbWEgY29y cmVjdGlvbiB2YWx1ZXMgZm9yIENIVi9CU1cKPiAgICBwbGF0Zm9ybQo+IDIuIEFkZHMgR2FtbWEg Y29ycmVjdGlvbiBtYWNyb3MvZGVmaW5lcwo+IAo+IFNpZ25lZC1vZmYtYnk6IFNoYXNoYW5rIFNo YXJtYSA8c2hhc2hhbmsuc2hhcm1hQGludGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBLYXVzYWwg TWFsbGFkaSA8S2F1c2FsLk1hbGxhZGlAaW50ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3JlZy5oICAgICAgICAgICAgfCAgMTIgKysrCj4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2NvbG9yX21hbmFnZXIuYyB8IDE0OSArKysrKysrKysrKysrKysrKysrKysr KysrKysrKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvcl9tYW5hZ2VyLmggfCAg MjAgKysrKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgICAgICAgfCAg IDMgKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgICAgICAgfCAgIDIg Kwo+ICA1IGZpbGVzIGNoYW5nZWQsIDE4NiBpbnNlcnRpb25zKCspCj4gCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3JlZy5oCj4gaW5kZXggMDU5ZGUwZi4uNGVjMmU0ZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9yZWcuaAo+IEBAIC03OTA2LDQgKzc5MDYsMTYgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxs cyB7Cj4gICNkZWZpbmUgX1BBTEVUVEVfQSAoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29m ZnNldCArIDB4YTAwMCkKPiAgI2RlZmluZSBfUEFMRVRURV9CIChkZXZfcHJpdi0+aW5mby5kaXNw bGF5X21taW9fb2Zmc2V0ICsgMHhhODAwKQo+ICAKPiArLyogQ29sb3IgTWFuYWdlbWVudCAqLwo+ ICsjZGVmaW5lIFBJUEVBX0NHTV9DT05UUk9MCQkJKFZMVl9ESVNQTEFZX0JBU0UgKyAweDY3QTAw KQo+ICsjZGVmaW5lIFBJUEVCX0NHTV9DT05UUk9MCQkJKFZMVl9ESVNQTEFZX0JBU0UgKyAweDY5 QTAwKQo+ICsjZGVmaW5lIFBJUEVDX0NHTV9DT05UUk9MCQkJKFZMVl9ESVNQTEFZX0JBU0UgKyAw eDZCQTAwKQo+ICsjZGVmaW5lIFBJUEVBX0NHTV9HQU1NQQkJCQkoVkxWX0RJU1BMQVlfQkFTRSAr IDB4NjcwMDApCj4gKyNkZWZpbmUgUElQRUJfQ0dNX0dBTU1BCQkJCShWTFZfRElTUExBWV9CQVNF ICsgMHg2OTAwMCkKPiArI2RlZmluZSBQSVBFQ19DR01fR0FNTUEJCQkJKFZMVl9ESVNQTEFZX0JB U0UgKyAweDZCMDAwKQo+ICsjZGVmaW5lIF9QSVBFX0NHTV9DT05UUk9MKHBpcGUpIFwKPiArCShf UElQRTMocGlwZSwgUElQRUFfQ0dNX0NPTlRST0wsIFBJUEVCX0NHTV9DT05UUk9MLCBQSVBFQ19D R01fQ09OVFJPTCkpCj4gKyNkZWZpbmUgX1BJUEVfR0FNTUFfQkFTRShwaXBlKSBcCj4gKwkoX1BJ UEUzKHBpcGUsIFBJUEVBX0NHTV9HQU1NQSwgUElQRUJfQ0dNX0dBTU1BLCBQSVBFQ19DR01fR0FN TUEpKQo+ICsKPiAgI2VuZGlmIC8qIF9JOTE1X1JFR19IXyAqLwo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvcl9tYW5hZ2VyLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9jb2xvcl9tYW5hZ2VyLmMKPiBpbmRleCA3MGMwZDQyLi43ZTllOTM0IDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yX21hbmFnZXIuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yX21hbmFnZXIuYwo+IEBAIC0yNyw2 ICsyNywxNTUgQEAKPiAgCj4gICNpbmNsdWRlICJpbnRlbF9jb2xvcl9tYW5hZ2VyLmgiCj4gIAo+ ICtpbnQgY2h2X3NldF9nYW1tYShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX3By b3BlcnR5X2Jsb2IgKmJsb2IsCj4gKwkJICBzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gK3sKPiAr CXN0cnVjdCBkcm1fcGFsZXR0ZSAqZ2FtbWFfZGF0YTsKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gKwlzdHJ1Y3QgZHJtX21vZGVfY29u ZmlnICpjb25maWcgPSAmZGV2LT5tb2RlX2NvbmZpZzsKPiArCXUzMiBjZ21fY29udHJvbF9yZWcg PSAwOwo+ICsJdTMyIGNnbV9nYW1tYV9yZWcgPSAwOwo+ICsJZW51bSBwaXBlIHBpcGU7Cj4gKwl1 MzIgcmVkLCBncmVlbiwgYmx1ZTsKPiArCXU4IHJlZF9pbnQsIGJsdWVfaW50LCBncmVlbl9pbnQ7 Cj4gKwl1MTYgcmVkX2ZyYWN0LCBncmVlbl9mcmFjdCwgYmx1ZV9mcmFjdDsKPiArCXUzMiBjb3Vu dCA9IDA7Cj4gKwlzdHJ1Y3QgZHJtX3IzMmczMmIzMiAqY29ycmVjdGlvbl92YWx1ZXMgPSBOVUxM Owo+ICsJdTMyIG51bV9zYW1wbGVzOwo+ICsJdTMyIHdvcmQ7Cj4gKwlpbnQgcmV0ID0gMCwgbGVu Z3RoLCBmbGFnID0gMDsKPiArCj4gKwlpZiAoIWJsb2IpIHsKPiArCQlEUk1fRVJST1IoIk5VTEwg QmxvYlxuIik7Cj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gKwl9Cj4gKwo+ICsJZ2FtbWFfZGF0YSA9 IChzdHJ1Y3QgZHJtX3BhbGV0dGUgKilibG9iLT5kYXRhOwo+ICsKPiArCWlmIChnYW1tYV9kYXRh LT52ZXJzaW9uICE9IENIVl9HQU1NQV9EQVRBX1NUUlVDVF9WRVJTSU9OKSB7Cj4gKwkJRFJNX0VS Uk9SKCJJbnZhbGlkIEdhbW1hIERhdGEgc3RydWN0IHZlcnNpb25cbiIpOwo+ICsJCXJldHVybiAt RUlOVkFMOwo+ICsJfQo+ICsKPiArCXBpcGUgPSB0b19pbnRlbF9jcnRjKGNydGMpLT5waXBlOwo+ ICsJbnVtX3NhbXBsZXMgPSBnYW1tYV9kYXRhLT5udW1fc2FtcGxlczsKPiArCWxlbmd0aCA9IG51 bV9zYW1wbGVzICogc2l6ZW9mKHN0cnVjdCBkcm1fcjMyZzMyYjMyKTsKPiArCj4gKwlpZiAobnVt X3NhbXBsZXMgPT0gMCkgewo+ICsKPiArCQkvKiBEaXNhYmxlIEdhbW1hIGZ1bmN0aW9uYWxpdHkg b24gUGlwZSAtIENHTSBCbG9jayAqLwo+ICsJCWNnbV9jb250cm9sX3JlZyA9IEk5MTVfUkVBRChf UElQRV9DR01fQ09OVFJPTChwaXBlKSk7Cj4gKwkJY2dtX2NvbnRyb2xfcmVnICY9IH5DR01fR0FN TUFfRU47Cj4gKwkJSTkxNV9XUklURShfUElQRV9DR01fQ09OVFJPTChwaXBlKSwgY2dtX2NvbnRy b2xfcmVnKTsKPiArCj4gKwkJRFJNX0RFQlVHX0RSSVZFUigiR2FtbWEgZGlzYWJsZWQgb24gUGlw ZSAlY1xuIiwKPiArCQkJCXBpcGVfbmFtZShwaXBlKSk7Cj4gKwkJcmV0ID0gMDsKPiArCX0gZWxz ZSBpZiAobnVtX3NhbXBsZXMgPT0gQ0hWXzEwQklUX0dBTU1BX01BWF9WQUxTIHx8Cj4gKwkJCW51 bV9zYW1wbGVzID09IENIVl84QklUX0dBTU1BX01BWF9WQUxTKSB7Cj4gKwkJY2dtX2dhbW1hX3Jl ZyA9IF9QSVBFX0dBTU1BX0JBU0UocGlwZSk7Cj4gKwo+ICsJCWNvdW50ID0gMDsKPiArCQljb3Jy ZWN0aW9uX3ZhbHVlcyA9IChzdHJ1Y3QgZHJtX3IzMmczMmIzMiAqKSZnYW1tYV9kYXRhLT5sdXQ7 Cj4gKwkJd2hpbGUgKGNvdW50IDwgbnVtX3NhbXBsZXMpIHsKPiArCQkJYmx1ZSA9IGNvcnJlY3Rp b25fdmFsdWVzW2NvdW50XS5iMzI7Cj4gKwkJCWdyZWVuID0gY29ycmVjdGlvbl92YWx1ZXNbY291 bnRdLmczMjsKPiArCQkJcmVkID0gY29ycmVjdGlvbl92YWx1ZXNbY291bnRdLnIzMjsKPiArCj4g KwkJCWJsdWVfaW50ID0gX0dBTU1BX0lOVF9QQVJUKGJsdWUpOwo+ICsJCQlpZiAoYmx1ZV9pbnQg PiBHQU1NQV9JTlRfTUFYKQo+ICsJCQkJYmx1ZSA9IENIVl9NQVhfR0FNTUE7Cj4gKwkJCWdyZWVu X2ludCA9IF9HQU1NQV9JTlRfUEFSVChncmVlbik7Cj4gKwkJCWlmIChncmVlbl9pbnQgPiBHQU1N QV9JTlRfTUFYKQo+ICsJCQkJZ3JlZW4gPSBDSFZfTUFYX0dBTU1BOwo+ICsJCQlyZWRfaW50ID0g X0dBTU1BX0lOVF9QQVJUKHJlZCk7Cj4gKwkJCWlmIChyZWRfaW50ID4gR0FNTUFfSU5UX01BWCkK PiArCQkJCXJlZCA9IENIVl9NQVhfR0FNTUE7Cj4gKwo+ICsJCQlibHVlX2ZyYWN0ID0gX0dBTU1B X0ZSQUNUX1BBUlQoYmx1ZSk7Cj4gKwkJCWdyZWVuX2ZyYWN0ID0gX0dBTU1BX0ZSQUNUX1BBUlQo Z3JlZW4pOwo+ICsJCQlyZWRfZnJhY3QgPSBfR0FNTUFfRlJBQ1RfUEFSVChyZWQpOwo+ICsKPiAr CQkJYmx1ZV9mcmFjdCA+Pj0gQ0hWXzEwQklUX0dBTU1BX01TQl9TSElGVDsKPiArCQkJZ3JlZW5f ZnJhY3QgPj49IENIVl8xMEJJVF9HQU1NQV9NU0JfU0hJRlQ7Cj4gKwkJCXJlZF9mcmFjdCA+Pj0g Q0hWXzEwQklUX0dBTU1BX01TQl9TSElGVDsKPiArCj4gKwkJCS8qIEdyZWVuICgyNToxNikgYW5k IEJsdWUgKDk6MCkgdG8gYmUgd3JpdHRlbiAqLwo+ICsJCQl3b3JkID0gZ3JlZW5fZnJhY3Q7Cj4g KwkJCXdvcmQgPDw9IENIVl9HQU1NQV9TSElGVF9HUkVFTjsKPiArCQkJd29yZCA9IHdvcmQgfCBi bHVlX2ZyYWN0Owo+ICsJCQlJOTE1X1dSSVRFKGNnbV9nYW1tYV9yZWcsIHdvcmQpOwo+ICsJCQlj Z21fZ2FtbWFfcmVnICs9IDQ7Cj4gKwo+ICsJCQkvKiBSZWQgKDk6MCkgdG8gYmUgd3JpdHRlbiAq Lwo+ICsJCQl3b3JkID0gcmVkX2ZyYWN0Owo+ICsJCQlJOTE1X1dSSVRFKGNnbV9nYW1tYV9yZWcs IHdvcmQpOwo+ICsKPiArCQkJY2dtX2dhbW1hX3JlZyArPSA0Owo+ICsJCQljb3VudCsrOwo+ICsK PiArCQkJLyoKPiArCQkJICogT24gQ0hWLCB0aGUgYmVzdCBzdXBwb3J0ZWQgR2FtbWEgY2FwYWJp bGl0eSBpcwo+ICsJCQkgKiBDR00gYmxvY2ssIHRoYXQgdGFrZXMgMjU3IHNhbXBsZXMuCj4gKwkJ CSAqIElmIHVzZXIgZ2l2ZXMgMjU2IHNhbXBsZXMgKGxlZ2FjeSBtb2RlKSwgdGhlbgo+ICsJCQkg KiBkdXBsaWNhdGUgdGhlIDI1NnRoIHZhbHVlIHRvIDI1N3RoLgo+ICsJCQkgKiAiZmxhZyIgaXMg dXNlZCB0byBtYWtlIHN1cmUgaXQgaGFwcGVucyBvbmx5IG9uY2UKPiArCQkJICovCj4gKwkJCWlm IChudW1fc2FtcGxlcyA9PSBDSFZfOEJJVF9HQU1NQV9NQVhfVkFMUwo+ICsJCQkJCSYmIGNvdW50 ID09IENIVl84QklUX0dBTU1BX01BWF9WQUxTCj4gKwkJCQkJJiYgIWZsYWcpIHsKPiArCQkJCWNv dW50LS07Cj4gKwkJCQlmbGFnID0gMTsKPiArCQkJfQo+ICsJCX0KPiArCj4gKwkJRFJNX0RFQlVH X0RSSVZFUigiR2FtbWEgTFVUIGxvYWRlZCBzdWNjZXNzZnVsbHkgZm9yIFBpcGUgJWNcbiIsCj4g KwkJCXBpcGVfbmFtZShwaXBlKSk7Cj4gKwo+ICsJCS8qIEVuYWJsZSAoQ0dNKSBHYW1tYSBvbiBQ aXBlICovCj4gKwkJSTkxNV9XUklURShfUElQRV9DR01fQ09OVFJPTChwaXBlKSwKPiArCQkJSTkx NV9SRUFEKF9QSVBFX0NHTV9DT05UUk9MKHBpcGUpKQo+ICsJCQl8IENHTV9HQU1NQV9FTik7Cj4g KwkJRFJNX0RFQlVHX0RSSVZFUigiQ0dNIEdhbW1hIGVuYWJsZWQgb24gUGlwZSAlY1xuIiwKPiAr CQkJCXBpcGVfbmFtZShwaXBlKSk7Cj4gKwo+ICsJCXJldCA9IDA7Cj4gKwl9IGVsc2Ugewo+ICsJ CURSTV9FUlJPUigiSW52YWxpZCBudW1iZXIgb2Ygc2FtcGxlcyBmb3IgR2FtbWEgTFVUXG4iKTsK PiArCQlyZXR1cm4gLUVJTlZBTDsKPiArCX0KPiArCj4gKwlyZXQgPSBkcm1fcHJvcGVydHlfcmVw bGFjZV9nbG9iYWxfYmxvYihkZXYsICZibG9iLCBsZW5ndGgsCj4gKwkJCSh2b2lkICopIGdhbW1h X2RhdGEsICZjcnRjLT5iYXNlLAo+ICsJCQljb25maWctPnByb3BfcGFsZXR0ZV9hZnRlcl9jdG0p OwoKSXMgdGhpcyBzdXBwb3NlZCB0byBiZSBoZXJlPyAgVGhpcyBmdW5jdGlvbiBzZWVtcyB0byBi ZSBmb3IganVzdApwcm9ncmFtbWluZyB0aGUgaGFyZHdhcmUgd2l0aCB0aGUgY29udGVudHMgb2Yg dGhlIGN1cnJlbnQgYmxvYi4gIEknbSBub3QKc3VyZSBJIHVuZGVyc3RhbmQgd2h5IHdlIHRyeSB0 byBhbHRlciB0aGUgYmxvYiBpdHNlbGYgYXQgdGhlIGVuZCBvZgp0aGF0LiAgSSBzZWUgdGhlIHNh bWUgaW4geW91ciBkZWdhbW1hIHBhdGNoLgoKPiArCj4gKwlpZiAocmV0KSB7Cj4gKwkJRFJNX0VS Uk9SKCJFcnJvciB1cGRhdGluZyBHYW1tYSBibG9iXG4iKTsKPiArCQlyZXR1cm4gLUVGQVVMVDsK PiArCX0KPiArCj4gKwlyZXR1cm4gcmV0Owo+ICt9Cj4gKwo+ICt2b2lkIGludGVsX2NvbG9yX21h bmFnZXJfY3J0Y19jb21taXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiArCQlzdHJ1Y3QgZHJt X2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gK3sKPiArCXN0cnVjdCBkcm1fcHJvcGVydHlfYmxv YiAqYmxvYjsKPiArCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IGNydGNfc3RhdGUtPmNydGM7Cj4g KwlpbnQgcmV0ID0gMDsKPiArCj4gKwlpZiAoSVNfQ0hFUlJZVklFVyhkZXYpKSB7Cj4gKwkJYmxv YiA9IGNydGNfc3RhdGUtPnBhbGV0dGVfYWZ0ZXJfY3RtX2Jsb2I7Cj4gKwkJaWYgKGJsb2IpIHsK PiArCQkJcmV0ID0gY2h2X3NldF9nYW1tYShkZXYsIGJsb2IsIGNydGMpOwo+ICsJCQlpZiAoIXJl dCkKPiArCQkJCURSTV9ERUJVR19EUklWRVIoCj4gKwkJCQkJIkdhbW1hIHJlZ2lzdGVycyBDb21t aXQgc3VjY2VzcyFcbiIpOwo+ICsJCX0KPiArCj4gKwl9Cj4gK30KPiArCj4gIGludCBpbnRlbF9j b2xvcl9tYW5hZ2VyX3NldF9waXBlX2dhbW1hKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAkJ c3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ICAJCXN0cnVjdCBkcm1fbW9kZV9v YmplY3QgKm9iaiwgdWludDMyX3QgYmxvYl9pZCkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfY29sb3JfbWFuYWdlci5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfY29sb3JfbWFuYWdlci5oCj4gaW5kZXggNTFhZWI5MS4uOGJiYWMyMCAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvcl9tYW5hZ2VyLmgKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvcl9tYW5hZ2VyLmgKPiBAQCAtMjgsNiArMjgsMjYg QEAKPiAgI2luY2x1ZGUgPGRybS9kcm1fY3J0Y19oZWxwZXIuaD4KPiAgI2luY2x1ZGUgImk5MTVf ZHJ2LmgiCj4gIAo+ICsjZGVmaW5lIF9HQU1NQV9JTlRfUEFSVCh2YWx1ZSkJCQkodmFsdWUgPj4g R0FNTUFfSU5UX1NISUZUKQo+ICsjZGVmaW5lIF9HQU1NQV9GUkFDVF9QQVJUKHZhbHVlKQkJKHZh bHVlID4+IEdBTU1BX0ZSQUNUX1NISUZUKQo+ICsKPiAgI2RlZmluZSBDSFZfUEFMRVRURV9TVFJV Q1RfVkVSU0lPTgkJMQo+ICAjZGVmaW5lIENIVl9ERUdBTU1BX01BWF9WQUxTCQkJNjUKPiAgI2Rl ZmluZSBDSFZfMTBCSVRfR0FNTUFfTUFYX1ZBTFMJCTI1Nwo+ICsKPiArLyogR2FtbWEgY29ycmVj dGlvbiAqLwo+ICsjZGVmaW5lIENIVl9HQU1NQV9EQVRBX1NUUlVDVF9WRVJTSU9OCQkxCj4gKyNk ZWZpbmUgQ0hWXzEwQklUX0dBTU1BX01BWF9WQUxTCQkyNTcKPiArI2RlZmluZSBDSFZfOEJJVF9H QU1NQV9NQVhfVkFMUwkJCTI1Ngo+ICsjZGVmaW5lIENIVl8xMEJJVF9HQU1NQV9NU0JfU0hJRlQJ CTYKPiArI2RlZmluZSBDSFZfR0FNTUFfU0hJRlRfR1JFRU4JCQkxNgo+ICsvKiBHYW1tYSB2YWx1 ZXMgYXJlIHU4LjI0IGZvcm1hdCAqLwo+ICsjZGVmaW5lIEdBTU1BX0lOVF9TSElGVAkJCQkyNAo+ ICsjZGVmaW5lIEdBTU1BX0ZSQUNUX1NISUZUCQkJOAo+ICsvKiBNYXggaW50IHZhbHVlIGZvciBH YW1tYSBpcyAxICovCj4gKyNkZWZpbmUgR0FNTUFfSU5UX01BWAkJCQkxCj4gKy8qIE1heCB2YWx1 ZSBmb3IgR2FtbWEgb24gQ0hWICovCj4gKyNkZWZpbmUgQ0hWX01BWF9HQU1NQQkJCQkweDEwMDAw Cj4gKwo+ICsvKiBDSFYgQ0dNIEJsb2NrICovCj4gKyNkZWZpbmUgQ0dNX0dBTU1BX0VOCQkJCSgx IDw8IDIpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXku YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IGluZGV4IDExZDQ5MWUu LjllOTk0ZmMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gQEAgLTEz NzczLDYgKzEzNzczLDkgQEAgc3RhdGljIHZvaWQgaW50ZWxfYmVnaW5fY3J0Y19jb21taXQoc3Ry dWN0IGRybV9jcnRjICpjcnRjKQo+ICAKPiAgCWlmICghbmVlZHNfbW9kZXNldChjcnRjLT5zdGF0 ZSkgJiYgSU5URUxfSU5GTyhkZXYpLT5nZW4gPj0gOSkKPiAgCQlza2xfZGV0YWNoX3NjYWxlcnMo aW50ZWxfY3J0Yyk7Cj4gKwo+ICsJaWYgKCFuZWVkc19tb2Rlc2V0KGNydGMtPnN0YXRlKSkKPiAr CQlpbnRlbF9jb2xvcl9tYW5hZ2VyX2NydGNfY29tbWl0KGRldiwgY3J0Yy0+c3RhdGUpOwoKSXQn cyBub3QgaW1tZWRpYXRlbHkgY2xlYXIgdG8gbWUgd2h5IHRoaXMgaXMgb25seSBmb3IgdGhlCich bmVlZHNfbW9kZXNldCcgY2FzZS4gIERvZXMgY29sb3IgbWFuYWdlbWVudCBnZXQgc2V0dXAgc29t ZXdoZXJlIGVsc2UKaW4gY2FzZXMgd2hlcmUgYSBkaXNwbGF5IHVwZGF0ZSBkb2VzIGludm9sdmUg YSBtb2Rlc2V0PwoKCk1hdHQKCj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lkIGludGVsX2ZpbmlzaF9j cnRjX2NvbW1pdChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmgKPiBpbmRleCA0NWM0MmYwLi5kOGQ4MzI2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmgKPiBAQCAtMTQ1Niw1ICsxNDU2LDcgQEAgdm9pZCBpbnRlbF9hdHRhY2hfY29sb3JfcHJvcGVy dGllc190b19jcnRjKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIGludCBpbnRlbF9jb2xvcl9t YW5hZ2VyX3NldF9waXBlX2dhbW1hKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAkJc3RydWN0 IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ICAJCXN0cnVjdCBkcm1fbW9kZV9vYmplY3Qg Km9iaiwgdWludDMyX3QgYmxvYl9pZCk7Cj4gK3ZvaWQgaW50ZWxfY29sb3JfbWFuYWdlcl9jcnRj X2NvbW1pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICsJCXN0cnVjdCBkcm1fY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSk7Cj4gIAo+ICAjZW5kaWYgLyogX19JTlRFTF9EUlZfSF9fICovCj4gLS0g Cj4gMi40LjUKPiAKCi0tIApNYXR0IFJvcGVyCkdyYXBoaWNzIFNvZnR3YXJlIEVuZ2luZWVyCklv VEcgUGxhdGZvcm0gRW5hYmxpbmcgJiBEZXZlbG9wbWVudApJbnRlbCBDb3Jwb3JhdGlvbgooOTE2 KSAzNTYtMjc5NQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=