From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Sharma, Shashank" Subject: Re: [PATCH 5/7] drm/i915: Add pipe level Gamma correction for CHV/BSW Date: Wed, 03 Jun 2015 19:21:43 +0530 Message-ID: <556F066F.1050909@intel.com> References: <1433188369-16930-1-git-send-email-Kausal.Malladi@intel.com> <1433188369-16930-6-git-send-email-Kausal.Malladi@intel.com> <556D95AD.2030009@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Stone , "Jindal, Sonika" Cc: dri-devel , vijay.a.purushothaman@intel.com, Kausal Malladi , jesse.barnes@intel.com, annie.j.matherson@intel.com, "Vetter, Daniel" , dhanya.p.r@intel.com, intel-gfx List-Id: intel-gfx@lists.freedesktop.org SGkgRGFuaWVsLAoKVGhhbmtzIGZvciB0aGUgcmV2aWV3LgpQbGVhc2UgZmluZCBteSBjb21tZW50 cyBpbmxpbmUuCgpSZWdhcmRzClNoYXNoYW5rCgpPbiA2LzIvMjAxNSA1OjIzIFBNLCBEYW5pZWwg U3RvbmUgd3JvdGU6Cj4gSGksCj4KPiBPbiAyIEp1bmUgMjAxNSBhdCAxMjozOCwgSmluZGFsLCBT b25pa2EgPHNvbmlrYS5qaW5kYWxAaW50ZWwuY29tPiB3cm90ZToKPj4gT24gNi8yLzIwMTUgMToy MiBBTSwgS2F1c2FsIE1hbGxhZGkgd3JvdGU6Cj4+PiAraW50IGRybV9tb2RlX2NydGNfdXBkYXRl X2NvbG9yX3Byb3BlcnR5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4+PiArICAgICAgICAgICAg ICAgc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICoqYmxvYiwKPj4+ICsgICAgICAgICAgICAgICBz aXplX3QgbGVuZ3RoLCBjb25zdCB2b2lkICpjb2xvcl9kYXRhLAo+Pj4gKyAgICAgICAgICAgICAg IHN0cnVjdCBkcm1fbW9kZV9vYmplY3QgKm9ial9ob2xkc19pZCwKPj4+ICsgICAgICAgICAgICAg ICBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wX2hvbGRzX2lkKQo+Pgo+PiBUaGlzIGNhbiBiZSBz aW1wbGlmaWVkLi4gTm8gbmVlZCB0byBwYXNzIHNvIG1hbnkgcGFyYW1zLgo+Pj4KPj4+ICt7Cj4+ PiArICAgICAgIGludCByZXQ7Cj4+PiArCj4+PiArICAgICAgIHJldCA9IGRybV9wcm9wZXJ0eV9y ZXBsYWNlX2dsb2JhbF9ibG9iKGRldiwKPj4+ICsgICAgICAgICAgICAgICAgICAgICAgIGJsb2Is IGxlbmd0aCwgY29sb3JfZGF0YSwgb2JqX2hvbGRzX2lkLAo+Pj4gcHJvcF9ob2xkc19pZCk7Cj4+ PiArCj4+PiArICAgICAgIHJldHVybiByZXQ7Cj4+PiArfQo+Pj4gKwo+Pgo+PiBTcGxpdCB0aGUg cGF0Y2ggdG8gYWRkIGRybSBzcGVjaWZpYyBjaGFuZ2VzIGluIGEgc2VwYXJhdGUgcGF0Y2guIEFs c28geW91Cj4+IG5lZWQgdG8gZXhwb3J0IHRoaXMgZnVuY3Rpb24uCj4KPiBPciBqdXN0IHJlbW92 ZSB0aGUgZnVuY3Rpb24gZW50aXJlbHkuIEl0IGxpdGVyYWxseSBhZGRzIG5vIHZhbHVlLCBhbmQK PiBpcyBqdXN0IGFuIGFsaWFzIGZvciBkcm1fcHJvcGVydHlfcmVwbGFjZV9nbG9iYWxfYmxvYi4g U28ganVzdCB1c2UKPiB0aGF0IGRpcmVjdGx5Lgo+ClRoaXMgZnVuY3Rpb24oZHJtX3Byb3BlcnR5 X3JlcGxhY2VfZ2xvYmFsX2Jsb2IpIGlzIGEgc3RhdGljIGZ1bmN0aW9uCmFuZCBJIGNhbiBzZWUg ZmV3IG90aGVyIHByb3BlcnRpZXMgaGF2ZSBjcmVhdGVkIHdyYXBwZXIgZnVuY3Rpb24gaW4gdGhp cwpmaWxlIGJ1aWx0IGFyb3VuZCBpdCAobGlrZSBwYXRoX3Byb3BlcnR5LCBlZGlkX3Byb3AgZXRj KSwgc28gc2VlbXMgbGlrZSAKdGhhdCdzIHRoZSByaWdodCB3YXkgdG8gZG8gaXQuIERvIHlvdSBz dGlsbCB0aGluayB3ZSBzaG91bGQgcmVtb3ZlIHRoZSAKd3JhcHBlciA/Cj4+PiAraW50IGNodl9z ZXRfZ2FtbWEoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdWludDY0X3QgYmxvYl9pZCwKPj4+ICsg ICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4+PiArewo+Pj4gKyAgICAgICBz dHJ1Y3QgZHJtX2ludGVsX2dhbW1hICpnYW1tYV9kYXRhOwo+Pj4gKyAgICAgICBzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+Pj4gKyAgICAgICBz dHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmJsb2I7Cj4+PiArICAgICAgIHN0cnVjdCBkcm1fbW9k ZV9jb25maWcgKmNvbmZpZyA9ICZkZXYtPm1vZGVfY29uZmlnOwo+Pj4gKwo+Pj4gKyAgICAgICB1 MzIgY2dtX2NvbnRyb2xfcmVnID0gMDsKPj4+ICsgICAgICAgdTMyIGNnbV9nYW1tYV9yZWcgPSAw Owo+Pj4gKyAgICAgICB1MzIgcmVnLCB2YWwsIHBpcGU7Cj4KPiBwaXBlIHNob3VsZCBiZSBhbiBl bnVtIHBpcGUuCkdvdCBpdC4KPgo+Pj4gKyAgICAgICB1MTYgcmVkLCBncmVlbiwgYmx1ZTsKPgo+ IElzbid0IHRoaXMgdGhlIGxpdGVyYWwgZGVmaW5pdGlvbiBvZiBzdHJ1Y3QgcmdiX3BpeGVsLCB3 aGljaCB5b3UgYWRkZWQKPiBzZXBhcmF0ZWx5IGluIHRoaXMgc2VyaWVzPwpZZXMsIHRoZXkgYXJl IHNhbWUsIGJ1dCB3ZSBhcmUgdXNpbmcgdGhlc2UgbG9jYWwgdmFyaWFibGVzIHRvIApzaGlmdC9h ZGp1c3QgYWNjb3JkaW5nIHRvIHRoZSBQYWxldHRlIHJlZ2lzdGVyIGZvcm1hdCwgc28gdGhvdWdo dCBpdCAKd291bGQgYmUgbW9yZSByZWFkYWJsZSBpZiB3ZSBtYWtlIGRpcmVjdCB1MTYgdmFyaWFi bGVzCj4KPj4+ICsgICAgICAgaWYgKGdhbW1hX2RhdGEtPmdhbW1hX3ByZWNpc2lvbiA9PSBJOTE1 X0dBTU1BX1BSRUNJU0lPTl9VTktOT1dOKSB7Cj4+PiArCj4+PiArICAgICAgICAgICAgICAgLyog RGlzYWJsZSBHYW1tYSBmdW5jdGlvbmFsaXR5IG9uIFBpcGUgLSBDR00gQmxvY2sgKi8KPj4+ICsg ICAgICAgICAgICAgICBjZ21fY29udHJvbF9yZWcgPSBJOTE1X1JFQUQoX1BJUEVfQ0dNX0NPTlRS T0wocGlwZSkpOwo+Pj4gKyAgICAgICAgICAgICAgIGNnbV9jb250cm9sX3JlZyAmPSB+Q0dNX0dB TU1BX0VOOwo+Pj4gKyAgICAgICAgICAgICAgIEk5MTVfV1JJVEUoX1BJUEVfQ0dNX0NPTlRST0wo cGlwZSksIGNnbV9jb250cm9sX3JlZyk7Cj4+PiArCj4+PiArICAgICAgICAgICAgICAgRFJNX0RF QlVHX0RSSVZFUigiR2FtbWEgZGlzYWJsZWQgb24gUGlwZSAlY1xuIiwKPj4+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgcGlwZV9uYW1lKHBpcGUpKTsKPj4+ICsgICAgICAgICAgICAg ICByZXQgPSAwOwo+Pj4gKyAgICAgICAgICAgICAgIGdvdG8gcmVsZWFzZV9tZW1vcnk7Cj4+PiAr ICAgICAgIH0KPgo+IFRoaXMgYnJhbmNoIG5ldmVyIHVwZGF0ZXMgdGhlIHByb3BlcnR5LgpPb3Bz LCB0aGFua3MgZm9yIGNhdGNoaW5nIHRoaXMuCj4KPj4+ICsgICAgICAgaWYgKHBpcGUgPj0gQ0hW X01BWF9QSVBFUykgewo+Pj4gKyAgICAgICAgICAgICAgIERSTV9FUlJPUigiSW5jb3JyZWN0IFBp cGUgSURcbiIpOwo+Pj4gKyAgICAgICAgICAgICAgIHJldCA9IC1FRkFVTFQ7Cj4+PiArICAgICAg ICAgICAgICAgZ290byByZWxlYXNlX21lbW9yeTsKPj4+ICsgICAgICAgfQo+Cj4gSG93IGNvdWxk IHRoaXMgZXZlciBoYXBwZW4/IFRoaXMgc2hvdWxkIGJlIGEgV0FSTl9PTiBhdCBsZWFzdC4KSW4g dGhlIGZpcnN0IGRlc2lnbiwgdXNlciBzcGFjZSB3YXMgc2VuZGluZyB0aGlzIHZhcmlhYmxlLCBz byBhIGNoZWNrIAp3YXMgcmVxdWlyZWQuIEJ1dCB0aGVuIHdlIGNoYW5nZWQgdGhlIGRlc2lnbiwg YW5kIGtlcHQgdGhlIGNoZWNrIDopLgpXZSB3aWxsIHJlbW92ZSB0aGlzLgo+Cj4+PiArICAgICAg IGNvcnJlY3Rpb25fdmFsdWVzID0ga3phbGxvYyhsZW5ndGgsIEdGUF9LRVJORUwpOwo+Pj4gKyAg ICAgICBpZiAoIWNvcnJlY3Rpb25fdmFsdWVzKSB7Cj4+PiArICAgICAgICAgICAgICAgRFJNX0VS Uk9SKCJPdXQgb2YgTWVtb3J5XG4iKTsKPj4+ICsgICAgICAgICAgICAgICByZXQgPSAtRU5PTUVN Owo+Pj4gKyAgICAgICAgICAgICAgIGdvdG8gcmVsZWFzZV9tZW1vcnk7Cj4+PiArICAgICAgIH0K Pj4+ICsKPj4+ICsgICAgICAgcmV0ID0gY29weV9mcm9tX3VzZXIoKHZvaWQgKiljb3JyZWN0aW9u X3ZhbHVlcywKPj4+ICsgICAgICAgICAgICAgICAoY29uc3Qgdm9pZCBfX3VzZXIgKilnYW1tYV9k YXRhLT5nYW1tYV9wdHIsIGxlbmd0aCk7Cj4+PiArICAgICAgIGlmIChyZXQpIHsKPj4+ICsgICAg ICAgICAgICAgICBEUk1fRVJST1IoIkVycm9yIGNvcHlpbmcgdXNlciBkYXRhXG4iKTsKPj4+ICsg ICAgICAgICAgICAgICByZXQgPSAtRUZBVUxUOwo+Pj4gKyAgICAgICAgICAgICAgIGdvdG8gcmVs ZWFzZV9tZW1vcnk7Cj4+PiArICAgICAgIH0KPgo+IEkgdGhpbmsgSSd2ZSBtYW5hZ2VkIHRvIHdv cmsgb3V0IHRoZSB1c2Vyc3BhY2UgQVBJIG5vdzoKPiAgIC0gYWxsb2NhdGUgZHJtX2ludGVsX2dh bW1hIHN0cnVjdHVyZQo+ICAgLSBhbGxvY2F0ZSBjb3JyZWN0aW9uIHZhbHVlcwo+ICAgLSBpbnNl cnQgcG9pbnRlciB0byBjb3JyZWN0aW9uIHZhbHVlcyBpbnRvIGdhbW1hIHN0cnVjdHVyZQo+ICAg LSBjcmVhdGUgYmxvYiB3aXRoIHBvaW50ZXIgdG8gZ2FtbWEgc3RydWN0dXJlCj4KPiBUaGlzIHNl ZW1zIHByZXR0eSBiYWNrd2FyZHMuIFRoZSBjb3JyZWN0aW9uIHZhbHVlcyAtIHRoZSBsYXJnZSBk YXRhIHdlCj4gbmVlZCB0byBhdm9pZCBjb3B5aW5nIGFyb3VuZCAtIGlzIHdoYXQgc2hvdWxkIGJl IGEgYmxvYiBwcm9wZXJ0eS4gV2l0aAo+IHlvdXIgYXBwcm9hY2gsIHRoZSBjb3JyZWN0aW9uIGRh dGEgKGJpZykgd2lsbCBiZSBjb3BpZWQgcXVpdGUgYSBmZXcKPiB0aW1lcywgd2hlcmUgdGhlIHN1 cHBvcnRpbmcgc3RydWN0dXJlICh2ZXJ5IHNtYWxsKSB3aWxsIG5ldmVyIGJlCj4gY29waWVkLgo+ Cj4gQXQgdGhlIHZlcnkgbGVhc3QsIHRoZSBjb3JyZWN0aW9uIGRhdGEgbXVzdCBiZSBhIGJsb2Ig cHJvcGVydHkuIEkKPiBkb24ndCB0aGluayB0aGVyZSBpcyBtdWNoIHVzZSBpbiBoYXZpbmcgZHJt X2ludGVsX2dhbW1hIGl0c2VsZiBiZSBhCj4gYmxvYiBwcm9wZXJ0eSwgYnV0IEkgY2FuIHNlZSB3 aHkgeW91IG1pZ2h0IHdhbnQgaXQgdG8gYmUuCj4KWWVzLCByaWdodCwgdGhhdCB3aWxsIGJlIHRo ZSBiZXR0ZXIgd2F5LiBXZSB3ZXJlIHNsaWdodGx5IHVuY2xlYXIgYWJvdXQgCnRoZSBiZXN0IHdh eSB0byB1c2UgdGhlIHdob2xlIHNldF9ibG9iIHN0dWZmLCBzbyB0aGlzIGRpbnQgZ28gd2VsbC4g Tm93IAp3ZSBhcmUgcGxhbm5pbmcgdG8gZG8gaXQgbGlrZSB0aGlzOgoxLiBzZXRfYmxvYl9pb2N0 bCgpIHRvIHNldCB0aGUgZ2FtbWFfY29ycmVjdGlvbiB2YWx1ZXMsIGdldCB0aGUgYmxvYl9pZAoy LiBBZGQgYSBuZXcgdmFyaWFibGUgYmxvYl9pZCBpbiBkcm1faW50ZWxfZ2FtbWEgc3RydWN0CjMu IFBhY2sgdGhlIGdhbW1hX3N0cnVjdCwgYW5kIHNlbmQgdGhhdCBhcyBzZXRfcG9ycGVydHkgdmFs dWUuCgpEb2VzIGl0IHNvdW5kIGJldHRlciB0byB5b3Ugbm93ID8KPj4+ICsgICAgICAgcmV0ID0g ZHJtX21vZGVfY3J0Y191cGRhdGVfY29sb3JfcHJvcGVydHkoZGV2LAo+Pj4gKyAgICAgICAgICAg ICAgICZjcnRjLT5nYW1tYV9ibG9iLCBsZW5ndGgsICh2b2lkICopIGNvcnJlY3Rpb25fdmFsdWVz LAo+Pj4gKyAgICAgICAgICAgICAgICZjcnRjLT5iYXNlLCBjb25maWctPmdhbW1hX3Byb3BlcnR5 KTsKPgo+IEFzIGRpc2N1c3NlZCwgdGhpcyBmdW5jdGlvbiBpcyBhIHB1cmUgYWxpYXMsIGFuZCBj YW4gYmUgcmVtb3ZlZC4KU2FtZSBleHBsYW5hdGlvbiBhcyBwcmV2aW91cy4KPgo+Pj4gKyAgICAg ICBpZiAoZ2FtbWFfZGF0YS0+Z2FtbWFfcHJlY2lzaW9uID09IEk5MTVfR0FNTUFfUFJFQ0lTSU9O X0xFR0FDWSkgewo+Pj4gKwo+Pj4gKyAgICAgICAgICAgICAgIGlmIChudW1fc2FtcGxlcyAhPSBD SFZfOEJJVF9HQU1NQV9NQVhfVkFMUykgewo+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgRFJN X0VSUk9SKCJJbmNvcnJlY3QgbnVtYmVyIG9mIHNhbXBsZXMKPj4+IHJlY2VpdmVkXG4iKTsKPj4+ ICsgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gcmVsZWFzZV9tZW1vcnk7Cj4+PiArICAgICAg ICAgICAgICAgfQo+Cj4gVGhpcyBzaG91bGQgYmUgY2hlY2tlZCBiZWZvcmUgdGhlIHByb3BlcnR5 IGlzIHVwZGF0ZWQuClllcCwgR290IGl0LiB1cGRhdGUgcHJvcGVydHkgc2hvdWxkIGhhcHBlbiBp biB0aGUgZW5kLCBhZnRlciB0aGUgbGFzdCAKY2hlY2suCj4KPj4+ICsgICAgICAgICAgICAgICAv KiBGaXJzdCwgZGlzYWJsZSBDR00gR2FtbWEsIGlmIGFscmVhZHkgc2V0ICovCj4+PiArICAgICAg ICAgICAgICAgY2dtX2NvbnRyb2xfcmVnID0gSTkxNV9SRUFEKF9QSVBFX0NHTV9DT05UUk9MKHBp cGUpKTsKPj4+ICsgICAgICAgICAgICAgICBjZ21fY29udHJvbF9yZWcgJj0gfkNHTV9HQU1NQV9F TjsKPj4+ICsgICAgICAgICAgICAgICBJOTE1X1dSSVRFKF9QSVBFX0NHTV9DT05UUk9MKHBpcGUp LCBjZ21fY29udHJvbF9yZWcpOwo+Pj4gKwo+Pj4gKyAgICAgICAgICAgICAgIC8qIEVuYWJsZSAo TGVnYWN5KSBHYW1tYSBvbiBQaXBlIGdhbW1hX2RhdGEuX19vYmpfaWQgKi8KPj4+ICsgICAgICAg ICAgICAgICBwYWxldHRlID0gX1BJUEVfR0FNTUFfQkFTRShwaXBlKTsKPgo+IFRoZSBjb21tZW50 IGlzIG1pc2xlYWRpbmcuIHBpcGUgaXMgY2FsY3VsYXRlZCBmcm9tIGNydGMtPnBpcGUsIG5vdAo+ IGdhbW1hX2RhdGEuX19vYmpfaWQuClllcCwgYWdyZWUuIFdpbGwgY2hhbmdlIHRoaXMuCj4KPiBB bHNvLCBzaG91bGQgYWxsIHRoZXNlIG9wZXJhdGlvbnMgYmUgcGVyZm9ybWVkIHVuZGVyIHZibGFu ayBldmFzaW9uPwpDdXJyZW50bHksIGR1ZSB0byBtaXNzaW5nIHNldF9jcnRjIGluZnJhc3RydWN0 dXJlLCB3ZSBhcmUgbm90IHBsYW5uaW5nIAp0byBtYWtlIHRoZSBhdG9taWNpdHkgYXMgcHJpbWFy eSB0YXJnZXQuIE9uY2UgdGhlIGluZnJhc3RydWN0dXJlIGlzIApyZWFkeSwgd2Ugd2lsbCBtb3Zl IG9uIHRvIHRoYXQsIGFuZCB0aGUgZndrIHdpbGwgdGFrZSBjYXJlIG9mIHRoYXQuCj4KPj4+ICsg ICAgICAgfSBlbHNlIGlmIChnYW1tYV9kYXRhLT5nYW1tYV9wcmVjaXNpb24gPT0KPj4+IEk5MTVf R0FNTUFfUFJFQ0lTSU9OXzEwQklUKSB7Cj4+PiArCj4+PiArICAgICAgICAgICAgICAgaWYgKG51 bV9zYW1wbGVzICE9IENIVl8xMEJJVF9HQU1NQV9NQVhfVkFMUykgewo+Pj4gKyAgICAgICAgICAg ICAgICAgICAgICAgRFJNX0VSUk9SKCJJbmNvcnJlY3QgbnVtYmVyIG9mIHNhbXBsZXMKPj4+IHJl Y2VpdmVkXG4iKTsKPj4+ICsgICAgICAgICAgICAgICAgICAgICAgIHJldCA9IC1FSU5WQUw7Cj4+ PiArICAgICAgICAgICAgICAgICAgICAgICBnb3RvIHJlbGVhc2VfbWVtb3J5Owo+Pj4gKyAgICAg ICAgICAgICAgIH0KPgo+IFNhbWUgY29tbWVudC4KR290IGl0Lgo+Cj4+PiArICAgICAgICAgICAg ICAgLyogRW5hYmxlIChDR00pIEdhbW1hIG9uIFBpcGUgZ2FtbWFfZGF0YS5fX29ial9pZCAqLwo+ Pj4gKyAgICAgICAgICAgICAgIGNnbV9nYW1tYV9yZWcgPSBfUElQRV9HQU1NQV9CQVNFKHBpcGUp Owo+Cj4gU2FtZSBjb21tZW50LgpHb3QgaXQuCj4KPj4+ICtyZWxlYXNlX21lbW9yeToKPj4+ICsK Pj4+ICsgICAgICAgLyoga2ZyZWUgaXMgTlVMTCBwcm90ZWN0ZWQgKi8KPgo+IFByb2JhYmx5IG5v IG5lZWQgdG8gY29tbWVudCB0aGlzLgpJIHJlbWVtYmVyIHJlY2VpdmluZyBjb21tZW50cyBmb3Ig dGhpcyBsb25nIGJhY2ssIGJ1dCB5ZWFoLiA6KQo+Cj4+PiArICAgICAgIGtmcmVlKGNvcnJlY3Rp b25fdmFsdWVzKTsKPj4+ICsgICAgICAga2ZyZWUoZ2FtbWFfZGF0YSk7Cj4KPiBnYW1tYV9kYXRh IGlzIHRoZSBibG9iIGRhdGE7IHlvdSBjYW5ub3QgZnJlZSB0aGlzLiBJZiB5b3UgZXZlciB0cnkg dG8KPiBzZXQgdGhlIHNhbWUgZ2FtbWEgdHdpY2UsIHRoZSBrZXJuZWwgd2lsbCBPT1BTLgpPb3Bz LCB5ZXMsIHRoaXMgd2FzIGJhZC4gVGhlcmUgd2FzIGEgbWlzdGFrZSB3aGlsZSBhbGxvY2F0aW5n IApnYW1tYV9kYXRhLCBpdCBkb2VzbnQgbmVlZCB0aGF0Lgo+Cj4+PiArICAgICAgIHJldHVybiBy ZXQ7Cj4+PiArfQo+Pj4gKwo+Pj4gK2ludCBpbnRlbF9jb2xvcl9tYW5hZ2VyX3NldF9nYW1tYShz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+Pj4gKyAgICAgICAgICAgICAgIHN0cnVjdCBkcm1fbW9k ZV9vYmplY3QgKm9iaiwgdWludDY0X3QgYmxvYl9pZCkKPj4+ICt7Cj4+PiArICAgICAgIHN0cnVj dCBkcm1fY3J0YyAqY3J0YyA9IG9ial90b19jcnRjKG9iaik7Cj4+PiArCj4+PiArICAgICAgIGlm IChJU19DSEVSUllWSUVXKGRldikpCj4+PiArICAgICAgICAgICAgICAgcmV0dXJuIGNodl9zZXRf Z2FtbWEoZGV2LCBibG9iX2lkLCBjcnRjKTsKPj4+ICsgICAgICAgZWxzZQo+Pj4gKyAgICAgICAg ICAgICAgIERSTV9FUlJPUigiVGhpcyBwbGF0Zm9ybSBpcyBub3QgeWV0IHN1cHBvcnRlZFxuIik7 Cj4+PiArCj4+PiArICAgICAgIHJldHVybiAtRUlOVkFMOwo+Pj4gK30KPgo+IElmIGEgcGxhdGZv cm0gaXMgbm90IHN1cHBvcnRlZCwgdGhlbiBpdCBzaG91bGQgbm90IGV4cG9ydCB0aGUgZ2FtbWEK PiBwcm9wZXJ0eSB0byB1c2Vyc3BhY2UuClRoZSBpZGVhIGlzIHRvIGV4dGVuZCB0aGlzIGZ3ayB0 byBvdGhlciBwbGF0Zm9ybXMgc2xvd2x5LiBidXQgd2UgY2FuIApyZW1vdmUgdGhlIGVycm9yIG1l c3NhZ2UuCj4KPj4+ICtzdHJ1Y3QgcmdiX3BpeGVsIHsKPj4+ICsgICAgICAgdTE2IHJlZDsKPj4+ ICsgICAgICAgdTE2IGdyZWVuOwo+Pj4gKyAgICAgICB1MTYgYmx1ZTsKPj4+ICt9Owo+Cj4gVGhl IG5hbWUgb2YgcmdiX3BpeGVsIGhlcmUgaXMgcXVpdGUgZ2VuZXJpYywgZXNwZWNpYWxseSBhcyAx NmJwYyBpcwo+IHN0aWxsIHF1aXRlIHVudXN1YWwuCm1vc3RseSAxMC42IGdhbW1hIGZvcm1hdCBv ciAxNi4xNiBDU0MuCj4KPiBDaGVlcnMsCj4gRGFuaWVsCj4KX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK