From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: Re: [PATCH 1/3] drm/i915/icl: Add icl pipe degamma and gamma support Date: Wed, 31 Oct 2018 16:40:23 -0700 Message-ID: <20181031234023.GS5732@mdroper-desk.amr.corp.intel.com> References: <1540393213-11907-1-git-send-email-uma.shankar@intel.com> <1540393213-11907-2-git-send-email-uma.shankar@intel.com> <20181031000357.GJ5732@mdroper-desk.amr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4BEF089179 for ; Wed, 31 Oct 2018 23:40:24 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20181031000357.GJ5732@mdroper-desk.amr.corp.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Uma Shankar Cc: intel-gfx@lists.freedesktop.org, ville.syrjala@intel.com, maarten.lankhorst@intel.com List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBPY3QgMzAsIDIwMTggYXQgMDU6MDM6NTdQTSAtMDcwMCwgTWF0dCBSb3BlciB3cm90 ZToKPiBPbiBXZWQsIE9jdCAyNCwgMjAxOCBhdCAwODozMDoxMVBNICswNTMwLCBVbWEgU2hhbmth ciB3cm90ZToKPiA+IEFkZCBzdXBwb3J0IGZvciBpY2wgcGlwZSBkZWdhbW1hIGFuZCBnYW1tYS4K PiA+IAo+ID4gdjI6IFJlbW92ZWQgYSBQT1NUSU5HX1JFQUQgYW5kIGNvcnJlY3RlZCB0aGUgQml0 Cj4gPiBEZWZpbml0aW9uIGFzIHBlciBNYWFydGVuJ3MgY29tbWVudHMuCj4gPiAKPiA+IFNpZ25l ZC1vZmYtYnk6IFVtYSBTaGFua2FyIDx1bWEuc2hhbmthckBpbnRlbC5jb20+Cj4gPiAtLS0KPiA+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICAgIHwgIDMgKysKPiA+ICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5jIHwgNzQgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysKPiA+ICAyIGZpbGVzIGNoYW5nZWQsIDc3IGluc2VydGlvbnMoKykKPiA+ IAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gPiBpbmRleCA4YmQ2MWY5Li4zYWRmNjg5IDEw MDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ID4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ID4gQEAgLTY5NjUsNiArNjk2NSw5IEBA IGVudW0gewo+ID4gICNkZWZpbmUgR0FNTUFfTU9ERV9NT0RFXzEyQklUCSgyIDw8IDApCj4gPiAg I2RlZmluZSBHQU1NQV9NT0RFX01PREVfU1BMSVQJKDMgPDwgMCkKPiA+ICAKPiA+ICsjZGVmaW5l IFBSRV9DU0NfR0FNTUFfRU5BQkxFCSgxIDw8IDMxKQo+ID4gKyNkZWZpbmUgUE9TVF9DU0NfR0FN TUFfRU5BQkxFCSgxIDw8IDMwKQo+ID4gKwo+ID4gIC8qIERNQy9DU1IgKi8KPiA+ICAjZGVmaW5l IENTUl9QUk9HUkFNKGkpCQlfTU1JTygweDgwMDAwICsgKGkpICogNCkKPiA+ICAjZGVmaW5lIENT Ul9TU1BfQkFTRV9BRERSX0dFTjkJMHgwMDAwMkZDMAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9j b2xvci5jCj4gPiBpbmRleCA1MTI3ZGEyLi4xMmM2NTlmIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfY29sb3IuYwo+ID4gQEAgLTQyNCw2ICs0MjQsNyBAQCBzdGF0aWMgdm9pZCBiZHdf bG9hZF9nYW1tYV9sdXQoc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZSwgdTMyIG9mZnNldCkK PiA+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShzdGF0ZS0+ Y3J0Yy0+ZGV2KTsKPiA+ICAJZW51bSBwaXBlIHBpcGUgPSB0b19pbnRlbF9jcnRjKHN0YXRlLT5j cnRjKS0+cGlwZTsKPiA+ICAJdWludDMyX3QgaSwgbHV0X3NpemUgPSBJTlRFTF9JTkZPKGRldl9w cml2KS0+Y29sb3IuZ2FtbWFfbHV0X3NpemU7Cj4gPiArCXVpbnQzMl90IHRtcDsKPiA+ICAKPiA+ ICAJV0FSTl9PTihvZmZzZXQgJiB+UEFMX1BSRUNfSU5ERVhfVkFMVUVfTUFTSyk7Cj4gPiAgCj4g PiBAQCAtNDY0LDYgKzQ2NSwxMSBAQCBzdGF0aWMgdm9pZCBiZHdfbG9hZF9nYW1tYV9sdXQoc3Ry dWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZSwgdTMyIG9mZnNldCkKPiA+ICAJCUk5MTVfV1JJVEUo UFJFQ19QQUxfR0NfTUFYKHBpcGUsIDEpLCAoMSA8PCAxNikgLSAxKTsKPiA+ICAJCUk5MTVfV1JJ VEUoUFJFQ19QQUxfR0NfTUFYKHBpcGUsIDIpLCAoMSA8PCAxNikgLSAxKTsKPiA+ICAJfQo+ID4g Kwo+ID4gKwlpZiAoSVNfSUNFTEFLRShkZXZfcHJpdikpIHsKPiAKPiBXZSBwcm9iYWJseSB3YW50 IHRvIGRvICJJTlRFTF9HRU4oZGV2X3ByaXYpID49IDExIiBoZXJlIHRvIGZ1dHVyZS1wcm9vZgo+ IHRoaXMgYWdhaW5zdCBmdXR1cmUgZ2VuJ3MgKG9yIG90aGVyIHBsYXRmb3JtcyB0aGF0IG1pZ2h0 IG1hdGNoIGdlbjExCj4gZGVzaWduIHdpdGhvdXQgYmVpbmcgY2xhc3NpZmllZCBhcyBpY2VsYWtl KS4KPiAKPiA+ICsJCXRtcCA9IEk5MTVfUkVBRChHQU1NQV9NT0RFKHBpcGUpKTsKPiA+ICsJCUk5 MTVfV1JJVEUoR0FNTUFfTU9ERShwaXBlKSwgdG1wIHwgUE9TVF9DU0NfR0FNTUFfRU5BQkxFKTsK PiA+ICsJfQo+IAo+IFdlIGdlbmVyYWxseSB0cnkgdG8gYXZvaWQgcmVhZC1tb2RpZnktd3JpdGUg YXBwcm9hY2hlcyB0byB1cGRhdGluZwo+IHJlZ2lzdGVyczsgaXQncyBiZXR0ZXIgdG8gYnVpbGQg dGhlIGZ1bGwgcmVnaXN0ZXIgdmFsdWUgZnJvbSBzY3JhdGNoIHRvCj4gbWFrZSBzdXJlIHdlIGtu b3cgZXhhY3RseSB3aGF0J3MgaW4gaXQuCj4gCj4gVGhlcmUgYXJlIGEgZmV3IHBsYWNlcyBpbiB0 aGlzIHBhdGNoIHlvdSBkbyBhIHItbS13IGN5Y2xlLiAgSSdkIHN1Z2dlc3QKPiB3ZSBhZGQgYW4g aW50ZWxfY3J0Y19zdGF0ZS0+Z2FtbWFfbW9kZSBmaWVsZCBhbmQgY2FsY3VsYXRlIGFsbCB0aGUK PiBhcHByb3ByaWF0ZSBiaXRzIGR1cmluZyB0aGUgYXRvbWljIGNoZWNrIHBoYXNlLiAgVGhlbiB3 ZSBjYW4ganVzdCBkbyBhCj4gCj4gICAgIGlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDExKQo+ ICAgICAgICAgSTkxNV9XUklURShHQU1NQV9NT0RFKHBpcGUpLCBpbnRlbF9jcnRjX3N0YXRlLT5n YW1tYV9tb2RlKTsKPiAKPiBvbmNlIHNvbWV3aGVyZSBtb3JlIGNlbnRyYWwgYW55IHRpbWUgY3J0 Y19zdGF0ZS0+Y29sb3JfbWdtdF9jaGFuZ2VkIGlzCj4gdHJ1ZS4KPiAKPiA+ICB9Cj4gPiAgCj4g PiAgLyogTG9hZHMgdGhlIHBhbGV0dGUvZ2FtbWEgdW5pdCBmb3IgdGhlIENSVEMgb24gQnJvYWR3 ZWxsKy4gKi8KPiA+IEBAIC01MjMsNiArNTI5LDUwIEBAIHN0YXRpYyB2b2lkIGdsa19sb2FkX2Rl Z2FtbWFfbHV0KHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUpCj4gPiAgCQlJOTE1X1dSSVRF KFBSRV9DU0NfR0FNQ19EQVRBKHBpcGUpLCAoMSA8PCAxNikpOwo+ID4gIH0KPiA+ICAKPiA+ICtz dGF0aWMgdm9pZCBpY2xfbG9hZF9kZWdhbW1hX2x1dChzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0 YXRlKQo+ID4gK3sKPiA+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShzdGF0ZS0+Y3J0Yy0+ZGV2KTsKPiA+ICsJZW51bSBwaXBlIHBpcGUgPSB0b19pbnRlbF9j cnRjKHN0YXRlLT5jcnRjKS0+cGlwZTsKPiA+ICsJY29uc3QgdWludDMyX3QgbHV0X3NpemUgPSAz MzsKPiAKPiBJc24ndCB0aGlzIHRoZSB2YWx1ZSBmcm9tIElOVEVMX0lORk8oZGV2KS0+Y29sb3Iu ZGVnYW1tYV9sdXRfc2l6ZT8KPiBBY3R1YWxseSwgdXBvbiBjbG9zZXIgaW5zcGVjdGlvbiBpdCBs b29rcyBsaWtlIExVVCBzaXplLCByYW5nZXMsIGV0Yy4gaXMKPiBzb3J0IG9mIGNvbXBsaWNhdGVk OyBtb3JlIGNvbW1lbnRzIGZhcnRoZXIgZG93bi4KPiAKPiA+ICsJdWludDMyX3QgdG1wLCBpOwo+ ID4gKwo+ID4gKwkvKgo+ID4gKwkgKiBXaGVuIHNldHRpbmcgdGhlIGF1dG8taW5jcmVtZW50IGJp dCwgdGhlIGhhcmR3YXJlIHNlZW1zIHRvCj4gPiArCSAqIGlnbm9yZSB0aGUgaW5kZXggYml0cywg c28gd2UgbmVlZCB0byByZXNldCBpdCB0byBpbmRleCAwCj4gPiArCSAqIHNlcGFyYXRlbHkuCj4g PiArCSAqLwo+IAo+IFRoZSBmaW5hbCBzZW50ZW5jZSBvZiB0aGUgYnNwZWMgZGVzY3JpcHRpb24g c2F5cyAoZW1waGFzaXMgbWluZSk6Cj4gCj4gICAgICAgICAiV2hpbGUgaW4gYXV0byBpbmNyZW1l bnQgbW9kZSwgYWZ0ZXIgcGVyZm9ybWluZyByZWFkcyBvciB3cml0ZXMKPiAgICAgICAgIHRvIG9u bHkgcGFydCBvZiB0aGUgcmFuZ2UsIHRoZSBhdXRvIGluY3JlbWVudCBiaXQgbXVzdCBiZQo+ICAg ICAgICAgY2xlYXJlZCAqYmVmb3JlKiByZXNldHRpbmcgdGhlIGluZGV4IHZhbHVlLiIKPiAKPiBz byBJIHN1c3BlY3QgaXQncyB0ZWNobmljYWxseSB0aGUgZmlyc3Qgd3JpdGUgKHdoaWNoIGRpc2Fi bGVzIHRoZQo+IGF1dG8taW5jcmVtZW50KSB0aGF0IGlnbm9yZXMgdGhlIGluZGV4IGJpdHMuICBU aGVuIHlvdXIgc2Vjb25kIHdyaXRlCj4gYm90aCBzZXRzIHRoZSBpbmRleCBiaXRzICh0byAwKSBh bmQgdHVybnMgYXV0by1pbmNyZW1lbnQgYmFjayBvbi4KPiAKPiA+ICsJSTkxNV9XUklURShQUkVf Q1NDX0dBTUNfSU5ERVgocGlwZSksIDApOwo+ID4gKwlJOTE1X1dSSVRFKFBSRV9DU0NfR0FNQ19J TkRFWChwaXBlKSwgUFJFX0NTQ19HQU1DX0FVVE9fSU5DUkVNRU5UKTsKPiA+ICsKPiA+ICsJaWYg KHN0YXRlLT5kZWdhbW1hX2x1dCkgewo+ID4gKwkJc3RydWN0IGRybV9jb2xvcl9sdXQgKmx1dCA9 Cj4gPiArCQkJKHN0cnVjdCBkcm1fY29sb3JfbHV0ICopIHN0YXRlLT5kZWdhbW1hX2x1dC0+ZGF0 YTsKPiA+ICsJCWZvciAoaSA9IDA7IGkgPCBsdXRfc2l6ZTsgaSsrKSB7Cj4gPiArCQkJLyoKPiA+ ICsJCQkgKiBDdXJyZW50bHkgQ2xhbXAgaW5wdXQgdG8gMS4wLgo+ID4gKwkJCSAqIFRvRG86IEV4 dGVuZCB0byBtYXggNy4wLgo+ID4gKwkJCSAqLwo+IAo+IFRoaXMgY29tbWVudCBpcyBhIGxpdHRs ZSBjb25mdXNpbmcuICBJIHRoaW5rIHdoYXQgeW91IG1lYW4gaXMgdGhhdCB0aGlzCj4gZm9yKCkg bG9vcCBjb3ZlcnMgdGhlIGZpcnN0IDMzIGVudHJpZXMsIHdoaWNoIHJlcHJlc2VudCB0aGUgcmFu Z2Ugb2YKPiBpbnB1dHMgZnJvbSAwIHRvIDEuMC4gIFRoZSByZW1haW5pbmcgdHdvIGVudHJpZXMg YXJlIGZvciBleHRlbmRlZCByYW5nZQo+IG9mIGlucHV0cyAocmVwcmVzZW50aW5nIGdhbW1hIHZh bHVlcyBhdCAzLjAgYW5kIDcuMCkgYW5kIGFyZSBub3QgZXZlbmx5Cj4gc3BhY2VkLgo+IAo+ID4g KwkJCXVpbnQzMl90IHdvcmQgPQo+ID4gKwkJCQlkcm1fY29sb3JfbHV0X2V4dHJhY3QobHV0W2ld LnJlZCwgMTYpOwo+ID4gKwkJCUk5MTVfV1JJVEUoUFJFX0NTQ19HQU1DX0RBVEEocGlwZSksIHdv cmQpOwo+ID4gKwkJfQo+IAo+IEZvbGxvd2luZyB0aGUgbG9vcCBpcyB3aGVyZSB3ZSdkIG5lZWQg dG8gZGVhbCB3aXRoIHRoZSB0d28gZXh0ZW5kZWQKPiByYW5nZSBlbnRyaWVzLCByaWdodD8gIFNv IGlmIHdlIGxlYXZlIGRlYWxpbmcgd2l0aCBleHRlbmRlZCByYW5nZQo+IHByb3Blcmx5IGFzIGEg VE9ETyBmb3Igbm93LCB0aGVuIEkgdGhpbmsgd2Ugd2FudCB0byBmaWxsIHRoZW0gaW4gd2l0aAo+ IGxpbmVhciB2YWx1ZXMuICBFLmcuLAo+IAo+ICAgICAgSTkxNV9XUklURShQUkVfQ1NDX0dBTUNf REFUQShwaXBlKSwgMHgzMDAwMCk7Cj4gICAgICBJOTE1X1dSSVRFKFBSRV9DU0NfR0FNQ19EQVRB KHBpcGUpLCAweDcwMDAwKTsKCkFjdHVhbGx5LCBpdCBsb29rcyBsaWtlIHlvdSBhY3R1YWxseSBk byBzZXQgdGhlc2UgYXQgdGhlIGJvdHRvbSBvZiB0aGUKZnVuY3Rpb24gKGFuZCBjbGFtcCB0byAx LjApLCBzbyB0aGF0J3MgZmluZSBhbmQgeW91IGNhbiBkaXNyZWdhcmQgdGhpcwpjb21tZW50LgoK Ck1hdHQKCj4gCj4gQWxzbywgSSBiZWxpZXZlIHRoZSAxLjAgaW5wdXQgY2FuIGhhdmUgYSB2YWx1 ZSA+PSAxLjAsIHNvIHdlIG5lZWQgdG8KPiBleHRyYWN0IG1vcmUgYml0cyBvZiBwcmVjaXNpb24g Zm9yIHRoYXQuCj4gCj4gSSdtIG5vdCByZWFsbHkgYW4gZXhwZXJ0IG9uIGhvdyB0aGlzIGNvbG9y IG1hbmFnZW1lbnQgc3R1ZmYgZ2V0cyB1c2VkIGJ5Cj4gdXNlcnNwYWNlIGluIHByYWN0aWNlLCBi dXQgSSBzdXNwZWN0IG91ciBjdXJyZW50IEFCSSBwcm9iYWJseSBuZWVkcyB0bwo+IGJlIGF1Z21l bnRlZCB0byBkZWFsIG1vcmUgY29tcGxpY2F0ZWQgZ2FtbWEgTFVUJ3MgdGhhbiB3ZSBzdXBwb3J0 IHRvZGF5Lgo+IEUuZy4sIGRpZmZlcmVudCByYW5nZXMgd2l0aCBkaWZmZXJlbnQgaW5wdXQgdmFs dWVzLCBwcmVjaXNpb24sIGV0Yy4gIERvCj4gd2UgaGF2ZSBhIGNsZWFyIHVuZGVyc3RhbmRpbmcg b2YgaWYvaG93IHVzZXJzcGFjZSB3YW50cyB0byBkZWFsIHdpdGgKPiBleHRlbmRlZCByYW5nZT8K PiAKPiA+ICsJfSBlbHNlIHsKPiA+ICsJCS8qIGxvYWQgYSBsaW5lYXIgdGFibGUuICovCj4gPiAr CQlmb3IgKGkgPSAwOyBpIDwgbHV0X3NpemU7IGkrKykgewo+ID4gKwkJCXVpbnQzMl90IHYgPSAo aSAqICgxIDw8IDE2KSkgLyAobHV0X3NpemUgLSAxKTsKPiA+ICsKPiA+ICsJCQlJOTE1X1dSSVRF KFBSRV9DU0NfR0FNQ19EQVRBKHBpcGUpLCB2KTsKPiA+ICsJCX0KPiAKPiBBcyBhYm92ZSwgSSB0 aGluayB3ZSBzaG91bGQgc3RpbGwgZmlsbCBpbiB0aGUgbGFzdCB0d28gZW50cmllcyB3aXRoCj4g bGluZWFyIHZhbHVlcyBmb3Igbm93Lgo+IAo+ID4gKwl9Cj4gPiArCj4gPiArCXRtcCA9IEk5MTVf UkVBRChHQU1NQV9NT0RFKHBpcGUpKTsKPiA+ICsJSTkxNV9XUklURShHQU1NQV9NT0RFKHBpcGUp LCB0bXAgfCBQUkVfQ1NDX0dBTU1BX0VOQUJMRSk7Cj4gPiArCj4gPiArCS8qIENsYW1wIHZhbHVl cyA+IDEuMC4gKi8KPiA+ICsJd2hpbGUgKGkrKyA8IDM1KQo+ID4gKwkJSTkxNV9XUklURShQUkVf Q1NDX0dBTUNfREFUQShwaXBlKSwgKDEgPDwgMTYpKTsKPiA+ICt9Cj4gPiArCj4gPiAgc3RhdGlj IHZvaWQgZ2xrX2xvYWRfbHV0cyhzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRlKQo+ID4gIHsK PiA+ICAJc3RydWN0IGRybV9jcnRjICpjcnRjID0gc3RhdGUtPmNydGM7Cj4gPiBAQCAtNjA2LDYg KzY1NiwyOCBAQCBzdGF0aWMgdm9pZCBjaGVycnl2aWV3X2xvYWRfbHV0cyhzdHJ1Y3QgZHJtX2Ny dGNfc3RhdGUgKnN0YXRlKQo+ID4gIAlpOXh4X2xvYWRfbHV0c19pbnRlcm5hbChjcnRjLCBOVUxM LCB0b19pbnRlbF9jcnRjX3N0YXRlKHN0YXRlKSk7Cj4gPiAgfQo+ID4gIAo+ID4gK3N0YXRpYyB2 b2lkIGljbF9sb2FkX2x1dHMoc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZSkKPiA+ICt7Cj4g PiArCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IHN0YXRlLT5jcnRjOwo+ID4gKwlzdHJ1Y3QgZHJt X2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2Owo+ID4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Cj4gPiArCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpp bnRlbF9zdGF0ZSA9IHRvX2ludGVsX2NydGNfc3RhdGUoc3RhdGUpOwo+ID4gKwllbnVtIHBpcGUg cGlwZSA9IHRvX2ludGVsX2NydGMoY3J0YyktPnBpcGU7Cj4gPiArCj4gPiArCWljbF9sb2FkX2Rl Z2FtbWFfbHV0KHN0YXRlKTsKPiA+ICsKPiA+ICsJaWYgKGNydGNfc3RhdGVfaXNfbGVnYWN5X2dh bW1hKHN0YXRlKSkgewo+ID4gKwkJaGFzd2VsbF9sb2FkX2x1dHMoc3RhdGUpOwo+ID4gKwkJcmV0 dXJuOwo+ID4gKwl9Cj4gCj4gVGhpcyBibG9jayB3aWxsIG9ubHkgcnVuIGlmIHRoZXJlJ3Mgbm8g ZGVnYW1tYSBMVVQsIHNvIGl0IG1pZ2h0IGJlCj4gc2xpZ2h0bHkgZWFzaWVyIHRvIHJlYWQgdGhl IGNvZGUgaWYgd2UgbW92ZSB0aGlzIGFib3ZlIHRoZQo+IGljbF9sb2FkX2RlZ2FtbWFfbHV0KCkg Y2FsbCBhYm92ZT8KPiAKPiA+ICsKPiA+ICsJYmR3X2xvYWRfZ2FtbWFfbHV0KHN0YXRlLCAwKTsK PiA+ICsJaW50ZWxfc3RhdGUtPmdhbW1hX21vZGUgPSBHQU1NQV9NT0RFX01PREVfMTBCSVQ7Cj4g Cj4gSSB0aGluayB3ZSBhbHNvIG5lZWQgdG8gdXBkYXRlIFBBTF9FWFRfR0NfTUFYIHdpdGggYSBG UDMuMTYgZm9yIHRoZSAzLjAKPiBpbnB1dCB2YWx1ZSBhbmQgdGhlIFBBTF9FWFQyX0dDX01BWCBm b3IgdGhlIDcuMCBpbnB1dC4gIEFzc3VtaW5nIHdlIHdhbnQKPiB0byBsZWF2ZSB0aGUgQUJJIGRl dGFpbHMgb2YgdGhpcyB1bnRpbCBsYXRlciwgSSBhc3N1bWUgd2UnZCBoYW5kbGUgdGhpcwo+IHdp dGggbGluZWFyIHZhbHVlcyBsaWtlIEkgc3VnZ2VzdGVkIGZvciB0aGUgZGVnYW1tYSBleHRlbmRl ZCByYW5nZQo+IGVudHJpZXM/Cj4gCj4gCj4gTWF0dAo+IAo+ID4gKwo+ID4gKwlJOTE1X1dSSVRF KEdBTU1BX01PREUocGlwZSksIEk5MTVfUkVBRChHQU1NQV9NT0RFKHBpcGUpKSB8Cj4gPiArCQkJ aW50ZWxfc3RhdGUtPmdhbW1hX21vZGUpOwo+ID4gK30KPiA+ICsKPiA+ICB2b2lkIGludGVsX2Nv bG9yX2xvYWRfbHV0cyhzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gPiAgewo+ ID4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Y19zdGF0ZS0+Y3J0Yy0+ZGV2Owo+ID4g QEAgLTY2Miw2ICs3MzQsOCBAQCB2b2lkIGludGVsX2NvbG9yX2luaXQoc3RydWN0IGRybV9jcnRj ICpjcnRjKQo+ID4gIAl9IGVsc2UgaWYgKElTX0dFTUlOSUxBS0UoZGV2X3ByaXYpIHx8IElTX0NB Tk5PTkxBS0UoZGV2X3ByaXYpKSB7Cj4gPiAgCQlkZXZfcHJpdi0+ZGlzcGxheS5sb2FkX2NzY19t YXRyaXggPSBpbGtfbG9hZF9jc2NfbWF0cml4Owo+ID4gIAkJZGV2X3ByaXYtPmRpc3BsYXkubG9h ZF9sdXRzID0gZ2xrX2xvYWRfbHV0czsKPiA+ICsJfSBlbHNlIGlmIChJU19JQ0VMQUtFKGRldl9w cml2KSkgewo+ID4gKwkJZGV2X3ByaXYtPmRpc3BsYXkubG9hZF9sdXRzID0gaWNsX2xvYWRfbHV0 czsKPiA+ICAJfSBlbHNlIHsKPiA+ICAJCWRldl9wcml2LT5kaXNwbGF5LmxvYWRfbHV0cyA9IGk5 eHhfbG9hZF9sdXRzOwo+ID4gIAl9Cj4gPiAtLSAKPiA+IDEuOS4xCj4gPiAKPiA+IF9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiBJbnRlbC1nZnggbWFp bGluZyBsaXN0Cj4gPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiBodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo+IAo+IC0t IAo+IE1hdHQgUm9wZXIKPiBHcmFwaGljcyBTb2Z0d2FyZSBFbmdpbmVlcgo+IElvVEcgUGxhdGZv cm0gRW5hYmxpbmcgJiBEZXZlbG9wbWVudAo+IEludGVsIENvcnBvcmF0aW9uCj4gKDkxNikgMzU2 LTI3OTUKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngKCi0tIApNYXR0IFJvcGVyCkdyYXBoaWNzIFNvZnR3YXJlIEVuZ2luZWVyCklvVEcgUGxhdGZv cm0gRW5hYmxpbmcgJiBEZXZlbG9wbWVudApJbnRlbCBDb3Jwb3JhdGlvbgooOTE2KSAzNTYtMjc5 NQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK