From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: Re: [PATCH 04/13] drm/i915: Constify the state arguments to the color management stuff Date: Fri, 11 Jan 2019 16:42:01 -0800 Message-ID: <20190112004201.GW4563@mdroper-desk.amr.corp.intel.com> References: <20190111170823.4441-1-ville.syrjala@linux.intel.com> <20190111170823.4441-5-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id C9D8A6F952 for ; Sat, 12 Jan 2019 00:42:01 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190111170823.4441-5-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ville Syrjala Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBKYW4gMTEsIDIwMTkgYXQgMDc6MDg6MTRQTSArMDIwMCwgVmlsbGUgU3lyamFsYSB3 cm90ZToKPiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwu Y29tPgo+IAo+IFBhc3MgdGhlIGNydGMgc3RhdGUgZXRjLiBhcyBjb25zdCB0byB0aGUgY29sb3Ig bWFuYWdlbWVudCBjb21taXQKPiBmdW5jdGlvbnMuIEFuZCB3aGlsZSBhdCBpdCBwb2xpc2ggc29t ZSBvZiB0aGUgbG9jYWwgdmFyaWFibGVzLgo+IAo+IFNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrD pGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+CgpSZXZpZXdlZC1ieTogTWF0dCBS b3BlciA8bWF0dGhldy5kLnJvcGVyQGludGVsLmNvbT4KCj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmggICAgfCAgIDQgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfY29sb3IuYyB8IDEyOCArKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQo+ICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgIHwgICA0ICstCj4gIDMgZmlsZXMgY2hhbmdlZCwg NzMgaW5zZXJ0aW9ucygrKSwgNjMgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oCj4gaW5kZXggNWRmMjZjY2RhOGE0Li43MTgyYTU4MDAwMmMgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmgKPiBAQCAtMzIwLDggKzMyMCw4IEBAIHN0cnVjdCBkcm1faTkxNV9kaXNwbGF5 X2Z1bmNzIHsKPiAgCS8qIGRpc3BsYXkgY2xvY2sgaW5jcmVhc2UvZGVjcmVhc2UgKi8KPiAgCS8q IHBsbCBjbG9jayBpbmNyZWFzZS9kZWNyZWFzZSAqLwo+ICAKPiAtCXZvaWQgKCpsb2FkX2NzY19t YXRyaXgpKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKPiAtCXZvaWQgKCps b2FkX2x1dHMpKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKPiArCXZvaWQg KCpsb2FkX2NzY19tYXRyaXgpKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlKTsKPiArCXZvaWQgKCpsb2FkX2x1dHMpKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlKTsKPiAgfTsKPiAgCj4gICNkZWZpbmUgQ1NSX1ZFUlNJT04obWFqb3IsIG1p bm9yKQkoKG1ham9yKSA8PCAxNiB8IChtaW5vcikpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2NvbG9yLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xv ci5jCj4gaW5kZXggYjEwZTY2Y2UzOTcwLi4wZGZkMTA0Yjg5ZDcgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2NvbG9yLmMKPiBAQCAtNzQsMTIgKzc0LDEyIEBACj4gICNkZWZpbmUgSUxLX0NT Q19DT0VGRl8xXzAJCVwKPiAgCSgoNyA8PCAxMikgfCBJTEtfQ1NDX0NPRUZGX0ZQKENUTV9DT0VG Rl8xXzAsIDgpKQo+ICAKPiAtc3RhdGljIGJvb2wgbHV0X2lzX2xlZ2FjeShzdHJ1Y3QgZHJtX3By b3BlcnR5X2Jsb2IgKmx1dCkKPiArc3RhdGljIGJvb2wgbHV0X2lzX2xlZ2FjeShjb25zdCBzdHJ1 Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmx1dCkKPiAgewo+ICAJcmV0dXJuIGRybV9jb2xvcl9sdXRf c2l6ZShsdXQpID09IExFR0FDWV9MVVRfTEVOR1RIOwo+ICB9Cj4gIAo+IC1zdGF0aWMgYm9vbCBj cnRjX3N0YXRlX2lzX2xlZ2FjeV9nYW1tYShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSkKPiArc3RhdGljIGJvb2wgY3J0Y19zdGF0ZV9pc19sZWdhY3lfZ2FtbWEoY29uc3Qgc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gIHsKPiAgCXJldHVybiAhY3J0Y19z dGF0ZS0+YmFzZS5kZWdhbW1hX2x1dCAmJgo+ICAJCSFjcnRjX3N0YXRlLT5iYXNlLmN0bSAmJgo+ IEBAIC0xMTUsOCArMTE1LDggQEAgc3RhdGljIHU2NCAqY3RtX211bHRfYnlfbGltaXRlZCh1NjQg KnJlc3VsdCwgY29uc3QgdTY0ICppbnB1dCkKPiAgCj4gIHN0YXRpYyB2b2lkIGlsa19sb2FkX3lj YmNyX2NvbnZlcnNpb25fbWF0cml4KHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+ICB7Cj4gLQlp bnQgcGlwZSA9IGNydGMtPnBpcGU7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKPiArCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+ cGlwZTsKPiAgCj4gIAlJOTE1X1dSSVRFKFBJUEVfQ1NDX1BSRU9GRl9ISShwaXBlKSwgMCk7Cj4g IAlJOTE1X1dSSVRFKFBJUEVfQ1NDX1BSRU9GRl9NRShwaXBlKSwgMCk7Cj4gQEAgLTEzNywxMyAr MTM3LDE0IEBAIHN0YXRpYyB2b2lkIGlsa19sb2FkX3ljYmNyX2NvbnZlcnNpb25fbWF0cml4KHN0 cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+ICAJSTkxNV9XUklURShQSVBFX0NTQ19NT0RFKHBpcGUp LCAwKTsKPiAgfQo+ICAKPiAtc3RhdGljIHZvaWQgaWxrX2xvYWRfY3NjX21hdHJpeChzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiArc3RhdGljIHZvaWQgaWxrX2xvYWRfY3Nj X21hdHJpeChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiAgewo+ ICAJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJh c2UuY3J0Yyk7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGNydGMtPmJhc2UuZGV2KTsKPiAtCWludCBpLCBwaXBlID0gY3J0Yy0+cGlwZTsKPiAtCXVpbnQx Nl90IGNvZWZmc1s5XSA9IHsgMCwgfTsKPiAgCWJvb2wgbGltaXRlZF9jb2xvcl9yYW5nZSA9IGZh bHNlOwo+ICsJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5waXBlOwo+ICsJdTE2IGNvZWZmc1s5XSA9 IHt9Owo+ICsJaW50IGk7Cj4gIAo+ICAJLyoKPiAgCSAqIEZJWE1FIGlmIHRoZXJlJ3MgYSBnYW1t YSBMVVQgYWZ0ZXIgdGhlIENTQywgd2Ugc2hvdWxkCj4gQEAgLTI1NiwxNSArMjU3LDE1IEBAIHN0 YXRpYyB2b2lkIGlsa19sb2FkX2NzY19tYXRyaXgoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUpCj4gIC8qCj4gICAqIFNldCB1cCB0aGUgcGlwZSBDU0MgdW5pdCBvbiBDaGVycnlW aWV3Lgo+ICAgKi8KPiAtc3RhdGljIHZvaWQgY2hlcnJ5dmlld19sb2FkX2NzY19tYXRyaXgoc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gK3N0YXRpYyB2b2lkIGNoZXJyeXZp ZXdfbG9hZF9jc2NfbWF0cml4KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlKQo+ICB7Cj4gLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Y19zdGF0ZS0+YmFzZS5j cnRjLT5kZXY7Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGRldik7Cj4gLQlpbnQgcGlwZSA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRj KS0+cGlwZTsKPiArCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRj X3N0YXRlLT5iYXNlLmNydGMpOwo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7Cj4gKwllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBp cGU7Cj4gIAl1aW50MzJfdCBtb2RlOwo+ICAKPiAgCWlmIChjcnRjX3N0YXRlLT5iYXNlLmN0bSkg ewo+IC0JCXN0cnVjdCBkcm1fY29sb3JfY3RtICpjdG0gPSBjcnRjX3N0YXRlLT5iYXNlLmN0bS0+ ZGF0YTsKPiArCQljb25zdCBzdHJ1Y3QgZHJtX2NvbG9yX2N0bSAqY3RtID0gY3J0Y19zdGF0ZS0+ YmFzZS5jdG0tPmRhdGE7Cj4gIAkJdWludDE2X3QgY29lZmZzWzldID0geyAwLCB9Owo+ICAJCWlu dCBpOwo+ICAKPiBAQCAtMzAzLDE4ICszMDQsMTcgQEAgc3RhdGljIHZvaWQgY2hlcnJ5dmlld19s b2FkX2NzY19tYXRyaXgoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gIAlJ OTE1X1dSSVRFKENHTV9QSVBFX01PREUocGlwZSksIG1vZGUpOwo+ICB9Cj4gIAo+IC12b2lkIGlu dGVsX2NvbG9yX3NldF9jc2Moc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4g K3ZvaWQgaW50ZWxfY29sb3Jfc2V0X2NzYyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSkKPiAgewo+IC0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGNfc3RhdGUt PmJhc2UuY3J0Yy0+ZGV2Owo+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g dG9faTkxNShkZXYpOwo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldik7Cj4gIAo+ICAJaWYgKGRldl9wcml2LT5k aXNwbGF5LmxvYWRfY3NjX21hdHJpeCkKPiAgCQlkZXZfcHJpdi0+ZGlzcGxheS5sb2FkX2NzY19t YXRyaXgoY3J0Y19zdGF0ZSk7Cj4gIH0KPiAgCj4gIC8qIExvYWRzIHRoZSBsZWdhY3kgcGFsZXR0 ZS9nYW1tYSB1bml0IGZvciB0aGUgQ1JUQy4gKi8KPiAtc3RhdGljIHZvaWQgaTl4eF9sb2FkX2x1 dHNfaW50ZXJuYWwoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4gLQkJCQkg ICAgc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpibG9iKQo+ICtzdGF0aWMgdm9pZCBpOXh4X2xv YWRfbHV0c19pbnRlcm5hbChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSwKPiArCQkJCSAgICBjb25zdCBzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmJsb2IpCj4gIHsK PiAgCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5i YXNlLmNydGMpOwo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShjcnRjLT5iYXNlLmRldik7Cj4gQEAgLTMyOSw3ICszMjksOCBAQCBzdGF0aWMgdm9pZCBpOXh4 X2xvYWRfbHV0c19pbnRlcm5hbChzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwK PiAgCX0KPiAgCj4gIAlpZiAoYmxvYikgewo+IC0JCXN0cnVjdCBkcm1fY29sb3JfbHV0ICpsdXQg PSBibG9iLT5kYXRhOwo+ICsJCWNvbnN0IHN0cnVjdCBkcm1fY29sb3JfbHV0ICpsdXQgPSBibG9i LT5kYXRhOwo+ICsKPiAgCQlmb3IgKGkgPSAwOyBpIDwgMjU2OyBpKyspIHsKPiAgCQkJdWludDMy X3Qgd29yZCA9Cj4gIAkJCQkoZHJtX2NvbG9yX2x1dF9leHRyYWN0KGx1dFtpXS5yZWQsIDgpIDw8 IDE2KSB8Cj4gQEAgLTM1MywxMyArMzU0LDEzIEBAIHN0YXRpYyB2b2lkIGk5eHhfbG9hZF9sdXRz X2ludGVybmFsKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ICAJfQo+ICB9 Cj4gIAo+IC1zdGF0aWMgdm9pZCBpOXh4X2xvYWRfbHV0cyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSkKPiArc3RhdGljIHZvaWQgaTl4eF9sb2FkX2x1dHMoY29uc3Qgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gIHsKPiAgCWk5eHhfbG9hZF9sdXRzX2lu dGVybmFsKGNydGNfc3RhdGUsIGNydGNfc3RhdGUtPmJhc2UuZ2FtbWFfbHV0KTsKPiAgfQo+ICAK PiAgLyogTG9hZHMgdGhlIGxlZ2FjeSBwYWxldHRlL2dhbW1hIHVuaXQgZm9yIHRoZSBDUlRDIG9u IEhhc3dlbGwuICovCj4gLXN0YXRpYyB2b2lkIGhhc3dlbGxfbG9hZF9sdXRzKHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICtzdGF0aWMgdm9pZCBoYXN3ZWxsX2xvYWRfbHV0 cyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiAgewo+ICAJc3Ry dWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0 Yyk7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMt PmJhc2UuZGV2KTsKPiBAQCAtMzgzLDE3ICszODQsMTkgQEAgc3RhdGljIHZvaWQgaGFzd2VsbF9s b2FkX2x1dHMoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gIAkJaHN3X2Vu YWJsZV9pcHMoY3J0Y19zdGF0ZSk7Cj4gIH0KPiAgCj4gLXN0YXRpYyB2b2lkIGJkd19sb2FkX2Rl Z2FtbWFfbHV0KHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICtzdGF0aWMg dm9pZCBiZHdfbG9hZF9kZWdhbW1hX2x1dChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSkKPiAgewo+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g dG9faTkxNShjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldik7Cj4gLQllbnVtIHBpcGUgcGlwZSA9 IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKS0+cGlwZTsKPiArCXN0cnVjdCBp bnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOwo+ ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNl LmRldik7Cj4gKwljb25zdCBzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmRlZ2FtbWFfbHV0ID0g Y3J0Y19zdGF0ZS0+YmFzZS5kZWdhbW1hX2x1dDsKPiAgCXVpbnQzMl90IGksIGx1dF9zaXplID0g SU5URUxfSU5GTyhkZXZfcHJpdiktPmNvbG9yLmRlZ2FtbWFfbHV0X3NpemU7Cj4gKwllbnVtIHBp cGUgcGlwZSA9IGNydGMtPnBpcGU7Cj4gIAo+ICAJSTkxNV9XUklURShQUkVDX1BBTF9JTkRFWChw aXBlKSwKPiAgCQkgICBQQUxfUFJFQ19TUExJVF9NT0RFIHwgUEFMX1BSRUNfQVVUT19JTkNSRU1F TlQpOwo+ICAKPiAtCWlmIChjcnRjX3N0YXRlLT5iYXNlLmRlZ2FtbWFfbHV0KSB7Cj4gLQkJc3Ry dWN0IGRybV9jb2xvcl9sdXQgKmx1dCA9IGNydGNfc3RhdGUtPmJhc2UuZGVnYW1tYV9sdXQtPmRh dGE7Cj4gKwlpZiAoZGVnYW1tYV9sdXQpIHsKPiArCQljb25zdCBzdHJ1Y3QgZHJtX2NvbG9yX2x1 dCAqbHV0ID0gZGVnYW1tYV9sdXQtPmRhdGE7Cj4gIAo+ICAJCWZvciAoaSA9IDA7IGkgPCBsdXRf c2l6ZTsgaSsrKSB7Cj4gIAkJCXVpbnQzMl90IHdvcmQgPQo+IEBAIC00MTMsMTEgKzQxNiwxMyBA QCBzdGF0aWMgdm9pZCBiZHdfbG9hZF9kZWdhbW1hX2x1dChzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSkKPiAgCX0KPiAgfQo+ICAKPiAtc3RhdGljIHZvaWQgYmR3X2xvYWRfZ2Ft bWFfbHV0KHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLCB1MzIgb2Zmc2V0KQo+ ICtzdGF0aWMgdm9pZCBiZHdfbG9hZF9nYW1tYV9sdXQoY29uc3Qgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUsIHUzMiBvZmZzZXQpCj4gIHsKPiAtCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjLT5kZXYpOwo+ IC0JZW51bSBwaXBlIHBpcGUgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yykt PnBpcGU7Cj4gKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19z dGF0ZS0+YmFzZS5jcnRjKTsKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwo+ICsJY29uc3Qgc3RydWN0IGRybV9wcm9wZXJ0eV9i bG9iICpnYW1tYV9sdXQgPSBjcnRjX3N0YXRlLT5iYXNlLmdhbW1hX2x1dDsKPiAgCXVpbnQzMl90 IGksIGx1dF9zaXplID0gSU5URUxfSU5GTyhkZXZfcHJpdiktPmNvbG9yLmdhbW1hX2x1dF9zaXpl Owo+ICsJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5waXBlOwo+ICAKPiAgCVdBUk5fT04ob2Zmc2V0 ICYgflBBTF9QUkVDX0lOREVYX1ZBTFVFX01BU0spOwo+ICAKPiBAQCAtNDI2LDggKzQzMSw4IEBA IHN0YXRpYyB2b2lkIGJkd19sb2FkX2dhbW1hX2x1dChzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSwgdTMyIG9mZnNldCkKPiAgCQkgICBQQUxfUFJFQ19BVVRPX0lOQ1JFTUVOVCB8 Cj4gIAkJICAgb2Zmc2V0KTsKPiAgCj4gLQlpZiAoY3J0Y19zdGF0ZS0+YmFzZS5nYW1tYV9sdXQp IHsKPiAtCQlzdHJ1Y3QgZHJtX2NvbG9yX2x1dCAqbHV0ID0gY3J0Y19zdGF0ZS0+YmFzZS5nYW1t YV9sdXQtPmRhdGE7Cj4gKwlpZiAoZ2FtbWFfbHV0KSB7Cj4gKwkJY29uc3Qgc3RydWN0IGRybV9j b2xvcl9sdXQgKmx1dCA9IGdhbW1hX2x1dC0+ZGF0YTsKPiAgCj4gIAkJZm9yIChpID0gMDsgaSA8 IGx1dF9zaXplOyBpKyspIHsKPiAgCQkJdWludDMyX3Qgd29yZCA9Cj4gQEAgLTQ2MSwxMCArNDY2 LDExIEBAIHN0YXRpYyB2b2lkIGJkd19sb2FkX2dhbW1hX2x1dChzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZSwgdTMyIG9mZnNldCkKPiAgfQo+ICAKPiAgLyogTG9hZHMgdGhlIHBh bGV0dGUvZ2FtbWEgdW5pdCBmb3IgdGhlIENSVEMgb24gQnJvYWR3ZWxsKy4gKi8KPiAtc3RhdGlj IHZvaWQgYnJvYWR3ZWxsX2xvYWRfbHV0cyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSkKPiArc3RhdGljIHZvaWQgYnJvYWR3ZWxsX2xvYWRfbHV0cyhjb25zdCBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiAgewo+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldik7Cj4gLQll bnVtIHBpcGUgcGlwZSA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKS0+cGlw ZTsKPiArCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRl LT5iYXNlLmNydGMpOwo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShjcnRjLT5iYXNlLmRldik7Cj4gKwllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7Cj4g IAo+ICAJaWYgKGNydGNfc3RhdGVfaXNfbGVnYWN5X2dhbW1hKGNydGNfc3RhdGUpKSB7Cj4gIAkJ aGFzd2VsbF9sb2FkX2x1dHMoY3J0Y19zdGF0ZSk7Cj4gQEAgLTQ4NCwxMCArNDkwLDExIEBAIHN0 YXRpYyB2b2lkIGJyb2Fkd2VsbF9sb2FkX2x1dHMoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUpCj4gIAlJOTE1X1dSSVRFKFBSRUNfUEFMX0lOREVYKHBpcGUpLCAwKTsKPiAgfQo+ ICAKPiAtc3RhdGljIHZvaWQgZ2xrX2xvYWRfZGVnYW1tYV9sdXQoc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUpCj4gK3N0YXRpYyB2b2lkIGdsa19sb2FkX2RlZ2FtbWFfbHV0KGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICB7Cj4gLQlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPmJhc2UuY3J0 Yy0+ZGV2KTsKPiAtCWVudW0gcGlwZSBwaXBlID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5i YXNlLmNydGMpLT5waXBlOwo+ICsJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9j cnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKPiArCWVudW0gcGlwZSBwaXBlID0g Y3J0Yy0+cGlwZTsKPiAgCWNvbnN0IHVpbnQzMl90IGx1dF9zaXplID0gMzM7Cj4gIAl1aW50MzJf dCBpOwo+ICAKPiBAQCAtNTE0LDExICs1MjEsMTEgQEAgc3RhdGljIHZvaWQgZ2xrX2xvYWRfZGVn YW1tYV9sdXQoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gIAkJSTkxNV9X UklURShQUkVfQ1NDX0dBTUNfREFUQShwaXBlKSwgKDEgPDwgMTYpKTsKPiAgfQo+ICAKPiAtc3Rh dGljIHZvaWQgZ2xrX2xvYWRfbHV0cyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSkKPiArc3RhdGljIHZvaWQgZ2xrX2xvYWRfbHV0cyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZSkKPiAgewo+IC0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGNf c3RhdGUtPmJhc2UuY3J0Yy0+ZGV2Owo+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShkZXYpOwo+IC0JZW51bSBwaXBlIHBpcGUgPSB0b19pbnRlbF9jcnRjKGNy dGNfc3RhdGUtPmJhc2UuY3J0YyktPnBpcGU7Cj4gKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9 IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKPiArCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwo+ICsJZW51bSBw aXBlIHBpcGUgPSBjcnRjLT5waXBlOwo+ICAKPiAgCWdsa19sb2FkX2RlZ2FtbWFfbHV0KGNydGNf c3RhdGUpOwo+ICAKPiBAQCAtNTMyLDI4ICs1MzksMjkgQEAgc3RhdGljIHZvaWQgZ2xrX2xvYWRf bHV0cyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiAgCUk5MTVfV1JJVEUo R0FNTUFfTU9ERShwaXBlKSwgY3J0Y19zdGF0ZS0+Z2FtbWFfbW9kZSk7Cj4gIH0KPiAgCj4gLS8q IExvYWRzIHRoZSBwYWxldHRlL2dhbW1hIHVuaXQgZm9yIHRoZSBDUlRDIG9uIENoZXJyeVZpZXcu ICovCj4gLXN0YXRpYyB2b2lkIGNoZXJyeXZpZXdfbG9hZF9sdXRzKHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjcnRjX3N0YXRlKQo+ICtzdGF0aWMgdm9pZCBjaGVycnl2aWV3X2xvYWRfbHV0cyhj b25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiAgewo+IC0Jc3RydWN0 IGRybV9jcnRjICpjcnRjID0gY3J0Y19zdGF0ZS0+YmFzZS5jcnRjOwo+IC0Jc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5kZXYpOwo+IC0JZW51bSBwaXBl IHBpcGUgPSB0b19pbnRlbF9jcnRjKGNydGMpLT5waXBlOwo+IC0Jc3RydWN0IGRybV9jb2xvcl9s dXQgKmx1dDsKPiAtCXVpbnQzMl90IGksIGx1dF9zaXplOwo+IC0JdWludDMyX3Qgd29yZDAsIHdv cmQxOwo+ICsJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3Rh dGUtPmJhc2UuY3J0Yyk7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKPiArCWNvbnN0IHN0cnVjdCBkcm1fcHJvcGVydHlfYmxv YiAqZ2FtbWFfbHV0ID0gY3J0Y19zdGF0ZS0+YmFzZS5nYW1tYV9sdXQ7Cj4gKwljb25zdCBzdHJ1 Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmRlZ2FtbWFfbHV0ID0gY3J0Y19zdGF0ZS0+YmFzZS5kZWdh bW1hX2x1dDsKPiArCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKPiAgCj4gIAlpZiAoY3J0 Y19zdGF0ZV9pc19sZWdhY3lfZ2FtbWEoY3J0Y19zdGF0ZSkpIHsKPiAgCQkvKiBUdXJuIG9mZiBk ZWdhbW1hL2dhbW1hIG9uIENHTSBibG9jay4gKi8KPiAgCQlJOTE1X1dSSVRFKENHTV9QSVBFX01P REUocGlwZSksCj4gIAkJCSAgIChjcnRjX3N0YXRlLT5iYXNlLmN0bSA/IENHTV9QSVBFX01PREVf Q1NDIDogMCkpOwo+IC0JCWk5eHhfbG9hZF9sdXRzX2ludGVybmFsKGNydGNfc3RhdGUsIGNydGNf c3RhdGUtPmJhc2UuZ2FtbWFfbHV0KTsKPiArCQlpOXh4X2xvYWRfbHV0c19pbnRlcm5hbChjcnRj X3N0YXRlLCBnYW1tYV9sdXQpOwo+ICAJCXJldHVybjsKPiAgCX0KPiAgCj4gLQlpZiAoY3J0Y19z dGF0ZS0+YmFzZS5kZWdhbW1hX2x1dCkgewo+IC0JCWx1dCA9IGNydGNfc3RhdGUtPmJhc2UuZGVn YW1tYV9sdXQtPmRhdGE7Cj4gLQkJbHV0X3NpemUgPSBJTlRFTF9JTkZPKGRldl9wcml2KS0+Y29s b3IuZGVnYW1tYV9sdXRfc2l6ZTsKPiArCWlmIChkZWdhbW1hX2x1dCkgewo+ICsJCWNvbnN0IHN0 cnVjdCBkcm1fY29sb3JfbHV0ICpsdXQgPSBkZWdhbW1hX2x1dC0+ZGF0YTsKPiArCQlpbnQgaSwg bHV0X3NpemUgPSBJTlRFTF9JTkZPKGRldl9wcml2KS0+Y29sb3IuZGVnYW1tYV9sdXRfc2l6ZTsK PiArCj4gIAkJZm9yIChpID0gMDsgaSA8IGx1dF9zaXplOyBpKyspIHsKPiArCQkJdTMyIHdvcmQw LCB3b3JkMTsKPiArCj4gIAkJCS8qIFdyaXRlIExVVCBpbiBVMC4xNCBmb3JtYXQuICovCj4gIAkJ CXdvcmQwID0KPiAgCQkJKGRybV9jb2xvcl9sdXRfZXh0cmFjdChsdXRbaV0uZ3JlZW4sIDE0KSA8 PCAxNikgfAo+IEBAIC01NjUsMTAgKzU3MywxMyBAQCBzdGF0aWMgdm9pZCBjaGVycnl2aWV3X2xv YWRfbHV0cyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiAgCQl9Cj4gIAl9 Cj4gIAo+IC0JaWYgKGNydGNfc3RhdGUtPmJhc2UuZ2FtbWFfbHV0KSB7Cj4gLQkJbHV0ID0gY3J0 Y19zdGF0ZS0+YmFzZS5nYW1tYV9sdXQtPmRhdGE7Cj4gLQkJbHV0X3NpemUgPSBJTlRFTF9JTkZP KGRldl9wcml2KS0+Y29sb3IuZ2FtbWFfbHV0X3NpemU7Cj4gKwlpZiAoZ2FtbWFfbHV0KSB7Cj4g KwkJY29uc3Qgc3RydWN0IGRybV9jb2xvcl9sdXQgKmx1dCA9IGdhbW1hX2x1dC0+ZGF0YTsKPiAr CQlpbnQgaSwgbHV0X3NpemUgPSBJTlRFTF9JTkZPKGRldl9wcml2KS0+Y29sb3IuZ2FtbWFfbHV0 X3NpemU7Cj4gKwo+ICAJCWZvciAoaSA9IDA7IGkgPCBsdXRfc2l6ZTsgaSsrKSB7Cj4gKwkJCXUz MiB3b3JkMCwgd29yZDE7Cj4gKwo+ICAJCQkvKiBXcml0ZSBMVVQgaW4gVTAuMTAgZm9ybWF0LiAq Lwo+ICAJCQl3b3JkMCA9Cj4gIAkJCShkcm1fY29sb3JfbHV0X2V4dHJhY3QobHV0W2ldLmdyZWVu LCAxMCkgPDwgMTYpIHwKPiBAQCAtNTgyLDggKzU5Myw4IEBAIHN0YXRpYyB2b2lkIGNoZXJyeXZp ZXdfbG9hZF9sdXRzKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICAKPiAg CUk5MTVfV1JJVEUoQ0dNX1BJUEVfTU9ERShwaXBlKSwKPiAgCQkgICAoY3J0Y19zdGF0ZS0+YmFz ZS5jdG0gPyBDR01fUElQRV9NT0RFX0NTQyA6IDApIHwKPiAtCQkgICAoY3J0Y19zdGF0ZS0+YmFz ZS5kZWdhbW1hX2x1dCA/IENHTV9QSVBFX01PREVfREVHQU1NQSA6IDApIHwKPiAtCQkgICAoY3J0 Y19zdGF0ZS0+YmFzZS5nYW1tYV9sdXQgPyBDR01fUElQRV9NT0RFX0dBTU1BIDogMCkpOwo+ICsJ CSAgIChkZWdhbW1hX2x1dCA/IENHTV9QSVBFX01PREVfREVHQU1NQSA6IDApIHwKPiArCQkgICAo Z2FtbWFfbHV0ID8gQ0dNX1BJUEVfTU9ERV9HQU1NQSA6IDApKTsKPiAgCj4gIAkvKgo+ICAJICog QWxzbyBwcm9ncmFtIGEgbGluZWFyIExVVCBpbiB0aGUgbGVnYWN5IGJsb2NrIChiZWhpbmQgdGhl Cj4gQEAgLTU5MiwxMCArNjAzLDkgQEAgc3RhdGljIHZvaWQgY2hlcnJ5dmlld19sb2FkX2x1dHMo c3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gIAlpOXh4X2xvYWRfbHV0c19p bnRlcm5hbChjcnRjX3N0YXRlLCBOVUxMKTsKPiAgfQo+ICAKPiAtdm9pZCBpbnRlbF9jb2xvcl9s b2FkX2x1dHMoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gK3ZvaWQgaW50 ZWxfY29sb3JfbG9hZF9sdXRzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlKQo+ICB7Cj4gLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Y19zdGF0ZS0+YmFzZS5j cnRjLT5kZXY7Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGRldik7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNy dGNfc3RhdGUtPmJhc2UuY3J0Yy0+ZGV2KTsKPiAgCj4gIAlkZXZfcHJpdi0+ZGlzcGxheS5sb2Fk X2x1dHMoY3J0Y19zdGF0ZSk7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IGluZGV4 IDg4YWM0MmIyZDdlZC4uOTY3NDNmNTBiMTNhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmgKPiBAQCAtMjMzOCw4ICsyMzM4LDggQEAgaW50IGludGVsX3BsYW5lX2F0b21pY19jaGVja193 aXRoX3N0YXRlKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y18KPiAgLyog aW50ZWxfY29sb3IuYyAqLwo+ICB2b2lkIGludGVsX2NvbG9yX2luaXQoc3RydWN0IGludGVsX2Ny dGMgKmNydGMpOwo+ICBpbnQgaW50ZWxfY29sb3JfY2hlY2soc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUpOwo+IC12b2lkIGludGVsX2NvbG9yX3NldF9jc2Moc3RydWN0IGludGVs X2NydGNfc3RhdGUgKmNydGNfc3RhdGUpOwo+IC12b2lkIGludGVsX2NvbG9yX2xvYWRfbHV0cyhz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSk7Cj4gK3ZvaWQgaW50ZWxfY29sb3Jf c2V0X2NzYyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSk7Cj4gK3Zv aWQgaW50ZWxfY29sb3JfbG9hZF9sdXRzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlKTsKPiAgCj4gIC8qIGludGVsX2xzcGNvbi5jICovCj4gIGJvb2wgbHNwY29uX2lu aXQoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQpOwo+IC0tIAo+IDIu MTkuMgo+IAoKLS0gCk1hdHQgUm9wZXIKR3JhcGhpY3MgU29mdHdhcmUgRW5naW5lZXIKSW9URyBQ bGF0Zm9ybSBFbmFibGluZyAmIERldmVsb3BtZW50CkludGVsIENvcnBvcmF0aW9uCig5MTYpIDM1 Ni0yNzk1Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=