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: Tue, 30 Oct 2018 17:03:57 -0700 Message-ID: <20181031000357.GJ5732@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> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 52F646E1FF for ; Wed, 31 Oct 2018 00:03:58 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1540393213-11907-2-git-send-email-uma.shankar@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 T24gV2VkLCBPY3QgMjQsIDIwMTggYXQgMDg6MzA6MTFQTSArMDUzMCwgVW1hIFNoYW5rYXIgd3Jv dGU6Cj4gQWRkIHN1cHBvcnQgZm9yIGljbCBwaXBlIGRlZ2FtbWEgYW5kIGdhbW1hLgo+IAo+IHYy OiBSZW1vdmVkIGEgUE9TVElOR19SRUFEIGFuZCBjb3JyZWN0ZWQgdGhlIEJpdAo+IERlZmluaXRp b24gYXMgcGVyIE1hYXJ0ZW4ncyBjb21tZW50cy4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBVbWEgU2hh bmthciA8dW1hLnNoYW5rYXJAaW50ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3JlZy5oICAgIHwgIDMgKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29s b3IuYyB8IDc0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIDIgZmls ZXMgY2hhbmdlZCwgNzcgaW5zZXJ0aW9ucygrKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ IGluZGV4IDhiZDYxZjkuLjNhZGY2ODkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9yZWcuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiBA QCAtNjk2NSw2ICs2OTY1LDkgQEAgZW51bSB7Cj4gICNkZWZpbmUgR0FNTUFfTU9ERV9NT0RFXzEy QklUCSgyIDw8IDApCj4gICNkZWZpbmUgR0FNTUFfTU9ERV9NT0RFX1NQTElUCSgzIDw8IDApCj4g IAo+ICsjZGVmaW5lIFBSRV9DU0NfR0FNTUFfRU5BQkxFCSgxIDw8IDMxKQo+ICsjZGVmaW5lIFBP U1RfQ1NDX0dBTU1BX0VOQUJMRQkoMSA8PCAzMCkKPiArCj4gIC8qIERNQy9DU1IgKi8KPiAgI2Rl ZmluZSBDU1JfUFJPR1JBTShpKQkJX01NSU8oMHg4MDAwMCArIChpKSAqIDQpCj4gICNkZWZpbmUg Q1NSX1NTUF9CQVNFX0FERFJfR0VOOQkweDAwMDAyRkMwCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9j b2xvci5jCj4gaW5kZXggNTEyN2RhMi4uMTJjNjU5ZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9jb2xvci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfY29sb3IuYwo+IEBAIC00MjQsNiArNDI0LDcgQEAgc3RhdGljIHZvaWQgYmR3X2xvYWRfZ2Ft bWFfbHV0KHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUsIHUzMiBvZmZzZXQpCj4gIAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KHN0YXRlLT5jcnRjLT5kZXYp Owo+ICAJZW51bSBwaXBlIHBpcGUgPSB0b19pbnRlbF9jcnRjKHN0YXRlLT5jcnRjKS0+cGlwZTsK PiAgCXVpbnQzMl90IGksIGx1dF9zaXplID0gSU5URUxfSU5GTyhkZXZfcHJpdiktPmNvbG9yLmdh bW1hX2x1dF9zaXplOwo+ICsJdWludDMyX3QgdG1wOwo+ICAKPiAgCVdBUk5fT04ob2Zmc2V0ICYg flBBTF9QUkVDX0lOREVYX1ZBTFVFX01BU0spOwo+ICAKPiBAQCAtNDY0LDYgKzQ2NSwxMSBAQCBz dGF0aWMgdm9pZCBiZHdfbG9hZF9nYW1tYV9sdXQoc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0 ZSwgdTMyIG9mZnNldCkKPiAgCQlJOTE1X1dSSVRFKFBSRUNfUEFMX0dDX01BWChwaXBlLCAxKSwg KDEgPDwgMTYpIC0gMSk7Cj4gIAkJSTkxNV9XUklURShQUkVDX1BBTF9HQ19NQVgocGlwZSwgMiks ICgxIDw8IDE2KSAtIDEpOwo+ICAJfQo+ICsKPiArCWlmIChJU19JQ0VMQUtFKGRldl9wcml2KSkg ewoKV2UgcHJvYmFibHkgd2FudCB0byBkbyAiSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMSIgaGVy ZSB0byBmdXR1cmUtcHJvb2YKdGhpcyBhZ2FpbnN0IGZ1dHVyZSBnZW4ncyAob3Igb3RoZXIgcGxh dGZvcm1zIHRoYXQgbWlnaHQgbWF0Y2ggZ2VuMTEKZGVzaWduIHdpdGhvdXQgYmVpbmcgY2xhc3Np ZmllZCBhcyBpY2VsYWtlKS4KCj4gKwkJdG1wID0gSTkxNV9SRUFEKEdBTU1BX01PREUocGlwZSkp Owo+ICsJCUk5MTVfV1JJVEUoR0FNTUFfTU9ERShwaXBlKSwgdG1wIHwgUE9TVF9DU0NfR0FNTUFf RU5BQkxFKTsKPiArCX0KCldlIGdlbmVyYWxseSB0cnkgdG8gYXZvaWQgcmVhZC1tb2RpZnktd3Jp dGUgYXBwcm9hY2hlcyB0byB1cGRhdGluZwpyZWdpc3RlcnM7IGl0J3MgYmV0dGVyIHRvIGJ1aWxk IHRoZSBmdWxsIHJlZ2lzdGVyIHZhbHVlIGZyb20gc2NyYXRjaCB0bwptYWtlIHN1cmUgd2Uga25v dyBleGFjdGx5IHdoYXQncyBpbiBpdC4KClRoZXJlIGFyZSBhIGZldyBwbGFjZXMgaW4gdGhpcyBw YXRjaCB5b3UgZG8gYSByLW0tdyBjeWNsZS4gIEknZCBzdWdnZXN0CndlIGFkZCBhbiBpbnRlbF9j cnRjX3N0YXRlLT5nYW1tYV9tb2RlIGZpZWxkIGFuZCBjYWxjdWxhdGUgYWxsIHRoZQphcHByb3By aWF0ZSBiaXRzIGR1cmluZyB0aGUgYXRvbWljIGNoZWNrIHBoYXNlLiAgVGhlbiB3ZSBjYW4ganVz dCBkbyBhCgogICAgaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTEpCiAgICAgICAgSTkxNV9X UklURShHQU1NQV9NT0RFKHBpcGUpLCBpbnRlbF9jcnRjX3N0YXRlLT5nYW1tYV9tb2RlKTsKCm9u Y2Ugc29tZXdoZXJlIG1vcmUgY2VudHJhbCBhbnkgdGltZSBjcnRjX3N0YXRlLT5jb2xvcl9tZ210 X2NoYW5nZWQgaXMKdHJ1ZS4KCj4gIH0KPiAgCj4gIC8qIExvYWRzIHRoZSBwYWxldHRlL2dhbW1h IHVuaXQgZm9yIHRoZSBDUlRDIG9uIEJyb2Fkd2VsbCsuICovCj4gQEAgLTUyMyw2ICs1MjksNTAg QEAgc3RhdGljIHZvaWQgZ2xrX2xvYWRfZGVnYW1tYV9sdXQoc3RydWN0IGRybV9jcnRjX3N0YXRl ICpzdGF0ZSkKPiAgCQlJOTE1X1dSSVRFKFBSRV9DU0NfR0FNQ19EQVRBKHBpcGUpLCAoMSA8PCAx NikpOwo+ICB9Cj4gIAo+ICtzdGF0aWMgdm9pZCBpY2xfbG9hZF9kZWdhbW1hX2x1dChzdHJ1Y3Qg ZHJtX2NydGNfc3RhdGUgKnN0YXRlKQo+ICt7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KHN0YXRlLT5jcnRjLT5kZXYpOwo+ICsJZW51bSBwaXBlIHBpcGUg PSB0b19pbnRlbF9jcnRjKHN0YXRlLT5jcnRjKS0+cGlwZTsKPiArCWNvbnN0IHVpbnQzMl90IGx1 dF9zaXplID0gMzM7CgpJc24ndCB0aGlzIHRoZSB2YWx1ZSBmcm9tIElOVEVMX0lORk8oZGV2KS0+ Y29sb3IuZGVnYW1tYV9sdXRfc2l6ZT8KQWN0dWFsbHksIHVwb24gY2xvc2VyIGluc3BlY3Rpb24g aXQgbG9va3MgbGlrZSBMVVQgc2l6ZSwgcmFuZ2VzLCBldGMuIGlzCnNvcnQgb2YgY29tcGxpY2F0 ZWQ7IG1vcmUgY29tbWVudHMgZmFydGhlciBkb3duLgoKPiArCXVpbnQzMl90IHRtcCwgaTsKPiAr Cj4gKwkvKgo+ICsJICogV2hlbiBzZXR0aW5nIHRoZSBhdXRvLWluY3JlbWVudCBiaXQsIHRoZSBo YXJkd2FyZSBzZWVtcyB0bwo+ICsJICogaWdub3JlIHRoZSBpbmRleCBiaXRzLCBzbyB3ZSBuZWVk IHRvIHJlc2V0IGl0IHRvIGluZGV4IDAKPiArCSAqIHNlcGFyYXRlbHkuCj4gKwkgKi8KClRoZSBm aW5hbCBzZW50ZW5jZSBvZiB0aGUgYnNwZWMgZGVzY3JpcHRpb24gc2F5cyAoZW1waGFzaXMgbWlu ZSk6CgogICAgICAgICJXaGlsZSBpbiBhdXRvIGluY3JlbWVudCBtb2RlLCBhZnRlciBwZXJmb3Jt aW5nIHJlYWRzIG9yIHdyaXRlcwogICAgICAgIHRvIG9ubHkgcGFydCBvZiB0aGUgcmFuZ2UsIHRo ZSBhdXRvIGluY3JlbWVudCBiaXQgbXVzdCBiZQogICAgICAgIGNsZWFyZWQgKmJlZm9yZSogcmVz ZXR0aW5nIHRoZSBpbmRleCB2YWx1ZS4iCgpzbyBJIHN1c3BlY3QgaXQncyB0ZWNobmljYWxseSB0 aGUgZmlyc3Qgd3JpdGUgKHdoaWNoIGRpc2FibGVzIHRoZQphdXRvLWluY3JlbWVudCkgdGhhdCBp Z25vcmVzIHRoZSBpbmRleCBiaXRzLiAgVGhlbiB5b3VyIHNlY29uZCB3cml0ZQpib3RoIHNldHMg dGhlIGluZGV4IGJpdHMgKHRvIDApIGFuZCB0dXJucyBhdXRvLWluY3JlbWVudCBiYWNrIG9uLgoK PiArCUk5MTVfV1JJVEUoUFJFX0NTQ19HQU1DX0lOREVYKHBpcGUpLCAwKTsKPiArCUk5MTVfV1JJ VEUoUFJFX0NTQ19HQU1DX0lOREVYKHBpcGUpLCBQUkVfQ1NDX0dBTUNfQVVUT19JTkNSRU1FTlQp Owo+ICsKPiArCWlmIChzdGF0ZS0+ZGVnYW1tYV9sdXQpIHsKPiArCQlzdHJ1Y3QgZHJtX2NvbG9y X2x1dCAqbHV0ID0KPiArCQkJKHN0cnVjdCBkcm1fY29sb3JfbHV0ICopIHN0YXRlLT5kZWdhbW1h X2x1dC0+ZGF0YTsKPiArCQlmb3IgKGkgPSAwOyBpIDwgbHV0X3NpemU7IGkrKykgewo+ICsJCQkv Kgo+ICsJCQkgKiBDdXJyZW50bHkgQ2xhbXAgaW5wdXQgdG8gMS4wLgo+ICsJCQkgKiBUb0RvOiBF eHRlbmQgdG8gbWF4IDcuMC4KPiArCQkJICovCgpUaGlzIGNvbW1lbnQgaXMgYSBsaXR0bGUgY29u ZnVzaW5nLiAgSSB0aGluayB3aGF0IHlvdSBtZWFuIGlzIHRoYXQgdGhpcwpmb3IoKSBsb29wIGNv dmVycyB0aGUgZmlyc3QgMzMgZW50cmllcywgd2hpY2ggcmVwcmVzZW50IHRoZSByYW5nZSBvZgpp bnB1dHMgZnJvbSAwIHRvIDEuMC4gIFRoZSByZW1haW5pbmcgdHdvIGVudHJpZXMgYXJlIGZvciBl eHRlbmRlZCByYW5nZQpvZiBpbnB1dHMgKHJlcHJlc2VudGluZyBnYW1tYSB2YWx1ZXMgYXQgMy4w IGFuZCA3LjApIGFuZCBhcmUgbm90IGV2ZW5seQpzcGFjZWQuCgo+ICsJCQl1aW50MzJfdCB3b3Jk ID0KPiArCQkJCWRybV9jb2xvcl9sdXRfZXh0cmFjdChsdXRbaV0ucmVkLCAxNik7Cj4gKwkJCUk5 MTVfV1JJVEUoUFJFX0NTQ19HQU1DX0RBVEEocGlwZSksIHdvcmQpOwo+ICsJCX0KCkZvbGxvd2lu ZyB0aGUgbG9vcCBpcyB3aGVyZSB3ZSdkIG5lZWQgdG8gZGVhbCB3aXRoIHRoZSB0d28gZXh0ZW5k ZWQKcmFuZ2UgZW50cmllcywgcmlnaHQ/ICBTbyBpZiB3ZSBsZWF2ZSBkZWFsaW5nIHdpdGggZXh0 ZW5kZWQgcmFuZ2UKcHJvcGVybHkgYXMgYSBUT0RPIGZvciBub3csIHRoZW4gSSB0aGluayB3ZSB3 YW50IHRvIGZpbGwgdGhlbSBpbiB3aXRoCmxpbmVhciB2YWx1ZXMuICBFLmcuLAoKICAgICBJOTE1 X1dSSVRFKFBSRV9DU0NfR0FNQ19EQVRBKHBpcGUpLCAweDMwMDAwKTsKICAgICBJOTE1X1dSSVRF KFBSRV9DU0NfR0FNQ19EQVRBKHBpcGUpLCAweDcwMDAwKTsKCkFsc28sIEkgYmVsaWV2ZSB0aGUg MS4wIGlucHV0IGNhbiBoYXZlIGEgdmFsdWUgPj0gMS4wLCBzbyB3ZSBuZWVkIHRvCmV4dHJhY3Qg bW9yZSBiaXRzIG9mIHByZWNpc2lvbiBmb3IgdGhhdC4KCkknbSBub3QgcmVhbGx5IGFuIGV4cGVy dCBvbiBob3cgdGhpcyBjb2xvciBtYW5hZ2VtZW50IHN0dWZmIGdldHMgdXNlZCBieQp1c2Vyc3Bh Y2UgaW4gcHJhY3RpY2UsIGJ1dCBJIHN1c3BlY3Qgb3VyIGN1cnJlbnQgQUJJIHByb2JhYmx5IG5l ZWRzIHRvCmJlIGF1Z21lbnRlZCB0byBkZWFsIG1vcmUgY29tcGxpY2F0ZWQgZ2FtbWEgTFVUJ3Mg dGhhbiB3ZSBzdXBwb3J0IHRvZGF5LgpFLmcuLCBkaWZmZXJlbnQgcmFuZ2VzIHdpdGggZGlmZmVy ZW50IGlucHV0IHZhbHVlcywgcHJlY2lzaW9uLCBldGMuICBEbwp3ZSBoYXZlIGEgY2xlYXIgdW5k ZXJzdGFuZGluZyBvZiBpZi9ob3cgdXNlcnNwYWNlIHdhbnRzIHRvIGRlYWwgd2l0aApleHRlbmRl ZCByYW5nZT8KCj4gKwl9IGVsc2Ugewo+ICsJCS8qIGxvYWQgYSBsaW5lYXIgdGFibGUuICovCj4g KwkJZm9yIChpID0gMDsgaSA8IGx1dF9zaXplOyBpKyspIHsKPiArCQkJdWludDMyX3QgdiA9IChp ICogKDEgPDwgMTYpKSAvIChsdXRfc2l6ZSAtIDEpOwo+ICsKPiArCQkJSTkxNV9XUklURShQUkVf Q1NDX0dBTUNfREFUQShwaXBlKSwgdik7Cj4gKwkJfQoKQXMgYWJvdmUsIEkgdGhpbmsgd2Ugc2hv dWxkIHN0aWxsIGZpbGwgaW4gdGhlIGxhc3QgdHdvIGVudHJpZXMgd2l0aApsaW5lYXIgdmFsdWVz IGZvciBub3cuCgo+ICsJfQo+ICsKPiArCXRtcCA9IEk5MTVfUkVBRChHQU1NQV9NT0RFKHBpcGUp KTsKPiArCUk5MTVfV1JJVEUoR0FNTUFfTU9ERShwaXBlKSwgdG1wIHwgUFJFX0NTQ19HQU1NQV9F TkFCTEUpOwo+ICsKPiArCS8qIENsYW1wIHZhbHVlcyA+IDEuMC4gKi8KPiArCXdoaWxlIChpKysg PCAzNSkKPiArCQlJOTE1X1dSSVRFKFBSRV9DU0NfR0FNQ19EQVRBKHBpcGUpLCAoMSA8PCAxNikp Owo+ICt9Cj4gKwo+ICBzdGF0aWMgdm9pZCBnbGtfbG9hZF9sdXRzKHN0cnVjdCBkcm1fY3J0Y19z dGF0ZSAqc3RhdGUpCj4gIHsKPiAgCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IHN0YXRlLT5jcnRj Owo+IEBAIC02MDYsNiArNjU2LDI4IEBAIHN0YXRpYyB2b2lkIGNoZXJyeXZpZXdfbG9hZF9sdXRz KHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUpCj4gIAlpOXh4X2xvYWRfbHV0c19pbnRlcm5h bChjcnRjLCBOVUxMLCB0b19pbnRlbF9jcnRjX3N0YXRlKHN0YXRlKSk7Cj4gIH0KPiAgCj4gK3N0 YXRpYyB2b2lkIGljbF9sb2FkX2x1dHMoc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZSkKPiAr ewo+ICsJc3RydWN0IGRybV9jcnRjICpjcnRjID0gc3RhdGUtPmNydGM7Cj4gKwlzdHJ1Y3QgZHJt X2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2Owo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gdG9faTkxNShkZXYpOwo+ICsJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmludGVs X3N0YXRlID0gdG9faW50ZWxfY3J0Y19zdGF0ZShzdGF0ZSk7Cj4gKwllbnVtIHBpcGUgcGlwZSA9 IHRvX2ludGVsX2NydGMoY3J0YyktPnBpcGU7Cj4gKwo+ICsJaWNsX2xvYWRfZGVnYW1tYV9sdXQo c3RhdGUpOwo+ICsKPiArCWlmIChjcnRjX3N0YXRlX2lzX2xlZ2FjeV9nYW1tYShzdGF0ZSkpIHsK PiArCQloYXN3ZWxsX2xvYWRfbHV0cyhzdGF0ZSk7Cj4gKwkJcmV0dXJuOwo+ICsJfQoKVGhpcyBi bG9jayB3aWxsIG9ubHkgcnVuIGlmIHRoZXJlJ3Mgbm8gZGVnYW1tYSBMVVQsIHNvIGl0IG1pZ2h0 IGJlCnNsaWdodGx5IGVhc2llciB0byByZWFkIHRoZSBjb2RlIGlmIHdlIG1vdmUgdGhpcyBhYm92 ZSB0aGUKaWNsX2xvYWRfZGVnYW1tYV9sdXQoKSBjYWxsIGFib3ZlPwoKPiArCj4gKwliZHdfbG9h ZF9nYW1tYV9sdXQoc3RhdGUsIDApOwo+ICsJaW50ZWxfc3RhdGUtPmdhbW1hX21vZGUgPSBHQU1N QV9NT0RFX01PREVfMTBCSVQ7CgpJIHRoaW5rIHdlIGFsc28gbmVlZCB0byB1cGRhdGUgUEFMX0VY VF9HQ19NQVggd2l0aCBhIEZQMy4xNiBmb3IgdGhlIDMuMAppbnB1dCB2YWx1ZSBhbmQgdGhlIFBB TF9FWFQyX0dDX01BWCBmb3IgdGhlIDcuMCBpbnB1dC4gIEFzc3VtaW5nIHdlIHdhbnQKdG8gbGVh dmUgdGhlIEFCSSBkZXRhaWxzIG9mIHRoaXMgdW50aWwgbGF0ZXIsIEkgYXNzdW1lIHdlJ2QgaGFu ZGxlIHRoaXMKd2l0aCBsaW5lYXIgdmFsdWVzIGxpa2UgSSBzdWdnZXN0ZWQgZm9yIHRoZSBkZWdh bW1hIGV4dGVuZGVkIHJhbmdlCmVudHJpZXM/CgoKTWF0dAoKPiArCj4gKwlJOTE1X1dSSVRFKEdB TU1BX01PREUocGlwZSksIEk5MTVfUkVBRChHQU1NQV9NT0RFKHBpcGUpKSB8Cj4gKwkJCWludGVs X3N0YXRlLT5nYW1tYV9tb2RlKTsKPiArfQo+ICsKPiAgdm9pZCBpbnRlbF9jb2xvcl9sb2FkX2x1 dHMoc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJt X2RldmljZSAqZGV2ID0gY3J0Y19zdGF0ZS0+Y3J0Yy0+ZGV2Owo+IEBAIC02NjIsNiArNzM0LDgg QEAgdm9pZCBpbnRlbF9jb2xvcl9pbml0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCX0gZWxz ZSBpZiAoSVNfR0VNSU5JTEFLRShkZXZfcHJpdikgfHwgSVNfQ0FOTk9OTEFLRShkZXZfcHJpdikp IHsKPiAgCQlkZXZfcHJpdi0+ZGlzcGxheS5sb2FkX2NzY19tYXRyaXggPSBpbGtfbG9hZF9jc2Nf bWF0cml4Owo+ICAJCWRldl9wcml2LT5kaXNwbGF5LmxvYWRfbHV0cyA9IGdsa19sb2FkX2x1dHM7 Cj4gKwl9IGVsc2UgaWYgKElTX0lDRUxBS0UoZGV2X3ByaXYpKSB7Cj4gKwkJZGV2X3ByaXYtPmRp c3BsYXkubG9hZF9sdXRzID0gaWNsX2xvYWRfbHV0czsKPiAgCX0gZWxzZSB7Cj4gIAkJZGV2X3By aXYtPmRpc3BsYXkubG9hZF9sdXRzID0gaTl4eF9sb2FkX2x1dHM7Cj4gIAl9Cj4gLS0gCj4gMS45 LjEKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngKCi0tIApNYXR0IFJvcGVyCkdyYXBoaWNzIFNvZnR3YXJlIEVuZ2luZWVyCklvVEcgUGxhdGZv cm0gRW5hYmxpbmcgJiBEZXZlbG9wbWVudApJbnRlbCBDb3Jwb3JhdGlvbgooOTE2KSAzNTYtMjc5 NQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK