From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v6 14/23] drm/i915: CHV: Pipe level degamma correction Date: Tue, 20 Oct 2015 09:27:56 +0200 Message-ID: <20151020072755.GO13786@phenom.ffwll.local> References: <1445005751-14918-1-git-send-email-shashank.sharma@intel.com> <1445005751-14918-15-git-send-email-shashank.sharma@intel.com> <591D9F2F8137E144B6CDD649149EA82D1B3902E5@IRSMSX103.ger.corp.intel.com> <20151019185456.GK13786@phenom.ffwll.local> <56255517.8090107@intel.com> <20151019215730.GM13786@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f181.google.com (mail-wi0-f181.google.com [209.85.212.181]) by gabe.freedesktop.org (Postfix) with ESMTPS id C1F6A6E0BF for ; Tue, 20 Oct 2015 00:28:00 -0700 (PDT) Received: by wicll6 with SMTP id ll6so31483429wic.0 for ; Tue, 20 Oct 2015 00:27:59 -0700 (PDT) Content-Disposition: inline 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: "Smith, Gary K" Cc: "Matheson, Annie J" , "intel-gfx@lists.freedesktop.org" , "emil.l.velikov@gmail.com" , "dri-devel@lists.freedesktop.org" , "kausalmalladi@gmail.com" , "Vetter, Daniel" List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBPY3QgMTksIDIwMTUgYXQgMTA6Mjc6MTdQTSArMDAwMCwgU21pdGgsIEdhcnkgSyB3 cm90ZToKPiBVbmxlc3MgbGVnYWN5IG1vZGUgZW5hYmxlcyBpdCBvZiBjb3Vyc2UuCgpJIHRob3Vn aHQgd2UgZGVjaWRlZCB0byBpZ25vcmUgbGVnYWN5IGdhbW1hIHN0dWZmIChhdCBsZWFzdCBmb3Ig bm93LCB1bnRpbApzb21lb25lIGNvbXBsYWlucyBhYm91dCB0aGUgaW5jb25zaXN0ZW5jeSkuIFNv IHllYWgsIEkgdGhpbmsgd2UncmUgZmluZS4KLURhbmllbAoKPiAKPiBUaGFua3MKPiBHYXJ5Cj4g Cj4gCj4gIlNtaXRoLCBHYXJ5IEsiIDxnYXJ5Lmsuc21pdGhAaW50ZWwuY29tPiB3cm90ZToKPiAK PiBCZWFyIGluIG1pbmQgdGhhdCBpdCB3aWxsIG9ubHkgaGFwcGVuIGFmdGVyIHRoZSBwcm9wZXJ0 eSBoYXMgYmVlbiBzZXQuIEluaXRpYWxseSB0aGVyZSB3aWxsIGJlIG5vIGNsaWVudHMgc2V0dGlu ZyB0aGUgcHJvcGVydHkgLSBzbyBJIHRoaW5rIGl0IHNob3VsZCBiZSBPSy4KPiAKPiBUaGFua3MK PiBHYXJ5Cj4gCj4gCj4gRGFuaWVsIFZldHRlciA8ZGFuaWVsQGZmd2xsLmNoPiB3cm90ZToKPiAK PiBPbiBNb24sIE9jdCAxOSwgMjAxNSBhdCAwODozOTo1NFBNICswMDAwLCBCaXNoLCBKaW0gd3Jv dGU6Cj4gPgo+ID4KPiA+IE9uIDEwLzE5LzIwMTUgMTE6NTQgQU0sIERhbmllbCBWZXR0ZXIgd3Jv dGU6Cj4gPiA+IE9uIE1vbiwgT2N0IDE5LCAyMDE1IGF0IDA2OjA4OjUyUE0gKzAwMDAsIFNtaXRo LCBHYXJ5IEsgd3JvdGU6Cj4gPiA+PiBGWUkgLSB0aGlzIHNob3VsZG4ndCBibG9jayB0aGUgY29t bWl0cywgYnV0IHNob3VsZCBiZSBvcHRpbWl6ZWQgbGF0ZXIgKGZhaXJseSBzb29uKS4KPiA+ID4+ Cj4gPiA+PiBJIGJlbGlldmUgdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gZW5kcyB1cCBleGVj dXRpbmcKPiA+ID4+ICAgICAgICAgICAgIHdoaWxlIChjb3VudCA8IENIVl9ERUdBTU1BX01BWF9W QUxTKSB7Cj4gPiA+PiAgICAgICAgICAgICAgICAgICAgIC8vIERvIGxvdHMgb2YgY2FjbHVsYXRp b24KPiA+ID4+ICAgICAgICAgICAgICAgICAgICAgSTkxNV9XUklURShjZ21fZGVnYW1tYV9yZWcs IHdvcmQpOwo+ID4gPj4gRXZlcnkgZnJhbWUgYWZ0ZXIgeW91IHNldCB0aGUgcHJvcGVydHksIHdo ZXRoZXIgeW91IGNoYW5nZSB0aGUgY29udGVudHMgb2YgdGhlIGJsb2Igb3Igbm90LiBDbGVhcmx5 IHRoaXMgaXMgcmVhbGx5IGluZWZmaWNpZW50IHdoZW4gdGhlcmUgYXJlIDEwMHMgb2YgZ2FtbWEg dmFsdWVzIHRvIHdyaXRlLgo+ID4gPj4gU2FtZSB3aXRoIHRoZSBHYW1tYSBhbmQgQ1RNLiBDVE0g aXMgbGVzcyBvZiBhbiBpc3N1ZSB3aXRoIG9ubHkgOSBlbnRyaWVzLgo+ID4gPj4KPiA+ID4+IE15 IHN1Z2dlc3Rpb24gaGVyZSBpcyB0byBzZXQgYSBib29sZWFuIHdoZW4gdGhlIHByb3BlcnR5IGhh cyBiZWVuIHNldCBhcwo+ID4gPj4gcGFydCBvZiBhIGZsaXAgYW5kIG9ubHkgYXBwbHkgaXQgb24g dGhlIGF0b21pYyBjb21taXQgYWZ0ZXIgdGhlIHVwZGF0ZQo+ID4gPj4gd2FzIHJlY2VpdmVkLgo+ ID4gPgo+ID4gPiBZZWFoIHRoZSB1c3VhbCBkZXNpZ24gaXMgdG8gYWRkIGEgZm9vX2NoYW5nZWQg Ym9vbGVhbiAob3IgYml0bWFzaywgZS5nLgo+ID4gPiBmb3IgY2hhbmdlZCBwbGFuZXMgdHJhY2tl ZCBpbiB0aGUgY3J0Y19zdGF0ZSkgaW4gdGhlIHN0YXRlIHdoZXJlIHdlIG5lZWQKPiA+ID4gdG8g Y29tbWl0IHRoZSB1cGRhdGUuIFRoYXQgL3Nob3VsZC8gYmUgdGhlcmUgcmVhbGx5LCBkaWRuJ3Qg ZXZlciByZWFsaXplCj4gPiA+IGl0J3Mgbm90IGRvbmUuIE5vdGUgdGhhdCB0aGF0IGZvciBsZWdh Y3kgY3Vyc29ycyB3ZSB1cGRhdGUgdGhlbSB3aXRob3V0Cj4gPiA+IHdhaXRpbmcgZm9yIHZibGFu a3MgYW5kIGxlZ2FjeSB1c2Vyc3BhY2UgZG9lcyB0aGF0IGEgX2xvdF8gKCpjb3VnaCogWAo+ID4g PiBzZXJ2ZXIgKmNvdWdoKiksIGlmIHRoZSBvdmVyaGVhZCBpcyBzZXZlcmUgdGhpcyBtaWdodCBi ZSBhIHByb2JsZW0gYW5kCj4gPiA+IG5lZWRzIHRvIGJlIGZpeGVkIGJlZm9yZSBtZXJnaW5nLgo+ ID4gPgo+ID4gPiAtRGFuaWVsCj4gPiBTZXZlcmUgZW5vdWdoIHRvIGJsb2NrPyBJIHdhbnRlZCB0 byBnZXQgdGhpcyBjbG9zZWQgb3V0IHRoaXMgd2VlayBidXQuLi4KPiA+IEkgc2VlIHlvdXIgcG9p bnQgR2FyeSBidXQgbmVlZCBhIHJlYWRpbmcgb24gRGFuaWVsJ3MgbGFzdCBzZW50ZW5jZS4KPiAK PiBYIHNlcnZlciBkb2luZyBzaWxseSBhbW91bnRzIG9mIHNldGN1cnNvciBjYWxscyBpcyBhIGtu b3duIGlzc3VlIHRoYXQgaGFzCj4gYml0dGVuIHVzIGluIHRoZSBwYXN0ICh3aXRoIHBlb3BsZSBj b21wbGFpbmluZyBhYm91dCBzZXJpb3VzbHkgc2x1Z2dpc2gKPiBkZXNrdG9wcykuIEp1c3QgbmVl ZHMgdG8gYmUgdGVzdGVkLCBhbmQgZGVwZW5kaW5nIHVwb24gcmVzdWx0cyBlaXRoZXIKPiBmaXhl ZCBiZWZvcmUgb3IgYWZ0ZXIgbWVyZ2luZy4gSSBob3BlIHdlIGNhbiBnZXQgYXdheSB3aXRoIGZp eGluZyB1cAo+IHBvc3QtbWVyZ2UuIEJ1dCB3cml0aW5nIGEgZmV3IGtiIHRocm91Z2ggbW1pbyBm b3IgZWFjaCBjdXJzb3IgaXMgYSBsb3QsIHNvCj4gaXQgbWlnaHQgc2hvdyB1cCBpbiByZWFsIHdv cmxkLgo+IC1EYW5pZWwKPiAKPiA+Cj4gPiBKaW0KPiA+ID4KPiA+ID4+Cj4gPiA+PiBUaGFua3MK PiA+ID4+IEdhcnkKPiA+ID4+Cj4gPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+ID4g Pj4gRnJvbTogU2hhcm1hLCBTaGFzaGFuawo+ID4gPj4gU2VudDogRnJpZGF5LCBPY3RvYmVyIDE2 LCAyMDE1IDM6MjkgUE0KPiA+ID4+IFRvOiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn OyBpbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnOyBlbWlsLmwudmVsaWtvdkBnbWFpbC5j b207IFJvcGVyLCBNYXR0aGV3IEQ7IEJyYWRmb3JkLCBSb2JlcnQ7IEJpc2gsIEppbQo+ID4gPj4g Q2M6IE1hdGhlc29uLCBBbm5pZSBKOyBrYXVzYWxtYWxsYWRpQGdtYWlsLmNvbTsgS3VtYXIsIEtp cmFuIFM7IFNtaXRoLCBHYXJ5IEs7IFZldHRlciwgRGFuaWVsOyBNdWtoZXJqZWUsIEluZHJhbmls OyBQYWxsZXRpLCBBdmluYXNoIFJlZGR5OyBTaGFybWEsIFNoYXNoYW5rCj4gPiA+PiBTdWJqZWN0 OiBbUEFUQ0ggdjYgMTQvMjNdIGRybS9pOTE1OiBDSFY6IFBpcGUgbGV2ZWwgZGVnYW1tYSBjb3Jy ZWN0aW9uCj4gPiA+Pgo+ID4gPj4gQ0hWL0JTVyBzdXBwb3J0cyBEZWdhbW1hIGNvbG9yIGNvcnJl Y3Rpb24sIHdoaWNoIGxpbmVhcml6ZXMgYWxsIHRoZSBub24tbGluZWFyIGNvbG9yIHZhbHVlcy4g VGhpcyB3aWxsIGJlIGFwcGxpZWQgYmVmb3JlIENvbG9yIFRyYW5zZm9ybWF0aW9uLgo+ID4gPj4K PiA+ID4+IFRoaXMgcGF0Y2ggZG9lcyB0aGUgZm9sbG93aW5nOgo+ID4gPj4gMS4gQXR0YWNoIGRl R2FtbWEgcHJvcGVydHkgdG8gQ1JUQwo+ID4gPj4gMi4gQWRkIHRoZSBjb3JlIGZ1bmN0aW9uIHRv IHByb2dyYW0gRGVHYW1tYSBjb3JyZWN0aW9uIHZhbHVlcyBmb3IKPiA+ID4+ICAgIENIVi9CU1cg cGxhdGZvcm0KPiA+ID4+IDIuIEFkZCBEZUdhbW1hIGNvcnJlY3Rpb24gbWFjcm9zL2RlZmluZXMK PiA+ID4+Cj4gPiA+PiBTaWduZWQtb2ZmLWJ5OiBTaGFzaGFuayBTaGFybWEgPHNoYXNoYW5rLnNo YXJtYUBpbnRlbC5jb20+Cj4gPiA+PiBTaWduZWQtb2ZmLWJ5OiBLYXVzYWwgTWFsbGFkaSA8a2F1 c2FsbWFsbGFkaUBnbWFpbC5jb20+Cj4gPiA+PiAtLS0KPiA+ID4+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3JlZy5oICAgICAgICAgICAgfCAgNiArKwo+ID4gPj4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2NvbG9yX21hbmFnZXIuYyB8IDkyICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKyAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3JfbWFuYWdlci5oIHwgIDUg KysKPiA+ID4+ICAzIGZpbGVzIGNoYW5nZWQsIDEwMyBpbnNlcnRpb25zKCspCj4gPiA+Pgo+ID4g Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGluZGV4IDQ1ZGRkODQuLjFlNDY1NjIgMTAwNjQ0Cj4g PiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gPiA+PiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gPiA+PiBAQCAtODE2MCw0ICs4MTYwLDEw IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgeyAgI2RlZmluZSBfUElQRV9HQU1NQV9CQVNF KHBpcGUpIFwKPiA+ID4+ICAgICAoX1BJUEUzKHBpcGUsIFBJUEVBX0NHTV9HQU1NQSwgUElQRUJf Q0dNX0dBTU1BLCBQSVBFQ19DR01fR0FNTUEpKQo+ID4gPj4KPiA+ID4+ICsjZGVmaW5lIFBJUEVB X0NHTV9ERUdBTU1BICAgICAgICAgICAgICAgICAgICAgIChWTFZfRElTUExBWV9CQVNFICsgMHg2 NjAwMCkKPiA+ID4+ICsjZGVmaW5lIFBJUEVCX0NHTV9ERUdBTU1BICAgICAgICAgICAgICAgICAg ICAgIChWTFZfRElTUExBWV9CQVNFICsgMHg2ODAwMCkKPiA+ID4+ICsjZGVmaW5lIFBJUEVDX0NH TV9ERUdBTU1BICAgICAgICAgICAgICAgICAgICAgIChWTFZfRElTUExBWV9CQVNFICsgMHg2QTAw MCkKPiA+ID4+ICsjZGVmaW5lIF9QSVBFX0RFR0FNTUFfQkFTRShwaXBlKSBcCj4gPiA+PiArICAo X1BJUEUzKHBpcGUsIFBJUEVBX0NHTV9ERUdBTU1BLCBQSVBFQl9DR01fREVHQU1NQSwKPiA+ID4+ ICtQSVBFQ19DR01fREVHQU1NQSkpCj4gPiA+PiArCj4gPiA+PiAgI2VuZGlmIC8qIF9JOTE1X1JF R19IXyAqLwo+ID4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Nv bG9yX21hbmFnZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yX21hbmFnZXIu Ywo+ID4gPj4gaW5kZXggYWNiOTY0Ny4uMWJiYWQ3OSAxMDA2NDQKPiA+ID4+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yX21hbmFnZXIuYwo+ID4gPj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3JfbWFuYWdlci5jCj4gPiA+PiBAQCAtMjcsNiArMjcs OTIgQEAKPiA+ID4+Cj4gPiA+PiAgI2luY2x1ZGUgImludGVsX2NvbG9yX21hbmFnZXIuaCIKPiA+ ID4+Cj4gPiA+PiArc3RhdGljIGludCBjaHZfc2V0X2RlZ2FtbWEoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwKPiA+ID4+ICsgIHN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqYmxvYiwgc3RydWN0IGRy bV9jcnRjICpjcnRjKSB7Cj4gPiA+PiArICB1MTYgcmVkX2ZyYWN0LCBncmVlbl9mcmFjdCwgYmx1 ZV9mcmFjdDsKPiA+ID4+ICsgIHUzMiByZWQsIGdyZWVuLCBibHVlOwo+ID4gPj4gKyAgdTMyIG51 bV9zYW1wbGVzOwo+ID4gPj4gKyAgdTMyIHdvcmQgPSAwOwo+ID4gPj4gKyAgdTMyIGNvdW50LCBj Z21fY29udHJvbF9yZWcsIGNnbV9kZWdhbW1hX3JlZzsKPiA+ID4+ICsgIGVudW0gcGlwZSBwaXBl Owo+ID4gPj4gKyAgc3RydWN0IGRybV9wYWxldHRlICpkZWdhbW1hX2RhdGE7Cj4gPiA+PiArICBz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ID4g Pj4gKyAgc3RydWN0IGRybV9yMzJnMzJiMzIgKmNvcnJlY3Rpb25fdmFsdWVzID0gTlVMTDsKPiA+ ID4+ICsgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUgPSBjcnRjLT5zdGF0ZTsKPiA+ID4+ ICsKPiA+ID4+ICsgIGlmIChXQVJOX09OKCFibG9iKSkKPiA+ID4+ICsgICAgICAgICAgcmV0dXJu IC1FSU5WQUw7Cj4gPiA+PiArCj4gPiA+PiArICBkZWdhbW1hX2RhdGEgPSAoc3RydWN0IGRybV9w YWxldHRlICopYmxvYi0+ZGF0YTsKPiA+ID4+ICsgIHBpcGUgPSB0b19pbnRlbF9jcnRjKGNydGMp LT5waXBlOwo+ID4gPj4gKyAgbnVtX3NhbXBsZXMgPSBibG9iLT5sZW5ndGggLyBzaXplb2Yoc3Ry dWN0IGRybV9yMzJnMzJiMzIpOwo+ID4gPj4gKwo+ID4gPj4gKyAgc3dpdGNoIChudW1fc2FtcGxl cykgewo+ID4gPj4gKyAgY2FzZSBHQU1NQV9ESVNBQkxFX1ZBTFM6Cj4gPiA+PiArICAgICAgICAg IC8qIERpc2FibGUgRGVHYW1tYSBmdW5jdGlvbmFsaXR5IG9uIFBpcGUgLSBDR00gQmxvY2sgKi8K PiA+ID4+ICsgICAgICAgICAgY2dtX2NvbnRyb2xfcmVnID0gSTkxNV9SRUFEKF9QSVBFX0NHTV9D T05UUk9MKHBpcGUpKTsKPiA+ID4+ICsgICAgICAgICAgY2dtX2NvbnRyb2xfcmVnICY9IH5DR01f REVHQU1NQV9FTjsKPiA+ID4+ICsgICAgICAgICAgc3RhdGUtPnBhbGV0dGVfYmVmb3JlX2N0bV9i bG9iID0gTlVMTDsKPiA+ID4+ICsKPiA+ID4+ICsgICAgICAgICAgSTkxNV9XUklURShfUElQRV9D R01fQ09OVFJPTChwaXBlKSwgY2dtX2NvbnRyb2xfcmVnKTsKPiA+ID4+ICsgICAgICAgICAgRFJN X0RFQlVHX0RSSVZFUigiRGVHYW1tYSBkaXNhYmxlZCBvbiBQaXBlICVjXG4iLAo+ID4gPj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgcGlwZV9uYW1lKHBpcGUpKTsKPiA+ID4+ICsgICAgICAg ICAgYnJlYWs7Cj4gPiA+PiArCj4gPiA+PiArICBjYXNlIENIVl9ERUdBTU1BX01BWF9WQUxTOgo+ ID4gPj4gKyAgICAgICAgICBjZ21fZGVnYW1tYV9yZWcgPSBfUElQRV9ERUdBTU1BX0JBU0UocGlw ZSk7Cj4gPiA+PiArICAgICAgICAgIGNvdW50ID0gMDsKPiA+ID4+ICsgICAgICAgICAgY29ycmVj dGlvbl92YWx1ZXMgPSAoc3RydWN0IGRybV9yMzJnMzJiMzIgKikmZGVnYW1tYV9kYXRhLT5sdXQ7 Cj4gPiA+PiArICAgICAgICAgIHdoaWxlIChjb3VudCA8IENIVl9ERUdBTU1BX01BWF9WQUxTKSB7 Cj4gPiA+PiArICAgICAgICAgICAgICAgICAgYmx1ZSA9IGNvcnJlY3Rpb25fdmFsdWVzW2NvdW50 XS5iMzI7Cj4gPiA+PiArICAgICAgICAgICAgICAgICAgZ3JlZW4gPSBjb3JyZWN0aW9uX3ZhbHVl c1tjb3VudF0uZzMyOwo+ID4gPj4gKyAgICAgICAgICAgICAgICAgIHJlZCA9IGNvcnJlY3Rpb25f dmFsdWVzW2NvdW50XS5yMzI7Cj4gPiA+PiArCj4gPiA+PiArICAgICAgICAgICAgICAgICAgaWYg KGJsdWUgPiBDSFZfTUFYX0dBTU1BKQo+ID4gPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg Ymx1ZSA9IENIVl9NQVhfR0FNTUE7Cj4gPiA+PiArCj4gPiA+PiArICAgICAgICAgICAgICAgICAg aWYgKGdyZWVuID4gQ0hWX01BWF9HQU1NQSkKPiA+ID4+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgIGdyZWVuID0gQ0hWX01BWF9HQU1NQTsKPiA+ID4+ICsKPiA+ID4+ICsgICAgICAgICAgICAg ICAgICBpZiAocmVkID4gQ0hWX01BWF9HQU1NQSkKPiA+ID4+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgIHJlZCA9IENIVl9NQVhfR0FNTUE7Cj4gPiA+PiArCj4gPiA+PiArICAgICAgICAgICAg ICAgICAgYmx1ZV9mcmFjdCA9IEdFVF9CSVRTKGJsdWUsIDgsIDE0KTsKPiA+ID4+ICsgICAgICAg ICAgICAgICAgICBncmVlbl9mcmFjdCA9IEdFVF9CSVRTKGdyZWVuLCA4LCAxNCk7Cj4gPiA+PiAr ICAgICAgICAgICAgICAgICAgcmVkX2ZyYWN0ID0gR0VUX0JJVFMocmVkLCA4LCAxNCk7Cj4gPiA+ PiArCj4gPiA+PiArICAgICAgICAgICAgICAgICAgLyogR3JlZW4gKDI5OjE2KSBhbmQgQmx1ZSAo MTM6MCkgaW4gRFdPUkQxICovCj4gPiA+PiArICAgICAgICAgICAgICAgICAgU0VUX0JJVFMod29y ZCwgZ3JlZW5fZnJhY3QsIDE2LCAxNCk7Cj4gPiA+PiArICAgICAgICAgICAgICAgICAgU0VUX0JJ VFMod29yZCwgZ3JlZW5fZnJhY3QsIDAsIDE0KTsKPiA+ID4+ICsgICAgICAgICAgICAgICAgICBJ OTE1X1dSSVRFKGNnbV9kZWdhbW1hX3JlZywgd29yZCk7Cj4gPiA+PiArICAgICAgICAgICAgICAg ICAgY2dtX2RlZ2FtbWFfcmVnICs9IDQ7Cj4gPiA+PiArCj4gPiA+PiArICAgICAgICAgICAgICAg ICAgLyogUmVkICgxMzowKSB0byBiZSB3cml0dGVuIHRvIERXT1JEMiAqLwo+ID4gPj4gKyAgICAg ICAgICAgICAgICAgIHdvcmQgPSByZWRfZnJhY3Q7Cj4gPiA+PiArICAgICAgICAgICAgICAgICAg STkxNV9XUklURShjZ21fZGVnYW1tYV9yZWcsIHdvcmQpOwo+ID4gPj4gKyAgICAgICAgICAgICAg ICAgIGNnbV9kZWdhbW1hX3JlZyArPSA0Owo+ID4gPj4gKyAgICAgICAgICAgICAgICAgIGNvdW50 Kys7Cj4gPiA+PiArICAgICAgICAgIH0KPiA+ID4+ICsKPiA+ID4+ICsgICAgICAgICAgRFJNX0RF QlVHX0RSSVZFUigiRGVHYW1tYSBMVVQgbG9hZGVkIGZvciBQaXBlICVjXG4iLAo+ID4gPj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgcGlwZV9uYW1lKHBpcGUpKTsKPiA+ID4+ICsKPiA+ID4+ ICsgICAgICAgICAgLyogRW5hYmxlIERlR2FtbWEgb24gUGlwZSAqLwo+ID4gPj4gKyAgICAgICAg ICBJOTE1X1dSSVRFKF9QSVBFX0NHTV9DT05UUk9MKHBpcGUpLAo+ID4gPj4gKyAgICAgICAgICAg ICAgICAgIEk5MTVfUkVBRChfUElQRV9DR01fQ09OVFJPTChwaXBlKSkgfCBDR01fREVHQU1NQV9F Tik7Cj4gPiA+PiArCj4gPiA+PiArICAgICAgICAgIERSTV9ERUJVR19EUklWRVIoIkRlR2FtbWEg Y29ycmVjdGlvbiBlbmFibGVkIG9uIFBpcGUgJWNcbiIsCj4gPiA+PiArICAgICAgICAgICAgICAg ICAgICAgICAgICBwaXBlX25hbWUocGlwZSkpOwo+ID4gPj4gKyAgICAgICAgICBicmVhazsKPiA+ ID4+ICsKPiA+ID4+ICsgIGRlZmF1bHQ6Cj4gPiA+PiArICAgICAgICAgIERSTV9FUlJPUigiSW52 YWxpZCBudW1iZXIgb2Ygc2FtcGxlcyBmb3IgRGVHYW1tYSBMVVRcbiIpOwo+ID4gPj4gKyAgICAg ICAgICByZXR1cm4gLUVJTlZBTDsKPiA+ID4+ICsgIH0KPiA+ID4+ICsgIHJldHVybiAwOwo+ID4g Pj4gK30KPiA+ID4+ICsKPiA+ID4+ICBzdGF0aWMgaW50IGNodl9zZXRfZ2FtbWEoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpibG9iLAo+ID4gPj4gICAg ICAgICAgICAgc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ID4gPj4gIHsKPiA+ID4+IEBAIC0xNTUs NCArMjQxLDEwIEBAIHZvaWQgaW50ZWxfYXR0YWNoX2NvbG9yX3Byb3BlcnRpZXNfdG9fY3J0Yyhz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ID4gPj4gICAgICAgICAgICAgRFJNX0RFQlVHX0RSSVZF UigiZ2FtbWEgcHJvcGVydHkgYXR0YWNoZWQgdG8gQ1JUQ1xuIik7Cj4gPiA+PiAgICAgfQo+ID4g Pj4KPiA+ID4+ICsgIC8qIERlZ2FtbWEgY29ycmVjdGlvbiAqLwo+ID4gPj4gKyAgaWYgKGNvbmZp Zy0+Y21fcGFsZXR0ZV9iZWZvcmVfY3RtX3Byb3BlcnR5KSB7Cj4gPiA+PiArICAgICAgICAgIGRy bV9vYmplY3RfYXR0YWNoX3Byb3BlcnR5KG1vZGVfb2JqLAo+ID4gPj4gKyAgICAgICAgICAgICAg ICAgIGNvbmZpZy0+Y21fcGFsZXR0ZV9iZWZvcmVfY3RtX3Byb3BlcnR5LCAwKTsKPiA+ID4+ICsg ICAgICAgICAgRFJNX0RFQlVHX0RSSVZFUigiZGVnYW1tYSBwcm9wZXJ0eSBhdHRhY2hlZCB0byBD UlRDXG4iKTsKPiA+ID4+ICsgIH0KPiA+ID4+ICB9Cj4gPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3JfbWFuYWdlci5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfY29sb3JfbWFuYWdlci5oCj4gPiA+PiBpbmRleCBkZTcwNmQ5Li43N2EyMTE5IDEw MDY0NAo+ID4gPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3JfbWFuYWdl ci5oCj4gPiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvcl9tYW5hZ2Vy LmgKPiA+ID4+IEBAIC02Myw1ICs2MywxMCBAQAo+ID4gPj4gICNkZWZpbmUgQ0hWX0dBTU1BX1NI SUZUX0dSRUVOICAgICAgICAgICAgICAgICAgMTYKPiA+ID4+ICAjZGVmaW5lIENIVl9NQVhfR0FN TUEgICAgICAgICAgICAgICAgICAgICAgICAgICgoMSA8PCAyNCkgLSAxKQo+ID4gPj4KPiA+ID4+ ICsvKiBEZWdhbW1hIG9uIENIViAqLwo+ID4gPj4gKyNkZWZpbmUgQ0hWX0RFR0FNTUFfTVNCX1NI SUZUICAgICAgICAgICAgICAgICAgMgo+ID4gPj4gKyNkZWZpbmUgQ0hWX0RFR0FNTUFfR1JFRU5f U0hJRlQgICAgICAgICAgICAgICAgMTYKPiA+ID4+ICsKPiA+ID4+ICAvKiBDSFYgQ0dNIEJsb2Nr ICovCj4gPiA+PiAgI2RlZmluZSBDR01fR0FNTUFfRU4gICAgICAgICAgICAgICAgICAgICAgICAg ICAoMSA8PCAyKQo+ID4gPj4gKyNkZWZpbmUgQ0dNX0RFR0FNTUFfRU4gICAgICAgICAgICAgICAg ICAgICAgICAgKDEgPDwgMCkKPiA+ID4+IC0tCj4gPiA+PiAxLjkuMQo+ID4gPj4KPiA+ID4+IC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQo+ID4gPj4gSW50ZWwgQ29ycG9yYXRpb24gKFVLKSBMaW1pdGVkCj4gPiA+PiBS ZWdpc3RlcmVkIE5vLiAxMTM0OTQ1IChFbmdsYW5kKQo+ID4gPj4gUmVnaXN0ZXJlZCBPZmZpY2U6 IFBpcGVycyBXYXksIFN3aW5kb24gU04zIDFSSgo+ID4gPj4gVkFUIE5vOiA4NjAgMjE3MyA0Nwo+ ID4gPj4KPiA+ID4+IFRoaXMgZS1tYWlsIGFuZCBhbnkgYXR0YWNobWVudHMgbWF5IGNvbnRhaW4g Y29uZmlkZW50aWFsIG1hdGVyaWFsIGZvcgo+ID4gPj4gdGhlIHNvbGUgdXNlIG9mIHRoZSBpbnRl bmRlZCByZWNpcGllbnQocykuIEFueSByZXZpZXcgb3IgZGlzdHJpYnV0aW9uCj4gPiA+PiBieSBv dGhlcnMgaXMgc3RyaWN0bHkgcHJvaGliaXRlZC4gSWYgeW91IGFyZSBub3QgdGhlIGludGVuZGVk Cj4gPiA+PiByZWNpcGllbnQsIHBsZWFzZSBjb250YWN0IHRoZSBzZW5kZXIgYW5kIGRlbGV0ZSBh bGwgY29waWVzLgo+ID4gPj4KPiA+ID4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCj4gPiA+PiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gPiA+PiBJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiA+PiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cj4gPiA+Cj4gCj4gLS0KPiBEYW5pZWwg VmV0dGVyCj4gU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCj4gaHR0cDovL2Js b2cuZmZ3bGwuY2gKPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiBJbnRlbCBDb3Jwb3JhdGlvbiAoVUspIExpbWl0 ZWQKPiBSZWdpc3RlcmVkIE5vLiAxMTM0OTQ1IChFbmdsYW5kKQo+IFJlZ2lzdGVyZWQgT2ZmaWNl OiBQaXBlcnMgV2F5LCBTd2luZG9uIFNOMyAxUkoKPiBWQVQgTm86IDg2MCAyMTczIDQ3Cj4gCj4g VGhpcyBlLW1haWwgYW5kIGFueSBhdHRhY2htZW50cyBtYXkgY29udGFpbiBjb25maWRlbnRpYWwg bWF0ZXJpYWwgZm9yCj4gdGhlIHNvbGUgdXNlIG9mIHRoZSBpbnRlbmRlZCByZWNpcGllbnQocyku IEFueSByZXZpZXcgb3IgZGlzdHJpYnV0aW9uCj4gYnkgb3RoZXJzIGlzIHN0cmljdGx5IHByb2hp Yml0ZWQuIElmIHlvdSBhcmUgbm90IHRoZSBpbnRlbmRlZAo+IHJlY2lwaWVudCwgcGxlYXNlIGNv bnRhY3QgdGhlIHNlbmRlciBhbmQgZGVsZXRlIGFsbCBjb3BpZXMuCj4gCgotLSAKRGFuaWVsIFZl dHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3 bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK