From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v2 07/13] drm/i915: Populate gamma_mode for all platforms Date: Thu, 7 Feb 2019 18:27:19 +0200 Message-ID: <20190207162719.GI20097@intel.com> References: <20190205160848.24662-1-ville.syrjala@linux.intel.com> <20190205160848.24662-8-ville.syrjala@linux.intel.com> <33e1a3be-da7d-8f4f-d3dc-b461759dfbbe@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id BB5306E252 for ; Thu, 7 Feb 2019 16:27:22 +0000 (UTC) Content-Disposition: inline In-Reply-To: <33e1a3be-da7d-8f4f-d3dc-b461759dfbbe@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: Maarten Lankhorst Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBGZWIgMDcsIDIwMTkgYXQgMDQ6NDk6NDdQTSArMDEwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gT3AgMDUtMDItMjAxOSBvbSAxNzowOCBzY2hyZWVmIFZpbGxlIFN5cmphbGE6 Cj4gPiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29t Pgo+ID4KPiA+IE9uIHByZS1IU1cgZ2FtbWEgbW9kZSBpcyBjb25maWd1cmVkIHZpYSBQSVBFQ09O Ri4gVGhlIGJpdHMgYXJlCj4gPiB0aGUgc2FtZSBleGNlcHQgc2hpZnRlZCB1cCwgc28gd2UgY2Fu IHJldXNlIGp1c3Qgc3RvcmUgdGhlbSBpbgo+ID4gY3J0Y19zdGF0ZS0+Z2FtbWFfbW9kZSBpbiB0 aGUgSFNXKyB3YXksIGFsbG93aW5nIHVzIHRvIHNoYXJlCj4gPiBzb21lIGNvZGUgbGF0ZXIuCj4g Pgo+ID4gU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4 LmludGVsLmNvbT4KPiA+IC0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgg ICAgICB8IDEwICsrKystCj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYyAg IHwgNjAgKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYyB8IDE0ICsrKysrKy0KPiA+ICAzIGZpbGVzIGNoYW5nZWQsIDY2 IGluc2VydGlvbnMoKyksIDE4IGRlbGV0aW9ucygtKQo+ID4KPiA+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZWcuaAo+ID4gaW5kZXggZWRlNTRmZGMxNjc2Li40MTExMWExN2U1MTkgMTAwNjQ0Cj4gPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3JlZy5oCj4gPiBAQCAtNTU5MCw5ICs1NTkwLDE1IEBAIGVudW0gewo+ID4g ICNkZWZpbmUgICBQSVBFQ09ORl9TSU5HTEVfV0lERQkwCj4gPiAgI2RlZmluZSAgIFBJUEVDT05G X1BJUEVfVU5MT0NLRUQgMAo+ID4gICNkZWZpbmUgICBQSVBFQ09ORl9QSVBFX0xPQ0tFRAkoMSA8 PCAyNSkKPiA+IC0jZGVmaW5lICAgUElQRUNPTkZfUEFMRVRURQkwCj4gPiAtI2RlZmluZSAgIFBJ UEVDT05GX0dBTU1BCQkoMSA8PCAyNCkKPiA+ICAjZGVmaW5lICAgUElQRUNPTkZfRk9SQ0VfQk9S REVSCSgxIDw8IDI1KQo+ID4gKyNkZWZpbmUgICBQSVBFQ09ORl9HQU1NQV9NT0RFX01BU0tfSTlY WAkoMSA8PCAyNCkgLyogZ21jaCAqLwo+ID4gKyNkZWZpbmUgICBQSVBFQ09ORl9HQU1NQV9NT0RF X01BU0tfSUxLCSgzIDw8IDI0KSAvKiBpbGstaXZiICovCj4gPiArI2RlZmluZSAgIFBJUEVDT05G X0dBTU1BX01PREVfOEJJVAkoMCA8PCAyNCkgLyogZ21jaCxpbGstaXZiICovCj4gPiArI2RlZmlu ZSAgIFBJUEVDT05GX0dBTU1BX01PREVfMTBCSVQJKDEgPDwgMjQpIC8qIGdtY2gsaWxrLWl2YiAq Lwo+ID4gKyNkZWZpbmUgICBQSVBFQ09ORl9HQU1NQV9NT0RFXzEyQklUCSgyIDw8IDI0KSAvKiBp bGstaXZiICovCj4gPiArI2RlZmluZSAgIFBJUEVDT05GX0dBTU1BX01PREVfU1BMSVQJKDMgPDwg MjQpIC8qIGl2YiAqLwo+ID4gKyNkZWZpbmUgICBQSVBFQ09ORl9HQU1NQV9NT0RFKHgpCSgoeCk8 PDI0KSAvKiBwYXNzIGluIEdBTU1BX01PREVfTU9ERV8qICovCj4gPiArI2RlZmluZSAgIFBJUEVD T05GX0dBTU1BX01PREVfU0hJRlQJMjQKPiA+ICAjZGVmaW5lICAgUElQRUNPTkZfSU5URVJMQUNF X01BU0sJKDcgPDwgMjEpCj4gPiAgI2RlZmluZSAgIFBJUEVDT05GX0lOVEVSTEFDRV9NQVNLX0hT VwkoMyA8PCAyMSkKPiA+ICAvKiBOb3RlIHRoYXQgcHJlLWdlbjMgZG9lcyBub3Qgc3VwcG9ydCBp bnRlcmxhY2VkIGRpc3BsYXkgZGlyZWN0bHkuIFBhbmVsCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2NvbG9yLmMKPiA+IGluZGV4IDJhMzcxZWVkODA2MS4uZTdkZDA3NDkwYzY4IDEwMDY0NAo+ID4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYwo+ID4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYwo+ID4gQEAgLTM1MSw2ICszNTEsMzIgQEAgc3Rh dGljIHZvaWQgaTl4eF9sb2FkX2x1dHMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUpCj4gPiAgCWk5eHhfbG9hZF9sdXRzX2ludGVybmFsKGNydGNfc3RhdGUsIGNydGNf c3RhdGUtPmJhc2UuZ2FtbWFfbHV0KTsKPiA+ICB9Cj4gPiAgCj4gPiArc3RhdGljIHZvaWQgaTl4 eF9jb2xvcl9jb21taXQoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUp Cj4gPiArewo+ID4gKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0 Y19zdGF0ZS0+YmFzZS5jcnRjKTsKPiA+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7Cj4gPiArCWVudW0gcGlwZSBwaXBlID0gY3J0 Yy0+cGlwZTsKPiA+ICsJdTMyIHZhbDsKPiA+ICsKPiA+ICsJdmFsID0gSTkxNV9SRUFEKFBJUEVD T05GKHBpcGUpKTsKPiA+ICsJdmFsICY9IH5QSVBFQ09ORl9HQU1NQV9NT0RFX01BU0tfSTlYWDsK PiA+ICsJdmFsIHw9IFBJUEVDT05GX0dBTU1BX01PREUoY3J0Y19zdGF0ZS0+Z2FtbWFfbW9kZSk7 Cj4gPiArCUk5MTVfV1JJVEUoUElQRUNPTkYocGlwZSksIHZhbCk7Cj4gPiArfQo+ID4gKwo+ID4g K3N0YXRpYyB2b2lkIGlsa19jb2xvcl9jb21taXQoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUpCj4gPiArewo+ID4gKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRv X2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKPiA+ICsJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7Cj4gPiArCWVudW0g cGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKPiA+ICsJdTMyIHZhbDsKPiA+ICsKPiA+ICsJdmFsID0g STkxNV9SRUFEKFBJUEVDT05GKHBpcGUpKTsKPiA+ICsJdmFsICY9IH5QSVBFQ09ORl9HQU1NQV9N T0RFX01BU0tfSUxLOwo+ID4gKwl2YWwgfD0gUElQRUNPTkZfR0FNTUFfTU9ERShjcnRjX3N0YXRl LT5nYW1tYV9tb2RlKTsKPiA+ICsJSTkxNV9XUklURShQSVBFQ09ORihwaXBlKSwgdmFsKTsKPiA+ ICt9Cj4gPiArCj4gPiAgc3RhdGljIHZvaWQgaHN3X2NvbG9yX2NvbW1pdChjb25zdCBzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiA+ICB7Cj4gPiAgCXN0cnVjdCBpbnRlbF9j cnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOwo+ID4gQEAg LTU4NSw4ICs2MTEsNyBAQCB2b2lkIGludGVsX2NvbG9yX2NvbW1pdChjb25zdCBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiA+ICB7Cj4gPiAgCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjLT5kZXYpOwo+ ID4gIAo+ID4gLQlpZiAoZGV2X3ByaXYtPmRpc3BsYXkuY29sb3JfY29tbWl0KQo+ID4gLQkJZGV2 X3ByaXYtPmRpc3BsYXkuY29sb3JfY29tbWl0KGNydGNfc3RhdGUpOwo+ID4gKwlkZXZfcHJpdi0+ ZGlzcGxheS5jb2xvcl9jb21taXQoY3J0Y19zdGF0ZSk7Cj4gPiAgfQo+ID4gIAo+ID4gIHN0YXRp YyBpbnQgY2hlY2tfbHV0X3NpemUoY29uc3Qgc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpsdXQs IGludCBleHBlY3RlZCkKPiA+IEBAIC02NDksMjAgKzY3NCwyNSBAQCB2b2lkIGludGVsX2NvbG9y X2luaXQoc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gPiAgCj4gPiAgCWRybV9tb2RlX2NydGNf c2V0X2dhbW1hX3NpemUoJmNydGMtPmJhc2UsIDI1Nik7Cj4gPiAgCj4gPiAtCWlmIChJU19DSEVS UllWSUVXKGRldl9wcml2KSkgewo+ID4gLQkJZGV2X3ByaXYtPmRpc3BsYXkubG9hZF9sdXRzID0g Y2hlcnJ5dmlld19sb2FkX2x1dHM7Cj4gPiAtCX0gZWxzZSBpZiAoSVNfSEFTV0VMTChkZXZfcHJp dikpIHsKPiA+IC0JCWRldl9wcml2LT5kaXNwbGF5LmxvYWRfbHV0cyA9IGk5eHhfbG9hZF9sdXRz Owo+ID4gLQkJZGV2X3ByaXYtPmRpc3BsYXkuY29sb3JfY29tbWl0ID0gaHN3X2NvbG9yX2NvbW1p dDsKPiA+IC0JfSBlbHNlIGlmIChJU19CUk9BRFdFTEwoZGV2X3ByaXYpIHx8IElTX0dFTjlfQkMo ZGV2X3ByaXYpIHx8Cj4gPiAtCQkgICBJU19CUk9YVE9OKGRldl9wcml2KSkgewo+ID4gLQkJZGV2 X3ByaXYtPmRpc3BsYXkubG9hZF9sdXRzID0gYnJvYWR3ZWxsX2xvYWRfbHV0czsKPiA+IC0JCWRl dl9wcml2LT5kaXNwbGF5LmNvbG9yX2NvbW1pdCA9IGhzd19jb2xvcl9jb21taXQ7Cj4gPiAtCX0g ZWxzZSBpZiAoSVNfR0VNSU5JTEFLRShkZXZfcHJpdikgfHwgSVNfQ0FOTk9OTEFLRShkZXZfcHJp dikpIHsKPiA+IC0JCWRldl9wcml2LT5kaXNwbGF5LmxvYWRfbHV0cyA9IGdsa19sb2FkX2x1dHM7 Cj4gPiAtCQlkZXZfcHJpdi0+ZGlzcGxheS5jb2xvcl9jb21taXQgPSBoc3dfY29sb3JfY29tbWl0 Owo+ID4gKwlpZiAoSEFTX0dNQ0hfRElTUExBWShkZXZfcHJpdikpIHsKPiA+ICsJCWlmIChJU19D SEVSUllWSUVXKGRldl9wcml2KSkKPiA+ICsJCQlkZXZfcHJpdi0+ZGlzcGxheS5sb2FkX2x1dHMg PSBjaGVycnl2aWV3X2xvYWRfbHV0czsKPiA+ICsJCWVsc2UKPiA+ICsJCQlkZXZfcHJpdi0+ZGlz cGxheS5sb2FkX2x1dHMgPSBpOXh4X2xvYWRfbHV0czsKPiA+ICsKPiA+ICsJCWRldl9wcml2LT5k aXNwbGF5LmNvbG9yX2NvbW1pdCA9IGk5eHhfY29sb3JfY29tbWl0Owo+ID4gIAl9IGVsc2Ugewo+ ID4gLQkJZGV2X3ByaXYtPmRpc3BsYXkubG9hZF9sdXRzID0gaTl4eF9sb2FkX2x1dHM7Cj4gPiAr CQlpZiAoSVNfQ0FOTk9OTEFLRShkZXZfcHJpdikgfHwgSVNfR0VNSU5JTEFLRShkZXZfcHJpdikp Cj4gPiArCQkJZGV2X3ByaXYtPmRpc3BsYXkubG9hZF9sdXRzID0gZ2xrX2xvYWRfbHV0czsKPiA+ ICsJCWVsc2UgaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSB8fCBJU19CUk9BRFdFTEwoZGV2 X3ByaXYpKQo+ID4gKwkJCWRldl9wcml2LT5kaXNwbGF5LmxvYWRfbHV0cyA9IGJyb2Fkd2VsbF9s b2FkX2x1dHM7Cj4gPiArCQllbHNlCj4gPiArCQkJZGV2X3ByaXYtPmRpc3BsYXkubG9hZF9sdXRz ID0gaTl4eF9sb2FkX2x1dHM7Cj4gPiArCj4gPiArCQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+ PSA4IHx8IElTX0hBU1dFTEwoZGV2X3ByaXYpKQo+ID4gKwkJCWRldl9wcml2LT5kaXNwbGF5LmNv bG9yX2NvbW1pdCA9IGhzd19jb2xvcl9jb21taXQ7Cj4gPiArCQllbHNlCj4gPiArCQkJZGV2X3By aXYtPmRpc3BsYXkuY29sb3JfY29tbWl0ID0gaWxrX2NvbG9yX2NvbW1pdDsKPiA+ICAJfQo+ID4g IAo+ID4gIAkvKiBFbmFibGUgY29sb3IgbWFuYWdlbWVudCBzdXBwb3J0IHdoZW4gd2UgaGF2ZSBk ZWdhbW1hICYgZ2FtbWEgTFVUcy4gKi8KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMKPiA+IGluZGV4IGFkNWQzOWQ4MWQ2ZS4uOGU5MzQ1OWYzMTJmIDEwMDY0NAo+ID4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+IEBAIC0zNDUwLDcgKzM0NTAsNyBAQCBzdGF0 aWMgdm9pZCBpOXh4X2Rpc2FibGVfcGxhbmUoc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSwKPiA+ ICAJICoKPiA+ICAJICogT24gcHJlLWc0eCB0aGVyZSBpcyBubyB3YXkgdG8gZ2FtbWEgY29ycmVj dCB0aGUKPiA+ICAJICogcGlwZSBib3R0b20gY29sb3IgYnV0IHdlJ2xsIGtlZXAgb24gZG9pbmcg dGhpcwo+ID4gLQkgKiBhbnl3YXkuCj4gPiArCSAqIGFueXdheSBzbyB0aGF0IHRoZSBjcnRjIHN0 YXRlIHJlYWRvdXQgd29ya3MgY29ycmVjdGx5Lgo+ID4gIAkgKi8KPiA+ICAJZHNwY250ciA9IGk5 eHhfcGxhbmVfY3RsX2NydGMoY3J0Y19zdGF0ZSk7Cj4gPiAgCj4gPiBAQCAtNzY3NCw2ICs3Njc0 LDggQEAgc3RhdGljIHZvaWQgaTl4eF9zZXRfcGlwZWNvbmYoY29uc3Qgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gPiAgCSAgICAgY3J0Y19zdGF0ZS0+bGltaXRlZF9jb2xv cl9yYW5nZSkKPiA+ICAJCXBpcGVjb25mIHw9IFBJUEVDT05GX0NPTE9SX1JBTkdFX1NFTEVDVDsK PiA+ICAKPiA+ICsJcGlwZWNvbmYgfD0gUElQRUNPTkZfR0FNTUFfTU9ERShjcnRjX3N0YXRlLT5n YW1tYV9tb2RlKTsKPiA+ICsKPiA+ICAJSTkxNV9XUklURShQSVBFQ09ORihjcnRjLT5waXBlKSwg cGlwZWNvbmYpOwo+ID4gIAlQT1NUSU5HX1JFQUQoUElQRUNPTkYoY3J0Yy0+cGlwZSkpOwo+ID4g IH0KPiA+IEBAIC04MTI2LDYgKzgxMjgsOSBAQCBzdGF0aWMgYm9vbCBpOXh4X2dldF9waXBlX2Nv bmZpZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKPiA+ICAJICAgICh0bXAgJiBQSVBFQ09ORl9D T0xPUl9SQU5HRV9TRUxFQ1QpKQo+ID4gIAkJcGlwZV9jb25maWctPmxpbWl0ZWRfY29sb3JfcmFu Z2UgPSB0cnVlOwo+ID4gIAo+ID4gKwlwaXBlX2NvbmZpZy0+Z2FtbWFfbW9kZSA9ICh0bXAgJiBQ SVBFQ09ORl9HQU1NQV9NT0RFX01BU0tfSTlYWCkgPj4KPiA+ICsJCVBJUEVDT05GX0dBTU1BX01P REVfU0hJRlQ7Cj4gPiArCj4gPiAgCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpIDwgNCkKPiA+ICAJ CXBpcGVfY29uZmlnLT5kb3VibGVfd2lkZSA9IHRtcCAmIFBJUEVDT05GX0RPVUJMRV9XSURFOwo+ ID4gIAo+ID4gQEAgLTg2NjUsNiArODY3MCw4IEBAIHN0YXRpYyB2b2lkIGlyb25sYWtlX3NldF9w aXBlY29uZihjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiA+ICAJ aWYgKGNydGNfc3RhdGUtPmxpbWl0ZWRfY29sb3JfcmFuZ2UpCj4gPiAgCQl2YWwgfD0gUElQRUNP TkZfQ09MT1JfUkFOR0VfU0VMRUNUOwo+ID4gIAo+ID4gKwl2YWwgfD0gUElQRUNPTkZfR0FNTUFf TU9ERShjcnRjX3N0YXRlLT5nYW1tYV9tb2RlKTsKPiA+ICsKPiA+ICAJSTkxNV9XUklURShQSVBF Q09ORihwaXBlKSwgdmFsKTsKPiA+ICAJUE9TVElOR19SRUFEKFBJUEVDT05GKHBpcGUpKTsKPiA+ ICB9Cj4gPiBAQCAtOTE5OSw2ICs5MjA2LDkgQEAgc3RhdGljIGJvb2wgaXJvbmxha2VfZ2V0X3Bp cGVfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAo+ID4gIAlpZiAodG1wICYgUElQRUNP TkZfQ09MT1JfUkFOR0VfU0VMRUNUKQo+ID4gIAkJcGlwZV9jb25maWctPmxpbWl0ZWRfY29sb3Jf cmFuZ2UgPSB0cnVlOwo+ID4gIAo+ID4gKwlwaXBlX2NvbmZpZy0+Z2FtbWFfbW9kZSA9ICh0bXAg JiBQSVBFQ09ORl9HQU1NQV9NT0RFX01BU0tfSUxLKSA+Pgo+ID4gKwkJUElQRUNPTkZfR0FNTUFf TU9ERV9TSElGVDsKPiA+ICsKPiA+ICAJaWYgKEk5MTVfUkVBRChQQ0hfVFJBTlNDT05GKGNydGMt PnBpcGUpKSAmIFRSQU5TX0VOQUJMRSkgewo+ID4gIAkJc3RydWN0IGludGVsX3NoYXJlZF9kcGxs ICpwbGw7Cj4gPiAgCQllbnVtIGludGVsX2RwbGxfaWQgcGxsX2lkOwo+ID4gQEAgLTEyMDY5LDYg KzEyMDc5LDggQEAgaW50ZWxfcGlwZV9jb25maWdfY29tcGFyZShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsCj4gPiAgCj4gPiAgCVBJUEVfQ09ORl9DSEVDS19CT09MKGRvdWJsZV93 aWRlKTsKPiA+ICAKPiA+ICsJUElQRV9DT05GX0NIRUNLX1goZ2FtbWFfbW9kZSk7Cj4gCj4gSG1t Li4uwqAgV2Ugc2hvdWxkIG9ubHkgY2hlY2sgdGhpcyBpZiBhZGp1c3QgaXMgdW5zZXQsIG9yIHdl IHdpbGwgc3RhcnQgc2tpcHBpbmcgZmFzdHNldCBvbiBhIGxvdCBvZiBwbGF0Zm9ybXMuCgpUaGVy ZSdzIG5vIHNhbmUgbWFjcm9zIGZvciB0aGlzIHNvcnQgb2Ygc3R1ZmYgQUZBSUNTLiBNYXliZSBz b21lb25lCnNob3VsZCBhZGQgdGhvc2UgZmlyc3Q/IEhlY2ssIEkgZG9uJ3QgZXZlbiBrbm93IHdo YXQgJ2FkanVzdCcKcmVhbGx5IG1lYW5zIGluIHRoaXMgY29udGV4dC4KCkFsc28gb24gYSByZWxh dGVkIG5vdGUsIHRoaXMgZmFzdGJvb3QgdGhpbmcgaGFzIG1hZGUgdGhlIGxvZ3MgcmF0aGVyCmNv bmZ1c2luZy4gSXQncyBub3QgYXQgYWxsIG9idmlvdXMgdGhhdCBhbGwgdGhlIHN0YXRlIG1pc21h dGNoIHByaW50cwphcmUgaGFybWxlc3MgKGVzcGVjaWFsbHkgd2hlbiB0aGUgZnVuY3Rpb24gaXMg Y2FsbGVkIHNvbWV0aGluZ19lcnIoKSkuClNvbWUgcGVvcGxlIChteXNlbGYgaW5jbHVkZWQpIHdl cmUgYWxyZWFkeSBsZWFkIGFzdHJheSBieSB0aGVzZQphcHBhcmVudCAiZXJyb3JzIi4KCj4gCj4g V2l0aCB0aGF0IGZpeGVkOgo+IAo+IFJldmlld2VkLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFh cnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgo+IAo+IH5NYWFydGVuCgotLSAKVmlsbGUg U3lyasOkbMOkCkludGVsCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAo=