From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Sharma, Shashank" Subject: Re: [PATCH v2 07/10] drm/i915: Add pipe level Gamma correction for CHV/BSW Date: Sat, 06 Jun 2015 17:39:23 +0530 Message-ID: <5572E2F3.70005@intel.com> References: <1433425361-17864-1-git-send-email-Kausal.Malladi@intel.com> <1433425361-17864-8-git-send-email-Kausal.Malladi@intel.com> <55728634.7000807@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <55728634.7000807@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: "Jindal, Sonika" , Kausal Malladi , matthew.d.roper@intel.com, jesse.barnes@intel.com, damien.lespiau@intel.com, durgadoss.r@intel.com, vijay.a.purushothaman@intel.com, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: annie.j.matheson@intel.com, avinash.reddy.palleti@intel.com, indranil.mukherjee@intel.com, dhanya.p.r@intel.com, sunil.kamath@intel.com, daniel.vetter@intel.com List-Id: dri-devel@lists.freedesktop.org UmVnYXJkcwpTaGFzaGFuawoKT24gNi82LzIwMTUgMTE6MDMgQU0sIEppbmRhbCwgU29uaWthIHdy b3RlOgo+Cj4KPiBPbiA2LzQvMjAxNSA3OjEyIFBNLCBLYXVzYWwgTWFsbGFkaSB3cm90ZToKPj4g RnJvbTogS2F1c2FsIE1hbGxhZGkgPEthdXNhbC5NYWxsYWRpQGludGVsLmNvbT4KPj4KPj4gVGhp cyBwYXRjaCBkb2VzIHRoZSBmb2xsb3dpbmc6Cj4+IDEuIEFkZHMgdGhlIGNvcmUgZnVuY3Rpb24g dG8gcHJvZ3JhbSBHYW1tYSBjb3JyZWN0aW9uIHZhbHVlcyBmb3IgQ0hWL0JTVwo+PiAgICAgcGxh dGZvcm0KPj4gMi4gQWRkcyBHYW1tYSBjb3JyZWN0aW9uIG1hY3Jvcy9kZWZpbmVzCj4+IDMuIEFk ZHMgZHJtX21vZGVfY3J0Y191cGRhdGVfY29sb3JfcHJvcGVydHkgZnVuY3Rpb24sIHdoaWNoIHJl cGxhY2VzIHRoZQo+PiAgICAgb2xkIGJsb2IgZm9yIHRoZSBwcm9wZXJ0eSB3aXRoIHRoZSBuZXcg b25lCj4+IDQuIEFkZHMgYSBwb2ludGVyIHRvIGhvbGQgYmxvYiBmb3IgR2FtbWEgcHJvcGVydHkg aW4gZHJtX2NydGMKPj4KPj4gdjI6IEFkZHJlc3NlZCBhbGwgcmV2aWV3IGNvbW1lbnRzIGZyb20g U29uaWthIGFuZCBEYW5pZWwgU3RvbmUuCj4gSW5zdGVhZCB5b3UgY2FuIG1lbnRpb24gdGhlIGNo YW5nZXMgYnJpZWZseS4KPgo+Pgo+PiBTaWduZWQtb2ZmLWJ5OiBTaGFzaGFuayBTaGFybWEgPHNo YXNoYW5rLnNoYXJtYUBpbnRlbC5jb20+Cj4+IFNpZ25lZC1vZmYtYnk6IEthdXNhbCBNYWxsYWRp IDxLYXVzYWwuTWFsbGFkaUBpbnRlbC5jb20+Cj4+IC0tLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2F0b21pYy5jICAgICAgICB8ICAgNiArKwo+PiAgIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2NvbG9yX21hbmFnZXIuYyB8IDE2MQo+PiArKysrKysrKysrKysrKysrKysrKysr KysrKysrKwo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yX21hbmFnZXIuaCB8 ICA2MiArKysrKysrKysrKwo+PiAgIDMgZmlsZXMgY2hhbmdlZCwgMjI5IGluc2VydGlvbnMoKykK Pj4KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pYy5jCj4+ IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljLmMKPj4gaW5kZXggYjVjNzhkOC4u NDcyNjg0NyAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWlj LmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljLmMKPj4gQEAgLTQy OCw2ICs0MjgsMTIgQEAgaW50ZWxfY3J0Y19hdG9taWNfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1f Y3J0Ywo+PiAqY3J0YywKPj4gICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRybV9wcm9wZXJ0 eSAqcHJvcGVydHksCj4+ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IHZhbCkKPj4gICB7 Cj4+ICsgICAgc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKPj4gKyAgICBzdHJ1 Y3QgZHJtX21vZGVfY29uZmlnICpjb25maWcgPSAmZGV2LT5tb2RlX2NvbmZpZzsKPj4gKwo+PiAr ICAgIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPmdhbW1hX3Byb3BlcnR5KQo+PiArICAgICAgICBy ZXR1cm4gaW50ZWxfY29sb3JfbWFuYWdlcl9zZXRfZ2FtbWEoZGV2LCAmY3J0Yy0+YmFzZSwgdmFs KTsKPj4gKwo+PiAgICAgICBEUk1fREVCVUdfS01TKCJVbmtub3duIGNydGMgcHJvcGVydHkgJyVz J1xuIiwgcHJvcGVydHktPm5hbWUpOwo+PiAgICAgICByZXR1cm4gLUVJTlZBTDsKPj4gICB9Cj4+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvcl9tYW5hZ2VyLmMK Pj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvcl9tYW5hZ2VyLmMKPj4gaW5kZXgg OGQ0ZWU4Zi4uNDIxYzI2NyAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfY29sb3JfbWFuYWdlci5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Nv bG9yX21hbmFnZXIuYwo+PiBAQCAtMjcsNiArMjcsMTY3IEBACj4+Cj4+ICAgI2luY2x1ZGUgImlu dGVsX2NvbG9yX21hbmFnZXIuaCIKPj4KPj4gK2ludCBjaHZfc2V0X2dhbW1hKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIHVpbnQzMl90IGJsb2JfaWQsCj4+ICsgICAgICAgIHN0cnVjdCBkcm1fY3J0 YyAqY3J0YykKPj4gK3sKPj4gKyAgICBzdHJ1Y3QgZHJtX2dhbW1hICpnYW1tYV9kYXRhOwo+PiAr ICAgIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7 Cj4+ICsgICAgc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpibG9iOwo+PiArICAgIHN0cnVjdCBk cm1fbW9kZV9jb25maWcgKmNvbmZpZyA9ICZkZXYtPm1vZGVfY29uZmlnOwo+PiArICAgIHUzMiBj Z21fY29udHJvbF9yZWcgPSAwOwo+PiArICAgIHUzMiBjZ21fZ2FtbWFfcmVnID0gMDsKPj4gKyAg ICB1MzIgcmVnLCB2YWw7Cj4+ICsgICAgZW51bSBwaXBlIHBpcGU7Cj4+ICsgICAgdTE2IHJlZCwg Z3JlZW4sIGJsdWU7Cj4+ICsgICAgc3RydWN0IHJnYl9waXhlbCBjb3JyZWN0X3JnYjsKPj4gKyAg ICB1MzIgY291bnQgPSAwOwo+PiArICAgIHN0cnVjdCByZ2JfcGl4ZWwgKmNvcnJlY3Rpb25fdmFs dWVzID0gTlVMTDsKPj4gKyAgICB1MzIgbnVtX3NhbXBsZXM7Cj4+ICsgICAgdTMyIHdvcmQ7Cj4+ ICsgICAgdTMyIHBhbGV0dGU7Cj4+ICsgICAgaW50IHJldCA9IDAsIGxlbmd0aDsKPj4gKwo+PiAr ICAgIGJsb2IgPSBkcm1fcHJvcGVydHlfbG9va3VwX2Jsb2IoZGV2LCBibG9iX2lkKTsKPj4gKyAg ICBpZiAoIWJsb2IpIHsKPj4gKyAgICAgICAgRFJNX0VSUk9SKCJJbnZhbGlkIEJsb2IgSURcbiIp Owo+PiArICAgICAgICByZXR1cm4gLUVJTlZBTDsKPj4gKyAgICB9Cj4+ICsKPj4gKyAgICBnYW1t YV9kYXRhID0gKHN0cnVjdCBkcm1fZ2FtbWEgKilibG9iLT5kYXRhOwo+PiArICAgIHBpcGUgPSB0 b19pbnRlbF9jcnRjKGNydGMpLT5waXBlOwo+PiArICAgIG51bV9zYW1wbGVzID0gZ2FtbWFfZGF0 YS0+bnVtX3NhbXBsZXM7Cj4+ICsgICAgbGVuZ3RoID0gbnVtX3NhbXBsZXMgKiBzaXplb2Yoc3Ry dWN0IHJnYl9waXhlbCk7Cj4+ICsKPj4gKyAgICBpZiAoZ2FtbWFfZGF0YS0+Z2FtbWFfcHJlY2lz aW9uID09IEk5MTVfR0FNTUFfUFJFQ0lTSU9OX1VOS05PV04pIHsKPiBTd2l0Y2gvY2FzZSBpbnN0 ZWFkPwpZZXAsIGdvdCBpdC4KPgo+IEFsc28sIGlzIFVOS05PV04gZm9yIGRpc2FibGluZz8gV2h5 IG5vdCByZW5hbWUgaXQgdG8gRElTQUJMRSB0aGVuPwpBY3R1YWxseSB1bmtub3duIGlzIHZhbGlk IGluIGNhc2Ugb2YgZ2V0X3Byb3BlcnR5KCkgd2hlbiB3ZSB3YW50IHRvIApxdWVyeSBhYm91dCB0 aGUgY2FwYWJpbGl0aWVzLCBqdXN0IHdhbnQgdG8gcmV1c2UgdGhlIHNhbWUsIHRvIGF2b2lkIG5l ZWQgCmZvciBhbm90aGVyIG9uZS4gRWxzZSB3ZSBoYXZlIHRvIGhhbmRsZSBvbmUgZXh0cmEgY2Fz ZSBpbiBlYWNoIGdldF9wcm9wIAooZGlzYWJsZSkgYW5kIHNldF9wcm9wKHVua25vd24pCj4+ICsK Pj4gKyAgICAgICAgLyogRGlzYWJsZSBHYW1tYSBmdW5jdGlvbmFsaXR5IG9uIFBpcGUgLSBDR00g QmxvY2sgKi8KPj4gKyAgICAgICAgY2dtX2NvbnRyb2xfcmVnID0gSTkxNV9SRUFEKF9QSVBFX0NH TV9DT05UUk9MKHBpcGUpKTsKPj4gKyAgICAgICAgY2dtX2NvbnRyb2xfcmVnICY9IH5DR01fR0FN TUFfRU47Cj4+ICsgICAgICAgIEk5MTVfV1JJVEUoX1BJUEVfQ0dNX0NPTlRST0wocGlwZSksIGNn bV9jb250cm9sX3JlZyk7Cj4+ICsKPj4gKyAgICAgICAgRFJNX0RFQlVHX0RSSVZFUigiR2FtbWEg ZGlzYWJsZWQgb24gUGlwZSAlY1xuIiwKPj4gKyAgICAgICAgICAgICAgICBwaXBlX25hbWUocGlw ZSkpOwo+PiArICAgICAgICByZXQgPSAwOwo+PiArICAgIH0gZWxzZSBpZiAoZ2FtbWFfZGF0YS0+ Z2FtbWFfcHJlY2lzaW9uID09Cj4+IEk5MTVfR0FNTUFfUFJFQ0lTSU9OX0xFR0FDWSkgewo+PiAr Cj4+ICsgICAgICAgIGlmIChudW1fc2FtcGxlcyAhPSBDSFZfOEJJVF9HQU1NQV9NQVhfVkFMUykg ewo+PiArICAgICAgICAgICAgRFJNX0VSUk9SKCJJbmNvcnJlY3QgbnVtYmVyIG9mIHNhbXBsZXMg cmVjZWl2ZWRcbiIpOwo+PiArICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4+ICsgICAgICAg IH0KPj4gKwo+PiArICAgICAgICAvKiBGaXJzdCwgZGlzYWJsZSBDR00gR2FtbWEsIGlmIGFscmVh ZHkgc2V0ICovCj4+ICsgICAgICAgIGNnbV9jb250cm9sX3JlZyA9IEk5MTVfUkVBRChfUElQRV9D R01fQ09OVFJPTChwaXBlKSk7Cj4+ICsgICAgICAgIGNnbV9jb250cm9sX3JlZyAmPSB+Q0dNX0dB TU1BX0VOOwo+PiArICAgICAgICBJOTE1X1dSSVRFKF9QSVBFX0NHTV9DT05UUk9MKHBpcGUpLCBj Z21fY29udHJvbF9yZWcpOwo+PiArCj4+ICsgICAgICAgIC8qIEVuYWJsZSAoTGVnYWN5KSBHYW1t YSBvbiBQaXBlICovCj4+ICsgICAgICAgIHBhbGV0dGUgPSBfUElQRV9HQU1NQV9CQVNFKHBpcGUp Owo+PiArCj4+ICsgICAgICAgIGNvdW50ID0gMDsKPj4gKyAgICAgICAgY29ycmVjdGlvbl92YWx1 ZXMgPSAoc3RydWN0IHJnYl9waXhlbCAqKSZnYW1tYV9kYXRhLT52YWx1ZXM7Cj4+ICsgICAgICAg IHdoaWxlIChjb3VudCA8IG51bV9zYW1wbGVzKSB7Cj4+ICsgICAgICAgICAgICBjb3JyZWN0X3Jn YiA9IGNvcnJlY3Rpb25fdmFsdWVzW2NvdW50XTsKPj4gKyAgICAgICAgICAgIGJsdWUgPSBjb3Jy ZWN0aW9uX3ZhbHVlc1tjb3VudF0uYmx1ZTsKPj4gKyAgICAgICAgICAgIGdyZWVuID0gY29ycmVj dGlvbl92YWx1ZXNbY291bnRdLmdyZWVuOwo+PiArICAgICAgICAgICAgcmVkID0gY29ycmVjdGlv bl92YWx1ZXNbY291bnRdLnJlZDsKPj4gKwo+PiArICAgICAgICAgICAgYmx1ZSA9IGJsdWUgPj4g Q0hWXzhCSVRfR0FNTUFfTVNCX1NISUZUOwo+PiArICAgICAgICAgICAgZ3JlZW4gPSBncmVlbiA+ PiBDSFZfOEJJVF9HQU1NQV9NU0JfU0hJRlQ7Cj4+ICsgICAgICAgICAgICByZWQgPSByZWQgPj4g Q0hWXzhCSVRfR0FNTUFfTVNCX1NISUZUOwo+PiArCj4+ICsgICAgICAgICAgICAvKiBSZWQgKDIz OjE2KSwgR3JlZW4gKDE1OjgpLCBCbHVlICg3OjApICovCj4+ICsgICAgICAgICAgICB3b3JkID0g KHJlZCA8PCBDSFZfOEJJVF9HQU1NQV9TSElGVF9SRURfUkVHKSB8Cj4+ICsgICAgICAgICAgICAg ICAgKGdyZWVuIDw8Cj4+ICsgICAgICAgICAgICAgICAgIENIVl84QklUX0dBTU1BX1NISUZUX0dS RUVOX1JFRykgfAo+PiArICAgICAgICAgICAgICAgIGJsdWU7Cj4+ICsgICAgICAgICAgICBJOTE1 X1dSSVRFKHBhbGV0dGUsIHdvcmQpOwo+PiArCj4+ICsgICAgICAgICAgICBwYWxldHRlICs9IDQ7 Cj4+ICsgICAgICAgICAgICBjb3VudCsrOwo+PiArICAgICAgICB9Cj4+ICsgICAgICAgIHJlZyA9 IFBJUEVDT05GKHBpcGUpOwo+PiArICAgICAgICB2YWwgPSBJOTE1X1JFQUQocmVnKSB8IFBJUEVD T05GX0dBTU1BOwo+PiArICAgICAgICBJOTE1X1dSSVRFKHJlZywgdmFsKTsKPj4gKwo+PiArICAg ICAgICBEUk1fREVCVUdfRFJJVkVSKCJHYW1tYSBMVVQgbG9hZGVkIHN1Y2Nlc3NmdWxseSBmb3Ig UGlwZSAlY1xuIiwKPj4gKyAgICAgICAgICAgIHBpcGVfbmFtZShwaXBlKSk7Cj4+ICsgICAgICAg IHJldCA9IDA7Cj4+ICsgICAgfSBlbHNlIGlmIChnYW1tYV9kYXRhLT5nYW1tYV9wcmVjaXNpb24g PT0KPj4gSTkxNV9HQU1NQV9QUkVDSVNJT05fMTBCSVQpIHsKPj4gKwo+PiArICAgICAgICBpZiAo bnVtX3NhbXBsZXMgIT0gQ0hWXzEwQklUX0dBTU1BX01BWF9WQUxTKSB7Cj4+ICsgICAgICAgICAg ICBEUk1fRVJST1IoIkluY29ycmVjdCBudW1iZXIgb2Ygc2FtcGxlcyByZWNlaXZlZFxuIik7Cj4+ ICsgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKPj4gKyAgICAgICAgfQo+PiArCj4+ICsgICAg ICAgIC8qIEVuYWJsZSAoQ0dNKSBHYW1tYSBvbiBQaXBlICovCj4+ICsgICAgICAgIGNnbV9nYW1t YV9yZWcgPSBfUElQRV9HQU1NQV9CQVNFKHBpcGUpOwo+PiArCj4+ICsgICAgICAgIGNvdW50ID0g MDsKPj4gKyAgICAgICAgY29ycmVjdGlvbl92YWx1ZXMgPSAoc3RydWN0IHJnYl9waXhlbCAqKSZn YW1tYV9kYXRhLT52YWx1ZXM7Cj4+ICsgICAgICAgIHdoaWxlIChjb3VudCA8IG51bV9zYW1wbGVz KSB7Cj4+ICsgICAgICAgICAgICBjb3JyZWN0X3JnYiA9IGNvcnJlY3Rpb25fdmFsdWVzW2NvdW50 XTsKPj4gKyAgICAgICAgICAgIGJsdWUgPSBjb3JyZWN0aW9uX3ZhbHVlc1tjb3VudF0uYmx1ZTsK Pj4gKyAgICAgICAgICAgIGdyZWVuID0gY29ycmVjdGlvbl92YWx1ZXNbY291bnRdLmdyZWVuOwo+ PiArICAgICAgICAgICAgcmVkID0gY29ycmVjdGlvbl92YWx1ZXNbY291bnRdLnJlZDsKPj4gKwo+ PiArICAgICAgICAgICAgYmx1ZSA9IGJsdWUgPj4gQ0hWXzEwQklUX0dBTU1BX01TQl9TSElGVDsK Pj4gKyAgICAgICAgICAgIGdyZWVuID0gZ3JlZW4gPj4gQ0hWXzEwQklUX0dBTU1BX01TQl9TSElG VDsKPj4gKyAgICAgICAgICAgIHJlZCA9IHJlZCA+PiBDSFZfMTBCSVRfR0FNTUFfTVNCX1NISUZU Owo+PiArCj4+ICsgICAgICAgICAgICAvKiBHcmVlbiAoMjU6MTYpIGFuZCBCbHVlICg5OjApIHRv IGJlIHdyaXR0ZW4gKi8KPj4gKyAgICAgICAgICAgIHdvcmQgPSAoZ3JlZW4gPDwgQ0hWX0dBTU1B X1NISUZUX0dSRUVOKSB8IGJsdWU7Cj4+ICsgICAgICAgICAgICBJOTE1X1dSSVRFKGNnbV9nYW1t YV9yZWcsIHdvcmQpOwo+PiArICAgICAgICAgICAgY2dtX2dhbW1hX3JlZyArPSA0Owo+PiArCj4+ ICsgICAgICAgICAgICAvKiBSZWQgKDk6MCkgdG8gYmUgd3JpdHRlbiAqLwo+PiArICAgICAgICAg ICAgd29yZCA9IHJlZDsKPj4gKyAgICAgICAgICAgIEk5MTVfV1JJVEUoY2dtX2dhbW1hX3JlZywg d29yZCk7Cj4+ICsKPj4gKyAgICAgICAgICAgIGNnbV9nYW1tYV9yZWcgKz0gNDsKPj4gKyAgICAg ICAgICAgIGNvdW50Kys7Cj4+ICsgICAgICAgIH0KPj4gKwo+PiArICAgICAgICBJOTE1X1dSSVRF KF9QSVBFX0NHTV9DT05UUk9MKHBpcGUpLAo+PiArICAgICAgICAgICAgSTkxNV9SRUFEKF9QSVBF X0NHTV9DT05UUk9MKHBpcGUpKQo+PiArICAgICAgICAgICAgfCBDR01fR0FNTUFfRU4pOwo+PiAr Cj4+ICsgICAgICAgIERSTV9ERUJVR19EUklWRVIoIkdhbW1hIExVVCBsb2FkZWQgc3VjY2Vzc2Z1 bGx5IGZvciBQaXBlICVjXG4iLAo+PiArICAgICAgICAgICAgcGlwZV9uYW1lKHBpcGUpKTsKPj4g Kwo+PiArICAgICAgICByZXQgPSAwOwo+PiArICAgIH0gZWxzZSB7Cj4+ICsgICAgICAgIERSTV9F UlJPUigiSW52YWxpZCBnYW1tYV9sZXZlbCByZWNlaXZlZFxuIik7Cj4+ICsgICAgICAgIHJldHVy biAtRUZBVUxUOwo+PiArICAgIH0KPj4gKwo+PiArICAgIHJldCA9IGRybV9tb2RlX2NydGNfdXBk YXRlX2NvbG9yX3Byb3BlcnR5KCZibG9iLCBsZW5ndGgsCj4+ICsgICAgICAgICAgICAodm9pZCAq KSBnYW1tYV9kYXRhLCAmY3J0Yy0+YmFzZSwKPj4gKyAgICAgICAgICAgIGNvbmZpZy0+Z2FtbWFf cHJvcGVydHkpOwo+PiArCj4+ICsgICAgaWYgKHJldCkgewo+PiArICAgICAgICBEUk1fRVJST1Io IkVycm9yIHVwZGF0aW5nIEdhbW1hIGJsb2JcbiIpOwo+PiArICAgICAgICBjcnRjLT5nYW1tYV9i bG9iX2lkID0gSU5WQUxJRF9CTE9CX0lEOwo+PiArICAgICAgICByZXR1cm4gLUVGQVVMVDsKPj4g KyAgICB9Cj4+ICsKPj4gKyAgICAvKiBTYXZlIGJsb2IgSUQgZm9yIGZ1dHVyZSB1c2UgKi8KPj4g KyAgICBjcnRjLT5nYW1tYV9ibG9iX2lkID0gYmxvYi0+YmFzZS5pZDsKPiBEbyB5b3UgaGF2ZSBh IHBhdGNoIHdoaWNoIHVzZXMgdGhpcyBibG9iX2lkLiBTdGlsbCBub3Qgc3VyZSB3aHkgd2lsbCBp dAo+IGJlIHVzZWQgaW4gZ2V0X3Byb3BlcnR5LCB3aGVuIHRoZSB1c2VyIHdpbGwgc2VuZCB0aGUg YmxvYiBwcm9wZXJ0eSBhbmQKPiBmcm9tIHRoYXQgd2UgY2FuIGdldCB0aGUgYmxvYl9pZCAoYmxv Yi0+YmFzZS5pZCkKPgpZZXMsIHRoZSBibG9iIGlkIHdpbGwgYmUgdXNlZCBmb3IgYW55IGZ1dHVy ZSByZWZlcmVuY2Ugb2YgdGhlIGJsb2IsIG9uZSAKb2Ygd2hpY2ggaXMgZ2V0X3Byb3AoKQo+PiAr ICAgIHJldHVybiByZXQ7Cj4+ICt9Cj4+ICsKPj4gK2ludCBpbnRlbF9jb2xvcl9tYW5hZ2VyX3Nl dF9nYW1tYShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+PiArICAgICAgICBzdHJ1Y3QgZHJtX21v ZGVfb2JqZWN0ICpvYmosIHVpbnQzMl90IGJsb2JfaWQpCj4+ICt7Cj4+ICsgICAgc3RydWN0IGRy bV9jcnRjICpjcnRjID0gb2JqX3RvX2NydGMob2JqKTsKPj4gKwo+PiArICAgIERSTV9ERUJVR19E UklWRVIoIlxuIik7Cj4+ICsKPj4gKyAgICBpZiAoSVNfQ0hFUlJZVklFVyhkZXYpKQo+PiArICAg ICAgICByZXR1cm4gY2h2X3NldF9nYW1tYShkZXYsIGJsb2JfaWQsIGNydGMpOwo+PiArCj4+ICsg ICAgcmV0dXJuIC1FSU5WQUw7Cj4+ICt9Cj4+ICsKPj4gICB2b2lkIGludGVsX2NvbG9yX21hbmFn ZXJfYXR0YWNoKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4+ICAgICAgICAgICBzdHJ1Y3QgZHJt X21vZGVfb2JqZWN0ICptb2RlX29iaikKPj4gICB7Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9jb2xvcl9tYW5hZ2VyLmgKPj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9jb2xvcl9tYW5hZ2VyLmgKPj4gaW5kZXggYTU1Y2UyMy4uMGFjZjhlOSAxMDA2NDQK Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3JfbWFuYWdlci5oCj4+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yX21hbmFnZXIuaAo+PiBAQCAtMjcs OCArMjcsNzAgQEAKPj4KPj4gICAjaW5jbHVkZSA8ZHJtL2RybVAuaD4KPj4gICAjaW5jbHVkZSA8 ZHJtL2RybV9jcnRjX2hlbHBlci5oPgo+PiArI2luY2x1ZGUgImk5MTVfZHJ2LmgiCj4+ICsKPj4g Ky8qIENvbG9yIE1hbmFnZW1lbnQgbWFjcm9zIGZvciBHYW1tYSAqLwo+PiArI2RlZmluZSBJOTE1 X0dBTU1BX0ZMQUdfREVHQU1NQSAgICAgICAgICAgICgxIDw8IDApCj4+ICsjZGVmaW5lIEk5MTVf UElQRV9HQU1NQSAgICAgICAgICAgICAgICAoMSA8PCAwKQo+PiArI2RlZmluZSBJOTE1X1BMQU5F X0dBTU1BICAgICAgICAgICAgKDEgPDwgMSkKPj4gKyNkZWZpbmUgSTkxNV9HQU1NQV9QUkVDSVNJ T05fVU5LTk9XTiAgICAgICAgMAo+PiArI2RlZmluZSBJOTE1X0dBTU1BX1BSRUNJU0lPTl9DVVJS RU5UICAgICAgICAweEZGRkZGRkZGCj4+ICsjZGVmaW5lIEk5MTVfR0FNTUFfUFJFQ0lTSU9OX0xF R0FDWSAgICAgICAgKDEgPDwgMCkKPj4gKyNkZWZpbmUgSTkxNV9HQU1NQV9QUkVDSVNJT05fMTBC SVQgICAgICAgICgxIDw8IDEpCj4+ICsjZGVmaW5lIEk5MTVfR0FNTUFfUFJFQ0lTSU9OXzEyQklU ICAgICAgICAoMSA8PCAyKQo+PiArI2RlZmluZSBJOTE1X0dBTU1BX1BSRUNJU0lPTl8xNEJJVCAg ICAgICAgKDEgPDwgMykKPj4gKyNkZWZpbmUgSTkxNV9HQU1NQV9QUkVDSVNJT05fMTZCSVQgICAg ICAgICgxIDw8IDQpCj4+ICsKPj4gKyNkZWZpbmUgQ0hWX01BWF9QSVBFUyAgICAgICAgICAgICAg ICAzCj4gSTkxNV9NQVhfUElQRVMgPwo+PiArI2RlZmluZSBDSFZfRElTUExBWV9CQVNFICAgICAg ICAgICAgMHgxODAwMDAKPiBVc2UgVkxWX0RJU1BMQVlfQkFTRQpHb3QgaXQuCj4KPj4gKyNkZWZp bmUgSU5WQUxJRF9CTE9CX0lEICAgICAgICAgICAgICAgIDk5OTkKPj4gKwo+PiArc3RydWN0IHJn Yl9waXhlbCB7Cj4+ICsgICAgdTE2IHJlZDsKPj4gKyAgICB1MTYgZ3JlZW47Cj4+ICsgICAgdTE2 IGJsdWU7Cj4+ICt9Owo+PiArCj4+ICsvKiBDSFYgQ0dNIEJsb2NrICovCj4+ICsvKiBCaXQgMiB0 byBiZSBlbmFibGVkIGluIENHTSBibG9jayBmb3IgQ0hWICovCj4+ICsjZGVmaW5lIENHTV9HQU1N QV9FTiAgICAgICAgICAgICAgICA0Cj4+ICsKPj4gKy8qIEdhbW1hICovCj4+ICsjZGVmaW5lIENI Vl9HQU1NQV9WQUxTICAgICAgICAgICAgICAgIDI1Nwo+PiArI2RlZmluZSBDSFZfMTBCSVRfR0FN TUFfTUFYX0lOREVYICAgICAgICAyNTYKPj4gKyNkZWZpbmUgQ0hWXzhCSVRfR0FNTUFfTUFYX0lO REVYICAgICAgICAyNTUKPj4gKyNkZWZpbmUgQ0hWXzEwQklUX0dBTU1BX01TQl9TSElGVCAgICAg ICAgNgo+PiArI2RlZmluZSBDSFZfR0FNTUFfRVZFTl9NQVNLICAgICAgICAgICAgMHhGRgo+PiAr I2RlZmluZSBDSFZfR0FNTUFfU0hJRlRfQkxVRSAgICAgICAgICAgIDAKPj4gKyNkZWZpbmUgQ0hW X0dBTU1BX1NISUZUX0dSRUVOICAgICAgICAgICAgMTYKPj4gKyNkZWZpbmUgQ0hWX0dBTU1BX1NI SUZUX1JFRCAgICAgICAgICAgIDAKPj4gKyNkZWZpbmUgQ0hWX0dBTU1BX09ERF9TSElGVCAgICAg ICAgICAgIDgKPj4gKyNkZWZpbmUgQ0hWX0NMUk1HUl9HQU1NQV9HQ01BWF9TSElGVCAgICAgICAg MTcKPj4gKyNkZWZpbmUgQ0hWX0dBTU1BX0dDTUFYX01BU0sgICAgICAgICAgICAweDFGRkZGCj4+ ICsjZGVmaW5lIENIVl9HQU1NQV9HQ01BWF9NQVggICAgICAgICAgICAweDQwMAo+PiArI2RlZmlu ZSBDSFZfMTBCSVRfR0FNTUFfTUFYX1ZBTFMgICAgICAgIChDSFZfMTBCSVRfR0FNTUFfTUFYX0lO REVYICsgMSkKPj4gKyNkZWZpbmUgQ0hWXzhCSVRfR0FNTUFfTUFYX1ZBTFMgICAgICAgICAgICAo Q0hWXzhCSVRfR0FNTUFfTUFYX0lOREVYCj4+ICsgMSkKPj4gKyNkZWZpbmUgQ0hWXzhCSVRfR0FN TUFfTVNCX1NISUZUICAgICAgICA4Cj4+ICsjZGVmaW5lIENIVl84QklUX0dBTU1BX1NISUZUX0dS RUVOX1JFRyAgICAgICAgOAo+PiArI2RlZmluZSBDSFZfOEJJVF9HQU1NQV9TSElGVF9SRURfUkVH ICAgICAgICAxNgo+PiArCj4+ICsvKiBDR00gUmVnaXN0ZXJzICovCj4+ICsjZGVmaW5lIENHTV9P RkZTRVQgICAgICAgICAgICAgICAgMHgyMDAwCj4+ICsjZGVmaW5lIEdBTU1BX09GRlNFVCAgICAg ICAgICAgICAgICAweDIwMDAKPj4gKyNkZWZpbmUgUElQRUFfQ0dNX0NPTlRST0wgICAgICAgICAg ICAoQ0hWX0RJU1BMQVlfQkFTRSArIDB4NjdBMDApCj4+ICsjZGVmaW5lIFBJUEVBX0NHTV9HQU1N QV9NSU4gICAgICAgICAgICAoQ0hWX0RJU1BMQVlfQkFTRSArIDB4NjcwMDApCj4+ICsjZGVmaW5l IF9QSVBFX0NHTV9DT05UUk9MKHBpcGUpIFwKPj4gKyAgICAoUElQRUFfQ0dNX0NPTlRST0wgKyAo cGlwZSAqIENHTV9PRkZTRVQpKQo+PiArI2RlZmluZSBfUElQRV9HQU1NQV9CQVNFKHBpcGUpIFwK Pj4gKyAgICAoUElQRUFfQ0dNX0dBTU1BX01JTiArIChwaXBlICogR0FNTUFfT0ZGU0VUKSkKPj4K PiBJIHRoaW5rIGl0IG1ha2VzIG1vcmUgc2Vuc2UgdG8gcHV0IHRoZW0gaW4gaTkxNV9yZWcuaC4K WWVzLCB3aWxsIG1vdmUgdGhpcy4KPgo+PiAgIC8qIEdlbmVyaWMgRnVuY3Rpb24gcHJvdG90eXBl cyAqLwo+PiAgIHZvaWQgaW50ZWxfY29sb3JfbWFuYWdlcl9pbml0KHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpOwo+PiAgIHZvaWQgaW50ZWxfY29sb3JfbWFuYWdlcl9hdHRhY2goc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKPj4gICAgICAgICAgIHN0cnVjdCBkcm1fbW9kZV9vYmplY3QgKm1vZGVfb2Jq KTsKPj4gK2V4dGVybiBpbnQgaW50ZWxfY29sb3JfbWFuYWdlcl9zZXRfZ2FtbWEoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwKPj4gKyAgICAgICAgc3RydWN0IGRybV9tb2RlX29iamVjdCAqb2JqLCB1 aW50MzJfdCBibG9iX2lkKTsKPj4gKwo+PiArLyogUGxhdGZvcm0gc3BlY2lmaWMgZnVuY3Rpb24g cHJvdG90eXBlcyAqLwo+PiArZXh0ZXJuIGludCBjaHZfc2V0X2dhbW1hKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCj4+ICsgICAgICAgIHVpbnQzMl90IGJsb2JfaWQsIHN0cnVjdCBkcm1fY3J0YyAq Y3J0Yyk7Cj4+Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==