From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Sharma, Shashank" Subject: Re: [PATCH 05/18] drm/i915: Initialize color manager and add gamma correction Date: Sat, 22 Aug 2015 11:38:36 +0530 Message-ID: <55D811E4.6060003@intel.com> References: <1438879107-22819-1-git-send-email-shashank.sharma@intel.com> <1438879107-22819-6-git-send-email-shashank.sharma@intel.com> <20150821224018.GG13406@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20150821224018.GG13406@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Matt Roper Cc: annie.j.matheson@intel.com, robert.bradford@intel.com, kausalmalladi@gmail.com, avinash.reddy.palleti@intel.com, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, vijay.a.purushothaman@intel.com, jesse.barnes@intel.com, gary.k.smith@intel.com, jim.bish@intel.com, daniel.vetter@intel.com, kiran.s.kumar@intel.com, susanta.bhattacharjee@intel.com List-Id: intel-gfx@lists.freedesktop.org UmVnYXJkcwpTaGFzaGFuawoKT24gOC8yMi8yMDE1IDQ6MTAgQU0sIE1hdHQgUm9wZXIgd3JvdGU6 Cj4gT24gVGh1LCBBdWcgMDYsIDIwMTUgYXQgMTA6MDg6MTRQTSArMDUzMCwgU2hhc2hhbmsgU2hh cm1hIHdyb3RlOgo+PiBGcm9tOiBLYXVzYWwgTWFsbGFkaSA8a2F1c2FsbWFsbGFkaUBnbWFpbC5j b20+Cj4+Cj4+IEFzIHBlciBDb2xvciBNYW5hZ2VyIGRlc2lnbiwgZWFjaCBkcml2ZXIgaXMgcmVz cG9uc2libGUgdG8gbG9hZCBpdHMKPj4gcGFsZXR0ZSBjb2xvciBjb3JyZWN0aW9uIGFuZCBlbmhh bmNlbWVudCBjYXBhYmlsaXRpZXMgaW4gdGhlIGZvcm0gb2YKPj4gYSBEUk0gYmxvYiBwcm9wZXJ0 eSwgc28gdGhhdCB1c2VyIHNwYWNlIGNhbiBxdWVyeSBhbmQgcmVhZC4KPj4KPj4gVGhpcyBwYXRj aCBkb2VzIHRoZSBmb2xsb3dpbmc6Cj4+IDEuIENyZWF0ZSBuZXcgZmlsZXMgaW50ZWxfY29sb3Jf bWFuYWdlciguYy8uaCkKPj4gMi4gQXR0YWNoIENSVEMgUGFsZXR0ZSBDYXBhYmlsaXRpZXMgcHJv cGVydHkgdG8gQ1JUQwo+PiAzLiBMb2FkIGFsbCBDSFYgcGxhdGZvcm0gc3BlY2lmaWMgZ2FtbWEg Y29sb3IgY2FwYWJpbGl0aWVzCj4+IGZvciBDUlRDIGludG8gYSBibG9iIHRoYXQgY2FuIGJlIGFj Y2Vzc2libGUgYnkgdXNlciBzcGFjZSB0bwo+PiBxdWVyeSBjYXBhYmlsaXRpZXMgdmlhIERSTSBw cm9wZXJ0eSBpbnRlcmZhY2UuCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IFNoYXNoYW5rIFNoYXJtYSA8 c2hhc2hhbmsuc2hhcm1hQGludGVsLmNvbT4KPj4gU2lnbmVkLW9mZi1ieTogS2F1c2FsIE1hbGxh ZGkgPGthdXNhbG1hbGxhZGlAZ21haWwuY29tPgo+PiAtLS0KPj4gICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9NYWtlZmlsZSAgICAgICAgICAgICAgfCAgMyArLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2NvbG9yX21hbmFnZXIuYyB8IDgzICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKwo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yX21hbmFnZXIuaCB8IDMz ICsrKysrKysrKysrKwo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyAg ICAgICB8ICAyICsKPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgICAg ICAgfCAgNCArKwo+PiAgIDUgZmlsZXMgY2hhbmdlZCwgMTI0IGluc2VydGlvbnMoKyksIDEgZGVs ZXRpb24oLSkKPj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfY29sb3JfbWFuYWdlci5jCj4+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2NvbG9yX21hbmFnZXIuaAo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQo+PiBp bmRleCA0MWZiOGE5Li4zMDNiOTAzIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9NYWtlZmlsZQo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQo+PiBAQCAt NjAsNyArNjAsOCBAQCBpOTE1LXkgKz0gaW50ZWxfYXVkaW8ubyBcCj4+ICAgCSAgaW50ZWxfb3Zl cmxheS5vIFwKPj4gICAJICBpbnRlbF9wc3IubyBcCj4+ICAgCSAgaW50ZWxfc2lkZWJhbmQubyBc Cj4+IC0JICBpbnRlbF9zcHJpdGUubwo+PiArCSAgaW50ZWxfc3ByaXRlLm8gXAo+PiArCSAgaW50 ZWxfY29sb3JfbWFuYWdlci5vCj4+ICAgaTkxNS0kKENPTkZJR19BQ1BJKQkJKz0gaW50ZWxfYWNw aS5vIGludGVsX29wcmVnaW9uLm8KPj4gICBpOTE1LSQoQ09ORklHX0RSTV9JOTE1X0ZCREVWKQkr PSBpbnRlbF9mYmRldi5vCj4+Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9jb2xvcl9tYW5hZ2VyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvcl9t YW5hZ2VyLmMKPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMC4uMWM5YzQ3 Nwo+PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Nv bG9yX21hbmFnZXIuYwo+PiBAQCAtMCwwICsxLDgzIEBACj4+ICsvKgo+PiArICogQ29weXJpZ2h0 IMKpIDIwMTUgSW50ZWwgQ29ycG9yYXRpb24KPj4gKyAqCj4+ICsgKiBQZXJtaXNzaW9uIGlzIGhl cmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQo+ PiArICogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24g ZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwKPj4gKyAqIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdp dGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24KPj4gKyAqIHRo ZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRl LCBzdWJsaWNlbnNlLAo+PiArICogYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwg YW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlCj4+ICsgKiBTb2Z0d2FyZSBpcyBmdXJu aXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgo+PiAr ICoKPj4gKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24g bm90aWNlIChpbmNsdWRpbmcgdGhlIG5leHQKPj4gKyAqIHBhcmFncmFwaCkgc2hhbGwgYmUgaW5j bHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUKPj4gKyAq IFNvZnR3YXJlLgo+PiArICoKPj4gKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMi LCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCj4+ICsgKiBJTVBMSUVE LCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5U QUJJTElUWSwKPj4gKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05J TkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTAo+PiArICogVEhFIEFVVEhPUlMgT1IgQ09Q WVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIK Pj4gKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQg T1IgT1RIRVJXSVNFLCBBUklTSU5HCj4+ICsgKiBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElP TiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTCj4+ICsgKiBJ TiBUSEUgU09GVFdBUkUuCj4+ICsgKgo+PiArICogQXV0aG9yczoKPj4gKyAqIFNoYXNoYW5rIFNo YXJtYSA8c2hhc2hhbmsuc2hhcm1hQGludGVsLmNvbT4KPj4gKyAqIEthdXNhbCBNYWxsYWRpIDxL YXVzYWwuTWFsbGFkaUBpbnRlbC5jb20+Cj4+ICsgKi8KPj4gKwo+PiArI2luY2x1ZGUgImludGVs X2NvbG9yX21hbmFnZXIuaCIKPj4gKwo+PiAraW50IGdldF9jaHZfcGlwZV9nYW1tYV9jYXBhYmls aXRpZXMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPj4gKwkJc3RydWN0IGRybV9wYWxldHRlX2Nh cHMgKnBhbGV0dGVfY2Fwcywgc3RydWN0IGRybV9jcnRjICpjcnRjKQo+PiArewo+PiArCXN0cnVj dCBkcm1fcHJvcGVydHlfYmxvYiAqYmxvYjsKPj4gKwo+PiArCS8qCj4+ICsJICogVGhpcyBmdW5j dGlvbiBleHBvc2VzIGJlc3QgY2FwYWJpbGl0eSBmb3IgRGVHYW1tYSBhbmQgR2FtbWEKPj4gKwkg KiBGb3IgQ0hWLCB0aGUgRGVHYW1tYSBMVVQgaGFzIDY1IGVudHJpZXMKPj4gKwkgKiBhbmQgdGhl IGJlc3QgR2FtbWEgY2FwYWJpbGl0eSBoYXMgMjU3IGVudHJpZXMgKENHTSB1bml0KQo+PiArCSAq Lwo+PiArCXBhbGV0dGVfY2Fwcy0+dmVyc2lvbiA9IENIVl9QQUxFVFRFX1NUUlVDVF9WRVJTSU9O Owo+PiArCXBhbGV0dGVfY2Fwcy0+bnVtX3NhbXBsZXNfYmVmb3JlX2N0bSA9Cj4+ICsJCUNIVl9E RUdBTU1BX01BWF9WQUxTOwo+PiArCXBhbGV0dGVfY2Fwcy0+bnVtX3NhbXBsZXNfYWZ0ZXJfY3Rt ID0KPj4gKwkJQ0hWXzEwQklUX0dBTU1BX01BWF9WQUxTOwo+PiArCj4+ICsJYmxvYiA9IGRybV9w cm9wZXJ0eV9jcmVhdGVfYmxvYihkZXYsIHNpemVvZihzdHJ1Y3QgZHJtX3BhbGV0dGVfY2Fwcyks Cj4+ICsJCQkoY29uc3Qgdm9pZCAqKSBwYWxldHRlX2NhcHMpOwo+PiArCj4+ICsJaWYgKGJsb2Ip Cj4+ICsJCXJldHVybiBibG9iLT5iYXNlLmlkOwo+Cj4gSXQncyBhIGNvcm5lciBjYXNlLCBidXQg YmxvYiBjb3VsZCBiZSBhIG5vbi1OVUxMIGVycm9yIGNvZGUgaGVyZSAoZS5nLiwKPiAtRU5PTUVN KS4gIFdlIHNob3VsZCBwcm9iYWJseSBjaGVjayBmb3IgdGhhdCBiZWZvcmUgd2UgdHJ5IHRvCj4g ZGVyZWZlcmVuY2UgaXQuCj4KQWdyZWUsIHdpbGwgY2hlY2sgaXQuCj4+ICsKPj4gKwlyZXR1cm4g MDsKPj4gK30KPj4gKwo+PiAraW50IGdldF9waXBlX2dhbW1hX2NhcGFiaWxpdGllcyhzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAo+PiArCQlzdHJ1Y3QgZHJtX3BhbGV0dGVfY2FwcyAqcGFsZXR0ZV9j YXBzLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4+ICt7Cj4+ICsJaWYgKElTX0NIRVJSWVZJRVco ZGV2KSkKPj4gKwkJcmV0dXJuIGdldF9jaHZfcGlwZV9nYW1tYV9jYXBhYmlsaXRpZXMoZGV2LCBw YWxldHRlX2NhcHMsIGNydGMpOwo+PiArCXJldHVybiAtRUlOVkFMOwo+Cj4gV2Ugb25seSBjYWxs IHRoaXMgZnVuY3Rpb24gaW4gdGhlIElTX0NIRVJSWVZJRVcgY2FzZSBhdCB0aGUgbW9tZW50LCBz byBJCj4gcmVhbGl6ZSB0aGUgRUlOVkFMIHJldHVybiBpcyB0ZWNobmljYWxseSBkZWFkIGNvZGUs IGJ1dCBnb2luZyBmb3J3YXJkCj4gd291bGQgaXQgbWFrZSBtb3JlIHNlbnNlIHRvIHJldHVybiBh IHZhbGlkIGNhcGFiaWxpdGllcyBibG9iIHRoYXQKPiBleHBsaWNpdGx5IHRlbGxzIHVzZXJzcGFj ZSB3ZSBoYXZlIG5vIGNhcGFiaWxpdGllcz8KVGhpcyBmdW5jdGlvbiBpcyBtb3JlIG9yIGxlc3Mg YSBwbGF0Zm9ybSBjaGVjayB3cmFwcGVyLCB3aGljaCBjaGVja3MgaWYgCmNvbG9yIGNvcnJlY3Rp b24gaXMgY2FsbGVkIGZvciBhIHN1cHBvcnRlZCBwbGF0Zm9ybS4gSW4gdGhlIG5leHQgcGF0Y2gg CnNldHMsIHdlIGhhdmUgSVNfR0VOOSgpIGFuZCBJU19CRFcoKSBjb21pbmcgaGVyZSwgYW5kIGlm IHdlIGZhaWwgdG8gZmluZCAKdGhlIHJpZ2h0IHBsYXRmb3JtLCB3ZSBhcmUgcmV0dXJuaW5nIC1F SU5WQUwgZm9yIGludmFsaWQgcGxhdGZvcm0uCk1heSBiZSBhIERSTV9FUlJPUigiSW52YWxpZCBw bGF0Zm9ybSBmb3IgY29sb3IgY29ycmVjdGlvbiIpIHdpbGwgZG8gdGhlIApqdXN0aWNlID8KPgo+ PiArfQo+PiArCj4+ICt2b2lkIGludGVsX2F0dGFjaF9jb2xvcl9wcm9wZXJ0aWVzX3RvX2NydGMo c3RydWN0IGRybV9kZXZpY2UgKmRldiwKPj4gKwkJc3RydWN0IGRybV9tb2RlX29iamVjdCAqbW9k ZV9vYmopCj4+ICt7Cj4+ICsJc3RydWN0IGRybV9tb2RlX2NvbmZpZyAqY29uZmlnID0gJmRldi0+ bW9kZV9jb25maWc7Cj4+ICsJc3RydWN0IGRybV9wYWxldHRlX2NhcHMgKnBhbGV0dGVfY2FwczsK Pj4gKwlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7Cj4+ICsJaW50IGNhcGFiaWxpdGllc19ibG9iX2lk Owo+PiArCj4+ICsJaWYgKElTX0NIRVJSWVZJRVcoZGV2KSkgewo+PiArCQljcnRjID0gb2JqX3Rv X2NydGMobW9kZV9vYmopOwo+PiArCj4+ICsJCXBhbGV0dGVfY2FwcyA9IGt6YWxsb2Moc2l6ZW9m KHN0cnVjdCBkcm1fcGFsZXR0ZV9jYXBzKSwKPj4gKwkJCQlHRlBfS0VSTkVMKTsKPj4gKwkJY2Fw YWJpbGl0aWVzX2Jsb2JfaWQgPSBnZXRfcGlwZV9nYW1tYV9jYXBhYmlsaXRpZXMoZGV2LCBwYWxl dHRlX2NhcHMsIGNydGMpOwo+PiArCQlrZnJlZShwYWxldHRlX2NhcHMpOwo+PiArCQlpZiAoY29u ZmlnLT5jbV9jcnRjX3BhbGV0dGVfY2FwYWJpbGl0aWVzX3Byb3BlcnR5KQo+PiArCQkJZHJtX29i amVjdF9hdHRhY2hfcHJvcGVydHkobW9kZV9vYmosCj4+ICsJCQkJY29uZmlnLT5jbV9jcnRjX3Bh bGV0dGVfY2FwYWJpbGl0aWVzX3Byb3BlcnR5LAo+PiArCQkJCWNhcGFiaWxpdGllc19ibG9iX2lk KTsKPj4gKwl9Cj4+ICt9Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9jb2xvcl9tYW5hZ2VyLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvcl9tYW5h Z2VyLmgKPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMC4uNTFhZWI5MQo+ PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9y X21hbmFnZXIuaAo+PiBAQCAtMCwwICsxLDMzIEBACj4+ICsvKgo+PiArICogQ29weXJpZ2h0IMKp IDIwMTUgSW50ZWwgQ29ycG9yYXRpb24KPj4gKyAqCj4+ICsgKiBQZXJtaXNzaW9uIGlzIGhlcmVi eSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQo+PiAr ICogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmls ZXMgKHRoZSAiU29mdHdhcmUiKSwKPj4gKyAqIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhv dXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24KPj4gKyAqIHRoZSBy aWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBz dWJsaWNlbnNlLAo+PiArICogYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5k IHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlCj4+ICsgKiBTb2Z0d2FyZSBpcyBmdXJuaXNo ZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgo+PiArICoK Pj4gKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90 aWNlIChpbmNsdWRpbmcgdGhlIG5leHQKPj4gKyAqIHBhcmFncmFwaCkgc2hhbGwgYmUgaW5jbHVk ZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUKPj4gKyAqIFNv ZnR3YXJlLgo+PiArICoKPj4gKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBX SVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCj4+ICsgKiBJTVBMSUVELCBJ TkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ TElUWSwKPj4gKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZS SU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTAo+PiArICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJ R0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKPj4g KyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1Ig T1RIRVJXSVNFLCBBUklTSU5HCj4+ICsgKiBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBX SVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTCj4+ICsgKiBJTiBU SEUgU09GVFdBUkUuCj4+ICsgKgo+PiArICogQXV0aG9yczoKPj4gKyAqIFNoYXNoYW5rIFNoYXJt YSA8c2hhc2hhbmsuc2hhcm1hQGludGVsLmNvbT4KPj4gKyAqIEthdXNhbCBNYWxsYWRpIDxLYXVz YWwuTWFsbGFkaUBpbnRlbC5jb20+Cj4+ICsgKi8KPj4gKyNpbmNsdWRlIDxkcm0vZHJtUC5oPgo+ PiArI2luY2x1ZGUgPGRybS9kcm1fY3J0Y19oZWxwZXIuaD4KPj4gKyNpbmNsdWRlICJpOTE1X2Ry di5oIgo+PiArCj4+ICsjZGVmaW5lIENIVl9QQUxFVFRFX1NUUlVDVF9WRVJTSU9OCQkxCj4+ICsj ZGVmaW5lIENIVl9ERUdBTU1BX01BWF9WQUxTCQkJNjUKPj4gKyNkZWZpbmUgQ0hWXzEwQklUX0dB TU1BX01BWF9WQUxTCQkyNTcKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+PiBp bmRleCAxNDEyZTIxLi4zNDlhMWMyIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlz cGxheS5jCj4+IEBAIC0xMzk3NSw2ICsxMzk3NSw4IEBAIHN0YXRpYyB2b2lkIGludGVsX2NydGNf aW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgcGlwZSkKPj4KPj4gICAJaW50ZWxfY3J0 Yy0+d20uY3hzcl9hbGxvd2VkID0gdHJ1ZTsKPj4KPj4gKwlpbnRlbF9hdHRhY2hfY29sb3JfcHJv cGVydGllc190b19jcnRjKGRldiwgJmludGVsX2NydGMtPmJhc2UuYmFzZSk7Cj4+ICsKPgo+IEkg ZmVlbCBsaWtlIHdlIHNob3VsZCBob2xkIG9mZiBvbiBhY3R1YWxseSBjYWxsaW5nIHRoaXMgZnVu Y3Rpb24gdW50aWwKPiB0aGUgdmVyeSBlbmQgb2YgeW91ciBwYXRjaCBzZXJpZXMuICBJZiBzb21l b25lIGlzIGJpc2VjdGluZyB0aHJvdWdoCj4gaGlzdHJveSB0byB0cmFjayBkb3duIGEgYnVnIGFu ZCB0aGV5IGxhbmQgb24gdGhpcyBjb21taXQsIHdlJ2xsIGJlCj4gYWR2ZXJ0aXNpbmcgc29tZSBj YXBhYmlsaXRpZXMgdG8gdXNlcnNwYWNlIHRoYXQgeW91IGRvbid0IHJlYWxseSBoYXZlCj4geWV0 IChzaW5jZSB0aGV5IG9ubHkgc2hvdyB1cCBpbiB0aGUgbGF0ZXIgcGF0Y2hlcyBvZiB0aGUgc2Vy aWVzKS4KPiBJZiB3ZSB3YWl0IHVudGlsIHRoZSBlbmQgb2YgdGhlIHNlcmllcyB0byAiZmxpcCB0 aGUgc3dpdGNoIiBhbmQgZW5hYmxlCj4gY29sb3IgbWFuYWdlbWVudCwgdGhlbiB3ZSBkb24ndCBo YXZlIHRvIHdvcnJ5IGFib3V0IHJ1bm5pbmcgcGFydGlhbGx5Cj4gaW1wbGVtZW50ZWQgZmVhdHVy ZXMgZHVyaW5nIGEgYmlzZWN0IHNlc3Npb24uCj4KPgo+IE1hdHQKPgpJIHdhcyBhZnJhaWQgb2Yg Z2V0dGluZyByZXZpZXcgY29tbWVudHMgbGlrZSAiYWRkIHRoZSBmdW5jdGlvbiBvbmx5IHdoZW4g CnlvdSBhcmUgdXNpbmcgaXQiIHNvIEkgYWRkZWQgdGhlIGNhbGwgaGVyZS4gQWxzbyB3ZSB0aG91 Z2h0IGl0IHdvdWxkIGJlIApwcmVmZXJhYmxlIHRvIGFkZCB0aGlzIGluIHRoZSBwYXRjaCB3aGVy ZSBhY3R1YWxseSBpbml0aWFsaXplIHRoZSBjb2xvciAKbWFuYWdlbWVudC4gSWYgeW91IHN0aWxs IHRoaW5rIHdlIHNob3VsZCBtb3ZlIGl0LCBJIGNhbiBkbyBpdC4KPj4gICAJQlVHX09OKHBpcGUg Pj0gQVJSQVlfU0laRShkZXZfcHJpdi0+cGxhbmVfdG9fY3J0Y19tYXBwaW5nKSB8fAo+PiAgIAkg ICAgICAgZGV2X3ByaXYtPnBsYW5lX3RvX2NydGNfbWFwcGluZ1tpbnRlbF9jcnRjLT5wbGFuZV0g IT0gTlVMTCk7Cj4+ICAgCWRldl9wcml2LT5wbGFuZV90b19jcnRjX21hcHBpbmdbaW50ZWxfY3J0 Yy0+cGxhbmVdID0gJmludGVsX2NydGMtPmJhc2U7Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5o Cj4+IGluZGV4IGIzZGMxMzguLmRlZTVmOTEgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Ry di5oCj4+IEBAIC0xNDM4LDQgKzE0MzgsOCBAQCB2b2lkIGludGVsX3BsYW5lX2Rlc3Ryb3lfc3Rh dGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4+ICAgCQkJICAgICAgIHN0cnVjdCBkcm1fcGxh bmVfc3RhdGUgKnN0YXRlKTsKPj4gICBleHRlcm4gY29uc3Qgc3RydWN0IGRybV9wbGFuZV9oZWxw ZXJfZnVuY3MgaW50ZWxfcGxhbmVfaGVscGVyX2Z1bmNzOwo+Pgo+PiArLyogaW50ZWxfY29sb3Jf bWFuYWdlci5jICovCj4+ICt2b2lkIGludGVsX2F0dGFjaF9jb2xvcl9wcm9wZXJ0aWVzX3RvX2Ny dGMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPj4gKwkJc3RydWN0IGRybV9tb2RlX29iamVjdCAq bW9kZV9vYmopOwo+PiArCj4+ICAgI2VuZGlmIC8qIF9fSU5URUxfRFJWX0hfXyAqLwo+PiAtLQo+ PiAxLjkuMQo+Pgo+Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs Cg==